PHP-Code:
<?php
/**
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* Created and Modified by www.hieblmedia.de
*/
/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $mosConfig_offset, $mosConfig_live_site, $mainframe;
$type = intval( $params->get( 'type', 1 ) );
$count = intval( $params->get( 'count', 5 ) );
$count = intval( $params->get( 'count', 5 ) );
$catid = trim( $params->get( 'catid' ) );
$secid = trim( $params->get( 'secid' ) );
$group_by_day = $params->get( 'group_by_day', 1 );
$show_front = $params->get( 'show_front', 1 );
$class_sfx = $params->get( 'moduleclass_sfx' );
$viewcontenttime = $params->get( 'viewcontenttime', 1 );
$dateformat = $params->get( 'dateformat', '%A, %d. %B %Y');
$ofdate = $params->get( 'ofdate', 0);
$todate = $params->get( 'todate', 0);
$sortdateby = $params->get( 'sortdateby', 1);
$cat_prefix = $params->get( 'cat_prefix', 0);
$cat_prefix_seperator = $params->get( 'cat_prefix_seperator', ':');
$cat_prefix_linkable = $params->get( 'cat_prefix_linkable', 1);
$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 );
$access = !$mainframe->getCfg( 'shownoauth' );
// select between Content Items, Static Content or both
switch ( $type ) {
case 2: //Static Content only
$query = "SELECT a.id, a.title, a.modified, a.created"
. "\n FROM #__content AS a"
. "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid = '0' )"
. "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )"
. "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )"
. ( $ofdate ? "\n AND a.created >= '".$ofdate."'" : '' )
. ( $todate ? "\n AND a.created <= '".$todate."'" : '' )
. ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' )
. "\n ORDER BY a.created DESC LIMIT $count"
;
$database->setQuery( $query );
$rows = $database->loadObjectList();
break;
case 3: //Both
$query = "SELECT a.id, a.title, a.sectionid, a.modified, a.created"
. "\n FROM #__content AS a"
. "\n WHERE ( a.state = '1' AND a.checked_out = '0' )"
. "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )"
. "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )"
. ( $ofdate ? "\n AND a.created >= '".$ofdate."'" : '' )
. ( $todate ? "\n AND a.created <= '".$todate."'" : '' )
. ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' )
. "\n ORDER BY a.created DESC LIMIT $count"
;
$database->setQuery( $query );
$rows = $database->loadObjectList();
break;
case 1: //Content Items only
default:
$query = "SELECT a.id, a.title, a.sectionid, a.catid, a.modified, a.created"
. "\n FROM #__content AS a"
. "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id"
. "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid > '0' )"
. "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )"
. "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )"
. ( $ofdate ? "\n AND a.created >= '".$ofdate."'" : '' )
. ( $todate ? "\n AND a.created <= '".$todate."'" : '' )
. ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' )
. ( $catid ? "\n AND ( a.catid IN (". $catid .") )" : '' )
. ( $secid ? "\n AND ( a.sectionid IN (". $secid .") )" : '' )
. ( $show_front == "0" ? "\n AND f.content_id IS NULL" : '' )
. "\n ORDER BY a.created DESC LIMIT $count"
;
$database->setQuery( $query );
$rows = $database->loadObjectList();
break;
}
// needed to reduce queries used by getItemid for Content Items
if ( ( $type == 1 ) || ( $type == 3 ) ) {
$bs = $mainframe->getBlogSectionCount();
$bc = $mainframe->getBlogCategoryCount();
$gbs = $mainframe->getGlobalBlogSectionCount();
}
// Output
?>
<br /><div class="latestnews<?php echo $class_sfx; ?>">
<?php
foreach ( $rows as $row ) {
// get Itemid
switch ( $type ) {
case 2:
$query = "SELECT id"
. "\n FROM #__menu"
. "\n WHERE type = 'content_typed'"
. "\n AND componentid = $row->id"
;
$database->setQuery( $query );
$Itemid = $database->loadResult();
break;
case 3:
if ( $row->sectionid ) {
$Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs );
} else {
$query = "SELECT id"
. "\n FROM #__menu"
. "\n WHERE type = 'content_typed'"
. "\n AND componentid = $row->id"
;
$database->setQuery( $query );
$Itemid = $database->loadResult();
}
break;
case 1:
default:
$Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs );
break;
}
if ($cat_prefix) {
if ( $cat_prefix == 1) $select = 'name';
if ( $cat_prefix == 2) $select = 'title';
$query = "SELECT $select"
. "\n FROM #__categories"
. "\n WHERE id = '$row->catid'"
;
$database->setQuery( $query );
$cat_prefix_txt = $database->loadResult();
if ($cat_prefix_txt) {
if ($cat_prefix_linkable) {
$cat_prefix_view = '<span class="cat_prefix"><a href="index.php?option=com_content&task=category&id='.$row->catid.'&Itemid=127">'.$cat_prefix_txt.'</a> '.$cat_prefix_seperator.'</span> ';
} else {
$cat_prefix_view = '<span class="cat_prefix">'.$cat_prefix_txt.' '.$cat_prefix_seperator.'</span> ';
}
}
}
if ($group_by_day) {
// Blank itemid checker for SEF
if ($Itemid == NULL) {
$Itemid = '';
} else {
$Itemid = '&Itemid='. $Itemid;
}
$link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id . $Itemid );
if ($sortdateby) {
if($row->modified > $row->created) {
$rowdate = explode("-", $row->modified);
} else {
$rowdate = explode("-", $row->created);
}
} else {
$rowdate = explode("-", $row->created);
}
// Split date
$rowdate2 = explode(" ", $rowdate[2]);
$rowtime = explode(":", $rowdate2[1]);
$rowdatearray = array('year'=>$rowdate[0], 'month'=>$rowdate[1], 'day'=>$rowdate2[0], 'hour'=>$rowtime[0],'min'=>$rowtime[1],'sec'=>$rowtime[2] );
$rowtimeview = $rowdatearray['hour'].':'.$rowdatearray['min'];
$rowdateview = $rowdatearray['year'].'-'.$rowdatearray['month'].'-'.$rowdatearray['day'];
// end split
if ($lastdate!=$rowdateview) {
echo ('<div class="latestnewsday'.$class_sfx.'">'.strftime("$dateformat", mktime(0, 0, 0, $rowdatearray['month'], $rowdatearray['day'], $rowdatearray['year'])).'</div><br/>');
}
else { echo '';}
$lastdate = $rowdatearray['year'].'-'.$rowdatearray['month'].'-'.$rowdatearray['day'];
echo '<div class="latestnews'.$class_sfx.'" style="margin-left:10px; border-bottom:1px solid #cccccc; display:block; width:70%">';
echo $cat_prefix_view;
if ($viewcontenttime) { echo $rowtimeview.' - ' ; }
echo '<a href="'.$link.'" class="latestnews'.$class_sfx.'">';
echo $row->title;
echo '</a></div>';
} else {
// Blank itemid checker for SEF
if ($Itemid == NULL) {
$Itemid = '';
} else {
$Itemid = '&Itemid='. $Itemid;
}
$link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id . $Itemid );
echo '<div class="latestnews'.$class_sfx.'" style="padding-left:5px;">';
echo $cat_prefix_view;
if($row->modified > $row->created) {
echo $row->modified;
} else {
echo $row->created;
}
echo ' <a href="'.$link.'" class="latestnews'.$class_sfx.'">'.$row->title.'</a></div><br />';
}
}
?>
</div>
Lesezeichen