4cb2b00ca072997470b3ca0c0fe2c25f7a2a2be1
[mailer.git] / inc / extensions / ext-rewrite.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 10/24/2004 *
4  * ================                             Last change: 08/28/2008 *
5  *                                                                      *
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  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
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.                                  *
22  *                                                                      *
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.                         *
27  *                                                                      *
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,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
37         require($INC);
38 }
39
40 // Version number
41 $EXT_VERSION = "0.1.3";
42
43 // Auto-set extension version
44 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
45
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");
48
49 switch ($EXT_LOAD_MODE)
50 {
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                 ADD_FATAL(MOD_REWRITE_ERROR);
56         } // END - if
57
58         // SQL commands to run
59         $SQLs[] = "";
60         break;
61
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";
65         break;
66
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                 ADD_FATAL(MOD_REWRITE_ERROR);
73          } // END - if
74
75         // SQL commands to run
76         $SQLs[] = "";
77         break;
78
79 case "deactivate": // Do stuff when admin deactivates this extension
80         // SQL commands to run
81         $SQLs[] = "";
82         break;
83
84 case "update": // Update an extension
85         switch ($EXT_VER)
86         {
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";
90                 break;
91
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";
95
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&uuml;ltig.";
99                 break;
100
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";
104                 break;
105
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&auml;llt die neue .htaccess-Datei kleiner aus. Bitte anpassen!";
109
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.";
113                 break;
114
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.";
118                 break;
119
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.";
123                 break;
124
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 &uuml;bersprungen werden sollen, in denen also kein Umschreiben des HTML-Codes stattfinden soll.', 8)";
128
129                 // Update notes (these will be set as task text!)
130                 $UPDATE_NOTES = "Zu &uuml;berspringende Module k&ouml;nnen per Admin-Bereich eingestellt werden.";
131                 break;
132
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&ouml;rter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.";
136                 break;
137
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.";
141                 break;
142
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.";
146                 break;
147         case "0.1.3":
148                 // Check if mod_rewrite is loadeded
149                 if (!IF_APACHE_MODULE_LOADED('mod_rewrite')){
150                         $EXT_REPORTS_FAILURE = true;
151                         //ADD_FATAL(MOD_REWRITE_ERROR);
152                 } // END - if
153                 $UPDATE_NOTES = "Es wird beim Registrieren und aktivieren gepr&uuml;ft, ob im Apache das Modul mod_rewrite geladen wurde. Wenn mod_rewrite nicht gefunden werden konnte, wird abgebrochen.";
154                 break;
155         }
156         break;
157
158 case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
159         break;
160
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())ADD_FATAL(MOD_REWRITE_ERROR);
167          } // END - if
168         break;
169 }
170
171 //
172 ?>