source: extensions/event_cats/admin/template/autolog_new.js @ 4026

Last change on this file since 4026 was 4026, checked in by LucMorizur, 15 years ago

[Event Cats] Continue $_POST analysis

File size: 11.3 KB
Line 
1/* Event Cats Javascript functions LucMorizur June - ... 2009 */
2
3var ec_avoid_infinite_loop      = true;
4var ec_err                      = '';
5var ec_selected_action          = '';
6var ec_selected_img             = '';
7var ec_new_code_text            = '';
8var ec_new_user_text            = '';
9var ec_new_psd_text             = '';
10var ec_old_new_psd_text         = '';
11var ec_test_reg                 = '';
12var ec_prop_code                = '';
13var ec_prop_user                = '';
14var ec_prop_act1                = '';
15var ec_selected_old_user        = '-1';
16var ec_selected_AP              = '-1';
17var ec_selected_cat             = '-1';
18var ec_selected_user            = 'ec_sel_user_old';
19var ec_JS_message               = new Array();
20var ec_auto_code_digits_default =
21 document.getElementById('ec_in_up_auto_code_length_id').value;
22var ec_auto_code_digits_nb      = ec_auto_code_digits_default;
23
24function ec_mark_user(ec_id) {
25  if (
26   !(document.getElementById('ec_sel_user_old').disabled == 'disabled' ||
27   document.getElementById('ec_sel_user_old').disabled == true)
28  ) {
29    ec_selected_user = ec_id;
30    document.getElementById(ec_selected_user).checked = 'checked';
31    switch (ec_selected_user) {
32      /* case 'ec_sel_user_none': // None
33        ec_selected_action =
34         (ec_ap_ok && (ec_selected_action != 'ec_input_action_home')) ?
35         'ec_input_action_add_p' : 'ec_input_action_home';
36        document.getElementById('ec_in_up_usr_txt_id').value = '';
37        document.getElementById('ec_in_up_psd_txt_id').value = '';
38        document.getElementById('ec_in_up_usr_list_id').value = '-1';
39      break; */
40      case 'ec_sel_user_new': // New user
41        document.getElementById('ec_in_up_usr_txt_id').value =
42         ec_new_user_text;
43        document.getElementById('ec_in_up_psd_txt_id').value =
44         ec_new_psd_text;
45        document.getElementById('ec_in_up_usr_list_id').value = '-1';
46      break;
47      case 'ec_sel_user_old': // "Old" user
48        document.getElementById('ec_in_up_usr_txt_id').value = '';
49        document.getElementById('ec_in_up_psd_txt_id').value = '';
50        document.getElementById('ec_in_up_usr_list_id').value =
51         ec_selected_old_user;
52      break;
53    }
54    ec_check_pwd_text();
55    if (ec_avoid_infinite_loop) {
56      ec_avoid_infinite_loop = false;
57      ec_mark_action(ec_selected_action);
58      ec_avoid_infinite_loop = true;
59    }
60  }
61}
62
63function ec_mark_action(ec_id) {
64  ec_selected_action = ec_id;
65  if (ec_selected_action != '') {
66    document.getElementById(ec_selected_action).checked = 'checked';
67    switch (ec_selected_action) {
68      case 'ec_input_action_add_p': // Additional Page
69        document.getElementById('ec_in_up_aps_id').value = ec_selected_AP;
70        document.getElementById('ec_in_up_cats_id').value = '-1';
71        document.getElementById('ec_in_up_imgs_id').value = '';
72        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
73      break;
74      case 'ec_input_action_cat': // Category
75        document.getElementById('ec_in_up_aps_id').value = '-1';
76        document.getElementById('ec_in_up_cats_id').value = ec_selected_cat;
77        document.getElementById('ec_in_up_imgs_id').value = '';
78        /* ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
79         'ec_sel_user_old' : ec_selected_user; */
80        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
81      break;
82      case 'ec_input_action_img': // Image
83        document.getElementById('ec_in_up_aps_id').value = '-1';
84        document.getElementById('ec_in_up_cats_id').value = ec_selected_cat;
85        document.getElementById('ec_in_up_imgs_id').value = ec_selected_img;
86        /* ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
87         'ec_sel_user_old' : ec_selected_user; */
88        ec_check_img_text();
89      break;
90      case 'ec_input_action_home': // Home
91        document.getElementById('ec_in_up_aps_id').value = '-1';
92        document.getElementById('ec_in_up_cats_id').value = '-1';
93        document.getElementById('ec_in_up_imgs_id').value = '';
94        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
95      break;
96    }
97    if (ec_avoid_infinite_loop) {
98      ec_avoid_infinite_loop = false;
99      ec_mark_user(ec_selected_user);
100      ec_avoid_infinite_loop = true;
101    }
102  }
103}
104
105function ec_rnd(ec_min, ec_max) {
106  return Math.floor(ec_min + (ec_max - ec_min + 1) * Math.random() );
107}
108
109function ec_gen_txt(ec_length) {
110  var t = '';
111  var ec_reg_A = /[A-Z]+/;
112  var ec_reg_a = /[a-z]+/;
113  var ec_reg_0 = /[0-9]+/;
114  var i = 0;
115  var ec_l = 0;
116  ec_l = parseInt(ec_length);
117  if (ec_l < 3) {
118    ec_err = '< 3';
119    return '';
120  }
121  do {
122    i++;
123    switch (ec_rnd(0, 2)) {
124      case 0: // A - Z
125        t += String.fromCharCode(ec_rnd(65, 90));
126      break;
127      case 1: // a - z
128        t += String.fromCharCode(ec_rnd(97, 122));
129      break;
130      case 2: // 0 - 9
131        t += String.fromCharCode(ec_rnd(48, 57));
132      break;
133    }
134    if (i > 500) {
135      break;
136    }
137    if ((t.length) > (ec_l)) {
138      t = t.substr(1, ec_l);
139    }
140  } while (
141   (t.length < ec_l) ||
142   !( ec_reg_A.test(t) && ec_reg_a.test(t) && ec_reg_0.test(t) )
143  );
144  if (i > 500) {
145    ec_err = '> 500\n' + t;
146    return '';
147  }
148  else {
149    return t;
150  }
151}
152
153function ec_gen_code() {
154  var t = '';
155  t = ec_gen_txt(ec_auto_code_digits_nb);
156  if (t == '') {
157    alert("Failed :\n" + ec_err);
158    ec_new_code_text = 'Failed...';
159  }
160  else {
161    ec_new_code_text = t;
162  }
163  document.getElementById('ec_in_up_code_id').value = ec_new_code_text;
164}
165
166function ec_gen_user() {
167  var t           = '';
168  var ec_word     = '';
169  var ec_cat_sel  = '';
170  var ec_reg_cat2 = /\//;
171  var ec_reg_ap   = /^\S+/;
172  var ec_reg_cat1 = /\/\s(.+)$/;
173  if (
174   ec_selected_action == '' ||
175   (ec_selected_action == 'ec_input_action_cat' && ec_selected_cat == '-1') ||
176   (ec_selected_action == 'ec_input_action_img' &&
177    (ec_selected_img == '' || ec_selected_cat == '-1')) ||
178   (ec_selected_action == 'ec_input_action_add_p' && ec_selected_AP == '-1')
179  ) {
180    alert(ec_JS_message['ec_gen_user_act_miss']);
181    return false;
182  }
183  else {
184    t = ec_gen_txt('8');
185    if (t == '') {
186      alert("Failed :\n" + ec_err);
187      ec_new_psd_text = 'Failed...';
188      return false;
189    }
190    else {
191      ec_new_psd_text = t;
192      ec_old_new_psd_text = ec_new_psd_text;
193    }
194    switch (ec_selected_action) {
195      case 'ec_input_action_add_p': // Additional Page
196        ec_new_user_text = ec_reg_ap.exec(
197         document.ec_new_code.ec_in_up_aps.options[
198          document.ec_new_code.ec_in_up_aps.selectedIndex
199         ].label
200        );
201      break;
202      case 'ec_input_action_cat': // Category
203      case 'ec_input_action_img': // Image
204        ec_cat_sel = document.ec_new_code.ec_in_up_cat.options[
205          document.ec_new_code.ec_in_up_cat.selectedIndex
206         ].label;
207        ec_new_user_text = (ec_reg_cat2.test(ec_cat_sel)) ?
208         ec_reg_cat1.exec(ec_cat_sel)[1] : ec_cat_sel;
209      if (ec_selected_action == 'ec_input_action_img') {
210        ec_new_user_text +=  '_' + document.ec_new_code.ec_in_up_imgs_id.value;
211      }
212      break;
213      case 'ec_input_action_home': // Home
214        t = ec_gen_txt('3');
215        if (t == '') {
216          alert("Failed :\n" + ec_err);
217          ec_new_psd_text = 'Failed...';
218          return false;
219        }
220        ec_new_user_text = ec_JS_message['ec_up_code_lbl_home'] + '_' + t;
221      break;
222    }
223    ec_mark_user('ec_sel_user_new');
224    return true;
225  }
226}
227
228function ec_gen_full_auto() {
229  if (ec_gen_user()) ec_gen_code();
230}
231
232function ec_check_img_text() {
233  if (isNaN(document.getElementById('ec_in_up_imgs_id').value)) {
234    alert(ec_JS_message['ec_act_img_miss']);
235    ec_selected_img = '';
236    document.getElementById('ec_in_up_imgs_id').value = '';
237  }
238  else {
239    document.getElementById('ec_in_up_imgs_warn').innerHTML = (
240     document.getElementById('ec_in_up_imgs_id').value != '' &&
241     document.getElementById('ec_in_up_cats_id').value == '-1'
242    ) ? ec_JS_message['ec_act_cat_miss'] : '';
243  }
244}
245
246function ec_check_pwd_text() {
247  document.getElementById('ec_in_up_pwd_warn').innerHTML = (
248   document.getElementById('ec_in_up_psd_txt_id').value == ec_old_new_psd_text
249   && ec_old_new_psd_text != ''
250   && ec_selected_user == 'ec_sel_user_new'
251  ) ? ec_JS_message['ec_new_pwd_gen'] : '';
252}
253
254function ec_check_submit() {
255  if (document.getElementById('ec_in_up_code_id').value == '') {
256    alert(ec_JS_message['ec_submit_code_miss']);
257    return false;
258  }
259  if ((
260    document.getElementById('ec_sel_user_new').checked != '' &&
261    document.getElementById('ec_in_up_usr_txt_id').value == ''
262    ) || (
263    document.getElementById('ec_sel_user_old').checked != '' &&
264    document.ec_new_code.ec_in_up_usr_list.value == '-1'
265    ) || (
266    document.getElementById('ec_sel_user_new').checked == '' &&
267    document.getElementById('ec_sel_user_old').checked == ''
268    )
269  ) {
270    alert(ec_JS_message['ec_submit_user_miss']);
271    return false;
272  }
273  if (
274    document.ec_new_code.ec_in_up_aps.selectedIndex < 1 &&
275    document.ec_new_code.ec_in_up_cat.selectedIndex < 1 && (
276      document.getElementById('ec_in_up_imgs_id').value == '' || (
277        document.getElementById('ec_in_up_imgs_id').value != '' &&
278        isNaN(document.getElementById('ec_in_up_imgs_id').value) &&
279        document.ec_new_code.ec_in_up_cat.selectedIndex < 1
280      )
281    ) &&
282    document.getElementById('ec_input_action_home').checked == ''
283  ) {
284    alert(ec_JS_message['ec_submit_action_miss']);
285    return false;
286  }
287}
288
289function ec_test() {
290  alert('OK.');
291}
292
293function ec_init() {
294  var t = (ec_prop_code == '') ? '' : 'disabled';
295  ec_err = '';
296  ec_selected_user = 'ec_sel_user_old';
297  ec_selected_old_user = '-1';
298  ec_selected_AP = '-1';
299  ec_selected_cat = '-1';
300  ec_selected_action = '';
301  ec_selected_img = '';
302  ec_new_code_text = '';
303  ec_new_user_text = '';
304  ec_new_psd_text = '';
305  ec_old_new_psd_text = '';
306  ec_test_reg = '';
307  document.getElementById('ec_act1_id').value = ec_prop_act1;
308  document.getElementById('ec_in_up_pwd_warn').innerHTML = '';
309  document.getElementById('ec_sel_user_old').checked = 'checked';
310  document.getElementById('ec_sel_user_old').checked =
311   (ec_prop_user == '-1') ? '' : 'checked';
312  document.getElementById('ec_input_action_home').checked = 'checked';
313  document.getElementById('ec_input_action_home').checked = '';
314  document.getElementById('ec_in_up_usr_txt_id').value = '';
315  document.getElementById('ec_in_up_psd_txt_id').value = '';
316  document.getElementById('ec_in_up_usr_list_id').value = ec_prop_user;
317  document.getElementById('ec_in_up_code_id').value = ec_prop_code;
318  document.getElementById('ec_in_up_aps_id').value = '-1';
319  document.getElementById('ec_in_up_cats_id').value = '-1';
320  document.getElementById('ec_in_up_imgs_id').value = '';
321  document.getElementById('ec_submit_gen_full_auto_id').disabled = t;
322  document.getElementById('ec_in_up_code_id').disabled = t;
323  document.getElementById('ec_submit_gen_code_id').disabled = t;
324  document.getElementById('ec_in_up_auto_code_length_id').disabled = t;
325  document.getElementById('ec_sel_user_new').disabled = t;
326  document.getElementById('ec_submit_gen_user_id').disabled = t;
327  document.getElementById('ec_in_up_usr_txt_id').disabled = t;
328  document.getElementById('ec_in_up_psd_txt_id').disabled = t;
329  document.getElementById('ec_sel_user_old').disabled = t;
330  document.getElementById('ec_in_up_usr_list_id').disabled = t;
331  ec_prop_code = '';
332  ec_prop_user = '-1';
333  ec_prop_act1 = 'create';
334}
Note: See TracBrowser for help on using the repository browser.