| Current Path : /var/www/modules/mod_lastworks/ |
| Current File : /var/www/modules/mod_lastworks/helper.php |
<?php
/**
* @autor Valentín García
* @website www.htmgarcia.com
* @package Joomla.Site
* @subpackage mod_lastworks
* @copyright Copyright (C) 2014 Valentín García. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// no direct access
defined('_JEXEC') or die;
class modLastWorksHelper
{
//Get articles @since 1.0.0
public static function getArticlesLW( $categories, $filter, $orderingtype, $ordering, $limit ){
$db = JFactory::getDBO();
$query = 'SELECT * FROM #__content';
$query .= ' WHERE state = 1';
// only article between publishing dates @since 2.2.10
$query .= ' AND (publish_up = "0000-00-00 00:00:00" OR publish_up <= "' . JFactory::getDate() . '")';
$query .= ' AND (publish_down = "0000-00-00 00:00:00" OR publish_down >= "' . JFactory::getDate() . '")';
//categories - @since 1.0.4 (only the if sentence)
if( $categories ){
$query .= ' AND catid IN(' . join( ',', $categories ) . ')';
}
//filter - featured?
switch( $filter ){
case 'any':
$query .= '';
break;
case 'no_feat':
$query .= ' AND featured = 0';
break;
case 'feat':
$query .= ' AND featured = 1';
break;
}
//ordering type
$query .= ' ORDER BY ' . $orderingtype;
//ordering
$query .= ' ' . $ordering;
//limit
$query .= ' LIMIT 0, '. $limit .'';
//echo $query; //just for test
$db->setQuery( $query );
$results = $db->loadObjectList();
return $results;
}
//Get categories @since 1.0.0
public static function getCategoriesLW( $categories ){
$db = JFactory::getDBO();
$query = 'SELECT * FROM #__categories';
$query .= ' WHERE published = 1';
//categories
$query .= ' AND id IN(' . join( ',', $categories ) . ')';
//echo $query; //just for test
$db->setQuery( $query );
$results = $db->loadObjectList();
return $results;
}
//Get category @since 1.0.0
public static function getCategoryLW( $id ){
$db = JFactory::getDBO();
$query = 'SELECT title FROM #__categories';
$query .= ' WHERE published = 1';
//categories
$query .= ' AND id = "' . $id . '" LIMIT 0,1';
//echo $query; //just for test
$db->setQuery( $query );
$results = $db->loadResult();
return $results;
}
//Get images from html @since 1.0.0
public static function getImageLW( $html ){
preg_match_all( '|<img.*?src=[\'"](.*?)[\'"].*?>|i',$html, $matches );
$result = $matches[ 1 ][ 0 ];
return $result;
}
//Get category params @since 1.0.3
public static function getCategoryParamsLW( $id ){
$db = JFactory::getDBO();
$query = 'SELECT params FROM #__categories';
$query .= ' WHERE published = 1';
//categories
$query .= ' AND id = ' . $id;
//echo $query; //just for test
$db->setQuery( $query );
$results = $db->loadResult();
return $results;
}
//Get category description @since 1.0.5
public static function getCategoryDescriptionLW( $id ){
$db = JFactory::getDBO();
$query = 'SELECT description FROM #__categories';
$query .= ' WHERE published = 1';
//categories
$query .= ' AND id = "' . $id . '" LIMIT 0,1';
//echo $query; //just for test
$db->setQuery( $query );
$results = $db->loadResult();
return $results;
}
//Get category note @since 1.0.6
public static function getCategoryNoteLW( $id ){
$db = JFactory::getDBO();
$query = 'SELECT note FROM #__categories';
$query .= ' WHERE published = 1';
//categories
$query .= ' AND id = "' . $id . '" LIMIT 0,1';
//echo $query; //just for test
$db->setQuery( $query );
$results = $db->loadResult();
return $results;
}
}