/** * 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'); }