2929*/
3030
3131class validate_systemuser {
32+
33+ function get_error ($ errmsg ) {
34+ global $ app ;
35+
36+ if (isset ($ app ->tform ->wordbook [$ errmsg ])) {
37+ return $ app ->tform ->wordbook [$ errmsg ]."<br> \r\n" ;
38+ } else {
39+ return $ errmsg ."<br> \r\n" ;
40+ }
41+ }
3242
3343 /*
3444 Validator function to check if a given user is ok.
3545 */
3646 function check_sysuser ($ field_name , $ field_value , $ validator ) {
3747 global $ app ;
3848
49+ //* Skip Test if we have the placeholder input of the remote APi for the web_domain system_user field here.
50+ if ($ field_name == 'system_user ' && $ field_value == '- ' ) return '' ;
51+
52+ //* Check the input
3953 $ errmsg = $ validator ['errmsg ' ];
4054 $ check_names = (isset ($ validator ['check_names ' ]) && $ validator ['check_names ' ] == true )?true :false ;
4155
4256 if ($ app ->functions ->is_allowed_user (trim (strtolower ($ field_value )),$ check_names ) == false ) {
43- return $ app -> tform -> wordbook [ $ errmsg]. " <br> \r\n" ;
57+ return $ this -> get_error ( $ errmsg) ;
4458 }
4559 }
4660
@@ -50,11 +64,14 @@ function check_sysuser($field_name, $field_value, $validator) {
5064 function check_sysgroup ($ field_name , $ field_value , $ validator ) {
5165 global $ app ;
5266
67+ //* Skip Test if we have the placeholder input of the remote APi for the web_domain system_group field here.
68+ if ($ field_name == 'system_group ' && $ field_value == '- ' ) return '' ;
69+
5370 $ errmsg = $ validator ['errmsg ' ];
5471 $ check_names = (isset ($ validator ['check_names ' ]) && $ validator ['check_names ' ] == true )?true :false ;
5572
5673 if ($ app ->functions ->is_allowed_group (trim (strtolower ($ field_value )),$ check_names ) == false ) {
57- return $ app -> tform -> wordbook [ $ errmsg]. " <br> \r\n" ;
74+ return $ this -> get_error ( $ errmsg) ;
5875 }
5976 }
6077
@@ -63,8 +80,11 @@ function check_sysgroup($field_name, $field_value, $validator) {
6380 */
6481 function shelluser_dir ($ field_name , $ field_value , $ validator ) {
6582 global $ app ;
66-
67- if ($ app ->tform ->primary_id == 0 ) {
83+
84+ $ primary_id = (isset ($ app ->tform ->primary_id ) && $ app ->tform ->primary_id > 0 )?$ app ->tform ->primary_id :$ app ->remoting_lib ->primary_id ;
85+ $ primary_id = $ app ->functions ->intval ($ primary_id );
86+
87+ if ($ primary_id == 0 && !isset ($ app ->remoting_lib ->dataRecord ['parent_domain_id ' ])) {
6888 $ errmsg = $ validator ['errmsg ' ];
6989 if (isset ($ app ->tform ->wordbook [$ errmsg ])) {
7090 return $ app ->tform ->wordbook [$ errmsg ]."<br> \r\n" ;
@@ -73,18 +93,25 @@ function shelluser_dir($field_name, $field_value, $validator) {
7393 }
7494 }
7595
76-
77- $ shell_data = $ app ->db ->queryOneRecord ("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = ' " .$ app ->db ->quote ($ app ->tform ->primary_id )."' " );
78- if (!is_array ($ shell_data ) || $ shell_data ["parent_domain_id " ] < 1 ) {
79- $ errmsg = $ validator ['errmsg ' ];
80- if (isset ($ app ->tform ->wordbook [$ errmsg ])) {
81- return $ app ->tform ->wordbook [$ errmsg ]."<br> \r\n" ;
96+ if ($ primary_id > 0 ) {
97+ //* get parent_domain_id from website
98+ $ shell_data = $ app ->db ->queryOneRecord ("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = ' " .$ app ->db ->quote ($ primary_id )."' " );
99+ if (!is_array ($ shell_data ) || $ shell_data ["parent_domain_id " ] < 1 ) {
100+ $ errmsg = $ validator ['errmsg ' ];
101+ if (isset ($ app ->tform ->wordbook [$ errmsg ])) {
102+ return $ app ->tform ->wordbook [$ errmsg ]."<br> \r\n" ;
103+ } else {
104+ return $ errmsg ."<br> \r\n" ;
105+ }
82106 } else {
83- return $ errmsg . " <br> \r\n" ;
107+ $ parent_domain_id = $ shell_data [ " parent_domain_id " ] ;
84108 }
109+ } else {
110+ //* get parent_domain_id from dataRecord when we have a insert operation trough remote API
111+ $ parent_domain_id = $ app ->functions ->intval ($ app ->remoting_lib ->dataRecord ['parent_domain_id ' ]);
85112 }
86113
87- $ domain_data = $ app ->db ->queryOneRecord ("SELECT domain_id, document_root FROM web_domain WHERE domain_id = ' " .$ app ->db ->quote ($ shell_data [ " parent_domain_id " ] )."' " );
114+ $ domain_data = $ app ->db ->queryOneRecord ("SELECT domain_id, document_root FROM web_domain WHERE domain_id = ' " .$ app ->db ->quote ($ parent_domain_id )."' " );
88115 if (!is_array ($ domain_data ) || $ domain_data ["domain_id " ] < 1 ) {
89116 $ errmsg = $ validator ['errmsg ' ];
90117 if (isset ($ app ->tform ->wordbook [$ errmsg ])) {
@@ -116,5 +143,4 @@ function shelluser_dir($field_name, $field_value, $validator) {
116143 }
117144 }
118145
119-
120146}
0 commit comments