]> git.mxchange.org Git - mailer.git/commitdiff
Fixes some HTML errors, shell scripts cleaned up
authorRoland Häder <roland@mxchange.org>
Thu, 27 Jan 2011 03:20:04 +0000 (03:20 +0000)
committerRoland Häder <roland@mxchange.org>
Thu, 27 Jan 2011 03:20:04 +0000 (03:20 +0000)
18 files changed:
.gitattributes
DOCS/TODOs.txt
DOCS/final-checker.sh
DOCS/todo-builder.sh
DOCS/validator.sh
inc/extensions/ext-sql_patches.php
inc/libs/security_functions.php
inc/modules/admin/what-list_bank_package.php
inc/modules/admin/what-list_surfbar_urls.php
inc/xml-functions.php [new file with mode: 0644]
templates/de/html/admin/admin_list_beg.tpl
templates/de/html/admin/admin_login_form.tpl
templates/de/html/install/install_page3.tpl
templates/xml/.htaccess [new file with mode: 0644]
templates/xml/admin/.htaccess [new file with mode: 0644]
templates/xml/admin/admin_edit_show_surfbar_urls.xml [new file with mode: 0644]
templates/xml/admin_data_template.xml [new file with mode: 0644]
templates/xml/template.xml [new file with mode: 0644]

index 6f9071e46e99b865eb562aa62dd5fa69a662a6ee..b952308b96bf6b9201b74a1a3b2fa32d8df3a301 100644 (file)
@@ -745,6 +745,7 @@ inc/weekly/.htaccess -text svneol=unset#text/plain
 inc/weekly/weekly_ -text svneol=unset#text/plain
 inc/weekly/weekly_surfbar.php -text svneol=unset#text/plain
 inc/wrapper-functions.php -text svneol=unset#text/plain
+inc/xml-functions.php svneol=native#text/plain
 /index.php -text svneol=unset#text/plain
 /install.php -text svneol=unset#text/plain
 install/menu-de.sql -text
@@ -1774,6 +1775,11 @@ templates/en/html/mailid/.htaccess -text svneol=unset#text/plain
 templates/en/html/member/.htaccess -text svneol=unset#text/plain
 templates/en/html/register_header.tpl -text svneol=unset#text/plain
 templates/en/html/welcome.tpl -text svneol=unset#text/plain
+templates/xml/.htaccess svneol=native#text/plain
+templates/xml/admin/.htaccess svneol=native#text/plain
+templates/xml/admin/admin_edit_show_surfbar_urls.xml -text
+templates/xml/admin_data_template.xml -text
+templates/xml/template.xml -text
 theme/business/css/beg.css -text
 theme/business/css/doubler.css -text
 theme/business/css/general.css -text
index 17ef26b3f35ed30f4d80d39caa7a74dfb927aa9c..ac953e6ee46d96f616cca72953d4a826e6030523 100644 (file)
@@ -275,17 +275,10 @@ PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : td in templates/
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/member/member_content_right.tpl, line: 5 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : div in templates/de/html/member/member_welcome_footer.tpl, line: 1 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : table in templates/de/html/member/member_footer.tpl, line: 6 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute class redefined in templates/de/html/install/install_page3.tpl, line: 21 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute class redefined in templates/de/html/install/install_page3.tpl, line: 27 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute class redefined in templates/de/html/install/install_page3.tpl, line: 33 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute class redefined in templates/de/html/install/install_page3.tpl, line: 39 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : div in templates/de/html/page_footer.tpl, line: 1 in /home
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : td in templates/de/html/menu/menu_what_end.tpl, line: 1 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/menu/menu_what_end.tpl, line: 2 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute class redefined in templates/de/html/admin/admin_list_beg.tpl, line: 23 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute align redefined in templates/de/html/admin/admin_list_beg.tpl, line: 23 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : table in templates/de/html/admin/admin_logout_sql_patches_remove.tpl, line: 10 in 
-PHP Warning:  DOMDocument::loadHTMLFile(): Attribute class redefined in templates/de/html/admin/admin_login_form.tpl, line: 29 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : td in templates/de/html/admin/admin_main_footer.tpl, line: 1 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : tr in templates/de/html/admin/admin_main_footer.tpl, line: 2 in 
 PHP Warning:  DOMDocument::loadHTMLFile(): Unexpected end tag : table in templates/de/html/admin/admin_main_footer.tpl, line: 12 in 
