public function onContentPrepare($context, &$article, &$params, $limitstart) { // checking $document = JFactory::getDocument(); if ($document->getType() != 'html') { return; } if (!isset($article->text) || !preg_match("#{besps}(.*?){/besps}#s", $article->text)) { return; } // paths $path_absolute = JPATH_SITE; $path_site = JURI::base(true); if (substr($path_site, -1) == "/") { $path_site = substr($path_site, 0, -1); } $path_imgroot = '/images/'; // default image root folder $path_ctrls = '/images/besps_buttons/'; // button folder $path_plugin = '/plugins/content/simplepictureslideshow/files/'; // path to plugin folder $file_css = 'besps.css'; // default stylesheet $file_js = 'besps.js'; // default JavaScript // import helper JLoader::import('simplepictureslideshowhelper', dirname(__FILE__) . '/files'); //captions if (preg_match_all("#{besps_c}(.*?){/besps_c}#s", $article->text, $matches, PREG_PATTERN_ORDER) > 0) { foreach ($matches[0] as $match) { $_raw_cap_ = preg_replace("/{.+?}/", "", $match); $_raw_cap_exp_ = explode("|", $_raw_cap_); $cap1 = $_raw_cap_exp_[1] && trim($_raw_cap_exp_[1]) != "" ? trim(plgContentSimplepictureslideshowHelper::beStrtolower($_raw_cap_exp_[1])) : "CAPDEFAULT"; $cap2 = $_raw_cap_exp_[2] && trim($_raw_cap_exp_[2]) != "" ? trim($_raw_cap_exp_[2]) : ""; $cap3 = $_raw_cap_exp_[3] && trim($_raw_cap_exp_[3]) != "" ? trim($_raw_cap_exp_[3]) : ""; $caparray = "cap_ar" . $_raw_cap_exp_[0]; if (!isset(${$caparray})) { ${$caparray} = array(); } //escape captions for use in JavaScript $cap4 = plgContentSimplepictureslideshowHelper::beKickQuotes($cap2); $cap5 = plgContentSimplepictureslideshowHelper::beKickQuotes($cap3); ${$caparray}[$cap1] = array($cap2, $cap3, $cap4, $cap5); //remove the call $article->text = plgContentSimplepictureslideshowHelper::beReplaceCall("{besps_c}" . $_raw_cap_ . "{/besps_c}", '', $article->text); } } //captions //links if (preg_match_all("#{besps_l}(.*?){/besps_l}#s", $article->text, $matches, PREG_PATTERN_ORDER) > 0) { foreach ($matches[0] as $match) { $_raw_link_ = preg_replace("/{.+?}/", "", $match); $_raw_link_exp_ = explode("|", $_raw_link_); $_link1 = $_raw_link_exp_[1] && trim($_raw_link_exp_[1]) != "" ? plgContentSimplepictureslideshowHelper::beStrtolower(trim($_raw_link_exp_[1])) : "LINKDEFAULT"; $_link2 = $_raw_link_exp_[2] && trim($_raw_link_exp_[2]) != "" ? trim($_raw_link_exp_[2]) : ""; $_link3 = $_raw_link_exp_[3] && trim($_raw_link_exp_[3]) != "" ? trim($_raw_link_exp_[3]) : $_link2; $_link4 = $_raw_link_exp_[4] && trim($_raw_link_exp_[4]) != "" ? trim($_raw_link_exp_[4]) : "_self"; $_linkarray = "_linkar" . $_raw_link_exp_[0]; if (!isset(${$_linkarray})) { ${$_linkarray} = array(); } ${$_linkarray}[$_link1] = array($_link2, $_link3, $_link4); //remove the call $article->text = plgContentSimplepictureslideshowHelper::beReplaceCall("{besps_l}" . $_raw_link_ . "{/besps_l}", '', $article->text); } } //links //images if (preg_match_all("#{besps}(.*?){/besps}#s", $article->text, $matches, PREG_PATTERN_ORDER) > 0) { $bs_count = -1; //substitute article id - start $headerstuff = $document->getHeadData(); foreach ($headerstuff['custom'] as $key => $custom) { if (stristr($custom, 'besps_count') !== false) { $bespscount = explode(" ", trim($custom)); $this->bespscounter = $bespscount[2]; unset($headerstuff['custom'][$key]); } } $document->setHeadData($headerstuff); $this->bespscounter = $this->bespscounter + 1; $document->addCustomTag('<!-- besps_count ' . $this->bespscounter . ' -->'); //substitute article id - end foreach ($matches[0] as $match) { $bs_count++; //split string and check for overrides $besps_code = preg_replace("/{.+?}/", "", $match); $besps_raw = explode("|", $besps_code); $_images_dir_ = $besps_raw[0]; unset($besps_overrides); $besps_overrides = array(); if (count($besps_raw) >= 2) { //there are parameteroverrides for ($i = 1; $i < count($besps_raw); $i++) { $overr_temp = explode("=", $besps_raw[$i]); if (count($overr_temp) >= 2) { $besps_overrides[plgContentSimplepictureslideshowHelper::beStrtolower(trim($overr_temp[0]))] = trim($overr_temp[1]); } } } unset($images); $noimage = 0; //read and process the param for the image root $path_imgroot = trim($this->params->get('imagepath', $path_imgroot)); if (substr($path_imgroot, -1) != "/") { $path_imgroot = $path_imgroot . "/"; } //add trailing slash if (substr($path_imgroot, 0, 1) != "/") { $path_imgroot = "/" . $path_imgroot; } //add leading slash // read directory and check for images if ($dh = @opendir($path_absolute . $path_imgroot . $_images_dir_)) { while (($f = readdir($dh)) !== false) { if (substr(plgContentSimplepictureslideshowHelper::beStrtolower($f), -3) == 'jpg' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($f), -3) == 'gif' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($f), -3) == 'png') { $noimage++; $images[] = array('filename' => $f, 'flastmod' => filemtime($path_absolute . $path_imgroot . $_images_dir_ . "/" . $f)); } } closedir($dh); //damn, found the folder but it is empty $html = "<br />Simple Picture Slideshow:<br />No images found in folder " . $path_absolute . $path_imgroot . $_images_dir_ . "<br />"; } else { //you promised me a folder - where is it? $html = "<br />Simple Picture Slideshow:<br />Could not find folder " . $path_absolute . $path_imgroot . $_images_dir_ . "<br />"; } if ($noimage) { // read in parameters and overrides $bs_width_ = array_key_exists("width", $besps_overrides) && $besps_overrides['width'] != "" ? $besps_overrides['width'] : $this->params->get('im_width', 400); $bs_height_ = array_key_exists("height", $besps_overrides) && $besps_overrides['height'] != "" ? $besps_overrides['height'] : $this->params->get('im_height', 300); $bs_im_align_ = array_key_exists("align", $besps_overrides) && $besps_overrides['align'] != "" ? $besps_overrides['align'] : $this->params->get('im_align', 1); $bs_bgcol_ = array_key_exists("bgcol", $besps_overrides) && $besps_overrides['bgcol'] != "" ? $besps_overrides['bgcol'] : $this->params->get('sl_bgcol', 'FFFFFF'); $bs_sdur_ = array_key_exists("sdur", $besps_overrides) && $besps_overrides['sdur'] != "" ? $besps_overrides['sdur'] : $this->params->get('sl_sdur', 3); $bs_fdur_ = array_key_exists("fdur", $besps_overrides) && $besps_overrides['fdur'] != "" ? $besps_overrides['fdur'] : $this->params->get('sl_fdur', 1); $bs_steps_ = array_key_exists("steps", $besps_overrides) && $besps_overrides['steps'] != "" ? $besps_overrides['steps'] : $this->params->get('sl_steps', 20); $bs_autostart_ = array_key_exists("auto", $besps_overrides) && $besps_overrides['auto'] != "" ? $besps_overrides['auto'] : $this->params->get('autostart', 1); $bs_sort_ = array_key_exists("sort", $besps_overrides) && $besps_overrides['sort'] != "" ? $besps_overrides['sort'] : $this->params->get('bs_sort', 0); $bs_setid_ = array_key_exists("setid", $besps_overrides) && $besps_overrides['setid'] != "" ? $besps_overrides['setid'] : $this->params->get('setid', 0); //controls $path_ctrls = trim($this->params->get('buttonpath', $path_ctrls)); $bs_ctrl_show_ = array_key_exists("ctrls", $besps_overrides) && $besps_overrides['ctrls'] != "" ? $besps_overrides['ctrls'] : $this->params->get('ctrl_show', 0); $bs_ctrl_sort_ = array_key_exists("csort", $besps_overrides) && $besps_overrides['csort'] != "" ? trim($besps_overrides['csort']) : trim($this->params->get('ctrl_sort', '1-2345')); $bs_ctrl_start_ = array_key_exists("cstart", $besps_overrides) ? $besps_overrides['cstart'] : trim($this->params->get('ctrl_start', '')); $bs_ctrl_stop_ = array_key_exists("cstop", $besps_overrides) ? $besps_overrides['cstop'] : trim($this->params->get('ctrl_stop', '')); $bs_ctrl_fwd_ = array_key_exists("cfwd", $besps_overrides) ? $besps_overrides['cfwd'] : trim($this->params->get('ctrl_fwd', '')); $bs_ctrl_back_ = array_key_exists("cbwd", $besps_overrides) ? $besps_overrides['cbwd'] : trim($this->params->get('ctrl_back', '')); $bs_ctrl_height_ = 22; //###preload $prld_decision = array_key_exists("prld", $besps_overrides) && $besps_overrides['prld'] != "" ? $besps_overrides['prld'] : intval($this->params->get('preld', '')); $prld_decision = $prld_decision && $prld_decision >= 3 ? $prld_decision : ""; $prld_replace = $path_site . $path_plugin . "besps.png"; //###captions and links $bs_cap_show_ = array_key_exists("caps", $besps_overrides) && $besps_overrides['caps'] != "" ? $besps_overrides['caps'] : $this->params->get('cap_show', 1); $bs_cap_pos_ = array_key_exists("inout", $besps_overrides) && $besps_overrides['inout'] != "" ? $besps_overrides['inout'] : $this->params->get('cap_pos', 1); $bs_link_use_ = array_key_exists("links", $besps_overrides) && $besps_overrides['links'] != "" ? $besps_overrides['links'] : $this->params->get('link_use', 1); //###files if ($this->params->get('stylesheet') !== '-1' && $this->params->get('stylesheet') !== '0') { $file_css = $this->params->get('stylesheet'); } if ($this->params->get('javascript') !== '-1' && $this->params->get('javascript') !== '0') { $file_js = $this->params->get('javascript'); } //allow default buttons $bs_ctrl_start_type = $bs_ctrl_stop_type = $bs_ctrl_fwd_type = $bs_ctrl_back_type = "noimg"; if (is_file($path_absolute . $path_ctrls . $bs_ctrl_start_) && (substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_start_), -3) == 'jpg' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_start_), -3) == 'gif' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_start_), -3) == 'png')) { $bs_ctrl_start_ = $path_ctrls . $bs_ctrl_start_; $bs_ctrl_start_type = "img"; } elseif ($bs_ctrl_start_ == "") { $bs_ctrl_start_ = $path_plugin . 'start.png'; $bs_ctrl_start_type = "img"; } if (is_file($path_absolute . $path_ctrls . $bs_ctrl_stop_) && (substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_stop_), -3) == 'jpg' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_stop_), -3) == 'gif' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_stop_), -3) == 'png')) { $bs_ctrl_stop_ = $path_ctrls . $bs_ctrl_stop_; $bs_ctrl_stop_type = "img"; } elseif ($bs_ctrl_stop_ == "") { $bs_ctrl_stop_ = $path_plugin . 'stop.png'; $bs_ctrl_stop_type = "img"; } if (is_file($path_absolute . $path_ctrls . $bs_ctrl_fwd_) && (substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_fwd_), -3) == 'jpg' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_fwd_), -3) == 'gif' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_fwd_), -3) == 'png')) { $bs_ctrl_fwd_ = $path_ctrls . $bs_ctrl_fwd_; $bs_ctrl_fwd_type = "img"; } elseif ($bs_ctrl_fwd_ == "") { $bs_ctrl_fwd_ = $path_plugin . 'fwd.png'; $bs_ctrl_fwd_type = "img"; } if (is_file($path_absolute . $path_ctrls . $bs_ctrl_back_) && (substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_back_), -3) == 'jpg' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_back_), -3) == 'gif' || substr(plgContentSimplepictureslideshowHelper::beStrtolower($bs_ctrl_back_), -3) == 'png')) { $bs_ctrl_back_ = $path_ctrls . $bs_ctrl_back_; $bs_ctrl_back_type = "img"; } elseif ($bs_ctrl_back_ == "") { $bs_ctrl_back_ = $path_plugin . 'bwd.png'; $bs_ctrl_back_type = "img"; } //calculate time to slide $besps_ftim_ = $bs_fdur_ * 1000 / $bs_steps_; $besps_stim_ = $bs_sdur_ * 1000; //sort images $images = plgContentSimplepictureslideshowHelper::beSortImages($images, $bs_sort_); //duplicate array if there are only 2 images unset($counterlast); if (count($images) == 2) { $images = array_merge($images, $images); $noimage += 2; $counterlast = 2; } //create a unique identifier for every gallery $identifier = $this->bespscounter . "_" . $bs_count; //call the script once if ($bs_count <= 0) { $document->addScript($path_site . $path_plugin . $file_js); } //current array for preload-imagenames $preload_array = array(); //current array for links $bslinks = "_linkar" . $bs_count; //current array for captions $captions = "cap_ar" . $bs_count; //clear current js-array for captions if (isset($cap_jsarray)) { unset($cap_jsarray); } //clear current array for startimage-captions if (isset($currentarray)) { unset($currentarray); } //start collecting data for javascript array of images to load afterwards if ($bs_cap_show_ && isset(${$captions})) { $cap_jsarray = 'var bs_caps_' . $identifier . '= new Array();'; } //set the height for the slideshow $temp_folderheight = $bs_height_; if ($bs_ctrl_show_) { //stretch the height if we use controls $temp_folderheight += $bs_ctrl_height_; } //generate the css for the head $bs_style = ".besps_holder_" . $identifier . " {width:" . $bs_width_ . "px;height:" . $temp_folderheight . "px;}\n"; $bs_style .= ".besps_ctrls_" . $identifier . " {display:block;width:" . $bs_width_ . "px;padding-top:" . ($bs_height_ + 3) . "px;text-align:right;}\n"; if ($bs_im_align_ == 0) { $bs_style .= ".besps_holder_" . $identifier . " {margin:0 10px 0 auto;padding:0;display:block;}\n"; } elseif ($bs_im_align_ == 1) { $bs_style .= ".besps_holder_" . $identifier . " {margin:auto;padding:0;display:block;}\n"; } elseif ($bs_im_align_ == 3) { $bs_style .= ".besps_holder_" . $identifier . " {margin:10px;float:left;}\n"; } elseif ($bs_im_align_ == 4) { $bs_style .= ".besps_holder_" . $identifier . " {margin:10px;float:right;}\n"; } else { $bs_style .= ".besps_holder_" . $identifier . " {}\n"; } $bs_style .= ".besps_slides_" . $identifier . " {position:absolute;width:" . $bs_width_ . "px;height:" . $bs_height_ . "px;}\n"; $bs_style .= ".besps_slides_" . $identifier . " div {visibility:hidden;z-index:1;position:absolute;left:0;top:0;width:" . $bs_width_ . "px;height:" . $bs_height_ . "px;background-color:#" . $bs_bgcol_ . ";}\n"; $bs_style .= ".besps_slides_" . $identifier . " div img {position:absolute;}\n"; $bs_style .= "#img_" . $identifier . "_1 {visibility:visible;z-index:2;}\n"; if ($bs_cap_show_ && isset(${$captions})) { $bs_style .= ".besps_caps_" . $identifier . " {position:absolute;width:" . $bs_width_ . "px;height:" . $bs_height_ . "px;}\n"; $bs_style .= ".besps_caps_" . $identifier . " div.bs_inside {position:absolute;bottom:0;left:0;width:" . $bs_width_ . "px;}\n"; $bs_style .= ".besps_caps_" . $identifier . " div.bs_outside {position:absolute;top:" . $temp_folderheight . "px;left:0;width:" . $bs_width_ . "px;}\n"; } //create holder if ($bs_setid_) { $_tempstring = explode("/", $_images_dir_); $_tempstring = $_tempstring[count($_tempstring) - 1]; $html = "\n<div class='besps_holder besps_holder_" . $identifier . "' id='" . $_tempstring . "'>"; } else { $html = "\n<div class='besps_holder besps_holder_" . $identifier . "'>"; } $html .= "\n<div class='besps_slides besps_slides_" . $identifier . "'>"; //walk down the found images for ($a = 0; $a < $noimage; $a++) { if ($images[$a]['filename'] != '') { //imagedata of current image $besp_aktimg_data_ = getimagesize($path_absolute . $path_imgroot . $_images_dir_ . '/' . $images[$a]['filename']); //prepare captions############################ //write caps to array if set if (isset($cap_jsarray)) { $cap_jsarray .= 'bs_caps_' . $identifier . '[' . $a . ']=new Array('; if (array_key_exists(plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename']), ${$captions})) { $cap_jsarray .= '"' . ${$captions}[plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename'])][2] . '","' . ${$captions}[plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename'])][3] . '"'; if ($a == 0) { $currentarray = ${$captions}[plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename'])]; } } elseif (array_key_exists("CAPDEFAULT", ${$captions})) { $cap_jsarray .= '"' . ${$captions}["CAPDEFAULT"][2] . '","' . ${$captions}["CAPDEFAULT"][3] . '"'; if ($a == 0) { $currentarray = ${$captions}["CAPDEFAULT"]; } } else { $cap_jsarray .= '"",""'; if ($a == 0) { $currentarray = array('', '', '', ''); } } $cap_jsarray .= ');'; } //prepare links############################### if (isset($currentlink)) { unset($currentlink); } if ($bs_link_use_ && isset(${$bslinks})) { if (array_key_exists(plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename']), ${$bslinks})) { $currentlink = ${$bslinks}[plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename'])]; } elseif (array_key_exists("LINKDEFAULT", ${$bslinks})) { $currentlink = ${$bslinks}["LINKDEFAULT"]; } else { $currentlink = array("", "", "_self"); } } //prepare alt-title########################### $curimtitle = utf8_encode(substr($images[$a]["filename"], 0, -4)); //from link if (isset($currentlink) && $currentlink[1] != "") { $curimtitle = $currentlink[1]; } elseif (isset(${$captions})) { if (array_key_exists(plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename']), ${$captions})) { $curimtitle = ${$captions}[plgContentSimplepictureslideshowHelper::beStrtolower($images[$a]['filename'])][2]; } elseif (array_key_exists("CAPDEFAULT", ${$captions})) { $curimtitle = ${$captions}["CAPDEFAULT"][2]; } } //calculate imagesize and deviation $besp_showwidth = $besp_aktimg_data_[0]; $besp_showheight = $besp_aktimg_data_[1]; if ($besp_aktimg_data_[0] >= $bs_width_) { $besp_showwidth = $bs_width_; $besp_showheight = intval($besp_aktimg_data_[1] * $bs_width_ / $besp_aktimg_data_[0]); } if ($besp_showheight >= $bs_height_) { $besp_showwidth = intval($besp_showwidth * $bs_height_ / $besp_showheight); $besp_showheight = $bs_height_; } $besp_xdelta = intval(($bs_width_ - $besp_showwidth) / 2); $besp_ydelta = intval(($bs_height_ - $besp_showheight) / 2); //encode file name $iname = rawurlencode(utf8_encode($images[$a]["filename"])); //if image is to load afterwards, switch source to preload and push image to preloadarray if ($prld_decision && $a >= $prld_decision) { $thesource = $prld_replace; $preload_array[] = $path_imgroot . $_images_dir_ . "/" . $iname; } else { $thesource = $path_site . $path_imgroot . $_images_dir_ . "/" . $iname; } //write image-div and image $html .= "\n<div id='img_" . $identifier . "_" . ($a + 1) . "'>"; //write image-div if ($bs_link_use_ && isset(${$bslinks})) { //write linktag if set $html .= "<a href='" . $currentlink[0] . "' title='" . $currentlink[1] . "' target='" . $currentlink[2] . "'>"; } //write image $html .= "<img src='" . $thesource . "' style='left:" . $besp_xdelta . "px;top:" . $besp_ydelta . "px;width:" . $besp_showwidth . "px;height:" . $besp_showheight . "px;' alt='" . $curimtitle . "' title='" . $curimtitle . "'/>"; if (isset($currentlink)) { $html .= "</a>"; } //close linktag if set $html .= "</div>"; //close image-div } } //push images to load afterwards into array for javascript if (count($preload_array) >= 1) { $preload_jsarray = "var besps_prearr_" . $identifier . "=new Array("; for ($i = 0; $i <= count($preload_array) - 1; $i++) { $preload_jsarray .= '"' . $preload_array[$i] . '",'; } $preload_jsarray = substr($preload_jsarray, 0, -1) . ");\n"; //remove last comma and close array $preload_attribute = ",besps_prearr_" . $identifier; } else { $preload_attribute = ""; $preload_jsarray = ""; } if (isset($cap_jsarray)) { $document->addScriptDeclaration($cap_jsarray); //add array with captions to page head $capsjsparam = "bs_caps_" . $identifier; //set parameter for captions } else { $capsjsparam = '"NOCAPS"'; //set parameter for captions } //add call for the script to page head $document->addScriptDeclaration($preload_jsarray . 'var besps_' . $identifier . '= new besps_slideshow("' . $identifier . '",' . $besps_ftim_ . ',' . $besps_stim_ . ',' . $bs_steps_ . ',' . $bs_autostart_ . ',' . $noimage . ',' . $capsjsparam . $preload_attribute . ');'); $html .= "</div>\n"; $html .= "\n<div class='besps_caps besps_caps_" . $identifier . "' id='bs_caps_" . $identifier . "'>"; //caption if (isset($cap_jsarray)) { $html .= "<div class='" . ($bs_cap_pos_ ? 'bs_inside' : 'bs_outside') . "'>"; if ($currentarray[0] != "" || $currentarray[1] != "") { $html .= "<span>" . $currentarray[0] . "</span><span>" . $currentarray[1] . "</span>"; } $html .= "</div>" . ($bs_cap_pos_ ? "" : "<br style='clear:both;' />"); } $html .= "</div>\n"; //controls######################################## if ($bs_ctrl_show_) { $html .= "<div class='besps_ctrls besps_ctrls_" . $identifier . "'>"; //sort left-right and create control-elements $besps_temppos = strpos($bs_ctrl_sort_, '-'); $html .= $besps_temppos === false ? "<div class='besps_ctrl_right'>" : "<div class='besps_ctrl_left'>"; //start left or right $k = 0; //pointer to insert spaces for ($i = 0; $i < strlen($bs_ctrl_sort_); $i++) { $j = substr($bs_ctrl_sort_, $i, 1); if ($k >= 1) { $html .= " "; } switch ($j) { case '-': //split between left and right $html .= "</div><div class='besps_ctrl_right'>"; $k = 0; break; case '1': //counter $k++; $counterstart = '1'; $counterstop = isset($counterlast) ? $counterlast : count($images); if (count($images) >= 10) { $counterstart = '01'; } if (count($images) >= 100) { $counterstart = '001'; } $html .= "<span id='besps_counter_" . $identifier . "' class='besps_counter'>" . $counterstart . "/" . $counterstop . "</span>"; break; case '2': //start $k++; $html .= "<a href='javascript:besps_" . $identifier . ".b_start();'>"; if ($bs_ctrl_start_type == "img") { $html .= "<img src='" . $path_site . $bs_ctrl_start_ . "' alt='" . substr($bs_ctrl_start_, strrpos($bs_ctrl_start_, "/") + 1, -4) . "'/>"; } else { $html .= $bs_ctrl_start_; } $html .= "</a>"; break; case '3': //stop $k++; $html .= "<a href='javascript:besps_" . $identifier . ".b_stop();'>"; if ($bs_ctrl_stop_type == "img") { $html .= "<img src='" . $path_site . $bs_ctrl_stop_ . "' alt='" . substr($bs_ctrl_stop_, strrpos($bs_ctrl_stop_, "/") + 1, -4) . "'/>"; } else { $html .= $bs_ctrl_stop_; } $html .= "</a>"; break; case '4': //back $k++; $html .= "<a href='javascript:besps_" . $identifier . ".b_back();'>"; if ($bs_ctrl_back_type == "img") { $html .= "<img src='" . $path_site . $bs_ctrl_back_ . "' alt='" . substr($bs_ctrl_back_, strrpos($bs_ctrl_back_, "/") + 1, -4) . "'/>"; } else { $html .= $bs_ctrl_back_; } $html .= "</a>"; break; case '5': //next $k++; $html .= "<a href='javascript:besps_" . $identifier . ".b_forw();'>"; if ($bs_ctrl_fwd_type == "img") { $html .= "<img src='" . $path_site . $bs_ctrl_fwd_ . "' alt='" . substr($bs_ctrl_fwd_, strrpos($bs_ctrl_fwd_, "/") + 1, -4) . "'/>"; } else { $html .= $bs_ctrl_fwd_; } $html .= "</a>"; break; default: //no idea what you mean! $html .= " ? "; break; } } $html .= "</div></div>\n"; } $html .= "</div>\n"; //add styles to the page head $document->addStyleDeclaration($bs_style); } //replace the call with the slideshow $article->text = plgContentSimplepictureslideshowHelper::beReplaceCall("{besps}" . $besps_code . "{/besps}", $html, $article->text); } //call the stylesheet at the end to allow overrides //prevent duplicate links to stylesheet - start $detectstylesheet = 1; $headerstuff = $document->getHeadData(); foreach ($headerstuff['custom'] as $key => $custom) { if (stristr($custom, $file_css) !== false) { $detectstylesheet = 0; } } //prevent duplicate links to stylesheet - end if ($detectstylesheet) { $document->addCustomTag('<link href="' . $path_site . $path_plugin . $file_css . '" rel="stylesheet" type="text/css" />'); } } //images }