コード例 #1
0
ファイル: lxclient.php プロジェクト: lonelywoolf/hypervm
 function updateform($subaction, $param)
 {
     global $gbl, $sgbl, $login, $ghtml;
     $gen = $login->getObject('general')->generalmisc_b;
     switch ($subaction) {
         case "dialogsize":
             $vlist['dialogsize'] = null;
             return $vlist;
         case "boxposopen":
             $vlist['title_class'] = null;
             $vlist['title_open'] = null;
             $vlist['title_name'] = null;
             return $vlist;
         case "boxpos":
             $vlist['title_class'] = null;
             $vlist['title_open'] = null;
             $vlist['title_name'] = null;
             $vlist['page'] = null;
             return $vlist;
         case "addshortcut":
             $vlist['shortcut'] = null;
             return $vlist;
         case "resendwelcome":
             $vlist['extra_email_f'] = null;
             $vlist['password'] = null;
             $vlist['__v_updateall_button'] = array();
             return $vlist;
         case "disable_per":
             if ($this->islogin()) {
                 throw new lxException('you_cannot_set_your_own_limit', '');
             }
             $vlist['disable_per'] = array('s', array('off', '95', '100', '110', '120', '130'));
             return $vlist;
         case "miscinfo":
             $vlist['nname'] = array('M', $this->nname);
             $vlist['realname'] = "";
             $vlist['add_address'] = "";
             $vlist['add_city'] = "";
             $vlist['add_country'] = "";
             $vlist['add_telephone'] = "";
             $vlist['add_fax'] = "";
             return $vlist;
         case "limit_s":
         case "limit":
             if ($this->islogin()) {
                 throw new lxException('you_cannot_set_your_own_limit', '');
             }
             if (cse($this->get__table(), "template")) {
                 $class = strtil($this->get__table(), "template");
                 $vlist = getQuotaListForClass($class);
             } else {
                 $vlist = $this->getQuotaVariableList();
             }
             // This is patently wrong. In update, the object is inititialized properly and we are suppsed to get the quota for the specific type of object and not for the class.... Changing it to $this.
             $sgbl->method = 'post';
             //$vlist['__v_updateall_button'] = array();
             return $vlist;
         case "change_plan":
             $parent = $this->getParentO();
             $ttlist = $parent->getTemplateList("resourceplan", false);
             $this->newresourceplan = $this->resourceplan_used;
             if (!$ttlist) {
                 $vlist['newresourceplan'] = array("M", "No Plan in Parent");
             } else {
                 $vlist['newresourceplan'] = array("A", $ttlist);
             }
             //$vlist['__v_updateall_button'] = array();
             return $vlist;
         case "password":
             if ($this->isLogin() || $this->is__table('auxiliary') && $this->getParentO()->isAuxiliary()) {
                 $vlist['old_password_f'] = "";
             }
             $vlist['password'] = "";
             $vlist['__v_updateall_button'] = array();
             return $vlist;
     }
     return parent::updateform($subaction, $param);
 }
コード例 #2
0
ファイル: lib.php プロジェクト: lonelywoolf/hypervm
function fixResourcePlan()
{
    global $gbl, $sgbl, $login, $ghtml;
    $login->loadAllObjects('resourceplan');
    $list = $login->getList('resourceplan');
    foreach ($list as $l) {
        $qv = getQuotaListForClass('client');
        $write = false;
        foreach ($qv as $k => $v) {
            if ($k === 'centralbackup_flag') {
                if (!isset($l->priv->centralbackup_flag)) {
                    $l->priv->centralbackup_flag = $l->centralbackup_flag;
                    $write = true;
                }
                continue;
            }
            if (!isset($l->priv->{$k})) {
                if (cse($k, "_flag")) {
                    if (is_default_quota_flag_on($k)) {
                        $l->priv->{$k} = 'on';
                        $write = true;
                    }
                }
            }
        }
        if ($write) {
            $l->setUpdateSubaction();
            $l->write();
            $write = false;
        }
    }
}
コード例 #3
0
ファイル: mailaccountlib.php プロジェクト: soar-team/kloxo
 static function addform($parent, $class, $typetd = null)
 {
     if ($parent->isClient()) {
         $list = get_namelist_from_objectlist($parent->getList('domain'));
         $vv = array('var' => 'real_clparent_f', 'val' => array('s', $list));
         $vlist['nname'] = array('m', array('posttext' => "@", 'postvar' => $vv));
     } else {
         $vlist['nname'] = array('m', array('posttext' => "@{$parent->nname}"));
     }
     $vlist['password'] = "";
     $qvlist = getQuotaListForClass('mailaccount', array());
     $vlist = lx_array_merge(array($vlist, $qvlist));
     $ret['variable'] = $vlist;
     $ret['action'] = "add";
     return $ret;
 }
