mirror of
https://github.com/e107inc/e107.git
synced 2025-06-07 03:15:03 +02:00
Basic support for news videos.
Add {NEWSVIDEO} to your news template to take advantage of it and {NEWSTHUMBNAIL} for a thumbnail image of the video. (or image) {NEWSIMAGE} will return nothing for videos, only for images.
This commit is contained in:
parent
19b5dd8614
commit
cc07dac897
@ -735,6 +735,14 @@ class news_form_ui extends e_admin_form_ui
|
|||||||
{
|
{
|
||||||
if(!vartrue($curval)) return;
|
if(!vartrue($curval)) return;
|
||||||
|
|
||||||
|
$vparm = array('thumb'=>'tag','w'=> 80);
|
||||||
|
|
||||||
|
if($thumb = e107::getParser()->toVideo($curval,$vparm))
|
||||||
|
{
|
||||||
|
return $thumb;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if($curval[0] != "{")
|
if($curval[0] != "{")
|
||||||
{
|
{
|
||||||
$curval = "{e_IMAGE}newspost_images/".$curval;
|
$curval = "{e_IMAGE}newspost_images/".$curval;
|
||||||
@ -2378,12 +2386,12 @@ class admin_newspost
|
|||||||
".$frm->help(LAN_NEWS_23)."</td>
|
".$frm->help(LAN_NEWS_23)."</td>
|
||||||
<td>
|
<td>
|
||||||
";
|
";
|
||||||
if(vartrue($_POST['news_thumbnail']) && $_POST['news_thumbnail'][0] != "{")//BC compat
|
if(vartrue($_POST['news_thumbnail']) && $_POST['news_thumbnail'][0] != "{" && substr($_POST['news_thumbnail'],-8) !== '.youtube')//BC compat
|
||||||
{
|
{
|
||||||
$_POST['news_thumbnail'] = "{e_IMAGE}newspost_images/".$_POST['news_thumbnail'];
|
$_POST['news_thumbnail'] = "{e_IMAGE}newspost_images/".$_POST['news_thumbnail'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$text .= $frm->imagepicker('news_thumbnail[0]', $_POST['news_thumbnail'] ,'','news');
|
$text .= $frm->imagepicker('news_thumbnail[0]', $_POST['news_thumbnail'] ,'','media=news&video=1');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX Experimental
|
* XXX Experimental
|
||||||
|
@ -201,7 +201,7 @@ class news_shortcodes extends e_shortcode
|
|||||||
/**
|
/**
|
||||||
* {NEWSCOMMENTLINK: glyph=comments&class=btn btn-default btn-sm}
|
* {NEWSCOMMENTLINK: glyph=comments&class=btn btn-default btn-sm}
|
||||||
*/
|
*/
|
||||||
function sc_newscommentlink($parm)
|
function sc_newscommentlink($parm='')
|
||||||
{
|
{
|
||||||
if($this->commentsDisabled)
|
if($this->commentsDisabled)
|
||||||
{
|
{
|
||||||
@ -216,7 +216,7 @@ class news_shortcodes extends e_shortcode
|
|||||||
/**
|
/**
|
||||||
* {NEWSCOMMENTCOUNT: glyph=x}
|
* {NEWSCOMMENTCOUNT: glyph=x}
|
||||||
*/
|
*/
|
||||||
function sc_newscommentcount($parm)
|
function sc_newscommentcount($parm='')
|
||||||
{
|
{
|
||||||
if($this->commentsDisabled)
|
if($this->commentsDisabled)
|
||||||
{
|
{
|
||||||
@ -362,18 +362,31 @@ class news_shortcodes extends e_shortcode
|
|||||||
*
|
*
|
||||||
* @see eHelper::scDualParams()
|
* @see eHelper::scDualParams()
|
||||||
* @see eHelper::scParams()
|
* @see eHelper::scParams()
|
||||||
|
* XXX Also returns Video thumbnails.
|
||||||
*/
|
*/
|
||||||
function sc_newsthumbnail($parm = '')
|
function sc_newsthumbnail($parm = '') //TODO Add support {NEWSTHUMBNAIL: x=y} format
|
||||||
{
|
{
|
||||||
if(!$this->news_item['news_thumbnail'])
|
if(!$this->news_item['news_thumbnail'] && $parm != 'placeholder')
|
||||||
{
|
{
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$parms = eHelper::scDualParams($parm);
|
if($vThumb = e107::getParser()->toVideo($this->news_item['news_thumbnail'], array('thumb'=>'src')))
|
||||||
// We store SC path in DB now + BC
|
{
|
||||||
$_src = $src = $this->news_item['news_thumbnail'][0] == '{' ? e107::getParser()->replaceConstants($this->news_item['news_thumbnail'], 'abs') : e_IMAGE_ABS."newspost_images/".$this->news_item['news_thumbnail'];
|
$src = $vThumb;
|
||||||
if($parms[2]) $src = e107::getParser()->thumbUrl($src, $parms[2]);
|
$_src = '#';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$parms = eHelper::scDualParams($parm);
|
||||||
|
|
||||||
|
// We store SC path in DB now + BC
|
||||||
|
$_src = $src = ($this->news_item['news_thumbnail'][0] == '{' || $parms[1] == 'placeholder') ? e107::getParser()->replaceConstants($this->news_item['news_thumbnail'], 'abs') : e_IMAGE_ABS."newspost_images/".$this->news_item['news_thumbnail'];
|
||||||
|
|
||||||
|
|
||||||
|
if($parms[2] || $parms[1] == 'placeholder') $src = e107::getParser()->thumbUrl($src, $parms[2]);
|
||||||
|
}
|
||||||
|
|
||||||
switch($parms[1])
|
switch($parms[1])
|
||||||
{
|
{
|
||||||
case 'src':
|
case 'src':
|
||||||
@ -389,7 +402,7 @@ class news_shortcodes extends e_shortcode
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return "<a href='".e107::getUrl()->create('news/view/item', $this->news_item)."'><img class='news_image img-rounded' src='".$src."' alt='' style='".$this->param['thumbnail']."' /></a>";
|
return "<a href='".e107::getUrl()->create('news/view/item', $this->news_item)."'><img class='news_image img-responsive img-rounded' src='".$src."' alt='' style='".$this->param['thumbnail']."' /></a>";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -429,40 +442,58 @@ class news_shortcodes extends e_shortcode
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function sc_newsvideo($parm='')
|
||||||
|
{
|
||||||
|
if($video = e107::getParser()->toVideo($this->news_item['news_thumbnail']))
|
||||||
|
{
|
||||||
|
return $video;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display News Images (but not video thumbnails )
|
||||||
|
*/
|
||||||
function sc_newsimage($parm = '')
|
function sc_newsimage($parm = '')
|
||||||
{
|
{
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
|
|
||||||
|
|
||||||
$srcPath = ($this->imageItem) ? $this->imageItem : $this->news_item['news_thumbnail'];
|
$srcPath = ($this->imageItem) ? $this->imageItem : $this->news_item['news_thumbnail'];
|
||||||
|
|
||||||
if(!$srcPath)
|
|
||||||
|
if($video = e107::getParser()->toVideo($this->news_item['news_thumbnail']))
|
||||||
{
|
{
|
||||||
if($parm == 'placeholder')
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
if(!$srcPath)
|
||||||
{
|
{
|
||||||
$src = $tp->thumbUrl(); // placeholder;
|
if($parm == 'placeholder')
|
||||||
|
{
|
||||||
|
$src = $tp->thumbUrl(); // placeholder;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif($srcPath[0] == '{' ) // Always resize. Use {SETIMAGE: w=x&y=x&crop=0} PRIOR to calling shortcode to change.
|
||||||
|
{
|
||||||
|
$src = $tp->thumbUrl($srcPath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return;
|
// We store SC path in DB now + BC
|
||||||
|
$src = $srcPath[0] == '{' ? $tp->replaceConstants($srcPath, 'abs') : e_IMAGE_ABS."newspost_images/".$srcPath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif($srcPath[0] == '{' ) // Always resize. Use {SETIMAGE: w=x&y=x&crop=0} PRIOR to calling shortcode to change.
|
|
||||||
{
|
|
||||||
$src = $tp->thumbUrl($srcPath);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// We store SC path in DB now + BC
|
|
||||||
$src = $srcPath[0] == '{' ? $tp->replaceConstants($srcPath, 'abs') : e_IMAGE_ABS."newspost_images/".$srcPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// return $src;
|
||||||
;
|
|
||||||
|
|
||||||
switch($parm)
|
switch($parm)
|
||||||
{
|
{
|
||||||
@ -481,6 +512,8 @@ class news_shortcodes extends e_shortcode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function sc_sticky_icon()
|
function sc_sticky_icon()
|
||||||
{
|
{
|
||||||
return $this->news_item['news_sticky'] ? $this->param['image_sticky'] : '';
|
return $this->news_item['news_sticky'] ? $this->param['image_sticky'] : '';
|
||||||
|
@ -2833,7 +2833,7 @@ class e_parser
|
|||||||
|
|
||||||
if($thumb == 'tag')
|
if($thumb == 'tag')
|
||||||
{
|
{
|
||||||
return "<img class='img-responsive' src='".$thumbSrc."' alt='' style='max-width:".vartrue($parm['w'],'80')."px'/>";
|
return "<img class='img-responsive' src='".$thumbSrc."' alt='Youtube Video' style='max-width:".vartrue($parm['w'],'80')."px'/>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($thumb == 'src')
|
if($thumb == 'src')
|
||||||
|
@ -485,9 +485,11 @@ class e_form
|
|||||||
* @param string $label custom label
|
* @param string $label custom label
|
||||||
* @param string $sc_parameters shortcode parameters
|
* @param string $sc_parameters shortcode parameters
|
||||||
* --- SC Parameter list ---
|
* --- SC Parameter list ---
|
||||||
* - media: if present - load from media table
|
* - media: if present - load from media category table
|
||||||
* - w: preview width in pixels
|
* - w: preview width in pixels
|
||||||
* - h: preview height in pixels
|
* - h: preview height in pixels
|
||||||
|
* - help: tooltip
|
||||||
|
* - video: when set to true, will enable the Youtube (video) tab.
|
||||||
* @example $frm->imagepicker('banner_image', $_POST['banner_image'], '', 'banner'); // all images from category 'banner_image' + common images.
|
* @example $frm->imagepicker('banner_image', $_POST['banner_image'], '', 'banner'); // all images from category 'banner_image' + common images.
|
||||||
* @example $frm->imagepicker('banner_image', $_POST['banner_image'], '', 'media=banner&w=600');
|
* @example $frm->imagepicker('banner_image', $_POST['banner_image'], '', 'media=banner&w=600');
|
||||||
* @return string html output
|
* @return string html output
|
||||||
@ -509,19 +511,23 @@ class e_form
|
|||||||
$default_thumb = $default;
|
$default_thumb = $default;
|
||||||
if($default)
|
if($default)
|
||||||
{
|
{
|
||||||
if('{' != $default[0])
|
if($video = $tp->toVideo($default, array('thumb'=>'src')))
|
||||||
{
|
|
||||||
// convert to sc path
|
|
||||||
$default_thumb = $tp->createConstants($default, 'nice');
|
|
||||||
$default = $tp->createConstants($default, 'mix');
|
|
||||||
}
|
|
||||||
$default_url = $tp->replaceConstants($default, 'abs');
|
|
||||||
$blank = FALSE;
|
|
||||||
|
|
||||||
if($video = $tp->toVideo($default_url, array('thumb'=>'src')))
|
|
||||||
{
|
{
|
||||||
$default_url = $video;
|
$default_url = $video;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if('{' != $default[0])
|
||||||
|
{
|
||||||
|
// convert to sc path
|
||||||
|
$default_thumb = $tp->createConstants($default, 'nice');
|
||||||
|
$default = $tp->createConstants($default, 'mix');
|
||||||
|
}
|
||||||
|
$default_url = $tp->replaceConstants($default, 'abs');
|
||||||
|
}
|
||||||
|
$blank = FALSE;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -530,6 +536,8 @@ class e_form
|
|||||||
$blank = TRUE;
|
$blank = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//$width = intval(vartrue($sc_parameters['width'], 150));
|
//$width = intval(vartrue($sc_parameters['width'], 150));
|
||||||
$cat = $tp->toDB(vartrue($sc_parameters['media']));
|
$cat = $tp->toDB(vartrue($sc_parameters['media']));
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ define("NWSLAN_59", "No submitted news");
|
|||||||
define("NWSLAN_63", "Search newsposts");
|
define("NWSLAN_63", "Search newsposts");
|
||||||
|
|
||||||
define("NWSLAN_66", "Upload");
|
define("NWSLAN_66", "Upload");
|
||||||
define("NWSLAN_67", "Image");
|
define("NWSLAN_67", "Image/Video");
|
||||||
// define("NWSLAN_68", "File");
|
// define("NWSLAN_68", "File");
|
||||||
define("NWSLAN_69", "Upload an image or file for use in the news item");
|
define("NWSLAN_69", "Upload an image or file for use in the news item");
|
||||||
// define("NWSLAN_70", "The ".e_FILE."downloads folder is not writable, you need to CHMOD 777 the folder before uploading and files."); // deprecated see lan_admin.php
|
// define("NWSLAN_70", "The ".e_FILE."downloads folder is not writable, you need to CHMOD 777 the folder before uploading and files."); // deprecated see lan_admin.php
|
||||||
@ -146,7 +146,7 @@ define("NWSLAN_128", "Set a string to be used in news pages URL. This will only
|
|||||||
// define("LAN_NEWS_21", "News updated in database.");
|
// define("LAN_NEWS_21", "News updated in database.");
|
||||||
|
|
||||||
// define("LAN_NEWS_22", "Thumbnail");
|
// define("LAN_NEWS_22", "Thumbnail");
|
||||||
define("LAN_NEWS_23", "Choose an image for this news item");
|
define("LAN_NEWS_23", "Choose an image or video for this news item");
|
||||||
// define("LAN_NEWS_24", "Image + Auto-Thumbnail");
|
// define("LAN_NEWS_24", "Image + Auto-Thumbnail");
|
||||||
// define("LAN_NEWS_25", "Auto-Thumbnail size");
|
// define("LAN_NEWS_25", "Auto-Thumbnail size");
|
||||||
// define("LAN_NEWS_26", "add new upload field");
|
// define("LAN_NEWS_26", "add new upload field");
|
||||||
|
@ -31,7 +31,7 @@ $NEWS_TEMPLATE['list']['item'] = '
|
|||||||
<div class="row row-fluid">
|
<div class="row row-fluid">
|
||||||
<div class="span3 col-md-3">
|
<div class="span3 col-md-3">
|
||||||
<div class="thumbnail">
|
<div class="thumbnail">
|
||||||
{NEWSIMAGE=placeholder}
|
{NEWSTHUMBNAIL=placeholder}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="span9 col-md-9">
|
<div class="span9 col-md-9">
|
||||||
@ -93,6 +93,7 @@ $NEWS_TEMPLATE['default']['item'] = '
|
|||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p class="lead">{NEWSSUMMARY}</p>
|
<p class="lead">{NEWSSUMMARY}</p>
|
||||||
|
{NEWSVIDEO}
|
||||||
{NEWSBODY}
|
{NEWSBODY}
|
||||||
<hr>
|
<hr>
|
||||||
<div class="options">
|
<div class="options">
|
||||||
@ -126,6 +127,7 @@ $NEWS_TEMPLATE['view']['item'] = '
|
|||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div class="body">
|
<div class="body">
|
||||||
|
{NEWSVIDEO}
|
||||||
{NEWSBODY}
|
{NEWSBODY}
|
||||||
{EXTENDED}
|
{EXTENDED}
|
||||||
</div>
|
</div>
|
||||||
|
@ -28,6 +28,7 @@ function tablestyle($caption, $text, $mode='')
|
|||||||
{
|
{
|
||||||
global $style;
|
global $style;
|
||||||
|
|
||||||
|
echo "<!-- tablestyle: style=".$style." mode=".$mode." -->\n\n";
|
||||||
|
|
||||||
$type = $style;
|
$type = $style;
|
||||||
if(empty($caption))
|
if(empty($caption))
|
||||||
@ -180,8 +181,9 @@ $LAYOUT['modern_business_home'] = <<<TMPL
|
|||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{ALERTS}
|
{ALERTS}
|
||||||
|
<!-- Start Menu 1 -->
|
||||||
{MENU=1}
|
{MENU=1}
|
||||||
|
<!-- End Menu 1 -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section">
|
<div class="section">
|
||||||
|
@ -223,6 +223,7 @@ div.e-comment-edit-save { margin-top:8px; padding: 5px }
|
|||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 56.25%;
|
padding-bottom: 56.25%;
|
||||||
padding-top: 30px; height: 0; overflow: hidden;
|
padding-top: 30px; height: 0; overflow: hidden;
|
||||||
|
margin-bottom:20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.video-responsive iframe,
|
.video-responsive iframe,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user