uawdijnntqw1x1x1
IP : 216.73.216.155
Hostname : vm5018.vps.agava.net
Kernel : Linux vm5018.vps.agava.net 3.10.0-1127.8.2.vz7.151.14 #1 SMP Tue Jun 9 12:58:54 MSK 2020 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
var
/
www
/
iplanru
/
data
/
.
/
mod-tmp
/
..
/
www
/
.
/
iplan.5018.vps.agava.net
/
libraries
/
zoolib
/
zoolib.php
/
/
<?php /* * * jimport('zoolib.zoolib'); $zoolib = new ZooLib(); $params=$zoolib->get_item_params($this->item->id); * * */ class ZooLib { //Возвращает массив id всех подкатегорий исключая текущую. function get_subcat($cat) { $m=array(); $list=array(); $db = JFactory::getDbo(); $list = $db->setQuery(" SELECT id FROM #__zoo_category where parent=\"{$cat}\" and published=1 order by ordering")->loadAssocList(); foreach($list as $row) { $m[]=$row['id'] ; $m = array_merge($m, $this->get_cat_and_subcat($row['id'] )); } $m = array_unique($m); return $m; } //Возвращает массив id всех подкатегорий включая текущую. function get_cat_and_subcat($cat) { $m=array(); $list=array(); $db = JFactory::getDbo(); $list = $db->setQuery(" SELECT id FROM #__zoo_category where parent=\"{$cat}\" and published=1 order by ordering")->loadAssocList(); $m[]=$cat ; foreach($list as $row) { $m = array_merge($m, $this->get_cat_and_subcat($row['id'] )); } return $m; } //возвращает элементы по полям из списка категорий function get_items($fields="*",$categories="",$order="",$limit="") { $db = JFactory::getDbo(); //prepare if (is_array($fields)) $sql_fields=implode(", ", $fields); else $sql_fields=$fields; if ($categories) { if (is_array($categories)) { foreach($categories as $key=>$catid) $categories[$key]="ci.category_id={$catid}"; $sql_categories=" and (".implode(" or ", $categories).")"; } else $sql_categories="ci.category_id={$categories}"; } else $sql_categories=""; if (is_array($order)) $sql_order="ORDER BY ".implode(", ", $order); else $sql_order=$order; if ($limit) $sql_limit="LIMIT {$limit}"; $sql=" SELECT distinct {$sql_fields} FROM #__zoo_item i, #__zoo_category_item ci WHERE i.id=ci.item_id and publish_up {$sql_categories} {$sql_order} {$sql_limit}"; return $db->setQuery($sql)->loadObjectList(); } //формирует пейджер function getPager($count,$page_count=10) { $url=$_SERVER["REQUEST_URI"]; $m = array(); $jinput = JFactory::getApplication()->input; $limit = $jinput->get('limit',"10", "INT" ); $page = $jinput->get('page',1, "INT" ); if ($page>(int)($count/$limit+1)) $page=1; if ($count>$limit) { $lastpage = (int)($count/$limit+1); $firstlink=$page-(int)($page_count/2); if ($firstlink<1)$firstlink=1; $lastlink=$page+(int)($page_count/2); if ($lastlink>(int)($count/$limit+1)) $lastlink=$lastpage; $m[] = "<div class=\"pager\">"; if ($firstlink<>1) $m[] = '<a href="'.$this->sgp($url, "page", 1).'"><<</a>'; for( $i=$firstlink; $i <= $lastlink; $i++) { if ($i==$page) $m[] = '<span>'.$i.'</span>'; else $m[] = '<a href="'.$this->sgp($url, "page", $i).'">'.$i.'</a>'; } if ($lastlink<>$lastpage) $m[] = '<a href="'.$this->sgp($url, "page", $lastpage).'">>></a>'; $m[] = "</div>"; return implode("\r\n",$m); } } //заменяет GET параметры в URL. параметры могут передаваться как массивы function sgp($url, $varname, $value) { if (is_array($varname)) { foreach ($varname as $i => $n) { $v = (is_array($value)) ? ( isset($value[$i]) ? $value[$i] : NULL ) : $value; $url = sgp($url, $n, $v); } return $url; } preg_match('/^([^?]+)(\?.*?)?(#.*)?$/', $url, $matches); $gp = (isset($matches[2])) ? $matches[2] : ''; // GET-parameters if (!$gp) return $url; $pattern = "/([?&])$varname=.*?(?=&|#|\z)/"; if (preg_match($pattern, $gp)) { $substitution = ($value !== '') ? "\${1}$varname=" . preg_quote($value) : ''; $newgp = preg_replace($pattern, $substitution, $gp); // new GET-parameters $newgp = preg_replace('/^&/', '?', $newgp); } else { $s = ($gp) ? '&' : '?'; $newgp = $gp.$s.$varname.'='.$value; } $anchor = (isset($matches[3])) ? $matches[3] : ''; $newurl = $matches[1].$newgp.$anchor; return $newurl; } //возвращает параметры элемента function get_item_params($itemid) { if ($itemid) { $db = JFactory::getDbo(); $sql=" SELECT params FROM #__zoo_item WHERE id={$itemid}"; $par=$db->setQuery($sql)->loadAssoc(); return json_decode($par["params"],TRUE); } } //возвращает параметры категории function get_cat_params($catid) { if ($catid) { $db = JFactory::getDbo(); $sql=" SELECT params FROM #__zoo_category WHERE id={$catid}"; $par=$db->setQuery($sql)->loadAssoc(); return json_decode($par["params"],TRUE); } } //возвращает поле категории function get_cat_field($catid, $field) { if ($catid and $field) { $db = JFactory::getDbo(); $sql=" SELECT {$field} FROM #__zoo_category WHERE id={$catid}"; $par=$db->setQuery($sql)->loadAssoc(); return $par[$field]; } } //устанавливает поле категории function set_cat_field($catid, $field, $value) { if ($catid and $field) { $db = JFactory::getDbo(); $sql="update #__zoo_category set {$field} = \"{$value}\" where id = {$catid}; "; $pr=$db->setQuery($sql)->Execute(); return $pr; } } } ?>
/var/www/iplanru/data/./mod-tmp/../www/./iplan.5018.vps.agava.net/libraries/zoolib/zoolib.php