Possible further fix for #128
[mailer.git] / inc / modules / admin / what-admins_add.php
index 27956bc37fab19c2a7c8287bb31b4427daddd995..7dc2947f5358707cb5f47d97c2da9b20c09f8804 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Neues Administrator-Account anlegen              *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
 
 // Some security stuff...
 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
        require($INC);
-}
+} // END - if
 
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
-
-global $cacheInstance;
+ADD_DESCR('admin', __FILE__);
 
 // Display form is default
 $FORM = true;
 
-if ((isset($_POST['add'])) && (!empty($_POST['login'])) && (!empty($_POST['email'])) && (!empty($_POST['pass1'])) && (!empty($_POST['pass2'])) && ($_POST['pass1'] == $_POST['pass2']))
-{
+if ((REQUEST_ISSET_POST('add')) && (REQUEST_ISSET_POST('login')) && (REQUEST_ISSET_POST('email')) && (REQUEST_ISSET_POST('pass1')) && (REQUEST_ISSET_POST('pass2')) && (REQUEST_POST('pass1') == REQUEST_POST('pass2'))) {
        // Add admin when not added already
-       $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1",
-        array($_POST['login']), __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) == 0)
-       {
-               // Login does not exist so we can create it.
+       if (REGISTER_ADMIN(REQUEST_POST('login'), generateHash(REQUEST_POST('pass1')), REQUEST_POST('email')) == 'done') {
+               // Do not ouput any form!
                $FORM = false;
-               $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins (login, password, email) VALUES ('%s', '%s', '%s')",
-                array($_POST['login'], generateHash($_POST['pass1']), $_POST['email']), __FILE__, __LINE__);
 
                // Admin login saved
-               LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_ADMINS_ADD_DONE."</FONT>");
+               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_ADMINS_ADD_DONE'));
 
-               // Remove cache file
-               if (EXT_IS_ACTIVE("cache"))
-               {
-                       if ($cacheInstance->cache_file("admins", true)) $cacheInstance->cache_destroy();
-               }
-       }
-        else
-       {
-               // Free memory
-               SQL_FREERESULT($result);
-       }
-}
+               // Run filter chain
+               runFilterChain('post_admin_added', REQUEST_POST_ARRAY());
+       } // END - if
+} // END - if
 
-if ($FORM)
-{
-       // Clear unset variables
-       if (empty($_POST['login'])) $_POST['login'] = "";
-       if (empty($_POST['email'])) $_POST['email'] = "";
+// Shall we display the form?
+if ($FORM === true) {
+       // Prepare content
+       $content = merge_array(
+               array('login' => '', 'email' => ''),
+               REQUEST_POST_ARRAY()
+       );
 
        // Load form from template
-       LOAD_TEMPLATE("admin_admins_add");
-}
+       LOAD_TEMPLATE('admin_admins_add', false, $content);
+} // END - if
+
 //
 ?>