Example #1
0
 public function executeStats()
 {
     $stats = array();
     $c = new Criteria();
     // readers_cnt
     $date = date('Y-m-d', strtotime('-1 day'));
     $c->clear();
     $c->add(ReaderPeer::DATE, $date);
     $readers = ReaderPeer::doSelectOne($c);
     $cnt = $readers ? $readers->getCnt() : 0;
     $tcnt = $cnt % 100;
     $str = '';
     if ($tcnt == 1) {
         $str = 'osoba';
     } else {
         if ($tcnt >= 12 && $tcnt <= 14) {
             $str = 'osób';
         } else {
             if ($tcnt % 10 > 1 && $tcnt % 10 < 5) {
                 $str = 'osoby';
             } else {
                 $str = 'osób';
             }
         }
     }
     $stats['reader_cnt'] = $cnt == 0 ? 'brak danych' : sprintf('%d %s', $cnt, $str);
     // blog_cnt
     $c->clear();
     $c->add(BlogPeer::APPROVED, true);
     $stats['blog_cnt'] = BlogPeer::doCount($c);
     // post_cnt
     $c->clear();
     $c->add(PostPeer::DELETED, false);
     $stats['post_cnt'] = PostPeer::doCount($c);
     // month_avg
     $c->clear();
     $c->addAscendingOrderByColumn(PostPeer::CREATED_AT);
     $post = PostPeer::doSelectOne($c);
     $ots = $post ? $post->getCreatedAt(null) : time();
     $years = date('Y') - date('Y', $ots);
     $months = $years * 12 + (date('n') - date('n', $ots));
     $stats['month_avg'] = $months > 0 ? round($stats['post_cnt'] / $months) : 0;
     // assign
     $this->stats = $stats;
 }
Example #2
0
 public function countBlogs($criteria = null, $distinct = false, $con = null)
 {
     include_once 'lib/model/om/BaseBlogPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     $criteria->add(BlogPeer::AUTHOR_ID, $this->getId());
     return BlogPeer::doCount($criteria, $distinct, $con);
 }