cash data addDropTableSql('grade_cash_connect'); addCreateTableSql('grade_cash_connect', " `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `grade_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `grade_cash_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (`id`), UNIQUE `grade_cash` (`grade_id`, `grade_cash_id`), INDEX (`grade_cash_id`)", 'Grade<->cash data connection'); // Connection grade<->user data addDropTableSql('grade_user_connect'); addCreateTableSql('grade_user_connect', " `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `grade_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `grade_expired` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE (`userid`, `grade_id`), INDEX (`grade_id`)", 'Grade<->user connection'); // Admin menu entries addAdminMenuSql('grade', NULL, 'Einstufungen', 'Stufen Sie Ihre Mitglieder ein, die sie ab einer einstellbaren Anzahl an {?POINTS?} oder bestätigten Mails usw. erhalten und durch die Einstufung Ermäßigungen oder Sonderboni erhalten können.', 6); addAdminMenuSql('grade', 'list_grades', 'Auflisten...', 'Listet alle Einstufungen auf, auch sind diese hier editierbar, neue hinzufügbar und löschbar.', 1); addAdminMenuSql('grade', 'list_cash_grade', 'Ermäßigungen/Sonderboni', 'Listet alle Ermäßigungen/Sonderbi auf, auch sind diese hier editierbar, neue hinzufügbar und löschbar.', 2); addAdminMenuSql('grade', 'list_current_grades', 'Mitglieder-Einstufungen', 'Liste alle durch die Mitglieder aktuell erreichten Einstungen auf. Diese sind nicht editierbar (wir wollen ja nicht schummeln und bestimmten Mitgliedern bessere Einstufungen geben, oder? ;-) ).', 3); addAdminMenuSql('grade', 'config_grade', 'Einstellungen ...', 'Diverse Einstellungen zu den Einstufungen.', 4); // Member menu addMemberMenuSql('account', 'grade', 'Erreichte Stufe', 2); // Guest menu addGuestMenuSql('members', 'grade', 'Einstufungen', 4); break; case 'remove': // Do stuff when removing extension // SQL commands to run addDropTableSql('grade_data'); addDropTableSql('grade_cash_data'); addDropTableSql('grade_cash_connect'); addDropTableSql('grade_user_connect'); // Menu entries addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='grade' LIMIT 5"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='grade' LIMIT 1"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='grade' LIMIT 1"); break; case 'activate': // Do stuff when admin activates this extension // SQL commands to run addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `locked`='N', `visible`='Y' WHERE `what`='grade' LIMIT 1"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='N', `visible`='Y' WHERE `what`='grade' LIMIT 1"); break; case 'deactivate': // Do stuff when admin deactivates this extension // SQL commands to run addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `locked`='Y', `visible`='N' WHERE `what`='grade' LIMIT 1"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='Y', `visible`='N' WHERE `what`='grade' LIMIT 1"); break; case 'update': // Update an extension switch (getCurrentExtensionVersion()) { case '0.0.1': // SQL queries for v0.0.1 addExtensionSql(''); // Update notes (these will be set as task text!) setExtensionUpdateNotes(''); break; } // END - switch break; case 'modify': // When the extension got modified break; case 'test': // For testing purposes break; case 'init': // Do stuff when extension is initialized break; default: // Unknown extension mode logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); break; } // END - switch // [EOF] ?>