inc/cache/_compiled/.htaccess svneol=native#text/plain
inc/cache/_compiled/emails/.htaccess svneol=native#text/plain
inc/cache/_compiled/html/.htaccess svneol=native#text/plain
+inc/callback-functions.php svneol=native#text/plain
inc/classes/.htaccess svneol=native#text/plain
inc/classes/cachesystem.class.php svneol=native#text/plain
inc/classes/rdf.class.php svneol=native#text/plain
inc/modules/admin/action-coupon.php svneol=native#text/plain
inc/modules/admin/action-doubler.php svneol=native#text/plain
inc/modules/admin/action-email.php svneol=native#text/plain
+inc/modules/admin/action-grade.php svneol=native#text/plain
inc/modules/admin/action-holiday.php svneol=native#text/plain
inc/modules/admin/action-login.php svneol=native#text/plain
inc/modules/admin/action-logout.php svneol=native#text/plain
templates/de/html/admin/admin_delete_reflevel.tpl svneol=native#text/plain
templates/de/html/admin/admin_delete_reflevel_row.tpl svneol=native#text/plain
templates/de/html/admin/admin_delete_sponsor.tpl svneol=native#text/plain
+templates/de/html/admin/admin_delete_surfbar_urls.tpl svneol=native#text/plain
+templates/de/html/admin/admin_delete_surfbar_urls_row.tpl svneol=native#text/plain
templates/de/html/admin/admin_delete_transfer_row.tpl svneol=native#text/plain
templates/de/html/admin/admin_delete_user.tpl svneol=native#text/plain
templates/de/html/admin/admin_edit_admin_menu.tpl svneol=native#text/plain
./inc/extensions/ext-network.php:93: // @TODO network_type_handle is an internal name and needs documentation
./inc/extensions/ext-newsletter.php:218: // @TODO Move these into configuration
./inc/extensions/ext-order.php:358: // @TODO This should be moved out to inc/daily/
-./inc/extensions/ext-rallye.php:329: // @TODO Move this code into a hook
-./inc/extensions/ext-rallye.php:92: // @TODO Fix config_rallye_prices to list_rallye_prices
+./inc/extensions/ext-rallye.php:331: // @TODO Move this code into a hook
+./inc/extensions/ext-rallye.php:94: // @TODO Fix config_rallye_prices to list_rallye_prices
./inc/extensions/ext-yoomedia.php:121: // @TODO Can this be moved into a database table?
./inc/extensions/ext-yoomedia.php:54:// @TODO Only deprecated when 'ext-network' is ready! setExtensionDeprecated('Y');
./inc/extensions-functions.php:155: // @TODO Do we still need this? setExtensionUpdateNotes('');
-./inc/extensions-functions.php:1939:// @TODO This should be rewrittten to allow, more development states, e.g. 'planing','alpha','beta','beta2','stable'
+./inc/extensions-functions.php:1944:// @TODO This should be rewrittten to allow, more development states, e.g. 'planing','alpha','beta','beta2','stable'
./inc/extensions-functions.php:425:// @TODO Change from ext_id to ext_name (not just even the variable! ;-) )
./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/libs/register_functions.php:367: // @TODO Wether the registration bonus should only be added to user directly or through referal system should be configurable
./inc/libs/sponsor_functions.php:159: // @TODO Rewrite this to API function
./inc/libs/sponsor_functions.php:430: // @TODO Rewrite this to API function
-./inc/libs/surfbar_functions.php:1026: // @TODO Try to rewrite the following unset()
-./inc/libs/surfbar_functions.php:1541: // @TODO This can be somehow rewritten
-./inc/libs/surfbar_functions.php:710:// @TODO Can't we use our new expression language instead of this ugly code?
-./inc/libs/surfbar_functions.php:951: // @TODO Invalid salt should be refused
+./inc/libs/surfbar_functions.php:1072: // @TODO Try to rewrite the following unset()
+./inc/libs/surfbar_functions.php:1587: // @TODO This can be somehow rewritten
+./inc/libs/surfbar_functions.php:708:// @TODO Can't we use our new expression language instead of this ugly code?
+./inc/libs/surfbar_functions.php:997: // @TODO Invalid salt should be refused
./inc/libs/task_functions.php:240: // @TODO These can be rewritten to filter
./inc/libs/task_functions.php:51:// @TODO Move all extension-dependent queries into filters
./inc/libs/theme_functions.php:93: // @TODO Can't this be rewritten to an API function?
./templates/de/html/admin/admin_config_payouts_del.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_config_payouts_edit_row.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_config_payouts_edit.tpl:1:<!--@DEPRECATED //-->
+./templates/de/html/admin/admin_del_surfbar_urls_row.tpl:1:<!-- @DEPRECATED //-->
+./templates/de/html/admin/admin_del_surfbar_urls.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_list_cats_404.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_list_chk_reg_row.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_list_chk_reg.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_reset_pass_done.tpl:1:<!-- @DEPRECATED //-->
./templates/de/html/admin/admin_send_reset_link.tpl:1:<!-- @DEPRECATED //-->
+./templates/xml/admin/admin_del_do_surfbar_urls.xml:1:<!-- @DEPRECATED //-->
+./templates/xml/admin/admin_del_show_surfbar_urls.xml:1:<!-- @DEPRECATED //-->
### ### template-warnings.log follows: ### ###
Warning: Not parsing JavaScript templates/de/html/js/js_order_send.tpl.
Warning: Not parsing JavaScript templates/de/html/js/js_cookies_disabled.tpl.
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 07/08/2011 *
+ * =================== Last change: 07/08/2011 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : callback-functions.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Call-back functions for XML templates *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Call-Back-Funktionen fuer 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
+
+// Handles the XML node 'admin-entry-meta-data'
+function doXmlAdminEntryMetaData ($resource, $attributes) {
+ /*
+ * This node has no attributes by default so it remains just with this
+ * comment.
+ */
+}
+
+// Handles the XML node 'admin-callback-function'
+function doXmlAdminCallbackFunction ($resource, $attributes) {
+ // There are two attributes, by default
+ if (count($attributes) != 2) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 2 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ }
+
+ // Add the function name and no attributes by default
+ $GLOBALS['__XML_CALLBACKS']['callbacks'][] = __FUNCTION__;
+ $GLOBALS['__XML_CALLBACKS']['functions'][__FUNCTION__][] = $attributes['VALUE'];
+ $GLOBALS['__XML_ARGUMENTS'][__FUNCTION__] = array();
+}
+
+// Handles the XML node 'post-data-identify-index'
+function doXmlPostDataIdentifyIndex ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the POST data index for 'id'
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['id_index'] = $attributes['VALUE'];
+}
+
+// Handles the XML node 'database-table'
+function doXmlDatabaseTable ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the database's name
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['database_table'] = $attributes['VALUE'];
+}
+
+// Handles the XML node 'database-column-list'
+function doXmlDatabaseColumnList ($resource, $attributes) {
+ // There should be no attributes
+ if (count($attributes) > 0) {
+ // Please don't add any attributes to foo-list nodes
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
+ } // END - if
+
+ // Add an empty list
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['column_list'] = array();
+}
+
+// Handles the XML node 'database-column-list-entry'
+function doXmlDatabaseColumnListEntry ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['column_list'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function/database-column-list not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the list
+ addXmlValueToCallbackAttributes('column_list', $attributes);
+}
+
+// Handles the XML node 'callback-function-list'
+function doXmlCallbackFunctionList ($resource, $attributes) {
+ // There should be no attributes
+ if (count($attributes) > 0) {
+ // Please don't add any attributes to foo-list nodes
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
+ } // END - if
+
+ // Add an empty list
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['callback_list'] = array();
+}
+
+// Handles the XML node 'callback-function-list-entry'
+function doXmlCallbackFunctionListEntry ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['callback_list'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function/callback-function-list not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the list
+ addXmlValueToCallbackAttributes('callback_list', $attributes);
+}
+
+// Handles the XML node 'extra-parameter-list'
+function doXmlExtraParameterList ($resource, $attributes) {
+ // There should be no attributes
+ if (count($attributes) > 0) {
+ // Please don't add any attributes to foo-list nodes
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
+ } // END - if
+
+ // Add an empty list
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['extra_list'] = array();
+}
+
+// Handles the XML node 'extra-parameter-list-entry'
+function doXmlExtraParameterListEntry ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['extra_list'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function/extra-parameter-list not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the list
+ addXmlValueToCallbackAttributes('extra_list', $attributes);
+}
+
+// Handles the XML node 'extra-parameter-member-list'
+function doXmlExtraParameterMemberList ($resource, $attributes) {
+ // There should be no attributes
+ if (count($attributes) > 0) {
+ // Please don't add any attributes to foo-list nodes
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['extra_list']['member_list'])) {
+ // This list should be created already
+ debug_report_bug(__FUNCTION__, __LINE__, 'member_list should be already created.');
+ }
+}
+
+// Handles the XML node 'extra-parameter-member-list-entry'
+function doXmlExtraParameterMemberListEntry ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['extra_list']['member_list'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function/extra-parameter-list/member-list not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the list
+ addXmlValueToCallbackAttributes('extra_list', $attributes, 'member_list');
+}
+
+// Handles the XML node 'status-change-column'
+function doXmlStatusChangeColumn ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the list
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['status_list'][$attributes['VALUE']] = array();
+}
+
+// Handles the XML node 'status-change-list'
+function doXmlStatusChangeList ($resource, $attributes) {
+ // There should be no attributes
+ if (count($attributes) > 0) {
+ // Please don't add any attributes to foo-list nodes
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes));
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['status_list'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function/status-list not included around this node. Please fix your XML.');
+ }
+}
+
+// Handles the XML node 'status-change-list-entry'
+function doXmlStatusChangeListEntry ($resource, $attributes) {
+ // There are for attributes, by default
+ if (count($attributes) != 4) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 4 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['OLD'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute OLD does not validate. TYPE=' . $attributes['TYPE'] . ',OLD=' . $attributes['OLD']);
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['status_list'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function/extra-parameter-list/member-list not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the list
+ addXmlValueToCallbackAttributes('status_list', $attributes, $attributes['NAME'], 'OLD');
+}
+
+// Handles the XML node 'enable-modify-entries'
+function doXmlEnableModifyEntries ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the array
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['enable_modify_entries'] = convertStringToBoolean($attributes['VALUE']);
+}
+
+// Handles the XML node 'table-id-column'
+function doXmlTableIdColumn ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the array
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['table_id_column'] = $attributes['VALUE'];
+}
+
+// Handles the XML node 'table-userid-column'
+function doXmlTableUseridColumn ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the array
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['table_userid_column'] = $attributes['VALUE'];
+}
+
+// Handles the XML node 'raw-userid-column-key'
+function doXmlRawUseridColumnKey ($resource, $attributes) {
+ // There are three attributes, by default
+ if (count($attributes) != 3) {
+ // Not the right count
+ debug_report_bug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes));
+ } elseif (!isset($attributes['NAME'])) {
+ // 'NAME' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.');
+ } elseif (!isset($attributes['TYPE'])) {
+ // 'TYPE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.');
+ } elseif (!isInvalidXmlType($attributes['TYPE'])) {
+ // No valid type
+ debug_report_bug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']);
+ } elseif (!isset($attributes['VALUE'])) {
+ // 'VALUE' not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.');
+ } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) {
+ // Not valid/verifyable
+ debug_report_bug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']);
+ } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'])) {
+ // doXmlAdminCallbackFunction is missing
+ debug_report_bug(__FUNCTION__, __LINE__, 'Required XML node admin-callback-function not included around this node. Please fix your XML.');
+ }
+
+ // Add the entry to the array
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction']['raw_userid_column_key'] = $attributes['VALUE'];
+}
+
+// ----------------------------------------------------------------------------
+// XML type validation
+// ----------------------------------------------------------------------------
+
+// Checks for string without any added extra data
+function isXmlTypeString ($value) {
+ // Just let SQL_ESCAPE() do the job
+ return ($value == SQL_ESCAPE($value));
+}
+
+// Fake-check for array type
+function isXmlTypeArray ($value) {
+ // This value is always a string
+ return (is_string($value));
+}
+
+// Check for boolean type
+function isXmlTypeBool ($value) {
+ // Trim value
+ $value = trim($value);
+
+ // This value is always a string
+ return (($value == 'true') || ($value == 'false'));
+}
+
+// ----------------------------------------------------------------------------
+// Private XML functions
+// ----------------------------------------------------------------------------
+
+// Adds given attribut to element
+function addXmlValueToCallbackAttributes ($element, $attributes, $extraKey = '', $key = '') {
+ if ($attributes['TYPE'] == 'array') {
+ // Another nested array
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'TYPE=ARRAY, element=' . $element);
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][$attributes['VALUE'] . '_list'] = array();
+ } elseif (!empty($extraKey)) {
+ // Is it bool?
+ if ($attributes['TYPE'] == 'bool') {
+ // Then convert VALUE
+ $attributes['VALUE'] = convertStringToBoolean($attributes['VALUE']);
+ } // END - if
+
+ // Sub-array (one level only)
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',extraKey=' . $extraKey . ',TYPE='.$attributes['TYPE'].',VALUE[' . gettype($attributes['VALUE']) . ']=' . $attributes['VALUE']);
+ if (trim($attributes['NAME']) == '') {
+ // Numerical index
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',extraKey=' . $extraKey . ',TYPE='.$attributes['TYPE'].',VALUE[' . gettype($attributes['VALUE']) . ']=' . $attributes['VALUE'] . ' - NUMERICAL!');
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][$extraKey][] = $attributes['VALUE'];
+ } elseif (!empty($key)) {
+ // Use from $key
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',extraKey=' . $extraKey . ',TYPE='.$attributes['TYPE'].',VALUE[' . gettype($attributes['VALUE']) . ']=' . $attributes['VALUE'] . ' - KEY! (key=' . $attributes[$key] . ')');
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][$extraKey][$attributes[$key]] = $attributes['VALUE'];
+ } else {
+ // Use from NAME
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',extraKey=' . $extraKey . ',TYPE='.$attributes['TYPE'].',VALUE[' . gettype($attributes['VALUE']) . ']=' . $attributes['VALUE'] . ' - NAME! (name=' . $attributes['NAME'] . ')');
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][$extraKey][$attributes['NAME']] = $attributes['VALUE'];
+ }
+ } elseif (trim($attributes['NAME']) == '') {
+ // Numerical index
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',VALUE[' . gettype($attributes['VALUE']) . ']=' . $attributes['VALUE']);
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][] = $attributes['VALUE'];
+ } elseif (isset($GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][$attributes['NAME']])) {
+ // Already created
+ debug_report_bug(__FUNCTION__, __LINE__, 'NAME=' . $attributes['NAME'] . ' already addded to ' . $element . '.');
+ } else {
+ // Use from NAME
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',NAME=' . $attributes['NAME'] . ',VALUE[' . gettype($attributes['VALUE']) . ']=' . $attributes['VALUE']);
+ $GLOBALS['__XML_ARGUMENTS']['doXmlAdminCallbackFunction'][$element][$attributes['NAME']] = $attributes['VALUE'];
+ }
+}
+
+// ----------------------------------------------------------------------------
+// Execute call-back functions
+// ----------------------------------------------------------------------------
+
+// Execute function for doXmlAdminCallbackFunction()
+function doXmlAdminCallbackFunctionExecute ($function, $args) {
+ // Prepare 'id_index'
+ $args['id_index'] = postRequestParameter($args['id_index']);
+
+ // Just call it
+ //* DEBUG: */ die('<pre>'.print_r($args, true).'</pre>');
+ call_user_func_array($function, $args);
+}
+
+// [EOF]
+?>
$path = str_replace("\\", '/', substr(dirname(__FILE__), 0, -3));
// Some very important function includes
-foreach (array('config', 'wrapper', 'template', 'module', 'inc', 'stats', 'http') as $inc) {
+foreach (array('config', 'wrapper', 'template', 'module', 'inc', 'stats', 'http', 'xml', 'callback') as $inc) {
include($path . 'inc/' . $inc . '-functions.php');
} // END - foreach
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`='grade' LIMIT 1");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='N', `visible`='Y' WHERE `what`='grade' 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`='grade' LIMIT 1");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='Y', `visible`='N' WHERE `what`='grade' LIMIT 1");
break;
case 'update': // Update an extension
}
// Searches the given array for a sub-string match and returns all found keys in an array
-function getArrayKeysFromSubStrArray ($heystack, array $needles, $offset = 0) {
+function getArrayKeysFromSubStrArray ($heystack, $needles, $offset = 0) {
// Init array for all found keys
$keys = array();
return $message;
}
+// "Translates" 'true' to true and 'false' to false
+function convertStringToBoolean ($str) {
+ // Trim it lower-case for validation
+ $str = trim(strtolower($str));
+
+ // Is it valid?
+ if (!in_array($str, array('true', 'false'))) {
+ // Not valid!
+ debug_report_bug(__FUNCTION__, __LINE__, 'str=' . $str . ' is not true/false');
+ } // END - if
+
+ // Return it
+ return (($str == 'true') ? true : false);
+}
+
//-----------------------------------------------------------------------------
// Automatically re-created functions, all taken from user comments on www.php.net
//-----------------------------------------------------------------------------
}
// Send a POST request
-function sendPostRequest ($baseUrl, array $postData, $removeHeader = false) {
+function sendPostRequest ($baseUrl, $postData, $removeHeader = false) {
// Extract host name from script
$host = extractHostnameFromUrl($baseUrl);
}
// Check array for chuncked encoding
-function unchunkHttpResponse (array $response) {
+function unchunkHttpResponse ($response) {
// Default is not chunked
$isChunked = false;
}
// Removes HTTP header lines from a response array (e.g. output from send<Get|Post>Request() )
-function removeHttpHeaderFromResponse (array $response) {
+function removeHttpHeaderFromResponse ($response) {
// Save headers for later usage
$GLOBALS['http_headers'] = array();
'ADMIN_CONFIG_GUEST_STATS_MODULES_NOTE' => "Zeigt Klicks in den 10 am häufigsten angeklickten Gast- und Mitgliedsmodulen an.",
'ADMIN_CONFIG_GUEST_STATS_INACTIVE' => "Gast-Statistik deaktivieren",
'ADMIN_CONFIG_GUEST_STATS_INACTIVE_NOTE' => "Deaktiviert die Gast-Statistiken komplett.",
+
+ // XML related strings
+ 'XML_TEMPLATE_404' => "XML-Template <span class=\"data\">%s</span nicht gefunden.",
));
// Description of all months
// Configuration strings in admin area
addMessages(array(
+ // Admin configuration
'ADMIN_CONFIG_SURFBAR_TITLE' => "Konfiguration der Surfbar",
'ADMIN_CONFIG_SURFBAR_STATIC_REWARD' => "Statische Vergütung:",
'ADMIN_CONFIG_SURFBAR_STATIC_COSTS' => "Statische Kosten:",
'ADMIN_CONFIG_SURFBAR_GUEST_LOGIN_FORM_Y' => "Loginformular angzeigen.",
'ADMIN_CONFIG_SURFBAR_GUEST_LOGIN_FORM_N' => "Zur Startseite weiterleiten.",
-// Admin non-config titles
+ // Admin non-config titles
'ADMIN_SURFBAR_STATS_TITLE' => "Mitglieder-Statistik der Surfbar",
'ADMIN_SURFBAR_URL_STATS_TITLE' => "URL-bezogene Statistik der Surfbar",
'ADMIN_LIST_SURFBAR_ACTIONS_TITLE' => "Mitglieder-Aktionen der Surfbar auflisten",
-// General admin text
+ // General admin text
'ADMIN_SURFBAR_NO_URLS_FOUND' => "Es konnten keine URLs in der Surfbar gefunden werden.",
'ADMIN_SURFBAR_REWARD' => "Vergütung",
'ADMIN_SURFBAR_COSTS' => "Kosten",
'ADMIN_LIST_SURFBAR_ACTIONS_NOTE' => "<strong>Hinweise:</strong> Sie sollten zur Sicherheit Ihres {?mt_word2?} den neuen Status nie auf <u>{--SURFBAR_URL_STATUS_ACTIVE--}</u> z.B. bei der Mitgliedaktion <u>{--MEMBER_SURFBAR_ACTION_UNPAUSE_SUBMIT--}</u> einstellen.",
'ADMIN_SURFBAR_URL' => "Gebuchte URL",
-// Admin titles
+ // Admin titles
'ADMIN_SURFBAR_UNLOCK_URLS_TITLE' => "Surfbar - URLs freihschalten/ablehnen",
'ADMIN_SURFBAR_LIST_URLS_TITLE' => "Surfbar - URLs aufisten",
'ADMIN_SURFBAR_DELETE_URLS_TITLE' => "Surfbar - URLs entfernen",
'ADMIN_SURFBAR_LOCK_URLS_TITLE' => "Surfbar - URLs sperren/entsperren",
'ADMIN_SURFBAR_UNDELETE_URLS_TITLE' => "Surfbar - gelöschte URLs wiederherstellen",
-// Member titles
+ // Member titles
'MEMBER_SURFBAR_LIST_TITLE' => "Ihre URLs in der Surfbar verwalten",
-// General member text
+ // General member text
'MEMBER_SURFBAR_URL_ADDED' => "URL hinzugefügt und wartet auf Freischaltung.",
'MEMBER_SURFBAR_URL_NOT_ADDED' => "URL konnte nicht hinzugefügt werden, da ein Fehler vorliegt.",
'MEMBER_SURFBAR_ADD_URL' => "URL in Surfbar buchen",
'MEMBER_SURFBAR_ACTION_FAILED' => "Ausgewählte Aktion konnte nicht vollständig ausgeführt werden.",
'MEMBER_SURFBAR_UNLIMITED_VIEWS' => "Unbegrenzt",
-// Subject lines for admins
+ // Subject lines for admins
'ADMIN_SURFBAR_NOTIFY_URL_UNLOCK_SUBJECT' => "[Surfbar:] URL hinzugefügt durch Admin",
'ADMIN_SURFBAR_NOTIFY_URL_REG_SUBJECT' => "[Surfbar:] Mitgliedsbuchung einer URL",
'ADMIN_SURFBAR_NOTIFY_URL_MIGRATE_SUBJECT' => "[Surfbar:] Migrierung einer Mailbuchung",
'ADMIN_SURFBAR_NOTIFY_URL_MIGRATED_PENDING_SUBJECT' => "[Surfbar:] Mitglied hat migrierte URL gebucht",
'ADMIN_SURFBAR_NOTIFY_DEFAULT_SUBJECT' => "Problem in Surfbar-Betreff (%s)",
-// Auto-generated admin subject lines
+ // Auto-generated admin subject lines
'ADMIN_DELETE_SURFBAR_URLS_SUBJECT' => "[Surfbar:] URL entfernt",
'ADMIN_EDIT_SURFBAR_URLS_SUBJECT' => "[Surfbar:] URL geändert",
'ADMIN_ACTIVE_SURFBAR_URLS_SUBJECT' => "[Surfbar:] Freigabe einer URL",
'ADMIN_LOCKED_SURFBAR_URLS_SUBJECT' => "[Surfbar:] Sperrung einer URL",
-// Subject lines for members
+ // Subject lines for members
'MEMBER_SURFBAR_NOTIFY_URL_UNLOCK_SUBJECT' => "[Surfbar:] Ihre URL wurde aufgenommen",
'MEMBER_SURFBAR_NOTIFY_URL_REG_SUBJECT' => "[Surfbar:] Ihre URL wartet auf Freischaltung",
'MEMBER_SURFBAR_NOTIFY_URL_MIGRATE_SUBJECT' => "[Surfbar:] Ihre URL aus der Mailbuchung wurde migriert",
'MEMBER_SURFBAR_NOTIFY_DEFAULT_SUBJECT' => "[Fehler:] Bitte leiten Sie diese Mail an uns weiter!",
'MEMBER_SURFBAR_NOTIFY_LOW_POINTS_SUBJECT' => "[Surfbar:] Ihr {?POINTS?}-Stand ist sehr niedrig!",
-// Auto-generated member subject lines
+ // Auto-generated member subject lines
'MEMBER_DELETE_SURFBAR_URLS_SUBJECT' => "[Surfbar:] Ihre URL wurde entfernt",
'MEMBER_EDIT_SURFBAR_URLS_SUBJECT' => "[Surfbar:] Änderung Ihrer URL durch Admin",
'MEMBER_LOCKED_SURFBAR_URLS_SUBJECT' => "[Surfbar:] Sperrung Ihrer URL, bitte AGBs beachten.",
'MEMBER_ACTIVE_SURFBAR_URLS_SUBJECT' => "[Surfbar:] Freigabe Ihrer URL",
-// URL status
+ // URL status
'SURFBAR_URL_STATUS_ACTIVE' => "Freigegeben",
'SURFBAR_URL_STATUS_LOCKED' => "Gesperrt",
'SURFBAR_URL_STATUS_PENDING' => "Wartend",
'SURFBAR_URL_STATUS_MIGRATED' => "Migriert",
'SURFBAR_URL_STATUS_NONE' => "Nicht geändert",
-// Member actions - submit buttons
+ // Member actions - submit buttons
+ 'MEMBER_SURFBAR_ACTION_UNKNOWN_SUBMIT' => "Unbekannt (%s)",
'MEMBER_SURFBAR_ACTION_RETREAT_SUBMIT' => "Zurücknehmen",
'MEMBER_SURFBAR_ACTION_FRAMETEST_SUBMIT' => "Framkiller-Test",
'MEMBER_SURFBAR_ACTION_EDIT_SUBMIT' => "Ändern",
'MEMBER_SURFBAR_ACTION_PAUSE_SUBMIT' => "Anhalten",
'MEMBER_SURFBAR_ACTION_UNPAUSE_SUBMIT' => "Fortfahren",
-// Member actions - "now" submit buttons
+ // Member actions - "now" submit buttons
'MEMBER_SURFBAR_ACTION_DELETE_NOW_SUBMIT' => "Jetzt löschen",
'MEMBER_SURFBAR_ACTION_EDIT_NOW_SUBMIT' => "Jetzt ändern",
-// Member actions - button titles
+ // Member actions - button titles
+ 'MEMBER_SURFBAR_ACTION_UNKNOWN_TITLE' => "Es wurde eine unbekannte Mitgliedsaktion '%s' erkannt. Bitte melden Sie dies an den Support.",
'MEMBER_SURFBAR_ACTION_RETREAT_TITLE' => "Nehmen Sie hiermit Ihre Buchung wieder zurück, falls Sie diese doch nicht bewerben wollten.",
'MEMBER_SURFBAR_ACTION_FRAMETEST_TITLE' => "Testen Sie die Seite auf Framekiller hin, diese sind in unserer Surfbar grundsätzlich nicht gestattet.",
'MEMBER_SURFBAR_ACTION_EDIT_TITLE' => "Ändern Sie hier Ihre URL, wenn diese nicht stimmen sollte. Allerdings wird Ihre URL dann auf Freischaltung wartend gesetzt, damit wir sie vor Aufnahme nochmals kontrollieren können.",
'MEMBER_SURFBAR_ACTION_PAUSE_TITLE' => "Halten Sie die URL in der Surfbar kurz an, wenn sie gerade nicht erreichbar ist. Dies geschieht nicht automatisch.",
'MEMBER_SURFBAR_ACTION_UNPAUSE_TITLE' => "Lassen Sie die URL in der Surfbar weiterlaufen, wenn Sie dies möchten. Wir müssen die URL jedoch erneut freigeben.",
-// Internal errors
+ // Internal errors
'MEMBER_SURFBAR_EXECUTE_ACTION_404' => "Auszuführende Funktion <span class=\"data\">%s</span> nicht gefunden.",
'ADMIN_SURFBAR_NOTIFY_SUBJECT_404' => "Admin-Betreffzeile <span class=\"data\">%s</span> nicht gefunden.",
'MEMBER_SURFBAR_NOTIFY_SUBJECT_404' => "Mitglieder-Betreffzeile <span class=\"data\">%s</span> nicht gefunden.",
-// Guest texts
+ // Guest texts
'GUEST_SURFBAR_LOGIN_HEADER' => "Login zur Surfbar:",
));
$OUT .= loadTemplate('member_surfbar_list_form', true, array(
'width' => $width,
'id' => bigintval($urlId),
- 'action' => strtolower($action),
- 'title' => '{--MEMBER_SURFBAR_ACTION_' . strtoupper($action) . '_TITLE--}',
- 'submit' => '{--MEMBER_SURFBAR_ACTION_' . strtoupper($action) . '_SUBMIT--}',
+ 'action' => strtolower($action)
));
} // END - foreach
// Translate the URL status
function translateSurfbarUrlStatus ($status) {
- // Return result
- return sprintf("{--SURFBAR_URL_STATUS_%s--}", strtoupper($status));
+ // NULL must be handled carfefully
+ if (is_null($status)) {
+ // Is NULL, so return other language string
+ return '{--SURFBAR_URL_STATUS_NONE--}';
+ } else {
+ // Return regular result
+ return sprintf("{--SURFBAR_URL_STATUS_%s--}", strtoupper($status));
+ }
+}
+
+// Translates the given action into a link title for members
+function translateMemberSurfbarActionToTitle ($action) {
+ // Do we have cache?
+ if (!isset($GLOBALS[__FUNCTION__][$action])) {
+ // Construct default return string (unknown
+ $GLOBALS[__FUNCTION__][$action] = '{%message,MEMBER_SURFBAR_ACTION_UNKNOWN_TITLE=' . $action . '%}';
+
+ // ... and the id's name
+ $messageId = 'MEMBER_SURFBAR_ACTION_' . strtoupper($action) . '_TITLE';
+
+ // Is the id there?
+ if (isMessageIdValid($messageId)) {
+ // Then use it
+ $GLOBALS[__FUNCTION__][$action] = '{--' . $messageId . '--}';
+ } // END - if
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__][$action];
+}
+
+// Translates the given action into a submit button for members
+function translateMemberSurfbarActionToSubmit ($action) {
+ // Do we have cache?
+ if (!isset($GLOBALS[__FUNCTION__][$action])) {
+ // Construct default return string (unknown
+ $GLOBALS[__FUNCTION__][$action] = '{%message,MEMBER_SURFBAR_ACTION_UNKNOWN_SUBMIT=' . $action . '%}';
+
+ // ... and the id's name
+ $messageId = 'MEMBER_SURFBAR_ACTION_' . strtoupper($action) . '_SUBMIT';
+
+ // Is the id there?
+ if (isMessageIdValid($messageId)) {
+ // Then use it
+ $GLOBALS[__FUNCTION__][$action] = '{--' . $messageId . '--}';
+ } // END - if
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__][$action];
}
// Determine reward
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 03/06/2004 *
+ * =================== Last change: 06/30/2004 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : action-grade.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Grade for members *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Einstufungen fuer Mitglieder *
+ * -------------------------------------------------------------------- *
+ * $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__);
+
+// Load the include file
+$inc = sprintf("inc/modules/admin/what-%s.php", getWhat());
+if (isIncludeReadable($inc)) {
+ // Ok, we finally load the admin action module
+ loadInclude($inc);
+} else {
+ addFatalMessage(__FILE__, __LINE__, '{--ADMIN_WHAT_404--}');
+}
+
+// [EOF]
+?>
}
// Send mails for del/edit/lock build modes
-function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $userid = 'userid') {
+function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $userIdColumn = 'userid') {
// Default subject is the subject part
$subject = $subjectPart;
} // END - if
// Is the raw userid set?
- if (postRequestParameter($useridColumn, $id) > 0) {
+ if (postRequestParameter($userIdColumn, $id) > 0) {
// Load email template
if (!empty($subjectPart)) {
$mail = loadEmailTemplate('member_' . $mode . '_' . strtolower($subjectPart) . '_' . $table, $content);
}
// Send email out
- sendEmail(postRequestParameter($useridColumn, $id), strtoupper('{--MEMBER_' . $subject . '_' . $table . '_SUBJECT--}'), $mail);
+ sendEmail(postRequestParameter($userIdColumn, $id), strtoupper('{--MEMBER_' . $subject . '_' . $table . '_SUBJECT--}'), $mail);
} // END - if
// Generate subject
// Send admin notification out
if (!empty($subjectPart)) {
- sendAdminNotification($subject, 'admin_' . $mode . '_' . strtolower($subjectPart) . '_' . $table, $content, postRequestParameter($useridColumn, $id));
+ sendAdminNotification($subject, 'admin_' . $mode . '_' . strtolower($subjectPart) . '_' . $table, $content, postRequestParameter($userIdColumn, $id));
} else {
- sendAdminNotification($subject, 'admin_' . $mode . '_' . $table, $content, postRequestParameter($useridColumn, $id));
+ sendAdminNotification($subject, 'admin_' . $mode . '_' . $table, $content, postRequestParameter($userIdColumn, $id));
}
}
// Handle the call in external function
//* DEBUG: */ debugOutput('key=' . $key . ',fucntion=' . $filterFunctions[$idx] . ',value=' . $value);
- $content[$key] = handleExtraValues($filterFunctions[$idx], $value, $extraValues[$idx]);
+ $content[$key] = handleExtraValues(
+ $filterFunctions[$idx],
+ $value,
+ $extraValues[$idx]
+ );
} // END - foreach
// Then list it
// List for editing
adminListBuilder('edit', $IDs, $table, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn);
}
- } // END - if
+ } else {
+ // Maybe some invalid parameters
+ debug_report_bug(__FUNCTION__, __LINE__, 'IDs[]=' . gettype($IDs) . ',table=' . $table . ',columns[]=' . gettype($columns) . ',filterFunctions[]=' . gettype($filterFunctions) . ',extraValues[]=' . gettype($extraValues) . ',idColumn=' . $idColumn . ',userIdColumn=' . $userIdColumn . ' - INVALID!');
+ }
}
// Un-/lock rows by given id numbers
$OUT = '';
while ($content = SQL_FETCHARRAY($result)) {
// "Translate" some data
- $content['actions_action'] = sprintf("{--MEMBER_SURFBAR_ACTION_%s_SUBMIT--}", strtoupper($content['actions_action']));
-
- // New status set?
- if (!is_null($content['actions_new_status'])) {
- // Translate it
- $content['actions_new_status'] = translateSurfbarUrlStatus($content['actions_new_status']);
- } else {
- // "Do nothing" status
- $content['actions_new_status'] = '{--SURFBAR_URL_STATUS_NONE--}';
- }
+ $content['actions_action'] = '{--MEMBER_SURFBAR_ACTION_' . strtoupper($content['actions_action']) . '_SUBMIT--}', ;
// Load row template
$OUT .= loadTemplate('admin_list_surfbar_actions_row', true, $content);
showEntriesByXmlCallback('admin_edit_do_surfbar_urls');
} elseif (isFormSent('delete')) {
// Show entries for deletion
- showEntriesByXmlCallback('admin_del_show_surfbar_urls');
+ showEntriesByXmlCallback('admin_delete_show_surfbar_urls');
// Do not show the list of URLs after this template
$show = false;
} elseif (isFormSent('do_delete')) {
// Remove entries from database
- showEntriesByXmlCallback('admin_del_do_surfbar_urls');
+ showEntriesByXmlCallback('admin_delete_do_surfbar_urls');
} elseif (isFormSent('lock')) {
// Un-/lock selected URLs. This does not work for pending URLs
- adminLockEntriesConfirm(
- postRequestParameter('url_id'),
- 'surfbar_urls',
- array(
- 'url_id',
- 'url_userid',
- 'url',
- 'url_registered',
- 'url_status'
- ),
- array(
- 'bigintval',
- 'generateUserProfileLink',
- 'generateFrametesterUrl',
- '',
- 'translateSurfbarUrlStatus'
- ),
- array(
- '',
- '',
- '',
- '',
- ''
- ),
- false,
- 'url_id',
- 'url_userid',
- 'url_userid'
- );
+ showEntriesByXmlCallback('admin_lock_show_surfbar_urls');
// Do not show the list of URLs after this template
$show = false;
} elseif (isFormSent('do_lock')) {
// Un-/lock selected URLs. This does not work for pending URLs
- adminLockEntriesConfirm(
- postRequestParameter('url_id'),
- 'surfbar_urls',
- array(),
- array(),
- array(),
- array(
- 'url_status' => array(
- 'ACTIVE' => 'LOCKED',
- 'LOCKED' => 'ACTIVE'
- )
- ),
- true,
- 'url_id',
- 'url_userid',
- 'url_userid'
- );
+ showEntriesByXmlCallback('admin_lock_do_surfbar_urls');
} elseif (isFormSent('undelete')) {
// Undelete selected URLs. This does only work for deleted URLs... ;-)
- adminUndeleteEntriesConfirm(
- postRequestParameter('url_id'),
- 'surfbar_urls',
- array(
- 'url_id',
- 'url_userid',
- 'url',
- 'url_registered',
- 'url_status'
- ),
- array(
- 'bigintval',
- 'generateUserProfileLink',
- 'generateFrametesterUrl',
- '',
- 'translateSurfbarUrlStatus'
- ),
- array(
- '',
- '',
- '',
- '',
- ''
- ),
- false,
- 'url_id',
- 'url_userid',
- 'url_userid'
- );
+ showEntriesByXmlCallback('admin_undelete_show_surfbar_urls');
+
+ // Do not show the list of URLs after this template
$show = false;
} elseif (isFormSent('do_undelete')) {
// Undelete selected URLs. This does only work for deleted URLs... ;-)
- adminUndeleteEntriesConfirm(
- postRequestParameter('url_id'),
- 'surfbar_urls',
- array(),
- array(),
- array(),
- array(
- 'url_status' => array(
- 'DELETED' => 'ACTIVE'
- )
- ),
- true,
- 'url_id',
- 'url_userid',
- 'url_userid'
- );
+ showEntriesByXmlCallback('admin_undelete_del_surfbar_urls');
}
// Show entries?
// List all URLs
$result = SQL_QUERY("SELECT
- `url_id`, `url_userid`, `url`, `url_views_total`, `url_status`,
+ `url_id`,
+ `url_userid`,
+ `url`,
+ `url_views_total`,
+ `url_status`,
UNIX_TIMESTAMP(`url_registered`) AS `url_registered`,
UNIX_TIMESTAMP(`url_last_locked`) AS `url_last_locked`,
`url_lock_reason`
// List all URLs
$OUT = '';
while ($content = SQL_FETCHARRAY($result)) {
- // "Translate"/add content
- $content['url_registered'] = generateDateTime($content['url_registered'], 2);
- $content['url_last_locked'] = generateDateTime($content['url_last_locked'], 2);
+ // "Translate" content
+ $content['url_registered'] = generateDateTime($content['url_registered'], '2');
+ $content['url_last_locked'] = generateDateTime($content['url_last_locked'], '2');
// Load row template
$OUT .= loadTemplate('admin_list_surfbar_urls_row', true, $content);
// Include link to stats
$content['views_total'] = '[<a href="{%url=modules.php?module=login&what=surfbar_list%}">{%pipe,translateComma=' . $content['views_total'] . '%}</a>]';
} // END - if
- $content['url_registered'] = generateDateTime($content['url_registered'], 2);
- $content['url_last_locked'] = generateDateTime($content['url_last_locked'], 2);
+ $content['url_registered'] = generateDateTime($content['url_registered'], '2');
+ $content['url_last_locked'] = generateDateTime($content['url_last_locked'], '2');
$content['actions'] = SURFBAR_MEMBER_ACTIONS($content['id'], $content['url_status']);
// Load row template
$OUT .= loadTemplate('member_surfbar_list_row', true, $content);
- } // END - if
+ } // END - foreach
// Load main template
loadTemplate('member_surfbar_list', false, $OUT);
}
// Generates a 'selection box' from given array
-function generateSelectionBoxFromArray (array $options, $name, $optionValue, $optionContent = '', $extraName = '') {
+function generateSelectionBoxFromArray ($options, $name, $optionValue, $optionContent = '', $extraName = '') {
// Start the output
$OUT = '<select name="' . $name . '" size="1" class="form_select">
<option value="X" disabled="disabled">{--PLEASE_SELECT--}</option>';
}
// Converts German commas to Computer's version in all entries
-function convertCommaToDotInPostDataArray (array $postEntries) {
+function convertCommaToDotInPostDataArray ($postEntries) {
// Replace german decimal comma with computer decimal dot
foreach ($postEntries as $entry) {
// Is the entry there?
die();
} // END - if
+// Calls back a function based on given XML template data
+function showEntriesByXmlCallback ($template) {
+ // Generate FQFN for with special path
+ $FQFN = sprintf("%stemplates/xml/%s%s.xml",
+ getPath(),
+ detectExtraTemplatePath($template),
+ $template
+ );
+
+ // Is the file readable?
+ if (!isFileReadable($FQFN)) {
+ // No, use without extra path
+ $FQFN = sprintf("%stemplates/xml/%s.xml",
+ getPath(),
+ $template
+ );
+ } // END - if
+
+ // Is it again readable?
+ if (isFileReadable($FQFN)) {
+ // Read it
+ $templateContent = readFromFile($FQFN);
+
+ // Handle it over to the parser
+ parseXmlData($templateContent);
+
+ // Call the call-back function
+ doCallXmlCallbackFunction();
+ } else {
+ // Template not found
+ displayMessage('{%message,XML_TEMPLATE_404=' . $template . '%}');
+ }
+}
+
+// Parses the XML content
+function parseXmlData ($content) {
+ // Do we have recode?
+ if (function_exists('recode')) {
+ // Convert 'HTML' to UTF-8
+ $content = recode('html..utf8', $content);
+ } else {
+ // No fallback ATM
+ debug_report_bug('PHP extension recode is missing. Please install it.');
+ }
+
+ // Create a new XML parser
+ $xmlParser = xml_parser_create();
+
+ // Force case-folding to on
+ xml_parser_set_option($xmlParser, XML_OPTION_CASE_FOLDING, true);
+
+ // Set UTF-8
+ xml_parser_set_option($xmlParser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
+
+ // Set handler call-backs
+ xml_set_element_handler($xmlParser, 'startXmlElement', 'endXmlElement');
+ xml_set_character_data_handler($xmlParser, 'xmlCharacterHandler');
+
+ // Now parse the XML tree
+ if (!xml_parse($xmlParser, $content)) {
+ // Error found in XML!
+ //* DEBUG: */ die('<pre>'.htmlentities($content).'</pre>');
+ debug_report_bug(__FUNCTION__, __LINE__, 'Error found in XML. errorMessage=' . xml_error_string(xml_get_error_code($xmlParser)) . ', line=' . xml_get_current_line_number($xmlParser));
+ } // END - if
+
+ // Free the parser
+ xml_parser_free($xmlParser);
+}
+
+// Calls the found call-back function
+function doCallXmlCallbackFunction () {
+ // Loop through all added entries
+ foreach ($GLOBALS['__XML_CALLBACKS']['callbacks'] as $callback) {
+ // Do we have the entry?
+ if ((isset($GLOBALS['__XML_CALLBACKS']['functions'][$callback])) && (isset($GLOBALS['__XML_ARGUMENTS'][$callback]))) {
+ // Run all function callbacks
+ foreach ($GLOBALS['__XML_CALLBACKS']['functions'][$callback] as $function) {
+ // Now construct the call-back function's name with 'Execute' at the end
+ $callbackName = $callback . 'Execute';
+
+ // Is it there?
+ if (!function_exists($callbackName)) {
+ debug_report_bug(__FUNCTION__, __LINE__, 'callback=' . $callback . ',function=' . $function . 'arguments()=' . count($GLOBALS['__XML_ARGUMENTS'][$callback]) . ' - execute call-back not found.');
+ } // END - if
+
+ // Call it
+ call_user_func_array($callbackName, array($function, $GLOBALS['__XML_ARGUMENTS'][$callback]));
+ } // END - foreach
+ } else {
+ // Not found
+ debug_report_bug(__FUNCTION__, __LINE__, 'Entry in callbacks does exist, but not in functions, callback= ' . $callback);
+ }
+ } // END - foreach
+}
+
+// ----------------------------------------------------------------------------
+// Call-back functions for XML parser
+// ----------------------------------------------------------------------------
+
+// Starts an element
+function startXmlElement ($resource, $element, $attributes) {
+ // Call-back function for given element
+ $elementCallback = 'doXml' . capitalizeUnderscoreString($element);
+
+ // Is the call-back function there?
+ if (!function_exists($elementCallback)) {
+ // Not there
+ debug_report_bug(__FUNCTION__, __LINE__, 'Missing call-back function ' . $elementCallback . ', please add it.');
+ } // END - if
+
+ // Call the call-back function
+ call_user_func_array($elementCallback, array($resource, $attributes));
+}
+
+// Ends an element
+function endXmlElement ($resource, $element) {
+ // Out-of-function for now
+}
+
+// Handle characters
+function xmlCharacterHandler ($resource, $characters) {
+ // Trim spaces away
+ $characters = trim($characters);
+
+ // Do we have some to handle?
+ if (strlen($characters) == 0) {
+ // Nothing to handle
+ return;
+ } // END - if
+ die('characters[]='.strlen($characters));
+}
+
+// Checks if given type is valid, makes all lower-case
+function isInvalidXmlType ($type) {
+ // All lower-case
+ $type = strtolower(trim($type));
+
+ // Is it found?
+ return (in_array($type, array('string', 'array', 'bool')));
+}
+
+// Checks if given value is valid/verifyable
+function isXmlValueValid ($type, $value) {
+ // Depends on type, so build a call-back
+ $callbackFunction = 'isXmlType' . trim(capitalizeUnderscoreString($type));
+
+ // Is the call-back function there?
+ if (!function_exists($callbackFunction)) {
+ // Not there
+ debug_report_bug(__FUNCTION__, __LINE__, 'Missing call-back function ' . $callbackFunction . ', please add it.');
+ } // END - if
+
+ // Call and return it
+ return call_user_func_array($callbackFunction, array($value));
+}
+
// [EOF]
?>
-<div align="center">
-<form accept-charset="UTF-8" action="{%url=modules.php?module=admin&what=list_surfbar_urls%}" method="post">
-<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
-<tr>
- <td align="center" colspan="3" class="table_header">
- <strong>{--ADMIN_SURFBAR_DELETE_URLS_TITLE--}</strong>
- </td>
-</tr>
-<tr>
- <td class="header_column bottom right" align="center"><strong>{--_USERID--}</strong></td>
- <td class="header_column bottom right" align="center"><strong>{--ADMIN_TEST_URL--}</strong></td>
- <td class="header_column bottom" align="center"><strong>{--ADMIN_SURFBAR_REGISTERED--}</strong></td>
-</tr>
-$content
-<tr>
- <td class="table_footer" colspan="3">
- <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
- <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_SURFBAR_DELETE_URL_NOW--}" />
- </td>
-</tr>
-</table>
-</form>
-</div>
+<!-- @DEPRECATED //-->
-<tr>
- <td align="center" class="bottom right {%template,ColorSwitch%}">
- <input type="hidden" name="url_id[$content[url_id]]" value="1" />
- <input type="hidden" name="url_userid[content[url_id]]" value="$content[url_userid_raw]" />
- $content[url_userid]
- </td>
- <td align="center" class="bottom right {%template,ColorSwitch%}">
- <a href="$content[url]" target="_blank" title="{--ADMIN_TEST_URL--}">{--ADMIN_TEST_URL--}</a>
- </td>
- <td align="center" class="bottom {%template,ColorSwitch%}">
- $content[url_registered]
- </td>
-</tr>
+<!-- @DEPRECATED //-->
--- /dev/null
+<div align="center">
+<form accept-charset="UTF-8" action="{%url=modules.php?module=admin&what=list_surfbar_urls%}" method="post">
+<table border="0" cellspacing="0" cellpadding="0" class="table dashed">
+<tr>
+ <td align="center" colspan="3" class="table_header">
+ <strong>{--ADMIN_SURFBAR_DELETE_URLS_TITLE--}</strong>
+ </td>
+</tr>
+<tr>
+ <td class="header_column bottom right" align="center"><strong>{--_USERID--}</strong></td>
+ <td class="header_column bottom right" align="center"><strong>{--ADMIN_TEST_URL--}</strong></td>
+ <td class="header_column bottom" align="center"><strong>{--ADMIN_SURFBAR_REGISTERED--}</strong></td>
+</tr>
+$content
+<tr>
+ <td class="table_footer" colspan="3">
+ <input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" />
+ <input type="submit" name="do_delete" class="form_delete" value="{--ADMIN_SURFBAR_DELETE_URL_NOW--}" />
+ </td>
+</tr>
+</table>
+</form>
+</div>
--- /dev/null
+<tr>
+ <td align="center" class="bottom right {%template,ColorSwitch%}">
+ <input type="hidden" name="url_id[$content[url_id]]" value="1" />
+ <input type="hidden" name="url_userid[content[url_id]]" value="$content[url_userid_raw]" />
+ $content[url_userid]
+ </td>
+ <td align="center" class="bottom right {%template,ColorSwitch%}">
+ <a href="$content[url]" target="_blank" title="{--ADMIN_TEST_URL--}">{--ADMIN_TEST_URL--}</a>
+ </td>
+ <td align="center" class="bottom {%template,ColorSwitch%}">
+ $content[url_registered]
+ </td>
+</tr>
$content[actions_action]
</td>
<td align="center" class="bottom {%template,ColorSwitch%}">
- $content[actions_new_status]
+ {%pipe,translateSurfbarUrlStatus=$content[actions_new_status]%}
</td>
</tr>
<form accept-charset="UTF-8" action="{%url=modules.php?module=login&what=surfbar_list%}" method="post">
<input type="hidden" name="url_id" value="$content[url_id]" />
<input type="hidden" name="action" value="$content[action]" />
- <input type="submit" class="form_submit" name="ok" title="$content[title]" value="$content[submit]" />
+ <input type="submit" class="form_submit" name="ok" title="{%pipe,translateMemberSurfbarActionToTitle=$content[action]%}" value="{%pipe,translateMemberSurfbarActionToSubmit=$content[action]%}" />
</form>
</td>
<tr>
<td id="surfbar_td">
<div>
- »<span id="surfbar_points">$content[xxx]</span> {?POINTS?} in
- <span id="surfbar_counter" class="surfbar_counter">$content[xxx]</span>
- <span id="surfbar_counter_word">Sekunden</span>«
- »<span id="surfbar_reload">X</span> von
- <span id="surfbar_max">X</span> im Reload«
+ »<span id="surfbar_points">$content[xxx]</span> {?POINTS?} in
+ <span id="surfbar_counter" class="surfbar_counter">$content[xxx]</span>
+ <span id="surfbar_counter_word">Sekunden</span>«
+ »<span id="surfbar_reload">X</span> von
+ <span id="surfbar_max">X</span> im Reload«
</div>
<div>
- »<a href="{%pipe,SURFBAR_GET_URL=$content[url_id]%}" target="_blank">Aktuelle Seite in neuem
- Fenster öffnen</a>«
- <span id="surfbar_navi">[<a href="#" onclick="return startStopCounter();"
- id="start">{--MEMBER_SURFBAR_ACTION_PAUSE_SUBMIT--}</a>|<a target="_parent"
- href="{%url=login.php%}">Loginbereich</a>|<a target="_parent"
- href="{%url=modules.php?module=login&what=logout%}">Ausloggen</a>|<a
- href="javascript:window.close()">Schliessen</a>]</span>
+ »<a href="{%pipe,SURFBAR_GET_URL=$content[url_id]%}" target="_blank">Aktuelle Seite in neuem
+ Fenster öffnen</a>«
+ <span id="surfbar_navi">[<a href="#" onclick="return startStopCounter();"
+ id="start">{--MEMBER_SURFBAR_ACTION_PAUSE_SUBMIT--}</a>|<a target="_parent"
+ href="{%url=login.php%}">Loginbereich</a>|<a target="_parent"
+ href="{%url=modules.php?module=login&what=logout%}">Ausloggen</a>|<a
+ href="javascript:window.close()">Schliessen</a>]</span>
</div>
<div>
- »{?MAIN_TITLE?} ist für den Inhalt nicht verantwortlich!«
+ »{?MAIN_TITLE?} ist für den Inhalt nicht verantwortlich!«
</div>
</td>
</tr>
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-This template provides meta data for doing edits on 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="adminDeleteEntriesConfirm" />
- <!--
- 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>
- </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>
- </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>
- </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="true" />
- <!--
- 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>
+<!-- @DEPRECATED //-->
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-This template provides meta data for deleting 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="adminDeleteEntriesConfirm" />
- <!--
- 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 name="" type="string" value="url_id" />
- <database-column-list-entry name="" type="string" value="url_userid" />
- <database-column-list-entry name="" type="string" value="url" />
- <database-column-list-entry name="" type="string" value="url_registered" />
- </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 name="" type="string" value="bigintval" />
- <callback-function-list-entry name="" type="string" value="generateUserProfileLink" />
- <callback-function-list-entry name="" type="string" value="generateFrametesterUrl" />
- <callback-function-list-entry name="" 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 name="" type="string" value="" />
- <extra-parameter-list-entry name="" type="string" value="" />
- <extra-parameter-list-entry name="" type="string" value="" />
- <extra-parameter-list-entry name="" 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>
+<!-- @DEPRECATED //-->
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for doing deletions on 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="adminDeleteEntriesConfirm" />
+ <!--
+ Array index from HTTP POST data array for identifying every data row
+ //-->
+ <post-data-identify-index name="" type="string" value="url_id" />
+ <!--
+ Name of the database table where the entries should be read/write from/to.
+ //-->
+ <database-table name="" 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>
+ </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>
+ </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>
+ </extra-parameter-list>
+ <!--
+ Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
+ //-->
+ <enable-modify-entries name="" type="bool" value="true" />
+ <!--
+ 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 name="" 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 name="" 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 name="" type="string" value="url_userid" />
+</admin-entry-meta-data>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for deleting 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="adminDeleteEntriesConfirm" />
+ <!--
+ Array index from HTTP POST data array for identifying every data row
+ //-->
+ <post-data-identify-index name="" type="string" value="url_id" />
+ <!--
+ Name of the database table where the entries should be read/write from/to.
+ //-->
+ <database-table name="" 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 name="" type="string" value="url_id" />
+ <database-column-list-entry name="" type="string" value="url_userid" />
+ <database-column-list-entry name="" type="string" value="url" />
+ <database-column-list-entry name="" type="string" value="url_registered" />
+ </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 name="" type="string" value="bigintval" />
+ <callback-function-list-entry name="" type="string" value="generateUserProfileLink" />
+ <callback-function-list-entry name="" type="string" value="generateFrametesterUrl" />
+ <callback-function-list-entry name="" 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 name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" 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 name="" 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 name="" 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 name="" 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 name="" type="string" value="url_userid" />
+</admin-entry-meta-data>
<!--
Array index from HTTP POST data array for identifying every data row
//-->
- <post-data-identify-index type="string" value="url_id" />
+ <post-data-identify-index name="" 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" />
+ <database-table name="" type="string" value="surfbar_urls" />
<!--
The following three lists must have the same count of list entries, else an
error may occur.
<!--
Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
//-->
- <enable-modify-entries type="bool" value="true" />
+ <enable-modify-entries name="" type="bool" value="true" />
<!--
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" />
+ <table-id-column name="" 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" />
+ <table-userid-column name="" 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" />
+ <raw-userid-column-key name="" type="string" value="url_userid" />
</admin-entry-meta-data>
<!--
Array index from HTTP POST data array for identifying every data row
//-->
- <post-data-identify-index type="string" value="url_id" />
+ <post-data-identify-index name="" 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" />
+ <database-table name="" type="string" value="surfbar_urls" />
<!--
The following three lists must have the same count of list entries, else an
error may occur.
numerical column names?
//-->
<database-column-list-entry name="" type="string" value="url_id" />
- <database-column-list-entry name="" type="string" value="url_userid" />
+ <database-column-list-entry name="member_list" type="string" value="url_userid" />
<database-column-list-entry name="" type="string" value="url" />
</database-column-list>
<!--
A call-back function list entry
//-->
<callback-function-list-entry name="" type="string" value="bigintval" />
- <callback-function-list-entry name="" type="string" value="addMemberSelectionBox" />
+ <callback-function-list-entry name="member_list" type="string" value="addMemberSelectionBox" />
<callback-function-list-entry name="" type="string" value="" /> <!-- No callback function! //-->
</callback-function-list>
<!--
is the value from the 'value' attribute. Please check out the examples below.
//-->
<!--
- A simple string example, int and float are similar.
+ Dummy entry
//-->
<extra-parameter-list-entry name="" type="string" value="" />
<!--
The brackets [] are required for addMemberSelectionBox(),
please read there for details.
//-->
- <extra-parameter-member-list-entry name="" type="bool" value="url_userid[]" />
- </extra-parameter-bar-list>
+ <extra-parameter-member-list-entry name="" type="string" value="url_userid[]" />
+ </extra-parameter-member-list>
</extra-parameter-list-entry>
<!--
- A simple string example, int and float are similar.
+ Dummy entry
//-->
<extra-parameter-list-entry name="" 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" />
+ <enable-modify-entries name="" 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" />
+ <table-id-column name="" 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" />
+ <table-userid-column name="" 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" />
+ <raw-userid-column-key name="" type="string" value="url_userid" />
</admin-entry-meta-data>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for doing un-/locking on 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="adminLockEntriesConfirm" />
+ <!--
+ Array index from HTTP POST data array for identifying every data row
+ //-->
+ <post-data-identify-index name="" type="string" value="url_id" />
+ <!--
+ Name of the database table where the entries should be read/write from/to.
+ //-->
+ <database-table name="" 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>
+ </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>
+ </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>
+ </extra-parameter-list>
+ <!--
+ Informations for changing status
+ //-->
+ <status-change-column name="" type="string" value="url_status" />
+ <!--
+ Status change array.
+ //-->
+ <status-change-list>
+ <status-change-list-entry name="url_status" type="string" old="ACTIVE" value="LOCKED" />
+ <status-change-list-entry name="url_status" type="string" old="LOCKED" value="ACTIVE" />
+ </status-change-list>
+ <!--
+ Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
+ //-->
+ <enable-modify-entries name="" type="bool" value="true" />
+ <!--
+ 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 name="" 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 name="" 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 name="" type="string" value="url_userid" />
+</admin-entry-meta-data>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for un-/locking 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="adminLockEntriesConfirm" />
+ <!--
+ Array index from HTTP POST data array for identifying every data row
+ //-->
+ <post-data-identify-index name="" type="string" value="url_id" />
+ <!--
+ Name of the database table where the entries should be read/write from/to.
+ //-->
+ <database-table name="" 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 name="" type="string" value="url_id" />
+ <database-column-list-entry name="" type="string" value="url_userid" />
+ <database-column-list-entry name="" type="string" value="url" />
+ <database-column-list-entry name="" type="string" value="url_registered" />
+ <database-column-list-entry name="" type="string" value="url_status" />
+ </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 name="" type="string" value="bigintval" />
+ <callback-function-list-entry name="" type="string" value="generateUserProfileLink" />
+ <callback-function-list-entry name="" type="string" value="generateFrametesterUrl" />
+ <callback-function-list-entry name="" type="string" value="" /> <!-- No callback function! //-->
+ <callback-function-list-entry name="" type="string" value="translateSurfbarUrlStatus" />
+ </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 name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" 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 name="" 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 name="" 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 name="" 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 name="" type="string" value="url_userid" />
+</admin-entry-meta-data>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for doing undelete on 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="adminUndeleteEntriesConfirm" />
+ <!--
+ Array index from HTTP POST data array for identifying every data row
+ //-->
+ <post-data-identify-index name="" type="string" value="url_id" />
+ <!--
+ Name of the database table where the entries should be read/write from/to.
+ //-->
+ <database-table name="" 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>
+ </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>
+ </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>
+ </extra-parameter-list>
+ <!--
+ Informations for changing status
+ //-->
+ <status-change-column name="" type="string" value="url_status" />
+ <!--
+ Status change array.
+ //-->
+ <status-change-list>
+ <status-change-list-entry name="url_status" type="string" old="DELETED" value="ACTIVE" />
+ </status-change-list>
+ <!--
+ Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
+ //-->
+ <enable-modify-entries name="" type="bool" value="true" />
+ <!--
+ 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 name="" 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 name="" 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 name="" type="string" value="url_userid" />
+</admin-entry-meta-data>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+This template provides meta data for undeleting 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="adminUndeleteEntriesConfirm" />
+ <!--
+ Array index from HTTP POST data array for identifying every data row
+ //-->
+ <post-data-identify-index name="" type="string" value="url_id" />
+ <!--
+ Name of the database table where the entries should be read/write from/to.
+ //-->
+ <database-table name="" 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 name="" type="string" value="url_id" />
+ <database-column-list-entry name="" type="string" value="url_userid" />
+ <database-column-list-entry name="" type="string" value="url" />
+ <database-column-list-entry name="" type="string" value="url_registered" />
+ <database-column-list-entry name="" type="string" value="url_status" />
+ </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 name="" type="string" value="bigintval" />
+ <callback-function-list-entry name="" type="string" value="generateUserProfileLink" />
+ <callback-function-list-entry name="" type="string" value="generateFrametesterUrl" />
+ <callback-function-list-entry name="" type="string" value="" /> <!-- No callback function! //-->
+ <callback-function-list-entry name="" type="string" value="translateSurfbarUrlStatus" />
+ </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 name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" type="string" value="" />
+ <extra-parameter-list-entry name="" 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 name="" 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 name="" 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 name="" 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 name="" type="string" value="url_userid" />
+</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.
+ Keep 'name' empty for numerical array indexes (array keys).
//-->
<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" />
+ <post-data-identify-index name="" 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" />
+ <database-table name="" type="string" value="table_name" />
<!--
The following three lists must have the same count of list entries, else an
error may occur.
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-entry name="" type="string" value="foo" />
</database-column-list>
<!--
"Filter" call-back functions to call back for piping the fetched data
<!--
A call-back function list entry
//-->
- <callback-function-list-entry type="string" value="someFooCallback" />
+ <callback-function-list-entry name="" type="string" value="someFooCallback" />
</callback-function-list>
<!--
Extra parameters (2nd, 3rd, ...) for above call-back functions. If an array
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.
- Keep 'name' empty for numerical array indexes (array keys).
+ examples below. In addition to that you need to maintain <value>_list
+ in all corresponding elements, see admin_edit_show_surfbar_urls.xml for
+ an example.
//-->
<!--
A simple string example with a numerical index, int and float are similar.
<!--
Wether to 'edit/delete/change' (change) the entries (true) or just read them for displaying (false)
//-->
- <enable-modify-entries type="bool" value="false" />
+ <enable-modify-entries name="" 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" />
+ <table-id-column name="" 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" />
+ <table-userid-column name="" 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" />
+ <raw-userid-column-key name="" type="string" value="userid" />
</admin-entry-meta-data>