X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-admins.php;h=45963b297d585633a2611bda2456c00d8a801efe;hp=18ac24865b3a70d6eb0248184dd9d7060782593d;hb=963e55ca1ea79e255f235e359cde9f7862191dc5;hpb=e1653405d28923c78b2e292125306ccf61138f24 diff --git a/inc/extensions/ext-admins.php b/inc/extensions/ext-admins.php index 18ac24865b..45963b297d 100644 --- a/inc/extensions/ext-admins.php +++ b/inc/extensions/ext-admins.php @@ -32,27 +32,26 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); } // Version of this extension -$EXT_VERSION = "0.6.9"; +$EXT_VERSION = "0.7.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", "0.1", "0.2", "0.3", "0.3.1", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "0.4.4", "0.4.5", "0.4.6", "0.4.7", "0.4.8", "0.4.9", "0.5.0", "0.5.1", "0.5.2", "0.5.3", "0.5.4", "0.5.5", "0.5.6", "0.5.7", "0.5.8", "0.5.9", "0.6.0", "0.6.1", "0.6.2", "0.6.3", "0.6.4", "0.6.5", "0.6.6", "0.6.7", "0.6.8", "0.6.9"); +$EXT_VER_HISTORY = array("0.0", "0.1", "0.2", "0.3", "0.3.1", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "0.4.4", "0.4.5", "0.4.6", "0.4.7", "0.4.8", "0.4.9", "0.5.0", "0.5.1", "0.5.2", "0.5.3", "0.5.4", "0.5.5", "0.5.6", "0.5.7", "0.5.8", "0.5.9", "0.6.0", "0.6.1", "0.6.2", "0.6.3", "0.6.4", "0.6.5", "0.6.6", "0.6.7", "0.6.8", "0.6.9", "0.7.0"); switch ($EXT_LOAD_MODE) { case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called) // SQL commands to run $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='admins' LIMIT 1"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('admins', '', 'Admin-Management', 'Administratoren anlegen, löschen oder Passwort/E-Mail Adresse ändern.', '1')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('admins', NULL, 'Admin-Management', 'Administratoren anlegen, löschen oder Passwort/E-Mail Adresse ändern.', '1')"; $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('admins', 'admins_add', 'Admin hinzufügen', 'Neuen Admin-Account anlegen', '0')"; $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('admins', 'admins_edit', 'Admin-Account ändern', 'Bestehende Admin-Accounts bearbeiten: E-Mail-Adresse, Passwort und/oder Login-Name ändern.', '1')"; break; @@ -61,7 +60,6 @@ case "remove": // Do stuff when removing extension // SQL commands to run $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='admins' LIMIT 5"; $SQLs[] = "DROP TABLE "._MYSQL_PREFIX."_admins_acls"; - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config DROP admins_default_acl"; $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins DROP default_acl"; break; @@ -90,20 +88,20 @@ case "update": // Update an extension $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('admins', 'config_admins', 'ACL einstellen', 'Richten Sie Zugriffskontrollzeilen für jeden Admin individuell ein, um ihm nur bestimmte Bereiche des Admin-Bereiches zugänglich zu machen oder zu sperren.', '4')"; // Which is the default setting when you create a new admin login? - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD admins_default_acl enum('deny', 'allow') not null default 'deny'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD admins_default_acl ENUM('deny', 'allow') NOT NULL DEFAULT 'deny'"; // Default is deny everything - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD default_acl enum('deny', 'allow') not null default 'deny'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD default_acl ENUM('deny', 'allow') NOT NULL DEFAULT 'deny'"; // But allow current admin everything (THIS SHALL BE YOU!) - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admins SET default_acl='allow' WHERE login='".$_COOKIE['admin_login']."' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admins SET default_acl='allow' WHERE login='".get_session('admin_login')."' LIMIT 1"; $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admins_acls"; $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_admins_acls ( -id bigint(20) not null auto_increment, -admin_id bigint(20) not null default '0', -action_menu varchar(255) not null default '', -what_menu varchar(255) not null default '', -access_mode enum('deny', 'allow') not null default 'deny', +id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +admin_id BIGINT(20) UNSIGNED NOT NULL DEFAULT '0', +action_menu VARCHAR(255) NOT NULL DEFAULT '', +what_menu VARCHAR(255) NOT NULL DEFAULT '', +access_mode ENUM('deny', 'allow') NOT NULL DEFAULT 'deny', KEY (admin_id), PRIMARY KEY (id) ) TYPE=MyISAM"; @@ -113,15 +111,15 @@ PRIMARY KEY (id) break; case "0.3.1": // SQL queries for v0.3.1 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins_acls MODIFY id bigint(20) not null auto_increment"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins_acls MODIFY id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT"; break; case "0.4.0": // SQL queries for v0.4.0 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_admins_mails"; $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_admins_mails ( -id bigint(20) not null auto_increment, -admin_id bigint(20) not null default '0', -mail_template varchar(255) not null, +id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +admin_id BIGINT(20) UNSIGNED NOT NULL DEFAULT '0', +mail_template VARCHAR(255) NOT NULL, KEY (admin_id), PRIMARY KEY (id) ) TYPE=MyISAM"; @@ -184,7 +182,7 @@ PRIMARY KEY (id) case "0.5.3": // SQL queries for v0.5.3 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; break; case "0.5.4": // SQL queries for v0.5.4 @@ -259,7 +257,7 @@ PRIMARY KEY (id) break; case "0.6.7": // SQL queries for v0.6.7 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD la_mode enum('global', 'OLD', 'NEW') not null default 'global'"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD la_mode ENUM('global', 'OLD', 'NEW') NOT NULL DEFAULT 'global'"; // Update notes (these will be set as task text!) $UPDATE_NOTES = "Namenskonflikt zwischen den Erweiterungen admins und (kommender) contact. Beseitigung eines Fehlers HTTP_POSR_VARS beim Ändern von Administratoren."; @@ -267,15 +265,23 @@ PRIMARY KEY (id) case "0.6.8": // SQL queries for v0.6.8 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "setcookie() mit @-Zeichen gegen ungewollte Ausgaben abgesichert."; + $UPDATE_NOTES = "set_session() mit @-Zeichen gegen ungewollte Ausgaben abgesichert."; break; case "0.6.9": // SQL queries for v0.6.9 - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Admin-Management' WHERE action = 'admins' AND what='' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Admin-Management' WHERE action = 'admins' AND (what='' OR what IS NULL) LIMIT 1"; // Update notes (these will be set as task text!) $UPDATE_NOTES = "Verwaltung nach Management umbenannt."; break; + + case "0.7.0": // SQL queries for v0.7.0 + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD login_failtures BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"; + $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_admins ADD last_failture TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Fehlgeschlagene Login-Versuche werden nun mitgezählt und der letzte vermerkt."; + break; } break; @@ -287,7 +293,7 @@ default: // Do stuff when extension is loaded $EXT_LANG_PREFIX = "admins"; // Extension is always active? -$EXT_ALWAYS_ACTIVE = 'N'; +$EXT_ALWAYS_ACTIVE = "N"; // ?>