inc/extensions/ext-yoomedia.php svneol=native#text/plain
inc/extensions/network/.htaccess svneol=native#text/plain
inc/extensions/network/mode-setup.php svneol=native#text/plain
+inc/extensions/order/.htaccess svneol=native#text/plain
+inc/extensions/order/mode-update.php svneol=native#text/plain
inc/extensions/sponsor/.htaccess svneol=native#text/plain
inc/extensions/sponsor/mode-setup.php svneol=native#text/plain
inc/extensions/sql_patches/.htaccess svneol=native#text/plain
inc/modules/admin/what-config_other.php svneol=native#text/plain
inc/modules/admin/what-config_payouts.php svneol=native#text/plain
inc/modules/admin/what-config_points.php svneol=native#text/plain
+inc/modules/admin/what-config_profile.php svneol=native#text/plain
inc/modules/admin/what-config_proxy.php svneol=native#text/plain
inc/modules/admin/what-config_rallye_prices.php svneol=native#text/plain
inc/modules/admin/what-config_refback.php svneol=native#text/plain
templates/de/html/admin/admin_config_payouts_row.tpl svneol=native#text/plain
templates/de/html/admin/admin_config_point_settings.tpl svneol=native#text/plain
templates/de/html/admin/admin_config_points.tpl svneol=native#text/plain
+templates/de/html/admin/admin_config_profile.tpl svneol=native#text/plain
templates/de/html/admin/admin_config_proxy.tpl svneol=native#text/plain
templates/de/html/admin/admin_config_refback.tpl svneol=native#text/plain
templates/de/html/admin/admin_config_refid.tpl svneol=native#text/plain
./inc/email-functions.php:209:// @TODO $rawUserId is currently unused
./inc/expression-functions.php:173:// @TODO FILTER_COMPILE_CONFIG does not handle call-back functions so we handle it here again
./inc/expression-functions.php:46: // @TODO is escapeQuotes() enough for strings with single/double quotes?
-./inc/extensions/bonus/mode-update.php:43:// @TODO Remove double tabs
+./inc/extensions/bonus/mode-update.php:43:// @TODO Remove double tabs from all lines
./inc/extensions/ext-html_mail.php:136: // @TODO Move these arrays into config
./inc/extensions/ext-menu.php:52: // @TODO Convert menu-Id to one coding-standard. admin(edit|_add) => admin_menu_(edit|add), mem(edit|_add) => (edit|add)_(admin|guest|member)_menu
./inc/extensions/ext-newsletter.php:218: // @TODO Move these into configuration
./inc/extensions/network/mode-setup.php:47: * @TODO Xijide: Lead/Sale (together) unsupported (no target URL) *
./inc/extensions/network/mode-setup.php:48: * @TODO Yoo!Media: What is LayerAd compared to Layer click? *
./inc/extensions/network/mode-setup.php:94:// @TODO network_type_handler is an internal name and needs documentation
-./inc/extensions/sponsor/mode-setup.php:43:// @TODO Remove double tabs
-./inc/extensions/sql_patches/mode-update.php:43:// @TODO Remove double-tabs
-./inc/extensions/user/mode-update.php:43:// @TODO Remove double tabs
+./inc/extensions/order/mode-update.php:43:// @TODO Remove double-tab from all lines
+./inc/extensions/sponsor/mode-setup.php:43:// @TODO Remove double tabs from all lines
+./inc/extensions/sql_patches/mode-update.php:43:// @TODO Remove double tabs from all lines
+./inc/extensions/user/mode-update.php:43:// @TODO Remove double tabs from all lines
./inc/filter/blacklist_filter.php:63: // @TODO Insert log entry
./inc/filter/bonus_filter.php:56: // @TODO This query isn't right, it will only update if the user was for a longer time away!
./inc/filter/cache_filter.php:94: // @TODO This should be rewritten not to load the cache file for just checking if it is there for save removal.
./inc/filter/forced_filter.php:73: // @TODO This part is unfinished
-./inc/filter-functions.php:117: // @TODO Remove this forced removal after a year or so
-./inc/filters.php:1320: // @TODO No banner found, output some default banner
+./inc/filter-functions.php:119: // @TODO Remove this forced removal after a year or so
+./inc/filters.php:1380: // @TODO No banner found, output some default banner
./inc/functions.php:1131: // @TODO Move this SQL code into a function, let's say 'getTimestampFromPoolId($id) ?
./inc/functions.php:1217: // @TODO Are these convertions still required?
./inc/functions.php:1238:// @TODO Rewrite this function to use readFromFile() and writeToFile()
-./inc/functions.php:1847: // @TODO Find a way to cache this
-./inc/functions.php:1951: // @TODO This is still very static, rewrite it somehow
-./inc/functions.php:2155: // @TODO Rename column data_type to e.g. mail_status
-./inc/functions.php:2505:// @TODO cacheFiles is not yet supported
+./inc/functions.php:1865: // @TODO Find a way to cache this
+./inc/functions.php:1969: // @TODO This is still very static, rewrite it somehow
+./inc/functions.php:2173: // @TODO Rename column data_type to e.g. mail_status
+./inc/functions.php:2523:// @TODO cacheFiles is not yet supported
./inc/gen_sql_patches.php:95:// @TODO Rewrite this to a filter
./inc/header.php:66:// @TODO Find a way to not use direct module comparison
./inc/install-functions.php:446: // @TODO Comparing with DEFAULT_MAIN_TITLE doesn't work
./inc/language-functions.php:254: // @TODO These are all valid languages, again hard-coded
./inc/language/install_de.php:142: // @TODO Move this to e.g. ext-smtp
./inc/language/newsletter_de.php:13: * @TODO This language file is completely out-dated, please do no *
-./inc/language/order_de.php:69: // @TODO Find better text
+./inc/language/order_de.php:70: // @TODO Find better text
./inc/language/rallye_de.php:13: * @TODO Naming convention not applied for language strings *
./inc/language/refback_de.php:51: // @TODO Rewrite these constants to one
./inc/libs/admins_functions.php:537: // @TODO This can be, somehow, rewritten
./inc/template-functions.php:209: * @TODO On some pages this is buggy
./inc/template-functions.php:298: // @TODO Remove these sanity checks if all is fine
./inc/template-functions.php:747: // @TODO $userid is deprecated and should be removed from loadEmailTemplate() and replaced with $content[userid] in all templates
-./inc/wrapper-functions.php:3197: // @TODO Find a way to not use direct module comparison
-./inc/wrapper-functions.php:524:// @TODO Do some more sanity check here
+./inc/wrapper-functions.php:3275: // @TODO Find a way to not use direct module comparison
+./inc/wrapper-functions.php:566:// @TODO Do some more sanity check here
./inc/xml-functions.php:240: // @TODO Handle characters
./mailid.php:123: // @TODO Rewrite this to a filter/function
./mailid.php:160: // @TODO Rewrite this to a filter
// 'DEFAULT_SALT_LENGTH' => 40,
// 'DEBUG_MODE' => 'N',
// 'DEBUG_HOURLY' => 'N',
- // 'DEBUG_RESET' => 'N',
+ // 'DEBUG_DAILY' => 'N',
// 'DEBUG_MONTHLY' => 'N',
// 'DEBUG_WEEKLY' => 'N',
// 'DEBUG_REGEX' => 'N',
// CFG: DEBUG-HOURLY (comment in to test hourly reset, comment out to not test)
//setConfigEntry('DEBUG_HOURLY', 'Y');
-// CFG: DEBUG-RESET (comment in to test daily reset, comment out to not test)
-//setConfigEntry('DEBUG_RESET', 'Y');
+// CFG: DEBUG-DAILY (comment in to test daily reset, comment out to not test)
+//setConfigEntry('DEBUG_DAILY', 'Y');
// CFG: DEBUG-WEEKLY (comment in to test weekly reset, comment out to not test)
//setConfigEntry('DEBUG_WEEKLY', 'Y');
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('bonus')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('autopurge')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('beg')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode
return;
} elseif (!isExtensionActive('birthday')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('bonus')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif ((!isExtensionActive('doubler')) || (getDoublerSendMode() != 'RESET')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('earning')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || ((!isResetModeEnabled()) && (getConfig('holiday_mode') == 'RESET'))) {
+} elseif ((!isHtmlOutputMode()) || ((!isDailyResetEnabled()) && (getConfig('holiday_mode') == 'RESET'))) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('holiday')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('order')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('profile')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('surfbar')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif ((!isExtensionActive('sql_patches')) || (!isExtensionActive('user'))) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionInstalledAndNewer('user', '0.5.8')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('yoomedia')) {
die();
} // END - if
-// @TODO Remove double tabs
+// @TODO Remove double tabs from all lines
switch (getCurrentExtensionVersion()) {
case '0.1.6': // SQL queries for v0.1.6
// Update notes (these will be set as task text!)
} // END - if
// Version number
-setThisExtensionVersion('0.5.7');
+setThisExtensionVersion('0.5.8');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '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'));
+setExtensionVersionHistory(array('0.0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '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'));
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion()) {
- case '0.1.0': // SQL queries for v0.1
- addConfigAddSql('order_max_full', "ENUM('ORDER','MAX') NOT NULL DEFAULT 'MAX'");
- addAdminMenuSql('setup','config_order','Mailbuchungsseite','Einstellungen am Mailbuchungsformular.',7);
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Maximale Mailbuchungen sind nun vom maximalen Empfang abhägig.");
- break;
-
- case '0.1.1': // SQL queries for v0.1.1
- addExtensionAddTableColumnSql('user_data', 'mail_orders', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Maximale Mailbuchung vervollständigt (Admin-Bereich und im Buchungsformular selber).");
- break;
-
- case '0.1.3': // SQL queries for v0.1.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Maximale Mailbuchungen repariert (werden nun hochgezählt und bei täglichem Reset auf 0 gesetzt).");
- break;
-
- case '0.1.4': // SQL queries for v0.1.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Dummy-Datenfeld wird wieder gelöscht, um Probleme zu vermeiden. Fehlende Spalte <span class=\"bad\">mail_order</span> korregiert auf <span class=\"bad\">mail_orders</span>.");
- break;
-
- case '0.1.5': // SQL queries for v0.1.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.1.6': // SQL queries for v0.1.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.1.7': // SQL queries for v0.1.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
- break;
-
- case '0.1.8': // SQL queries for v0.1.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
- break;
-
- case '0.1.9': // SQL queries for v0.1.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
- break;
-
- case '0.2.0': // SQL queries for v0.2.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
- break;
-
- case '0.2.1': // SQL queries for v0.2.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Templates <u>member_frameset-back.tpl</u> und <u>member_frameset-send.tpl</u> nach <u>member_order_back.tpl</u> und <u>member_order_send.tpl</u> umbenannt.");
- break;
-
- case '0.2.2': // SQL queries for v0.2.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Es wird nun überprüft ob auch genügend Empfänger eingegeben worden sind und ob auch genügend empfangsbereit sind.");
- break;
-
- case '0.2.3': // SQL queries for v0.2.3
- addConfigAddSql('order_min', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Minimum an Empfänger pro Mailbuchung einstellbar. Standard: 10 Empfänger");
- break;
-
- case '0.2.4': // SQL queries for v0.2.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Anzahl mindestens einszustellende Empfänger wird nun auch angezeigt.");
- break;
-
- case '0.2.5': // SQL queries for v0.2.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Speicherung der Einstellungen klappt.");
- break;
-
- case '0.2.6': // SQL queries for v0.2.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler in Mailbuchung behoben: Es wurde beim Ermitteln der nötigen {?POINTS?} die maximale Anzahl von Usern in der Kategorie gewählt und
-nicht die vom Mitglied eingegebene. Resultat: Das Script beschwerte sich, der User hätte nicht genügend {?POINTS?} auf dem Konto. Ein Rechenbeispiel:
-<ol>
- <li>Das Mitglied wählt eine Kategorie XYZ mit maximal 15 Empfängern aus.</li>
- <li>Es stellt die Mailart <u>"3 {?POINTS?} Kosten / Mail"</u> ein.</li>
- <li>Es hat aber nur {?POINTS?} für 10 Empfänger und gibt 10 ein.</li>
- <li>Das Script hatte bis zu dieser Version 3 {?POINTS?} * <u>15</u> = 45 {?POINTS?} gerechnet, hat das Mitglied mehr oder gleich 45 {?POINTS?}, fiehl dieser Fehler nicht
- auf.</li>
- <li>Hatte es aber, wie hier im Beispiel 31 {?POINTS?}, konnte es nicht mehr buchen.</li>
- <li>Jetzt ist der Fehler endlich weg! Machen Sie dies bitte Ihren Mitgliedern bekannt.</li>
-</ol>");
- break;
-
- case '0.2.7': // SQL queries for v0.2.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehler mit <u>__MIN_VALUE</u> behoben.");
- break;
-
- case '0.2.8': // SQL queries for v0.2.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Konstantenproblem beseitigt.");
- break;
-
- case '0.2.9': // SQL queries for v0.2.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Problem mit nicht funktionierenden Mailbuchungen beseitigt.");
- break;
-
- case '0.3.0': // SQL queries for v0.3.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Basis-Modul <strong>order.php</strong> abgesichert, wenn Erweiterung nicht aktiviert ist.");
- break;
-
- case '0.3.1': // SQL queries for v0.3.1
- addConfigAddSql('order_select', "VARCHAR(255) NOT NULL DEFAULT 'userid'");
- addConfigAddSql('order_mode', "ENUM('ASC','DESC') NOT NULL DEFAULT 'DESC'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Beworbene URL wird nun getestet.");
- break;
-
- case '0.3.2': // SQL queries for v0.3.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Datumsformat festgelegt auf ausführlich.");
- break;
-
- case '0.3.3': // SQL queries for v0.3.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Unter <strong>Einstellungen - Mailbuchungsseite</strong> war immer die Tabellenspalte <strong>Mitgliedsnummer</strong> ausgewählt.");
- break;
-
- case '0.3.4': // SQL queries for v0.3.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Dateiamenskonflikt zwischen den Erweiterungen <strong>support</strong> und <strong>order</strong> behoben.");
- break;
-
- case '0.3.5': // SQL queries for v0.3.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Das Mitglied konnte geziehlt die Anzahl Mailbuchungen durch Abspeichern seines Profiles beeinflussen. Der Fehler war eine falsche Tabellenspalte. Dies war <strong>max_mails</strong>, die durch das Mitglieder veränderbar ist und zur Festellung der Maximalen Mailbuchungen herangezogen wurde.");
- break;
-
- case '0.3.6': // SQL queries for v0.3.6
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Im Modul order (<strong>inc/modules/order.php</strong>) wurde fehlerhafterweise die Erweiterung <strong>beg</strong> getestet.");
- break;
-
- case '0.3.7': // SQL queries for v0.3.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("SQL-Anweisungen mit SQL_QUERY_ESC() abgesichert.");
- break;
-
- case '0.3.8': // SQL queries for v0.3.8
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Mailbuchungsseite korregiert.");
- break;
-
- case '0.3.9': // SQL queries for v0.3.9
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Erneuten Fehler in Mailbuchungsseite behoben.");
- break;
-
- case '0.4.0': // SQL queries for v0.4.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("{?POINTS?}-Abzug klappt wieder. Danke an Andreman!");
- break;
-
- case '0.4.1': // SQL queries for v0.4.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
- break;
-
- case '0.4.2': // SQL queries for v0.4.2
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
- break;
-
- case '0.4.3': // SQL queries for v0.4.3
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Neue Urlaubsschaltung mit integriert.");
- break;
-
- case '0.4.4': // SQL queries for v0.4.4
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Ein <strong>WHERE `ext_active`='Y'</strong> tauchte bei einigen Betreibern auf und ist mit dieser Version beseitigt.");
- break;
-
- case '0.4.5': // SQL queries for v0.4.5
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden.");
- break;
-
- case '0.4.6': // SQL queries for v0.4.6
- addMemberMenuSql('order', NULL, 'Mailbuchungen', 3);
- addMemberMenuSql('order', 'order2', 'Framekiller-Mails', 2);
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='order',`title`='Klick-Mails',`sort`=1 WHERE `what`='order' LIMIT 1");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
- break;
-
- case '0.4.7': // SQL queries for v0.4.7
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
- break;
-
- case '0.4.8': // SQL queries for v0.4.8
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mailbuchung' WHERE `what`='config_order' LIMIT 1");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Menüpunkt "Mailbuchungsseite" nach "Mailbuchung" umbenannt und weitere Einstellungen aus Sonstige Einstellungen verschoben.");
- break;
-
- case '0.4.9': // SQL queries for v0.4.9
- addConfigAddSql('repay_deleted_mails', "ENUM('REPAY','JACKPOT','SHRED') NOT NULL DEFAULT 'REPAY'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Bei Löschung von Mailbuchungen kann nun scripteweit entschieden werden (Einstellungen also), ob die verbliebenen {?POINTS?} wieder gutgeschrieben werden sollen oder in den Jackpot landen.");
- break;
-
- case '0.5.0': // SQL queries for v0.5.0
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Nicht mehr gültiges Update.");
- break;
-
- case '0.5.1': // SQL queries for v0.5.1
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Nicht mehr gültiges Update.");
- break;
-
- case '0.5.2': // SQL queries for v0.5.2
- addConfigDropSql('test_text');
- addConfigDropSql('test_subj');
- addConfigAddSql('allow_url_in_text', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
- addConfigAddSql('allow_url_in_subject', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Inkonsistenz in Konfigurationsnamen korregiert.");
- break;
-
- case '0.5.3': // SQL queries for v0.5.3
- addExtensionAddTableColumnSql('user_points', 'order_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
- addExtensionAddTableColumnSql('user_points', 'locked_order_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
-
- // This update depends on ext-user
- addExtensionDependency('user');
-
- // Register filters for gathering points
- registerFilter(__FILE__, __LINE__, 'get_total_points', 'ORDER_POINTS', FALSE, TRUE, isExtensionDryRun());
- registerFilter(__FILE__, __LINE__, 'get_own_points', 'ORDER_POINTS', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Weiteres Verwendungszwecke "Werbeguthaben" hinzugefügt (verschoben von ext-user) und neue Filter zum Zurückliefern des Werbeguthabens hinzugefügt.");
- break;
-
- case '0.5.4': // SQL queries for v0.5.4
- // Register filter for handling locked points
- registerFilter(__FILE__, __LINE__, 'get_locked_points', 'LOCKED_ORDER_POINTS', FALSE, TRUE, isExtensionDryRun());
-
- // Register filter for all column names
- registerFilter(__FILE__, __LINE__, 'get_all_point_columns', 'GET_ALL_ORDER_POINTS_COLUMN_NAMES', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter für gesperrtes Werbeguthaben hinzugefügt.");
- break;
-
- case '0.5.5': // SQL queries for v0.5.5
- // Register filter
- registerFilter(__FILE__, __LINE__, 'user_exclusion_sql', 'ORDER_ZIP_CODE_SQL', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter für gesperrtes Werbeguthaben hinzugefügt.");
- break;
-
- case '0.5.6': // SQL queries for v0.5.6
- // Register filter
- registerFilter(__FILE__, __LINE__, 'locked_points_columns_array', 'ORDER_POINTS_COLUMNS', FALSE, TRUE, isExtensionDryRun());
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter für Spaltenname des gesperrten Werbeguthabens hinzugefügt.");
- break;
-
- case '0.5.7': // SQL queries for v0.5.7
- addDropTableSql('url_blacklist');
-
- // Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Tabelle für URL-Sperrliste gelöscht (nach <strong>ext-blacklist</strong> verschoben).");
- break;
- } // END - switch
break;
case 'modify': // When the extension got modified
} // END - if
// Version number
-setThisExtensionVersion('0.0.9');
+setThisExtensionVersion('0.1.0');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.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'));
+setExtensionVersionHistory(array('0.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'));
switch (getExtensionMode()) {
case 'setup': // Do stuff when installation is running
case 'remove': // Do stuff when removing extension
// SQL commands to run
- addExtensionSql('');
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_profile'");
break;
case 'activate': // Do stuff when admin activates this extension
case '0.0.5': // SQL queries for v0.0.5
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Profilaktualisierungsmails werden nur dann ausgesendet, wenn <u>profile_update</u> und <u>prof_reupdate</u> > 0 sind.");
+ setExtensionUpdateNotes("Profilaktualisierungsmails werden nur dann ausgesendet, wenn <u>profile_update</u> und <u>resend_profile_update</u> > 0 sind.");
break;
case '0.0.6': // SQL queries for v0.0.6
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
break;
- }
+
+ case '0.1.0': // SQL queries for v0.1.0
+ // Add config SQLs
+ addConfigAddSql('profile_update', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 15768000');
+ addConfigChangeSql('send_prof_update', 'send_profile_update', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+ addConfigAddSql('resend_profile_update', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 172800');
+
+ // Admin menu
+ addAdminMenuSql('setup','config_profile','Mitgliedsprofile','Einstellungen für Mitgliedprofile.',14);
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Tabellenspalten aus Konfiguration in diese Erweiterung verschoben und umbenannt.");
+ break;
+ } // END - switch
break;
case 'modify': // When the extension got modified
default: // Unknown extension mode
reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
break;
-}
+} // END - switch
// [EOF]
?>
} // END - if
// Version number
-setThisExtensionVersion('0.9.7');
+setThisExtensionVersion('0.9.8');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.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', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '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', '0.7.1', '0.7.2', '0.7.3', '0.7.4', '0.7.5', '0.7.6', '0.7.7', '0.7.8', '0.7.9', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5', '0.8.6', '0.8.7', '0.8.8', '0.8.9', '0.9.0', '0.9.1', '0.9.2', '0.9.3', '0.9.4', '0.9.5', '0.9.6', '0.9.7'));
+setExtensionVersionHistory(array('0.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', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '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', '0.7.1', '0.7.2', '0.7.3', '0.7.4', '0.7.5', '0.7.6', '0.7.7', '0.7.8', '0.7.9', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5', '0.8.6', '0.8.7', '0.8.8', '0.8.9', '0.9.0', '0.9.1', '0.9.2', '0.9.3', '0.9.4', '0.9.5', '0.9.6', '0.9.7', '0.9.8'));
// Keep this extension always active!
setExtensionAlwaysActive('Y');
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 01/22/2013 *
+ * =================== Last change: 01/22/2013 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : mode-update.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Swapped out order system for PRO version *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Ausgelagertes Buchungssytem fuer PRO-Version *
+ * -------------------------------------------------------------------- *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+ die();
+} // END - if
+
+// @TODO Remove double-tab from all lines
+ switch (getCurrentExtensionVersion()) {
+ case '0.1.0': // SQL queries for v0.1
+ addConfigAddSql('order_max_full', "ENUM('ORDER','MAX') NOT NULL DEFAULT 'MAX'");
+ addAdminMenuSql('setup','config_order','Mailbuchungsseite','Einstellungen am Mailbuchungsformular.',7);
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Maximale Mailbuchungen sind nun vom maximalen Empfang abhägig.");
+ break;
+
+ case '0.1.1': // SQL queries for v0.1.1
+ addExtensionAddTableColumnSql('user_data', 'mail_orders', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Maximale Mailbuchung vervollständigt (Admin-Bereich und im Buchungsformular selber).");
+ break;
+
+ case '0.1.3': // SQL queries for v0.1.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Maximale Mailbuchungen repariert (werden nun hochgezählt und bei täglichem Reset auf 0 gesetzt).");
+ break;
+
+ case '0.1.4': // SQL queries for v0.1.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Dummy-Datenfeld wird wieder gelöscht, um Probleme zu vermeiden. Fehlende Spalte <span class=\"bad\">mail_order</span> korregiert auf <span class=\"bad\">mail_orders</span>.");
+ break;
+
+ case '0.1.5': // SQL queries for v0.1.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.1.6': // SQL queries for v0.1.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.1.7': // SQL queries for v0.1.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
+ break;
+
+ case '0.1.8': // SQL queries for v0.1.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
+ break;
+
+ case '0.1.9': // SQL queries for v0.1.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
+ break;
+
+ case '0.2.0': // SQL queries for v0.2.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Seit <strong>Patch 340</strong> überflüssige HTML-Tags entfernt.");
+ break;
+
+ case '0.2.1': // SQL queries for v0.2.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Templates <u>member_frameset-back.tpl</u> und <u>member_frameset-send.tpl</u> nach <u>member_order_back.tpl</u> und <u>member_order_send.tpl</u> umbenannt.");
+ break;
+
+ case '0.2.2': // SQL queries for v0.2.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Es wird nun überprüft ob auch genügend Empfänger eingegeben worden sind und ob auch genügend empfangsbereit sind.");
+ break;
+
+ case '0.2.3': // SQL queries for v0.2.3
+ addConfigAddSql('order_min', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Minimum an Empfänger pro Mailbuchung einstellbar. Standard: 10 Empfänger");
+ break;
+
+ case '0.2.4': // SQL queries for v0.2.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Anzahl mindestens einszustellende Empfänger wird nun auch angezeigt.");
+ break;
+
+ case '0.2.5': // SQL queries for v0.2.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Speicherung der Einstellungen klappt.");
+ break;
+
+ case '0.2.6': // SQL queries for v0.2.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler in Mailbuchung behoben: Es wurde beim Ermitteln der nötigen {?POINTS?} die maximale Anzahl von Usern in der Kategorie gewählt und
+nicht die vom Mitglied eingegebene. Resultat: Das Script beschwerte sich, der User hätte nicht genügend {?POINTS?} auf dem Konto. Ein Rechenbeispiel:
+<ol>
+ <li>Das Mitglied wählt eine Kategorie XYZ mit maximal 15 Empfängern aus.</li>
+ <li>Es stellt die Mailart <u>"3 {?POINTS?} Kosten / Mail"</u> ein.</li>
+ <li>Es hat aber nur {?POINTS?} für 10 Empfänger und gibt 10 ein.</li>
+ <li>Das Script hatte bis zu dieser Version 3 {?POINTS?} * <u>15</u> = 45 {?POINTS?} gerechnet, hat das Mitglied mehr oder gleich 45 {?POINTS?}, fiehl dieser Fehler nicht
+ auf.</li>
+ <li>Hatte es aber, wie hier im Beispiel 31 {?POINTS?}, konnte es nicht mehr buchen.</li>
+ <li>Jetzt ist der Fehler endlich weg! Machen Sie dies bitte Ihren Mitgliedern bekannt.</li>
+</ol>");
+ break;
+
+ case '0.2.7': // SQL queries for v0.2.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehler mit <u>__MIN_VALUE</u> behoben.");
+ break;
+
+ case '0.2.8': // SQL queries for v0.2.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Konstantenproblem beseitigt.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Problem mit nicht funktionierenden Mailbuchungen beseitigt.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Basis-Modul <strong>order.php</strong> abgesichert, wenn Erweiterung nicht aktiviert ist.");
+ break;
+
+ case '0.3.1': // SQL queries for v0.3.1
+ addConfigAddSql('order_select', "VARCHAR(255) NOT NULL DEFAULT 'userid'");
+ addConfigAddSql('order_mode', "ENUM('ASC','DESC') NOT NULL DEFAULT 'DESC'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Beworbene URL wird nun getestet.");
+ break;
+
+ case '0.3.2': // SQL queries for v0.3.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Datumsformat festgelegt auf ausführlich.");
+ break;
+
+ case '0.3.3': // SQL queries for v0.3.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Unter <strong>Einstellungen - Mailbuchungsseite</strong> war immer die Tabellenspalte <strong>Mitgliedsnummer</strong> ausgewählt.");
+ break;
+
+ case '0.3.4': // SQL queries for v0.3.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Dateiamenskonflikt zwischen den Erweiterungen <strong>support</strong> und <strong>order</strong> behoben.");
+ break;
+
+ case '0.3.5': // SQL queries for v0.3.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Das Mitglied konnte geziehlt die Anzahl Mailbuchungen durch Abspeichern seines Profiles beeinflussen. Der Fehler war eine falsche Tabellenspalte. Dies war <strong>max_mails</strong>, die durch das Mitglieder veränderbar ist und zur Festellung der Maximalen Mailbuchungen herangezogen wurde.");
+ break;
+
+ case '0.3.6': // SQL queries for v0.3.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Im Modul order (<strong>inc/modules/order.php</strong>) wurde fehlerhafterweise die Erweiterung <strong>beg</strong> getestet.");
+ break;
+
+ case '0.3.7': // SQL queries for v0.3.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("SQL-Anweisungen mit SQL_QUERY_ESC() abgesichert.");
+ break;
+
+ case '0.3.8': // SQL queries for v0.3.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Mailbuchungsseite korregiert.");
+ break;
+
+ case '0.3.9': // SQL queries for v0.3.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Erneuten Fehler in Mailbuchungsseite behoben.");
+ break;
+
+ case '0.4.0': // SQL queries for v0.4.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("{?POINTS?}-Abzug klappt wieder. Danke an Andreman!");
+ break;
+
+ case '0.4.1': // SQL queries for v0.4.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
+ break;
+
+ case '0.4.2': // SQL queries for v0.4.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
+ break;
+
+ case '0.4.3': // SQL queries for v0.4.3
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Neue Urlaubsschaltung mit integriert.");
+ break;
+
+ case '0.4.4': // SQL queries for v0.4.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Ein <strong>WHERE `ext_active`='Y'</strong> tauchte bei einigen Betreibern auf und ist mit dieser Version beseitigt.");
+ break;
+
+ case '0.4.5': // SQL queries for v0.4.5
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden.");
+ break;
+
+ case '0.4.6': // SQL queries for v0.4.6
+ addMemberMenuSql('order', NULL, 'Mailbuchungen', 3);
+ addMemberMenuSql('order', 'order2', 'Framekiller-Mails', 2);
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='order',`title`='Klick-Mails',`sort`=1 WHERE `what`='order' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
+ break;
+
+ case '0.4.7': // SQL queries for v0.4.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
+ break;
+
+ case '0.4.8': // SQL queries for v0.4.8
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mailbuchung' WHERE `what`='config_order' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Menüpunkt "Mailbuchungsseite" nach "Mailbuchung" umbenannt und weitere Einstellungen aus Sonstige Einstellungen verschoben.");
+ break;
+
+ case '0.4.9': // SQL queries for v0.4.9
+ addConfigAddSql('repay_deleted_mails', "ENUM('REPAY','JACKPOT','SHRED') NOT NULL DEFAULT 'REPAY'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Bei Löschung von Mailbuchungen kann nun scripteweit entschieden werden (Einstellungen also), ob die verbliebenen {?POINTS?} wieder gutgeschrieben werden sollen oder in den Jackpot landen.");
+ break;
+
+ case '0.5.0': // SQL queries for v0.5.0
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nicht mehr gültiges Update.");
+ break;
+
+ case '0.5.1': // SQL queries for v0.5.1
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nicht mehr gültiges Update.");
+ break;
+
+ case '0.5.2': // SQL queries for v0.5.2
+ addConfigDropSql('test_text');
+ addConfigDropSql('test_subj');
+ addConfigAddSql('allow_url_in_text', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+ addConfigAddSql('allow_url_in_subject', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Inkonsistenz in Konfigurationsnamen korregiert.");
+ break;
+
+ case '0.5.3': // SQL queries for v0.5.3
+ addExtensionAddTableColumnSql('user_points', 'order_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+ addExtensionAddTableColumnSql('user_points', 'locked_order_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
+
+ // This update depends on ext-user
+ addExtensionDependency('user');
+
+ // Register filters for gathering points
+ registerFilter(__FILE__, __LINE__, 'get_total_points', 'ORDER_POINTS', FALSE, TRUE, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'get_own_points', 'ORDER_POINTS', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Weiteres Verwendungszwecke "Werbeguthaben" hinzugefügt (verschoben von ext-user) und neue Filter zum Zurückliefern des Werbeguthabens hinzugefügt.");
+ break;
+
+ case '0.5.4': // SQL queries for v0.5.4
+ // Register filter for handling locked points
+ registerFilter(__FILE__, __LINE__, 'get_locked_points', 'LOCKED_ORDER_POINTS', FALSE, TRUE, isExtensionDryRun());
+
+ // Register filter for all column names
+ registerFilter(__FILE__, __LINE__, 'get_all_point_columns', 'GET_ALL_ORDER_POINTS_COLUMN_NAMES', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter für gesperrtes Werbeguthaben hinzugefügt.");
+ break;
+
+ case '0.5.5': // SQL queries for v0.5.5
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'user_exclusion_sql', 'ORDER_ZIP_CODE_SQL', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter für gesperrtes Werbeguthaben hinzugefügt.");
+ break;
+
+ case '0.5.6': // SQL queries for v0.5.6
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'locked_points_columns_array', 'ORDER_POINTS_COLUMNS', FALSE, TRUE, isExtensionDryRun());
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Filter für Spaltenname des gesperrten Werbeguthabens hinzugefügt.");
+ break;
+
+ case '0.5.7': // SQL queries for v0.5.7
+ addDropTableSql('url_blacklist');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Tabelle für URL-Sperrliste gelöscht (nach <strong>ext-blacklist</strong> verschoben).");
+ break;
+
+ case '0.5.8': // SQL queries for v0.5.8
+ addConfigAddSql('order_multi_page', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Spalte wird nun in dieser Erweiterung hinzugefügt (vorher: allgemeine <strong>tables.sql</strong>).");
+ break;
+ } // END - switch
+
+// [EOF]
+?>
die();
} // END - if
-// @TODO Remove double tabs
+// @TODO Remove double tabs from all lines
// Try to make it depend on repair
addExtensionDependency('repair');
die();
} // END - if
-// @TODO Remove double-tabs
+// @TODO Remove double tabs from all lines
switch (getCurrentExtensionVersion()) {
case '0.0.1': // SQL queries for v0.0.1
addAdminMenuSql('setup', 'config_extensions', 'Erweitungsmanagement', 'Alle Einstellungen am Erweiterungsmanagement.', 10);
break;
case '0.4.5': // SQL queries for v0.4.5
- addConfigAddSql('last_month', 'CHAR(2) NOT NULL DEFAULT 00');
- addConfigAddSql('last_week', 'CHAR(2) NOT NULL DEFAULT 00');
+ addConfigAddSql('last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigAddSql('last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Täglichen/wöchentlichen/monatlichen Reset verbessert.");
break;
case '0.7.5': // SQL queries for v0.7.5
- addConfigAddSql('last_hour', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigAddSql('last_hourly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Aktuelle Stunde hinzugefügt (ist nicht konfigurierbar).");
break;
case '0.7.6': // SQL queries for v0.7.6
- addConfigChangeSql('last_month', 'last_month', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
- addConfigChangeSql('last_week', 'last_week', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigChangeSql('last_monthly', 'last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigChangeSql('last_weekly' , 'last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Spaltentyp fuer kleine Zahlen sollten auch z.B. TINYINT sein.");
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Filter hinzugefügt, der die Standard-Referral-Id für SQL-Befehle ausschliesst.");
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;
+ case '0.9.8': // SQL queries for v0.9.8
+ addConfigChangeSql('last_hour' , 'last_hourly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigChangeSql('last_update', 'last_daily' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigChangeSql('last_week' , 'last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
+ addConfigChangeSql('last_month' , 'last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
- default: // Unknown extension mode
- reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
- break;
-} // END - switch
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Spalten umbenannt, damit die Namen (Verwendung) nun eindeutiger sind.");
+ break;
+ } // END - switch
// [EOF]
?>
die();
} // END - if
-// @TODO Remove double tabs
+// @TODO Remove double tabs from all lines
switch (getCurrentExtensionVersion()) {
case '0.1.0': // SQL queries for v0.1
addConfigAddSql('user_limit', 'INT(7) UNSIGNED NOT NULL DEFAULT 20');
registerFilter(__FUNCTION__, __LINE__, 'init', 'CHECK_REPOSITORY_REVISION');
registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_HOURLY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_DAILY_RESET');
+ registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_WEEKLY_RESET');
+ registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_MONTHLY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'TRIGGER_SENDING_POOL');
// @TODO Remove this forced removal after a year or so
unregisterFilter(__FUNCTION__, __LINE__, 'init', 'DETERMINE_USERNAME', TRUE);
// Do hourly reset stuff, keep this entry first in this chain:
registerFilter(__FUNCTION__, __LINE__, 'hourly', 'RUN_HOURLY_INCLUDES');
- // Do reset stuff, keep this entry first in this chain:
- registerFilter(__FUNCTION__, __LINE__, 'reset', 'RUN_RESET_INCLUDES');
+ // Do daily stuff, keep this entry first in this chain:
+ registerFilter(__FUNCTION__, __LINE__, 'daily', 'RUN_DAILY_INCLUDES');
+
+ // Do weekly stuff, keep this entry first in this chain:
+ registerFilter(__FUNCTION__, __LINE__, 'weekly', 'RUN_WEEKLY_INCLUDES');
+
+ // Do monthly stuff, keep this entry first in this chain:
+ registerFilter(__FUNCTION__, __LINE__, 'monthly', 'RUN_MONTHLY_INCLUDES');
// Remove extension
registerFilter(__FUNCTION__, __LINE__, 'extension_remove', 'REMOVE_EXTENSION');
// Is the reset set or old sql_patches?
if (((!isHourlyResetEnabled()) || (!isExtensionInstalledAndNewer('sql_patches', '0.7.5'))) && (isHtmlOutputMode())) {
// Then abort here
- reportBug(__FUNCTION__, __LINE__, 'Cannot run reset! enabled='.intval(isHourlyResetEnabled()).',ext_newer[sql_patches:0.7.5]='.intval(isExtensionInstalledAndNewer('sql_patches', '0.7.5')).' Please report this bug. Thanks');
+ reportBug(__FUNCTION__, __LINE__, 'Cannot run hourly reset! enabled='.intval(isHourlyResetEnabled()).',ext='.intval(isExtensionInstalledAndNewer('sql_patches', '0.9.8')).' Please report this bug. Thanks');
} // END - if
- // Get more hourly reset scripts
- setIncludePool('hourly', getArrayFromDirectory('inc/hourly/', 'hourly_'));
+ // Is the config entry set?
+ if (isExtensionInstalledAndNewer('sql_patches', '0.7.5')) {
+ // Get more hourly reset scripts
+ setIncludePool('hourly', getArrayFromDirectory('inc/hourly/', 'hourly_'));
- // Update database
- if ((!isConfigEntrySet('DEBUG_HOURLY')) || (!isDebugHourlyEnabled())) {
- updateConfiguration('last_hour', getHour());
- } // END - if
+ // Update database
+ if ((!isConfigEntrySet('DEBUG_HOURLY')) || (!isDebugHourlyEnabled())) {
+ updateConfiguration('last_hourly', getHour());
+ } // END - if
- // Run the filter
- runFilterChain('load_includes', 'hourly');
+ // Run the filter
+ runFilterChain('load_includes', 'hourly');
+ } // END - if
}
-// Load more reset scripts
-function FILTER_RUN_RESET_INCLUDES () {
+// Load more daily scripts
+function FILTER_RUN_DAILY_INCLUDES () {
// Is the reset set or old sql_patches?
- if (((!isResetModeEnabled()) || (!isExtensionInstalled('sql_patches'))) && (isHtmlOutputMode())) {
+ if (((!isDailyResetEnabled()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) && (isHtmlOutputMode())) {
// Then abort here
- reportBug(__FUNCTION__, __LINE__, 'Cannot run reset! enabled='.intval(isResetModeEnabled()).',ext='.intval(isExtensionInstalled('sql_patches')).' Please report this bug. Thanks');
+ reportBug(__FUNCTION__, __LINE__, 'Cannot run daily reset! enabled='.intval(isDailyResetEnabled()).',ext='.intval(isExtensionInstalledAndNewer('sql_patches', '0.9.8')).' Please report this bug. Thanks');
} // END - if
// Get more daily reset scripts
- setIncludePool('reset', getArrayFromDirectory('inc/daily/', 'daily_'));
+ setIncludePool('daily', getArrayFromDirectory('inc/daily/', 'daily_'));
// Update configuration if this reset is not being debugged
- if (!isDebugResetEnabled()) {
- updateConfiguration('last_update', 'UNIX_TIMESTAMP()');
+ if (!isDebugDailyEnabled()) {
+ updateConfiguration('last_daily', getDay());
+ } // END - if
+
+ // Run the filter
+ runFilterChain('load_includes', 'daily');
+}
+
+// Load more weeklt scripts
+function FILTER_RUN_WEEKLY_INCLUDES () {
+ // Is the reset set or old sql_patches?
+ if (((!isWeeklyResetDebugEnabled()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) && (isHtmlOutputMode())) {
+ // Then abort here
+ reportBug(__FUNCTION__, __LINE__, 'Cannot run weekly reset! enabled='.intval(isWeeklyResetDebugEnabled()).',ext='.intval(isExtensionInstalledAndNewer('sql_patches', '0.9.8')).' Please report this bug. Thanks');
} // END - if
// Is the config entry set?
if (isExtensionInstalledAndNewer('sql_patches', '0.4.2')) {
// Has it changed?
- if (((isConfigEntrySet('last_week')) && (getConfig('last_week') != getWeek())) || (isWeeklyResetDebugEnabled())) {
+ if (((isConfigEntrySet('last_weekly')) && (getLastWeekly() != getWeek())) || (isWeeklyResetDebugEnabled())) {
// Include weekly reset scripts
- mergeIncludePool('reset', getArrayFromDirectory('inc/weekly/', 'weekly_'));
+ setIncludePool('weekly', getArrayFromDirectory('inc/weekly/', 'weekly_'));
// Update configuration if this reset is not being debugged
if (!isWeeklyResetDebugEnabled()) {
- updateConfiguration('last_week', getWeek());
+ updateConfiguration('last_weekly', getWeek());
} // END - if
} // END - if
+ // Run the filter
+ runFilterChain('load_includes', 'weekly');
+ } // END - if
+}
+
+// Load more monthly scripts
+function FILTER_RUN_MONTHLY_INCLUDES () {
+ // Is the reset set or old sql_patches?
+ if (((!isMonthlyResetDebugEnabled()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) && (isHtmlOutputMode())) {
+ // Then abort here
+ reportBug(__FUNCTION__, __LINE__, 'Cannot run monthly reset! enabled='.intval(isMonthlyResetDebugEnabled()).',ext='.intval(isExtensionInstalledAndNewer('sql_patches', '0.9.8')).' Please report this bug. Thanks');
+ } // END - if
+
+ // Is the config entry set?
+ if (isExtensionInstalledAndNewer('sql_patches', '0.4.2')) {
// Create current month mark
$currMonth = getMonth();
// Has it changed?
- if ((getLastMonth() != $currMonth) || (isMonthlyResetDebugEnabled())) {
+ if ((getLastMonthly() != $currMonth) || (isMonthlyResetDebugEnabled())) {
// Include monthly reset scripts
- mergeIncludePool('reset', getArrayFromDirectory('inc/monthly/', 'monthly_'));
+ setIncludePool('monthly', getArrayFromDirectory('inc/monthly/', 'monthly_'));
// Update configuration if this reset is not being debugged
if (!isMonthlyResetDebugEnabled()) {
- updateConfiguration('last_month', $currMonth);
+ updateConfiguration('last_monthly', $currMonth);
} // END - if
} // END - if
} // END - if
// Run the filter
- runFilterChain('load_includes', 'reset');
+ runFilterChain('load_includes', 'monthly');
}
// Filter for removing the given extension
// Filter for checking and updating SVN revision
function FILTER_CHECK_REPOSITORY_REVISION () {
// Only execute this filter if installed and all config entries are there
- if ((!isInstalled()) || (!isConfigEntrySet('patch_level'))) return;
+ if ((!isInstalled()) || (!isConfigEntrySet('patch_level'))) {
+ return;
+ } // END - if
// Check for patch level differences between database and current hard-coded
if ((getCurrentRepositoryRevision() > getConfig('patch_level')) || (getConfig('patch_level') == 'CURRENT_REPOSITORY_REVISION') || (getConfig('patch_ctime') == 'UNIX_TIMES')) {
} // END - if
}
+// Filter for running hourly reset
+function FILTER_RUN_HOURLY_RESET () {
+ // Only execute this filter if installed
+ if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ return;
+ } // END - if
+
+ // Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
+ if (((getLastHourly() != getHour()) || (isDebugHourlyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ // Tell every module we are in reset-mode!
+ doHourly();
+ } // END - if
+}
+
// Filter for running daily reset
function FILTER_RUN_DAILY_RESET () {
// Only execute this filter if installed
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalled('sql_patches'))) {
+ if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
return;
} // END - if
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
- if (((getDay(getConfig('last_update')) != getDay()) || (isDebugResetEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ if (((getLastDaily() != getDay()) || (isDebugDailyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
// Tell every module we are in reset-mode!
- doReset();
+ doDaily();
} // END - if
}
-// Filter for running hourly reset
-function FILTER_RUN_HOURLY_RESET () {
+// Filter for running weekly reset
+function FILTER_RUN_WEEKLY_RESET () {
// Only execute this filter if installed
- if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.7.5'))) {
+ if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
return;
} // END - if
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
- if ((((isConfigEntrySet('last_hour')) && (getConfig('last_hour') != getHour())) || (isDebugHourlyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ if (((getLastWeekly() != getWeek()) || (isDebugWeeklyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
// Tell every module we are in reset-mode!
- doHourly();
+ doWeekly();
+ } // END - if
+}
+
+// Filter for running monthly reset
+function FILTER_RUN_MONTHLY_RESET () {
+ // Only execute this filter if installed
+ if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered()) || (!isExtensionInstalledAndNewer('sql_patches', '0.9.8'))) {
+ return;
+ } // END - if
+
+ // Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
+ if (((getLastMonthly() != getMonth()) || (isDebugMonthlyEnabled())) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('setup')) && (!isCssOutputMode())) {
+ // Tell every module we are in reset-mode!
+ doMonthly();
} // END - if
}
// Update module counter
function FILTER_COUNT_MODULE () {
- // Is installation phase?
- if (isInstallationPhase()) {
+ // Is installation phase or no admin registered?
+ if ((isInstallationPhase()) || (!isInstalled()) || (!isAdminRegistered())) {
// Then don't count any modules
return;
} // END - if
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getModule()=' . getModule() . ' - ENTERED!');
- // Do count all other modules but not accesses on CSS file css.php!
+ // Count module click
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `clicks`=`clicks`+1 WHERE `module`='%s' LIMIT 1",
array(getModule()), __FUNCTION__, __LINE__);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getModule()=' . getModule() . ',SQL_AFFECTEDROWS()=' . SQL_AFFECTEDROWS() . ' - EXIT!');
}
}
-// Enables the reset mode and runs it
-function doReset () {
- // Enable the reset mode
- $GLOBALS['reset_enabled'] = TRUE;
-
- // Run filters
- runFilterChain('reset');
-}
-
-// Enables the reset mode (hourly, weekly and monthly) and runs it
+// Enables the hourly reset mode and runs it
function doHourly () {
// Enable the hourly reset mode
$GLOBALS['hourly_enabled'] = TRUE;
runFilterChain('hourly');
}
+// Enables the daily reset mode and runs it
+function doDaily () {
+ // Enable the reset mode
+ $GLOBALS['daily_enabled'] = TRUE;
+
+ // Run filters
+ runFilterChain('daily');
+}
+
+// Enables the weekly reset mode and runs it
+function doWeekly () {
+ // Enable the reset mode
+ $GLOBALS['weekly_enabled'] = TRUE;
+
+ // Run filters
+ runFilterChain('weekly');
+}
+
+// Enables the monthly reset mode and runs it
+function doMonthly () {
+ // Enable the reset mode
+ $GLOBALS['monthly_enabled'] = TRUE;
+
+ // Run filters
+ runFilterChain('monthly');
+}
+
// Shuts down the mailer (e.g. closing database link, flushing output/filters, etc.)
function doShutdown () {
// Call the filter chain 'shutdown'
'ADMIN_CONFIG_CHECK_EMAIL_TEXT' => "Sind URLs im Werbetext erlaubt?",
'ADMIN_CONFIG_CHECK_EMAIL_SUBJECT' => "Sind URLs in der Betreffzeile erlaubt?",
'ADMIN_CONFIG_ORDER_NOTICE' => "Das Auswahlverfahren von Mailempfängern wirkt sich nur auf kleinere Buchungen - mit weniger Empfänger als maximal möglich - aus.",
+ 'ADMIN_CONFIG_ORDER_MULTI_PAGE' => "Soll die Mailbuchungsseite in mehrere aufgeteilt werden? Dies erlaubt den Versand nach Postleitzahl zum Bespielt.",
// Admin config - repay options
'ADMIN_CONFIG_REPAY_POINTS_REPAY' => "Dem Mitglied wieder gutschreiben",
'ADMIN_CONFIG_OTHER_TITLE' => "Sonstige Einstellungen",
'ADMIN_CONFIG_URL_TIME_LOCK' => "Selbe beworbene URL nicht mehr bewerbar (0 = URL sofort erneut buchbar)",
'ADMIN_CONFIG_POOL_MAX_SEND' => "Anzahl zu sendender Mails aus dem Pool",
- 'ADMIN_CONFIG_LOCK_PROFILE_TIME' => "Sperrzeit des Mitgliedprofiles nach Änderung (0 = Keine Sperrzeit)",
'ADMIN_CONFIG_AUTOSEND_ACTIVE' => "Ist der Auto-Versand aktiviert?",
'ADMIN_CONFIG_NOTIFY_ADMIN' => "Benachrichtigung bei Profiländerung?",
'ADMIN_CONFIG_MAX_ONLINETIME' => "Timeout für Who-is-Online",
- 'ADMIN_CONFIG_SEND_UPDATE' => "Mail zur Erneurung des Profiles senden?",
'ADMIN_CONFIG_SENDING_TITLE' => "Versand-Optionen",
'ADMIN_CONFIG_NOTIFY_TITLE' => "Benachrichtigungsoptionen",
'ADMIN_CONFIG_TIMEOUT_TITLE' => "Time-out Optionen",
- 'ADMIN_CONFIG_PROFILE_TIME_TITLE' => "Zeitenangaben für Mitgliederprofile",
- 'ADMIN_CONFIG_PROFILE_UPDATE' => "Profilaktualisierungsinterval (0 = Keine Erinnerung aussenden)",
- 'ADMIN_CONFIG_PROFILE_REUPDATE' => "Erneute Aussendung der Mail (0 = Keine Erinnerung aussenden)",
'ADMIN_CONFIG_CODE_LENGTH' => "Länge des grafischen Codes im Best.-Frame (0 = Nur Button anklicken)",
'ADMIN_CODE_LENGTH_NOTICE' => "(Zeichenanzahl)",
'ADMIN_CONFIG_ACTIVATE_EXCHANGE' => "Automatisches Freischalten des {?mt_word2?}, wenn x Mitglieder empfangsbereit sind. 0 = Funktion abschalten",
- 'ADMIN_CONFIG_ZIPCODE_ACTIVE' => "Versand nach Postleitzahl (PLZ) erlauben?",
'ADMIN_CONFIG_POINTS_WORD' => "Währung Ihres Tausches (Klammlose, Wernis, Primera, FuCo, etc.)",
'ADMIN_CONFIG_MAX_COMMA' => "Angezeigte Stellen hinter dem Komma",
'ADMIN_CONFIG_CSS_PHP' => "Sollen die CSS-Dateien direkt ausgegeben werden oder von css.php angezeigt werden?",
// Language definitions
addMessages(array(
- // Subject lines
+ // Admin - configuration
+ 'ADMIN_CONFIG_PROFILE_TITLE' => "Einstellungen zu den Mitgliedsprofilen",
+ 'ADMIN_CONFIG_LOCK_PROFILE_TIME' => "Sperrzeit des Mitgliedprofiles nach Änderung (0 = Keine Sperrzeit)",
+ 'ADMIN_CONFIG_PROFILE_TIME_TITLE' => "Zeitenangaben für Mitgliederprofile",
+ 'ADMIN_CONFIG_PROFILE_UPDATE' => "Profilaktualisierungsinterval (0 = Keine Erinnerung aussenden)",
+ 'ADMIN_CONFIG_PROFILE_REUPDATE' => "Erneute Aussendung der Mail (0 = Keine Erinnerung aussenden)",
+ 'ADMIN_CONFIG_PROFILE_NOTICE' => "<strong>Hinweise:</strong> <em>Derzeit keine für diese Einstellungen vorhanden.</em>",
+ 'ADMIN_CONFIG_SEND_PROFILE_UPDATE' => "Mail zur Erneurung des Profiles senden?",
+
+ // Member - subject lines
'MEMBER_PROFILE_OUTDATED_SUBJECT' => "Haben Sie Neuigkeiten für uns?",
+
+ // Member - general
'MEMBER_PROFILE_NEVER_CHANGED' => "Sie haben noch nie eine Änderung durchgeführt.",
));
return $GLOBALS[__FUNCTION__];
}
-// Getter for send_prof_update
-function getSendProfUpdate () {
+// Getter for send_profile_update
+function getSendProfileUpdate () {
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__])) {
// Determine it
- $GLOBALS[__FUNCTION__] = getConfig('send_prof_update');
+ $GLOBALS[__FUNCTION__] = getConfig('send_profile_update');
} // END - if
// Return cache
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__])) {
// Determine it
- $GLOBALS[__FUNCTION__] = (getSendProfUpdate() == 'Y');
+ $GLOBALS[__FUNCTION__] = ((isExtensionInstalledAndNewer('profile', '0.1.0')) && (getSendProfileUpdate() == 'Y'));
} // END - if
// Return cache
}
// Create timemark from saved month
-$mark = mktime(0, 0, 0, getLastMonth(), getDay(), getYear());
+$mark = mktime(0, 0, 0, getLastMonthly(), getDay(), getYear());
$sql = ''; $mode = '';
// Shall I sent activation or deactivation mail?
}
// Create timemark from saved month
-$mark = mktime(0, 0, 0, getLastMonth(), getDay(), getYear());
+$mark = mktime(0, 0, 0, getLastMonthly(), getDay(), getYear());
$sql = ''; $mode = '';
// Shall I sent activation or deactivation mail?
setPostRequestElement('online_timeout' , createEpocheTimeFromSelections('online_timeout' , postRequestArray()));
setPostRequestElement('url_tlock' , createEpocheTimeFromSelections('url_tlock' , postRequestArray()));
setPostRequestElement('profile_lock' , createEpocheTimeFromSelections('profile_lock' , postRequestArray()));
- setPostRequestElement('profile_update' , createEpocheTimeFromSelections('profile_update' , postRequestArray()));
- setPostRequestElement('resend_profile_update', createEpocheTimeFromSelections('resend_profile_update', postRequestArray()));
// Online-Timeout shall be > 0 or your database will crow and crow and crow...
if (!isPostRequestElementSet('online_timeout')) { unsetPostRequestElement('ok'); }
// Chedck other timestamps (which can be zero!)
if (!isPostRequestElementSet('profile_lock')) { unsetPostRequestElement('ok'); }
if (!isPostRequestElementSet('url_tlock')) { unsetPostRequestElement('ok'); }
- if (!isPostRequestElementSet('profile_update')) { unsetPostRequestElement('ok'); }
- if (!isPostRequestElementSet('resend_profile_update')) { unsetPostRequestElement('ok'); }
// Check other settings
if (!isPostRequestElementSet('max_send')) { unsetPostRequestElement('ok'); }
$content['online_timeout'] = createConfigurationTimeSelections('online_timeout' , 'ms');
$content['url_tlock'] = createConfigurationTimeSelections('url_tlock' , 'WDh');
$content['profile_lock'] = createConfigurationTimeSelections('profile_lock' , 'WDh');
- $content['profile_update'] = createConfigurationTimeSelections('profile_update' , 'YM');
- $content['profile_reupdate'] = createConfigurationTimeSelections('resend_profile_update', 'MWD');
// Prepare more
foreach (array('css_php_direct','css_php_file','css_php_inline','mailid_error_redirect_index','mailid_error_redirect_reject') as $entry) {
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 10/11/2003 *
+ * =================== Last change: 09/21/2004 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : what-config_other.php *
+ * -------------------------------------------------------------------- *
+ * Short description : basic settings *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Grund Einstellungen *
+ * -------------------------------------------------------------------- *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ************************************************************************/
+
+// Some security stuff...
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+ die();
+} // END - if
+
+// Add description as navigation point
+addYouAreHereLink('admin', __FILE__);
+
+// Stop saving data if one input field is !isset
+if (isFormSent('save_config')) {
+ // Calculate stamps and set calculated stamps
+ setPostRequestElement('profile_lock' , createEpocheTimeFromSelections('profile_lock' , postRequestArray()));
+ setPostRequestElement('profile_update' , createEpocheTimeFromSelections('profile_update' , postRequestArray()));
+ setPostRequestElement('resend_profile_update', createEpocheTimeFromSelections('resend_profile_update', postRequestArray()));
+
+ // Check other timestamps (which can be zero!)
+ if (!isPostRequestElementSet('profile_lock')) { unsetPostRequestElement('ok'); }
+ if (!isPostRequestElementSet('profile_update')) { unsetPostRequestElement('ok'); }
+ if (!isPostRequestElementSet('resend_profile_update')) { unsetPostRequestElement('ok'); }
+} // END - if
+
+if (isFormSent('save_config')) {
+ // Update stamps directly
+ adminSaveSettingsFromPostData();
+} else {
+ // Time selection boxes
+ $content['profile_lock'] = createConfigurationTimeSelections('profile_lock' , 'WDh');
+ $content['profile_update'] = createConfigurationTimeSelections('profile_update' , 'YM');
+ $content['profile_reupdate'] = createConfigurationTimeSelections('resend_profile_update', 'MWD');
+
+ // Load template
+ loadTemplate('admin_config_profile', FALSE, $content);
+}
+
+// [EOF]
+?>
if (isPostRequestElementSet('withdraw')) {
// Okay, let's prepare...
$curr = padLeftZero(getMonth() - 1);
- updateConfiguration('last_month', $curr);
+ updateConfiguration('last_monthly', $curr);
displayMessage('{--ADMIN_BEG_WITHDRAW_PREPARED--}');
} // END - if
$content['total_points'] = $total;
// Check if we need to display form or not with manuel withdraw
- if (getLastMonth() == getMonth()) {
+ if (getLastMonthly() == getMonth()) {
// Load form
$content['withdraw_form'] = loadTemplate('admin_list_beg_form', TRUE);
} else {
if (isPostRequestElementSet('withdraw')) {
// Okay, let's prepare...
$curr = padLeftZero(getMonth() - 1);
- updateConfiguration('last_month', $curr);
+ updateConfiguration('last_monthly', $curr);
displayMessage('{--ADMIN_BONUS_WITHDRAW_PREPARED--}');
} // END - if
$content['total_points'] = $total;
// Check if we need to display form or not with manuel withdraw
- if (getLastMonth() == getMonth()) {
+ if (getLastMonthly() == getMonth()) {
// Load form
$content['withdraw_form'] = loadTemplate('admin_list_bonus_form', TRUE);
} else {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (isMonthlyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no hourly reset
return;
} elseif (!isExtensionActive('')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isMonthlyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no hourly reset
return;
} elseif ((!isExtensionActive('beg')) || (!isBegRallyeEnabled())) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isMonthlyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no hourly reset
return;
} elseif (!isExtensionActive('bonus')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isMonthlyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no hourly reset
return;
} elseif (!isExtensionActive('newsletter')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isMonthlyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no hourly reset
return;
} elseif (!isExtensionActive('surfbar')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isWeeklyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('')) {
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+} elseif ((!isHtmlOutputMode()) || (!isWeeklyResetEnabled())) {
// Do not execute when script is in non-HTML mode or no daily reset
return;
} elseif (!isExtensionActive('surfbar')) {
return ((isset($GLOBALS['hourly_enabled'])) && ($GLOBALS['hourly_enabled'] === TRUE));
}
-// Checks whether the reset mode is active
+// Checks whether the daily reset mode is active
+function isDailyResetEnabled () {
+ // Now simply check it
+ return ((isset($GLOBALS['daily_enabled'])) && ($GLOBALS['daily_enabled'] === TRUE));
+}
+
+// Checks whether the weekly reset mode is active
+function isWeeklyResetEnabled () {
+ // Now simply check it
+ return ((isset($GLOBALS['weekly_enabled'])) && ($GLOBALS['weekly_enabled'] === TRUE));
+}
+
+// Checks whether the monthly reset mode is active
+function isMonthlyResetEnabled () {
+ // Now simply check it
+ return ((isset($GLOBALS['monthly_enabled'])) && ($GLOBALS['monthly_enabled'] === TRUE));
+}
+
+// Checks whether one of the reset modes is enabled
function isResetModeEnabled () {
// Now simply check it
- return ((isset($GLOBALS['reset_enabled'])) && ($GLOBALS['reset_enabled'] === TRUE));
+ return ((isHourlyResetEnabled()) || (isDailyResetEnabled()) || (isWeeklyResetEnabled()) || (isMonthlyResetEnabled()));
}
// Checks whether the debug mode is enabled
return $GLOBALS[__FUNCTION__];
}
-// Checks whether the debug reset is enabled
-function isDebugResetEnabled () {
+// Checks whether the debug daily is enabled
+function isDebugDailyEnabled () {
+ // Is cache set?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Simply check it
+ $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_DAILY')) && (getConfig('DEBUG_DAILY') == 'Y'));
+ } // END - if
+
+ // Return it
+ return $GLOBALS[__FUNCTION__];
+}
+
+// Checks whether the debug weekly is enabled
+function isDebugWeeklyEnabled () {
+ // Is cache set?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Simply check it
+ $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_WEEKLY')) && (getConfig('DEBUG_WEEKLY') == 'Y'));
+ } // END - if
+
+ // Return it
+ return $GLOBALS[__FUNCTION__];
+}
+
+// Checks whether the debug monthly is enabled
+function isDebugMonthlyEnabled () {
// Is cache set?
if (!isset($GLOBALS[__FUNCTION__])) {
// Simply check it
- $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_RESET')) && (getConfig('DEBUG_RESET') == 'Y'));
+ $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_MONTHLY')) && (getConfig('DEBUG_MONTHLY') == 'Y'));
} // END - if
// Return it
return $GLOBALS[__FUNCTION__];
}
-// "Getter" for last_month
-function getLastMonth () {
+// "Getter" for last_hourly
+function getLastHourly () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__] = getConfig('last_hourly');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for last_daily
+function getLastDaily () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__] = getConfig('last_daily');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for last_weekly
+function getLastWeekly () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__] = getConfig('last_weekly');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for last_monthly
+function getLastMonthly () {
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__])) {
// Determine it
- $GLOBALS[__FUNCTION__] = getConfig('last_month');
+ $GLOBALS[__FUNCTION__] = getConfig('last_monthly');
} // END - if
// Return cache
`max_send` TINYINT(3) UNSIGNED NOT NULL DEFAULT 100,
`auto_purge` TINYINT(3) UNSIGNED NOT NULL DEFAULT 14,
`auto_purge_active` ENUM('Y','N') NOT NULL DEFAULT 'Y',
- `last_update` VARCHAR(10) NOT NULL DEFAULT '0',
+ `last_daily` VARCHAR(10) NOT NULL DEFAULT '0',
`unconfirmed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 100,
`profile_lock` BIGINT(20) UNSIGNED NOT NULL DEFAULT 86400,
`online_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800,
`mad_timestamp` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`mad_count` BIGINT(20) UNSIGNED NOT NULL,
- `profile_update` BIGINT(20) UNSIGNED NOT NULL DEFAULT 15768000,
- `send_prof_update` ENUM('Y','N') NOT NULL DEFAULT 'Y',
- `resend_profile_update` BIGINT(20) UNSIGNED NOT NULL DEFAULT 172800,
`patch_level` VARCHAR(100) NOT NULL DEFAULT '0',
`patch_ctime` VARCHAR(10) NOT NULL DEFAULT '0',
`guest_stats` ENUM('MEMBERS','MODULES','INACTIVE') NOT NULL DEFAULT 'MEMBERS',
`ref_payout` TINYINT(3) UNSIGNED NOT NULL DEFAULT 5,
`activate_xchange` BIGINT(20) UNSIGNED NOT NULL DEFAULT 100,
- `order_multi_page` ENUM('Y','N') NOT NULL DEFAULT 'Y',
`display_refid` ENUM('Y','N') NOT NULL DEFAULT 'Y',
`ip_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT 86400,
`allow_direct_pay` ENUM('Y','N') NOT NULL DEFAULT 'N',
</select>
</div>
</div>
+
+ <div class="table_row">
+ <label class="admin_label" for="order_multi_page">{--ADMIN_CONFIG_ORDER_MULTI_PAGE--}</label>
+ <div align="center">
+ {%template,ConfigurationYesNoSelectionBox=order_multi_page%}
+ </div>
+ </div>
</fieldset>
<fieldset id="config_order_selection_fields">
</td>
</tr>
- <tr>
- <td align="right">
- {--ADMIN_CONFIG_ZIPCODE_ACTIVE--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=order_multi_page%}
- </td>
- </tr>
-
<tr>
<td class="bottom" align="right">
{--ADMIN_CONFIG_AUTOSEND_ACTIVE--}
</td>
</tr>
- <tr>
- <td align="right">
- {--ADMIN_CONFIG_SEND_UPDATE--}
- </td>
- <td align="center">
- {%template,ConfigurationYesNoSelectionBox=send_prof_update%}
- </td>
- </tr>
-
<tr>
<td class="bottom" align="right">
{--ADMIN_CONFIG_NOTIFY_ADMIN--}
<td class="bottom">$content[url_tlock]</td>
</tr>
- <tr>
- <td colspan="2" align="center" class="table_header bottom">
- <strong>{--ADMIN_CONFIG_PROFILE_TIME_TITLE--}</strong>
- </td>
- </tr>
-
- <tr>
- <td align="right">{--ADMIN_CONFIG_LOCK_PROFILE_TIME--}:</td>
- <td>$content[profile_lock]</td>
- </tr>
-
- <tr>
- <td align="right">{--ADMIN_CONFIG_PROFILE_UPDATE--}:</td>
- <td>$content[profile_update]</td>
- </tr>
-
- <tr>
- <td class="bottom" align="right">{--ADMIN_CONFIG_PROFILE_REUPDATE--}:</td>
- <td class="bottom">$content[profile_reupdate]</td>
- </tr>
-
<tr>
<td colspan="2" align="center" class="table_header bottom">
<strong>{--ADMIN_CONFIG_SQL_TITLE--}</strong>
--- /dev/null
+<div align="center">
+{%form,formMethodPost=modules.php?module=admin&what=config_other%}
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
+ <tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ <strong>{--ADMIN_CONFIG_PROFILE_TITLE--}</strong>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="bottom" align="right">
+ {--ADMIN_CONFIG_SEND_PROFILE_UPDATE--}
+ </td>
+ <td class="bottom" align="center">
+ {%template,ConfigurationYesNoSelectionBox=send_profile_update%}
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2" align="center" class="table_header bottom">
+ <strong>{--ADMIN_CONFIG_PROFILE_TIME_TITLE--}</strong>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">{--ADMIN_CONFIG_LOCK_PROFILE_TIME--}:</td>
+ <td>$content[profile_lock]</td>
+ </tr>
+
+ <tr>
+ <td align="right">{--ADMIN_CONFIG_PROFILE_UPDATE--}:</td>
+ <td>$content[profile_update]</td>
+ </tr>
+
+ <tr>
+ <td class="bottom" align="right">{--ADMIN_CONFIG_PROFILE_REUPDATE--}:</td>
+ <td class="bottom">$content[profile_reupdate]</td>
+ </tr>
+
+ <tr>
+ <td colspan="2" align="center" class="table_footer">
+ <input type="reset" class="form_reset" value="{--CLEAR_FORM--}" />
+ <input type="submit" class="form_submit" name="save_config" value="{--SAVE_SETTINGS--}" />
+ </td>
+ </tr>
+</table>
+{%form_close%}
+</div>
+
+<div class="notice">
+ {--ADMIN_CONFIG_PROFILE_NOTICE--}
+</div>