Extension ext-forced continued:
authorRoland Häder <roland@mxchange.org>
Sat, 6 Aug 2011 22:05:37 +0000 (22:05 +0000)
committerRoland Häder <roland@mxchange.org>
Sat, 6 Aug 2011 22:05:37 +0000 (22:05 +0000)
- Added missing XML templates for campaigns and costs
- Added missing what-list_forced_costs.php (stub)
- Added missing language strings for missing entries message
- Renamed table column to naming convention
- TODOs.txt updated

.gitattributes
DOCS/TODOs.txt
inc/extensions/ext-forced.php
inc/language/forced_de.php
inc/modules/admin/what-list_forced_campaigns.php
inc/modules/admin/what-list_forced_costs.php [new file with mode: 0644]
templates/xml/admin/admin_list_forced_campaigns.xml [new file with mode: 0644]
templates/xml/admin/admin_list_forced_costs.xml [new file with mode: 0644]

index 60f5bfe0fc4b3520b751c2ff428a259eed99fc19..d9eb29067cf792985da7d633479a9699124fa062 100644 (file)
@@ -534,6 +534,7 @@ inc/modules/admin/what-list_doubler.php svneol=native#text/plain
 inc/modules/admin/what-list_email_max_rec.php svneol=native#text/plain
 inc/modules/admin/what-list_forced_ads.php svneol=native#text/plain
 inc/modules/admin/what-list_forced_campaigns.php svneol=native#text/plain
+inc/modules/admin/what-list_forced_costs.php svneol=native#text/plain
 inc/modules/admin/what-list_holiday.php svneol=native#text/plain
 inc/modules/admin/what-list_links.php svneol=native#text/plain
 inc/modules/admin/what-list_network_api_translation.php svneol=native#text/plain
index 2d2002df6d1997acaac4a2e50c7752f95552464f..b4bd19d2311e82e4ec0f29ab2ea8d4c4688fae90 100644 (file)
@@ -45,6 +45,7 @@
 ./inc/extensions-functions.php:562:            // @TODO Extension is loaded, what next?
 ./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:92:              // @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/functions.php:1222:                      // @TODO Move this SQL code into a function, let's say 'getTimestampFromPoolId($id) ?
 ./inc/functions.php:1310:                      // @TODO Are these convertions still required?
 ./inc/functions.php:1330:// @TODO Rewrite this function to use readFromFile() and writeToFile()
 ./inc/template-functions.php:273:              // @TODO Remove this sanity-check if all is fine
 ./inc/template-functions.php:596:// @TODO $simple/$constants are deprecated
 ./inc/wrapper-functions.php:512:// @TODO Do some more sanity check here
+./inc/xml-functions.php:189:   // @TODO Handle characters
 ./mailid.php:139:                                      // @TODO Rewrite this to a filter
 ./mailid.php:96:               // @TODO Rewrite this to a filter
 ./mailid_top.php:105:          // @TODO Rewrite this to a filter
index 1c8c17f75932906b4ddee5d96495909d0ab2ac69..8981f447aba8eee249c5c47ee7aa2cb6929a211a 100644 (file)
@@ -78,8 +78,8 @@ PRIMARY KEY (`forced_ads_id`)",
 `forced_campaign_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `forced_campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `forced_campaign_status` ENUM('ACTIVE','PENDING','EXPIRED','LOCKED') NOT NULL DEFAULT 'PENDING',
+`forced_campaign_last_locked` TIMESTAMP NULL DEFAULT NULL,
 `forced_campaign_lock_reason` VARCHAR(255) NULL DEFAULT NULL,
