From 69010bdab79be51b54e239adbac82ebbbec083de Mon Sep 17 00:00:00 2001 From: quix0r Date: Tue, 9 Mar 2010 01:37:59 +0000 Subject: [PATCH] Newsletter extension continued... --- DOCS/TODOs.txt | 15 +++--- inc/extensions/ext-newsletter.php | 64 ++++++++++++++------------ inc/modules/member/what-newsletter.php | 55 +--------------------- 3 files changed, 43 insertions(+), 91 deletions(-) diff --git a/DOCS/TODOs.txt b/DOCS/TODOs.txt index 29c88bebbe..004c42f9af 100644 --- a/DOCS/TODOs.txt +++ b/DOCS/TODOs.txt @@ -30,13 +30,13 @@ ./inc/extensions/ext-network.php:37: * @TODO Der Werbepartner.cc: Textlink not not correct * ./inc/extensions/ext-network.php:38: * @TODO Yoo!Media: What is LayerAd compared to Layer click? * ./inc/extensions/ext-network.php:92: // @TODO network_type_handle is an internal name and needs documentation -./inc/extensions/ext-newsletter.php:216: // @TODO Move these into configuration +./inc/extensions/ext-newsletter.php:220: // @TODO Move these into configuration ./inc/extensions/ext-rallye.php:331: // @TODO Move this code into rallye_functions.php ./inc/extensions/ext-rallye.php:94: // @TODO Fix config_rallye_prices to list_rallye_prices ./inc/extensions/ext-sql_patches.php:785: // @TODO Rewrite this to a filter ./inc/extensions/ext-sql_patches.php:96: /* @TODO SQL_ALTER_TABLE() should work now properly ./inc/extensions/ext-yoomedia.php:123: // @TODO Can this be moved into a database table? -./inc/extensions/ext-yoomedia.php:56:// @TODO Only deprecated when 'network' is ready! setExtensionDeprecated('Y'); +./inc/extensions/ext-yoomedia.php:56:// @TODO Only deprecated when 'ext-network' is ready! setExtensionDeprecated('Y'); ./inc/extensions-functions.php:380:// @TODO Change from ext_id to ext_name (not just even the variable! ;-) ) ./inc/extensions-functions.php:493: // @TODO Extension is loaded, what next? ./inc/functions.php:1023:// @TODO $simple is deprecated @@ -55,8 +55,8 @@ ./inc/functions.php:544: // @TODO Extension 'msg' does not exist ./inc/functions.php:613:// @TODO Rewrite this to an extension 'smtp' ./inc/install-functions.php:63: // @TODO DEACTIVATED: changeDataInFile(getConfig('CACHE_PATH') . 'config-local.php', 'OUTPUT-MODE', "setConfigEntry('OUTPUT_MODE', '", "');", postRequestParameter('omode'), 0); -./inc/language/de.php:1158:// @TODO Rewrite these two constants -./inc/language/de.php:1174:// @TODO Rewrite these five constants +./inc/language/de.php:1160:// @TODO Rewrite these two constants +./inc/language/de.php:1176:// @TODO Rewrite these five constants ./inc/language/de.php:852:// @TODO Are these constants longer used? ./inc/language-functions.php:234: // @TODO These are all valid languages, again hard-coded ./inc/language-functions.php:46:// @TODO Rewrite all language constants to this function. @@ -181,13 +181,13 @@ ./inc/modules/member/what-transfer.php:311: // @TODO This should be somehow rewritten to $row = SQL_FETCHARRAY(), see switch() block above for SQL queries ./inc/modules/member/what-transfer.php:317: // @TODO Rewrite: tid->trans_id,stamp->time_trans ./inc/modules/member/what-transfer.php:94: // @TODO Rewrite this to a filter -./inc/modules/member/what-unconfirmed.php:143: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() +./inc/modules/member/what-unconfirmed.php:151: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() ./inc/modules/order.php:76: // @TODO Unused: 2,4 ./inc/monthly/monthly_bonus.php:69: // @TODO Rewrite this to a filter ./inc/mysql-manager.php:1579: // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() ./inc/mysql-manager.php:1677: // @TODO Rewrite this to a filter -./inc/mysql-manager.php:2121: // @TODO Rewrite this to a filter -./inc/mysql-manager.php:2162:// @TODO Fix inconsistency between last_module and getWhat() +./inc/mysql-manager.php:2057: // @TODO Rewrite this to a filter +./inc/mysql-manager.php:2098:// @TODO Fix inconsistency between last_module and getWhat() ./inc/mysql-manager.php:229: // @TODO Nothing helped??? ./inc/mysql-manager.php:264: // @TODO Rewrite this to a filter ./inc/mysql-manager.php:557: // @TODO Try to rewrite this to one or more functions @@ -232,6 +232,7 @@ ./templates/de/html/surfbar/surfbar_frame_top.tpl:23:// @TODO Try to rewrite this JavaScript to js.php?js=surfbar_frame_top (wouldn't be easy) ### ### DEPRECATION FOLLOWS: ### ### ./inc/modules/admin/admin-inc.php:432:// @DEPRECATED +./inc/modules/member/what-newsletter.php:2:// @DEPRECATED ./inc/modules/member/what-sponsor.php:2:// @DEPRECATED ### ### template-warnings.log follows: ### ### Warning: Not parsing JavaScript templates/de/html/js/js_order_send.tpl. diff --git a/inc/extensions/ext-newsletter.php b/inc/extensions/ext-newsletter.php index cc760b94aa..8fa7451587 100644 --- a/inc/extensions/ext-newsletter.php +++ b/inc/extensions/ext-newsletter.php @@ -48,6 +48,9 @@ setThisExtensionVersion('0.2.0'); // Version history array (add more with , '0.1.0' and so on) setExtensionVersionHistory(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.2.0')); +// This extension is in development (non-productive) +enableExtensionProductive(false); + switch (getExtensionMode()) { case 'register': // Do stuff when installation is running (modules.php?module=admin is called) // SQL commands to run @@ -58,93 +61,87 @@ switch (getExtensionMode()) { // SQL commands to run addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='newsletter'"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='newsletter'"); - addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_data`"); - addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_topics`"); - addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_orders`"); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_data`'); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_topics`'); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_orders`'); break; case 'activate': // Do stuff when admin activates this extension - // SQL commands to run - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `locked`='N', `visible`='Y' WHERE `what`='newsletter' LIMIT 1"); break; case 'deactivate': // Do stuff when admin deactivates this extension - // SQL commands to run - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `locked`='Y', `visible`='N' WHERE `what`='newsletter' LIMIT 1"); break; case 'update': // Update an extension switch (getCurrentExtensionVersion()) { case '0.0.1': // SQL queries for v0.0.1 addAdminMenuSql('newsletter', NULL, 'Newsletter','Einstellungen am Newsletter, Newsletter versenden, usw.', 3); - addAdminMenuSql('newsletter','config_newsletter','Einstellungen','Einstellungen am Newsletter vornehmen.', 3); - addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='newsletter' LIMIT 1"); - addMemberMenuSql('main','newsletter','Newsletter-Empfang','N','Y', 10); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what` IN ('newsletter','config_newsletter') LIMIT 1"); addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `nl_receive` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Menüpunkte hinzufügen und Mitgliedereinstellung."); + setExtensionUpdateNotes('Menüpunkte hinzufügen und Mitgliedereinstellung.'); break; case '0.0.2': // SQL queries for v0.0.2 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("URL im Versendeformular und Option Immer aktiv für diese Erweiterung deaktiviert."); + setExtensionUpdateNotes('URL im Versendeformular und Option Immer aktiv für diese Erweiterung deaktiviert.'); break; case '0.0.3': // SQL queries for v0.0.3 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Wörter {?mt_word?}, {?mt_word2?} und {?mt_word3?} sind austauschbar."); + setExtensionUpdateNotes('Wörter {?mt_word?}, {?mt_word2?} und {?mt_word3?} sind austauschbar.'); break; case '0.0.4': // SQL queries for v0.0.4 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."); + setExtensionUpdateNotes('HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.'); break; case '0.0.5': // SQL queries for v0.0.5 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Abspeichern von Einstellungen repariert."); + setExtensionUpdateNotes('Abspeichern von Einstellungen repariert.'); break; case '0.0.6': // SQL queries for v0.0.6 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Bitte Script inc/monthly_newsletter.php löschen!"); + setExtensionUpdateNotes('Bitte Script inc/monthly_newsletter.php löschen!'); break; case '0.0.7': // SQL queries for v0.0.7 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Script inc/monthly/monthly_newsletter.php wird nicht mehr ausgeführt, wenn die Erweiterung nicht aktiviert ist."); + setExtensionUpdateNotes('Script inc/monthly/monthly_newsletter.php wird nicht mehr ausgeführt, wenn die Erweiterung nicht aktiviert ist.'); break; case '0.0.8': // SQL queries for v0.0.8 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Sicherheitsupdate für die Include-Befehle."); + setExtensionUpdateNotes('Sicherheitsupdate für die Include-Befehle.'); break; case '0.0.9': // SQL queries for v0.0.9 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Nur bei installierter Erweiterung html_mail können Sie auch HTML-Mails versenden."); + setExtensionUpdateNotes('Nur bei installierter Erweiterung html_mail können Sie auch HTML-Mails versenden.'); break; case '0.1.0': // SQL queries for v0.2.1 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Nur bei installierter Erweiterung html_mail können Sie auch HTML-Mails versenden."); + setExtensionUpdateNotes('Nur bei installierter Erweiterung html_mail können Sie auch HTML-Mails versenden.'); break; case '0.1.1': // SQL queries for v0.1.1 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Währung auf die Erweiterung ext-other.zip verlagert. Bitte auch diese aktualisieren."); + setExtensionUpdateNotes('Währung auf die Erweiterung ext-other.zip verlagert. Bitte auch diese aktualisieren.'); break; case '0.1.2': // SQL queries for v0.1.2 // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + setExtensionUpdateNotes('Fehlerhinweis bei deaktivierter Erweiterung verbessert.'); break; case '0.2.0': // SQL queries for v0.2.0 // Tables: // - Main data table - addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_data`"); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_data`'); addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_newsletter_data` ( `nl_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `nl_subject` VARCHAR(255) NOT NULL DEFAULT '{OPEN_CONFIG}nl_default_subject{CLOSE_CONFIG}', @@ -163,18 +160,19 @@ PRIMARY KEY (`nl_id`) ) TYPE={?_TABLE_TYPE?} COMMENT='General newsletter data'"); // - Topics data table - addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_topics`"); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_topics`'); addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_newsletter_topics` ( `nl_topic_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `nl_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `nl_topic_title` VARCHAR(255) NOT NULL DEFAULT '', `nl_topic_text` MEDIUMTEXT, +`nl_topic_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, INDEX `newsletter_id` (`nl_id`), PRIMARY KEY (`nl_topic_id`) ) TYPE={?_TABLE_TYPE?} COMMENT='Newsletter topics'"); // - Sponsor orders data table - addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_orders`"); + addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_newsletter_orders`'); addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_newsletter_orders` ( `nl_order_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `nl_sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, @@ -196,10 +194,16 @@ PRIMARY KEY (`nl_order_id`) addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `nl_archive` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Admin menu - addAdminMenuSql('newsletter', 'add_newsletter','Neuen erstellen','Legen Sie hier einen neuen Newsletter mit Betreff und Verfallsdatum an.', 1); + addAdminMenuSql('newsletter', 'list_newsletter','Newsletter Verwalten','Legen Sie hier einen neuen Newsletter mit Betreff und Verfallsdatum an und listen Sie bestehende auf. Die Grunddaten lassen sich hier ebenfalls ändern.', 1); + addAdminMenuSql('newsletter', 'list_newsletter_topic','Thema verwalten','Legen Sie hier ein weiteres Thema an oder editieren bzw. löschen Sie bestehende.', 2); + addAdminMenuSql('newsletter', 'list_newsletter_ordrs','Buchungen verwalten','Verwalten Sie hier die Buchungen im Newsletter von Ihren Sponsoren.', 3); + addAdminMenuSql('newsletter', 'config_newsletter','Einstellungen','Einstellungen am Newsletter vornehmen.', 4); + + // Remove member menu + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='newsletter' LIMIT 1"); // Update notes (these will be set as task text!) - setExtensionUpdateNotes("Komplettüberarbeitung der Erweiterung, siehe neuer Beschreibungstext."); + setExtensionUpdateNotes('Komplettüberarbeitung der Erweiterung, siehe neuer Beschreibungstext.'); break; } // END - switch break; @@ -224,9 +228,9 @@ PRIMARY KEY (`nl_order_id`) // Valid email chars (without @, or do you want to have another @ inside your email addresses?) $GLOBALS['valid_email_chars'] = array( 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s', - 't','u','v','w','x','y','z','a','B','C','D','E','F','G','H','I','J','K','L', - 'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','-','.','_',0,1, - 2,3,4,5,6,7,8,9 + 't','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L', + 'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','-','.','_','0','1', + '2','3','4','5','6','7','8','9' ); break; diff --git a/inc/modules/member/what-newsletter.php b/inc/modules/member/what-newsletter.php index f492e3e5c5..c6b4cb8744 100644 --- a/inc/modules/member/what-newsletter.php +++ b/inc/modules/member/what-newsletter.php @@ -1,57 +1,4 @@ -- 2.39.5