diff --git a/e107_plugins/download/download_shortcodes.php b/e107_plugins/download/download_shortcodes.php index 83c84d2b6..e19994c8e 100644 --- a/e107_plugins/download/download_shortcodes.php +++ b/e107_plugins/download/download_shortcodes.php @@ -14,10 +14,14 @@ * $Author$ */ -if (!defined('e107_INIT')) { exit; } +if (!defined('e107_INIT')) +{ + exit; +} e107::plugLan('download', 'front', true); + /** * download_shortcodes */ @@ -28,66 +32,99 @@ class download_shortcodes extends e_shortcode public $dlsubsubrow; public $mirror; - public $parent; - public $grandparent; + public $parent; + public $grandparent; private $pref; - - /** - * download_shortcodes constructor - */ - function __construct() + + /** + * download_shortcodes constructor + */ + public function __construct() { + parent::__construct(); $this->pref = e107::getPref(); } + /** + * Get the download agreement text as an HTML-stripped JSON string + * + * Configured in Admin-UI at `/e107_plugins/download/admin_download.php?mode=main&action=settings` + * + * @return string|null JSON string with the contents of the "agree_text" pref reformatted without HTML + * {@see null} if the "agree_flag" pref is not truthy or if the formatted "agree_text" is empty. + */ + private function getAgreeTextAsHtmlAttributeJsonString() + { + if (!isset($this->pref['agree_flag']) || !$this->pref['agree_flag']) return null; + + $rawAgreeText = isset($this->pref['agree_text']) ? $this->pref['agree_text'] : ""; + $tp = e107::getParser(); + $agreeText = $tp->toJSON($tp->toText($rawAgreeText), true); + + if (!$agreeText) return null; + + return $agreeText; + } + + /** + * Wrap the formatted download agreement text into an HTML JavaScript event that calls `confirm()` + * + * @return string + */ + private function getAgreeTextAsHtmlEventAttribute() + { + $maybeJson = $this->getAgreeTextAsHtmlAttributeJsonString(); + + return empty($maybeJson) ? "" : "return confirm($maybeJson);"; + } public function breadcrumb() { - $breadcrumb = array(); + $breadcrumb = array(); $action = varset($this->qry['action']); switch ($action) { case 'mirror': - $breadcrumb[] = array('text' => LAN_PLUGIN_DOWNLOAD_NAME, 'url' => e107::url('download', 'index')); - $breadcrumb[] = array('text' => $this->var['download_category_name'], 'url' => e107::url('download', 'category', $this->var)); // e_SELF."?action=list&id=".$this->var['download_category_id']); - $breadcrumb[] = array('text' => $this->var['download_name'], 'url' => e107::url('download', 'item', $this->var)); // e_SELF."?action=view&id=".$this->var['download_id']); - $breadcrumb[] = array('text' => LAN_dl_67, 'url' => null); - break; + $breadcrumb[] = array('text' => LAN_PLUGIN_DOWNLOAD_NAME, 'url' => e107::url('download', 'index')); + $breadcrumb[] = array('text' => $this->var['download_category_name'], 'url' => e107::url('download', 'category', $this->var)); // e_SELF."?action=list&id=".$this->var['download_category_id']); + $breadcrumb[] = array('text' => $this->var['download_name'], 'url' => e107::url('download', 'item', $this->var)); // e_SELF."?action=view&id=".$this->var['download_id']); + $breadcrumb[] = array('text' => LAN_dl_67, 'url' => null); + break; case 'maincats': - $breadcrumb[] = array('text' => LAN_PLUGIN_DOWNLOAD_NAME, 'url' => e107::url('download','index')); - break; + $breadcrumb[] = array('text' => LAN_PLUGIN_DOWNLOAD_NAME, 'url' => e107::url('download', 'index')); + break; default: - $breadcrumb[] = array('text' => LAN_PLUGIN_DOWNLOAD_NAME, 'url' => e107::url('download','index')); + $breadcrumb[] = array('text' => LAN_PLUGIN_DOWNLOAD_NAME, 'url' => e107::url('download', 'index')); - if(!empty($this->grandparent)) + if (!empty($this->grandparent)) { - $breadcrumb[] = array('text' => $this->grandparent['download_category_name'], 'url' => ($this->grandparent['download_category_id']) ? e107::url('download', 'category', $this->grandparent) : null); + $breadcrumb[] = array('text' => $this->grandparent['download_category_name'], 'url' => ($this->grandparent['download_category_id']) ? e107::url('download', 'category', $this->grandparent) : null); } - if(!empty($this->parent)) + if (!empty($this->parent)) { - $breadcrumb[] = array('text' => $this->parent['download_category_name'], 'url' => ($this->parent['download_category_id']) ? e107::url('download', 'category', $this->parent) : null); + $breadcrumb[] = array('text' => $this->parent['download_category_name'], 'url' => ($this->parent['download_category_id']) ? e107::url('download', 'category', $this->parent) : null); } - if(isset($this->var['download_category_name'])) + if (isset($this->var['download_category_name'])) { - $breadcrumb[] = array('text' => $this->var['download_category_name'], 'url' => ($this->var['download_category_id']) ? e107::url('download', 'category', $this->var) : null); + $breadcrumb[] = array('text' => $this->var['download_category_name'], 'url' => ($this->var['download_category_id']) ? e107::url('download', 'category', $this->var) : null); } - $breadcrumb[] = array('text' => varset($this->var['download_name']), 'url' => null); - break; + $breadcrumb[] = array('text' => varset($this->var['download_name']), 'url' => null); + break; } e107::breadcrumb($breadcrumb); } - - function sc_download_breadcrumb($parm='') + + function sc_download_breadcrumb($parm = '') { $tp = e107::getParser(); $frm = e107::getForm(); @@ -95,39 +132,41 @@ class download_shortcodes extends e_shortcode $breadcrumb = e107::breadcrumb(); return $frm->breadcrumb($breadcrumb); - - } - - - // Category ************************************************************************************ - public function sc_download_cat_main_name() - { - $tp = e107::getParser(); - if(!empty($this->var['d_count'])) + } + + + // Category ************************************************************************************ + public function sc_download_cat_main_name() + { + $tp = e107::getParser(); + + if (!empty($this->var['d_count'])) { $url = e107::url('download', 'category', $this->var); - return "".$tp->toHTML($this->var['download_category_name'], FALSE, 'TITLE').""; + + return "" . $tp->toHTML($this->var['download_category_name'], false, 'TITLE') . ""; } - return $tp->toHTML($this->var['download_category_name'], FALSE, 'TITLE'); - } - - public function sc_download_cat_main_description() - { - $tp = e107::getParser(); - return $tp->toHTML($this->var['download_category_description'], TRUE, 'DESCRIPTION'); - } - - public function sc_download_cat_main_icon() - { - // Pass count as 1 to force non-empty icon - return $this->_sc_cat_icons($this->var['download_category_icon'], 1, $this->var['download_category_name']); - } + return $tp->toHTML($this->var['download_category_name'], false, 'TITLE'); + } + + public function sc_download_cat_main_description() + { + $tp = e107::getParser(); + + return $tp->toHTML($this->var['download_category_description'], true, 'DESCRIPTION'); + } + + public function sc_download_cat_main_icon() + { + // Pass count as 1 to force non-empty icon + return $this->_sc_cat_icons($this->var['download_category_icon'], 1, $this->var['download_category_name']); + } public function sc_download_cat_main_count() { - if(!empty($this->var['d_count'])) + if (!empty($this->var['d_count'])) { return intval($this->var['d_count']); } @@ -135,7 +174,7 @@ class download_shortcodes extends e_shortcode public function sc_download_cat_main_size() { - if(!empty($this->var['d_count'])) + if (!empty($this->var['d_count'])) { return eHelper::parseMemorySize($this->var['d_size']); } @@ -144,369 +183,373 @@ class download_shortcodes extends e_shortcode public function sc_download_cat_main_downloaded() { - if(!empty($this->var['d_count'])) + if (!empty($this->var['d_count'])) { return intval($this->var['d_requests']); } } - + // Sub-Category ******************************************************************************** - function sc_download_cat_sub_name($parm = '') - { - $tp = e107::getParser(); + function sc_download_cat_sub_name($parm = '') + { + $tp = e107::getParser(); $class = 'category-name'; $class .= isset($this->dlsubrow['d_last']) && $this->isNewDownload($this->dlsubrow['d_last']) ? ' new' : ''; - if($parm == 'raw') - { - return $tp->toHTML($this->dlsubrow['download_category_name'], FALSE, 'TITLE'); - } - + if ($parm == 'raw') + { + return $tp->toHTML($this->dlsubrow['download_category_name'], false, 'TITLE'); + } + if (!empty($this->dlsubrow['d_count'])) - { + { $url = e107::url('download', 'category', $this->dlsubrow); - return "".$tp->toHTML($this->dlsubrow['download_category_name'], FALSE, 'TITLE').""; - // return "".$tp->toHTML($this->dlsubrow['download_category_name'], FALSE, 'TITLE').""; - } - elseif(isset($this->dlsubrow['download_category_name'])) - { - return $tp->toHTML($this->dlsubrow['download_category_name'], FALSE, 'TITLE'); - } + + return "" . $tp->toHTML($this->dlsubrow['download_category_name'], false, 'TITLE') . ""; + // return "".$tp->toHTML($this->dlsubrow['download_category_name'], FALSE, 'TITLE').""; + } + elseif (isset($this->dlsubrow['download_category_name'])) + { + return $tp->toHTML($this->dlsubrow['download_category_name'], false, 'TITLE'); + } } - function sc_download_cat_sub_description() - { - if(empty($this->dlsubrow['download_category_description'])) - { + function sc_download_cat_sub_description() + { + if (empty($this->dlsubrow['download_category_description'])) + { return null; - } + } - return e107::getParser()->toHTML($this->dlsubrow['download_category_description'], TRUE, 'DESCRIPTION'); - } + return e107::getParser()->toHTML($this->dlsubrow['download_category_description'], true, 'DESCRIPTION'); + } - function sc_download_cat_sub_icon() - { - if(empty($this->dlsubrow['download_category_icon'])) - { - return null; - } + function sc_download_cat_sub_icon() + { + if (empty($this->dlsubrow['download_category_icon'])) + { + return null; + } - return $this->_sc_cat_icons($this->dlsubrow['download_category_icon'], $this->dlsubrow['d_count'], $this->dlsubrow['download_category_name']); - } + return $this->_sc_cat_icons($this->dlsubrow['download_category_icon'], $this->dlsubrow['d_count'], $this->dlsubrow['download_category_name']); + } - function sc_download_cat_sub_new_icon() - { - return (isset($this->dlsubrow['d_last_subs']) && $this->isNewDownload($this->dlsubrow['d_last_subs'])) ? $this->renderNewIcon() : ""; - } - - function sc_download_cat_sub_count() - { - return varset($this->dlsubrow['d_count'],'0'); - } + function sc_download_cat_sub_new_icon() + { + return (isset($this->dlsubrow['d_last_subs']) && $this->isNewDownload($this->dlsubrow['d_last_subs'])) ? $this->renderNewIcon() : ""; + } - function sc_download_cat_sub_size() - { - if(empty($this->dlsubrow['d_size'])) - { - return null; - } + function sc_download_cat_sub_count() + { + return varset($this->dlsubrow['d_count'], '0'); + } + + function sc_download_cat_sub_size() + { + if (empty($this->dlsubrow['d_size'])) + { + return null; + } + + return eHelper::parseMemorySize($this->dlsubrow['d_size']); + } + + function sc_download_cat_sub_downloaded() + { + if (!isset($this->dlsubrow['d_requests'])) + { + return 0; + } + + return intval($this->dlsubrow['d_requests']); + } - return eHelper::parseMemorySize($this->dlsubrow['d_size']); - } - - function sc_download_cat_sub_downloaded() - { - if(!isset($this->dlsubrow['d_requests'])) - { - return 0; - } - return intval($this->dlsubrow['d_requests']); - } - - // Sub-Sub-Category **************************************************************************** - - - function sc_download_cat_subsub_name($parm = '') - { - $tp = e107::getParser(); + + + function sc_download_cat_subsub_name($parm = '') + { + $tp = e107::getParser(); // isNewDownload $class = 'category-name'; $class .= isset($this->dlsubsubrow['d_last']) && $this->isNewDownload($this->dlsubsubrow['d_last']) ? ' new' : ''; - - if($parm == 'raw') - { - return $tp->toHTML($this->dlsubsubrow['download_category_name'], FALSE, 'TITLE'); - } - if (!empty($this->dlsubsubrow['d_count'])) - { - $url = e107::url('download', 'category', $this->dlsubsubrow); - // /list/category', array('id'=>$this->dlsubsubrow['download_category_id'], 'name'=> vartrue($this->dlsubsubrow['download_category_sef'],'--sef-not-set--'))); + if ($parm == 'raw') + { + return $tp->toHTML($this->dlsubsubrow['download_category_name'], false, 'TITLE'); + } + + if (!empty($this->dlsubsubrow['d_count'])) + { + $url = e107::url('download', 'category', $this->dlsubsubrow); + // /list/category', array('id'=>$this->dlsubsubrow['download_category_id'], 'name'=> vartrue($this->dlsubsubrow['download_category_sef'],'--sef-not-set--'))); // e_PLUGIN_ABS."download/download.php?action=list&id=".$this->dlsubsubrow['download_category_id'] - return "".$tp->toHTML($this->dlsubsubrow['download_category_name'], FALSE, 'TITLE').""; - } - elseif(!empty($this->dlsubsubrow['download_category_name'])) - { - return $tp->toHTML($this->dlsubsubrow['download_category_name'], FALSE, 'TITLE'); - } - } - - function sc_download_cat_subsub_description() - { - if(empty($this->dlsubsubrow['download_category_description'])) - { - return null; - } + return "" . $tp->toHTML($this->dlsubsubrow['download_category_name'], false, 'TITLE') . ""; + } + elseif (!empty($this->dlsubsubrow['download_category_name'])) + { + return $tp->toHTML($this->dlsubsubrow['download_category_name'], false, 'TITLE'); + } + } - return e107::getParser()->toHTML($this->dlsubsubrow['download_category_description'], TRUE, 'DESCRIPTION'); - } - - function sc_download_cat_subsub_icon() - { - if(empty($this->dlsubsubrow['download_category_icon'])) - { - return null; - } + function sc_download_cat_subsub_description() + { + if (empty($this->dlsubsubrow['download_category_description'])) + { + return null; + } - return $this->_sc_cat_icons($this->dlsubsubrow['download_category_icon'], $this->dlsubsubrow['d_count'], $this->dlsubsubrow['download_category_name']); - } - - function sc_download_cat_subsub_new_icon() - { - return (isset($this->dlsubsubrow['d_last']) && $this->isNewDownload($this->dlsubsubrow['d_last'])) ? $this->renderNewIcon() : ""; - } + return e107::getParser()->toHTML($this->dlsubsubrow['download_category_description'], true, 'DESCRIPTION'); + } - function sc_download_cat_subsub_count() - { - return varset($this->dlsubsubrow['d_count'], '0'); - } - - function sc_download_cat_subsub_size() - { - if(empty($this->dlsubsubrow['d_size'])) - { - return 0; - } + function sc_download_cat_subsub_icon() + { + if (empty($this->dlsubsubrow['download_category_icon'])) + { + return null; + } - return eHelper::parseMemorySize($this->dlsubsubrow['d_size']); - } - - function sc_download_cat_subsub_downloaded() - { - if(empty($this->dlsubsubrow['d_requests'])) - { - return 0; - } + return $this->_sc_cat_icons($this->dlsubsubrow['download_category_icon'], $this->dlsubsubrow['d_count'], $this->dlsubsubrow['download_category_name']); + } - return (int) $this->dlsubsubrow['d_requests']; - } + function sc_download_cat_subsub_new_icon() + { + return (isset($this->dlsubsubrow['d_last']) && $this->isNewDownload($this->dlsubsubrow['d_last'])) ? $this->renderNewIcon() : ""; + } + + function sc_download_cat_subsub_count() + { + return varset($this->dlsubsubrow['d_count'], '0'); + } + + function sc_download_cat_subsub_size() + { + if (empty($this->dlsubsubrow['d_size'])) + { + return 0; + } + + return eHelper::parseMemorySize($this->dlsubsubrow['d_size']); + } + + function sc_download_cat_subsub_downloaded() + { + if (empty($this->dlsubsubrow['d_requests'])) + { + return 0; + } + + return (int) $this->dlsubsubrow['d_requests']; + } // List **************************************************************************************** - - function sc_download_list_caption($parm='') + + function sc_download_list_caption($parm = '') { - + $qry = $this->qry; - + $qry['sort'] = (isset($qry['sort']) && $qry['sort'] == 'asc') ? 'desc' : 'asc'; // reverse. - switch ($parm) + switch ($parm) { case 'name': $qry['order'] = 'name'; $text = LAN_NAME; - break; + break; case 'datestamp': $qry['order'] = 'datestamp'; $text = LAN_DATE; - break; - + break; + case 'author': $qry['order'] = 'author'; $text = LAN_AUTHOR; - break; - + break; + case 'filesize': $qry['order'] = 'filesize'; $text = LAN_SIZE; - break; + break; case 'requested': $qry['order'] = 'requested'; $text = LAN_dl_29; - break; + break; case 'rating': $text = LAN_RATING; - break; - + break; + case 'link': $text = LAN_dl_8; - break; - + break; + default: $text = "Missing LAN Column"; // debug. - break; + break; } - return "".$text."" ; - } - - - - function sc_download_list_name($parm='') - { - $tp = e107::getParser(); - - if ($parm == "nolink") - { - return $tp->toHTML($this->var['download_name'],TRUE,'LINKTEXT'); - } - - if ($parm == "request") - { - $agreetext = $tp->toAttribute($tp->toJSON($tp->toText($this->pref['agree_text'],FALSE,'DESCRIPTION'), 'str')); - - if ($this->var['download_mirror_type']) - { - $text = ($this->pref['agree_flag'] ? "" : ""); - } - else - { - $text = ($this->pref['agree_flag'] ? "" : ""); - } - - $text .= $tp->toHTML($this->var['download_name'], FALSE, 'TITLE').""; - - return $text; - } - - $url = e107::url('download', 'item', $this->var); - return "".$tp->toHTML($this->var['download_name'],TRUE,'LINKTEXT').""; - - // return "".$tp->toHTML($this->var['download_name'],TRUE,'LINKTEXT').""; - } - - function sc_download_list_author() - { - return $this->var['download_author']; - } - - function sc_download_list_requested() - { - return $this->var['download_requested']; - } - - function sc_download_list_newicon() - { - return $this->isNewDownload($this->var['download_datestamp']) ? $this->renderNewIcon() : ""; - } - - function sc_download_list_recenticon() - { - // convert "recent_download_days" to seconds - return ($this->var['download_datestamp'] > time()-(varset($this->pref['recent_download_days'],0) * 86400) ? $this->renderNewIcon() : ''); - } - - function sc_download_list_filesize() - { - return eHelper::parseMemorySize($this->var['download_filesize']); - } - - function sc_download_list_datestamp() - { - - $tp = e107::getParser(); - return $tp->toDate($this->var['download_datestamp'], "short"); - } - - function sc_download_list_thumb($parm='') - { - $tp = e107::getParser(); - - $img = ""; - - if(!empty($this->var['download_thumb'])) - { - $opts = array( - 'legacy' => "{e_FILE}downloadthumbs/", - 'class' => 'download-image img-responsive img-fluid', - 'alt' => $this->var['download_name'] - ); - - $img = $tp->toImage($this->var['download_thumb'], $opts); - } + return "" . $text . ""; + } - if ($parm == "link" && $this->var['download_thumb']) - { - $url = e107::url('download', 'item', $this->var); - return "".$img.""; - // return "".$img.""; - } - else - { - return $img; - } - } - - function sc_download_list_id() - { - return $this->var['download_id']; - } - - function sc_download_list_rating() - { - return e107::getForm()->rate("download", $this->var['download_id']); - } - - function sc_download_list_link($parm='') - { + function sc_download_list_name($parm = '') + { + $tp = e107::getParser(); + + if ($parm == "nolink") + { + return $tp->toHTML($this->var['download_name'], true, 'LINKTEXT'); + } + + if ($parm == "request") + { + $agreeTextJs = $this->getAgreeTextAsHtmlEventAttribute(); + + if ($this->var['download_mirror_type']) + { + $href = e_PLUGIN_ABS . "download/download.php?mirror." . $this->var['download_id']; + } + else + { + $href = e_PLUGIN_ABS . "download/request.php?" . $this->var['download_id']; + } + + $text = "toAttributes([ + "href" => $href, + "onclick" => $agreeTextJs, + "title" => defined("LAN_DOWNLOAD") ? LAN_DOWNLOAD : null, + ]) . ">"; + + $text .= $tp->toHTML($this->var['download_name'], false, 'TITLE') . ""; + + return $text; + } + + $url = e107::url('download', 'item', $this->var); + + return "" . $tp->toHTML($this->var['download_name'], true, 'LINKTEXT') . ""; + + // return "".$tp->toHTML($this->var['download_name'],TRUE,'LINKTEXT').""; + } + + function sc_download_list_author() + { + return $this->var['download_author']; + } + + function sc_download_list_requested() + { + return $this->var['download_requested']; + } + + function sc_download_list_newicon() + { + return $this->isNewDownload($this->var['download_datestamp']) ? $this->renderNewIcon() : ""; + } + + function sc_download_list_recenticon() + { + // convert "recent_download_days" to seconds + return ($this->var['download_datestamp'] > time() - (varset($this->pref['recent_download_days'], 0) * 86400) ? $this->renderNewIcon() : ''); + } + + function sc_download_list_filesize() + { + return eHelper::parseMemorySize($this->var['download_filesize']); + } + + function sc_download_list_datestamp() + { + + $tp = e107::getParser(); + + return $tp->toDate($this->var['download_datestamp'], "short"); + } + + function sc_download_list_thumb($parm = '') + { + $tp = e107::getParser(); + + $img = ""; + + if (!empty($this->var['download_thumb'])) + { + $opts = array( + 'legacy' => "{e_FILE}downloadthumbs/", + 'class' => 'download-image img-responsive img-fluid', + 'alt' => $this->var['download_name'] + ); + + $img = $tp->toImage($this->var['download_thumb'], $opts); + } + + + if ($parm == "link" && $this->var['download_thumb']) + { + $url = e107::url('download', 'item', $this->var); + + return "" . $img . ""; + // return "".$img.""; + } + else + { + return $img; + } + } + + function sc_download_list_id() + { + return $this->var['download_id']; + } + + function sc_download_list_rating() + { + return e107::getForm()->rate("download", $this->var['download_id']); + } + + function sc_download_list_link($parm = '') + { $tp = e107::getParser(); $img = ''; - $agreetext = !empty($this->pref['agree_text']) ? $tp->toAttribute($tp->toJSON($tp->toText($this->pref['agree_text'],FALSE,'DESCRIPTION'), 'str')) : ''; - - if(defined('IMAGE_DOWNLOAD')) + if (defined('IMAGE_DOWNLOAD')) { - $img = "".LAN_DOWNLOAD.""; + $img = "" . LAN_DOWNLOAD . ""; } - if(deftrue('BOOTSTRAP')) + if (deftrue('BOOTSTRAP')) { - $img = e107::getParser()->toGlyph('fa-download',false); - // $img = ''; + $img = e107::getParser()->toGlyph('fa-download', false); + // $img = ''; } - - if ($this->var['download_mirror_type']) - { - return "{$img}"; - } - else - { - $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}",true, $this); // $this->sc_download_request_url(); - return (!empty($this->pref['agree_flag']) ? "{$img}" : "{$img}"); - - // return ($this->pref['agree_flag'] ? "{$img}" : "{$img}"); - } - } + + return "toAttributes([ + "class" => "e-tip", + "title" => defined("LAN_DOWNLOAD") ? LAN_DOWNLOAD : null, + "href" => $this->var['download_mirror_type'] ? + e_PLUGIN_ABS . "download/download.php?mirror." . $this->var['download_id'] : + $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}", true, $this), + "onclick" => $this->getAgreeTextAsHtmlEventAttribute(), + ]) . ">$img"; + } - function sc_download_request_url($parm=null) - { - return e107::url('download', 'get', $this->var); // /request/item',array('id'=>$this->var['download_id'], 'name'=>$this->var['download_sef'])); + function sc_download_request_url($parm = null) + { + return e107::url('download', 'get', $this->var); // /request/item',array('id'=>$this->var['download_id'], 'name'=>$this->var['download_sef'])); - } + } - function sc_download_filename($parm=null) + function sc_download_filename($parm = null) { return basename($this->var['download_url']); @@ -516,17 +559,17 @@ class download_shortcodes extends e_shortcode { $img = ''; - if(defined('IMAGE_DOWNLOAD')) + if (defined('IMAGE_DOWNLOAD')) { $img = "" . LAN_DOWNLOAD . ""; } - if(deftrue('BOOTSTRAP')) + if (deftrue('BOOTSTRAP')) { $img = e107::getParser()->toGlyph('fa-download', false); } - if($parm == "link") + if ($parm == "link") { $url = e107::url('download', 'item', $this->var); @@ -540,306 +583,292 @@ class download_shortcodes extends e_shortcode return; } - - function sc_download_list_imagefull($parm='') - { - + + function sc_download_list_imagefull($parm = '') + { + $img = ""; - if(!empty($this->var['download_image'])) - { - $img = $this->sc_download_view_imagefull(); - } + if (!empty($this->var['download_image'])) + { + $img = $this->sc_download_view_imagefull(); + } - if($parm == "link" && $this->var['download_image']) + if ($parm == "link" && $this->var['download_image']) { $url = e107::url('download', 'item', $this->var); - return "".$img.""; - - // return "".$img.""; + + return "" . $img . ""; + + // return "".$img.""; } else { return $img; } } - - - function sc_download_list_nextprev() - { - global $nextprev_parms; - return e107::getParser()->parseTemplate("{NEXTPREV={$nextprev_parms}}"); - } - function sc_download_list_total_amount() - { - global $dltdownloads; - return intval($dltdownloads)." ".LAN_dl_16; - } - - function sc_download_list_total_files() - { - global $dlft; - return intval($dlft)." ".strtolower(LAN_FILES); - } - - - - + + function sc_download_list_nextprev() + { + global $nextprev_parms; + + return e107::getParser()->parseTemplate("{NEXTPREV={$nextprev_parms}}"); + } + + function sc_download_list_total_amount() + { + global $dltdownloads; + + return intval($dltdownloads) . " " . LAN_dl_16; + } + + function sc_download_list_total_files() + { + global $dlft; + + return intval($dlft) . " " . strtolower(LAN_FILES); + } + + // View **************************************************************************************** - - - function sc_download_view_id() - { - return $this->var['download_id']; - } - - function sc_download_admin_edit() - { - $icon = (deftrue('BOOTSTRAP')) ? e107::getParser()->toGlyph('fa-edit') : "*"; - - $url = e_PLUGIN_ABS."download/admin_download.php?action=edit&id=".$this->var['download_id']; - - return (ADMIN && getperms('6')) ? "".$icon."" : ""; - } - - function sc_download_category() - { - return $this->var['download_category_name']; - } - - function sc_download_category_description($parm=null) - { - $text = e107::getParser()->toHTML($this->var['download_category_description'], true, 'DESCRIPTION'); - if($parm) - { - return substr($text, 0, $parm); - } - else - { - return $text; - } - } - function sc_download_view_name($parm='') - { + function sc_download_view_id() + { + return $this->var['download_id']; + } + + function sc_download_admin_edit() + { + $icon = (deftrue('BOOTSTRAP')) ? e107::getParser()->toGlyph('fa-edit') : "*"; + + $url = e_PLUGIN_ABS . "download/admin_download.php?action=edit&id=" . $this->var['download_id']; + + return (ADMIN && getperms('6')) ? "" . $icon . "" : ""; + } + + function sc_download_category() + { + return $this->var['download_category_name']; + } + + function sc_download_category_description($parm = null) + { + + $text = e107::getParser()->toHTML($this->var['download_category_description'], true, 'DESCRIPTION'); + + if ($parm) + { + return substr($text, 0, $parm); + } + else + { + return $text; + } + } + + function sc_download_view_name($parm = '') + { $tp = e107::getParser(); - $viewUrl = e107::url('download', 'item', $this->var); - $requestUrl = $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}",true,$this); // $this->sc_download_request_url(); + $viewUrl = e107::url('download', 'item', $this->var); + $requestUrl = $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}", true, $this); // $this->sc_download_request_url(); - $link['view'] = "".$this->var['download_name'].""; - $link['request'] = "".$this->var['download_name'].""; + $link['view'] = "" . $this->var['download_name'] . ""; + $link['request'] = "" . $this->var['download_name'] . ""; // $link['view'] = "".$this->var['download_name'].""; // $link['request'] = "".$this->var['download_name'].""; - - + + if ($parm) { - return $tp->toHTML($link[$parm],true, 'TITLE'); + return $tp->toHTML($link[$parm], true, 'TITLE'); } - + return $this->var['download_name']; - } + } - function sc_download_view_name_linked() - { + function sc_download_view_name_linked() + { - $tp = e107::getParser(); + $tp = e107::getParser(); - $url = $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}",true,$this); //$this->sc_download_request_url(); - - if (!empty($this->pref['agree_flag'])) - { - return "toAttribute($tp->toJSON($tp->toHTML($this->pref['agree_text'],FALSE,'DESCRIPTION'))).");\" title='".LAN_dl_46."'>".$this->var['download_name'].""; - // return "toJS($tp->toHTML($this->pref['agree_text'],FALSE,'DESCRIPTION'))."');\" title='".LAN_dl_46."'>".$dl['download_name'].""; - } - else - { - return "".$this->var['download_name'].""; - - // return "".$dl['download_name'].""; - } - } - - function sc_download_view_author() - { - return !empty($this->var['download_author']) ? $this->var['download_author'] : ""; - } - - function sc_download_view_authoremail() - { - return !empty($this->var['download_author_email']) ? e107::getParser()->toHTML($this->var['download_author_email'], TRUE, 'LINKTEXT') : ""; - } - - function sc_download_view_authorwebsite() - { - return !empty($this->var['download_author_website']) ? e107::getParser()->toHTML($this->var['download_author_website'], TRUE,'LINKTEXT') : ""; - } - - function sc_download_view_description($parm='') - { - $maxlen = ($parm ? intval($parm) : 0); - $text = ($this->var['download_description'] ? e107::getParser()->toHTML($this->var['download_description'], TRUE, 'DESCRIPTION') : ""); - - if ($maxlen) - { - return substr($text, 0, $maxlen); - } - else - { - return $text; - } - - return $text; - } + $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}", true, $this); //$this->sc_download_request_url(); - function sc_download_view_date($parm='') - { - return ($this->var['download_datestamp']) ? e107::getParser()->toDate($this->var['download_datestamp'], $parm) : ""; - } - - /** - * @deprecated DOWNLOAD_VIEW_DATE should be used instead. - */ - function sc_download_view_date_short() - { - trigger_error('{DOWNLOAD_VIEW_DATE_SHORT} is deprecated. Use {DOWNLOAD_VIEW_DATE} instead.', E_USER_DEPRECATED); // NO LAN + return "toAttributes([ + "href" => $url, + "onclick" => $this->getAgreeTextAsHtmlEventAttribute(), + "title" => defined('LAN_dl_46') ? LAN_dl_46 : null, + ]) . ">{$this->var['download_name']}"; + } + + function sc_download_view_author() + { + return !empty($this->var['download_author']) ? $this->var['download_author'] : ""; + } + + function sc_download_view_authoremail() + { + return !empty($this->var['download_author_email']) ? e107::getParser()->toHTML($this->var['download_author_email'], true, 'LINKTEXT') : ""; + } + + function sc_download_view_authorwebsite() + { + return !empty($this->var['download_author_website']) ? e107::getParser()->toHTML($this->var['download_author_website'], true, 'LINKTEXT') : ""; + } + + function sc_download_view_description($parm = '') + { + $maxlen = ($parm ? intval($parm) : 0); + $text = ($this->var['download_description'] ? e107::getParser()->toHTML($this->var['download_description'], true, 'DESCRIPTION') : ""); + + if ($maxlen) + { + return substr($text, 0, $maxlen); + } + else + { + return $text; + } + + return $text; + } + + function sc_download_view_date($parm = '') + { + return ($this->var['download_datestamp']) ? e107::getParser()->toDate($this->var['download_datestamp'], $parm) : ""; + } + + /** + * @deprecated DOWNLOAD_VIEW_DATE should be used instead. + */ + function sc_download_view_date_short() + { + trigger_error('{DOWNLOAD_VIEW_DATE_SHORT} is deprecated. Use {DOWNLOAD_VIEW_DATE} instead.', E_USER_DEPRECATED); // NO LAN return $this->sc_download_view_date('short'); - } - - /** - * @deprecated DOWNLOAD_VIEW_DATE should be used instead. - */ - function sc_download_view_date_long() - { - trigger_error('{DOWNLOAD_VIEW_DATE_LONG} is deprecated. Use {DOWNLOAD_VIEW_DATE} instead.', E_USER_DEPRECATED); // NO LAN + } - return $this->sc_download_view_date('long'); - } + /** + * @deprecated DOWNLOAD_VIEW_DATE should be used instead. + */ + function sc_download_view_date_long() + { + trigger_error('{DOWNLOAD_VIEW_DATE_LONG} is deprecated. Use {DOWNLOAD_VIEW_DATE} instead.', E_USER_DEPRECATED); // NO LAN - function sc_download_view_image() - { - $tp = e107::getParser(); + return $this->sc_download_view_date('long'); + } + + function sc_download_view_image() + { + $tp = e107::getParser(); $url = e107::url('download', 'image', $this->var); - //$url = e_PLUGIN_ABS . "download/request.php?download." . $this->var['download_id']; + //$url = e_PLUGIN_ABS . "download/request.php?download." . $this->var['download_id']; - if($this->var['download_thumb']) - { - $opts = array( - 'legacy' => "{e_FILE}downloadthumbs/", - 'class' => 'download-image dl_image img-responsive img-fluid' - ); - $image = $tp->toImage($this->var['download_thumb'], $opts); + if ($this->var['download_thumb']) + { + $opts = array( + 'legacy' => "{e_FILE}downloadthumbs/", + 'class' => 'download-image dl_image img-responsive img-fluid' + ); + $image = $tp->toImage($this->var['download_thumb'], $opts); - return ($this->var['download_image'] ? "" . $image . "" : $image); - } - elseif($this->var['download_image']) - { - $opts = array( - //'legacy' => "{e_FILE}downloadthumbs/", - 'class' => 'download-image dl_image img-responsive img-fluid', - 'w' => 200 - ); - $image = $tp->toImage($this->var['download_image'], $opts); + return ($this->var['download_image'] ? "" . $image . "" : $image); + } + elseif ($this->var['download_image']) + { + $opts = array( + //'legacy' => "{e_FILE}downloadthumbs/", + 'class' => 'download-image dl_image img-responsive img-fluid', + 'w' => 200 + ); + $image = $tp->toImage($this->var['download_image'], $opts); - return "" . $image . ""; - //return "" . LAN_dl_40 . ""; - } - else - { - return LAN_dl_75; - } - } + return "" . $image . ""; + //return "" . LAN_dl_40 . ""; + } + else + { + return LAN_dl_75; + } + } - /** - * {DOWNLOAD_VIEW_LINK: class=thumbnail} - */ - function sc_download_view_imagefull($parm=array()) - { - - if(!empty($this->var['download_image'])) - { - - $opts = array( - 'legacy' => "{e_FILE}downloadimages/", - 'class' => 'download-image dl_image download-view-image img-responsive img-fluid '.vartrue($parm['class']), - 'alt' => basename($this->var['download_image']) - ); - - return e107::getParser()->toImage($this->var['download_image'], $opts); - } - - } - - /** - * {DOWNLOAD_VIEW_LINK: size=2x} - */ - function sc_download_view_link($parm=null) + /** + * {DOWNLOAD_VIEW_LINK: class=thumbnail} + */ + function sc_download_view_imagefull($parm = array()) { - $tp = e107::getParser(); + + if (!empty($this->var['download_image'])) + { + + $opts = array( + 'legacy' => "{e_FILE}downloadimages/", + 'class' => 'download-image dl_image download-view-image img-responsive img-fluid ' . vartrue($parm['class']), + 'alt' => basename($this->var['download_image']) + ); + + return e107::getParser()->toImage($this->var['download_image'], $opts); + } + + } + + /** + * {DOWNLOAD_VIEW_LINK: size=2x} + */ + function sc_download_view_link($parm = null) + { + $tp = e107::getParser(); $click = ""; $img = ''; - if(defined('IMAGE_DOWNLOAD')) + if (defined('IMAGE_DOWNLOAD')) { - $img = "".LAN_DOWNLOAD.""; + $img = "" . LAN_DOWNLOAD . ""; } - if(deftrue('BOOTSTRAP')) + if (deftrue('BOOTSTRAP')) { - $img = e107::getParser()->toGlyph('fa-download',$parm); // ''; - } - - if(!empty($this->pref['agree_flag'])) - { - $click = " onclick='return confirm(".$tp->toAttribute($tp->toJSON($tp->toHTML($this->pref['agree_text'],true,'emotes, no_tags'))).")'"; + $img = e107::getParser()->toGlyph('fa-download', $parm); // ''; } - - $url = $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}",true,$this); //$this->sc_download_request_url(); - - if(varset($parm['type']) == 'href') + + $url = $tp->parseTemplate("{DOWNLOAD_REQUEST_URL}", true, $this); //$this->sc_download_request_url(); + + if (varset($parm['type']) == 'href') { - return $url; + return $url; } - - $dnld_link = ""; - - if ($this->var['download_mirror']) + + if ($this->var['download_mirror'] && $this->var['download_mirror_type']) { - if ($this->var['download_mirror_type']) - { - return "".LAN_dl_66.""; - } - else - { - return $dnld_link.$img.""; - } - } - else - { - return $dnld_link.$img.""; + $url = e_PLUGIN_ABS . "download/download.php?mirror." . $this->var['download_id']; + $img = defined('LAN_dl_66') ? LAN_dl_66 : "Select download mirror"; } + + return "toAttributes([ + "href" => $url, + "onclick" => $this->getAgreeTextAsHtmlEventAttribute() + ]) . ">$img"; } function sc_download_view_filesize() { - return ($this->var['download_filesize']) ? eHelper::parseMemorySize($this->var['download_filesize'], 0) : ""; + return ($this->var['download_filesize']) ? eHelper::parseMemorySize($this->var['download_filesize'], 0) : ""; } - + function sc_download_view_rating() { - + $frm = e107::getForm(); - $options = array('label'=>' ','template'=>'RATE|VOTES|STATUS'); - return $frm->rate("download", $this->var['download_id'], $options); - + $options = array('label' => ' ', 'template' => 'RATE|VOTES|STATUS'); + + return $frm->rate("download", $this->var['download_id'], $options); + /* require_once(e_HANDLER."rate_class.php"); $rater = new rater; @@ -880,74 +909,76 @@ class download_shortcodes extends e_shortcode function sc_download_report_link() { - if(isset($this->pref['download_reportbroken']) && check_class($this->pref['download_reportbroken'])) + if (isset($this->pref['download_reportbroken']) && check_class($this->pref['download_reportbroken'])) { //$url = e_PLUGIN_ABS."download/download.php?action=report&id=".$this->var['download_id']; - $url = e107::url('download','report', $this->var); - return "".LAN_dl_45.""; + $url = e107::url('download', 'report', $this->var); + + return "" . LAN_dl_45 . ""; } return ''; } - + function sc_download_view_caption() { $text = $this->var['download_category_name']; - $text .= ($this->var['download_category_description']) ? " [ ".$this->var['download_category_description']." ]" : ""; + $text .= ($this->var['download_category_description']) ? " [ " . $this->var['download_category_description'] . " ]" : ""; + return $text; } - - + + // Mirror ************************************************************************************** - - function sc_download_mirror_request() + + function sc_download_mirror_request() { - return $this->var['download_name']; + return $this->var['download_name']; } - - function sc_download_mirror_request_icon() + + function sc_download_mirror_request_icon() { - return ($this->var['download_thumb'] ? "*" : ""); + return ($this->var['download_thumb'] ? "*" : ""); } - - function sc_download_mirror_name() + + function sc_download_mirror_name() { - if(empty($this->mirror['dlmirror']['mirror_url'])) + if (empty($this->mirror['dlmirror']['mirror_url'])) { return null; } - return "".$this->mirror['dlmirror']['mirror_name'].""; + return "" . $this->mirror['dlmirror']['mirror_name'] . ""; } - - function sc_download_mirror_image() + + function sc_download_mirror_image() { - return !empty($this->mirror['dlmirror']['mirror_image']) ? "*" : ''; + return !empty($this->mirror['dlmirror']['mirror_image']) ? "*" : ''; } - - function sc_download_mirror_location() + + function sc_download_mirror_location() { - return !empty($this->mirror['dlmirror']['mirror_location']) ? $this->mirror['dlmirror']['mirror_location'] : ''; + return !empty($this->mirror['dlmirror']['mirror_location']) ? $this->mirror['dlmirror']['mirror_location'] : ''; } - - function sc_download_mirror_description() + + function sc_download_mirror_description() { - return !empty($this->mirror['dlmirror']['mirror_description']) ? e107::getParser()->toHTML($this->mirror['dlmirror']['mirror_description'], TRUE) : ''; + return !empty($this->mirror['dlmirror']['mirror_description']) ? e107::getParser()->toHTML($this->mirror['dlmirror']['mirror_description'], true) : ''; } - - function sc_download_mirror_filesize() + + function sc_download_mirror_filesize() { - if(empty($this->mirror['dlmirrorfile'][3])) + if (empty($this->mirror['dlmirrorfile'][3])) { return 0; } - return eHelper::parseMemorySize($this->mirror['dlmirrorfile'][3]); + return eHelper::parseMemorySize($this->mirror['dlmirrorfile'][3]); } - - function sc_download_mirror_link() + + function sc_download_mirror_link() { - if(empty($this->mirror['dlmirrorfile'][0])) + if (empty($this->mirror['dlmirrorfile'][0])) { return null; } @@ -955,175 +986,177 @@ class download_shortcodes extends e_shortcode $tp = e107::getParser(); $img = ''; - $click = !empty($this->pref['agree_text']) ? " onclick='return confirm(".$tp->toAttribute($tp->toJSON($tp->toHTML($this->pref['agree_text'],FALSE,'DESCRIPTION'))).")'" : ''; - - if(defined('IMAGE_DOWNLOAD')) + if (defined('IMAGE_DOWNLOAD')) { - $img = "".LAN_DOWNLOAD.""; + $img = "" . LAN_DOWNLOAD . ""; } - if(deftrue('BOOTSTRAP')) + if (deftrue('BOOTSTRAP')) { - $img = ''; - } - - return "mirror['dlmirrorfile'][0]}' title='".LAN_DOWNLOAD."' {$click}>".$img.""; + $img = ''; + } + + return "toAttributes([ + "href" => e_PLUGIN_ABS . "download/download.php?mirror.{$this->var['download_id']}.{$this->mirror['dlmirrorfile'][0]}", + "title" => LAN_DOWNLOAD, + "onclick" => $this->getAgreeTextAsHtmlEventAttribute(), + ]) . ">" . $img . ""; } - - function sc_download_mirror_requests() + + function sc_download_mirror_requests() { - return (ADMIN && !empty($this->mirror['dlmirrorfile'][2])) ? LAN_dl_73.$this->mirror['dlmirrorfile'][2] : ""; + return (ADMIN && !empty($this->mirror['dlmirrorfile'][2])) ? LAN_dl_73 . $this->mirror['dlmirrorfile'][2] : ""; } - - function sc_download_total_mirror_requests() + + function sc_download_total_mirror_requests() { - return (ADMIN && isset($this->mirror['dlmirror']['mirror_count'])) ? LAN_dl_74.$this->mirror['dlmirror']['mirror_count'] : ""; + return (ADMIN && isset($this->mirror['dlmirror']['mirror_count'])) ? LAN_dl_74 . $this->mirror['dlmirror']['mirror_count'] : ""; } - - - // --------- Download View Lans ----------------------------- - - function sc_download_view_author_lan() - { - return !empty($this->var['download_author']) ? LAN_AUTHOR : ""; - } - - function sc_download_view_authoremail_lan() - { - return ($this->var['download_author_email']) ? LAN_dl_30 : ""; - } - - function sc_download_view_authorwebsite_lan() - { - return ($this->var['download_author_website']) ? LAN_dl_31 : ""; - } - - function sc_download_view_date_lan() - { + // --------- Download View Lans ----------------------------- - return ($this->var['download_datestamp']) ? LAN_DATE: ""; - } - - function sc_download_view_image_lan() - { - return LAN_IMAGE; - } - - function sc_download_view_requested() - { + function sc_download_view_author_lan() + { + return !empty($this->var['download_author']) ? LAN_AUTHOR : ""; + } - return $this->var['download_requested']; - } - - function sc_download_view_rating_lan() - { - return LAN_RATING; - } - - function sc_download_view_filesize_lan() - { - return LAN_SIZE; - } - - function sc_download_view_description_lan() - { - return LAN_DESCRIPTION; - } - - function sc_download_view_requested_lan() - { - return LAN_dl_77; - } - - function sc_download_view_link_lan() - { - return LAN_DOWNLOAD; - } - - - // ----------- Download View : Previous and Next --------------- - - /** + function sc_download_view_authoremail_lan() + { + + return ($this->var['download_author_email']) ? LAN_dl_30 : ""; + } + + function sc_download_view_authorwebsite_lan() + { + + return ($this->var['download_author_website']) ? LAN_dl_31 : ""; + } + + function sc_download_view_date_lan() + { + + return ($this->var['download_datestamp']) ? LAN_DATE : ""; + } + + function sc_download_view_image_lan() + { + return LAN_IMAGE; + } + + function sc_download_view_requested() + { + + return $this->var['download_requested']; + } + + function sc_download_view_rating_lan() + { + return LAN_RATING; + } + + function sc_download_view_filesize_lan() + { + return LAN_SIZE; + } + + function sc_download_view_description_lan() + { + return LAN_DESCRIPTION; + } + + function sc_download_view_requested_lan() + { + return LAN_dl_77; + } + + function sc_download_view_link_lan() + { + return LAN_DOWNLOAD; + } + + + // ----------- Download View : Previous and Next --------------- + + /** * {DOWNLOAD_VIEW_PREV: x=y} - */ - function sc_download_view_prev($parm='') - { + */ + function sc_download_view_prev($parm = '') + { $sql = e107::getDb(); - $tp = e107::getParser(); - - $dlrow_id = intval($this->var['download_id']); + $tp = e107::getParser(); - $icon = (deftrue('BOOTSTRAP')) ? $tp->toGlyph('fa-chevron-left') : '<<'; - $class = empty($parm['class']) ? 'e-tip page-link' : $parm['class']; + $dlrow_id = intval($this->var['download_id']); + + $icon = (deftrue('BOOTSTRAP')) ? $tp->toGlyph('fa-chevron-left') : '<<'; + $class = empty($parm['class']) ? 'e-tip page-link' : $parm['class']; + + if ($sql->select("download", "*", "download_category='" . intval($this->var['download_category_id']) . "' AND download_id < {$dlrow_id} AND download_active > 0 && download_visible IN (" . USERCLASS_LIST . ") ORDER BY download_datestamp DESC LIMIT 1")) + { + $dlrowrow = $sql->fetch(); - if ($sql->select("download", "*", "download_category='".intval($this->var['download_category_id'])."' AND download_id < {$dlrow_id} AND download_active > 0 && download_visible IN (".USERCLASS_LIST.") ORDER BY download_datestamp DESC LIMIT 1")) - { - $dlrowrow = $sql->fetch(); - $url = e107::url('download', 'item', $dlrowrow); - return "".$icon." ".LAN_PREVIOUS."\n"; - - // return "<< ".LAN_dl_33." [".$dlrowrow['download_name']."]\n"; - } + return "" . $icon . " " . LAN_PREVIOUS . "\n"; + + // return "<< ".LAN_dl_33." [".$dlrowrow['download_name']."]\n"; + } else { $class .= ' disabled'; - return "".$icon." ".LAN_PREVIOUS."\n"; - } - } - - /** + + return "" . $icon . " " . LAN_PREVIOUS . "\n"; + } + } + + /** * {DOWNLOAD_VIEW_NEXT: x=y} */ - function sc_download_view_next($parm='') + function sc_download_view_next($parm = '') { $sql = e107::getDb(); $tp = e107::getParser(); $dlrow_id = intval($this->var['download_id']); - $icon = (deftrue('BOOTSTRAP')) ? $tp->toGlyph('fa-chevron-right') : '>>'; - $class = empty($parm['class']) ? 'e-tip page-link' : $parm['class']; + $icon = (deftrue('BOOTSTRAP')) ? $tp->toGlyph('fa-chevron-right') : '>>'; + $class = empty($parm['class']) ? 'e-tip page-link' : $parm['class']; - if ($sql->select("download", "*", "download_category='".intval($this->var['download_category_id'])."' AND download_id > {$dlrow_id} AND download_active > 0 && download_visible IN (".USERCLASS_LIST.") ORDER BY download_datestamp ASC LIMIT 1")) - { - $dlrowrow = $sql->fetch(); + if ($sql->select("download", "*", "download_category='" . intval($this->var['download_category_id']) . "' AND download_id > {$dlrow_id} AND download_active > 0 && download_visible IN (" . USERCLASS_LIST . ") ORDER BY download_datestamp ASC LIMIT 1")) + { + $dlrowrow = $sql->fetch(); extract($dlrowrow); - $url = $url = e107::url('download', 'item', $dlrowrow); + $url = $url = e107::url('download', 'item', $dlrowrow); + return "" . LAN_NEXT . " " . $icon . "\n"; + // return "[".$dlrowrow['download_name']."] ".LAN_dl_34." >>\n"; + } + else + { + $class .= ' disabled'; - return "".LAN_NEXT." ".$icon."\n"; - - // return "[".$dlrowrow['download_name']."] ".LAN_dl_34." >>\n"; - } - else - { - $class .= ' disabled'; - return "".LAN_NEXT." ".$icon."\n"; + return "" . LAN_NEXT . " " . $icon . "\n"; - } + } } - - /** + + /** * {DOWNLOAD_BACK_TO_LIST: x=y} */ - function sc_download_back_to_list($parm=null) - { - $url = e107::url('download', 'category', $this->var); + function sc_download_back_to_list($parm = null) + { + $url = e107::url('download', 'category', $this->var); // e_PLUGIN_ABS."download/download.php?action=list&id=".$this->var['download_category'] - - $title = "Back to [x]"; - $class = empty($parm['class']) ? 'e-tip page-link' : $parm['class']; - - return "lanVars($title,array('x'=>$this->var['download_category_name']))."\" href='".$url."'>".LAN_BACK.""; - } - - function sc_download_back_to_category_list() - { - if(!empty($this->parent)) + + $title = "Back to [x]"; + $class = empty($parm['class']) ? 'e-tip page-link' : $parm['class']; + + return "lanVars($title, array('x' => $this->var['download_category_name'])) . "\" href='" . $url . "'>" . LAN_BACK . ""; + } + + function sc_download_back_to_category_list() + { + if (!empty($this->parent)) { $link = e107::url('download', 'category', $this->parent); } @@ -1132,89 +1165,89 @@ class download_shortcodes extends e_shortcode $link = ($this->var['download_category_id']) ? e107::url('download', 'category', $this->var) : null; } - return "".LAN_dl_9.""; - } - - - // Misc stuff --------------------------------------------------------------------------------- - function sc_download_cat_newdownload_text() - { - return $this->renderNewIcon()." ".LAN_dl_36; - } - - function sc_download_cat_search() - { + return "" . LAN_dl_9 . ""; + } + + + // Misc stuff --------------------------------------------------------------------------------- + function sc_download_cat_newdownload_text() + { + return $this->renderNewIcon() . " " . LAN_dl_36; + } + + function sc_download_cat_search() + { $tp = e107::getParser(); - $text = "