source: extensions/event_cats/event_cats/admin/evntcats_admin.js @ 3956

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

[event cats] First commit, with files this time

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