コード例 #4
0
 static function continueForm($parent, $class, $param, $continueaction)
 {
     global $gbl, $sgbl, $login, $ghtml;
     $vlist = null;
     self::validate_client_name($param['nname']);
     $param['nname'] = trim($param['nname']);
     if ($continueaction === 'server') {
         if (isOn($param['send_welcome_f'])) {
             if (!$param['contactemail']) {
                 throw new lxexception("sending_welcome_needs_contactemail", array('contactemail', 'send_welcome_f'), '');
             }
             if (!validate_email($param['contactemail'])) {
                 throw new lxexception("contactemail_is_not_valid_email_address", 'contactemail', '');
             }
         }
         dprintr($param);
         if ($param['resourceplan_f'] !== 'continue_without_plan') {
             $param['use_resourceplan_f'] = 'On';
             $ret['param'] = $param;
             $ret['action'] = 'addnow';
             return $ret;
         }
         $array = client::getPserverListPriv();
         foreach ((array) $array as $a) {
             $v = "{$a}_list";
             if (!$parent->listpriv->{$v}) {
                 //throw new lxException ("no_server_pool", $v);
             }
             $param["listpriv_s_{$a}_list"] = $parent->listpriv->{$v};
         }
         // This is a hack... This should now only happen in kloxo and not in hypervm.
         if (isset($param['listpriv_s_webpserver_list'])) {
             $weblist = $param['listpriv_s_webpserver_list'];
             $param['listpriv_s_ipaddress_list'] = $parent->getIpaddress($weblist);
             $nlist = domain::getDnsTemplateList($parent);
             $param['dnstemplate_list'] = $nlist;
         }
         $qvlist = getQuotaListForClass('client', $param);
         $vlist = lx_merge_good($vlist, $qvlist);
         $ret['action'] = "add";
         //$ret['continueaction'] = 'server';
         $ret['variable'] = $vlist;
         $ret['param'] = $param;
     }
     return $ret;
 }
コード例 #5
0
ファイル: clientbaselib.php プロジェクト: zseand/kloxo
 static function continueForm($parent, $class, $param, $continueaction)
 {
     global $gbl, $sgbl, $login, $ghtml;
     $vlist = null;
     self::validate_client_name($param['nname']);
     // and issue #657 - Client user names with "__" are displayed with missing end
     if (stristr($param['nname'], '__')) {
         throw new lxexception("{$param['nname']}_use_double_underscore", 'nname');
     }
     // also check if /home/<client> exists --> prevent use like 'httpd' as client
     /*
     	if (lxfile_exists("/home/{$param['nname']}")) {
     		throw new lxexception("{$param['nname']}_dir_exists_under_home_dir", 'nname');
     
     	}
     */
     $reserved = array('apache', 'lighttpd', 'nginx', 'httpd', 'kloxo', 'lxadmin', 'lxlabs', 'lxcenter', 'nouser', 'tinydns', 'axfrdns', 'dnscache', 'dnslog', 'bind', 'named');
     foreach ($reserved as $r) {
         if ($param['nname'] === $r) {
             throw new lxexception("{$param['nname']}_dir_as_reserved_under_home_dir", 'nname');
         }
     }
     $param['nname'] = trim($param['nname']);
     if ($continueaction === 'server') {
         if (isOn($param['send_welcome_f'])) {
             if (!$param['contactemail']) {
                 throw new lxexception("sending_welcome_needs_contactemail", array('contactemail', 'send_welcome_f'), '');
             }
             // accept to more contact mail - http://forum.lxcenter.org/index.php?t=msg&goto=89118
             $contact = implode(",", str_replace(" ", "", $param['contactemail']));
             foreach ($contact as $c) {
                 if (!validate_email($c)) {
                     throw new lxexception("contactemail_is_not_valid_email_address", 'contactemail', '');
                 }
             }
         }
         dprintr($param);
         if ($param['resourceplan_f'] !== 'continue_without_plan') {
             $param['use_resourceplan_f'] = 'On';
             $ret['param'] = $param;
             $ret['action'] = 'addnow';
             return $ret;
         }
         $array = client::getPserverListPriv();
         foreach ((array) $array as $a) {
             $v = "{$a}_list";
             if (!$parent->listpriv->{$v}) {
                 //throw new lxException ("no_server_pool", $v);
             }
             $param["listpriv_s_{$a}_list"] = $parent->listpriv->{$v};
         }
         // This is a hack... This should now only happen in kloxo and not in hypervm.
         if (isset($param['listpriv_s_webpserver_list'])) {
             $weblist = $param['listpriv_s_webpserver_list'];
             $param['listpriv_s_ipaddress_list'] = $parent->getIpaddress($weblist);
             $nlist = domain::getDnsTemplateList($parent);
             $param['dnstemplate_list'] = $nlist;
         }
         $qvlist = getQuotaListForClass('client', $param);
         $vlist = lx_merge_good($vlist, $qvlist);
         $ret['action'] = "add";
         //$ret['continueaction'] = 'server';
         $ret['variable'] = $vlist;
         $ret['param'] = $param;
     }
     return $ret;
 }
