Marius Cramer
2015-08-06 37b29231e47a0c4458dc1c15d98588f16f07e1e2
commit | author | age
838c87 1 <?php
T 2
3 /*
4     Form Definition
5
6     Tabledefinition
7
8     Datatypes:
9     - INTEGER (Forces the input to Int)
10     - DOUBLE
11     - CURRENCY (Formats the values to currency notation)
12     - VARCHAR (no format check, maxlength: 255)
13     - TEXT (no format check)
14     - DATE (Dateformat, automatic conversion to timestamps)
15
16     Formtype:
17     - TEXT (Textfield)
18     - TEXTAREA (Textarea)
19     - PASSWORD (Password textfield, input is not shown when edited)
20     - SELECT (Select option field)
21     - RADIO
22     - CHECKBOX
23     - CHECKBOXARRAY
24     - FILE
25
26     VALUE:
27     - Wert oder Array
28
29     Hint:
30     The ID field of the database table is not part of the datafield definition.
31     The ID field must be always auto incement (int or bigint).
b1a6a5 32
a00888 33     Search:
T 34     - searchable = 1 or searchable = 2 include the field in the search
35     - searchable = 1: this field will be the title of the search result
36     - searchable = 2: this field will be included in the description of the search result
838c87 37
T 38
39 */
3669b3 40 $childdomain_type = 'aliasdomain';
MC 41 if(isset($_SESSION['s']['var']['childdomain_type']) && $_SESSION['s']['var']['childdomain_type'] == 'subdomain') $childdomain_type = 'subdomain';
838c87 42
3669b3 43 $form["title"]    = ($childdomain_type == 'subdomain' ? "Subdomain" : 'Web Aliasdomain');
b1a6a5 44 $form["description"]  = "";
3669b3 45 $form["name"]    = "web_childdomain";
MC 46 $form["action"]   = "web_childdomain_edit.php";
b1a6a5 47 $form["db_table"]  = "web_domain";
MC 48 $form["db_table_idx"] = "domain_id";
49 $form["db_history"]  = "yes";
50 $form["tab_default"] = "domain";
3669b3 51 $form["list_default"] = "web_childdomain_list.php";
b1a6a5 52 $form["auth"]   = 'yes'; // yes / no
838c87 53
T 54 $form["auth_preset"]["userid"]  = 0; // 0 = id of the user, > 0 id must match with id of current user
55 $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
56 $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
57 $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
58 $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
59
60 $form["tabs"]['domain'] = array (
61f1f5 61     'title'  => ($childdomain_type == 'aliasdomain'? 'Aliasdomain' : 'Subdomain'),
b1a6a5 62     'width'  => 100,
3669b3 63     'template'  => "templates/web_childdomain_edit.htm",
b1a6a5 64     'fields'  => array (
MC 65         //#################################
66         // Begin Datatable fields
67         //#################################
838c87 68         'server_id' => array (
b1a6a5 69             'datatype' => 'INTEGER',
MC 70             'formtype' => 'SELECT',
71             'default' => '',
72             'datasource' => array (  'type' => 'SQL',
73                 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
74                 'keyfield'=> 'server_id',
75                 'valuefield'=> 'server_name'
76             ),
77             'value'  => ''
838c87 78         ),
T 79         'domain' => array (
b1a6a5 80             'datatype' => 'VARCHAR',
MC 81             'formtype' => 'TEXT',
82             'filters'   => array( 0 => array( 'event' => 'SAVE',
83                     'type' => 'IDNTOASCII'),
84                 1 => array( 'event' => 'SHOW',
85                     'type' => 'IDNTOUTF8'),
86                 2 => array( 'event' => 'SAVE',
87                     'type' => 'TOLOWER')
88             ),
89             'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
90                     'class' => 'validate_domain',
3669b3 91                     'function' => ($childdomain_type == 'subdomain' ? 'sub_domain' : 'alias_domain'),
b1a6a5 92                     'errmsg'=> 'domain_error_regex'),
MC 93             ),
94             'default' => '',
95             'value'  => '',
96             'width'  => '30',
97             'maxlength' => '255',
a00888 98             'searchable' => 1
838c87 99         ),
T 100         'type' => array (
b1a6a5 101             'datatype' => 'VARCHAR',
MC 102             'formtype' => 'SELECT',
103             'default' => 'y',
104             'value'  => array('vhost' => 'Site', 'alias' => 'Alias', 'subdomain' => 'Subdomain')
838c87 105         ),
T 106         'parent_domain_id' => array (
b1a6a5 107             'datatype' => 'INTEGER',
MC 108             'formtype' => 'SELECT',
109             'default' => '',
110             'datasource' => array (  'type' => 'SQL',
111                 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
112                 'keyfield'=> 'domain_id',
113                 'valuefield'=> 'parent_domain'
114             ),
3669b3 115             'value'  => '',
MC 116             'searchable' => 2
838c87 117         ),
T 118         'redirect_type' => array (
b1a6a5 119             'datatype' => 'VARCHAR',
MC 120             'formtype' => 'SELECT',
121             'default' => 'y',
122             'value'  => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'R=301,L' => 'R=301,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent', 'proxy' => 'proxy')
838c87 123         ),
T 124         'redirect_path' => array (
b1a6a5 125             'datatype' => 'VARCHAR',
MC 126             'formtype' => 'TEXT',
127             'validators' => array (  0 => array ( 'type' => 'REGEX',
128                     'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(/(?!.*\.\.)[\w/_\.\-]{1,255}/))$@',
129                     'errmsg'=> 'redirect_error_regex'),
130             ),
131             'default' => '',
132             'value'  => '',
133             'width'  => '30',
134             'maxlength' => '255'
838c87 135         ),
T 136         'active' => array (
b1a6a5 137             'datatype' => 'VARCHAR',
MC 138             'formtype' => 'CHECKBOX',
139             'default' => 'y',
140             'value'  => array(0 => 'n', 1 => 'y')
838c87 141         ),
b1a6a5 142         //#################################
MC 143         // ENDE Datatable fields
144         //#################################
838c87 145     )
T 146 );
147
3669b3 148 if($childdomain_type == 'aliasdomain') {
MC 149         // additional fields for alias domains
150         $form["tabs"]['domain']['fields']['subdomain'] = array (
151             'datatype' => 'VARCHAR',
152             'formtype' => 'SELECT',
153             'default' => 'www',
154             'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
155                     'class' => 'validate_domain',
156                     'function' => 'web_domain_autosub',
157                     'errmsg'=> 'domain_error_autosub'),
158             ),
159             'value'  => array('none' => 'none_txt', 'www' => 'www.', '*' => '*.')
160         );
161         $form["tabs"]['domain']['fields']['seo_redirect'] = array (
162             'datatype' => 'VARCHAR',
163             'formtype' => 'SELECT',
164             'default' => '',
165             'value'  => array('' => 'no_redirect_txt', 'non_www_to_www' => 'domain.tld => www.domain.tld', 'www_to_non_www' => 'www.domain.tld => domain.tld', '*_domain_tld_to_domain_tld' => '*.doman.tld => domain.tld', '*_domain_tld_to_www_domain_tld' => '*.domain.tld => www.domain.tld', '*_to_domain_tld' => '* => domain.tld', '*_to_www_domain_tld' => '* => www.domain.tld')
166         );
167
168 }
169
bfcdef 170 if($_SESSION["s"]["user"]["typ"] == 'admin') {
T 171
b1a6a5 172     $form["tabs"]['advanced'] = array (
MC 173         'title'  => "Options",
174         'width'  => 100,
3669b3 175         'template'  => "templates/web_childdomain_advanced.htm",
b1a6a5 176         'readonly' => false,
MC 177         'fields'  => array (
178             //#################################
179             // Begin Datatable fields
180             //#################################
181             'proxy_directives' => array (
182                 'datatype' => 'TEXT',
183                 'formtype' => 'TEXT',
184                 'default' => '',
185                 'value'  => '',
186                 'width'  => '30',
187                 'maxlength' => '255'
188             ),
189             //#################################
190             // ENDE Datatable fields
191             //#################################
192         )
193     );
bfcdef 194
T 195 }
196
838c87 197
9539ce 198 ?>