crabs_todo-2.0 ©2008-2011 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
1 // 2 // ============================================================================= 3 // crabs_todo-2.0 : Gestion simplissime des Todo 4 // Copyright (C) 2008-2011 : Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com) 5 // 6 // Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer 7 // et/ou le modifier en respectant les termes de la GNU General Public License 8 // version 2 ou (suite a votre propre choix) une version ulterieure. 9 // 10 // Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais 11 // sans aucune garantie, meme si il est associe a un produit qui vous en 12 // propose une. Conformez-vous a la GNU General Public License pour avoir 13 // plus de precisions. 14 // 15 // L'auteur ne peut etre tenu responsable de l'utilisation faite des 16 // composantes associees a ce projet (en partie ou dans leur totalite). 17 // 18 // Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC 19 // de ce projet sous le nom gnu_gpl.txt 20 // 21 // ============================================================================= 22 // 23 var user_key = false ; 24 var user_chg = false ; 25 var user_rep = false ; 26 27 function user_init() 28 { 29 user_key = false ; 30 _liste.clic = user_info ; 31 _liste.valid = user_valid ; 32 33 var actions 34 = '<input type="button" value="'+i18n_user_mod+'"' 35 + ' onclick="user_mod();">' 36 + '<input type="button" value="'+i18n_user_del+'"' 37 + ' onclick="user_del();">' 38 + '<input type="button" value="'+i18n_user_chg_pwd+'"' 39 + ' onclick="user_pwd();">' ; 40 $("#actions").html( actions ) ; 41 $("#contenu").html( '' ) ; 42 user_list( '' ) ; 43 return true ; 44 } 45 46 function user_valid() 47 { 48 if ( ! user_chg ) return true ; 49 if ( ! confirm( i18n_user_loose ) ) return false ; 50 user_chg = false ; 51 return true ; 52 } 53 54 function user_list() 55 { 56 _liste.reset() ; 57 $.ajax({ 58 url: "user_list.php", 59 dataType : "text", 60 success : function( data, textStatus, XMLHttpRequest ) 61 { 62 if ( data == "" ) { info( i18n_empty ); return ; } 63 var res = data.split("<#>") ; 64 if ( res[0] != 'OK' ) 65 { 66 $( "#contenu" ).html( '<pre>'+data+'</pre>' ) ; 67 return ; 68 } 69 _liste.item_add( '', i18n_user_new ) ; 70 for( var i=1; i<res.length; i++ ) 71 { 72 var f = res[i].split( '<!>' ) ; 73 // 0: pseudo 1:name 2:is_admin 3:create_todo 74 var ht 75 = '<span class="admin_'+f[2]+' create_'+f[3]+'">' 76 + f[1]+' ('+f[0]+')' 77 + '</span>' ; 78 _liste.item_add( f[0], ht ) ; 79 } 80 info( i18n_user_ldone ) ; 81 if ( user_key ) _liste.draw(user_key) ; else _liste.draw() ; 82 } 83 }) ; 84 } 85 86 function user_info( cle ) 87 { 88 user_key = cle ; 89 $.ajax( { 90 url: "user_info.php?p="+cle, 91 dataType : "text", 92 success: user_info_rep 93 } ) ; 94 } 95 96 function user_info_rep( data, textStatus, XMLHttpRequest ) 97 { 98 if ( data == '' ) { info( i18n_empty ) ; return ; } 99 user_rep = new Array ; 100 var res = data.split("<#>") ; 101 var ht = '<div class="boite">' ; 102 for( var i=0; i<res.length; i++ ) 103 { 104 f = res[i].split("<!>"); 105 var t = 'text' ; if ( f[2] == 'Y/N' ) t = 'checkbox' ; 106 ht += '<div class="ligne">' 107 + '<span class="label">'+f[1]+' :</span>' 108 + '<input id="ui_'+f[0]+'" type="'+t+'" ' 109 + ' onchange="user_chg=true;">' 110 + '</div>' ; 111 user_rep[ f[0] ] = { t: f[2], v:f[3] } ; 112 } 113 ht += '</div>' 114 + '<div class="boite">' 115 + '<div class="ligne">' 116 + '<span class="label">'+i18n_user_pwd+' :</span>' 117 + '<input id="ui_passwd" type="text" value="">' 118 + '</div>' ; 119 + '</div>' ; 120 $('#contenu').html(ht) ; 121 for( var k in user_rep ) 122 { 123 var t = user_rep[ k ].t ; 124 var v = user_rep[ k ].v ; 125 if ( t == 'Y/N' ) 126 { 127 if ( v == 'Y' ) $('#ui_'+k).attr( 'checked', 'checked' ) ; 128 } 129 else 130 $('#ui_'+k).val( v ) ; 131 } 132 } 133 134 function user_mod() 135 { 136 var change = '{ op:"'+user_key+'"' ; 137 for( var k in user_rep ) 138 { 139 var v ; 140 if ( user_rep[ k ].t != 'Y/N' ) 141 v = $('#ui_'+k).val() ; 142 else 143 v = ( $('#ui_'+k).is(':checked') ) ? 'Y' : 'N' ; 144 change += ', '+k+':"'+v+'"' ; 145 } 146 change += '}' ; 147 var data = eval('(' + change + ')') ; 148 $.ajax( { 149 url: 'user_mod.php', 150 type: "POST", 151 dataType : "text", 152 data: data, 153 success : function( data, textStatus, XMLHttpRequest ) 154 { 155 if ( data == '' ) { info( i18n_empty ) ; return ; } 156 if ( data.substring(0,2) == 'OK' ) 157 { 158 user_chg = false ; 159 return ; 160 } 161 if ( data.substring(0,2) == 'LS' ) 162 { 163 user_chg = false ; 164 user_list( data.substring(2) ) ; 165 } 166 else 167 alert( data ) ; 168 } 169 } ) ; 170 } 171 172 function user_pwd() 173 { 174 $.ajax( { 175 url: 'user_pwd.php', 176 type: "POST", 177 dataType : "text", 178 data: { pseudo: user_key, pwd: $('#ui_passwd').val() }, 179 success : function( data, textStatus, XMLHttpRequest ) 180 { 181 if ( data == '' ) { info( i18n_empty ) ; return ; } 182 $('#ui_passwd').val( '' ) ; 183 if ( data.substring(0,2) == 'OK' ) 184 return ; 185 alert( data ) ; 186 } 187 } ) ; 188 } 189 190 function user_del() 191 { 192 $.ajax({ 193 url: "user_del.php", 194 data: { u: user_key }, 195 dataType : "text", 196 success : function( data, textStatus, XMLHttpRequest ) 197 { 198 if ( data == '' ) { info( i18n_empty ) ; return ; } 199 if ( data == 'OK' ) 200 { 201 user_key = false ; 202 user_list() ; 203 } 204 else 205 alert( data ) ; 206 } 207 }) ; 208 } 209
Date de génération : 22/09/2011 21:49