コード例 #6
0
ファイル: domaintemplatelib.php プロジェクト: soar-team/kloxo
 static function addform($parent, $class, $typetd = null)
 {
     $res = domain::getDnsTemplateList($parent);
     $vlist['nname'] = null;
     $vlist['description'] = null;
     $iplist = $parent->getIpaddress(array('localhost'));
     if (!$iplist) {
         $iplist = getAllIpaddress();
     }
     $vlist['ipaddress'] = array('s', $iplist);
     //$vlist['dbtype_list'] = null;
     $vlist['dnstemplate'] = array('s', $res);
     //$vlist['share_status'] = null;
     $vlist['__c_subtitle_quota'] = "Quota";
     $qvlist = getQuotaListForClass('domain', array());
     $vlist = lx_array_merge(array($vlist, $qvlist));
     $vlist['__c_subtitle_mail'] = "Mail";
     $vlist['catchall'] = array('s', array('--bounce--', 'postmaster', 'Delete'));
     $ret['action'] = "add";
     $ret['variable'] = $vlist;
     return $ret;
 }
コード例 #7
0
 static function addform($parent, $class, $typetd = null)
 {
     $vlist['nname'] = "";
     $vlist['description'] = null;
     //$vlist['share_status'] = null;
     $qvlist = getQuotaListForClass('client', array());
     $vlist = lx_array_merge(array($vlist, $qvlist));
     $ret['variable'] = $vlist;
     $ret['action'] = "add";
     return $ret;
 }
コード例 #8
0
ファイル: domainlib.php プロジェクト: zseand/kloxo
 static function addform($parent, $class, $typetd = null)
 {
     /*
     	if ($parent->isNotCustomer()) {
     		$vlist['__m_message_pre'] = "domain_not_customer";
     		$ret['variable'] = $vlist;
     		$ret['action'] = '';
     		return $ret;
     	}
     */
     $res = DomainBase::getDnsTemplateList($parent);
     $vlist['nname'] = "";
     $dir = "__path_customer_root/{$parent->getPathFromName()}";
     $dir = expand_real_root($dir);
     if ($parent->priv->isOn('document_root_flag')) {
         $vlist['docroot'] = array('m', array('pretext' => "{$dir}/"));
     }
     //$templatelist = $parent->getResourcePlanList('resourceplan');
     //$vlist['password'] = null;
     $vlist['__v_button'] = 'add';
     $vlist['dnstemplate_f'] = make_hidden_if_one($res);
     //$vlist['resourceplan_f'] = array('A', $templatelist);
     //$vlist['__c_subtitle_quota'] = 'Features';
     $qvlist = getQuotaListForClass('domain', array('ttype' => 'virtual', 'webpserver' => $parent->websyncserver));
     $vlist = lx_array_merge(array($vlist, $qvlist));
     $ret['variable'] = $vlist;
     $ret['action'] = "add";
     return $ret;
 }
コード例 #9
0
ファイル: vpslib.php プロジェクト: digideskio/hypervm
 static function continueForm($parent, $class, $param, $continueaction)
 {
     global $gbl, $sgbl, $login, $ghtml;
     /*
     	if(!eregi("^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$", $param['nname'])) { 
     		throw new lxException('invalid_domain_name', 'nname');
     	}
     */
     if (!cse($param['nname'], ".vm")) {
         $param['nname'] .= ".vm";
     }
     $param['nname'] = strtolower($param['nname']);
     if ($param['one_ipaddress_f']) {
         full_validate_ipaddress($param['one_ipaddress_f']);
     }
     /*
     	if (!preg_match("/[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+]/i", $param['nname'])) {
     		throw new lxException('domain_name_invalid', 'nname');
     	}
     */
     if (isOn($param['send_welcome_f'])) {
         if (!$param['contactemail']) {
             throw new lxexception("sending_welcome_needs_contactemail", array('contactemail', 'send_welcome_f'), '');
         }
         if (!validate_email($param['contactemail'])) {
             throw new lxexception("contactemail_is_not_valid_email_address", 'contactemail', '');
         }
     }
     if ($param['resourceplan_f'] === 'continue_without_plan') {
         $vlist['__c_subtitle_quota'] = 'Quota';
         $qvlist = getQuotaListForClass('vps');
         $vlist = lx_merge_good($vlist, $qvlist);
         $ret['param'] = $param;
         $ret['variable'] = $vlist;
         $ret['action'] = "Add";
     } else {
         $template = getFromAny(array($login, $parent), 'resourceplan', $param['resourceplan_f']);
         $param['use_resourceplan_f'] = 'on';
         if (!$template) {
             throw new lxexception("the_template_doesnt_exist", 'resourceplan_f', $param['resourceplan_f']);
         }
         $ret['action'] = 'addnow';
         $ret['param'] = $param;
         return $ret;
     }
     return $ret;
 }
コード例 #10
0
ファイル: vpstemplatelib.php プロジェクト: digideskio/hypervm
 static function addform($parent, $class, $typetd = null)
 {
     $vlist['nname'] = null;
     $vlist['description'] = null;
     //$vlist['share_status'] = null;
     $qvlist = getQuotaListForClass('vps', array());
     $vlist = lx_merge_good($vlist, $qvlist);
     $ret['action'] = "add";
     //$ret['continueaction'] = "server";
     $ret['variable'] = $vlist;
     return $ret;
 }