Файл: InstantSocial/uploud/modules/mod_bestphoto/module.php
Строк: 68
<?php
/******************************************************************************/
// //
// InstantCMS v1.9 //
// http://www.instantcms.ru/ //
// //
// written by InstantCMS Team, 2007-2011 //
// produced by InstantSoft, (www.instantsoft.ru) //
// //
// LICENSED BY GNU/GPL v2 //
// //
/******************************************************************************/
function mod_bestphoto($module_id){
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
$cfg = $inCore->loadModuleConfig($module_id);
global $_LANG;
if (!isset($cfg['showtype'])) { $cfg['showtype'] = 'full'; }
if (!isset($cfg['showmore'])) { $cfg['showmore'] = 1; }
if (!isset($cfg['album_id'])) { $cfg['album_id'] = 0; }
if (!isset($cfg['whatphoto'])) { $cfg['whatphoto'] = 'all'; }
$catsql = $cfg['album_id'] ? ' AND album_id = '.$cfg['album_id'] : '';
$today = date("d-m-Y");
switch ($cfg['whatphoto']){
case 'all': $periodsql = ''; break;
case 'day': $periodsql = " AND DATE_FORMAT(f.pubdate, '%d-%m-%Y')='$today'"; break;
case 'week': $periodsql = " AND DATEDIFF(NOW(), f.pubdate) <= 7"; break;
case 'month': $periodsql = " AND DATE_SUB(NOW(), INTERVAL 1 MONTH) < f.pubdate"; break;
}
$sql = "SELECT f.id, f.album_id, f.title, f.pubdate, f.file, f.hits, f.comments, a.title as album,
IFNULL(r.total_rating, 0) as rating
FROM cms_photo_files f
LEFT JOIN cms_ratings_total r ON r.item_id=f.id AND r.target = 'photo'
LEFT JOIN cms_photo_albums a ON f.album_id = a.id
WHERE f.published = 1 ".$catsql." ".$periodsql."
ORDER BY ".$cfg['sort']." DESC
LIMIT ".$cfg['shownum'];
$result = $inDB->query($sql) ;
$is_best = false;
if (!function_exists('cmsKarmaFormat') && $cfg['showrating']){ //if not included earlier
include_once(PATH.'/core/lib_karma.php');
}
if ($inDB->num_rows($result)){
$is_best = true;
$cons = array();
while($con = $inDB->fetch_assoc($result)){
if ($cfg['showtype']=='full'){
if ($cfg['showrating']){
if ($cfg['sort'] == 'rating'){
$con['votes'] = cmsKarmaFormat($con['rating']);
} else {
$con['votes'] = $con[$cfg['sort']];
}
}
if ($cfg['showdate']){
$con['pubdate'] = cmsCore::dateFormat($con['pubdate']);
}
if ($cfg['showcom'] && $con['comments']){
$con['comments'] = $inCore->getCommentsCount('photo', $con['id']);
}
}
$cons[] = $con;
}
}
$smarty = $inCore->initSmarty('modules', 'mod_bestphoto.tpl');
$smarty->assign('cons', $cons);
$smarty->assign('cfg', $cfg);
$smarty->assign('is_best', $is_best);
$smarty->display('mod_bestphoto.tpl');
return true;
}
?>