|
<?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 ? "&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 . ' / ';
|
|
$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&view=article&id=' . $item->slug . '&catid=' . $item->catslug . $itemidtxt );
|
|
} else {
|
|
$url = cbSef( 'index.php?option=com_content&task=view&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.
|
|
?>
|