git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
125 lines
2.3 KiB
PHP
125 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: query.php 14401 2010-01-26 14:10:00Z louis $
|
|
* @package Joomla
|
|
* @subpackage Content
|
|
* @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
|
|
* @license GNU/GPL, see LICENSE.php
|
|
* Joomla! is free software. This version may have been modified pursuant to the
|
|
* GNU General Public License, and as distributed it includes or is derivative
|
|
* of works licensed under the GNU General Public License or other free or open
|
|
* source software licenses. See COPYRIGHT.php for copyright notices and
|
|
* details.
|
|
*/
|
|
|
|
// no direct access
|
|
defined('_JEXEC') or die('Restricted access');
|
|
|
|
/**
|
|
* Content Component Query Helper
|
|
*
|
|
* @static
|
|
* @package Joomla
|
|
* @subpackage Content
|
|
* @since 1.5
|
|
*/
|
|
class ContentHelperQuery
|
|
{
|
|
function orderbyPrimary($orderby)
|
|
{
|
|
switch ($orderby)
|
|
{
|
|
case 'alpha' :
|
|
$orderby = 'cc.title, ';
|
|
break;
|
|
|
|
case 'ralpha' :
|
|
$orderby = 'cc.title DESC, ';
|
|
break;
|
|
|
|
case 'order' :
|
|
$orderby = 'cc.ordering, ';
|
|
break;
|
|
|
|
default :
|
|
$orderby = '';
|
|
break;
|
|
}
|
|
|
|
return $orderby;
|
|
}
|
|
|
|
function orderbySecondary($orderby)
|
|
{
|
|
switch ($orderby)
|
|
{
|
|
case 'date' :
|
|
$orderby = 'a.created';
|
|
break;
|
|
|
|
case 'rdate' :
|
|
$orderby = 'a.created DESC';
|
|
break;
|
|
|
|
case 'alpha' :
|
|
$orderby = 'a.title';
|
|
break;
|
|
|
|
case 'ralpha' :
|
|
$orderby = 'a.title DESC';
|
|
break;
|
|
|
|
case 'hits' :
|
|
$orderby = 'a.hits DESC';
|
|
break;
|
|
|
|
case 'rhits' :
|
|
$orderby = 'a.hits';
|
|
break;
|
|
|
|
case 'order' :
|
|
$orderby = 'a.ordering';
|
|
break;
|
|
|
|
case 'author' :
|
|
$orderby = 'a.created_by_alias, u.name';
|
|
break;
|
|
|
|
case 'rauthor' :
|
|
$orderby = 'a.created_by_alias DESC, u.name DESC';
|
|
break;
|
|
|
|
case 'front' :
|
|
$orderby = 'f.ordering';
|
|
break;
|
|
|
|
default :
|
|
$orderby = 'a.ordering';
|
|
break;
|
|
}
|
|
|
|
return $orderby;
|
|
}
|
|
|
|
function buildVotingQuery($params=null)
|
|
{
|
|
if (!$params) {
|
|
$params = &JComponentHelper::getParams( 'com_content' );
|
|
}
|
|
$voting = $params->get('show_vote');
|
|
|
|
if ($voting) {
|
|
// calculate voting count
|
|
$select = ' , ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count';
|
|
$join = ' LEFT JOIN #__content_rating AS v ON a.id = v.content_id';
|
|
} else {
|
|
$select = '';
|
|
$join = '';
|
|
}
|
|
|
|
$results = array ('select' => $select, 'join' => $join);
|
|
|
|
return $results;
|
|
}
|
|
}
|