FS#3635 - Adding Shell Users with remote API is broken in 3.0.5.4p3
FS#3632 - Adding websites with remote API is broken in 3.0.5.4p3 release.
Missed to commit one file for: FS#3634 - Add option to disable statistics for a website
| | |
| | | function ftp_dir($field_name, $field_value, $validator) { |
| | | global $app; |
| | | |
| | | if($app->tform->primary_id == 0) { |
| | | $primary_id = (isset($app->tform->primary_id) && $app->tform->primary_id > 0)?$app->tform->primary_id:$app->remoting_lib->primary_id; |
| | | $primary_id = $app->functions->intval($primary_id); |
| | | |
| | | if($primary_id == 0 && !isset($app->remoting_lib->dataRecord['parent_domain_id'])) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | | return $app->tform->wordbook[$errmsg]."<br>\r\n"; |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | $ftp_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM ftp_user WHERE ftp_user_id = '".$app->db->quote($app->tform->primary_id)."'"); |
| | | if($primary_id > 0) { |
| | | //* get parent_domain_id from website |
| | | $ftp_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM ftp_user WHERE ftp_user_id = '".$app->db->quote($primary_id)."'"); |
| | | if(!is_array($ftp_data) || $ftp_data["parent_domain_id"] < 1) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | |
| | | } else { |
| | | return $errmsg."<br>\r\n"; |
| | | } |
| | | } else { |
| | | $parent_domain_id = $ftp_data["parent_domain_id"]; |
| | | } |
| | | } else { |
| | | //* get parent_domain_id from dataRecord when we have a insert operation trough remote API |
| | | $parent_domain_id = $app->functions->intval($app->remoting_lib->dataRecord['parent_domain_id']); |
| | | } |
| | | |
| | | $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($ftp_data["parent_domain_id"])."'"); |
| | | $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($parent_domain_id)."'"); |
| | | if(!is_array($domain_data) || $domain_data["domain_id"] < 1) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | |
| | | |
| | | class validate_systemuser { |
| | | |
| | | function get_error($errmsg) { |
| | | global $app; |
| | | |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | | return $app->tform->wordbook[$errmsg]."<br>\r\n"; |
| | | } else { |
| | | return $errmsg."<br>\r\n"; |
| | | } |
| | | } |
| | | |
| | | /* |
| | | Validator function to check if a given user is ok. |
| | | */ |
| | | function check_sysuser($field_name, $field_value, $validator) { |
| | | global $app; |
| | | |
| | | //* Skip Test if we have the placeholder input of the remote APi for the web_domain system_user field here. |
| | | if($field_name == 'system_user' && $field_value == '-') return ''; |
| | | |
| | | //* Check the input |
| | | $errmsg = $validator['errmsg']; |
| | | $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false; |
| | | |
| | | if($app->functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) { |
| | | return $app->tform->wordbook[$errmsg]."<br>\r\n"; |
| | | return $this->get_error($errmsg); |
| | | } |
| | | } |
| | | |
| | |
| | | function check_sysgroup($field_name, $field_value, $validator) { |
| | | global $app; |
| | | |
| | | //* Skip Test if we have the placeholder input of the remote APi for the web_domain system_group field here. |
| | | if($field_name == 'system_group' && $field_value == '-') return ''; |
| | | |
| | | $errmsg = $validator['errmsg']; |
| | | $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false; |
| | | |
| | | if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) { |
| | | return $app->tform->wordbook[$errmsg]."<br>\r\n"; |
| | | return $this->get_error($errmsg); |
| | | } |
| | | } |
| | | |
| | |
| | | function shelluser_dir($field_name, $field_value, $validator) { |
| | | global $app; |
| | | |
| | | if($app->tform->primary_id == 0) { |
| | | $primary_id = (isset($app->tform->primary_id) && $app->tform->primary_id > 0)?$app->tform->primary_id:$app->remoting_lib->primary_id; |
| | | $primary_id = $app->functions->intval($primary_id); |
| | | |
| | | if($primary_id == 0 && !isset($app->remoting_lib->dataRecord['parent_domain_id'])) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | | return $app->tform->wordbook[$errmsg]."<br>\r\n"; |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | $shell_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = '".$app->db->quote($app->tform->primary_id)."'"); |
| | | if($primary_id > 0) { |
| | | //* get parent_domain_id from website |
| | | $shell_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = '".$app->db->quote($primary_id)."'"); |
| | | if(!is_array($shell_data) || $shell_data["parent_domain_id"] < 1) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | |
| | | } else { |
| | | return $errmsg."<br>\r\n"; |
| | | } |
| | | } else { |
| | | $parent_domain_id = $shell_data["parent_domain_id"]; |
| | | } |
| | | } else { |
| | | //* get parent_domain_id from dataRecord when we have a insert operation trough remote API |
| | | $parent_domain_id = $app->functions->intval($app->remoting_lib->dataRecord['parent_domain_id']); |
| | | } |
| | | |
| | | $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($shell_data["parent_domain_id"])."'"); |
| | | $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($parent_domain_id)."'"); |
| | | if(!is_array($domain_data) || $domain_data["domain_id"] < 1) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($app->tform->wordbook[$errmsg])) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 1 => array ( 'type' => 'REGEX', |
| | | 'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/', |
| | | 'errmsg'=> 'directory_error_regex'), |
| | | 2 => array ( 'type' => 'CUSTOM', |
| | | 'class' => 'validate_ftpuser', |
| | | 'function' => 'ftp_dir', |
| | | 'errmsg' => 'directory_error_notinweb'), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => 'webalizer', |
| | | 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats') |
| | | 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats', '' => 'None') |
| | | ), |
| | | //################################# |
| | | // ENDE Datatable fields |
| | |
| | | $params = array( |
| | | 'server_id' => 1, |
| | | 'parent_domain_id' => 1, |
| | | 'username' => 'threep', |
| | | 'password' => 'wood', |
| | | 'username' => 'tom', |
| | | 'password' => 'secret', |
| | | 'quota_size' => 10000, |
| | | 'active' => 'y', |
| | | 'uid' => '5000', |
| | | 'gid' => '5000', |
| | | 'dir' => 'maybe', |
| | | 'dir' => '/var/www/clients/client0/web1', |
| | | 'quota_files' => -1, |
| | | 'ul_ratio' => -1, |
| | | 'dl_ratio' => -1, |
| | |
| | | } |
| | | |
| | | //* Parameters |
| | | $client_id = 1; |
| | | $client_id = 0; |
| | | $ftp_user_id = 1; |
| | | |
| | | |
| | |
| | | $params = array( |
| | | 'server_id' => 1, |
| | | 'parent_domain_id' => 1, |
| | | 'username' => 'threep2', |
| | | 'password' => 'wood', |
| | | 'username' => 'tom', |
| | | 'password' => 'test', |
| | | 'quota_size' => 10000, |
| | | 'active' => 'y', |
| | | 'puser' => 'null', |
| | | 'pgroup' => 'null', |
| | | 'puser' => 'web1', |
| | | 'pgroup' => 'client0', |
| | | 'shell' => '/bin/bash', |
| | | 'dir' => 'maybe', |
| | | 'dir' => '/var/www/clients/client0/web1', |
| | | 'chroot' => '' |
| | | ); |
| | | |
| | |
| | | } |
| | | |
| | | //* Parameters |
| | | $client_id = 3; |
| | | $client_id = 0; |
| | | $shell_user_id = 1; |
| | | |
| | | |