File Manager

Current Directory: /home/astoriaah/www/old15/modules/mod_zentools/includes
Viewing File: /home/astoriaah/www/old15/modules/mod_zentools/includes/zenj17contenthelper.php
<?php /** * @package Zen Tools * @subpackage Zen Tools * @author Joomla Bamboo - design@joomlabamboo.com * @copyright Copyright (c) 2012 Joomla Bamboo. All rights reserved. * @license GNU General Public License version 2 or later * @version 1.8.0 */ // no direct access defined('_JEXEC') or die('Restricted access'); jimport('joomla.filesystem.path'); jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.file'); require_once JPATH_SITE . '/modules/mod_zentools/includes/zentoolshelper.php'; require_once JPATH_SITE . '/components/com_content/models/articles.php'; require_once JPATH_SITE . '/components/com_content/helpers/route.php'; abstract class ModZentoolsHelper { public static function getList(&$params, $id, $handleImages = false) { // Get the dbo $db = JFactory::getDbo(); // Word Count $wordCount = $params->get( 'wordCount',''); $titlewordCount = $params->get( 'titlewordCount',''); $strip_tags = $params->get('strip_tags',0); $titleSuffix = $params->get('titleSuffix',''); $tags = $params->get( 'allowed_tags',''); $layout = $params->get( 'layout',''); // Image Size and container, remove px if user entered $responsiveimages = $params->get('responsiveimages'); $resizeImage = $params->get('resizeImage',1); $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')); // Other Params $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-date-month-year'); $dateSeparator = ($params->get('dateSeparator', ' ') == ' ' ? $params->get('dateSeparator', ' ') : '<span class="zendatesep">'.$params->get('dateSeparator', ' ').'</span>'); $dateString = $params->get('dateString', 'DATE_FORMAT_LC3'); $translateDate = $params->get('translateDate', '0'); $showCategory = $params->get('showCategory',1); $link = $params->get( 'link',''); $textsuffix = $params->get( 'textsuffix',''); // Lightbox $modalVideo = $params->get('modalVideo'); $modalText = $params->get('modalText'); $modalTitle = $params->get('modalTitle'); $modalMore = $params->get('modalMore'); // J2.5 and altlink if (version_compare(JVERSION, '2.5', '<')) { $joomla25 = 0; $altlink = 0; } else { $joomla25 = 1; $altlink = $params->get('altlink'); } // Get an instance of the generic articles model if (version_compare(JVERSION, '3.0', '<')) { $model = JModel::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); } else { $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); } // Set application parameters in model $app = JFactory::getApplication(); $appParams = $app->getParams(); $model->setState('params', $appParams); // Set the filters based on the module params $model->setState('list.start', 0); $model->setState('list.limit', (int) $params->get('count', 5)); $model->setState('filter.published', 1); // Access filter $access = !JComponentHelper::getParams('com_content')->get('show_noauth'); $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')); $model->setState('filter.access', $access); // Category filter if($params->get( 'joomlaContentSource') =="items") { $model->setState('filter.article_id', $params->get('artids', array())); $model->setState('filter.article_id.include', $params->get('article_filtering_type', 1)); } else { $model->setState('filter.category_id', $params->get('catid', array())); } // Featured switch switch ($params->get('show_front')) { case '2': $model->setState('filter.featured', 'only'); break; case '0': $model->setState('filter.featured', 'hide'); break; case '1': $model->setState('filter.featured', 'show'); break; } // Filter by language $model->setState('filter.language',$app->getLanguageFilter()); // Ordering $model->setState('list.ordering', $params->get('ordering', 'a.ordering')); $model->setState('list.direction', $params->get('ordering_direction', 'ASC')); $items = $model->getItems(); //if($jiexists) { // Get Jinfinity Parameters // $jiparams = JComponentHelper::getParams('com_jinfinity'); // $idprefix = $jiparams->get('fields_idprefix', 0); // #Jinfinity - Get Field List // $fieldlist = JinfinityModelFields::getFields(); // } // foreach ($items as $item) { // $item->slug = $item->id.':'.$item->alias; // $item->catslug = $item->catid.':'.$item->category_alias; // $item->text = $item->introtext; // $item->modaltext = $item->text; // if($jiexists) { // #Jinfinity - Map fields to item object // if(isset($item->fields) && $item->fields!=null) { // $item->fields = json_decode($item->fields, true); // foreach($item->fields as $fid=>$value) { // if(isset($fieldlist[$fid])) { // $field = $fieldlist[$fid]; // $fvar = ($idprefix==1)? $fid.'-'.$field->name : $field->name; // if($fvar!=null) $item->{$fvar} = JinfinityModelFields::displayField($item, $field, $fieldlist); // } // } // } // } // } foreach ($items as $key => $item) { $item->slug = $item->id.':'.$item->alias; $item->catslug = $item->catid.':'.$item->category_alias; $item->text = $item->introtext; /** * * Joomla 1.7 & 2.5 Image Logic * **/ if($layout == "leading") { if($key > 0) {$handleImages = 0;} else {$handleImages = 1;} } if ($handleImages) { // Grab the intro_image in Joomla 2.5 or otherwise use the introtext image. if(version_compare( JVERSION, '2.5', '>=' )) { $images = json_decode($item->images); } else { $images = ""; } if(isset($images->image_intro) and !empty($images->image_intro)) { $item->image = $images->image_intro; } else { $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 = ""; } $item->modaltext = $item->text; $modalImage = $params->get('modalImage',0); if($modalImage) { $item->modaltext = preg_replace('/<img(.*)>/i','',$item->modaltext,1); } /** * * Joomla 1.7 & Joomla 2.5 Resize Images * **/ $item->thumb=""; $item->modalimage=""; if(!empty($item->image)) { // Sets the modal image $item->modalimage = $item->image; $item->imageOriginal = $item->image; if ($resizeImage) { $item->image = ZenToolsHelper::handleRemoteImage($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 { if($responsiveimages) { $item->image = ZenToolsHelper::handleRemoteImage($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.25), '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 = ZenToolsHelper::getResizedImage($item->image, $thumb_width, $thumb_height, $option); } } else { $item->image = ''; } /** * * Joomla 1.7 & Joomla 2.5 Title * **/ $titletext = htmlspecialchars( $item->title ); $item->modaltitle = htmlspecialchars( $item->title ); $item->title = $titlewordCount ? ZenToolsHelper::truncate($titletext, $titlewordCount, $titleSuffix) : $titletext; /** * * Joomla Links * **/ if ($access || in_array($item->access, $authorised)) { // We know that user has the privilege to view the article if($link == 0) { $item->link = ''; $item->closelink = ''; } elseif($link == 1) { if($modalMore or $modalTitle or $modalText) { $item->link = 'href="#data'.$item->id.'"'; } else { $item->link = 'href="'.$item->modalimage.'" title="'.$item->modaltitle.'"'; } $item->closelink = '</a>'; $item->lightboxmore = 'href="'.JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)).'"'; } else { $item->link = 'href="'.JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)).'"'; $item->closelink = '</a>'; } /** * * Joomla 2.5 Alternate Links * **/ $item->newlink = 0; if($joomla25) { $links = json_decode($item->urls); if(isset($links->urla) and !empty($links->urla)) { $item->altlink = 'href="'.$links->urla.'"'; $item->newlink = 1; } else { $item->altlink = $item->link; $item->newlink = 0; } } /** * * Joomla 1.7 & Joomla 2.5 Category Name and Link * **/ if ($showCategory) { $item->catlink = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($item->catslug).'&layout=blog').'">'; } else { $item->link = '<a href="'.JRoute::_('index.php?option=com_user&view=login').'">'; } $item->category = $item->category_title; } else { $item->link = JRoute::_('index.php?option=com_users&view=login'); } /** * * Joomla 1.7 & Joomla 2.5 Metakeywords * **/ $item->metakey = $item->metakey; /** * * Joomla 1.7 & Joomla 2.5 Intro Text * **/ if($strip_tags) { $introtext = $strip_tags ? ZenToolsHelper::_cleanIntrotext($item->introtext,$tags) : $item->introtext; } else { $introtext = $item->introtext; } if($wordCount !=="-1") { $tempintro = false; $item->text = $wordCount ? ZenToolsHelper::truncate($introtext, $wordCount, $textsuffix) : $tempintro; } else { $item->text = $item->introtext; $item->text = $item->text.$textsuffix; } /** * * Joomla 1.7 & Joomla 2.5 Full Text * **/ //$item->fulltext = $item->fulltext; /** * * Joomla 1.7 & Joomla 2.5 Date * **/ 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>'); // $item->date = date($dateFormat, (strtotime($item->created))); if ($dateOrder === 'day-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.'')); } /** * * Joomla 1.7 & Joomla 2.5 IDs * **/ $item->id = $item->id; /** * * null * **/ $item->video = false; } return $items; } }