public function execute() { $template_processor = SJB_System::getTemplateProcessor(); $user_groups_structure = SJB_UserGroupManager::createTemplateStructureForUserGroups(); $template_processor->assign("user_groups", $user_groups_structure); $template_processor->display("user_groups.tpl"); }
public function execute() { $ou = SJB_UserManager::getOnlineUsers(); $onlineUsers = array(); $totalOnlineUsers = 0; $userGroups = SJB_UserGroupManager::createTemplateStructureForUserGroups(); foreach ($userGroups as $userGroup) { $onlineUsers[$userGroup["id"]]["count"] = 0; $onlineUsers[$userGroup["id"]]["caption"] = $userGroup["caption"]; } foreach ($ou as $value) { $onlineUsers[$value["type"]]["count"]++; $totalOnlineUsers++; } $theme = SJB_Settings::getValue('TEMPLATE_USER_THEME', 'default'); $themePath = SJB_TemplatePathManager::getAbsoluteThemePath($theme); // FLAGGED LISTINGS $allListingTypes = SJB_ListingTypeManager::getAllListingTypesInfo(); $totalFlagsNum = array(); foreach ($allListingTypes as $type) { $totalFlagsNum[$type['id']] = SJB_ListingManager::getFlagsNumberByListingTypeSID($type['sid'], $filter = null, $groupByListingSID = true); } $files = $this->getCssFiles($themePath); $tp = SJB_System::getTemplateProcessor(); $tp->assign('totalFlagsNum', $totalFlagsNum); $tp->assign('usersInfo', SJB_UserManager::getUsersInfo()); $tp->assign('groupsInfo', SJB_UserManager::getGroupsInfo()); $tp->assign('listingsInfo', SJB_ListingManager::getListingsInfo()); $tp->assign('listingTypesInfo', SJB_ListingTypeManager::getAllListingTypesInfo()); $tp->assign('invoicesInfo', SJB_InvoiceManager::getInvoicesInfo()); $tp->assign('unpaidInvoices', SJB_InvoiceManager::getTotalUnpaidInvoices()); $tp->assign('totalInvoices', SJB_InvoiceManager::getTotalInvoices()); $i18n = SJB_I18N::getInstance(); $lang = $i18n->getLanguageData($i18n->getCurrentLanguage()); $tp->assign("today", strftime($lang['date_format'], time())); // ранее были данные за период: месяц (последние 30 дней), неделя (последние 7 дней) // теперь - текущий месяц и текущая неделя $currMonth = strftime($lang['date_format'], mktime(0, 0, 0, date("m"), 1, date("Y"))); $currWeek = strftime($lang['date_format'], mktime(0, 0, 0, date("m"), date("d") - date("N") + 1, date("Y"))); $tp->assign("weekAgo", $currWeek); $tp->assign("monthAgo", $currMonth); $tp->assign('onlineUsers', $onlineUsers); $tp->assign('totalOnlineUsers', $totalOnlineUsers); if (count($files) > 0) { $tp->assign("file", $files[0]); } $tp->display("index.tpl"); }
/** * gets all groups info * * @return array */ public static function getGroupsInfo() { $res = array(); //TODO: можно ускорить и сделать так же как в листингах $periods = array("Today" => "`u`.`registration_date` >= CURDATE()", "This Week" => "`u`.`registration_date` >= FROM_DAYS(TO_DAYS(CURDATE()) - WEEKDAY(CURDATE()))", "This Month" => "`u`.`registration_date` >= FROM_DAYS(TO_DAYS(CURDATE()) - DAYOFMONTH(CURDATE()) + 1)"); $user_groups_structure = SJB_UserGroupManager::createTemplateStructureForUserGroups(); foreach ($user_groups_structure as $userGroup) { foreach ($periods as $key => $value) { $queryResult = SJB_DB::query("\n\t\t\t\t\tselect\tifnull(count(u.user_group_sid), 0) as `count`,\n\t\t\t\t\t\t\tifnull(sum(u.active), 0) as `active`\n\t\t\t\t\tfrom users u\n\t\t\t\t\twhere {$value} and u.user_group_sid = {$userGroup['sid']}"); $res[$userGroup["id"]]["periods"][$key] = array_shift($queryResult); } $queryResult = SJB_DB::query("\n\t\t\t\tselect ifnull(count(u.user_group_sid), 0) as `count`, ifnull(sum(u.active), 0) as `active`\n\t\t\t\tfrom users u\n\t\t\t\twhere u.user_group_sid = {$userGroup['sid']}"); $res[$userGroup["id"]]["total"] = array_shift($queryResult); $res[$userGroup["id"]]["caption"] = $userGroup["caption"]; $res[$userGroup["id"]]["approveInfo"] = self::getUsersApproveInfo($userGroup["sid"]); } return $res; }