예제 #1
0
 /**
  * display commenting stats
  *
  * @author Mark West
  * @return string html output
  */
 public function stats()
 {
     // security check
     if (!SecurityUtil::checkPermission('EZComments::', '::', ACCESS_ADMIN)) {
         return LogUtil::registerPermissionError();
     }
     // assign the module vars
     $this->view->assign(ModUtil::getVar('EZComments'));
     // get a list of the hooked modules
     $subscriberModules = HookUtil::getHookSubscribers();
     $hookedmodules = array();
     foreach ($subscriberModules as $module) {
         $bindingCount = count(HookUtil::getBindingsBetweenOwners($module['name'], 'EZComments'));
         if ($bindingCount > 0) {
             $hookedmodules[] = $module['name'];
         }
     }
     // get a list of comment stats by module
     $commentstats = array();
     foreach ($hookedmodules as $mod) {
         $data = ModUtil::getInfo(ModUtil::getIdFromName($mod));
         $data['modid'] = $data['id'];
         $data['approvedcomments'] = ModUtil::apiFunc('EZComments', 'user', 'countitems', array('status' => 0, 'mod' => $data['name']));
         $data['pendingcomments'] = ModUtil::apiFunc('EZComments', 'user', 'countitems', array('status' => 1, 'mod' => $data['name']));
         $data['rejectedcomments'] = ModUtil::apiFunc('EZComments', 'user', 'countitems', array('status' => 2, 'mod' => $data['name']));
         $data['totalcomments'] = $data['approvedcomments'] + $data['pendingcomments'] + $data['rejectedcomments'];
         $commentstats[] = $data;
     }
     $this->view->assign('commentstats', $commentstats);
     // Return the output
     return $this->view->fetch('ezcomments_admin_stats.tpl');
 }