Gestion simplissime des Todo

crabs_todo-2.0 ©2008-2011 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)

~~ / ADMIN / user.js
Makefile admin.css admin.js index.php var.js var_get.php var_set.php user.js user_list.php user_info.php user_mod.php user_pwd.php user_del.php base.js base_create.php base_upgrade.php base_function.php backup.js backup_list.php backup_do.php backup_restor.php backup_download.php backup_delete.php sql.js sql.php empty.txt
    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 
Makefile admin.css admin.js index.php var.js var_get.php var_set.php user.js user_list.php user_info.php user_mod.php user_pwd.php user_del.php base.js base_create.php base_upgrade.php base_function.php backup.js backup_list.php backup_do.php backup_restor.php backup_download.php backup_delete.php sql.js sql.php empty.txt
~~ / ADMIN / user.js

Haut de page

Contacter crabs

Date de génération : 22/09/2011 21:49