More fixes from bugtracker issues, thanks to profi-concept
authorRoland Häder <roland@mxchange.org>
Sat, 7 Feb 2009 03:35:45 +0000 (03:35 +0000)
committerRoland Häder <roland@mxchange.org>
Sat, 7 Feb 2009 03:35:45 +0000 (03:35 +0000)
36 files changed:
.gitattributes
DOCS/de/TODO.txt
inc/databases.php
inc/db/lib.php
inc/extensions/ext-iso3166.php
inc/extensions/ext-logs.php [new file with mode: 0644]
inc/extensions/ext-other.php
inc/extensions/ext-sql_patches.php
inc/extensions/ext-user.php
inc/extensions/ext-wernis.php
inc/functions.php
inc/install-inc.php
inc/language/bank_de.php
inc/language/en.ph
inc/language/logs_de.php [new file with mode: 0644]
inc/libs/admins_functions.php
inc/modules/admin/admin-inc.php
inc/modules/admin/what-admins_add.php
inc/modules/admin/what-config_cats.php
inc/modules/admin/what-config_email.php
inc/modules/admin/what-config_payouts.php
inc/modules/admin/what-config_points.php
inc/modules/admin/what-edit_emails.php
inc/modules/admin/what-guest_add.php
inc/modules/admin/what-list_country.php
inc/modules/admin/what-logs.php
inc/modules/admin/what-refbanner.php
inc/modules/admin/what-repair_amenu.php
inc/modules/admin/what-repair_cats.php
inc/modules/admin/what-repair_gmenu.php
inc/modules/admin/what-repair_mmenu.php
inc/modules/admin/what-usage.php
inc/mysql-connect.php
inc/stylesheet.php
install/menu-de.sql
install/menu-en.sql

index 67b6872..a6a1087 100644 (file)
@@ -121,6 +121,7 @@ inc/extensions/ext-events.php -text
 inc/extensions/ext-holiday.php -text
 inc/extensions/ext-html_mail.php -text
 inc/extensions/ext-iso3166.php -text
+inc/extensions/ext-logs.php -text
 inc/extensions/ext-mailid.php -text
 inc/extensions/ext-maintenance.php -text
 inc/extensions/ext-mediadata.php -text
@@ -186,6 +187,7 @@ inc/language/en.php -text
 inc/language/holiday_de.php -text
 inc/language/html_mail_de.php -text
 inc/language/install_de.php -text
+inc/language/logs_de.php -text
 inc/language/mailid_de.php -text
 inc/language/maintenance_de.php -text
 inc/language/mediadata_de.php -text
index b9732b3..f107a99 100644 (file)
@@ -2,12 +2,17 @@
 = TODO-Liste =
 ==============
 
-[16.12.2008 14:40 Uhr]:
+[07.02.2009 02:55 Uhr]:
+
+--- IMMER OFFEN: ---
+- Alle @TODO abarbeiten
+- Alle @DEPRECATED entfernen, wo es geht und evtl. Ersatzcode finden
 
 --- OFFEN: ---
+- Den gesamten HTML-Code auf XHTML portieren und mit http://validator.w3.org validieren
 - Alle JavaScripte aus den HTML-Templates umlagern und per js.php?tag=xxx
   aufrufen
-- Die Datenbankspalten ext_has_css nach ext_css und id nach ext_id umbenennen
+- Die Datenbankspalten ext_has_css nach ext_css und id nach ext_id umbenennen (Tabelle extensions)
 - Dokumentation erweitern
 - Englische Uebersetzung komplettieren
 - Mehr Datenbank-Schichten hinzufuegen, wie fuer ODBC/M$SQL/Oracle
index 1059552..925c495 100644 (file)
@@ -115,7 +115,7 @@ define('USAGE_BASE', "usage");
 define('SERVER_URL', "http://www.mxchange.org");
 
 // Current SVN revision
-define('CURR_SVN_REVISION', "710");
+define('CURR_SVN_REVISION', "711");
 
 // Take a prime number which is long (if you know a longer one please try it out!)
 define('_PRIME', 591623);
