Possible further fix for #128
[mailer.git] / inc / modules / admin / what-admins_add.php
index bb740c380eefb0837e2ce6f4e05cd90b0588cade..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 ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
        require($INC);
-}
-// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+} // END - if
 
-global $CACHE;
+// Add description as navigation point
+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 ($CACHE->cache_file("admins", true)) $CACHE->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
+
 //
 ?>