'limit_maildomain', 'db_table' => 'mail_domain', 'db_where' => ''); $limits[] = array('field' => 'limit_mailbox', 'db_table' => 'mail_user', 'db_where' => ''); $limits[] = array('field' => 'limit_mailalias', 'db_table' => 'mail_forwarding', 'db_where' => "type = 'alias'"); $limits[] = array('field' => 'limit_mailaliasdomain', 'db_table' => 'mail_forwarding', 'db_where' => "type = 'aliasdomain'"); $limits[] = array('field' => 'limit_mailforward', 'db_table' => 'mail_forwarding', 'db_where' => "type = 'forward'"); $limits[] = array('field' => 'limit_mailcatchall', 'db_table' => 'mail_forwarding', 'db_where' => "type = 'catchall'"); $limits[] = array('field' => 'limit_mailrouting', 'db_table' => 'mail_transport', 'db_where' => ""); $limits[] = array('field' => 'limit_mailfilter', 'db_table' => 'mail_user_filter', 'db_where' => ""); $limits[] = array('field' => 'limit_fetchmail', 'db_table' => 'mail_get', 'db_where' => ""); $limits[] = array('field' => 'limit_spamfilter_wblist', 'db_table' => 'spamfilter_wblist', 'db_where' => ""); $limits[] = array('field' => 'limit_spamfilter_user', 'db_table' => 'spamfilter_users', 'db_where' => ""); $limits[] = array('field' => 'limit_spamfilter_policy', 'db_table' => 'spamfilter_policy', 'db_where' => ""); $limits[] = array('field' => 'limit_web_domain', 'db_table' => 'web_domain', 'db_where' => "type = 'vhost'"); $limits[] = array('field' => 'limit_web_subdomain', 'db_table' => 'web_domain', 'db_where' => "type = 'subdomain'"); $limits[] = array('field' => 'limit_web_aliasdomain', 'db_table' => 'web_domain', 'db_where' => "type = 'aliasdomain'"); $limits[] = array('field' => 'limit_ftp_user', 'db_table' => 'ftp_user', 'db_where' => ""); $limits[] = array('field' => 'limit_shell_user', 'db_table' => 'shell_user', 'db_where' => ""); $limits[] = array('field' => 'limit_dns_zone', 'db_table' => 'dns_soa', 'db_where' => ""); $limits[] = array('field' => 'limit_dns_record', 'db_table' => 'dns_rr', 'db_where' => ""); $limits[] = array('field' => 'limit_database', 'db_table' => 'web_database', 'db_where' => ""); $limits[] = array('field' => 'limit_cron', 'db_table' => 'cron', 'db_where' => ""); $limits[] = array('field' => 'limit_client', 'db_table' => 'client', 'db_where' => ""); //* Loading Template $app->uses('tpl,tform'); $tpl = new tpl; $tpl->newTemplate("dashlets/templates/limits.htm"); $lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_dashlet_limits.lng'; include($lng_file); $tpl->setVar($wb); if($app->auth->is_admin()) { $user_is_admin = 1; } else { $user_is_admin = 0; } $tpl->setVar('is_admin',$user_is_admin); if($user_is_admin == 0) { $client_group_id = $_SESSION["s"]["user"]["default_group"]; $client = $app->db->queryOneRecord("SELECT * FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); $rows = array(); foreach($limits as $limit) { $field = $limit['field']; if($client[$field] != 0) { $value = ($client[$field] == '-1')?$wb['unlimited_txt']:$client[$field]; $rows[] = array('field' => $field, 'field_txt' => $wb[$field.'_txt'], 'value' => $value, 'usage' => $this->_get_limit_usage($limit)); } } $tpl->setLoop('rows',$rows); } return $tpl->grab(); } function _get_limit_usage($limit) { global $app; $sql = "SELECT count(sys_userid) as number FROM ".$limit['db_table']." WHERE "; if($limit['db_where'] != '') $sql .= $limit['db_where']." AND "; $sql .= $app->tform->getAuthSQL('r'); $rec = $app->db->queryOneRecord($sql); return $rec['number']; } } ?>