index 93e39a701e367ef0f36d3f0467f73c5b91f23db1..40526a7fc54957571bea20981dfb3ac118c56985 100755 (executable)
@@ -13,16 +13,20 @@ echo " - TODOs in PHP..."
 TODOS_PHP=`find -type f -name "*.php" -exec grep "@TODO" {} \; | grep "@" --count`
 echo " - TODOs in TPL..."
 TODOS_TPL=`find -type f -name "*.tpl" -exec grep "@TODO" {} \; | grep "@" --count`
-echo " - DEPRECATED PHP..."
+echo " - TODOs in XML..."
+TODOS_XML=`find -type f -name "*.xml" -exec grep "@TODO" {} \; | grep "@" --count`
+echo " - DEPRECATED in PHP..."
 DEPRECATED_PHP=`find -type f -name "*.php" -exec grep "@DEPRECATED" {} \; | grep "@" --count`
-echo " - DEPRECATED TPL..."
+echo " - DEPRECATED in TPL..."
 DEPRECATED_TPL=`find -type f -name "*.tpl" -exec grep "@DEPRECATED" {} \; | grep "@" --count`
+echo " - DEPRECATED in XML..."
+DEPRECATED_XML=`find -type f -name "*.xml" -exec grep "@DEPRECATED" {} \; | grep "@" --count`
 echo " - global statements..."
 GLOBALS=`find -type f -name "*.php" -exec grep -Hn "global " {} \; | grep -v "//" | grep -v "phpmailer" --count`
 echo "$0: Result..."
 echo "--------------------------------------"
-echo " - Open TODOs: ${TODOS_PHP}/${TODOS_TPL}"
-echo " - Open DEPRECATED: ${DEPRECATED_PHP}/${DEPRECATED_TPL}"
+echo " - Open TODOs: ${TODOS_PHP}/${TODOS_TPL}/${TODOS_XML}"
+echo " - Open DEPRECATED: ${DEPRECATED_PHP}/${DEPRECATED_TPL}/${DEPRECATED_XML}"
 echo " - global statements: ${GLOBALS}"
 echo "--------------------------------------"
 echo "$0: Thanks for waiting for the final release 0.2.1-FINAL! :-)"
index f059853f7c9e48f27dc396a5ae071097557ba262..0b4b568bee857aa0e9e5ec72d01d5956f752f33b 100755 (executable)
@@ -16,10 +16,12 @@ echo "### DO NOT EDIT THIS FILE. ###" >> ${TODO}
 echo "$0: Searching for @TODO ..."
 find -type f -name "*.php" -exec grep -Hin "@TODO" {} \; | sort >> ${TODO}
 find -type f -name "*.tpl" -exec grep -Hin "@TODO" {} \; | sort >> ${TODO}
+find -type f -name "*.xml" -exec grep -Hin "@TODO" {} \; | sort >> ${TODO}
 echo "### ### DEPRECATION FOLLOWS: ### ###" >> ${TODO}
 echo "$0: Searching for @DEPRECATED ..."
 find -type f -name "*.php" -exec grep -Hin "@DEPRECATED" {} \; | sort >> ${TODO}
 find -type f -name "*.tpl" -exec grep -Hin "@DEPRECATED" {} \; | sort >> ${TODO}
+find -type f -name "*.xml" -exec grep -Hin "@DEPRECATED" {} \; | sort >> ${TODO}
 echo "$0: Checking for template-warnings.log ..."
 LOG=`dirname $0`/template-warnings.log
 if test -e "${LOG}"; then
index 6b6e8270bf3bf44299027004dfdda1a3f8cd7f06..20aedf2a56f481a6cfea804373d0a952af12fcf4 100755 (executable)
@@ -2,6 +2,8 @@
 
 echo "$0: Validating all templates..."
 DUMMY=`find templates/de/html/ -type f -name *.tpl -exec php DOCS/tpl-validator.php {} \; 2>&1`
-echo "${DUMMY}" | grep "Warning" | cut -d "/" -f 1-5 | grep -v "error parsing attribute name" > `dirname $0`/template-warnings.log
+echo "${DUMMY}" | \
+       grep "Warning" | \
+       cut -d "/" -f 1-5 | \
+       grep -v "error parsing attribute name" > `dirname $0`/template-warnings.log
 echo "$0: done."
