Код статистики, выводящий на сайте количество записей, комментариев и разделов. Также ведет подсчет общего количества просмотров всех материалов и время, прошедшее с последнего обновления. В файл functions.php вашего шаблона в самый низ добавьте
Для вывода статистики используйте следующий код
function count_comments() {
$db = Typecho_Db::get();
$results = $db->query('SELECT COUNT(*) FROM (SELECT `coid`,* FROM `typecho_comments`);');
while ($row = $results->fetchArray()) {echo $row["COUNT(*)"];}
}
function theAllViews(){
$db = Typecho_Db::get();
if (!array_key_exists('views', $db->fetchRow($db->select()->from('table.contents')))) {
$db->query('ALTER TABLE `'.$db->getPrefix().'contents` ADD `views` INT(10) DEFAULT 0;');
}
$row = $db->fetchAll($db->select('SUM(views)')->from('table.contents'));
echo array_values($row[0])[0];
}
function get_last_update(){
$num = '1';
$type = 'post';
$status = 'publish';
$now = time();
$db = Typecho_Db::get();
$prefix = $db->getPrefix();
$create = $db->fetchRow($db->select('created')->from('table.contents')->where('table.contents.type=? and status=?',$type,$status)->order('created',Typecho_Db::SORT_DESC)->limit($num));
$update = $db->fetchRow($db->select('modified')->from('table.contents')->where('table.contents.type=? and status=?',$type,$status)->order('modified',Typecho_Db::SORT_DESC)->limit($num));
if($create>=$update){
echo Typecho_I18n::dateWord(isset($create['created']), $now);
}else{
$lastday = floor(date($now-$update['modified'])/86400);
if($lastday>365){$lastyear = floor(date($now-$update['modified'])/30758400);echo $lastyear . " лет назад" ;
} elseif($lastday > 30){$lastmom = floor(date($now-$update['modified'])/2592000);echo $lastmom ." месяцев назад" ;
}elseif($lastday < 1){$lasthour = floor(date($now-$update['modified'])/3600);
if($lasthour<1){$lastmin = floor(date($now-$update['modified'])/60);
if($lastmin < 1){$lastsecd = floor(date($now-$update['modified'])); echo $lastsecd ." секунд назад" ;}
else{echo $lastmin ." минут назад" ;}
}else{echo $lasthour ." часов назад" ;}
}else{echo $lastday." дней назад";}}
}
Для вывода статистики используйте следующий код
Записей: <?php Typecho_Widget::widget('Widget_Stat')->to($stat); ?><?php $stat->publishedPostsNum() ?><br>
Разделов: <?php Typecho_Widget::widget('Widget_Stat')->to($stat); ?><?php $stat->categoriesNum() ?><br>
Комментариев: <?php $count_stats = count_comments(); ?><br>
Всего просмотров: <?php theAllViews();?><br>
Последнее обновление : <?php get_last_update(); ?><br>
0 Comments