-`forced_campaign_lock_timetstamp` TIMESTAMP NULL DEFAULT NULL,
 `forced_campaign_expired` TIMESTAMP NULL DEFAULT NULL,
 `forced_campaign_ordered_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `forced_campaign_payment_api` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
index 09cf5c39e0770511f83e80e05d6afe17ffdadc8a..dee391ec06237ebcacf9720a7961d29fbddc0a9e 100644 (file)
@@ -42,6 +42,7 @@ if (!defined('__SECURITY')) {
 
 // Language definitions
 addMessages(array(
+       // Admin - forced ads
        'ADMIN_FORCED_ADS_404' => "Es wurden keine Forced-Werbemittel gefunden.",
        'ADMIN_ADD_FORCED_AD_TITLE' => "Hinzuf&uuml;gen eines Forced-Werbemittels:",
        'ADMIN_ADD_FORCED_ADD_SUBMIT' => "Forced-Werbemittel hinzuf&uuml;gen",
@@ -67,6 +68,12 @@ addMessages(array(
        'ADMIN_FORCED_ADS_HAS_FRAMEBREAKER' => "Framekiller?",
        'ADMIN_FORCED_ADS_ADDED' => "Hinzugef&uuml;gt",
 
+       // Admin - forced campaigns
+       'ADMIN_FORCED_CAMPAIGNS_404' => "Es wurde keine Forced-Kampagnen gefunden.",
+
+       // Admin - forced costs
+       'ADMIN_FORCED_COSTS_404' => "Es wurden keine Forced-Kosten gefunden.",
+
        // Earning names
        'EARNING_PROVIDER_FORCED_POPUP' => "Forced-PopUp",
 ));
index 4656edd2a174a446dac6b8e4d61ef2a40fe07b3c..fd4b45d7e309327a59f1d4147671176ead54fcc1 100644 (file)
@@ -6,9 +6,9 @@
  * -------------------------------------------------------------------- *
  * File              : what-list_forced_campaigns.php                   *
  * -------------------------------------------------------------------- *
- * Short description : List/add Forced-Ads                              *
+ * Short description : List/add forced campaigns                        *
  * -------------------------------------------------------------------- *
- * Kurzbeschreibung  : Auflisten/Hinzufuegen von Forced-Werbemitteln    *
+ * Kurzbeschreibung  : Auflisten/Hinzufuegen von Forced-Kampagnen       *
  * -------------------------------------------------------------------- *
  * $Revision::                                                        $ *
  * $Date::                                                            $ *
diff --git a/inc/modules/admin/what-list_forced_costs.php b/inc/modules/admin/what-list_forced_costs.php
new file mode 100644 (file)
index 0000000..c7d6340
--- /dev/null
@@ -0,0 +1,95 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 08/06/2011 *
+ * ===================                          Last change: 08/06/2011 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : what-list_forced_costs.php                       *
+ * -------------------------------------------------------------------- *
+ * Short description : List/add forced costs                            *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Auflisten/Hinzufuegen von Forced-Kosten          *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2011 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')) || (!isAdmin())) {
+       die();
+} // END - if
+
+// Add description as navigation point
+addYouAreHereLink('admin', __FILE__);
+
+// By default show the list...
+$show = true;
+
+// Check for 'url_id' element
+if ((countRequestPost() > 0) && ((!isPostRequestElementSet('forced_costs_id')) || (!is_array(postRequestElement('forced_costs_id'))) || (count(postRequestElement('forced_costs_id')) == 0))) {
+       // Not found so output message
+       displayMessage('{--ADMIN_FORCED_COSTS_NO_SELECTIONS--}');
+
+       // Abort here
+       return;
+} // END - if
+
+// Edit or delete button hit?
+if (isFormSent('add')) {
+       // Add new forced ad
+       showEntriesByXmlCallback('admin_add_do_forced_costs');
+} elseif (isFormSent('edit')) {
+       // Show entries for editing
+       showEntriesByXmlCallback('admin_edit_show_forced_costs');
+
+       // Do not show the list of URLs after this template
+       $show = false;
+} elseif (isFormSent('do_edit')) {
+       // Change data of entries
+       showEntriesByXmlCallback('admin_edit_do_forced_costs');
+} elseif (isFormSent('delete')) {
+       // Show entries for deletion
+       showEntriesByXmlCallback('admin_delete_show_forced_costs');
+
+       // Do not show the list of URLs after this template
+       $show = false;
+} elseif (isFormSent('do_delete')) {
+       // Remove entries from database
+       showEntriesByXmlCallback('admin_delete_do_forced_costs');
+}
+
+// Show entries?
+if ($show === false) {
+       // No, a form has already been show
+       return false;
+} // END - if
+
+// List all URLs
+showEntriesByXmlCallback('admin_list_forced_costs');
+
+// Display form for adding a forced-ad
+loadTemplate('admin_add_forced_costs');
+
+// [EOF]
+?>
diff --git a/templates/xml/admin/admin_list_forced_campaigns.xml b/templates/xml/admin/admin_list_forced_campaigns.xml
new file mode 100644 (file)
index 0000000..ce359ce
--- /dev/null
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for listing forced compains.
+
+@author                Roland Haeder <webmaster@mxchange.org>
+@version       0.2.1-FINAL
+@copyright     (c) 2003 - 2009 by Roland Haeder
+@copyright     (c) 2009 - 2011 by Mailer Developer Team
+@license       GNU GPL 2.0 or any newer version
+@link          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
+//-->
+<admin-list-data>
+       <!--
+       Call-back function, the extracted data from this XML will then be re-read
+       from that function. The most common function this XML uses is
+       adminListEntries() so mostly you can leave this alone unless you have JOINs.
+       //-->
+       <callback-function type="string" value="adminListEntries" />
+       <!--
+       Now we need information which template should be loaded and which functions
+       shall be called back. So lets start with the main list template. This mostly
+       requires no call-back function.
+       //-->
+       <list-template type="string" value="admin_list_forced_campaigns" />
+       <!--
+       The template for all rows, mostly this name has a '_row' suffix and again,
+       no call-back function is usually required.
+       //-->
+       <list-row-template type="string" value="admin_list_forced_campaigns_row" />
+       <!--
+       Message id to display if no entry could be found
+       //-->
+       <no-entry-found-message type="string" value="ADMIN_FORCED_CAMPAIGNS_404" />
+       <!--
+       The table(s) we shall grab the data from, all as list.
+       //-->
+       <data-tables>
+               <!--
+               A single table entry, with alias and without the configurable
+               _MYSQL_PREFIX. You can specify the table's name or alias later on.
+               //-->
+               <data-table type="string" alias="" value="forced_campaigns" />
+               <!--
+               Columns to perform the SELECT statement on, with alias and name plus which table.
+               //-->
+               <select-data-from-list>
+                       <!--
+                       A single entry with table name (can be left empty), value (must
+                       always be set), alias (again can be left empty) and SQL function
+                       (can also be left empty) which shall be applied on the column.
+                       //-->
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_id" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_created" alias="forced_campaign_created" function="UNIX_TIMESTAMP" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_status" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_last_locked" alias="forced_campaign_last_locked" function="UNIX_TIMESTAMP" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_lock_reason" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_expired" alias="forced_campaign_expired" function="UNIX_TIMESTAMP" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_ordered_clicks" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_payment_api" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_reload_lock" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_min_stay" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_ads_id" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_campaign_userid" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_costs_id" alias="" function="" />
+               </select-data-from-list>
+               <!--
+               And the column list to perform the WHERE statement on.
+               //-->
+               <where-select-from-list>
+               </where-select-from-list>
+               <!--
+               Columns to perform the ORDER BY statement (GROUP BY is not yet supported)
+               //-->
+               <order-by-list>
+                       <!--
+                       A single entry to perform the ORDER BY statement on, see above WHERE entry for details.
+                       //-->
+                       <order-by-list-entry type="string" table="" order="forced_campaign_id" value="ASC" />
+               </order-by-list>
+       </data-tables>
+       <!--
+       List all column names from the 'select-data-from-list' node here, but now
+       with call-back informations. The list must only contain those entries where
+       a call-back function shall be called for.
+       //-->
+       <column-callback-list>
+               <!--
+               Another column, now we need a second parameter here because
+               generateDateTime() expects two parameters (first is always the data
+               from column).
+               //-->
+               <column-callback-list-entry>
+                       <!--
+                       The actual data, again.
+                       //-->
+                       <column-callback-data type="string" value="forced_campaign_created" callback="generateDateTime" />
+                       <!--
+                       More parameters, remember that the first parameter is always given
+                       and that it is the data from column.
+                       //-->
+                       <callback-extra-parameter-list>
+                               <!--
+                               A single parameter, 'type' can be one of 'float', 'int',
+                               'bool', 'string'. 'array' is not yet supported.
+                               //-->
+                               <callback-extra-parameter-list-entry type="int" column="forced_campaign_created" value="2" />
+                       </callback-extra-parameter-list>
+               </column-callback-list-entry>
+               <column-callback-list-entry>
+                       <column-callback-data type="string" value="forced_campaign_last_locked" callback="generateDateTime" />
+                       <callback-extra-parameter-list>
+                               <callback-extra-parameter-list-entry type="int" column="forced_campaign_last_locked" value="2" />
+                       </callback-extra-parameter-list>
+               </column-callback-list-entry>
+               <column-callback-list-entry>
+                       <column-callback-data type="string" value="forced_campaign_expired" callback="generateDateTime" />
+                       <callback-extra-parameter-list>
+                               <callback-extra-parameter-list-entry type="int" column="forced_campaign_expired" value="2" />
+                       </callback-extra-parameter-list>
+               </column-callback-list-entry>
+       </column-callback-list>
+</admin-list-data>
diff --git a/templates/xml/admin/admin_list_forced_costs.xml b/templates/xml/admin/admin_list_forced_costs.xml
new file mode 100644 (file)
index 0000000..d32609a
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for listing forced costs.
+
+@author                Roland Haeder <webmaster@mxchange.org>
+@version       0.2.1-FINAL
+@copyright     (c) 2003 - 2009 by Roland Haeder
+@copyright     (c) 2009 - 2011 by Mailer Developer Team
+@license       GNU GPL 2.0 or any newer version
+@link          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
+//-->
+<admin-list-data>
+       <!--
+       Call-back function, the extracted data from this XML will then be re-read
+       from that function. The most common function this XML uses is
+       adminListEntries() so mostly you can leave this alone unless you have JOINs.
+       //-->
+       <callback-function type="string" value="adminListEntries" />
+       <!--
+       Now we need information which template should be loaded and which functions
+       shall be called back. So lets start with the main list template. This mostly
+       requires no call-back function.
+       //-->
+       <list-template type="string" value="admin_list_forced_costs" />
+       <!--
+       The template for all rows, mostly this name has a '_row' suffix and again,
+       no call-back function is usually required.
+       //-->
+       <list-row-template type="string" value="admin_list_forced_costs_row" />
+       <!--
+       Message id to display if no entry could be found
+       //-->
+       <no-entry-found-message type="string" value="ADMIN_FORCED_COSTS_404" />
+       <!--
+       The table(s) we shall grab the data from, all as list.
+       //-->
+       <data-tables>
+               <!--
+               A single table entry, with alias and without the configurable
+               _MYSQL_PREFIX. You can specify the table's name or alias later on.
+               //-->
+               <data-table type="string" alias="" value="forced_costs" />
+               <!--
+               Columns to perform the SELECT statement on, with alias and name plus which table.
+               //-->
+               <select-data-from-list>
+                       <!--
+                       A single entry with table name (can be left empty), value (must
+                       always be set), alias (again can be left empty) and SQL function
+                       (can also be left empty) which shall be applied on the column.
+                       //-->
+                       <select-data-from-list-entry type="string" table="" value="forced_costs_id" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_costs_price_click" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_costs_payment_click" alias="" function="" />
+                       <select-data-from-list-entry type="string" table="" value="forced_costs_visibility" alias="" function="" />
+               </select-data-from-list>
+               <!--
+               And the column list to perform the WHERE statement on.
+               //-->
+               <where-select-from-list>
+               </where-select-from-list>
+               <!--
+               Columns to perform the ORDER BY statement (GROUP BY is not yet supported)
+               //-->
+               <order-by-list>
+                       <!--
+                       A single entry to perform the ORDER BY statement on, see above WHERE entry for details.
+                       //-->
+                       <order-by-list-entry type="string" table="" order="forced_costs_id" value="ASC" />
+               </order-by-list>
+       </data-tables>
+       <!--
+       List all column names from the 'select-data-from-list' node here, but now
+       with call-back informations. The list must only contain those entries where
+       a call-back function shall be called for.
+       //-->
+       <column-callback-list>
+       </column-callback-list>
+</admin-list-data>