Example #1
0
 protected function initStruct()
 {
     $src_auth_options = array('password', 'kerberos_v5', 'kerberos', 'kerberos_v4', 'gssapi', 'cram-md5', 'otp', 'ntlm', 'msn', 'ssh', 'any');
     $src_protocol_options = array('POP3', 'IMAP', 'POP2', 'ETRN', 'AUTO');
     $extra = Config::intbool('fetchmail_extra_options');
     $this->struct = array('id' => pacol(0, 0, 1, 'num', '', ''), 'domain' => pacol(0, 0, 1, 'text', '', ''), 'mailbox' => pacol(1, 1, 1, 'enum', 'pFetchmail_field_mailbox', 'pFetchmail_desc_mailbox'), 'src_server' => pacol(1, 1, 1, 'text', 'pFetchmail_field_src_server', 'pFetchmail_desc_src_server'), 'src_auth' => pacol(1, 1, 1, 'enum', 'pFetchmail_field_src_auth', 'pFetchmail_desc_src_auth', '', $src_auth_options), 'src_user' => pacol(1, 1, 1, 'text', 'pFetchmail_field_src_user', 'pFetchmail_desc_src_user'), 'src_password' => pacol(1, 1, 0, 'b64p', 'pFetchmail_field_src_password', 'pFetchmail_desc_src_password'), 'src_folder' => pacol(1, 1, 1, 'text', 'pFetchmail_field_src_folder', 'pFetchmail_desc_src_folder'), 'poll_time' => pacol(1, 1, 1, 'num', 'pFetchmail_field_poll_time', 'pFetchmail_desc_poll_time', 10), 'fetchall' => pacol(1, 1, 1, 'bool', 'pFetchmail_field_fetchall', 'pFetchmail_desc_fetchall'), 'keep' => pacol(1, 1, 1, 'bool', 'pFetchmail_field_keep', 'pFetchmail_desc_keep'), 'protocol' => pacol(1, 1, 1, 'enum', 'pFetchmail_field_protocol', 'pFetchmail_desc_protocol', '', $src_protocol_options), 'usessl' => pacol(1, 1, 1, 'bool', 'pFetchmail_field_usessl', 'pFetchmail_desc_usessl'), 'sslcertck' => pacol(1, 1, 1, 'bool', 'pFetchmail_field_sslcertck', ''), 'sslcertpath' => pacol($extra, $extra, $extra, 'text', 'pFetchmail_field_sslcertpath', ''), 'sslfingerprint' => pacol($extra, $extra, $extra, 'text', 'pFetchmail_field_sslfingerprint', ''), 'extra_options' => pacol($extra, $extra, $extra, 'text', 'pFetchmail_field_extra_options', 'pFetchmail_desc_extra_options'), 'mda' => pacol($extra, $extra, $extra, 'text', 'pFetchmail_field_mda', 'pFetchmail_desc_mda'), 'date' => pacol(0, 0, 1, 'text', 'pFetchmail_field_date', 'pFetchmail_desc_date', 1), 'returned_text' => pacol(0, 0, 1, 'text', 'pFetchmail_field_returned_text', 'pFetchmail_desc_returned_text'), 'active' => pacol(1, 1, 1, 'bool', 'active', '', 1), 'created' => pacol(0, 0, 0, 'ts', 'created', ''), 'modified' => pacol(0, 0, 1, 'ts', 'last_modified', ''));
     # get list of mailboxes (for currently logged in user)
     $handler = new MailboxHandler(0, $this->admin_username);
     $handler->getList('1=1');
     $this->struct['mailbox']['options'] = array_keys($handler->result);
 }
 protected function initStruct()
 {
     # TODO: shorter PALANG labels ;-)
     $super = $this->is_superadmin;
     $transp = min($super, Config::intbool('transport'));
     $editquota = min($super, Config::intbool('quota'));
     $quota = Config::intbool('quota');
     $edit_dom_q = min($super, Config::intbool('domain_quota'), $quota);
     $dom_q = min(Config::intbool('domain_quota'), $quota);
     $query_used_domainquota = 'round(coalesce(__total_quota/' . intval(Config::read('quota_multiplier')) . ',0))';
     # NOTE: There are dependencies between alias_count, mailbox_count and total_quota.
     # NOTE: If you disable "display in list" for one of them, the SQL query for the others might break.
     # NOTE: (Disabling all of them shouldn't be a problem.)
     $this->struct = array('domain' => pacol($this->new, 1, 1, 'text', 'domain', '', '', '', array('linkto' => 'list-virtual.php?domain=%s')), 'description' => pacol($super, $super, $super, 'text', 'description', ''), 'aliases' => pacol($super, $super, 0, 'num', 'aliases', 'pAdminEdit_domain_aliases_text', Config::read('aliases')), 'alias_count' => pacol(0, 0, 1, 'vnum', '', '', '', '', 0, 1, 'coalesce(__alias_count,0) - coalesce(__mailbox_count,0)  as alias_count', 'left join ( select count(*) as __alias_count, domain as __alias_domain from ' . table_by_key('alias') . ' group by domain) as __alias on domain = __alias_domain'), 'aliases_quot' => pacol(0, 0, 1, 'quot', 'aliases', '', 0, '', array('select' => db_quota_text('__alias_count - coalesce(__mailbox_count,0)', 'aliases', 'aliases_quot'))), '_aliases_quot_percent' => pacol(0, 0, 1, 'vnum', '', '', 0, '', array('select' => db_quota_percent('__alias_count - coalesce(__mailbox_count,0)', 'aliases', '_aliases_quot_percent'))), 'mailboxes' => pacol($super, $super, 0, 'num', 'mailboxes', 'pAdminEdit_domain_aliases_text', Config::read('mailboxes')), 'mailbox_count' => pacol(0, 0, 1, 'vnum', '', '', '', '', 0, 1, 'coalesce(__mailbox_count,0) as mailbox_count', 'left join ( select count(*) as __mailbox_count, sum(quota) as __total_quota, domain as __mailbox_domain from ' . table_by_key('mailbox') . ' group by domain) as __mailbox on domain = __mailbox_domain'), 'mailboxes_quot' => pacol(0, 0, 1, 'quot', 'mailboxes', '', 0, '', array('select' => db_quota_text('__mailbox_count', 'mailboxes', 'mailboxes_quot'))), '_mailboxes_quot_percent' => pacol(0, 0, 1, 'vnum', '', '', 0, '', array('select' => db_quota_percent('__mailbox_count', 'mailboxes', '_mailboxes_quot_percent'))), 'maxquota' => pacol($editquota, $editquota, $quota, 'num', 'pOverview_get_quota', 'pAdminEdit_domain_maxquota_text', Config::read('maxquota')), 'quota' => pacol($edit_dom_q, $edit_dom_q, 0, 'num', 'pAdminEdit_domain_quota', 'pAdminEdit_domain_maxquota_text', Config::read('domain_quota_default')), 'total_quota' => pacol(0, 0, 1, 'vnum', '', '', '', '', array('select' => "{$query_used_domainquota} AS total_quota")), 'total_quot' => pacol(0, 0, $dom_q, 'quot', 'pAdminEdit_domain_quota', '', 0, '', array('select' => db_quota_text($query_used_domainquota, 'quota', 'total_quot'))), '_total_quot_percent' => pacol(0, 0, $dom_q, 'vnum', '', '', 0, '', array('select' => db_quota_percent($query_used_domainquota, 'quota', '_total_quot_percent'))), 'transport' => pacol($transp, $transp, $transp, 'enum', 'transport', 'pAdminEdit_domain_transport_text', Config::read('transport_default'), Config::read('transport_options')), 'backupmx' => pacol($super, $super, 1, 'bool', 'pAdminEdit_domain_backupmx', '', 0), 'active' => pacol($super, $super, 1, 'bool', 'active', '', 1), 'default_aliases' => pacol($this->new, $this->new, 0, 'bool', 'pAdminCreate_domain_defaultaliases', '', 1, '', 1), 'created' => pacol(0, 0, 0, 'ts', 'created', ''), 'modified' => pacol(0, 0, $super, 'ts', 'last_modified', ''), '_can_edit' => pacol(0, 0, 1, 'int', '', '', 0, '', 0, 1, $this->is_superadmin . ' as _can_edit'), '_can_delete' => pacol(0, 0, 1, 'int', '', '', 0, '', 0, 1, $this->is_superadmin . ' as _can_delete'));
 }