aboutsummaryrefslogtreecommitdiffstats
path: root/admin/user_add.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--admin/user_add.php284
1 files changed, 55 insertions, 229 deletions
diff --git a/admin/user_add.php b/admin/user_add.php
index cf67dcaa3..ef50c13f1 100644
--- a/admin/user_add.php
+++ b/admin/user_add.php
@@ -1,9 +1,9 @@
<?php
/***************************************************************************
- * ajout.php is a part of PhpWebGallery *
+ * user_add.php *
* ------------------- *
- * last update : Tuesday, July 16, 2002 *
- * email : pierrick@z0rglub.com *
+ * application : PhpWebGallery 1.3 *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
* *
***************************************************************************/
@@ -14,242 +14,68 @@
* the Free Software Foundation; *
* *
***************************************************************************/
-
include_once( './include/isadmin.inc.php' );
-
+//----------------------------------------------------- template initialization
+$sub = $vtp->Open( '../template/'.$user['template'].'/admin/user_add.vtp' );
+$tpl = array( 'adduser_info_message', 'adduser_info_back',
+ 'adduser_fill_form', 'login', 'password', 'mail_address',
+ 'adduser_status', 'submit' );
+templatize_array( $tpl, 'lang', $sub );
+//--------------------------------------------------------- form criteria check
$error = array();
-$absent = false;
-
-$query = 'select';
-$query.= ' pseudo,status,mail_address';
-$query.= ' from '.$prefixeTable.'users';
-$query.= ' where id = '.$_GET['user_id'];
-$query.= ';';
-$row = mysql_fetch_array( mysql_query( $query ) );
-
-$pseudo = $row['pseudo'];
-$status = $row['status'];
-$mail_address = $row['mail_address'];
-
-if ( $pseudo == 'visiteur' ||
- ( $pseudo == $conf['webmaster']
- && $user['pseudo'] != $conf['webmaster'] ) )
+if ( isset( $_POST['submit'] ) )
{
- echo "<div class=\"erreur\">".$lang['user_err_modify']."</div>";
- $absent = true;
+ $error = register_user(
+ $_POST['username'], $_POST['password'], $_POST['password'],
+ $_POST['mail_address'], $_POST['status'] );
}
-if ( $_GET['mode'] == 'modif' )
+//-------------------------------------------------------------- errors display
+if ( sizeof( $error ) != 0 )
{
- if ( $pseudo == '' )
+ $vtp->addSession( $sub, 'errors' );
+ for ( $i = 0; $i < sizeof( $error ); $i++ )
{
- echo"<div class=\"info\">".$lang['user_err_unknown']."</div>";
- $absent = true;
+ $vtp->addSession( $sub, 'li' );
+ $vtp->setVar( $sub, 'li.li', $error[$i] );
+ $vtp->closeSession( $sub, 'li' );
}
+ $vtp->closeSession( $sub, 'errors' );
}
-if ( !$absent )
+//---------------------------------------------------------------- confirmation
+if ( sizeof( $error ) == 0 and isset( $_POST['submit'] ) )
{
- if ( $_GET['valider'] == 1 )
- {
- if ( $_GET['mode'] != 'modif' )
- {
- $error = register_user( $_POST['pseudo'], $_POST['password'],
- $_POST['password'], $_POST['mail_address'],
- $_POST['status'] );
- }
- else
- {
- $use_new_password = false;
- if ( $_POST['use_new_pwd'] == 1)
- {
- $use_new_password = true;
- }
- $error = update_user( $_GET['user_id'], $_POST['mail_address'],
- $_POST['status'], $use_new_password,
- $_POST['password'] );
- }
- }
- if ( sizeof( $error ) > 0 )
- {
- echo "<div class=\"erreur\">".$lang['adduser_err_message'].sizeof( $error )." :";
- echo "<ul>";
- for ( $i = 0; $i < sizeof( $error ); $i++ )
- {
- echo "<li>".$error[$i]."</li>";
- }
- echo "</ul>";
- echo "</div>";
- }
- if ( sizeof( $error ) == 0 && $_GET['valider'] == 1 )
- {
- echo"<div class=\"info\">".$lang['adduser_info_message']."\"$pseudo\" ";
- if ( $_POST['use_new_pwd'] == 1 )
- {
- echo $lang['adduser_info_password_updated']." ";
- }
- echo"[ <a href=\"".add_session_id_to_url( "./admin.php?page=liste_users" )."\">".$lang['adduser_info_back']."</a> ]</div>";
- }
- if ( $_GET['valider'] != 1 || $_GET['mode'] != "modif" || sizeof( $error ) > 0 )
+ $vtp->addSession( $sub, 'confirmation' );
+ $vtp->setVar( $sub, 'confirmation.username', $_POST['username'] );
+ $url = add_session_id( './admin.php?page=user_list' );
+ $vtp->setVar( $sub, 'confirmation.url', $url );
+ $vtp->closeSession( $sub, 'confirmation' );
+ // reset all values
+ unset( $_POST );
+}
+//------------------------------------------------------------------------ form
+$action = add_session_id( './admin.php?page=user_add' );
+$vtp->setVar( $sub, 'form_action', $action );
+$vtp->setVar( $sub, 'user:username', $_POST['username'] );
+$vtp->setVar( $sub, 'user:password', $_POST['password'] );
+$vtp->setVar( $sub, 'user:mail_address', $_POST['mail_address'] );
+
+if ( !isset( $_POST['status'] ) )
+{
+ $_POST['status'] = 'guest';
+}
+$option = get_enums( $prefixeTable.'users', 'status' );
+for ( $i = 0; $i < sizeof( $option ); $i++ )
+{
+ $vtp->addSession( $sub, 'status_option' );
+ $vtp->setVar( $sub, 'status_option.value', $option[$i] );
+ $vtp->setVar( $sub, 'status_option.option',
+ $lang['adduser_status_'.$option[$i]] );
+ if( $option[$i] == $_POST['status'] )
{
- if ( $_GET['mode'] != "modif" && sizeof( $error ) == 0 )
- {
- unset( $pseudo, $password, $status, $mail_address );
- }
- if ( !isset( $_POST['use_new_pwd'] ) || $_POST['use_new_pwd'] != 1 )
- {
- unset( $password );
- }
- $action = "./admin.php?page=ajout&amp;valider=1";
- if ( $_GET['mode'] == "modif" )
- {
- $action.= "&amp;mode=modif&amp;user_id=".$_GET['user_id'];
- }
- echo"<form method=\"post\" action=\"".add_session_id_to_url( $action )."\">
- <table style=\"width:100%;\">
- <tr align=\"center\" valign=\"middle\">
- <td>
- <table style=\"margin-left:auto;margin-right:auto;\">
- <tr>
- <th colspan=\"2\">".$lang['adduser_fill_form']."</th>
- </tr>
- <tr>
- <td colspan=\"2\"><div style=\"margin-bottom:0px;\">&nbsp;</div></td>
- </tr>
- <tr>
- <td>".$lang['adduser_login']."</td>
- <td>";
- if ( $_GET['mode'] == "modif" )
- {
- echo"<span style=\"color:red;\">$pseudo [".$lang['adduser_unmodify']."]</span>";
- echo"<input type=\"hidden\" name=\"pseudo\" value=\"$pseudo\"/>";
- }
- else
- {
- echo"<input type=\"text\" name=\"pseudo\" value=\"$pseudo\"/>";
- }
- echo"
- </td>
- </tr>";
- echo"
- <tr>
- <td>";
- if ( $_GET['mode'] == "modif" )
- {
- echo $lang['new']." ".$lang['password']."<input type=\"checkbox\" name=\"use_new_pwd\" value=\"1\"";
- if ( isset( $_POST['use_new_pwd'] ) && $_POST['use_new_pwd'] == 1 )
- {
- echo " checked=\"checked\"";
- }
- echo " />";
- }
- else
- {
- echo $lang['password'];
- }
- echo"</td>
- <td>";
- echo"<input type=\"text\" name=\"password\" value=\"$password\"/></td>
- </tr>";
- echo"
- <tr>
- <td>".$lang['reg_mail_address']."</td>";
- echo "
- <td><input type=\"text\" name=\"mail_address\" value=\"$mail_address\"/></td>
- </tr>";
- echo"
- <tr>
- <td>".$lang['adduser_status']."</td>
- <td>";
- if ( $pseudo == $conf['webmaster'] )
- {
- echo "<span style=\"color:red;\">$status [".$lang['adduser_unmodify']."]</span>
- <input type=\"hidden\" name=\"status\" value=\"$status\"/>";
- }
- else
- {
- echo"
- <select name=\"status\">";
- // on récupère toutes les status possibles dans la base
- // par l'intermédiaire de la fonction get_enums
- $option = get_enums( $prefixeTable."users", "status" );
- for ( $i = 0; $i < sizeof( $option ); $i++ )
- {
- if ( isset( $status ) )
- {
- echo"
- <option value=\"$option[$i]\"";
- if ( $option[$i] == $status )
- {
- echo" selected=\"selected\"";
- }
- echo">";
- switch ( $option[$i] )
- {
- case "admin" :
- {
- echo $lang['adduser_status_admin'];
- break;
- }
- case "membre" :
- {
- echo $lang['adduser_status_member'];
- break;
- }
- case "visiteur" :
- {
- echo $lang['adduser_status_guest'];
- break;
- }
- }
- echo"</option>";
- }
- else
- {
- echo"
- <option value=\"$option[$i]\"";
- if ( $option[$i] == "visiteur" )
- {
- echo" selected=\"selected\"";
- }
- echo">";
- switch ( $option[$i] )
- {
- case "admin" :
- {
- echo $lang['adduser_status_admin'];
- break;
- }
- case "membre" :
- {
- echo $lang['adduser_status_member'];
- break;
- }
- case "visiteur" :
- {
- echo $lang['adduser_status_guest'];
- break;
- }
- }
- echo"</option>";
- }
- }
- echo"
- </select>";
- }
- echo"
- </td>
- </tr>
- <tr>
- <td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"".$lang['submit']."\"/></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </form>";
- if ( $_GET['mode'] == "modif" )
- {
- echo "<div style=\"text-align:center;margin-bottom:10px;\">[ <a href=\"".add_session_id_to_url( "./admin.php?page=liste_users" )."\">".$lang['adduser_info_back']."</a> ]</div>";
- }
+ $vtp->setVar( $sub, 'status_option.selected', ' selected="selected"' );
}
+ $vtp->closeSession( $sub, 'status_option' );
}
+//----------------------------------------------------------- sending html code
+$vtp->Parse( $handle , 'sub', $sub );
?> \ No newline at end of file