diff --git a/e107_handlers/bbcode_handler.php b/e107_handlers/bbcode_handler.php index 1d5dc426b..5333c1f2e 100644 --- a/e107_handlers/bbcode_handler.php +++ b/e107_handlers/bbcode_handler.php @@ -413,8 +413,30 @@ class e_bbcode { return; } + + if(substr(ltrim($text),0,6) == '[html]' && $type == 'img') // support for html img tags inside [html] bbcode. + { + $tmp = e107::getParser()->getTags($text,'img'); + + if(!empty($tmp['img'])) + { + $mtch = array(); + foreach($tmp['img'] as $k) + { + $mtch[1][] = str_replace('"','',trim($k['src'])); + // echo $k['src']."
"; + } + + } + + } + else // regular bbcode; + { + preg_match_all("/\[".$type."(?:[^\]]*)?]([^\[]*)(?:\[\/".$type."])/im",$text,$mtch); + } + - preg_match_all("/\[".$type."(?:[^\]]*)?]([^\[]*)(?:\[\/".$type."])/im",$text,$mtch); + $ret = array(); @@ -423,6 +445,7 @@ class e_bbcode $tp = e107::getParser(); foreach($mtch[1] as $i) { + if(substr($i,0,4)=='http') { $ret[] = $i; @@ -572,7 +595,7 @@ class e_bbcode $doc->loadHTML($html); $tmp = $doc->getElementsByTagName($tag); - + $var = array(); $attributes = array('class','style','width','height','src','alt','href'); diff --git a/e107_plugins/banner/admin_banner.php b/e107_plugins/banner/admin_banner.php index 836f5e1b9..f8b74e293 100644 --- a/e107_plugins/banner/admin_banner.php +++ b/e107_plugins/banner/admin_banner.php @@ -44,7 +44,7 @@ class banner_admin extends e_admin_dispatcher 'ui' => 'banner_form_ui', 'uipath' => null ), - + ); @@ -69,7 +69,7 @@ class banner_admin extends e_admin_dispatcher - + class banner_ui extends e_admin_ui { @@ -88,29 +88,30 @@ class banner_ui extends e_admin_ui protected $listOrder = 'banner_id DESC'; - protected $fields = array ( + protected $fields = array ( 'checkboxes' => array ( 'title' => '', 'type' => null, 'data' => null, 'width' => '5%', 'thclass' => 'center', 'forced' => '1', 'class' => 'center', 'toggle' => 'e-multiselect', ), 'banner_id' => array ( 'title' => LAN_ID, 'data' => 'int', 'width' => '2%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), 'banner_campaign' => array ( 'title' => 'Campaign', 'type' => 'method', 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), - + 'banner_clientname' => array ( 'title' => 'Clientname', 'type' => 'method', 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), 'banner_clientlogin' => array ( 'title' => BNRLAN_12, 'type' => 'method', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), 'banner_clientpassword' => array ( 'title' => BNRLAN_13, 'type' => 'text', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => 'strength=1&password=1&required=0&generate=1&nomask=1', 'class' => 'center', 'thclass' => 'center', ), 'banner_image' => array ( 'title' => BNRLAN_14, 'type' => 'image', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => 'thumb=0x50', 'writeParms' => 'media=banner&w=600', 'class' => 'left', 'thclass' => 'left', ), 'banner_clickurl' => array ( 'title' => BNRLAN_15, 'type' => 'text', 'data' => 'str', 'width' => 'auto', 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => 'size=xxlarge&required=1', 'class' => 'left', 'thclass' => 'left', ), - 'banner_impurchased' => array ( 'title' => BNRLAN_16, 'type' => 'number', 'data' => 'int', 'width' => 'auto', 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), - + 'banner_impurchased' => array ( 'title' => BNRLAN_16, 'type' => 'number', 'data' => 'int', 'width' => 'auto', 'inline' => true, 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', 'help'=>'0 = unlimited' ), + 'banner_description' => array ( 'title' => BNRLAN_49, 'type' => 'textarea', 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), + 'banner_startdate' => array ( 'title' => BNRLAN_17, 'type' => 'datestamp', 'data' => 'int', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), 'banner_enddate' => array ( 'title' => BNRLAN_18, 'type' => 'datestamp', 'data' => 'int', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), 'banner_active' => array ( 'title' => LAN_VISIBILITY, 'type' => 'userclass', 'data' => 'int', 'width' => 'auto', 'filter' => true, 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), 'banner_clicks' => array ( 'title' => BANNERLAN_24, 'type' => 'number', 'noedit'=>true, 'readonly'=>2, 'data' => 'int', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), - + 'click_percentage' => array ( 'title' => BANNERLAN_25, 'type' => 'method', 'noedit'=>true, 'data' => false, 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', ), - - 'banner_impressions' => array ( 'title' => 'Impressions', 'type' => 'method', 'noedit'=>true, 'data' => 'int', 'width' => '12%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), + + 'banner_impressions' => array ( 'title' => 'Impressions', 'type' => 'method', 'noedit'=>true, 'data' => 'int', 'width' => '12%', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), 'banner_ip' => array ( 'title' => LAN_IP, 'type' => 'hidden', 'noedit'=>true, 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ), 'options' => array ( 'title' => LAN_OPTIONS, 'type' => null, 'data' => null, 'width' => '10%', 'thclass' => 'center last', 'class' => 'center last', 'forced' => '1', ), - ); + ); protected $fieldpref = array('banner_id', 'banner_campaign', 'banner_image', 'banner_clickurl', 'banner_clicks', 'banner_active', 'click_percentage', 'banner_impressions' ); @@ -124,7 +125,7 @@ class banner_ui extends e_admin_ui public function init() { - + if (!empty($_POST['update_menu'])) { $this->menuPageSave(); diff --git a/e107_plugins/banner/banner_menu.php b/e107_plugins/banner/banner_menu.php index e787a70ef..3475f4861 100644 --- a/e107_plugins/banner/banner_menu.php +++ b/e107_plugins/banner/banner_menu.php @@ -140,7 +140,7 @@ if(!empty($menu_pref['banner_campaign']) && !empty($menu_pref['banner_amount'])) $query .= " AND banner_active IN (".USERCLASS_LIST.") ORDER BY RAND($seed) LIMIT ".intval($menu_pref['banner_amount']); - if($data = $sql->retrieve('banner', 'banner_id, banner_image, banner_clickurl,banner_campaign', $query,true)) + if($data = $sql->retrieve('banner', 'banner_id, banner_image, banner_clickurl,banner_campaign, banner_description', $query,true)) { foreach($data as $k=>$row) { diff --git a/e107_plugins/banner/banner_sql.php b/e107_plugins/banner/banner_sql.php index 965124a6f..6469658e3 100644 --- a/e107_plugins/banner/banner_sql.php +++ b/e107_plugins/banner/banner_sql.php @@ -4,7 +4,7 @@ CREATE TABLE banner ( banner_clientlogin varchar(20) NOT NULL default '', banner_clientpassword varchar(50) NOT NULL default '', banner_image varchar(150) NOT NULL default '', - banner_clickurl varchar(150) NOT NULL default '', + banner_clickurl varchar(250) NOT NULL default '', banner_impurchased int(10) unsigned NOT NULL default '0', banner_startdate int(10) unsigned NOT NULL default '0', banner_enddate int(10) unsigned NOT NULL default '0', @@ -12,6 +12,7 @@ CREATE TABLE banner ( banner_clicks int(10) unsigned NOT NULL default '0', banner_impressions int(10) unsigned NOT NULL default '0', banner_ip text NOT NULL, + banner_description text NOT NULL, banner_campaign varchar(150) NOT NULL default '', PRIMARY KEY (banner_id) ) ENGINE=MyISAM; \ No newline at end of file diff --git a/e107_plugins/banner/e_shortcode.php b/e107_plugins/banner/e_shortcode.php index 8734bb138..e13454e03 100644 --- a/e107_plugins/banner/e_shortcode.php +++ b/e107_plugins/banner/e_shortcode.php @@ -42,10 +42,10 @@ class banner_shortcodes extends e_shortcode AND banner_active IN (".USERCLASS_LIST.") ORDER BY RAND($seed) LIMIT 1"; - if($sql->select('banner', 'banner_id, banner_image, banner_clickurl', $query)) + if($sql->select('banner', 'banner_id, banner_image, banner_clickurl, banner_description', $query)) { $row = $sql->fetch(); - return $this->renderBanner($row); + return $this->renderBanner($row); } else @@ -59,7 +59,7 @@ class banner_shortcodes extends e_shortcode { $sql = e107::getDb('banner'); $tp = e107::getParser(); - + if(!$row['banner_image']) { return "no image assigned to this banner"; @@ -97,7 +97,7 @@ class banner_shortcodes extends e_shortcode break; } - return "".$ban_ret.''; + return "toAttribute($row['banner_description'])."\">".$ban_ret.''; } diff --git a/e107_plugins/banner/languages/English_admin.php b/e107_plugins/banner/languages/English_admin.php index 742af21b2..caa6fbf05 100644 --- a/e107_plugins/banner/languages/English_admin.php +++ b/e107_plugins/banner/languages/English_admin.php @@ -63,4 +63,6 @@ define("BNRLAN_45", "One campaign rendered in a single menu"); // BANNER_MENU_L1 define("BNRLAN_46", "All selected campaigns rendered in one single menu"); // BANNER_MENU_L13 define("BNRLAN_47", "All selected campaigns rendered in separate menus"); // BANNER_MENU_L14 define("BNRLAN_48", "All selected campaigns (no box rendering)"); + +define("BNRLAN_49", "Description/Tooltip"); ?> \ No newline at end of file diff --git a/e107_plugins/tinymce4/e_footer.php b/e107_plugins/tinymce4/e_footer.php index bc06be782..bd85e5e3b 100644 --- a/e107_plugins/tinymce4/e_footer.php +++ b/e107_plugins/tinymce4/e_footer.php @@ -17,7 +17,8 @@ if((e107::wysiwyg() === true && check_class($pref['post_html'])) || strpos(e_SEL { if(e_PAGE != 'image.php') { - e107::js('footer', "https://tinymce.cachefly.net/4.2/tinymce.min.js"); + // e107::js('footer', "https://tinymce.cachefly.net/4.2/tinymce.min.js"); + e107::js('footer', "//cdn.tinymce.com/4/tinymce.min.js"); e107::js('footer',e_PLUGIN.'tinymce4/wysiwyg.php','jquery',5); // Add to e107_config.php to view hidden content when TinyMce not saving correctly @@ -113,7 +114,7 @@ if((e107::wysiwyg() === true && check_class($pref['post_html'])) || strpos(e_SEL var s = $('#bbcode_holder').val(); - alert(s); + // alert(s); var p = $.ajax({ type: 'POST',