<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
$mainframe->registerEvent( 'onPrepareContent', 'plgYouTube' );
function plgYouTube( &$row, &$params, $page=0 ){
$plugin =& JPluginHelper::getPlugin('content', 'youtube');
$pluginParams = new JParameter( $plugin->params );
$regex = '/{video}(.*){\/video}/iU';
if ( !$pluginParams->get( 'enabled', 1 ) ) {
$row->text = preg_replace( $regex, '', $row->text );
return true;
}
preg_match_all( $regex, $row->text, $matches );
$count = count( $matches[0] );
if ( $count ) {
for ( $i=0; $i < $count; $i++ )
{
$video = renderVideo($matches[1][$i], $pluginParams);
$row->text = preg_replace( $regex, $video, $row->text, 1);
}
}
}
function renderVideo($youtubeid, $params) {
$html = '';
if ($useswfobject == 1) {
$html .= '<iframe width="560" height="349" src="http://www.youtube.com/embed/' . $query . '" frameborder="0" allowfullscreen>';
$html .= '</iframe>';
}
return $html;
}
}
[ошибка где-то в коде] Плагин быстрого кода для интеграции iframe и видео
Исходные данные:
<iframe width="425" height="349" src="http://www.youtube.com/embed/GGGGGGGGGG" frameborder="0" allowfullscreen></iframe>
результат:
{video}GGGGGGGGGG{/video}
Вот что удалось накрапать:
Код:
а теперь вопрос, что не так?
Код:
function renderVideo($youtubeid, $params) {
$html = '';
if ($useswfobject == 1) {
$html = '';
if ($useswfobject == 1) {
Собственно, а где объявлена $useswfobject?
$useswfobject = $params->get('useswf');;
и того получаеться:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
$mainframe->registerEvent( 'onPrepareContent', 'plgYouTube' );
function plgYouTube( &$row, &$params, $page=0 ){
$plugin =& JPluginHelper::getPlugin('content', 'youtube');
$pluginParams = new JParameter( $plugin->params );
$regex = '/{video}(.*){\/video}/iU';
if ( !$pluginParams->get( 'enabled', 1 ) ) {
$row->text = preg_replace( $regex, '', $row->text );
return true;
}
preg_match_all( $regex, $row->text, $matches );
$count = count( $matches[0] );
if ( $count ) {
for ( $i=0; $i < $count; $i++ )
{
$video = renderVideo($matches[1][$i], $pluginParams);
$row->text = preg_replace( $regex, $video, $row->text, 1);
}
}
}
function renderVideo($youtubeid, $params) {
$useswfobject = $params->get('useswf');;
$html = '';
if ($useswfobject == 1) {
$html .= '<iframe width="560" height="349" src="http://www.youtube.com/embed/' . $query . '" frameborder="0" allowfullscreen>';
$html .= '</iframe>';
}
return $html;
}
}
попробовал сократить запись.
Просто не могу понять как получить значенение которое ввел пользователь.
в результате наворотов получил:
Код:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
$mainframe->registerEvent( 'plgYouTube' );
function plgYouTube( &$row, &$params, $page=0 ){
$plugin =& JPluginHelper::getPlugin('content', 'youtube');
$pluginParams = new JParameter( $plugin->params );
$regex = '/{video}(.*){\/video}';
if ( !$pluginParams->get( 'enabled', 1 ) ) {
$row->text = preg_replace( $regex, '', $row->text );
return true;
}
function renderVideo($youtubeid, $params) {
$useswfobject = $params->get('useswf');;
$html = '';
if ($useswfobject == 1) {
$html .= '<iframe width="560" height="349" src="http://www.youtube.com/embed/' . $youtubeid . '" frameborder="0" allowfullscreen>';
$html .= '</iframe>';
}
return $html;
}
}
defined( '_JEXEC' ) or die( 'Restricted access' );
$mainframe->registerEvent( 'plgYouTube' );
function plgYouTube( &$row, &$params, $page=0 ){
$plugin =& JPluginHelper::getPlugin('content', 'youtube');
$pluginParams = new JParameter( $plugin->params );
$regex = '/{video}(.*){\/video}';
if ( !$pluginParams->get( 'enabled', 1 ) ) {
$row->text = preg_replace( $regex, '', $row->text );
return true;
}
function renderVideo($youtubeid, $params) {
$useswfobject = $params->get('useswf');;
$html = '';
if ($useswfobject == 1) {
$html .= '<iframe width="560" height="349" src="http://www.youtube.com/embed/' . $youtubeid . '" frameborder="0" allowfullscreen>';
$html .= '</iframe>';
}
return $html;
}
}
Код:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
class plgContentYouTube extends JPlugin
{
function plgContentYouTube( &$subject, $params )
{
parent::__construct( $subject, $params );
}
function onPrepareContent( &$article, &$params, $limitstart )
{
global $mainframe;
if ( JString::strpos( $article->text, 'youtube' ) === false ) {
return true;
}
$article->text = preg_replace('|(youtube=([a-zA-Z0-9_-]+))|e', '$this->videoId("\2")', $article->text);
return true;
}
function videoId( $vCode )
{
$plugin =& JPluginHelper::getPlugin('content');
$params = new JParameter( $plugin->params );
$width = $params->get('width', 560);
$height = $params->get('height', 349);
echo '<div id="video" style="text-align:center"><iframe width="'.$width.'" height="'.$height.'" src="http://www.youtube.com/embed/'.$vCode.'" frameborder="0" allowfullscreen></iframe></div>';
}
}
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
class plgContentYouTube extends JPlugin
{
function plgContentYouTube( &$subject, $params )
{
parent::__construct( $subject, $params );
}
function onPrepareContent( &$article, &$params, $limitstart )
{
global $mainframe;
if ( JString::strpos( $article->text, 'youtube' ) === false ) {
return true;
}
$article->text = preg_replace('|(youtube=([a-zA-Z0-9_-]+))|e', '$this->videoId("\2")', $article->text);
return true;
}
function videoId( $vCode )
{
$plugin =& JPluginHelper::getPlugin('content');
$params = new JParameter( $plugin->params );
$width = $params->get('width', 560);
$height = $params->get('height', 349);
echo '<div id="video" style="text-align:center"><iframe width="'.$width.'" height="'.$height.'" src="http://www.youtube.com/embed/'.$vCode.'" frameborder="0" allowfullscreen></iframe></div>';
}
}
Код:
echo '<div id="video" style="tex
изменил на
Код:
return '<div id="video" style="tex
и все заработало! Ура!
В общем склеил то что нужно, теперь работать будет легче :p