2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 06/02/2011 *
4 * =================== Last change: 06/02/2011 *
6 * -------------------------------------------------------------------- *
8 * -------------------------------------------------------------------- *
9 * Short description : Filters for ext- *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Filter fuer ext- *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * -------------------------------------------------------------------- *
18 * Copyright (c) 2003 - 2009 by Roland Haeder *
19 * Copyright (c) 2009 - 2012 by Mailer Developer Team *
20 * For more information visit: http://mxchange.org *
22 * This program is free software; you can redistribute it and/or modify *
23 * it under the terms of the GNU General Public License as published by *
24 * the Free Software Foundation; either version 2 of the License, or *
25 * (at your option) any later version. *
27 * This program is distributed in the hope that it will be useful, *
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30 * GNU General Public License for more details. *
32 * You should have received a copy of the GNU General Public License *
33 * along with this program; if not, write to the Free Software *
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
36 ************************************************************************/
38 // Some security stuff...
39 if (!defined('__SECURITY')) {
43 // Filter for generic handling of theme change
44 function FILTER_HANDLE_THEME_CHANGE ($filterData) {
45 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
47 // Check if new theme is selcted
48 if ((isPostRequestElementSet('new_theme')) && (postRequestElement('new_theme') != getCurrentTheme())) {
49 // Set new theme for guests
50 $newTheme = postRequestElement('new_theme');
52 // Change to new theme
53 setMailerTheme($newTheme);
55 // Remove current from array
56 removeIncludeFromPool('theme', sprintf("theme/%s/theme.php", getCurrentTheme()));
59 addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
61 // Redirect to same URL
62 redirectToRequestUri();
66 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
70 // Filter for settings theme from user profile, must be executed only if FILTER_FETCH_USER_DATA() ran before
71 function FILTER_SET_USERS_THEME ($filterData) {
72 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
74 // Is the user data valid?
76 // Do only run for logged in members
77 reportBug(__FUNCTION__, __LINE__, 'Please only run this filter for logged in users.');
80 // Change to new theme
81 setMailerTheme(getUserData('curr_theme'));
84 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
88 // Filter for adding SQL columns on user registration about current theme
89 function FILTER_THEME_USER_REGISTRATION_ADD_SQL_COLUMNS ($filterData) {
90 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
92 // Okay, add design here
93 addExtraRegistrationColumns(', `curr_theme`');
94 addExtraRegistrationData(", '{%%pipe,getCurrentTheme%%}'");
97 //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
98 //* NOISY-DEBUG: */ print __FUNCTION__.':filterData=<pre>'.print_r($filterData,true).'</pre>';