index 4384bfe..083e5f2 100644 (file)
@@ -41,18 +41,18 @@ if (!defined('__SECURITY')) {
 if (_DB_TYPE == "_DB_TYPE") define('_DB_TYPE', "mysql3");
 
 // Create include file name
-$INC = sprintf("%sinc/db/lib-%s.php", PATH, _DB_TYPE);
+$FQFN = sprintf("%sinc/db/lib-%s.php", PATH, _DB_TYPE);
 
-if ((file_exists($INC)) && (is_readable($INC))) {
+if (FILE_READABLE($FQFN)) {
        // Include abstraction layer
-       require_once($INC);
+       require_once($FQFN);
 } else {
        // Bye, bye...
-       die("Cannot load database abstraction layer! R.I.P.");
+       die("Cannot load database abstraction layer "._DB_TYPE." -&gt; R.I.P.");
 }
 
 // Remove this globally used variable
-unset($INC);
+unset($FQFN);
 
 //
 ?>
index 4c2cd17..64066bd 100644 (file)
@@ -64,7 +64,7 @@ case "activate": // Do stuff when admin activates this extension
 
 case "deactivate": // Do stuff when admin deactivates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_countries` SET is_active = 'N' WHERE provider = 'ext-iso3166';";
+       $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_countries` SET is_active='N' WHERE provider = 'ext-iso3166';";
        break;
 
 case "update": // Update an extension
diff --git a/inc/extensions/ext-logs.php b/inc/extensions/ext-logs.php
new file mode 100644 (file)
index 0000000..0326ef7
--- /dev/null
@@ -0,0 +1,89 @@
+<?php
+/************************************************************************
+ * MXChange v0.2.1                                    Start: 02/07/2009 *
+ * ================                             Last change: 02/07/2009 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : ext-logs.php                                     *
+ * -------------------------------------------------------------------- *
+ * Short description : Dummy extension for handling access log files    *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Dummy-Erweiterung zum Verwalten der access_logs  *
+ * -------------------------------------------------------------------- *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * For more information visit: http://www.mxchange.org                  *
+ *                                                                      *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+       require($INC);
+}
+
+// Version number
+$EXT_VERSION = "0.0";
+
+// Auto-set extension version
+if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
+
+// Version history array (add more with , "0.1" and so on)
+$EXT_VER_HISTORY = array("0.0");
+
+switch ($EXT_LOAD_MODE)
+{
+case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+       // SQL commands to run
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('stats','logs','Aufruflogb&uuml;cher','Verwalten Sie Ihre Aufruflogb&uuml;cher mit diesem Admin-Bereich! (Derzeit nur Download!)',8)";
+       break;
+
+case "remove": // Do stuff when removing extension
+       // SQL commands to run
+       $SQLs[] = "DELETE LOW_PRIOIRTY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE what='logs' LIMIT 1";
+       break;
+
+case "activate": // Do stuff when admin activates this extension
+       // SQL commands to run
+       break;
+
+case "deactivate": // Do stuff when admin deactivates this extension
+       // SQL commands to run
+       break;
+
+case "update": // Update an extension
+       switch ($EXT_VER)
+       {
+       case "0.0.1": // SQL queries for v0.0.1
+               $SQLs[] = "";
+
+               // Update notes (these will be set as task text!)
+               $UPDATE_NOTES = "";
+               break;
+       }
+       break;
+
+case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       break;
+
+default: // Do stuff when extension is loaded
+       break;
+}
+
+//
+?>
index 719e9a7..52a1974 100644 (file)
@@ -50,12 +50,12 @@ switch ($EXT_LOAD_MODE)
 {
 case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
        // SQL commands to run
-       $SQLs[] = "";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_other','Sonstige Einstellungen','Sonstige Einstellungen an Ihrem Mailtausch.','13')";
        break;
 
 case "remove": // Do stuff when removing extension
        // SQL commands to run
-       $SQLs[] = "";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE what='config_other' LIMIT 1";
        break;
 
 case "activate": // Do stuff when admin activates this extension
index 1d10934..cb4003c 100644 (file)
@@ -746,7 +746,7 @@ default: // Do stuff when extension is loaded
                        $hashFile = sprintf("%sinc/.secret/.%s", PATH, getConfig('file_hash'));
                        if (FILE_READABLE($hashFile)) {
                                // Read file
-                               $_CONFIG['secret_key'] = implode("", file($hashFile));
+                               $_CONFIG['secret_key'] = READ_FILE($hashFile);
                        } else {
                                // Remove it from database
                                UPDATE_CONFIG("file_hash", "");
index 3ba1a8a..fee1d8d 100644 (file)
@@ -47,7 +47,16 @@ switch ($EXT_LOAD_MODE)
 {
 case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
        // SQL commands to run
-       $SQLs[] = "";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user',NULL,'Mitglieder-Management','Mitglieder freischalten, sperren, Accounts editieren, Neuanmeldungen verwalten, {!POINTS!} gutschreiben und abziehen und und und...',3)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','del_user','Mitglied l&ouml;schen','L&ouml;schen Sie hier Mitglied, die gegen die AGBs mehrmals verstossen haben. Bitte seien Sie nett zu Ihren Mitgliedern und l&ouml;schen Sie nicht gleich.',1)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','chk_regs','Anmeldungen pr&uuml;fen','Pr&uuml;fen Sie hier neue Anmeldungen zu Ihrem System. Hier k&ouml;nnen Sie im Falle einer Fehler-Mail den Mitglied gleich wieder l&ouml;schen!',2)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','lock_user','Mitglied sperren / entsperren','Sperren Sie Mitglied, die zu viele unbest&auml;tigte Mails haben oder gegen Ihre AGBs verstossen haben &uuml;ber diesen Men&uuml;punkt.',3)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_user','Mitglied auflisten','Listen Sie alle Mitglied oder eingeschr&auml;nkt nach Suchkritieren Ihre Userdatenbank auf. Sie k&ouml;nen per Klick auf die Usernummer sich Details zum Mitglied ansehen.',4)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','add_points','{!POINTS!} gutschreiben','Buchen Sie einem Mitglied direkt {!POINTS!} auf. Sie k&ouml;nnen dazu auch einen Kommentar mitsenden.',5)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','edit_user','Account editieren','Daten eines Mitglieder-Accountes &auml;ndern.',6)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_refs','Referals anzeigen','Mit diesem Men&uuml;punkt k&ouml;nnen Sie die generierten Referals eines Mitgliedes auflisten.',7)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_links','Unbest&auml;tigte Mails','Mit diesem Men&uuml;punkt k&ouml;nnen Sie die vom Mitglied nicht best&auml;tigten Mails anzeigen.',8)";
+       $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_cats','Kategorien anzeigen','Listet die ausgew&auml;hlten Kategorien eines Mitgliedes auf.',9)";
 
        // Load CSS-File?
        $EXT_CSS = "Y";
index 3d8855f..3bc9f01 100644 (file)
@@ -38,13 +38,13 @@ if (!defined('__SECURITY')) {
 }
 
 // Version of this extension
-$EXT_VERSION = "0.0.3";
+$EXT_VERSION = "0.0.4";
 
 // Auto-set extension version
 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
 
 // Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3");
+$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4");
 
 switch ($EXT_LOAD_MODE)
 {
@@ -136,6 +136,13 @@ case "update": // Update an extension
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Spaltentyp von VARCHAR(6) auf BIGINT(5) ge&auml;ndert.";
                break;
+
+       case "0.0.4": // SQL queries for v0.0.4
+               $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `wernis_refid` INT(5) UNSIGNED ZEROFILL NOT NULL DEFAULT '00000'";
+
+               // Update notes (these will be set as task text!)
+               $UPDATE_NOTES = "Fehlende Ref-Id hinzugetan.";
+               break;
        }
        break;
 
index fd8b2c5..1133a3b 100644 (file)
@@ -347,7 +347,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
        // Now does the final template exists?
        if (FILE_READABLE($file)) {
                // The local file does exists so we load it. :)
-               $tmpl_file = implode("", file($file));
+               $tmpl_file = READ_FILE($file);
 
                // Replace ' to our own chars to preventing them being quoted
                while (strpos($tmpl_file, "'") !== false) { $tmpl_file = str_replace("'", '{QUOT}', $tmpl_file); }
@@ -881,7 +881,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
        $newContent = "";
        if (FILE_READABLE($file)) {
                // The local file does exists so we load it. :)
-               $tmpl_file = implode("", file($file));
+               $tmpl_file = READ_FILE($file);
                $tmpl_file = addslashes($tmpl_file);
 
                // Run code
@@ -2990,6 +2990,28 @@ function incrementConfigEntry ($configEntry, $value=1) {
        }
 }
 
+// Read a given file
+function READ_FILE ($FQFN, $sqlPrepare = false) {
+       // Load the file
+       if (function_exists('file_get_contents')) {
+               // Use new function
+               $content = file_get_contents($FQFN);
+       } else {
+               // Fall-back to implode-file chain
+               $content = implode("", file($FQFN));
+       }
+
+       // Prepare SQL queries?
+       if ($sqlPreppare === true) {
+               // Remove some unwanted chars
+               $content = str_replace("\r", "", $content);
+               $content = str_replace("\n\n", "\n", $content);
+       } // END - if
+
+       // Return the content
+       return $content;
+}
+
 //////////////////////////////////////////////////
 //                                              //
 // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //
index 5768d48..0ff9df8 100644 (file)
@@ -348,12 +348,8 @@ if ((!isBooleanConstantAndTrue('mxchange_installed')) || (!isBooleanConstantAndT
                                                        // Should be save here because file_exists() is there but we check it again. :)
                                                        $file = secureString($_POST['spath']) . "install/" . $dump;
                                                        if (FILE_READABLE($file)) {
-                                                               // Load the file
-                                                               $sql = implode("", file($file));
-
-                                                               // Remove some unwanted chars
-                                                               $sql = str_replace("\r", "", $sql);
-                                                               $sql = str_replace("\n\n", "\n", $sql);
+                                                               // Read the file
+                                                               $SQLs = READ_FILE($file, true);
 
                                                                // And split it up against ;\n ...
                                                                $SQLs = merge_array($SQLs, explode(";\n", $sql));
index f08218a..4a7d605 100644 (file)
@@ -65,9 +65,6 @@ define('ADMIN_LIST_BANK_PACKAGES_ACCOUNT_FEE', "Grundgeb&uuml;hr");
 define('ADMIN_LIST_BANK_PACKAGES_STATUS', "Erwerbbar?");
 define('ADMIN_LIST_BANK_PACKAGES_ACCOUNT_INTEREST_PLUS', "Zinsen f. Haben");
 define('ADMIN_LIST_BANK_PACKAGES_ACCOUNT_INTEREST_MINUS', "Zinsen f. Soll");
-define('ADMIN_STATUS_CHANGED_1', "Es wurden <U>");
-define('ADMIN_STATUS_CHANGED_2', "</U> von <U>");
-define('ADMIN_STATUS_CHANGED_3', "</U> Eintr&auml;gen ge&auml;ndert.");
 define('ADMIN_DELETE_BANK_PACKAGES', "Angebotspakete entg&uuml;ltig entfernen");
 define('ADMIN_DELETE_BANK_PACKAGES_NOTES', "<STRONG>Hinweis:</STRONG> Wenn Sie die aufgelisteten Angebotspakete entg&uuml;ltig l&ouml;schen, kann eventuell Ihre Bank nicht korrekt funktionieren, da eventuell einige Mitglieder dieses Paket ausgew&auml;hlt haben. Bitte schauen Sie unter <EM>Konten auflisten</EM> vorher nach!");
 define('ADMIN_EDIT_BANK_PACKAGES', "Angebotspakete &auml;ndern");
index fecebe1..9d5e3a9 100644 (file)
@@ -386,8 +386,6 @@ define('_OTHERS', "Andere");
 define('_ALL2', "Alle");
 define('WE_HAVE', "Wir haben");
 define('MEMBER_TEST_URL', "Zur beworbenen Seite");
-define('ADMIN_LOGS_DIR_404_1', "Das Verzeichnis mit den Zugriffslogb&uuml;chern konnte nicht gefunden werden! (<STRONG>");
-define('ADMIN_LOGS_DIR_404_2', "</STRONG>)");
 define('ADMIN_USAGE_DIR_404_1', "Das Verzeichnis mit den Webalizer-Statistiken konnte nicht gefunden werden! (<STRONG>");
 define('ADMIN_USAGE_DIR_404_2', "</STRONG>)");
 define('ADMIN_ENTER_REDIRECT_URL', "URL eingeben, wenn abgelehnt werden soll");
diff --git a/inc/language/logs_de.php b/inc/language/logs_de.php
new file mode 100644 (file)
index 0000000..72ef8c9
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+/************************************************************************
+ * MXChange v0.2.1                                    Start: 11/26/2008 *
+ * ===============                              Last change: 11/26/2008 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : _de.php                                          *
+ * -------------------------------------------------------------------- *
+ * Short description : German langugage support                         *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Deutsche Sprachunterstuetzung                    *
+ * -------------------------------------------------------------------- *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * For more information visit: http://www.mxchange.org                  *
+ *                                                                      *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+       require($INC);
+}
+
+// Language definitions
+define('ADMIN_LOGS_DIR_404_1', "Das Verzeichnis mit den Zugriffslogb&uuml;chern konnte nicht gefunden werden! (<strong>");
+define('ADMIN_LOGS_DIR_404_2', "</strong>) Vermutlich unterst&uuml;tzt Ihr Server dieses nicht.");
+define('LOGFILE_NOT_READABLE_1', "Das Logbuch <u>");
+define('LOGFILE_NOT_READABLE_2', "</u> konnte nicht geladen werden.");
+define('UNKNOWN_LOGFILE_FORMAT_1', "Das Logbuch <u>");
+define('UNKNOWN_LOGFILE_FORMAT_2', "</u> hat ein ung&uuml;ltiges oder nicht unterst&uuml;tztes Format.");
+
+//
+?>
index 251e2a4..dd8d327 100644 (file)
@@ -248,7 +248,7 @@ WHERE id=%s LIMIT 1",
 
                // Display message
                if (!empty($MSG)) {
-                       LOAD_TEMPLATE("admin_settings_saved", false, "<SPAN class=\"admin_done\">".$MSG."</SPAN>");
+                       LOAD_TEMPLATE("admin_settings_saved", false, $MSG);
                }
        }
 
index 5965d8f..31de75a 100644 (file)
@@ -37,24 +37,27 @@ if (!defined('__SECURITY')) {
        require($INC);
 }
 
-//
-function REGISTER_ADMIN ($user, $md5, $email=WEBMASTER)
-{
-       $ret = "failed";
+// Register an administrator account
+function REGISTER_ADMIN ($user, $md5, $email=WEBMASTER) {
+       // Login does already exist
+       $ret = "already";
+
+       // Lookup the user
        $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1",
-        array($user), __FILE__, __LINE__);
+               array($user), __FILE__, __LINE__);
+
+       // Is the entry there?
        if (SQL_NUMROWS($result) == 0) {
                // Ok, let's create the admin login
                SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins (login, password, email) VALUES ('%s', '%s', '%s')",
                        array($user, $md5, $email), __FILE__, __LINE__);
                $ret = "done";
-       } else {
-               // Free memory
-               SQL_FREERESULT($result);
+       } // END - if
 
-               // Login does already exist
-               $ret = "already";
-       }
+       // Free memory
+       SQL_FREERESULT($result);
+
+       // Return result
        return $ret;
 }
 // Only be executed on login procedure!
@@ -626,6 +629,7 @@ function ADMIN_MENU_SELECTION($MODE, $default="", $defid="") {
        // Return output
        return $OUT;
 }
+
 // Save settings to the database
 function ADMIN_SAVE_SETTINGS (&$POST, $tableName="_config", $whereStatement="config=0", $translateComma=array(), $alwaysAdd=false) {
        global $_CONFIG, $cacheArray, $cacheInstance;
@@ -713,21 +717,22 @@ function ADMIN_SAVE_SETTINGS (&$POST, $tableName="_config", $whereStatement="con
        SQL_FREERESULT($result);
 
        // Simply run generated SQL string
-       $result = SQL_QUERY($SQL, __FILE__, __LINE__);
+       SQL_QUERY($SQL, __FILE__, __LINE__);
 
        // Rebuild cache
        REBUILD_CACHE("config", "config");
 
        // Settings saved
-       LOAD_TEMPLATE("admin_settings_saved", false, "<STRONG class=\"admin_done\">".SETTINGS_SAVED."</STRONG>");
+       LOAD_TEMPLATE("admin_settings_saved", false, SETTINGS_SAVED);
 }
-//
-function ADMIN_MAKE_MENU_SELECTION($menu, $type, $name, $default="") {
+
+// Generate a selection box
+function ADMIN_MAKE_MENU_SELECTION ($menu, $type, $name, $default="") {
        // Open the requested menu directory
        $handle = opendir(sprintf("%sinc/modules/%s/", PATH, $menu)) or mxchange_die("Cannot load menu ".$menu."!");
 
        // Init the selection box
-       $OUT = "<SELECT name=\"".$name."\" class=\"admin_select\" size=\"1\">\n <OPTION value=\"\">".IS_TOP_MENU."</OPTION>\n";
+       $OUT = "<select name=\"".$name."\" class=\"admin_select\" size=\"1\">\n <option value=\"\">".IS_TOP_MENU."</option>\n";
 
        // Walk through all files
        while ($file = readdir($handle)) {
@@ -735,16 +740,18 @@ function ADMIN_MAKE_MENU_SELECTION($menu, $type, $name, $default="") {
                if (($file != ".") && ($file != "..") && ($file != "lost+found") && (strpos($file, "".$type."-") > -1) && (strpos($file, ".php") > 0)) {
                        // Then test if the file is readable
                        $test = sprintf("%sinc/modules/%s/%s", PATH, $menu, $file);
-                       if ((is_file($test)) && (is_readable($test))) {
+
+                       // Is the file there?
+                       if (FILE_READABLE($test)) {
                                // Extract the value for what=xxx
                                $part = substr($file, (strlen($type) + 1));
                                $part = substr($part, 0, -4);
 
                                // Is that part different from the overview?
                                if ($part != "overview") {
-                                       $OUT .= "       <OPTION value=\"".$part."\"";
-                                       if ($part == $default) $OUT .= "selected";
-                                       $OUT .= ">".$part."</OPTION>\n";
+                                       $OUT .= "       <option value=\"".$part."\"";
+                                       if ($part == $default) $OUT .= " selected=\"selected\"";
+                                       $OUT .= ">".$part."</option>\n";
                                } // END - if
                        } // END - if
                } // END - if
@@ -752,7 +759,9 @@ function ADMIN_MAKE_MENU_SELECTION($menu, $type, $name, $default="") {
 
        // Close dir and selection box
        closedir($handle);
-       $OUT .= "</SELECT>\n";
+       $OUT .= "</select>\n";
+       
+       // Return contents
        return $OUT;
 }
 //
@@ -806,6 +815,7 @@ function ADMIN_CHECK_MENU_MODE() {
        // Return admin-menu's mode
        return $MODE;
 }
+
 // Change activation status
 function ADMIN_CHANGE_ACTIVATION_STATUS ($IDs, $table, $row, $idRow = "id") {
        $cnt = 0; $newStatus = "Y";
@@ -815,8 +825,8 @@ function ADMIN_CHANGE_ACTIVATION_STATUS ($IDs, $table, $row, $idRow = "id") {
                        // Secure the ID number
                        $id = bigintval($id);
 
-                       // Should always be 1 ;-)
-                       if ($selected == 1) {
+                       // Should always be set... ;-)
+                       if (!empty($selected)) {
                                // Determine new status
                                $result = SQL_QUERY_ESC("SELECT %s FROM "._MYSQL_PREFIX."_%s WHERE %s=%s LIMIT 1",
                                        array($row, $table, $idRow, $id), __FILE__, __LINE__);
@@ -825,7 +835,9 @@ function ADMIN_CHANGE_ACTIVATION_STATUS ($IDs, $table, $row, $idRow = "id") {
                                if (SQL_NUMROWS($result) == 1) {
                                        // Load the status
                                        list($currStatus) = SQL_FETCHROW($result);
-                                       if ($currStatus == "Y") $newStatus='N'; else $newStatus = "Y";
+
+                                       // And switch it N<->Y
+                                       if ($currStatus == "Y") $newStatus = "N"; else $newStatus = "Y";
 
                                        // Change this status
                                        SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_%s SET %s='%s' WHERE %s=%s LIMIT 1",
@@ -833,12 +845,12 @@ function ADMIN_CHANGE_ACTIVATION_STATUS ($IDs, $table, $row, $idRow = "id") {
 
                                        // Count up affected rows
                                        $cnt += SQL_AFFECTEDROWS();
-                               }
+                               } // END - if
 
                                // Free the result
                                SQL_FREERESULT($result);
-                       }
-               }
+                       } // END - if
+               } // END - foreach
 
                // Output status
                LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_STATUS_CHANGED_1.$cnt.ADMIN_STATUS_CHANGED_2.count($IDs).ADMIN_STATUS_CHANGED_3);
index 6035ba9..6fb9971 100644 (file)
@@ -47,32 +47,28 @@ $FORM = true;
 
 if ((isset($_POST['add'])) && (!empty($_POST['login'])) && (!empty($_POST['email'])) && (!empty($_POST['pass1'])) && (!empty($_POST['pass2'])) && ($_POST['pass1'] == $_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($_POST['login'], generateHash($_POST['pass1']), $_POST['email']) == "done") {
+               // Do not ouput any form!
                $FORM = false;
-               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, ADMIN_ADMINS_ADD_DONE);
 
                // Run filter chain
                RUN_FILTER('post_admin_added', $_POST);
        } // END - if
+} // END - if
 
-       // Free memory
-       SQL_FREERESULT($result);
-}
-
-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) {
+       // Set missing elements
+       // @TODO Do we need this ugly code here?
+       if (!isset($_POST['login'])) $_POST['login'] = "";
+       if (!isset($_POST['email'])) $_POST['email'] = "";
 
        // Load form from template
        LOAD_TEMPLATE("admin_admins_add");
-}
+} // END - if
+
 //
 ?>
index 301fc13..76ae8db 100644 (file)
@@ -52,7 +52,7 @@ if (isset($_POST['add'])) {
                // Category does not exists, we simply add it...
                SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_cats (cat, visible, sort) VALUES ('%s','%s','%s')",
                        array($_POST['catname'], $_POST['visible'], bigintval($_POST['parent'] + 1)), __FILE__, __LINE__);
-               $content = "<SPAN class=\"admin_done\">".CATEGORY_ADDED."</SPAN>";
+               $content = CATEGORY_ADDED;
        } else {
                // Category does already exists
                $content = "<SPAN class=\"admin_failed\">".CATEGORY_ALREADY_EXISTS."</SPAN>";
index dee0539..674a428 100644 (file)
@@ -50,16 +50,16 @@ if (isset($_POST['add_max'])) {
        if (SQL_NUMROWS($result) == 0) {
                // Add this value (including comment)
                SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_max_receive (value, comment) VALUES ('%s','%s')",
-                array(bigintval($_POST['max']), $_POST['comment']),__FILE__, __LINE__);
-               $content = "<SPAN class=\"admin_done\">".MAX_VALUE_SAVED."</SPAN>";
+                       array(bigintval($_POST['max']), $_POST['comment']),__FILE__, __LINE__);
+               $content = MAX_VALUE_SAVED;
        } else {
-               // Free memory
-               SQL_FREERESULT($result);
-
                // Value does alread exists!
                $content = "<SPAN class=\"admin_failed\">".MAX_VALUE_ALREADY."</SPAN>";
        }
 
+       // Free memory
+       SQL_FREERESULT($result);
+
        // Display message
        LOAD_TEMPLATE("admin_settings_saved", false, $content);
 } elseif ((isset($_POST['ok'])) && (isset($_GET['do']))) {
index 83ffcc9..0ae20d5 100644 (file)
@@ -63,7 +63,7 @@ VALUES ('%s', %d, %d,'%s','%s','%s','%s','%s','%s','%s')",
        $_POST['ytrans'],
        $_POST['allow_url'],
 ), __FILE__, __LINE__);
-               $msg = "<div class=\"admin_done\">".ADMIN_PAYOUT_TYPE_ADDED."</div>";
+               $msg = ADMIN_PAYOUT_TYPE_ADDED;
        } else {
                // Free memory
                SQL_FREERESULT($result);
index f874710..f81988e 100644 (file)
@@ -40,7 +40,12 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
 // Add description as navigation point
 ADD_DESCR("admin", __FILE__);
 
+// Init variables
+$message = "";
+
+// Is the 'sub' parameter set?
 if (!empty($_GET['sub'])) {
+       // Yes, then do some sanity-checks
        switch ($_GET['sub'])
        {
        case "points":
@@ -89,7 +94,7 @@ if (isset($_POST['ok'])) {
                                SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_refdepths SET level='%s', percents='%s' WHERE id=%s LIMIT 1",
                                        array(bigintval($value), $_POST['perc'][$id], $id), __FILE__, __LINE__);
                        }
-                       $TEXT = REF_DEPTHS_SAVED;
+                       $message = REF_DEPTHS_SAVED;
                        break;
 
                case "del":
@@ -97,7 +102,7 @@ if (isset($_POST['ok'])) {
                                SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_refdepths WHERE id=%s LIMIT 1",
                                        array(bigintval($id)), __FILE__, __LINE__);
                        }
-                       $TEXT = REF_DEPTHS_DELETED;
+                       $message = REF_DEPTHS_DELETED;
                        break;
                }
 
@@ -114,18 +119,15 @@ allow_direct_pay='%s',
 reg_points_mode='%s',
 ref_payout='%s'
 WHERE config=0 LIMIT 1",
- $_POST['allow_direct_pay'],
- $_POST['reg_points_mode'],
- $REF
                      $_POST['allow_direct_pay'],
                      $_POST['reg_points_mode'],
                      $REF
                );
-               if ((getConfig('ref_payout') == 0) && ($_POST['ref_payout'] > 0))
-               {
+               if ((getConfig('ref_payout') == 0) && ($_POST['ref_payout'] > 0)) {
                        // Update account's ref_payout for "must-confirm"
                        $SQLs[] = sprintf("UPDATE `"._MYSQL_PREFIX."_user_data` SET ref_payout=(%s - mails_confirmed)
 WHERE mails_confirmed < %s", $REF, $REF);
-               }
-                elseif ((getConfig('ref_payout') > 0) && ($_POST['ref_payout'] == 0))
-               {
+               } elseif ((getConfig('ref_payout') > 0) && ($_POST['ref_payout'] == 0)) {
                        // Update account's ref_payout for "not-must-confirm"
                        $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_user_data` SET ref_payout=0 WHERE ref_payout > 0";
                        $SQLs[] = "UPDATE "._MYSQL_PREFIX."_user_points SET points=points+locked_points WHERE locked_points>0";
@@ -135,27 +137,34 @@ WHERE mails_confirmed < %s", $REF, $REF);
        }
 
        if ((isset($SQLs)) && (is_array($SQLs)) && (!empty($SQLs[0]))) {
-               if (strpos($SQLs[0], "INSERT") > -1)
-               {
+               if (strpos($SQLs[0], "INSERT") > -1) {
                        $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_refdepths WHERE level='%s' LIMIT 1",
                                array(bigintval($_POST['lvl'])), __FILE__, __LINE__);
                        SQL_FREERESULT($result);
-               }
+               } // END - if
+
                if (count($SQLs) > 0) {
                        // Run all SQL commands
                        RUN_FILTER('run_sqls', array('dry_run' => false, 'sqls' => $SQLs));
 
-                       $content = "<SPAN class=\"admin_done\">".SETTINGS_SAVED."</SPAN>";
+                       // Entry saved...
+                       $message = SETTINGS_SAVED;
 
                        // Destroy config cache file here...
                        REBUILD_CACHE("config", "config");
                } else {
-                       $content = "<SPAN class=\"admin_failed\">".SETTINGS_NOT_SAVED."</SPAN>";
+                       // Prepare failed-message
+                       $message = "<SPAN class=\"admin_failed\">".SETTINGS_NOT_SAVED."</SPAN>";
                }
+
+               // Remove SQL queries
                unset($SQLs);
-               LOAD_TEMPLATE("admin_settings_saved", false, $content);
-       } elseif (isset($TEXT)) {
-               LOAD_TEMPLATE("admin_settings_saved", false, $TEXT);
+       }
+
+       // Shall we display a message?
+       if (!empty($message)) {
+               // When do so...
+               LOAD_TEMPLATE("admin_settings_saved", false, $message);
        }
 } elseif ($_GET['sub'] == "settings") {
        // Setup some settings like direct pay and so on
index 9c8359b..71d9a7b 100644 (file)
@@ -74,7 +74,7 @@ WHERE id=%s LIMIT 1",
 ), __FILE__, __LINE__);
 
                if (SQL_AFFECTEDROWS() == 1) {
-                               $content = "<SPAN class=\"admin_done\">".SETTINGS_SAVED."</SPAN>";
+                       $content = SETTINGS_SAVED;
                } else {
                        $content = "<SPAN class=\"admin_failed\">".SETTINGS_NOT_SAVED."</SPAN>";
                }
