function updateform($subaction, $param) { global $gbl, $sgbl, $login, $ghtml; $sq = new Sqlite(null, 'web'); $list = $sq->getRowsWhere("syncserver = '{$this->syncserver}'", array('nname')); $dlist = get_namelist_from_arraylist($list, 'nname'); if (!$login->isAdmin()) { $sq = new Sqlite(null, 'domain'); $nlist = $sq->getRowsWhere("parent_clname = '{$login->getClName()}'", array('nname')); $ndlist = get_namelist_from_arraylist($nlist); foreach ($dlist as $k => $v) { if (!array_search_bool($v, $ndlist)) { unset($dlist[$k]); } } } if ($dlist) { $dlist = add_disabled($dlist); $vlist['domain'] = array('s', $dlist); } else { $vlist['domain'] = array('M', "No Domain"); $vlist['__v_button'] = array(); } return $vlist; }
static function get_slave_list() { global $gbl, $sgbl, $login, $ghtml; $list = $login->getList('pserver'); $list = get_namelist_from_objectlist($list); $list = add_disabled($list); return $list; }
static function getShellList() { global $gbl, $sgbl, $login, $ghtml; $shell_file = "__path_real_etc_root/shells"; $newcont = lfile_trim($shell_file); $newcont = array_remove($newcont, $sgbl->__var_noaccess_shell); $shells = add_disabled($newcont); return $shells; }
function updateform($subaction, $param) { global $gbl, $sgbl, $login, $ghtml; switch ($subaction) { case "centralbackupconfig": $list = $login->getList('centralbackupserver'); $list = get_namelist_from_objectlist($list); $vlist['centralbackupserver'] = array('s', add_disabled($list)); $vlist['internalnetworkip'] = null; $vlist['tmpdir'] = null; //$vlist['__v_updateall_button'] = array(); return $vlist; case "commandcenter": return $this->commandCenter($param); break; case "timezone": $vlist['timezone'] = array('s', pserver::getTimeZoneList()); return $vlist; case "ssl_key": $this->createPublicPrivate(); $this->setUpdateSubaction(); $vlist['text_public_key'] = array('t', null); return $vlist; case "switchprogram": $this->web_driver = $gbl->getSyncClass($this->__masterserver, $this->nname, 'web'); $this->dns_driver = $gbl->getSyncClass($this->__masterserver, $this->nname, 'dns'); $this->spam_driver = $gbl->getSyncClass($this->__masterserver, $this->nname, 'spam'); $vlist['web_driver'] = array('s', array('apache', 'lighttpd')); $vlist['dns_driver'] = array('s', array('bind', 'djbdns')); $vlist['spam_driver'] = array('s', array('spamassassin', 'bogofilter')); return $vlist; case "mysqlpasswordreset": $vlist['newpassword_f'] = null; return $vlist; case "importvps": $vlist['importvps'] = array('M', 'Import Vpses on this server?'); $vlist['__v_button'] = "Import"; return $vlist; case "importhypervmvps": $vlist['importvps'] = array('M', 'Import HyperVM Vpses on this server?'); $vlist['__v_button'] = "Import"; return $vlist; case "savevpsdata": $vlist['__v_button'] = "Save"; return $vlist; case "information": $sq = new Sqlite(null, 'client'); $res = $sq->getRowsWhere("cttype = 'wholesale'", null, array('nname')); $clientlist = get_namelist_from_arraylist($res); $vlist['description'] = null; $vlist['realhostname'] = null; if ($sgbl->isHyperVm()) { $list = get_namelist_from_objectlist($login->getList('datacenter')); if (!$list) { $list[] = '--no-dc--'; $this->datacenter = '--no-dc--'; } $vlist['datacenter'] = array('s', $list); $newclientlist = lx_array_merge(array(array('--unassigned--'), $clientlist)); if ($this->nname === 'localhost') { $vlist['clientname'] = array('M', $login->getKeyword('master_cannot_be_assigned')); } else { $vlist['clientname'] = array('s', $newclientlist); } } if ($sgbl->isHyperVm()) { $vlist['max_vps_num'] = null; } $this->setDefaultValue("load_threshold", "20"); $vlist['load_threshold'] = null; return $vlist; case "backupconfig": return $vlist; case "phpsmtp": $vlist['pserverconf_b_s_usesmtp'] = null; $vlist['pserverconf_b_s_smtpserver'] = null; $vlist['pserverconf_b_s_smtpport'] = null; $vlist['pserverconf_b_s_smtpuseauth'] = null; $vlist['pserverconf_b_s_smtpuser'] = null; $vlist['pserverconf_b_s_smtppass'] = null; return $vlist; case "cron_mailto": $vlist['cron_mailto'] = null; return $vlist; case "vpslist": $vlist['used_vpslist_f'] = array('M', $this->getUsed()); $vlist['__v_button'] = array(); return $vlist; case "showused": $res = $this->createUsedDomainList(); foreach ($res as $k => $v) { $var = "used_domainlist_{$k}_f"; $vlist[$var] = array('M', $this->{$var}); } $vlist['__v_button'] = array(); return $vlist; case "update": $vlist['nname'] = array('M', null); $vlist['password'] = null; return $vlist; case "poweroff": // --- issue 612 - Hide password in reboot / shutdown server // $vlist['retype_admin_p_f'] = null; $vlist['__v_button'] = 'Poweroff'; return $vlist; case "reboot": // --- issue 612 - Hide password in reboot / shutdown server // $vlist['retype_admin_p_f'] = null; $vlist['__v_button'] = 'Reboot'; return $vlist; case "dbpassword": $vlist['dbadmin'] = null; $vlist['dbpassword'] = null; return $vlist; } return parent::updateform($subaction, $param); }
function updateform($subaction, $param) { global $gbl, $sgbl, $login, $ghtml; switch ($subaction) { case "installatron": $vlist['__v_button'] = array(); return $vlist; case "ostemplatelist": getResourceOstemplate($vlist, 'all'); $vlist['__v_updateall_button'] = array(); return $vlist; case "createinvoice_m": $vlist['month'] = null; return $vlist; case "createinvoice_s": $vlist['month'] = array('s', $this->getInvoiceMonthList()); return $vlist; case "search_engine": $vlist['se_url'] = array('M', "http://"); $vlist['se_email'] = null; return $vlist; case "cron_mailto": $vlist['cron_mailto'] = null; return $vlist; case "default_domain": $vlist['default_domain'] = array('s', add_disabled(get_namelist_from_objectlist($this->getList('domain')))); return $vlist; case "shell_access": $res[] = "/bin/bash"; $res[] = "/usr/bin/lxjailshell"; $res = add_disabled($res); $vlist['nname'] = array('M', null); $vlist['disable_system_flag'] = null; $vlist['shell'] = array('s', $res); $vlist['__v_updateall_button'] = array(); return $vlist; case "generate_csr": include "lib/countrycode.inc"; foreach ($gl_country_code as $key => $name) { $temp[$key] = $name; } $s = new sslcert(null, null, null); $this->ssl_data_b = new ssl_data_b(null, null, null); $vlist['contactemail'] = array('M', null); $vlist["ssl_data_b_s_commonName_r"] = null; $vlist["ssl_data_b_s_emailAddress_r"] = null; $vlist["ssl_data_b_s_countryName_r"] = array('A', $temp); $vlist["ssl_data_b_s_stateOrProvinceName_r"] = null; $vlist["ssl_data_b_s_localityName_r"] = null; $vlist["ssl_data_b_s_organizationName_r"] = null; $vlist["ssl_data_b_s_organizationalUnitName_r"] = null; return $vlist; case "domainpserver": if ($this->isAdmin()) { $parent = $this; } else { $parent = $this->getParentO(); } self::getDomainServerVlist($parent, $this, $vlist); return $vlist; case "forcedeletepserver": if_not_admin_complain_and_exit(); $list = get_namelist_from_objectlist($this->getList('pserver')); $vlist['pserver_delete_f'] = array('s', array_remove($list, "localhost")); return $vlist; case "deleteorphanedvps": $sq = new Sqlite(null, 'vps'); $slist = get_namelist_from_objectlist($this->getList('pserver')); $res = $sq->getTable(array('nname', 'syncserver', 'parent_clname')); $list = null; foreach ($res as $r) { if (!array_search_bool($r['syncserver'], $slist)) { $list[$r['nname']] = "{$r['nname']} ({$r['syncserver']}) (orphaned)"; } } if ($list) { $vlist['vps_delete_f'] = array('A', $list); } else { $vlist['vps_delete_f'] = array('M', 'No Orphaned vm'); } return $vlist; case "multivpscreate": $vlist['vps_basename_f'] = null; $vlist['vps_admin_password_f'] = null; $vlist['vps_count_f'] = null; $vlist['vps_template_name_f'] = array('s', get_namelist_from_objectlist($this->getList('vpstemplate'))); return $vlist; case "disable_url": $vlist['disable_url'] = array('m', array('pretext' => 'http://')); return $vlist; case "message": $vlist['wall_from_f'] = array('M', $login->nname); $vlist['send_to_f'] = array('M', $this->nname); $vlist['wall_subject_f'] = null; $vlist['wall_message_f'] = null; $vlist['__v_button'] = 'Send'; return $vlist; case "skeleton": $vlist['skeletonarchive'] = array('M', null); $vlist['skeletonarchive_f'] = null; return $vlist; case "wall": $vlist['wall_from_f'] = array('M', $this->nname); //Can't do this. If he has 10000 client, this itelf will hang the machine. //$vlist['send_to_f'] = array('M', $namlist); $vlist['wall_subject_f'] = null; $vlist['wall_message_f'] = null; $vlist['__v_button'] = 'Send'; return $vlist; case "dnstemplatelist": $parent = $this->getParentO(); $nlist = domain::getDnsTemplateList($parent); $vlist['dnstemplate_list'] = array('U', $nlist); $vlist['__v_updateall_button'] = array(); return $vlist; case "information": $vlist['nname'] = array('M', $this->nname); if ($this->isAdmin()) { $gen = $login->getObject('general'); $this->disable_admin = $gen->disable_admin; $vlist['disable_admin'] = null; } if ($this->isLogin()) { $vlist['cttype'] = array('M', $this->cttype); } else { $parent = $this->getParentO(); $res = null; if (check_if_many_server()) { $ctlist = array('reseller', 'customer', 'wholesale'); } else { $ctlist = array('reseller', 'customer'); } foreach ($ctlist as $v) { if ($parent->isGte($v)) { continue; } $res[] = $v; } if ($res) { $vlist['cttype'] = array('s', $res); } else { $vlist['cttype'] = array('M', $this->cttype); } } $vlist['ddate'] = array('M', @date('d-m-Y', $this->ddate)); if (!$this->isAdmin()) { $vlist['parent_name_f'] = array('M', $this->getParentName()); } $vlist['contactemail'] = ""; if (!$this->isLogin()) { $vlist['text_comment'] = null; } return $vlist; case "license": $lic = $login->getObject('license')->licensecom_b; if ($login->isAdmin()) { $vlist['lic_pserver_num_f'] = array('M', $lic->lic_pserver_num); $vlist['lic_client_num_f'] = array('M', $lic->lic_client_num); $vlist['lic_maindomain_num_f'] = array('M', $lic->lic_maindomain_num); } else { $vlist['lic_node_num_f'] = array('M', $lic->node_num); } $vlist['lic_live_support_f'] = array('M', $lic->lic_live_support); //$vlist['lic_ipaddress_f'] = array('M', $lic->lic_ipaddress); $vlist['lic_client_f'] = array('M', $lic->lic_client); //$vlist['lic_current_f'] = array('t', lfile_get_contents('__path_program_etc/license.txt')); $vlist['license_upload_f'] = null; return $vlist; case "ipaddress": $parent = $this->getParentO(); if ($this->isLogin() || !$this->isRightParent()) { $vlist['ipaddress_list'] = array('M', $this->getIpaddress($this->listpriv->webpserver_list)); $vlist['__v_button'] = array(); } else { if (check_if_many_server()) { dprintr($this->listpriv->webpserver_list); $iplist = $parent->getIpaddress($this->listpriv->webpserver_list); } else { $iplist = $parent->getIpaddress(array('localhost')); } dprintr($iplist); $vlist['ipaddress_list'] = array('Q', $iplist); } return $vlist; case "pserver_s": $parent = $this->getParentO(); $list = null; $serverlist = client::getPserverListPriv(); if ($this->isLogin() || !$this->isRightParent()) { foreach ($serverlist as $s) { $slist = "{$s}_list"; $vlist["{$s}_list"] = array('M', $this->listpriv->{$slist}); } $vlist['__v_button'] = array(); //$vlist['dbtype_list'] = array('M', $this->listpriv->dbtype_list); return $vlist; } else { $vlist['server_detail_f'] = null; foreach ($serverlist as $s) { $slist = "{$s}_list"; // Hack.. Actually, admin's listpriv should be empty so that the __get inside the listpriv will get automatically called. if ($parent->isAdmin()) { unset($parent->listpriv->{$slist}); } $vlist["{$s}_list"] = null; $list = lx_array_merge(array($list, $parent->getServerList(strtilfirst($s, "pserver")))); } $sinfo = pservercore::createServerInfo($list); $sinfo = get_warning_for_server_info($parent, $sinfo); $vlist['server_detail_f'] = array('M', $sinfo); //$vlist['dbtype_list'] = null; return $vlist; } case "description": $vlist['description'] = null; //$vlist['share_status'] = null; if (!$this->isRightParent()) { $this->convertToUnmodifiable($vlist); } return $vlist; } return parent::updateform($subaction, $param); }
function updateform($subaction, $param) { global $gbl, $sgbl, $login, $ghtml; $progname = $sgbl->__var_program_name; switch ($subaction) { case "multi": $vlist['multi'] = null; break; case "browsebackup": $vlist['browsebackup_b-browsebackup_flag'] = null; //$vlist['browsebackup_b-backupslave'] = array('s', get_all_pserver()); //$vlist['browsebackup_b-rootdir'] = null; break; case "historytime": $vlist['generalmisc_b-traffichistory_time'] = null; $vlist['generalmisc_b-loginhistory_time'] = null; break; case "disableper": $vlist['generalmisc_b-dpercentage'] = array('s', array('90', '95', '100', '105', '110', '120')); break; case "npercentage": $vlist['generalmisc_b-npercentage'] = null; break; case "ssh_config": $vlist['generalmisc_b-sshport'] = null; // return $vlist; break; case "kloxo_config": $vlist['kloxoconfig_b-remoteinstall_flag'] = null; $vlist['kloxoconfig_b-installapp_url'] = null; // return $vlist; break; case "portconfig": $this->portconfig_b->setDefaultValue('sslport', $sgbl->__var_prog_ssl_port); $this->portconfig_b->setDefaultValue('nonsslport', $sgbl->__var_prog_port); $vlist['portconfig_b-sslport'] = null; $vlist['portconfig_b-nonsslport'] = null; //$vlist['portconfig_b-nonsslportdisable_flag'] = null; $vlist['portconfig_b-redirectnonssl_flag'] = null; // return $vlist; break; case "download_config": $vlist['generalmisc_b-masterdownload'] = null; // return $vlist; break; case "attempts": $vlist['generalmisc_b-attempts'] = null; break; case "maintenance": $vlist['generalmisc_b-maintenance_flag'] = null; $vlist['text_maintenance_message'] = array('t', null); // return $vlist; break; case "generalsetting": $vlist['generalmisc_b-autoupdate'] = null; if ($sgbl->isHyperVM()) { if (!isset($this->generalmisc_b->installkloxo)) { $this->generalmisc_b->installkloxo = 'on'; } $vlist['generalmisc_b-installkloxo'] = null; $vlist['generalmisc_b-openvzincrement'] = null; $vlist['generalmisc_b-xenimportdriver'] = null; $vlist['generalmisc_b-rebuild_time_limit'] = null; $vlist['generalmisc_b-no_console_user'] = null; $vlist['generalmisc_b-disable_hostname_change'] = null; } if ($sgbl->isKloxo()) { // MR --- On original, why double declare?. Modified! $vlist['generalmisc_b-extrabasedir'] = null; // $vlist['generalmisc_b-extrabasedir'] = null; $list = array("awstats", "webalizer"); // $list = array("awstats", "webalizer"); $list = add_disabled($list); // $list = add_disabled($list); $this->generalmisc_b->setDefaultValue('webstatisticsprogram', 'awstats'); // $this->generalmisc_b->setDefaultValue('webstatisticsprogram', 'awstats'); $vlist['generalmisc_b-webstatisticsprogram'] = array('s', $list); // $vlist['generalmisc_b-webstatisticsprogram'] = array('s', $list); $vlist['generalmisc_b-disableinstallapp'] = null; // $vlist['generalmisc_b-disableinstallapp'] = null; $list = lx_merge_good('--chooser--', mmail::getWebmailProgList()); // $list = lx_merge_good('--chooser--', mmail::getWebmailProgList()); $vlist['generalmisc_b-webmail_system_default'] = array('s', $list); // $vlist['generalmisc_b-webmail_system_default'] = array('s', $list); } $vlist['generalmisc_b-htmltitle'] = null; $vlist['generalmisc_b-ticket_url'] = null; $vlist['login_pre'] = null; // MR --- immediately process before goback $this->postUpdateGeneralsetting(); break; case "hostdiscovery": $vlist['generalmisc_b-usenmapforping'] = null; break; case "reversedns": if (!$this->reversedns_b) { $this->reversedns_b = new reversedns_b(null, null, 'general'); } if ($sgbl->isHyperVM()) { $vlist['reversedns_b-enableflag'] = null; $vlist['reversedns_b-forwardenableflag'] = null; } $this->dns_slave_list = $this->reversedns_b->dns_slave_list; $vlist['reversedns_b-primarydns'] = null; $vlist['reversedns_b-secondarydns'] = null; $serverlist = get_namelist_from_objectlist($login->getRealPserverList('dns')); $vlist['dns_slave_list'] = array('U', $serverlist); break; case "scavengetime": $tcron = new Cron(null, null, 'test'); $v = cron::$hourlist; unset($v[0]); $vlist['generalmisc_b-scavengehour'] = array('s', $v); $vlist['generalmisc_b-scavengeminute'] = array('s', array("0", "15", "30", "45")); break; case "selfbackupconfig": $vlist['selfbackupparam_b-selfbackupflag'] = null; $vlist['selfbackupparam_b-ftp_server'] = null; $vlist['selfbackupparam_b-rm_directory'] = null; $vlist['selfbackupparam_b-rm_username'] = null; $vlist['selfbackupparam_b-rm_password'] = array('m', '***'); //$vlist['selfbackupparam_b-rm_last_number'] = null; break; case "hackbuttonconfig": $vlist['hackbuttonconfig_b-nobackup'] = null; $vlist['hackbuttonconfig_b-nomonitor'] = null; break; case "session_config": $vlist['generalmisc_b-disableipcheck'] = null; break; case "customaction": $vlist['customaction_b-vps__update__rebuild'] = null; break; } return $vlist; }
function updateform($subaction, $param) { switch ($subaction) { // For template Only... For domain, the ip address is kept in web. case "preview_config": $vlist['previewdomain'] = null; return $vlist; case "fix_openbasedir": $vlist['remove_openbasedir'] = null; return $vlist; case "catchall": $name[] = "--bounce--"; $name[] = "postmaster"; $name[] = "Delete"; $vlist['catchall'] = array('s', $name); return $vlist; case "redirect_domain": $vlist['redirect_domain'] = array('M', $this->getObject('web')->redirect_domain); //$vlist['web_s_syncserver'] = array('M', $this->getObject('web')->syncserver); //$vlist['mmail_s_syncserver'] = array('M', $this->getObject('mmail')->syncserver); //$vlist['dns_s_syncserver'] = array('M', $this->getObject('dns')->syncserver); $mmail = $this->getObject('mmail'); if ($mmail->ttype !== 'forward') { $this->syncserver = $this->getParentO()->getFromList('domain', $this->getObject('web')->redirect_domain)->getObject('mmail')->syncserver; $mmail->ttype = 'forward'; $mmail->redirect_domain = $this->getObject('web')->redirect_domain; } $vlist['__v_button'] = array(); return $vlist; case "ipaddress": if (!$this->isRightParent()) { $vlist['ipaddress'] = array('M', $this->ipaddress_sing); return $vlist; } $iplist = $this->getParentO()->getIpaddress(array('localhost')); if (!$iplist) { $iplist = getAllIpaddress(); } $vlist['ipaddress'] = array('s', $iplist); return $vlist; //ONly for Template... //ONly for Template... case "description": $vlist['description'] = null; //$vlist['share_status'] = null; if (!$this->isRightParent()) { $this->convertToUnmodifiable($vlist); } return $vlist; case "dnstemplate": $res = DomainBase::getDnsTemplateList($this->getParentO()); $vlist['dnstemplate'] = array('s', $res); return $vlist; case "information": $web = $this->getObject('web'); $mmail = $this->getObject('mmail'); $dns = $this->getObject('dns'); $vlist['nname'] = array('M', $this->nname); $vlist['uuser_dummy'] = array('M', $web->ftpusername); $vlist['ddate'] = array('M', @date('d-m-Y', $this->ddate)); $vlist['parent_name_f'] = array('M', $this->getParentName()); $webserv = " (ftp.{$this->nname})"; $mailserv = " (mail.{$this->nname})"; $vlist['web_s_syncserver'] = array('M', $webserv); if ($web->iisid) { $vlist['web_s_iisid'] = array('M', $web->iisid); } $vlist['mmail_s_syncserver'] = array('M', $mailserv); //$vlist['dns_s_syncserver'] = array('M', $dns->syncserver); //$vlist['dbtype_list'] = array('M', $this->listpriv->dbtype_list); //$vlist['contactemail'] = ""; if (!$this->isLogin()) { $vlist['text_comment'] = null; } return $vlist; // Only for template... // Only for template... case "pserver_s": $parent = $this->getParentO(); $vlist['webpserver_sing'] = null; $vlist['mmailpserver_sing'] = null; $vlist['dnspserver_sing'] = null; $vlist['secdnspserver_sing'] = array('Q', add_disabled($parent->listpriv->secdnspserver_list)); if (!$this->isRightParent()) { $this->convertToUnmodifiable($vlist); } return $vlist; } return parent::updateform($subaction, $param); }
static function getShellList() { $newcont[] = '--Enabled--'; $shelllist = add_disabled($newcont); return $shelllist; }
function updateform($subaction, $param) { switch ($subaction) { case "editmx": $rec = $this->getParentO()->getObject('dns')->dns_record_a; foreach ($rec as $a) { if ($a->ttype === 'mx') { $v = $a->param; continue; } } $vlist['nname'] = array('M', null); $vlist['mx_f'] = array('m', $v); $vlist['__v_updateall_button'] = array(); return $vlist; case "authentication": $domkey = db_get_value("servermail", $this->syncserver, "domainkey_flag"); if (!$domkey) { $domkey = 'off'; } $domkey .= " (Server Wide Value)"; $vlist['domainkey_f'] = array('M', $domkey); $vlist['enable_spf_flag'] = null; $vlist['text_spf_domain'] = null; $vlist['text_spf_ip'] = null; $this->setDefaultValue('exclude_all', 'soft'); $vlist['exclude_all'] = array('s', array('soft', 'hard')); $vlist['__v_updateall_button'] = array(); return $vlist; case "webmail_select": // read note on fixWebmailRedirect() $this->postUpdate($subaction); $this->setDefaultValue('webmailprog', '--system-default--'); $base = "/home/kloxo/httpd/webmail/"; $list = lscandir_without_dot_or_underscore($base); $nlist[] = '--system-default--'; $nlist[] = '--chooser--'; $nlist = add_disabled($nlist); $plist = self::getWebmailProgList(); $nlist = lx_merge_good($nlist, $plist); $vlist['webmailprog'] = array('s', $nlist); $vlist['__v_updateall_button'] = array(); return $vlist; case "catchall": $list = $this->getList('mailaccount'); $name[] = "--bounce--"; $name[] = "Delete"; $nn = get_namelist_from_objectlist($list); foreach ($nn as &$___t) { $tmp = explode("@", $___t); $___t = $tmp[0]; } $name = lx_array_merge(array($name, $nn)); $vlist['catchall'] = array('s', $name); $vlist['__v_updateall_button'] = array(); return $vlist; case "remotelocalmail": // read note on fixWebmailRedirect() $this->postUpdate($subaction); $vlist['remotelocalflag'] = array('s', array('local', 'remote')); $vlist['webmail_url'] = null; $vlist['__v_updateall_button'] = array(); return $vlist; } return parent::updateform($subaction, $param); }