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

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

[Event Cats] Continue $_POST analysis (slowly)

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