File Manager

Current Directory: /home/astoriaah/www/old15/modules/mod_zentools/includes
Viewing File: /home/astoriaah/www/old15/modules/mod_zentools/includes/zenk2helper.php
<?php /** * @package Zen Tools * @subpackage Zen Tools * @author Joomla Bamboo - design@joomlabamboo.com * @copyright Copyright (c) 2014 Copyright (C), Joomlabamboo. All Rights Reserved.. All rights reserved. * @license Copyright Joomlabamboo 2014 * @version 1.11.5 */ // no direct access defined('_JEXEC') or die('Restricted access'); jimport('joomla.filesystem.path'); jimport('joomla.filesystem.file'); require_once JPath::clean(JPATH_SITE . '/modules/mod_zentools/includes/zentoolshelper.php'); class ModZentoolsK2Helper { public static function getList($params, $id,$format = 'html') { require_once JPath::clean(JPATH_SITE . '/components/com_k2/helpers/route.php'); require_once JPath::clean(JPATH_SITE . '/components/com_k2/helpers/utilities.php'); // Get K2 version $k2Version = self::getK2Version(); // Load K2 model $k2ModelPath = JPath::clean(JPATH_SITE . '/administrator/components/com_k2/models/model.php'); $useK2Model = JFile::exists($k2ModelPath); if ($useK2Model && !class_exists('K2Model')) { require_once $k2ModelPath; } unset($k2ModelPath); jimport('joomla.filesystem.file'); $app = JFactory::getApplication(); //K2 parameters $componentParams = JComponentHelper::getParams('com_k2'); $limit = $params->get('count', 2); $cid = $params->get('category_id', NULL); $ordering = $params->get('itemsOrdering'); $limitstart = JRequest::getInt('limitstart'); $user = JFactory::getUser(); $aid = $user->get('aid'); $db = JFactory::getDBO(); $jnow = JFactory::getDate(); $authorisedLevels = null; if (version_compare(JVERSION, '1.6', '>')) { if (version_compare(JVERSION, '3.0', '<')) { $now = $jnow->toMySQL(); $authorisedLevels = $user->authorisedLevels(); } else { $now = $jnow->toSql(); $authorisedLevels = $user->getAuthorisedViewLevels(); } } else { // J1.5 $now = $jnow->toMySQL(); } $nullDate = $db->getNullDate(); $itemid = $params->get('itemid',''); // Text Params $wordCount = $params->get( 'wordCount',''); $titlewordCount = $params->get( 'titlewordCount',''); $strip_tags = $params->get('strip_tags',0); $titleSuffix = $params->get('titleSuffix',''); $textsuffix = $params->get('textsuffix',''); $tags = $params->get('allowed_tags',''); $translateDate = $params->get('translateDate', 0); $dayFormat = $params->get('dayFormat', 'none'); $dateFormat = $params->get('dateFormat', 'j'); $monthFormat = $params->get('monthFormat', 'M'); $yearFormat = $params->get('yearFormat', 'y'); $dateOrder = $params->get('dateOrder', 'day-month-year'); $dateSeparator = ($params->get('dateSeparator', ' ') == ' ' ? $params->get('dateSeparator', ' ') : '<span class="zendatesep">'.$params->get('dateSeparator', ' ').'</span>'); $dateString = $params->get('dateString', 'DATE_FORMAT_LC1'); $link = $params->get('link'); // Image Size and container, remove px if user entered $resizeImage = $params->get('resizeImage',1); $responsiveimages = $params->get('responsiveimages'); $option = $params->get( 'option', 'crop'); $img_width = str_replace('px', '', $params->get( 'image_width','170')); $img_height = str_replace('px', '', $params->get( 'image_height','85')); $thumb_width = str_replace('px', '', $params->get( 'thumb_width','20')); $thumb_height = str_replace('px', '', $params->get( 'thumb_height','20')); // Lightbox $modalVideo = $params->get('modalVideo'); $modalText = $params->get('modalText'); $modalTitle = $params->get('modalTitle'); $modalMore = $params->get('modalMore'); if ($k2Version && version_compare($k2Version, '2.6.0', '>=')) { // public = 1 $aid += 1; } $query = "SELECT i.*, c.name AS categoryname,c.id AS categoryid, c.alias AS categoryalias, c.alias AS category_alias, c.params AS categoryparams"; if ($ordering == 'best') $query .= ", (r.rating_sum/r.rating_count) AS rating"; $query .= " FROM #__k2_items as i LEFT JOIN #__k2_categories c ON c.id = i.catid"; if ($ordering == 'best') $query .= " LEFT JOIN #__k2_rating r ON r.itemID = i.id"; $query .= " WHERE i.published = 1 AND i.trash = 0 AND c.published = 1 AND c.trash = 0"; if (version_compare(JVERSION, '1.6', '<')) { $query .=" AND i.access<={$aid} "; $query .=" AND c.access<={$aid} "; } else { $query .= " AND i.access IN(".implode(',', $authorisedLevels).") "; $query .= " AND c.access IN(".implode(',', $authorisedLevels).") "; } $query .= " AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )"; $query .= " AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )"; // If content source is categories if($params->get('k2contentSource') == 'categories' && !is_null($cid)) { if (is_array($cid)) { if (!empty($cid[0])) { if ($params->get('getChildren')) { if ($useK2Model) { K2Model::addIncludePath(JPATH_SITE.'/components/com_k2/models'); $ItemlistModel = K2Model::getInstance('Itemlist', 'K2Model'); $categories = $ItemlistModel->getCategoryTree($cid); } else { require_once JPATH_SITE . '/components/com_k2/models/itemlist.php'; $categories = K2ModelItemlist::getCategoryTree($cid); } $sql = @implode(',', $categories); $query .= " AND i.catid IN ({$sql})"; } else { JArrayHelper::toInteger($cid); $query .= " AND i.catid IN(".implode(',', $cid).")"; } } } elseif (!empty($cid)) { if ($params->get('getChildren')) { if ($useK2Model) { K2Model::addIncludePath(JPATH_SITE.'/components/com_k2/models'); $ItemlistModel = K2Model::getInstance('Itemlist', 'K2Model'); $categories = $ItemlistModel->getCategoryTree($cid); } else { require_once JPATH_SITE . '/components/com_k2/models/itemlist.php'; $categories = K2ModelItemlist::getCategoryTree($cid); } $sql = @implode(',', $categories); $query .= " AND i.catid IN ({$sql})"; } else { $query .= " AND i.catid=".(int)$cid; } } } // If content source is just items if($params->get('k2contentSource') == 'items'){ if(is_array($itemid)) { if (!empty($itemid[0])) { JArrayHelper::toInteger( $itemid ); $query .= ' AND (i.id=' . implode( ' OR i.id=', $itemid ) . ')'; } } elseif (!empty($itemid)) { $query .= ' AND (i.id=' . $itemid . ')'; } } if ($params->get('FeaturedItems') == '0') $query .= " AND i.featured != 1"; if ($params->get('FeaturedItems') == '2') $query .= " AND i.featured = 1"; if ($params->get('videosOnly')) $query .= " AND (i.video IS NOT NULL AND i.video!='')"; if ($ordering == 'comments') $query .= " AND comments.published = 1"; if(version_compare(JVERSION, '1.6', '>=')) { if($app->getLanguageFilter()) { $languageTag = JFactory::getLanguage()->getTag(); $query .= " AND c.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") AND i.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")"; } } switch ($ordering) { case 'date': $orderby = 'i.created ASC'; break; case 'rdate': $orderby = 'i.created DESC'; break; case 'alpha': $orderby = 'i.title'; break; case 'ralpha': $orderby = 'i.title DESC'; break; case 'order': if ($params->get('FeaturedItems') == '2') $orderby = 'i.featured_ordering'; else $orderby = 'i.ordering'; break; case 'hits': $orderby = 'i.hits DESC'; break; case 'rand': $orderby = 'RAND()'; break; case 'best': $orderby = 'rating DESC'; break; default: $orderby = 'i.id DESC'; break; } $query .= " ORDER BY ".$orderby; $db->setQuery($query, 0, $limit); $items = $db->loadObjectList(); require_once JPATH_SITE . '/components/com_k2/models/item.php'; $model = new K2ModelItem; require_once JPATH_SITE . '/components/com_k2/helpers/route.php'; if (count($items)) { $i = 0; $lists = array(); foreach ($items as $item) { $item->imageMedium = false; $item->imageXSmall = false; $item->imageSmall = false; $item->imageLarge = false; $item->imageXLarge = false; $item->imageDefault = false; $item->closelink = false; //Clean title $titletext = JFilterOutput::ampReplace($item->title); $item->modaltitle = JFilterOutput::ampReplace($item->title); $item->title = $titlewordCount ? ZenToolsHelper::truncate($titletext, $titlewordCount, $titleSuffix) : $titletext; //Images $item->featured = $item->featured; $date = JFactory::getDate($item->modified); $timestamp = '?t='.$date->toUnix(); $item->imageSmall =""; $item->imageintrotext = false; $item->image = ""; if(!($params->get('itemImgSize') == "introtext")) { if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image".$item->id).'_XS.jpg')){ $item->imageXSmall = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_XS.jpg'; if($componentParams->get('imageTimestamp')){ $item->imageXSmall.=$timestamp; } } if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image".$item->id).'_S.jpg')){ $item->imageSmall = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_S.jpg'; if($componentParams->get('imageTimestamp')){ $item->imageSmall.=$timestamp; } } if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image".$item->id).'_M.jpg')){ $item->imageMedium = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_M.jpg'; if($componentParams->get('imageTimestamp')){ $item->imageMedium.=$timestamp; } } if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image".$item->id).'_L.jpg')){ $item->imageLarge = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_L.jpg'; if($componentParams->get('imageTimestamp')){ $item->imageLarge.=$timestamp; } } if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image".$item->id).'_XL.jpg')){ $item->imageXLarge = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_XL.jpg'; if($componentParams->get('imageTimestamp')){ $item->imageXLarge.=$timestamp; } } if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image".$item->id).'_Generic.jpg')){ $item->imageDefault = JURI::base(true).'/media/k2/items/cache/'.md5("Image".$item->id).'_Generic.jpg'; if($componentParams->get('imageTimestamp')){ $item->imageDefault.=$timestamp; } } $image = 'image'.$params->get('itemImgSize','Small'); $item->imageTiny = $item->imageXSmall; if (isset($item->$image)) $item->imageOriginal = $item->imageXLarge; $item->modalimage = $item->$image; // Resize Image if ($resizeImage && !(empty($item->$image))) { $item->image = ZenToolsHelper::getResizedImage($item->$image, $img_width, $img_height, $option); } elseif (!$resizeImage && !(empty($item->$image))) { $item->image = $item->$image; } } // If the k2 item image isnt set lets grab the image fromt he introtext if(($params->get('itemImgSize') == "introtext") or (empty($item->$image))) { $imghtml= $item->introtext; $imghtml .= "alt='...' title='...' />"; $pattern = '/<img[^>]+src[\\s=\'"]'; $pattern .= '+([^"\'>\\s]+)/is'; if(preg_match( $pattern, $imghtml, $match)) { $item->image = "$match[1]"; } else { $item->image = ""; } // Set the modal image if($item->image !=="") { $item->modalimage = $item->image; $item->imageOriginal = $item->image; } // Resize Image if ($resizeImage) { if($item->image !=="") { $item->image = ZenToolsHelper::getResizedImage($item->image, $img_width, $img_height, $option); if($responsiveimages) { $item->imageTiny = ZenToolsHelper::getResizedImage($item->image, ($img_width /5), ($img_height / 5), $option); $item->imageXSmall = ZenToolsHelper::getResizedImage($item->image, ($img_width /3), ($img_height / 3), $option); $item->imageSmall = ZenToolsHelper::getResizedImage($item->image, ($img_width /2), ($img_height / 2), $option); $item->imageMedium = ZenToolsHelper::getResizedImage($item->image, ($img_width /1.25), ($img_height / 1.25), $option); $item->imageDefault = ZenToolsHelper::getResizedImage($item->image, ($img_width), ($img_height), $option); $item->imageLarge = ZenToolsHelper::getResizedImage($item->image, ($img_width * 1.25), ($img_height * 1.25), $option); if($item->imageLarge == $item->image) { $item->imageLarge = '/'.$item->imageDefault; } $item->imageXLarge = ZenToolsHelper::getResizedImage($item->image, ($img_width *1.75), ($img_height * 1.75), $option); if($item->imageXLarge == $item->image) { $item->imageXLarge = '/'.$item->imageDefault; } } } } else { $item->image = $item->image; if($responsiveimages) { if($item->image !=="") { list($width, $height) = getimagesize($item->image); $item->imageTiny = ZenToolsHelper::getResizedImage($item->image, ($width /5), ($height / 5), 'exact'); $item->imageXSmall = ZenToolsHelper::getResizedImage($item->image, ($width /3), ($height / 3), 'exact'); $item->imageSmall = ZenToolsHelper::getResizedImage($item->image, ($width /2), ($height / 2), 'exact'); $item->imageMedium = ZenToolsHelper::getResizedImage($item->image, ($width /1.5), ($height / 1.5), 'exact'); $item->imageDefault = ZenToolsHelper::getResizedImage($item->image, ($width), ($height), 'exact'); $item->imageLarge = ZenToolsHelper::getResizedImage($item->image, ($width * 1.25), ($height * 1.25), $option); if($item->imageLarge == $item->image) { $item->imageLarge = '/'.$item->imageDefault; } $item->imageXLarge = ZenToolsHelper::getResizedImage($item->image, ($width *1.75), ($height * 1.75), $option); if($item->imageXLarge == $item->image) { $item->imageXLarge = '/'.$item->imageDefault; } } } } } $item->thumb =""; if($item->image !=="") { $item->thumb = ZenToolsHelper::getResizedImage($item->image, $thumb_width, $thumb_height, $option); } //Read more link if($link == 0) { $item->link = ''; $item->closelink = ''; } elseif($link == 1) { if($modalMore or $modalTitle or $modalText) { $item->link = 'href="#data'.$item->id.'"'; $item->fulllink = 'href="'.urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias)))).'"'; } else { $item->link = 'href="'.$item->modalimage.'" title="'.$item->modaltitle.'"'; } $item->closelink = '</a>'; $item->lightboxmore = 'href="'.urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias)))).'"'; } else { $item->link = 'href="'.urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias)))).'"'; $item->closelink = '</a>'; } // Introtext $item->modaltext = $item->introtext; $modalImage = $params->get('modalImage',0); if($modalImage) { $item->modaltext = preg_replace('/<img(.*)>/i','',$item->modaltext,1); } if($strip_tags) { $introtext = $strip_tags ? ZenToolsHelper::_cleanIntrotext($item->introtext,$tags) : $item->introtext; } else { $introtext = $item->introtext; } $item->text = $wordCount ? ZenToolsHelper::truncate($introtext, $wordCount, $textsuffix) : $item->introtext; $item->category = $item->categoryname; $item->catlink = '<a href="'.urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias)))).'">'; // Date Format if (!$translateDate) { $day = ($dayFormat === 'none' ? '' : '<span class="zenday">'.date($dayFormat, (strtotime($item->created))).'</span>'); $date = ($dateFormat === 'none' ? '' : '<span class="zendayinmonth">'.date($dateFormat, (strtotime($item->created))).'</span>'); $month = ($monthFormat === 'none' ? '' : '<span class="zenmonth">'.date($monthFormat, (strtotime($item->created))).'</span>'); $year = ($yearFormat === 'none' ? '' : '<span class="zenyear">'.date($yearFormat, (strtotime($item->created))).'</span>'); if ($dateOrder === 'year-month-day') { $item->date = ($dayFormat === 'none' ? '' : $day.' ').$year.($monthFormat === 'none' ? '' : $dateSeparator).$month.($dateFormat === 'none' ? '' : $dateSeparator).$date; } else { $item->date = ($dayFormat === 'none' ? '' : $day.' ').$date.($monthFormat === 'none' ? '' : $dateSeparator).$month.($yearFormat === 'none' ? '' : $dateSeparator).$year; } } else { $item->date= JHtml::_('date',$item->created, JText::_(''.$dateString.'')); } $item->extrafields = $model->getItemExtraFields($item->extra_fields, $item); if($model->countItemComments($item->id) < 2) { $item->comments = $model->countItemComments($item->id).' comment'; } else { $item->comments = $model->countItemComments($item->id).' comments'; } $item->attachments = $model->getItemAttachments($item->id); $item->newlink = 0; $rows[] = $item; } return $rows; } } public static function getK2Version() { jimport('joomla.filesystem.file'); $version = false; if (version_compare(JVERSION, '1.6', '>=')) { $k2Path = JPATH_SITE . '/plugins/system/k2/'; // Check if K2 manifest file exists // K2 versions, older than 2.6.1 have missed manifest file if (JFile::exists($k2Path . 'k2.xml')) { $installer = new JInstaller; $installer->setPath('source', $k2Path); $manifest = $installer->getManifest(); $version = (string) $manifest->version; } } else { $k2Path = JPATH_SITE . '/plugins/system/'; jimport('joomla.filesystem.file'); jimport('joomla.installer.installer'); // Check if K2 manifest file exists // K2 versions, older than 2.6.1 have missed manifest file if (JFile::exists($k2Path . 'k2.xml')) { $manifest = new SimpleXMLElement(JFile::read($k2Path . 'k2.xml')); $version = (string) $manifest->version; } } return $version; } }