-
index 87e1c8c3ba2b788be2cebaf4579bb9c5eec4061f..167b5655cec32c277c0e2d33029473387dfd2a94 100644 (file)
@@ -566,7 +566,7 @@ PRIMARY KEY (`id`)
                                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` CHANGE `percents` `percents` FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000");
 
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Prozents&auml;tze k&ouml;nnen nun f&uuml;nf Stelle hinter dem Komma sein.");
+                               setExtensionUpdateNotes("Prozents&auml;tze k&ouml;nnen nun f&uuml;nf Stellen hinter dem Komma sein.");
                                break;
 
                        case '0.5.3': // SQL queries for v0.5.3
index faeccb51a66856de62fd2b097f5002de317d0381..2b41ab968c41922a2c72966aba5193602ea8d7f6 100644 (file)
@@ -36,7 +36,9 @@
  ************************************************************************/
 
 // Run only once this security check/replacement
-if (defined('__SECURITY')) return;
+if (defined('__SECURITY')) {
+       return;
+} // END - if
 
 // Some security stuff...
 if (strpos($_SERVER['PHP_SELF'], basename(__FILE__)) !== false) {
index 86fc276b8b2746b91c4531e361ff35d7c7bb3682..4c5b0c112e11f753530105dbe54c3d9621a11b1f 100644 (file)
@@ -108,7 +108,7 @@ if ((isPostRequestParameterSet('id')) && (is_array(postRequestParameter('id')))
                        )
                );
                $show = false;
-       } elseif (isPostRequestParameterSet('do_edit')) {
+       } elseif (isFormSent('do_edit')) {
                // Delete entries (with confirmation)
                adminEditEntriesConfirm(
                        postRequestParameter('id'),
@@ -118,7 +118,7 @@ if ((isPostRequestParameterSet('id')) && (is_array(postRequestParameter('id')))
                        array(),
                        true
                );
-       } elseif (isPostRequestParameterSet('delete')) {
+       } elseif (isFormSent('delete')) {
                // Delete entries (with confirmation)
                adminDeleteEntriesConfirm(
                        postRequestParameter('id'),
index 5204455333db2d0fb79f91a1974a4bd3ef2a90de..d2163ad8f78949237623cc5dbef7a3c51d5646b7 100644 (file)
@@ -58,36 +58,11 @@ if ((countRequestPost() > 0) && ((!isPostRequestParameterSet('url_id')) || (!is_
 // Edit or delete button hit?
 if (isFormSent('edit')) {
        // Show entries for editing
-       adminEditEntriesConfirm(
-               postRequestParameter('url_id'),
-               'surfbar_urls',
-               array(
-                       'url_id',
-                       'url_userid',
-                       'url'
-               ),
-               array(
-                       'bigintval',
-                       'addMemberSelectionBox',
-                       ''
-               ),
-               array(
-                       '',
-                       array(
-                               false,
-                               true,
-                               true,
-                               'url_userid[]'
-                       ),
-                       ''
-               ),
-               false,
-               'url_id',
-               'url_userid',
-               'url_userid'
-       );
+       showEntriesByXmlCallback('admin_edit_show_surfbar_urls');
+
+       // Do not show the list of URLs after this template
        $show = false;
-} elseif (isPostRequestParameterSet('do_edit')) {
+} elseif (isFormSent('do_edit')) {
        // Change data of entries
        adminEditEntriesConfirm(
                postRequestParameter('url_id'),
@@ -100,10 +75,10 @@ if (isFormSent('edit')) {
                'url_userid',
                'url_userid'
        );
-} elseif (isPostRequestParameterSet('delete')) {
+} elseif (isFormSent('delete')) {
        // Show entries for deletion
        adminDeleteEntriesConfirm(
-       postRequestParameter('url_id'),
+               postRequestParameter('url_id'),
                'surfbar_urls',
                array(
                        'url_id',
@@ -128,8 +103,10 @@ if (isFormSent('edit')) {
                'url_userid',
                'url_userid'
        );
+
+       // Do not show the list of URLs after this template
        $show = false;
-} elseif (isPostRequestParameterSet('do_delete')) {
+} elseif (isFormSent('do_delete')) {
        // Remove entries from database
        adminDeleteEntriesConfirm(
                postRequestParameter('url_id'),
@@ -171,8 +148,10 @@ if (isFormSent('edit')) {
                'url_userid',
                'url_userid'
        );
+
+       // Do not show the list of URLs after this template
        $show = false;
-} elseif (isPostRequestParameterSet('do_lock')) {
+} elseif (isFormSent('do_lock')) {
        // Un-/lock selected URLs. This does not work for pending URLs
        adminLockEntriesConfirm(
                postRequestParameter('url_id'),
@@ -191,7 +170,7 @@ if (isFormSent('edit')) {
                'url_userid',
                'url_userid'
        );
-} elseif (isPostRequestParameterSet('undelete')) {
+} elseif (isFormSent('undelete')) {
        // Undelete selected URLs. This does only work for deleted URLs... ;-)
        adminUndeleteEntriesConfirm(
                postRequestParameter('url_id'),
@@ -223,7 +202,7 @@ if (isFormSent('edit')) {
                'url_userid'
        );
        $show = false;
-} elseif (isPostRequestParameterSet('do_undelete')) {
+} elseif (isFormSent('do_undelete')) {
        // Undelete selected URLs. This does only work for deleted URLs... ;-)
        adminUndeleteEntriesConfirm(
                postRequestParameter('url_id'),
@@ -244,7 +223,10 @@ if (isFormSent('edit')) {
 }
 
 // Show entries?
-if ($show === false) return false;
+if ($show === false) {
+       // No, a form has already been show
+       return false;
+} // END - if
 
 // List all URLs
 $result = SQL_QUERY("SELECT
diff --git a/inc/xml-functions.php b/inc/xml-functions.php
new file mode 100644 (file)
index 0000000..94a9b6a
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 01/27/2011 *
+ * ===================                          Last change: 01/27/2011 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : xml-functions.php                                *
+ * -------------------------------------------------------------------- *
+ * Short description : Functions for handling XML templates             *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Funktionen zum Umgang mit XML-Templates          *
+ * -------------------------------------------------------------------- *
+ * $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')) {
+       die();
+} // END - if
+
+// [EOF]
+?>
index 8dc492893efe275bcce6453811ca44c8e523c668..1fa9289d143e46611aaa21fa3da066098e04e435 100644 (file)
@@ -14,7 +14,7 @@
                <td class="header_column bottom right" align="center">
                        <strong>{--BEG_TOTAL--}:</strong>
                </td>
-               <td class="header_column bottom" align="center>
+               <td class="header_column bottom" align="center">
                        <strong>{--LAST_ONLINE_SHORT--}:</strong>
                </td>
        </tr>
index 1d97c9a577ab888c8025045adca1372c0e38762f..2852fcd78847619354521ef5d7bdfbaae13c8deb 100644 (file)
@@ -26,7 +26,7 @@
                        </div>
                </td>
                <td class="bottom">
-                       <input type="password" class="form_field" name="password" tabindex="2" size="20" maxlength="100" class="form_field" />
+                       <input type="password" class="form_field" name="password" tabindex="2" size="20" maxlength="100" />
                </td>
        </tr>
        $content[pass_message]
index b0c4affbc602acc52f8735231aa8e5d7a8134e0f..42d7554ac4fffef58bb10aa0a10168c9db2fa4c1 100644 (file)
        <tr>
                <td align="right" class="install_right">{--INSTALLER_TEXT_SMTP_HOST--}:</td>
                <td align="left">
-                       <input type="text" class="form_field" name="smtp_host" size="25" value="$content[smtp_host]
+                       <input type="text" class="form_field" name="smtp_host" size="25" value="$content[smtp_host]" />
                </td>
        </tr>
        <tr>
                <td align="right" class="install_right">{--INSTALLER_TEXT_SMTP_USER--}:</td>
                <td align="left">
-                       <input type="text" class="form_field" name="smtp_user" size="25" value="$content[smtp_user]
+                       <input type="text" class="form_field" name="smtp_user" size="25" value="$content[smtp_user]" />
                </td>
        </tr>
        <tr>
                <td align="right" class="install_right">{--INSTALLER_TEXT_SMTP_PASS1--}:</td>
                <td align="left">
-                       <input type="password" class="form_field" name="smtp_pass1" size="25" value="$content[smtp_pass1]
+                       <input type="password" class="form_field" name="smtp_pass1" size="25" value="$content[smtp_pass1]" />
                </td>
        </tr>
        <tr>
                <td align="right" class="install_right">{--INSTALLER_TEXT_SMTP_PASS2--}:</td>
                <td align="left">
-                       <input type="password" class="form_field" name="smtp_pass2" size="25" value="$content[smtp_pass2]
+                       <input type="password" class="form_field" name="smtp_pass2" size="25" value="$content[smtp_pass2]" />
                </td>
        </tr>
        <tr>
diff --git a/templates/xml/.htaccess b/templates/xml/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/templates/xml/admin/.htaccess b/templates/xml/admin/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/templates/xml/admin/admin_edit_show_surfbar_urls.xml b/templates/xml/admin/admin_edit_show_surfbar_urls.xml
new file mode 100644 (file)
index 0000000..b4230ab
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for editing URLs of the surfbar in the admin
+area.
+
+@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-entry-meta-data>
+       <!--
+       Call-back function which should all following parameter handled over
+       to. This will always be type of string but we like homogene XMLs.
+       //-->
+       <admin-callback-function type="string" value="adminEditEntriesConfirm" />
+       <!--
+       Array index from HTTP POST data array for identifying every data row
+       //-->
+       <post-data-identify-index type="string" value="url_id" />
+       <!--
+       Name of the database table where the entries should be read/write from/to.
+       //-->
+       <database-table type="string" value="surfbar_urls" />
+       <!--
+       The following three lists must have the same count of list entries, else an
+       error may occur.
+       //-->
+       <!--
+       And all column names to read/write, leave this list tag empty for all (*).
+       //-->
+       <database-column-list>
+               <!--
+               A column name list entry. The type is always string, or do you have
+               numerical column names?
+               //-->
+               <database-column-list-entry type="string" value="url_id" />
+               <database-column-list-entry type="string" value="url_userid" />
+               <database-column-list-entry type="string" value="url" />
+       </database-column-list>
+       <!--
+       "Filter" call-back functions to call back for piping the fetched data
+       through (can be left empty, no call-back function will be called)
+       //-->
+       <callback-function-list>
+               <!--
+               A call-back function list entry
+               //-->
+               <callback-function-list-entry type="string" value="bigintval" />
+               <callback-function-list-entry type="string" value="addMemberSelectionBox" />
+               <callback-function-list-entry type="string" value="" /> <!-- No callback function! //-->
+       </callback-function-list>
+       <!--
+       Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
+       is provided, we have more than two parameters to handle over to the
+       call-back function. See function handleExtraValues() for details.
+       //-->
+       <extra-parameter-list>
+               <!--
+               A list entry for a single extra parameter. 'type' can now be: string,
+               int, float, bool, array. If the type 'array' is provided, the parser searches
+               for a tag called "extra-parameter-<value>-list(-entry)", by <value>
+               is the value from the 'value' attribute. Please check out the examples below.
+               //-->
+               <!--
+               A simple string example, int and float are similar.
+               //-->
+               <extra-parameter-list-entry type="string" value="" />
+               <!--
+               A one-dimensional array with some entries
+               //-->
+               <extra-parameter-list-entry type="array" value="member">
+                       <!--
+                       Our 'member' array
+                       //-->
+                       <extra-parameter-member-list>
+                               <!--
+                               A bool entry in the 'bar' array, all other types are added in a
+                               similar way.
+                               //-->
+                               <extra-parameter-member-list-entry type="bool" value="false" />
+                               <extra-parameter-member-list-entry type="bool" value="true" />
+                               <extra-parameter-member-list-entry type="bool" value="true" />
+                               <!--
+                               The brackets [] are required for addMemberSelectionBox(),
+                               please read there for details.
+                               //-->
+                               <extra-parameter-member-list-entry type="bool" value="url_userid[]" />
+                       </extra-parameter-bar-list>
+               </extra-parameter-list-entry>
+               <!--
+               A simple string example, int and float are similar.
+               //-->
+               <extra-parameter-list-entry type="string" value="" />
+       </extra-parameter-list>
+       <!--
+       Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
+       //-->
+       <enable-modify-entries type="bool" value="false" />
+       <!--
+       The table column which should be taken for the ids (see first parameter).
+       This' type can again only be 'string' (remember why?).
+       //-->
+       <table-id-column type="string" value="url_id" />
+       <!--
+       The table column which should be taken for user ids
+       This' type can again only be 'string' (remember why?).
+       //-->
+       <table-userid-column type="string" value="url_userid" />
+       <!--
+       Raw userid column ($key) to skip which is always an invalid (?) entry
+       This' type can again only be 'string' (remember why?).
+       //-->
+       <raw-userid-column-key type="string" value="url_userid" />
+</admin-entry-meta-data>
diff --git a/templates/xml/admin_data_template.xml b/templates/xml/admin_data_template.xml
new file mode 100644 (file)
index 0000000..a1639cb
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This is an admin XML template for all other XML templates which provides meta
+data for editing/deleting/changing database entries. If you want to write your
+own templates, please keep this header except *this* description and the author
+tag intact.
+
+@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-entry-meta-data>
+       <!--
+       Call-back function which should all following parameter handled over
+       to. This will always be type of string but we like homogene XMLs.
+       //-->
+       <admin-callback-function type="string" value="adminFooEntriesBar" />
+       <!--
+       Array index from HTTP POST data array for identifying every data row
+       //-->
+       <post-data-identify-index type="string" value="id" />
+       <!--
+       Name of the database table where the entries should be read/write from/to.
+       //-->
+       <database-table type="string" value="table_name" />
+       <!--
+       The following three lists must have the same count of list entries, else an
+       error may occur.
+       //-->
+       <!--
+       And all column names to read/write, leave this list tag empty for all (*).
+       //-->
+       <database-column-list>
+               <!--
+               A column name list entry. The type is always string, or do you have
+               numerical column names?
+               //-->
+               <database-column-list-entry type="string" value="foo" />
+       </database-column-list>
+       <!--
+       "Filter" call-back functions to call back for piping the fetched data
+       through (can be left empty, no call-back function will be called)
+       //-->
+       <callback-function-list>
+               <!--
+               A call-back function list entry
+               //-->
+               <callback-function-list-entry type="string" value="someFooCallback" />
+       </callback-function-list>
+       <!--
+       Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
+       is provided, we have more than two parameters to handle over to the
+       call-back function. See function handleExtraValues() for details.
+       //-->
+       <extra-parameter-list>
+               <!--
+               A list entry for a single extra parameter. 'type' can now be: string,
+               int, float, bool, array. If the type 'array' is provided, the parser searches
+               for a tag called "extra-parameter-<value>-list(-entry)", by <value>
+               is the value from the 'value' attribute. Please check out the examples below.
+               //-->
+               <!--
+               A simple string example, int and float are similar.
+               //-->
+               <extra-parameter-list-entry type="string" value="foo" />
+               <!--
+               A simple bool example, value can only be 'false' or 'true'
+               //-->
+               <extra-parameter-list-entry type="bool" value="false" />
+               <!--
+               A one-dimensional array with some entries
+               //-->
+               <extra-parameter-list-entry type="array" value="bar">
+                       <!--
+                       Our 'bar' array
+                       //-->
+                       <extra-parameter-bar-list>
+                               <!--
+                               A bool entry in the 'bar' array, all other types are added in a
+                               similar way.
+                               //-->
+                               <extra-parameter-bar-list-entry type="bool" value="true" />
+                       </extra-parameter-bar-list>
+               </extra-parameter-list-entry>
+       </extra-parameter-list>
+       <!--
+       Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
+       //-->
+       <enable-modify-entries type="bool" value="false" />
+       <!--
+       The table column which should be taken for the ids (see first parameter).
+       This' type can again only be 'string' (remember why?).
+       //-->
+       <table-id-column type="string" value="id" />
+       <!--
+       The table column which should be taken for user ids
+       This' type can again only be 'string' (remember why?).
+       //-->
+       <table-userid-column type="string" value="userid" />
+       <!--
+       Raw userid column ($key) to skip which is always an invalid (?) entry
+       This' type can again only be 'string' (remember why?).
+       //-->
+       <raw-userid-column-key type="string" value="userid" />
+</admin-entry-meta-data>
diff --git a/templates/xml/template.xml b/templates/xml/template.xml
new file mode 100644 (file)
index 0000000..19f7c37
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This XML is a template XML for all other XML templates. If you want to write
+your own templates, please keep this header except *this* description and the
+author tag intact.
+
+@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
+//-->