1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-11 00:54:49 +02:00

Default image resize pref is now used correctly by TinyMce media-manager. Image captions may now be added to inline images. TinyMce media-manager 'cancel' button is working again.

This commit is contained in:
Cameron
2016-01-11 20:53:05 -08:00
parent 39cee385f7
commit b1c2e030d5
9 changed files with 151 additions and 46 deletions

View File

@@ -23,6 +23,8 @@ class bb_img extends e_bb_base
if(vartrue($parms['class'])) $safe['class'] = eHelper::secureClassAttr($parms['class']);
if(vartrue($parms['id'])) $safe['id'] = eHelper::secureIdAttr($parms['id']);
if(vartrue($parms['style'])) $safe['style'] = eHelper::secureStyleAttr($parms['style']);
if(vartrue($parms['alt'])) $safe['alt'] = e107::getParser()->filter($parms['style'],'str');
if($safe)
{
return '[img '.eHelper::buildAttr($safe).']'.$code_text.'[/img]';
@@ -43,6 +45,15 @@ class bb_img extends e_bb_base
$code_text = str_replace('{e_MEDIA_IMAGE}', e_HTTP."thumb.php?src=e_MEDIA_IMAGE/", $code_text);
$code_text = str_replace('{e_THEME}', e_HTTP."thumb.php?src=e_THEME/", $code_text);
$imgParms = $this->processParm($code_text, $parm);
$figcaption = false;
if($imgParms['figcaption'])
{
$figcaption = $imgParms['figcaption'];
unset($imgParms['figcaption']);
}
foreach($imgParms as $k => $v)
{
@@ -51,7 +62,7 @@ class bb_img extends e_bb_base
}
$w = e107::getBB()->resizeWidth(); // varies depending on the class set by external script. see admin->media-manager->prefs
// $w = e107::getBB()->resizeWidth(); // varies depending on the class set by external script. see admin->media-manager->prefs
$w = vartrue($imgParms['width']) ? intval($imgParms['width']) : vartrue(e107::getBB()->resizeWidth(),0);
@@ -62,10 +73,25 @@ class bb_img extends e_bb_base
// print_a($imgParms);
// print_a($parmStr);
return "<img src=\"".$code_text.$resize."\" {$parmStr} />";
if(!empty($figcaption))
{
$html = "<figure>\n";
$html .= "<img src=\"".$code_text.$resize."\" {$parmStr} />\n";
$html .= "<figcaption>".e107::getParser()->filter($figcaption,'str')."</figcaption>\n";
$html .= "</figure>";
return $html;
}
else
{
return "<img src=\"".$code_text.$resize."\" {$parmStr} />";
}
}
/**
* Process the [img] bbcode parm. ie. [img parms]something[/img]
*/
@@ -98,6 +124,12 @@ class bb_img extends e_bb_base
preg_match("/([\w]*)(?:\.png|\.jpg|\.jpeg|\.gif)/i", $code_text, $match); // Generate required Alt attribute.
$imgParms['alt'] = ucwords(str_replace("_"," ",$match[1]));
}
else
{
$imgParms['figcaption'] = $imgParms['alt'] ;
}
$imgParms['title'] = $imgParms['alt'] ;
$imgParms['class'] = "img-rounded bbcode ".e107::getBB()->getClass('img');; // This will be overridden if a new class is specified
@@ -116,7 +148,8 @@ class bb_img extends e_bb_base
return $imgParms;
}
function toHTML($code_text, $parm)
{