Project

General

Profile

Bug #3486 » cb.authortab.php

krileon, 01 May 2012 16:12

 
<?php
/**
* Author Tab Class for handling the CB tab api
* @version $Id: cb.authortab.php 1782 2012-02-22 13:54:33Z beat $
* @package Community Builder
* @subpackage cb.authortab.php
* @author JoomlaJoe
* @copyright (C) JoomlaJoe and Beat, www.joomlapolis.com
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/

// ensure this file is being included by a parent file
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }


class getAuthorTab extends cbTabHandler {
function getAuthorTab() {
$this->cbTabHandler();
}
function getDisplayTab($tab,$user,$ui) {
global $_CB_framework, $_CB_database, $mainframe;

$jVer = checkJversion();
$showHits = $_CB_framework->getCfg( 'hits' );
$showRating = $_CB_framework->getCfg( 'vote' );

$return = '';
if ( $jVer >= 2 ) {
$curTz = date_default_timezone_get();
date_default_timezone_set( 'UTC' );
$now = date( 'Y-m-d H:i:s' );
date_default_timezone_set( $curTz );
} else {
$now = date( 'Y-m-d H:i:s', $_CB_framework->now() + $_CB_framework->getCfg( 'offset' ) * 60 * 60 );
}

$query = "SELECT a.id, a.catid, a.title, a.hits,a.created, ROUND( r.rating_sum / r.rating_count ) AS rating,r.rating_count";
if ( $jVer >= 1 ) {
$query .= ', CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,'
. ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug';
}
$query .= "\n FROM #__content AS a"
. "\n LEFT JOIN #__content_rating AS r ON r.content_id=a.id";
if ( $jVer < 2 ) {
$query .= "\n INNER JOIN #__sections AS s ON s.id=a.sectionid AND s.title != 'Mamblog'";
}
if ( $jVer >= 1 ) {
$query .= "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid";
}
$query .= "\n WHERE a.created_by=". (int) $user->id .""
. "\n AND a.state = 1 "
. "\n AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')"
. "\n AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')"
. "\n AND a.access IN (" . implode( ',', CBuser::getMyInstance()->getAuthorisedViewLevelsIds( ( $jVer >= 2 ? false : true ) ) ) . ')' . "\n ORDER BY a.created DESC"
;
$_CB_database->setQuery( $query );
//print $_CB_database->getQuery();
$items = $_CB_database->loadObjectList();
if(!count($items)>0) {
$return .= "<br /><br /><div class=\"cbNoArticles\" style=\"width:95%;\">";
$return .= _UE_NOARTICLES;
$return .= "</div>";
return $return;
}

$return .= $this->_writeTabDescription( $tab, $user );
$return .= "<table cellpadding=\"5\" cellspacing=\"0\" border=\"0\" width=\"95%\">";
$return .= "<tr class=\"sectiontableheader\">";
$return .= "<th>"._UE_ARTICLEDATE."</th>";
$return .= "<th>"._UE_ARTICLETITLE."</th>";
if( $showHits ) $return .= "<th>"._UE_ARTICLEHITS."</th>";
if( $showRating ) $return .= "<th>"._UE_ARTICLERATING."</th>";
$return .= "</tr>";
$i=1;
$hits="";
$rating="";
foreach($items AS $item) {
if ( isset( $mainframe ) && is_callable( array( $mainframe, "getItemid" ) ) ) {
$itemid = $mainframe->getItemid( $item->id );
} elseif (is_callable( "JApplicationHelper::getItemid" ) ) {
$itemid = JApplicationHelper::getItemid( $item->id );
} else {
$itemid = null;
}
$itemidtxt = $itemid ? "&amp;Itemid=" . (int) $itemid : "";
$i= ($i==1) ? 2 : 1;
if (is_callable(array("mosAdminMenus","ImageCheck"))) {
$starImageOn = mosAdminMenus::ImageCheck( 'rating_star.png', '/images/M_images/' );
$starImageOff = mosAdminMenus::ImageCheck( 'rating_star_blank.png', '/images/M_images/' );
} else { // Mambo 4.5.0:
$starImageOn = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star.png" alt="" align="middle" style="border:0px;" />';
$starImageOff = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star_blank.png" alt="" align="middle" style="border:0px;" />';
}
$img="";
if( $showRating ) {
for ($j=0; $j < $item->rating; $j++) {
$img .= $starImageOn;
}
for ($j=$item->rating; $j < 5; $j++) {
$img .= $starImageOff;
}

$rating = '<td><span class="content_rating">';
$rating .= $img . '&nbsp;/&nbsp;';
$rating .= intval( $item->rating_count );
$rating .= "</span></td>\n";
}
if ( $showHits ) {
$hits = "<td>".$item->hits."</td>";
}
if ( $jVer == 2 ) {
require_once( $_CB_framework->getCfg( 'absolute_path' ) . '/components/com_content/helpers/route.php' );
$url = ContentHelperRoute::getArticleRoute( $item->id, $item->catid );
if ( ! stristr( $url, 'Itemid' ) ) {
$url = $_CB_framework->getCfg( 'live_site' ) . '/' . $url;
} else {
$url = cbSef( $url );
}
} elseif ( $jVer == 1 ) {
$url = cbSef( 'index.php?option=com_content&amp;view=article&amp;id=' . $item->slug . '&amp;catid=' . $item->catslug . $itemidtxt );
} else {
$url = cbSef( 'index.php?option=com_content&amp;task=view&amp;id=' . (int) $item->id . $itemidtxt );
}
$return .= "<tr class=\"sectiontableentry$i\"><td>".cbFormatDate( $item->created )."</td><td><a href=\""
. $url . "\">"
.$item->title."</a></td>".$hits.$rating."</tr>\n";

}
$return .= "</table>";

return $return;
}
} // end class getAuthorTab.
?>
(2-2/2)