index 0cc22e2..916d5be 100644 (file)
@@ -41,7 +41,8 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
 ADD_DESCR("admin", __FILE__);
 
 // Check if the admin has entered title and what-php file name...
-if (((empty($_POST['title'])) || (empty($_POST['menu']))) && (isset($_POST['ok'])) {
+if (((empty($_POST['title'])) || (empty($_POST['menu']))) && (isset($_POST['ok']))) {
+       // Abort adding the menu entry
        unset($_POST['ok']);
 }
 
@@ -79,7 +80,10 @@ if (!isset($_POST['ok'])) {
                        }
                }
 
-               $menus = $dmy; $titles = $dmy2; $below = $dmy3;
+               // Init variables
+               $menus  = $dmy;
+               $titles = $dmy2;
+               $below  = $dmy3;
 
                // Load sub menus :)
                foreach ($menus as $key_main => $value_main) {
index 776b599..fb97e68 100644 (file)
@@ -141,7 +141,7 @@ if ((isset($_POST['add'])) && (!empty($_POST['code'])) && (!empty($_POST['descr'
                $MSG = ADMIN_COUNTRIES_MODIFIED;
        } elseif ((isset($_POST['remove'])) && (!empty($_POST['id']))) {
                // Remove
-               $IDs = implode(", ", $_POST['id']);
+               $IDs = implode(",", array_keys($_POST['id']));
                $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_countries WHERE id IN (".$IDs.") LIMIT ".count($_POST['id'])."";
 
                // Create message
index c229c55..2496ac5 100644 (file)
@@ -48,21 +48,33 @@ if (!empty($_GET['access'])) {
        // Is the file valid and readable?
        if (FILE_READABLE($target)) {
                // Load it directly
-               $content = implode("", file($target));
+               $content = READ_FILE($target);
+
+               // Save old content
+               $OUTPUT = ob_get_contents();
+
+               // Clean content
+               ob_end_clean();
 
                // Set header
                if (substr($access, -3, 3) == "log") {
+                       // Output header
                        header("Content-Type: text/plain");
                } elseif (substr($access, -3, 3) == ".gz") {
+                       // @TODO Fix content-type here
+                       header("Content-Type: text/plain");
+               } elseif (substr($access, -3, 3) == ".bz2") {
+                       // @TODO Fix content-type here
                        header("Content-Type: text/plain");
                } else {
+                       // Restore old content
+                       OUTPUT_HTML($OUTPUT);
+
+                       // Output message
                        LOAD_TEMPLATE("admin_settings_saved", false, UNKNOWN_LOGFILE_FORMAT_1.$access.UNKNOWN_LOGFILE_FORMAT_2);
                        return;
                }
 
-               // Clean content
-               ob_end_clean();
-
                // Output the logfile's content and exit
                print($content);
                exit;
@@ -75,17 +87,17 @@ if (!empty($_GET['access'])) {
        $dir = PATH.LOGS_BASE."/";
        if (is_dir($dir)) {
                // logs directory does exist
-               OUTPUT_HTML("<OL>");
-               $handle = @opendir($dir) or mxchange_die("Cannot open directory ".LOGS_BASE."!");
-               while($file = @readdir($handle)) {
+               OUTPUT_HTML("<ol>");
+               $handle = opendir($dir) or mxchange_die("Cannot open directory ".LOGS_BASE."!");
+               while ($file = readdir($handle)) {
                        // We currenly only like files with "access" as prefix, should be more flexible!
                        if (substr($file, 0, 6) == "access") {
                                // Okay, let us print it out
-                               OUTPUT_HTML("<LI><A href=\"".URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&access=".urlencode($file)."\">".$file."</A></LI>");
+                               OUTPUT_HTML("<li><a href=\"".URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&access=".urlencode($file)."\">".$file."</a></li>");
                        }
                }
-               @closedir($handle);
-               OUTPUT_HTML("</OL>");
+               closedir($handle);
+               OUTPUT_HTML("</ol>");
        } else {
                // logs directory does not exist
                LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_LOGS_DIR_404_1.LOGS_BASE.ADMIN_LOGS_DIR_404_2);
index c2ec5fe..7de1f9d 100644 (file)
@@ -40,15 +40,18 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
 // Add description as navigation point
 ADD_DESCR("admin", __FILE__);
 
+// Init variable
 $SEL = 0;
-if ((empty($_POST['url'])) || (empty($_POST['alternate'])))
-{
+
+// Some sanity-check
+if ((empty($_POST['url'])) || (empty($_POST['alternate']))) {
        unset($_POST['ok']);
 }
+
+// Check selection count
 if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']);
 
-if (isset($_POST['ok']))
-{
+if (isset($_POST['ok'])) {
        // Fix older calls from add-new-banner-form
        if (empty($_GET['mode'])) $_GET['mode'] = "add";
        $SQL = "";
@@ -57,24 +60,20 @@ if (isset($_POST['ok']))
        case "add":
                // Check if banner is already added
                $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_refbanner WHERE url='%s' LIMIT 1",
-                array($_POST['url']), __FILE__, __LINE__);
-               if (SQL_NUMROWS($result) == 0)
-               {
+                       array($_POST['url']), __FILE__, __LINE__);
+               if (SQL_NUMROWS($result) == 0) {
                        // Add banner
                        SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_refbanner (url, alternate, visible)
 VALUES ('%s','%s','%s')",
- array($_POST['url'], $_POST['alternate'], $_POST['visible']), __FILE__, __LINE__);
-               }
-                else
-               {
+                               array($_POST['url'], $_POST['alternate'], $_POST['visible']), __FILE__, __LINE__);
+               } else {
                        // Free memory
                        SQL_FREERESULT($result);
                }
                break;
 
        case "edit": // Update banner
-               foreach ($_POST['sel'] as $id => $sel)
-               {
+               foreach ($_POST['sel'] as $id => $sel) {
                        // Secure ID
                        $id = bigintval($id);
 
@@ -84,22 +83,17 @@ VALUES ('%s','%s','%s')",
                }
                break;
        }
-       if (SQL_AFFECTEDROWS() == 1)
-       {
-               $content = "<SPAN class=\"admin_done\">".SETTINGS_SAVED."</SPAN>";
-       }
-        else
-       {
+
+       if (SQL_AFFECTEDROWS() == 1) {
+               $content = SETTINGS_SAVED;
+       } else {
                $content = "<SPAN class=\"admin_failed\">".SETTINGS_NOT_SAVED."</SPAN>";
        }
        LOAD_TEMPLATE("admin_settings_saved", false, $content);
-}
- elseif (($SEL > 0) && (isset($_POST['edit'])))
-{
+} elseif (($SEL > 0) && (isset($_POST['edit']))) {
        // Edit banner
        $SW = ""; $OUT = "";
-       foreach ($_POST['sel'] as $id => $sel)
-       {
+       foreach ($_POST['sel'] as $id => $sel) {
                // Load data
                $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM "._MYSQL_PREFIX."_refbanner WHERE id=%s LIMIT 1",
                 array(bigintval($id)), __FILE__, __LINE__);
@@ -123,9 +117,7 @@ VALUES ('%s','%s','%s')",
 
        // Load main template
        LOAD_TEMPLATE("admin_refbanner_edit");
-}
- else
-{
+} else {
        if (($SEL > 0) && (isset($_POST['del'])))
        {
                // Delete banner
index 13aeda7..175597b 100644 (file)
@@ -80,7 +80,7 @@ foreach ($ACTIONS as $act) {
 CACHE_PURGE_ADMIN_MENU();
 
 // Repair finished
-LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>");
+LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2);
 
 //
 ?>
index 6fd582d..a167473 100644 (file)
@@ -41,23 +41,18 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
 ADD_DESCR("admin", __FILE__);
 
 $result = SQL_QUERY("SELECT userid FROM "._MYSQL_PREFIX."_user_cats ORDER BY userid", __FILE__, __LINE__);
-if (SQL_NUMROWS($result) > 0)
-{
+if (SQL_NUMROWS($result) > 0) {
        // Check if found userid is also found in user_data table
        $REMOVED = 0; // Nothing is removed for now... ;-)
-       while (list($uid) = SQL_FETCHROW($result))
-       {
+       while (list($uid) = SQL_FETCHROW($result)) {
                $result_user = SQL_QUERY_ESC("SELECT userid FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
-                array(bigintval($uid)), __FILE__, __LINE__);
-               if (SQL_NUMROWS($result_user) == 0)
-               {
+                       array(bigintval($uid)), __FILE__, __LINE__);
+               if (SQL_NUMROWS($result_user) == 0) {
                        // Ok, we found something to remove
                        SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s",
                                array(bigintval($uid)), __FILE__, __LINE__);
                        $REMOVED += SQL_AFFECTEDROWS();
-               }
-                else
-               {
+               } else {
                        // Free memory
                        SQL_FREERESULT($result_user);
                }
@@ -66,19 +61,14 @@ if (SQL_NUMROWS($result) > 0)
        // Free memory
        SQL_FREERESULT($result);
 
-       if ($REMOVED > 0)
-       {
+       if ($REMOVED > 0) {
                // Entries repaired
-               $content = "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REMOVED.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>";
-       }
-        else
-       {
+               $content = ADMIN_REPAIR_ENTRIES_FIXED_1.$REMOVED.ADMIN_REPAIR_ENTRIES_FIXED_2;
+       } else {
                // Nothing repaired
                $content = "<FONT class=\"admin_failed\">".ADMIN_REPAIR_NOTHING_FIXED."</FONT>";
        }
-}
- else
-{
+} else {
        // No category selections found, no members registered?
        $content = "<STRONG class=\'admin_failed\">".ADMIN_REPAIR_CATS_NOTHING."</STRONG>";
 }
index eea9b4f..fdd4dc5 100644 (file)
@@ -76,7 +76,7 @@ foreach ($ACTIONS as $act) {
 }
 
 // Repair finished
-LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>");
+LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2);
 
 //
 ?>
index f382278..bdef5a4 100644 (file)
@@ -76,7 +76,7 @@ foreach ($ACTIONS as $act) {
 }
 
 // Repair finished
-LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>");
+LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2);
 
 //
 ?>
index 2b38b5b..65b2810 100644 (file)
@@ -70,10 +70,14 @@ if (!empty($_GET['image'])) {
 
 if (!empty($file)) {
        if (FILE_READABLE($file)) {
-                       $tmpl_file = implode("", file($file));
+                       // @TODO This code is double, see functions.php, LOAD_TEMPLATE and LOAD_EMAIL_TEMPLATE
+                       $tmpl_file = READ_FILE($file);
                        $tmpl_file = addslashes($tmpl_file);
                        $tmpl_file = "\$content=\"".$tmpl_file."\";";
                        eval($tmpl_file);
+                       // Double code until here
+
+                       // Replace URLs
                        $content = str_replace("usage.png", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=usage&image=usage", $content);
                        $content = str_replace("daily_usage_", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=daily&image=", $content);
                        $content = str_replace("hourly_usage_", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=hourly&image=", $content);
@@ -88,9 +92,9 @@ if (!empty($file)) {
                        {
                                $content = substr(substr($content, 0, $body_end), $body_start);
                                $content = substr($content, strpos($content, ">") + 1);
-                               OUTPUT_HTML("<DIV align=\"left\">
+                               OUTPUT_HTML("<div align=\"left\">
   ".$content."
-</DIV>");
+</div>");
                        }
        }
 }
index f9f1457..a8d95cf 100644 (file)
@@ -40,9 +40,6 @@ if (!defined('__SECURITY')) {
 // CFG: DEBUG-SQL (if enabled and DEBUG_MODE is enabled all SQL queries will be logged to debug.log)
 define('DEBUG_SQL', false);
 
-// Load database library
-require_once(PATH."inc/db/lib.php");
-
 // Non-database functions
 require_once(PATH."inc/functions.php");
 
@@ -55,6 +52,9 @@ require_once(PATH."inc/mysql-manager.php");
 // Load extensions and language
 require_once(PATH."inc/extensions.php");
 
+// Load database library
+require_once(PATH."inc/db/lib.php");
+
 // Error handler function
 function __errorHandler ($errno, $errstr, $errfile, $errline) {
        // Construct message
index 7b83cda..73dda5c 100644 (file)
@@ -70,8 +70,7 @@ if (($CSS == "1") || (getConfig('css_php') == "DIRECT")) {
                                        break;
 
                                case "FILE":
-                                       $load = implode("", file($file));
-                                       OUTPUT_HTML($load);
+                                       OUTPUT_HTML(READ_FILE($file));
                                        break;
                        }
                }
index b252aee..0e38ada 100644 (file)
@@ -2,7 +2,6 @@ INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUE
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('logout',NULL,'Ausloggen','Ausloggen aus dem Admin-Bereich. Dadurch wird Ihre Session gel&ouml;scht und Sie m&uuml;ssen sich erneut anmelden.',999);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu',NULL,'Men&uuml;-System','Alle drei Men&uuml;-System bearbeiten (Admin-, Mitglied- und Gast-Men&uuml;)',1);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','adminedit','Vom Admin editieren','Das Administrationsmen&uuml; mit neuen Men&uuml;s erweitern, bestehende &auml;ndern oder l&ouml;schen. <STRONG>Vorsicht!</STRONG> L&ouml;schen Sie nicht das Login-Men&uuml;!',2);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user',NULL,'Mitglieder-Management','Mitglieder freischalten, sperren, Accounts editieren, Neuanmeldungen verwalten, {!POINTS!} gutschreiben und abziehen und und und...',3);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email',NULL,'Email-Management','Gebuchte Mails umleiten, Details zu den Buchungen anzeigen, Emails freigeben, registrierte Email-Adress auf Verf&uuml;gbarkeit testen (Mass-Mailing!), Newsletter versenden, Email-Adressen sperren (Email-Backlist), gebuchte URLs sperren (URL-Blacklist)',4);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup',NULL,'Einstellungen','Interessen &auml;ndern, News schreiben, allgmeine Einstellungen (Auto-Versand usw.). Auto-Lock Funktion einrichten, manueller Lock des Versandes einrichten, Teile der Homepage sperren (wegen Wartungsarbeiten)',5);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc',NULL,'Verschiedenes','Verschiedene Einstellungen / Info-Seiten, die sonst nirgenswo reinpassten...',6);\r
@@ -16,10 +15,6 @@ INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUE
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','edit_emails','Email-Daten &auml;ndern','Hier k&ouml;nnen Sie u.a. die gebuchte URL der Emails um&auml;ndern, usw.',5);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','unlock_emails','Emails freigeben','Geben Sie bei manuellem Versand gebuchte Mails hier frei.',5);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','email_details','Email-Details ansehen','Sehen Sie sich jedes Details bereits gebuchter Mails an.',5);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','del_user','Mitglied l&ouml;schen','L&ouml;schen Sie hier Mitglied, die gegen die AGBs mehrmals verstossen haben. Bitte seien Sie nett zu Ihren Mitgliedern und l&ouml;schen Sie nicht gleich.',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','chk_regs','Anmeldungen pr&uuml;fen','Pr&uuml;fen Sie hier neue Anmeldungen zu Ihrem System. Hier k&ouml;nnen Sie im Falle einer Fehler-Mail den Mitglied gleich wieder l&ouml;schen!',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','lock_user','Mitglied sperren / entsperren','Sperren Sie Mitglied, die zu viele unbest&auml;tigte Mails haben oder gegen Ihre AGBs verstossen haben &uuml;ber diesen Men&uuml;punkt.',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_user','Mitglied auflisten','Listen Sie alle Mitglied oder eingeschr&auml;nkt nach Suchkritieren Ihre Userdatenbank auf. Sie k&ouml;nen per Klick auf die Usernummer sich Details zum Mitglied ansehen.',4);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_secure','Sicherheitseinstellungen','Stellen Sie ein, wie lange das Passwort eines Mitgliedes mindestens sein muss uvm.',9);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_email','Versand, Empfang','Hier k&ouml;nnen Sie die maximal empfangbaren Mails usw. einstellen.',8);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_cats','Kategorien einrichten','&Auml;ndern oder l&ouml;schen Sie bereits bestehende Kategorien oder f&uuml;gen Sie weitere hinzu.',7);\r
@@ -95,16 +90,9 @@ INSERT INTO `mxchange_payments` VALUES (3,30,30.000,'Klick-Mail 30 Sek.',29.000)
 INSERT INTO `mxchange_payments` VALUES (4,40,40.000,'Klick-Mail 40 Sek.',39.000);\r
 INSERT INTO `mxchange_payments` VALUES (5,50,50.000,'Klick-Mail 50 Sek.',49.000);\r
 \r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','edit_user','Account editieren','Daten eines Mitglieder-Accountes &auml;ndern.',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('stats','logs','Aufruflogb&uuml;cher','Verwalten Sie Ihre Aufruflogb&uuml;cher mit diesem Admin-Bereich! (Derzeit nur Download!)',8);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('stats','usage','Aufrufstatistik','Erkennt automatisch Ihre Aufrufstatisiken und bindet diese in das Admin-Interface ein. (Derzeit nur Webalizer!)',9);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','email_archiv','E-Mail Archiv','Sehen Sie sich hier bereits gesendete Mails an.','6');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_links','Unbest&auml;tigte Mails','Mit diesem Men&uuml;punkt k&ouml;nnen Sie die vom Mitglied nicht best&auml;tigten Mails anzeigen.','8');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_refs','Referals anzeigen','Mit diesem Men&uuml;punkt k&ouml;nnen Sie die generierten Referals eines Mitgliedes auflisten.','7');\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','del_email','E-Mail l&ouml;schen','L&ouml;schen Sie hierr&uuml;ber E-Mails (sowohl Bonus- als auch Normal-Mails) aus Ihrem Mailtausch-System. <STRONG>Nur bei Normal-Mails:</STRONG> {!POINTS!} aus den unbest&auml;tigten Mails werden dem Werber wieder verg&uuml;tet.','7');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','add_points','{!POINTS!} gutschreiben','Buchen Sie einem Mitglied direkt {!POINTS!} auf. Sie k&ouml;nnen dazu auch einen Kommentar mitsenden.','5');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_cats','Kategorien anzeigen','Listet die ausgew&auml;hlten Kategorien eines Mitgliedes auf.','9');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_other','Sonstige Einstellungen','Sonstige Einstellungen an Ihrem Mailtausch.','13');\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','updates','Updates pr&uuml;fen','Pr&uuml;ft, ob eine neue Version oder ein Patch auf dem Server exisitiert. Sie m&uuml;ssen dann die Patches/Updates selber herunterladen und einspielen. Dabei werden keine Daten von Ihrer Installation an uns gesendet!','8');\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','extensions','Erweiterungen','Erweiterungen installieren, updaten, sperren, l&ouml;schen usw.','8');\r
 \r
index b252aee..0e38ada 100644 (file)
@@ -2,7 +2,6 @@ INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUE
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('logout',NULL,'Ausloggen','Ausloggen aus dem Admin-Bereich. Dadurch wird Ihre Session gel&ouml;scht und Sie m&uuml;ssen sich erneut anmelden.',999);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu',NULL,'Men&uuml;-System','Alle drei Men&uuml;-System bearbeiten (Admin-, Mitglied- und Gast-Men&uuml;)',1);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','adminedit','Vom Admin editieren','Das Administrationsmen&uuml; mit neuen Men&uuml;s erweitern, bestehende &auml;ndern oder l&ouml;schen. <STRONG>Vorsicht!</STRONG> L&ouml;schen Sie nicht das Login-Men&uuml;!',2);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user',NULL,'Mitglieder-Management','Mitglieder freischalten, sperren, Accounts editieren, Neuanmeldungen verwalten, {!POINTS!} gutschreiben und abziehen und und und...',3);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email',NULL,'Email-Management','Gebuchte Mails umleiten, Details zu den Buchungen anzeigen, Emails freigeben, registrierte Email-Adress auf Verf&uuml;gbarkeit testen (Mass-Mailing!), Newsletter versenden, Email-Adressen sperren (Email-Backlist), gebuchte URLs sperren (URL-Blacklist)',4);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup',NULL,'Einstellungen','Interessen &auml;ndern, News schreiben, allgmeine Einstellungen (Auto-Versand usw.). Auto-Lock Funktion einrichten, manueller Lock des Versandes einrichten, Teile der Homepage sperren (wegen Wartungsarbeiten)',5);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc',NULL,'Verschiedenes','Verschiedene Einstellungen / Info-Seiten, die sonst nirgenswo reinpassten...',6);\r
@@ -16,10 +15,6 @@ INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUE
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','edit_emails','Email-Daten &auml;ndern','Hier k&ouml;nnen Sie u.a. die gebuchte URL der Emails um&auml;ndern, usw.',5);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','unlock_emails','Emails freigeben','Geben Sie bei manuellem Versand gebuchte Mails hier frei.',5);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','email_details','Email-Details ansehen','Sehen Sie sich jedes Details bereits gebuchter Mails an.',5);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','del_user','Mitglied l&ouml;schen','L&ouml;schen Sie hier Mitglied, die gegen die AGBs mehrmals verstossen haben. Bitte seien Sie nett zu Ihren Mitgliedern und l&ouml;schen Sie nicht gleich.',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','chk_regs','Anmeldungen pr&uuml;fen','Pr&uuml;fen Sie hier neue Anmeldungen zu Ihrem System. Hier k&ouml;nnen Sie im Falle einer Fehler-Mail den Mitglied gleich wieder l&ouml;schen!',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','lock_user','Mitglied sperren / entsperren','Sperren Sie Mitglied, die zu viele unbest&auml;tigte Mails haben oder gegen Ihre AGBs verstossen haben &uuml;ber diesen Men&uuml;punkt.',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_user','Mitglied auflisten','Listen Sie alle Mitglied oder eingeschr&auml;nkt nach Suchkritieren Ihre Userdatenbank auf. Sie k&ouml;nen per Klick auf die Usernummer sich Details zum Mitglied ansehen.',4);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_secure','Sicherheitseinstellungen','Stellen Sie ein, wie lange das Passwort eines Mitgliedes mindestens sein muss uvm.',9);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_email','Versand, Empfang','Hier k&ouml;nnen Sie die maximal empfangbaren Mails usw. einstellen.',8);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_cats','Kategorien einrichten','&Auml;ndern oder l&ouml;schen Sie bereits bestehende Kategorien oder f&uuml;gen Sie weitere hinzu.',7);\r
@@ -95,16 +90,9 @@ INSERT INTO `mxchange_payments` VALUES (3,30,30.000,'Klick-Mail 30 Sek.',29.000)
 INSERT INTO `mxchange_payments` VALUES (4,40,40.000,'Klick-Mail 40 Sek.',39.000);\r
 INSERT INTO `mxchange_payments` VALUES (5,50,50.000,'Klick-Mail 50 Sek.',49.000);\r
 \r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','edit_user','Account editieren','Daten eines Mitglieder-Accountes &auml;ndern.',4);\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('stats','logs','Aufruflogb&uuml;cher','Verwalten Sie Ihre Aufruflogb&uuml;cher mit diesem Admin-Bereich! (Derzeit nur Download!)',8);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('stats','usage','Aufrufstatistik','Erkennt automatisch Ihre Aufrufstatisiken und bindet diese in das Admin-Interface ein. (Derzeit nur Webalizer!)',9);\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','email_archiv','E-Mail Archiv','Sehen Sie sich hier bereits gesendete Mails an.','6');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_links','Unbest&auml;tigte Mails','Mit diesem Men&uuml;punkt k&ouml;nnen Sie die vom Mitglied nicht best&auml;tigten Mails anzeigen.','8');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_refs','Referals anzeigen','Mit diesem Men&uuml;punkt k&ouml;nnen Sie die generierten Referals eines Mitgliedes auflisten.','7');\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','del_email','E-Mail l&ouml;schen','L&ouml;schen Sie hierr&uuml;ber E-Mails (sowohl Bonus- als auch Normal-Mails) aus Ihrem Mailtausch-System. <STRONG>Nur bei Normal-Mails:</STRONG> {!POINTS!} aus den unbest&auml;tigten Mails werden dem Werber wieder verg&uuml;tet.','7');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','add_points','{!POINTS!} gutschreiben','Buchen Sie einem Mitglied direkt {!POINTS!} auf. Sie k&ouml;nnen dazu auch einen Kommentar mitsenden.','5');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_cats','Kategorien anzeigen','Listet die ausgew&auml;hlten Kategorien eines Mitgliedes auf.','9');\r
-INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_other','Sonstige Einstellungen','Sonstige Einstellungen an Ihrem Mailtausch.','13');\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','updates','Updates pr&uuml;fen','Pr&uuml;ft, ob eine neue Version oder ein Patch auf dem Server exisitiert. Sie m&uuml;ssen dann die Patches/Updates selber herunterladen und einspielen. Dabei werden keine Daten von Ihrer Installation an uns gesendet!','8');\r
 INSERT INTO `mxchange_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','extensions','Erweiterungen','Erweiterungen installieren, updaten, sperren, l&ouml;schen usw.','8');\r
 \r