Newsletter extension continued...
authorRoland Häder <roland@mxchange.org>
Tue, 9 Mar 2010 01:37:59 +0000 (01:37 +0000)
committerRoland Häder <roland@mxchange.org>
Tue, 9 Mar 2010 01:37:59 +0000 (01:37 +0000)
DOCS/TODOs.txt
inc/extensions/ext-newsletter.php
inc/modules/member/what-newsletter.php

index 29c88bebbef64176da9e61d452af490d91f8044c..004c42f9aff2349404e8d3304b833dba80087805 100644 (file)
 ./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.
 ./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
 ./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.
index cc760b94aae12a7ffdf8aed9c60893fd55d57376..8fa7451587cf3264dc2a0dfa70ca70ee073236d6 100644 (file)
@@ -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&uuml;punkte hinzuf&uuml;gen und Mitgliedereinstellung.");
+                               setExtensionUpdateNotes('Men&uuml;punkte hinzuf&uuml;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 <em>Immer aktiv</em> f&uuml;r diese Erweiterung deaktiviert.");
+                               setExtensionUpdateNotes('URL im Versendeformular und Option <em>Immer aktiv</em> f&uuml;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&ouml;rter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+                               setExtensionUpdateNotes('W&ouml;rter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> 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&ouml;schen!");
+                               setExtensionUpdateNotes('Bitte Script inc/monthly_newsletter.php l&ouml;schen!');
                                break;
 
                        case '0.0.7': // SQL queries for v0.0.7
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Script <strong>inc/monthly/monthly_newsletter.php</strong> wird nicht mehr ausgef&uuml;hrt, wenn die Erweiterung nicht aktiviert ist.");
+                               setExtensionUpdateNotes('Script <strong>inc/monthly/monthly_newsletter.php</strong> wird nicht mehr ausgef&uuml;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&uuml;r die Include-Befehle.");
+                               setExtensionUpdateNotes('Sicherheitsupdate f&uuml;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 <strong>html_mail</strong> k&ouml;nnen Sie auch HTML-Mails versenden.");
+                               setExtensionUpdateNotes('Nur bei installierter Erweiterung <strong>html_mail</strong> k&ouml;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 <strong>html_mail</strong> k&ouml;nnen Sie auch HTML-Mails versenden.");
+                               setExtensionUpdateNotes('Nur bei installierter Erweiterung <strong>html_mail</strong> k&ouml;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&auml;hrung auf die Erweiterung <a href=\"#\"><strong>ext-other.zip</strong></a> verlagert. Bitte auch diese aktualisieren.");
+                               setExtensionUpdateNotes('W&auml;hrung auf die Erweiterung <a href="#"><strong>ext-other.zip</strong></a> 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 &auml;ndern.', 1);
+                               addAdminMenuSql('newsletter', 'list_newsletter_topic','Thema verwalten','Legen Sie hier ein weiteres Thema an oder editieren bzw. l&ouml;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&uuml;berarbeitung der Erweiterung, siehe neuer Beschreibungstext.");
+                               setExtensionUpdateNotes('Komplett&uuml;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;
 
index f492e3e5c58fbca203c75f162e16e9193a23fb3b..c6b4cb8744fd83df93b355817d4a4bfafdd4e359 100644 (file)
@@ -1,57 +1,4 @@
 <?php
-/************************************************************************
- * Mailer v0.2.1-FINAL                                Start: 02/12/2004 *
- * ===================                          Last change: 01/07/2004 *
- *                                                                      *
- * -------------------------------------------------------------------- *
- * File              : what-                                            *
- * -------------------------------------------------------------------- *
- * Short description :                                                  *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung  :                                                  *
- * -------------------------------------------------------------------- *
- * $Revision::                                                        $ *
- * $Date::                                                            $ *
- * $Tag:: 0.2.1-FINAL                                                 $ *
- * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
- * For more information visit: http://www.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();
-} elseif (!isMember()) {
-       redirectToIndexMemberOnlyModule();
-}
-
-// Add description as navigation point
-addMenuDescription('member', __FILE__);
-
-if ((!isExtensionActive('newsletter')) && (!isAdmin())) {
-       loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('newsletter'));
-       return;
-} // END - if
-
-// [EOF]
+// @DEPRECATED
 ?>