2 /************************************************************************
3 * MXChange v0.2.1 Start: 10/24/2004 *
4 * ================ Last change: 08/28/2008 *
6 * -------------------------------------------------------------------- *
7 * File : ext-rewrite.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Rewrites own links for search engines *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Schreibt eigene Links um fuer Suchmaschinen *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
41 $EXT_VERSION = "0.1.3";
43 // Auto-set extension version
44 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
46 // Version history array (add more with , "0.1" and so on)
47 $EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3");
49 switch ($EXT_LOAD_MODE)
51 case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
52 // Check if mod_rewrite is loadeded
53 if (!IF_APACHE_MODULE_LOADED('mod_rewrite')){
54 $EXT_REPORTS_FAILURE = true;
55 addFatalMessage(__FILE__, __LINE__, getMessage('MOD_REWRITE_ERROR'));
58 // SQL commands to run
62 case "remove": // Do stuff when removing extension
63 // SQL commands to run
64 $SQLs[] = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_rewrite' LIMIT 1";
67 case "activate": // Do stuff when admin activates this extension
68 // Check if mod_rewrite is loadeded
69 if (!IF_APACHE_MODULE_LOADED('mod_rewrite')) {
70 SQL_QUERY("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_active='N' WHERE ext_name='rewrite' LIMIT 1", __FILE__, __LINE__);
71 $EXT_REPORTS_FAILURE = true;
72 addFatalMessage(__FILE__, __LINE__, getMessage('MOD_REWRITE_ERROR'));
75 // SQL commands to run
79 case "deactivate": // Do stuff when admin deactivates this extension
80 // SQL commands to run
84 case "update": // Update an extension
87 case "0.0.1": // SQL queries for v0.0.1
88 // Update notes (these will be set as task text!)
89 $UPDATE_NOTES = "Folgende Linkvariablen werden nun auch ausgetauscht: bid, mid, url, page, offset";
92 case "0.0.2": // SQL queries for v0.0.2
93 // Update notes (these will be set as task text!)
94 $UPDATE_NOTES = "Folgende Linkvariablen werden nun auch ausgetauscht: type, do=search";
96 case "0.0.3": // SQL queries for v0.0.3
97 // Update notes (these will be set as task text!)
98 $UPDATE_NOTES = "URLs zu MXChange.org (".SERVER_URL.") sind nun auch wieder gültig.";
101 case "0.0.4": // SQL queries for v0.0.4
102 // Update notes (these will be set as task text!)
103 $UPDATE_NOTES = "Folgende Linkvariablen werden nun auch ausgetausch: sub, home";
106 case "0.0.5": // SQL queries for v0.0.5
107 // Update notes (these will be set as task text!)
108 $UPDATE_NOTES = "Links im Admin- und Mitgliedsbereich werden nicht mehr umgeschrieben. Entsprechend fällt die neue .htaccess-Datei kleiner aus. Bitte anpassen!";
110 case "0.0.6": // SQL queries for v0.0.6
111 // Update notes (these will be set as task text!)
112 $UPDATE_NOTES = "Links im Frametester-Modul werden nicht mehr umgeschrieben.";
115 case "0.0.7": // SQL queries for v0.0.7
116 // Update notes (these will be set as task text!)
117 $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.";
120 case "0.0.8": // SQL queries for v0.0.8
121 // Update notes (these will be set as task text!)
122 $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.";
125 case "0.0.9": // SQL queries for v0.0.9
126 $SQLs[] = "ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD rewrite_skip VARCHAR(255) NOT NULL DEFAULT 'login:admin:frametester:mailid'";
127 $SQLs[] = "INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_rewrite','Rewrite-Engine','Stellen Sie hier ein, welche Module übersprungen werden sollen, in denen also kein Umschreiben des HTML-Codes stattfinden soll.', 8)";
129 // Update notes (these will be set as task text!)
130 $UPDATE_NOTES = "Zu überspringende Module können per Admin-Bereich eingestellt werden.";
133 case "0.1.0": // SQL queries for v0.2.1
134 // Update notes (these will be set as task text!)
135 $UPDATE_NOTES = "Wörter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.";
138 case "0.1.1": // SQL queries for v0.1.1
139 // Update notes (these will be set as task text!)
140 $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.";
143 case "0.1.2": // SQL queries for v0.1.2
144 // Update notes (these will be set as task text!)
145 $UPDATE_NOTES = "Abspeichern von Einstellungen repariert.";
148 // Check if mod_rewrite is loadeded
149 if (!IF_APACHE_MODULE_LOADED('mod_rewrite')){
150 $EXT_REPORTS_FAILURE = true;
151 //addFatalMessage(__FILE__, __LINE__, getMessage('MOD_REWRITE_ERROR'));
153 $UPDATE_NOTES = "Es wird beim Registrieren und aktivieren geprüft, ob im Apache das Modul mod_rewrite geladen wurde. Wenn mod_rewrite nicht gefunden werden konnte, wird abgebrochen.";
158 case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
161 default: // Do stuff when extension is loaded
162 // Check if mod_rewrite is loadeded
163 if (!IF_APACHE_MODULE_LOADED('mod_rewrite')){
164 $EXT_REPORTS_FAILURE = true;
165 SQL_QUERY("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_active='N' WHERE ext_name='rewrite' LIMIT 1", __FILE__, __LINE__);
166 if (!IS_ADMIN()) addFatalMessage(__FILE__, __LINE__, getMessage('MOD_REWRITE_ERROR'));