theme/desert/images/help/right.jpg -text
theme/desert/images/help/up.jpg -text
theme/desert/theme.php -text
-unsupported/affiliblatt/inc/extensions/ext-affiliblatt.php -text
-unsupported/affiliblatt/inc/language/affiliblatt_de.php -text
-unsupported/affiliblatt/inc/libs/affiliblatt_functions.php -text
-unsupported/affiliblatt/inc/modules/admin/what-config_affiliblatt.php -text
-unsupported/affiliblatt/inc/modules/admin/what-list_affiliblatt_tm.php -text
-unsupported/affiliblatt/inc/reset/reset_affiliblatt.php -text
-unsupported/affiliblatt/templates/de/html/admin/admin_affiliblatt_error.tpl -text
-unsupported/affiliblatt/templates/de/html/admin/admin_config_affiliblatt.tpl -text
-unsupported/affiliblatt/templates/de/html/admin/admin_list_affiliblatt_tm.tpl -text
-unsupported/affiliblatt/templates/de/html/admin/admin_list_affiliblatt_tm_already.tpl -text
-unsupported/affiliblatt/templates/de/html/admin/admin_list_affiliblatt_tm_row.tpl -text
-unsupported/affiliblatt/templates/de/html/admin/admin_send_affiliblatt.tpl -text
-unsupported/affiliblatt/templates/de/html/ext/ext_affiliblatt.tpl -text
-unsupported/gollox/inc/extensions/ext-gollox.php -text
-unsupported/gollox/inc/language/gollox_de.php -text
-unsupported/gollox/inc/libs/gollox_functions.php -text
-unsupported/gollox/inc/modules/admin/what-config_gollox.php -text
-unsupported/gollox/inc/modules/admin/what-list_gollox_tm.php -text
-unsupported/gollox/inc/reset/reset_gollox.php -text
-unsupported/gollox/templates/de/html/admin/admin_config_gollox.tpl -text
-unsupported/gollox/templates/de/html/admin/admin_gollox_error.tpl -text
-unsupported/gollox/templates/de/html/admin/admin_list_gollox_tm.tpl -text
-unsupported/gollox/templates/de/html/admin/admin_list_gollox_tm_already.tpl -text
-unsupported/gollox/templates/de/html/admin/admin_list_gollox_tm_row.tpl -text
-unsupported/gollox/templates/de/html/admin/admin_send_gollox.tpl -text
-unsupported/gollox/templates/de/html/ext/ext_gollox.tpl -text
/view.php -text
define('SERVER_URL', "http://www.mxchange.org");
// Current SVN revision
-define('CURR_SVN_REVISION', "619");
+define('CURR_SVN_REVISION', "620");
// Take a prime number which is long (if you know a longer one please try it out!)
define('_PRIME', 591623);
}
//
-function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false)
-{
+function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false) {
global $NOTES, $_CONFIG, $INC_POOL, $cacheInstance;
+ // This shall never do a non-admin user!
+ if (!IS_ADMIN()) return false;
+
+ // Is this extension already installed?
+ if (EXT_IS_ACTIVE($ext_name)) return false;
+
// We want to register an extension and registration status is by default "failed" (= false)
$EXT_LOAD_MODE = "register"; $ret = false; $SQLs = array();
$INC_POOL = array();
- // This shall never do a non-admin user!
- if (!IS_ADMIN()) return false;
-
// By default the language prefix is the extension's name
// @TODO: Do we really need this one anymore? Can't we just take $ext_name and done?
$EXT_LANG_PREFIX = $ext_name;
// By default we have no failtures
$EXT_REPORTS_FAILURE = false;
- // Is this extension already installed?
- if (EXT_IS_ACTIVE($ext_name)) return false;
-
// Generate file name
$file = sprintf("%sinc/extensions/ext-%s.php", PATH, $ext_name);
// If versions mismatch update extension first
$ext_ver = GET_EXT_VERSION($EXT_UPDATE_DEPENDS);
- // Extension version set?
+ // Extension version set? If empty the extension is not registered
if (empty($ext_ver)) {
// Extension not registered so far so first load task's ID...
$result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE task_type='EXTENSION' AND subject LIKE '[%s:]%%' LIMIT 1",
// Version history array (add more with , "0.1" and so on)
$EXT_VER_HISTORY = array("0.0");
+/*
+print "<pre>";
+debug_print_backtrace();
+print "<pre>";
+*/
switch ($EXT_LOAD_MODE)
{
$cacheArray['active_extensions'] = array();
}
+// By default no cache is set
+$cacheMode = "no";
+
//
// Load extensions
//
if (EXT_IS_ACTIVE("cache")) {
// Load cache extension alone
include_once(PATH."inc/libs/cache_functions.php");
- $cacheMode = "";
include_once(PATH."inc/extensions/ext-cache.php");
+
+ // Check extension cache
switch (($cacheInstance->cache_file("extensions", true)) && ($cacheInstance->ext_version_matches("sql_patches"))) {
case true : $cacheMode = "load"; break;
case false: $cacheMode = "init"; break;
}
- // Do not recreate cache file when it's switched off!
-
- // If we need to init the cache init it now
- if ($cacheMode == "init") {
+ // Do we need to init the cache?
+ if (($cacheMode == "init") && ($_CONFIG['cache_exts'] == "Y")) {
// Init cache file
$cacheInstance->cache_init("EXTENSIONS");
$cacheInstance->store_extension_version("sql_patches");
-
- if ($_CONFIG['cache_exts'] == "N") $cacheMode = "skip";
- } // END - if
-} else {
- // Cache extension not active
- $cacheMode = "no";
-}
+ } elseif ($_CONFIG['cache_exts'] == "N") {
+ // Cache will not be created for extensions
+ $cacheMode = "skip";
+ }
+} // END - if
// Load cache?
if ($cacheMode == "load") {
// Add ext name
$EXT_NAMES[$id] = $name;
+ // Add deprecated flag (defaults to "not deprecated")
+ $EXT_DUMMY['ext_deprecated'][$name] = "N";
+
// Mark it as active extension
$cacheArray['active_extensions']['$name'] = $EXT_DUMMY['ext_keep'][$k];
unset($EXT_DUMMY['ext_keep'][$k]);
if (!empty($lang)) {
// Create language file
$file2 = sprintf("%sinc/language/%s_%s.php", PATH, $lang, GET_LANGUAGE());
- }
+ } // END - if
if (FILE_READABLE($file3)) {
// Special functions file
array($name), __FILE__, __LINE__);
// Remove (maybe?) found tasks (main task and possible updates
- SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE subject LIKE '[%s:] %' AND (task_type='EXTENSION' OR task_type='EXTENSION_UPDATE')",
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE subject LIKE '[%s:]%%' AND (task_type='EXTENSION' OR task_type='EXTENSION_UPDATE')",
array($name), __FILE__, __LINE__);
} // END - foreach
SQL_FREERESULT($result);
} // END - if
- // Update extension
- if (!empty($ext_ver)) EXTENSION_UPDATE($file, $ext, $ext_ver);
+ // Update extension if extension is installed and outdated
+ //* DEBUG: */ print "ext={$ext},ver={$ext_ver}/".GET_EXT_VERSION($ext)."<br />\n";
+ if ((!empty($ext_ver)) && (EXT_IS_ACTIVE($ext)) && (GET_EXT_VERSION($ext) > $ext_ver)) EXTENSION_UPDATE($file, $ext, $ext_ver);
if (!empty($cacheArray['active_extensions'][$ext])) {
// Maybe we want to keept the current extension active?
// Update config entries
function UPDATE_CONFIG ($entries, $values, $updateMode="") {
+ global $CSS;
+
+ // Do not update config in CSS mode
+ if (($CSS == "1") || ($CSS == -1)) {
+ return;
+ } // END - if
+
// Do we have multiple entries?
if (is_array($entries)) {
// Walk through all
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 08/27/2008 *
- * ================ Last change: 08/27/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : ext-affliliblatt.php *
- * -------------------------------------------------------------------- *
- * Short description : Extension for contacting the API of AffiliBlatt *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Erweitertung zur Anbindung an die API von *
- * AffiliBlatt *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// Version number
-$EXT_VERSION = "0.0";
-
-// Auto-set extension version
-if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
-
-// Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = array("0.0");
-
-switch ($EXT_LOAD_MODE)
-{
-case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
- // SQL commands to run
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_sid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_passwd` VARCHAR(255) NOT NULL DEFAULT ''";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_erotic_allowed` TINYINT(2) NOT NULL DEFAULT 0";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_tm_max_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT ".(24 * 8)."";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_tm_min_wait` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 60";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_tm_clicks_remain` INT(7) UNSIGNED NOT NULL DEFAULT 1000";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_tm_min_pay` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_requests_total` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 200";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `affliliblatt_requests_remain` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 200";
-
- // Admin menu
- $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_affliliblatt','AffiliBlatt Interface 2.0','Einstellungen zum AffiliBlatt Interface 2.0, wie User-ID, Interface-Passwort und vieles mehr.',17)";
- $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','list_affliliblatt_tm','AffiliBlatt Textmails','Listet Textmail-Buchungen über das Interface 2.0 von AffiliBlatt nach Ihren eingestellten Kriterien auf. <strong>Vorsicht:</strong> Jede Aktualisierung dieser Liste kostet Ihnen eine Abfrage!',10)";
-
- // Reload lock table
- $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_affliliblatt_reload`";
- $SQLs[] = "CREATE TABLE `"._MYSQL_PREFIX."_affliliblatt_reload` (
-`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`type` VARCHAR(255) NOT NULL DEFAULT 'general',
-`y_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`y_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 0,
-`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-PRIMARY KEY (`id`),
-UNIQUE `y_type` (`type`,`y_id`)
-) TYPE=MyISAM COMMENT='Reload lock reminder for AffiliBlatt campaigns'";
- break;
-
-case "remove": // Do stuff when removing extension
- // SQL commands to run
- $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE `what` IN('config_affliliblatt','list_affliliblatt_tm') LIMIT 2";
- $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_affliliblatt_reload`";
- break;
-
-case "activate": // Do stuff when admin activates this extension
- // SQL commands to run
- break;
-
-case "deactivate": // Do stuff when admin deactivates this extension
- // SQL commands to run
- break;
-
-case "update": // Update an extension
- switch ($EXT_VER)
- {
- case "0.0.1": // SQL queries for v0.0.1
- $SQLs[] = "";
-
- // Update notes (these will be set as task text!)
- $UPDATE_NOTES = "";
- break;
- }
- break;
-
-default: // Do stuff when extension is loaded
- // The translation table
- $affliliblattTranslationTable = array(
- // Error messages
- 'error_codes' => array(
- 1 => 'wrong_pass',
- 2 => 'wrong_sid',
- 3 => 'website_locked',
- 4 => 'api_data_error',
- 5 => 'requests_depleted',
- 6 => 'zero_result',
- 10 => 'incomplete_request'
- ),
- // For text mails
- 'textmail' => array(
- 0 => 'id',
- 1 => 'name',
- 2 => 'reload',
- 3 => 'wait',
- 4 => 'remain',
- 5 => 'pay',
- 6 => 'text'
- )
- );
- break;
-}
-
-// Language file prefix
-$EXT_LANG_PREFIX = "affliliblatt";
-
-// Keep this extension always active!
-$EXT_ALWAYS_ACTIVE = "Y";
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * =============== Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : affliliblatt_de.php *
- * -------------------------------------------------------------------- *
- * Short description : German langugage support *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Deutsche Sprachunterstuetzung *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// Admin config strings
-define('ADMIN_CONFIG_AFFILIBLATT_TITLE', "Einstellungen für AffiliBlatt Interface 2.0");
-define('ADMIN_CONFIG_AFFILIBLATT_ID', "Ihre User-ID:");
-define('ADMIN_CONFIG_AFFILIBLATT_SID', "Seiten-ID:");
-define('ADMIN_CONFIG_AFFILIBLATT_PASSWD', "Interface-Passwort:");
-define('ADMIN_CONFIG_AFFILIBLATT_TM_MAX_RELOAD', "Maximale Reloadsperre der Kampagnen in Stunden:");
-define('ADMIN_CONFIG_AFFILIBLATT_TM_MIN_WAIT', "Mindestaufenthalt in Sekunden:");
-define('ADMIN_CONFIG_AFFILIBLATT_TM_CLICKS_REMAIN', "Mindestanzahl der restlichen Klicks:");
-define('ADMIN_CONFIG_AFFILIBLATT_TM_MIN_PAY', "Mindestvergütung der Kampagne:");
-define('ADMIN_CONFIG_AFFILIBLATT_EROTIC_ALLOWED', "Kampagnen mit erotischen Inhalt anzeigen?");
-define('ADMIN_CONFIG_AFFILIBLATT_EROTIC_NONE', "Keine Erotik anzeigen");
-define('ADMIN_CONFIG_AFFILIBLATT_EROTIC_INCLUDE', "Auch Erotik anzeigen");
-define('ADMIN_CONFIG_AFFILIBLATT_EROTIC_ONLY', "Nur Erotik anzeigen");
-define('ADMIN_CONFIG_AFFILIBLATT_EROTIC_NOTE', "<strong>Hinweise:</strong> Sollten Sie Erotik in Ihrem {!MT_WORD!} anzeigen wollen, so sollten Sie einen Jugendschutzbeauftragten haben und diesen im Impressum nennen. Das gesamte MXChange-Team weisst darauf hin, dass niemand aus dem Team Ihnen hierzu rechtsberatende Hinweise geben kann. Auch im Community-Forum erfolgt keine Rechtsberatung! Etwaige Postings werden entweder kommentarlos gelöscht oder gesperrt.");
-define('ADMIN_CONFIG_AFFILIBLATT_TEST_FAILED', "Konfigurationsdaten stimmen nicht überein. Details entnehmen Sie bitte der Datei <u>inc/cache/debug.log</u>.");
-
-// Generic admin strings
-define('ADMIN_AFFILIBLATT_REQUESTS_DEPLETED', "Ihr Abfragekonto der API ist erschöpft. Bitte surfen Sie auf <a href=\"http://www.affliliblatt.de\" target=\"_blank\">www.AffiliBlatt.de</a> und loggen Sie sich ein, um manuell Mails zu versenden.");
-define('ADMIN_AFFILIBLATT_INVALID_RESULT', "Ungültige Antwort von der API erhalten. Ist <a href=\"http://www.affliliblatt.de\" target=\"_blank\">www.affliliblatt.de</a> erreichbar?");
-define('ADMIN_AFFILIBLATT_PREPARE_MAIL', "Bonusmail vorbereiten");
-define('ADMIN_AFFILIBLATT_REMOVE_MAIL', "Mail entfernen");
-define('ADMIN_AFFILIBLATT_UNLIST_MAIL', "Aus Ausschlussliste nehmen");
-define('ADMIN_AFFILIBLATT_TEXTMAIL_ALREADY_SENT', "Textmail wurde <strong>%s</strong> bereits versendet.");
-define('ADMIN_AFFILIBLATT_TEXTMAIL_SEND_AGAIN', "Textmail kann in <strong>%s</strong> erneut versendet werden.");
-define('ADMIN_AFFILIBLATT_TEXTMAIL_MANUALLY_LOCKED', "Textmail wurde manuell gesperrt.");
-define('ADMIN_LIST_AFFILIBLATT_TITLE', "Alle Textmails von der AffiliBlatt API 2.0 anzeigen");
-define('ADMIN_LIST_AFFILIBLATT_NOTE', "<strong>Hinweise:</strong> Mails mit 0 Sekunden Mindestaufenthalt sind meistens Framekiller-Mails. Sie können eine Mail nur erneut aussenden, wenn die Reload-Sperre abgelaufen ist!");
-define('ADMIN_AFFILIBLATT_SEND_MAIL_TITLE', "Textmail aus AffiliBlatt API 2.0 versenden");
-define('ADMIN_AFFILIBLATT_RECEIVER_ARE_ALL_NOTE', "Es werden in der jeweiligen Kategorie alle verfügbaren Empfänger ausgewählt.");
-
-// Subject lines
-define('ADMIN_AFFILIBLATT_SUBJECT_PREFIX', "Paidmail:");
-define('ADMIN_AFFILIBLATT_ENTER_URL_NOTE', "Die URL wird automatisch für Sie konstruiert!");
-
-// Admin header lines
-define('ADMIN_AFFILIBLATT_TM_ID', "Id");
-define('ADMIN_AFFILIBLATT_TM_NAME', "Betreff");
-define('ADMIN_AFFILIBLATT_TM_RELOAD', "Reloadsperre");
-define('ADMIN_AFFILIBLATT_TM_WAIT', "Mindestaufenthalt");
-define('ADMIN_AFFILIBLATT_TM_REMAIN', "Klicks übrig");
-define('ADMIN_AFFILIBLATT_TM_PAY', "Vergütung");
-define('ADMIN_AFFILIBLATT_TM_ACTIONS', "Aktionen");
-
-// Error messages for admin
-define('ADMIN_AFFILIBLATT_ERROR_FAILED', "Allgemeiner Fehler von API, nicht weiter spezifiziert.");
-define('ADMIN_AFFILIBLATT_ERROR_TITLE', "Fehler bei Abfrage der AffiliBlatt API 2.0");
-define('ADMIN_AFFILIBLATT_ERROR_WRONG_PASS', "Falsches Interfacepasswort angegeben.");
-define('ADMIN_AFFILIBLATT_ERROR_WRONG_SID', "Falsche Seiten-ID verwendet.");
-define('ADMIN_AFFILIBLATT_ERROR_WEBSITE_LOCKED', "Ihre Webseite (Werbefläche) wurde bei AffiliBlatt gesperrt.");
-define('ADMIN_AFFILIBLATT_ERROR_API_DATA_ERROR', "Fehler in API-Daten erkannt.");
-define('ADMIN_AFFILIBLATT_ERROR_REQUESTS_DEPLETED', "Abfrageguthaben erschöpft.");
-define('ADMIN_AFFILIBLATT_ERROR_ZERO_RESULT', "Keine Buchungenz zur Auswahl gefunden.");
-define('ADMIN_AFFILIBLATT_ERROR_INCOMPLETE_REQUEST', "Abfragedaten sind nicht komplett.");
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * =============== Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : affliliblatt_functions.php *
- * -------------------------------------------------------------------- *
- * Short description : Special functions for affliliblatt extension *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Spezielle Funktion fuer AffiliBlatt-Erweiterung *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// Test if the extension settings did work
-function AFFILIBLATT_TEST_CONFIG ($data) {
- global $_CONFIG;
-
- // Is this admin?
- if (!IS_ADMIN()) {
- // No admin!
- return false;
- } // END - if
-
- // Transfer config data
- $_CONFIG = array_merge($_CONFIG, $data);
-
- // Temporary allow maximum
- $_CONFIG['affliliblatt_tm_max_reload'] = 1000;
- $_CONFIG['affliliblatt_tm_min_wait'] = 0;
- $_CONFIG['affliliblatt_tm_clicks_remain'] = 10;
- $_CONFIG['affliliblatt_tm_min_pay'] = 0;
- $_CONFIG['affliliblatt_erotic_allowed'] = 1;
-
- // Query the API with a test request without couting it
- // If zero reply comes back the data is invalid!
- $response = AFFILIBLATT_QUERY_API("out_textmail.php", true); // TODO Ask AffiliBlatt for test script
-
- // Log the response if failed
- if (count($response) == 0) {
- // Queries depleted (as we count here!)
- DEBUG_LOG(__FUNCTION__, __LINE__, " Requested depleted. Maxmimum was: ".$_CONFIG['affliliblatt_requests_total']);
- } elseif (count($response) <= 10) {
- // Log serialized raw response
- DEBUG_LOG(__FUNCTION__, __LINE__, " Raw response=".base64_encode(serialize($response)));
- } // END - if
-
- // Do we have some data there?
- return (count($response) > 10);
-}
-
-// Queries the given AffiliBlatt API 2.0 script
-function AFFILIBLATT_QUERY_API ($script, $countQuery = true) {
- global $_CONFIG;
-
- // Init response array
- $response = array();
-
- // Enougth queries left?
- if (($_CONFIG['affliliblatt_requests_remain'] > 0) || (!$countQuery)) {
- // Prepare the low-level request
- $requestString = sprintf("http://www.affliliblatt.de/interface_2.0/%s?id=%s&sid=%s&pw=%s&reload=%s&ma=%s&uebrig=%s&verguetung=%s&erotik=%s",
- $script,
- bigintval($_CONFIG['affliliblatt_id']),
- bigintval($_CONFIG['affliliblatt_sid']),
- $_CONFIG['affliliblatt_passwd'],
- bigintval($_CONFIG['affliliblatt_tm_max_reload']),
- bigintval($_CONFIG['affliliblatt_tm_min_wait']),
- bigintval($_CONFIG['affliliblatt_tm_clicks_remain']),
- bigintval($_CONFIG['affliliblatt_tm_min_pay']),
- bigintval($_CONFIG['affliliblatt_erotic_allowed'])
- );
-
- // Run the query
- $response = GET_URL($requestString);
-
- // Shall we count the query as used?
- if ($countQuery) {
- // Then update the config!
- UPDATE_CONFIG("affliliblatt_requests_remain", 1, "-");
- } // END - if
- } // END - if
-
- // Return the data
- return $response;
-}
-
-// "Getter" for a parsed result for all text mails. This means an array without
-// the header lines will be returned
-function AFFILIBLATT_GET_PARSED_RESULT_TEXTMAILS () {
- // Get the raw response
- $response = AFFILIBLATT_QUERY_API("out_textmail.php");
-
- // Parse the response
- $result = AFFILIBLATT_PARSE_RESPONSE($response, "textmail");
-
- // Return result
- return $result;
-}
-
-// Parser function for AffiliBlatt API responses
-function AFFILIBLATT_PARSE_RESPONSE ($response, $type) {
- // Init result
- $result = array();
-
- // Cut off the header
- $dummy = $response;
- foreach ($response as $line) {
- // Remove line
- array_shift($dummy);
-
- // Is this line empty?
- if (empty($line)) {
- // Then stop here
- break;
- } // END - if
- } // END - foreach
-
- // The result is now still raw, so we must split it up and trim spaces away
- $responseLine = trim(implode("\n", $dummy));
-
- // Last line should never be a pipe!
- if (substr($responseLine, -1, 1) == "|") $responseLine = substr($responseLine, 0, -1);
-
- // Now, explode all in one array
- $dataArray = explode("|", $responseLine);
-
- // Now make the result array with two dimensions
- $cnt = 0; $entry = 0;
- foreach ($dataArray as $line) {
- // Add the line
- $result[$entry][AFFILIBLATT_TRANSLATE_INDEX($type, $cnt)] = $line;
-
- // End of data of first entry reached?
- if ($cnt == 6) {
- // Then advance to next entry and reset counter
- $entry++;
- $cnt = 0;
- } else {
- // Count up
- $cnt++;
- }
- } // END - foreach
-
- // Return it
- return $result;
-}
-
-// Prepares a bonus mail for delivery. Works only if extension "bonus" is active
-function AFFILIBLATT_PREPARE_MAIL_DELIVERY ($data) {
- global $_CONFIG;
-
- // Is this an admin?
- if (!IS_ADMIN()) {
- // Abort here
- return false;
- } elseif (!EXT_IS_ACTIVE("bonus")) {
- // Abort here
- return false;
- }
-
- // Is the waiting time below one second? Then fix it to one (zero seconds are not yet supported!)
- if ($data['wait'] < 1) $data['wait'] = 1;
-
- // Half of waiting time is a good reward!
- $data['reward'] = round($data['wait'] / 2 + 0.4);
-
- // Is the reward below one?
- if ($data['reward'] < 1) $data['reward'] = 1;
-
- // Add website id
- $data['sid'] = $_CONFIG['affliliblatt_sid'];
-
- // Add total receivers
- $data['all'] = TRANSLATE_COMMA(GET_TOTAL_RECEIVERS());
-
- // Add categories
- $data['categories'] = ADD_CATEGORY_OPTIONS("normal");
-
- // Load template
- LOAD_TEMPLATE("admin_send_affliliblatt", false, $data);
-}
-
-// Adds the mail to the bonus mail pool
-function AFFILIBLATT_SEND_BONUS_MAIL ($data, $mode) {
- global $_CONFIG;
-
- // Is this an admin?
- if (!IS_ADMIN()) {
- // Abort here
- return false;
- } elseif (!EXT_IS_ACTIVE("bonus")) {
- // Abort here
- return false;
- }
-
- // Add dummy receiver to avoid notice
- $data['receiver'] = 0;
-
- // HTML or normal? (normal is default...)
- $type = "t";
- if (($mode == "html") && (EXT_IS_ACTIVE("html"))) $type = "h";
-
- // Auto-generate URL
- $data['url'] = sprintf("http://www.affliliblatt.de/code/%s-mail.php?id=%s&sid=%s",
- $type,
- $data['id'],
- $data['sid']
- );
-
- // Lock this mail for new delivery
- AFFILIBLATT_RELOAD_LOCK($data, $mode);
-
- // Call the lower function
- ADD_NEW_BONUS_MAIL($data, $mode);
-}
-
-// Lockdown given id
-function AFFILIBLATT_EXCLUDE_MAIL ($data, $mode) {
- // Search for the entry
- if (AFFILIBLATT_CHECK_RELOAD($data['id'], $data['reload'], $mode) === false) {
- // Convert mode for mails
- $mode = AFFILIBLATT_CONVERT_MODE($mode);
-
- // Add the entry
- $result = SQL_QUERY_ESC("INSERT INTO `"._MYSQL_PREFIX."_affliliblatt_reload` (`type`,`y_id`,`y_reload`,`inserted`) VALUES ('%s',%s,%s,'0000-00-00 00:00')",
- array($mode, bigintval($data['id']), bigintval($data['reload'])), __FILE__, __LINE__);
- } // END - if
-}
-
-// Remove lock of given mail
-function AFFILIBLATT_UNLIST_MAIL ($data, $mode) {
- // Convert mode for mails
- $mode = AFFILIBLATT_CONVERT_MODE($mode);
-
- // Add the entry
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_affliliblatt_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1",
- array($mode, bigintval($data['id'])), __FILE__, __LINE__);
-}
-
-// "Translates" the index number into an assosiative value
-function AFFILIBLATT_TRANSLATE_INDEX ($type, $index) {
- global $affliliblattTranslationTable;
-
- // Default is the index
- $return = $index;
-
- // Is the element there?
- if (isset($affliliblattTranslationTable[$type][$index])) {
- // Use this element
- $return = $affliliblattTranslationTable[$type][$index];
- } else {
- // Not found!
- DEBUG_LOG(__FUNCTION__, __LINE__, " type={$type},index={$index} not found.");
- }
-
- // Return value
- return $return;
-}
-
-// "Translate" error code
-function AFFILIBLATT_TRANSLATE_ERROR ($errorCode) {
- global $affliliblattTranslationTable;
-
- // Default is "failed"
- $return = "failed";
-
- // Is the entry there?
- if (isset($affliliblattTranslationTable['error_codes'][$errorCode])) {
- // Entry found!
- $return = $affliliblattTranslationTable['error_codes'][$errorCode];
- } else {
- // Log missing entries
- DEBUG_LOG(__FUNCTION__, __LINE__, " errorCode={$errorCode}");
- }
-
- // Return value
- return $return;
-}
-
-// Checks if the mail id is in reload lock
-function AFFILIBLATT_CHECK_RELOAD ($id, $reload, $type) {
- // Default is not in reload lock
- $reloaded = false;
-
- // Query database
- $result = SQL_QUERY_ESC("SELECT `id`, UNIX_TIMESTAMP(`inserted`) AS inserted FROM `"._MYSQL_PREFIX."_affliliblatt_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1",
- array($type, bigintval($id)), __FILE__, __LINE__);
-
- // Entry found?
- if (SQL_NUMROWS($result) == 1) {
- // Load time
- list($id, $time) = SQL_FETCHROW($result);
-
- // Are we ready to sent again?
- if (((time() - $time) >= ($reload * 60*60)) && ($time > 0)) {
- // Remove entry
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_affliliblatt_reload WHERE id=%s LIMIT 1",
- array($id), __FILE__, __LINE__);
- } else {
- // Dont' sent again this mail
- $reloaded = $time;
- }
- } // END - if
-
- // Free result
- SQL_FREERESULT($result);
-
- // Return result
- return $reloaded;
-}
-
-// Lock given mail down for reload lock
-function AFFILIBLATT_RELOAD_LOCK ($data, $mode) {
- // Search for the entry
- if (AFFILIBLATT_CHECK_RELOAD($data['id'], $data['reload'], $mode) === false) {
- // Convert mode for mails
- $mode = AFFILIBLATT_CONVERT_MODE($mode);
-
- // Add the entry
- $result = SQL_QUERY_ESC("INSERT INTO `"._MYSQL_PREFIX."_affliliblatt_reload` (`type`,`y_id`,`y_reload`) VALUES ('%s',%s,%s)",
- array($mode, bigintval($data['id']), bigintval($data['reload'])), __FILE__, __LINE__);
- } // END - if
-}
-
-// Convert mode for mails
-function AFFILIBLATT_CONVERT_MODE ($mode) {
- // Convert mode for normal/html
- switch ($mode) {
- case "normal":
- $mode = "textmail";
- break;
-
- case "html":
- $mode = "htmlmail";
- break;
- } // END - switch
-
- // Return result
- return $mode;
-}
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * ================ Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : what-affliliblatt.php *
- * -------------------------------------------------------------------- *
- * Short description : Setup default statistics mode *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Standart Modus der Statistiken einstellen *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-} elseif (!EXT_IS_ACTIVE("affliliblatt"))
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "affliliblatt");
- return;
-}
-
-// Add description as navigation point
-ADD_DESCR("admin", __FILE__);
-
-// Was the form submitted?
-if (isset($_POST['ok'])) {
- // Test AffiliBlatt config
- if (AFFILIBLATT_TEST_CONFIG($_POST)) {
- // Save settings
- ADMIN_SAVE_SETTINGS($_POST);
- } else {
- // Config not saved
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_CONFIG_AFFILIBLATT_TEST_FAILED);
- }
-} else {
- // Prepare content
- $content = array(
- 'affliliblatt_id' => bigintval($_CONFIG['affliliblatt_id']),
- 'affliliblatt_sid' => bigintval($_CONFIG['affliliblatt_sid']),
- 'affliliblatt_passwd' => $_CONFIG['affliliblatt_passwd'],
- 'affliliblatt_tm_max_reload' => bigintval($_CONFIG['affliliblatt_tm_max_reload']),
- 'affliliblatt_tm_min_wait' => bigintval($_CONFIG['affliliblatt_tm_min_wait']),
- 'affliliblatt_tm_clicks_remain' => bigintval($_CONFIG['affliliblatt_tm_clicks_remain']),
- 'affliliblatt_tm_min_pay' => bigintval($_CONFIG['affliliblatt_tm_min_pay'])
- );
-
- // Erotic?
- switch ($_CONFIG['affliliblatt_erotic_allowed']) {
- case 0: // No erotic at all
- define('__CFG_AFFILIBLATT_EROTIC_NONE' , " selected=\"selected\"");
- define('__CFG_AFFILIBLATT_EROTIC_INCLUDE', "");
- define('__CFG_AFFILIBLATT_EROTIC_ONLY' , "");
- break;
-
- case 1: // Include erotic
- define('__CFG_AFFILIBLATT_EROTIC_NONE' , "");
- define('__CFG_AFFILIBLATT_EROTIC_INCLUDE', " selected=\"selected\"");
- define('__CFG_AFFILIBLATT_EROTIC_ONLY' , "");
- break;
-
- case 2: // Erotic only
- define('__CFG_AFFILIBLATT_EROTIC_NONE' , "");
- define('__CFG_AFFILIBLATT_EROTIC_INCLUDE', "");
- define('__CFG_AFFILIBLATT_EROTIC_ONLY' , " selected=\"selected\"");
- break;
- }
-
- // Load template
- LOAD_TEMPLATE("admin_config_affliliblatt", false, $content);
-}
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * M-XChange v0.2.1 Start: 10/10/2008 *
- * ================ Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : what-list_affliliblatt_tm.php *
- * -------------------------------------------------------------------- *
- * Short description : List AffiliBlatt text mails *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Auflisten von AffiliBlatt Textmails *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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. *
- * *
- * 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')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
- require($INC);
-} elseif (!EXT_IS_ACTIVE("affliliblatt")) {
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "affliliblatt");
- return;
-} elseif (!EXT_IS_ACTIVE("bonus")) {
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "bonus");
- return;
-}
-
-// Add description as navigation point
-ADD_DESCR("admin", __FILE__);
-
-// Do actions here
-if (isset($_POST['ok'])) {
- // Prepare mail for delivery
- AFFILIBLATT_PREPARE_MAIL_DELIVERY($_POST);
- return;
-} elseif (isset($_POST['sent'])) {
- // Sent mail
- AFFILIBLATT_SEND_BONUS_MAIL($_POST, "normal");
-} elseif (isset($_POST['remove'])) {
- // Add mail to exclude list
- AFFILIBLATT_EXCLUDE_MAIL($_POST, "normal");
-} elseif (isset($_POST['unlist'])) {
- // Remove mail from exclude list
- AFFILIBLATT_UNLIST_MAIL($_POST, "normal");
-}
-
-// Enougth queries left?
-if ($_CONFIG['affliliblatt_requests_remain'] == 0) {
- // Output message
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_AFFILIBLATT_REQUESTS_DEPLETED);
-
- // Abort here!
- return false;
-} // END - if
-
-// Get parsed array back
-$result = AFFILIBLATT_GET_PARSED_RESULT_TEXTMAILS();
-
-// Sanity-check on result array
-if ((!is_array($result)) || (count($result) == 0) || (!isset($result[0]['id']))) {
- // Invalid result
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_AFFILIBLATT_INVALID_RESULT);
- return false;
-} elseif (count($result[0]) < 7) {
- // Error received so prepare error code
- $code = explode(" ", $result[0]['id']);
- $code = $code[0];
- $code = explode("<br>", $code);
- $code = $code[0];
-
- // Output message
- LOAD_TEMPLATE("admin_affliliblatt_error", false, sprintf("{--ADMIN_AFFILIBLATT_ERROR_%s--}", strtoupper(AFFILIBLATT_TRANSLATE_ERROR($code))));
- return false;
-}
-
-// Prepare all entries
-$OUT = ""; $SW = 2;
-foreach ($result as $entry) {
- // Translate some data
- $entry['pay'] = TRANSLATE_COMMA($entry['pay'], true, 5);
- $entry['remain'] = TRANSLATE_COMMA($entry['remain']);
- $entry['sw'] = $SW;
-
- // Check reload lock
- $reload = AFFILIBLATT_CHECK_RELOAD($entry['id'], $entry['reload'], "textmail");
-
- // Is this mail already sent?
- if ($reload !== false) {
- // Init countdown
- $countdown = 0;
-
- // Not manually locked?
- if ($reload > 0) {
- // Calculate countdown
- $countdown = $reload + ($entry['reload'] * 60*60) - time();
-
- // Countdown < 60 seconds and bigger zero?
- if (($countdown < 60) && ($countdown > 0)) {
- // Fix to one minute
- $countdown = 60;
- } // END - if
-
- // Add reload lock
- $entry['already'] = sprintf(ADMIN_AFFILIBLATT_TEXTMAIL_SEND_AGAIN, CREATE_FANCY_TIME($countdown));
- } else {
- // Never resentable unless manual removal
- $entry['already'] = ADMIN_AFFILIBLATT_TEXTMAIL_MANUALLY_LOCKED;
- }
-
- // Load row template for displaying
- $OUT .= LOAD_TEMPLATE("admin_list_affliliblatt_tm_already", true, $entry);
- } else {
- // Load row template with buttons
- $OUT .= LOAD_TEMPLATE("admin_list_affliliblatt_tm_row", true, $entry);
- }
-
- // Switch color
- $SW = 3 - $SW;
-} // END - if
-
-// Load main template
-LOAD_TEMPLATE("admin_list_affliliblatt_tm", false, $OUT);
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * =============== Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : reset_affliliblatt.php *
- * -------------------------------------------------------------------- *
- * Short description : Things to be done on daily reset *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Dinge, die beim taeglichen Reset erledigt werden *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-} elseif (!EXT_IS_ACTIVE("affliliblatt")) {
- return;
-}
-
-// Do not execute when script is in CSS mode or no daily reset
-if (($CSS == 1) || (!defined('__DAILY_RESET'))) return;
-
-// Simply reset the requests here
-UPDATE_CONFIG("affliliblatt_requests_remain", $_CONFIG['affliliblatt_requests_total']);
-
-//
-?>
+++ /dev/null
-<TABLE border="0" cellspacing="0" cellpadding="0" align="center" class="admin_table dashed" width="400">
- <TR>
- <TD class="admin_title bottom2">{--ADMIN_AFFILIBLATT_ERROR_TITLE--}</TD>
- </TR>
- <TR>
- <TD align="center"><STRONG>$content</STRONG></TD>
- </TR>
-</TABLE>
+++ /dev/null
-<form action="{!URL!}/modules.php?module=admin&what=config_affiliblatt" method="POST">
-<table border="0" cellspacing="0" cellpadding="0" align="center" class="admin_table dashed" width="500">
-<tr>
- <td colspan="2" align="center" class="admin_title bottom2" height="30">
- <strong>{--ADMIN_CONFIG_AFFILIBLATT_TITLE--}</strong>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_ID--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="5" maxlength="20" name="affiliblatt_id" value="$content[affiliblatt_id]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_SID--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="5" maxlength="20" name="affiliblatt_sid" value="$content[affiliblatt_sid]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_PASSWD--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="20" maxlength="255" name="affiliblatt_passwd" value="$content[affiliblatt_passwd]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_TM_MAX_RELOAD--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="3" maxlength="6" name="affiliblatt_tm_max_reload" value="$content[affiliblatt_tm_max_reload]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_TM_MIN_WAIT--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="3" maxlength="6" name="affiliblatt_tm_min_wait" value="$content[affiliblatt_tm_min_wait]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_TM_CLICKS_REMAIN--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="5" maxlength="20" name="affiliblatt_tm_clicks_remain" value="$content[affiliblatt_tm_clicks_remain]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_TM_MIN_PAY--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="3" maxlength="6" name="affiliblatt_tm_min_pay" value="$content[affiliblatt_tm_min_pay]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_AFFILIBLATT_EROTIC_ALLOWED--}
- </td>
- <td width="200" style="padding-left: 10px">
- <select name="affiliblatt_erotic_allowed" class="admin_select" size="1">
- <option value="0"{!__CFG_AFFILIBLATT_EROTIC_NONE!}>{--ADMIN_CONFIG_AFFILIBLATT_EROTIC_NONE--}</option>
- <option value="1"{!__CFG_AFFILIBLATT_EROTIC_INCLUDE!}>{--ADMIN_CONFIG_AFFILIBLATT_EROTIC_INCLUDE--}</option>
- <option value="2"{!__CFG_AFFILIBLATT_EROTIC_ONLY!} />{--ADMIN_CONFIG_AFFILIBLATT_EROTIC_ONLY--}</option>
- </select>
- </td>
-</tr>
-<tr><td colspan="2" class="bottom2 seperator" height="5"> </td></tr>
-<tr>
- <td colspan="2" class="admin_footer">
- <input type="reset" class="admin_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" name="ok" class="admin_submit" value="{--SAVE_SETTINGS--}" />
- </td>
-</tr>
-</table>
-</form>
-
-<div class="admin_note">
- {--ADMIN_CONFIG_AFFILIBLATT_EROTIC_NOTE--}
-</div>
+++ /dev/null
-<table border="0" cellspacing="0" cellpadding="0" width="99%" class="admin_table dashed">
-<tr>
- <td colspan="7" class="admin_title" height="30">
- <strong>{--ADMIN_LIST_AFFILIBLATT_TITLE--}</strong>
- </td>
-</tr>
-<tr>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_AFFILIBLATT_TM_ID--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_AFFILIBLATT_TM_NAME--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_AFFILIBLATT_TM_RELOAD--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_AFFILIBLATT_TM_WAIT--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_AFFILIBLATT_TM_REMAIN--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_AFFILIBLATT_TM_PAY--}</strong></td>
- <td class="admin_title bottom2" width="280"><strong>{--ADMIN_AFFILIBLATT_TM_ACTIONS--}</strong></td>
-</tr>
-$content
-<tr>
- <td colspan="7" class="admin_footer">
- <span class="admin_note">{--ADMIN_LIST_AFFILIBLATT_NOTE--}</span>
- </td>
-</tr>
-</table>
+++ /dev/null
-<tr>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[id]</td>
- <td class="switch_sw$content[sw] bottom2 right2"> $content[name]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[reload] {--_HOURS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[wait] {--_SECONDS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[remain]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[pay] €</td>
- <td class="switch_sw$content[sw] bottom2" style="padding:2px">
- <table border="0" cellspacing="0" cellpadding="0" width="100%">
- <tr>
- <td align="center">
- $content[already]
- <form action="{!URL!}/modules.php?module=admin&what=list_affiliblatt_tm" method="post" style="padding-bottom:0px">
- <input type="hidden" name="id" value="$content[id]" />
- <input type="hidden" name="reload" value="$content[reload]" />
- <input type="submit" class="admin_delete" name="unlist" value="{--ADMIN_AFFILIBLATT_UNLIST_MAIL--}" />
- </form>
- </td>
- </tr>
- </table>
- </td>
-</tr>
+++ /dev/null
-<tr>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[id]</td>
- <td class="switch_sw$content[sw] bottom2 right2"> $content[name]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[reload] {--_HOURS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[wait] {--_SECONDS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[remain]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[pay] €</td>
- <td class="switch_sw$content[sw] bottom2" align="center" style="padding-left:1px;padding-right:1px;padding-top:2px;padding-bottom:2px">
- <form action="{!URL!}/modules.php?module=admin&what=list_affiliblatt_tm" method="post" style="padding-bottom:0px">
- <input type="hidden" name="id" value="$content[id]" />
- <input type="hidden" name="name" value="$content[name]" />
- <input type="hidden" name="wait" value="$content[wait]" />
- <input type="hidden" name="text" value="$content[text]" />
- <input type="hidden" name="reload" value="$content[reload]" />
- <table border="0" cellspacing="0" cellpadding="1" width="100%">
- <tr>
- <td><input type="submit" class="admin_submit" name="ok" value="{--ADMIN_AFFILIBLATT_PREPARE_MAIL--}" /></td>
- <td><input type="submit" class="admin_delete" name="remove" value="{--ADMIN_AFFILIBLATT_REMOVE_MAIL--}" /></td>
- </tr>
- </table>
- </form>
- </td>
-</tr>
+++ /dev/null
-<form action="{!URL!}/modules.php?module=admin&what=list_affiliblatt_tm" method="POST">
-<table border="0" cellspacing="0" cellpadding="0" width="680" class="admin_table dashed" align="center">
-<tr>
- <td colspan="2" class="admin_title bottom2" height="30">
- <strong>{--ADMIN_AFFILIBLATT_SEND_MAIL_TITLE--}</strong>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="10"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--SELECT_CATEGORY--}:</td>
- <td>
- <select name="cat" size="1" class="admin_select">
- <option value="" disabled>{--PLEASE_SELECT--}</option>
- <option value="0">{--ALL_MEMBERS--} ($content[all])</option>
- $content[categories]
- </select>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td width="150" align="right" style="padding-right:5px" valign="top">{--ENTER_RECEIVER--}:</td>
- <td width="530">
- <span class="admin_note"><em>{--ADMIN_AFFILIBLATT_RECEIVER_ARE_ALL_NOTE--}</em></span>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--ENTER_POINTS--}:</td>
- <td>
- <input type="text" name="points" class="admin_normal" size="4" maxlength="5" value="$content[reward]" /> {!POINTS!}
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--ENTER_SECONDS--}:</td>
- <td>
- <input type="text" name="seconds" class="admin_normal" size="4" maxlength="5" value="$content[wait]" /> {--_SECONDS--}
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--ENTER_SUBJECT--}:</td>
- <td>
- <input type="text" name="subject" class="admin_normal" size="30" maxlength="150" value="{--ADMIN_AFFILIBLATT_SUBJECT_PREFIX--} $content[name]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px" valign="top">{--ENTER_TEXT--}:</td>
- <td>
- <textarea name="text" class="admin_normal" rows="8" cols="60">$content[text]</textarea>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="10"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--MEMBER_ENTER_URL--}:</td>
- <td>
- http://www.affiliblatt.de/code/t-mail.php?id=$content[id]&sid=$content[sid]
- <input type="hidden" name="id" value="$content[id]" />
- <input type="hidden" name="sid" value="$content[sid]" />
- <input type="hidden" name="reload" value="$content[reload]" />
- </td>
-</tr>
-<tr>
- <td colspan="2" align="center">
- <span class="admin_note"><em>{--ADMIN_AFFILIBLATT_ENTER_URL_NOTE--}</em></span>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator bottom2" height="10"> </td></tr>
-<tr>
- <td colspan="2" align="center" class="admin_footer">
- <input type="reset" class="admin_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" name="sent" class="admin_submit" value="{--ADMIN_SEND_MAIL--}" />
- </td>
-</tr>
-</table>
-</form>
+++ /dev/null
-Erweiterung zur Anbindung an die API (Interface 2.0!) von [<a
- href="http://www.affiliblatt.de/?sid=MTAzNQ==&site=home" target="_blank" rel="external"
- title="Referal-Link, bitte ID stehen lassen!">AffiliBlatt</a>]. Diese Erweiterung
-muss aktiviert sein, damit die täglichen freien Abfragen wieder
-zurückgesetzt werden.
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 08/27/2008 *
- * ================ Last change: 08/27/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : ext-gollox.php *
- * -------------------------------------------------------------------- *
- * Short description : Extension for contacting the API of GolloX *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Erweitertung zur Anbindung an die API von *
- * GolloX *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// Version number
-$EXT_VERSION = "0.0";
-
-// Auto-set extension version
-if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
-
-// Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = array("0.0");
-
-switch ($EXT_LOAD_MODE)
-{
-case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
- // SQL commands to run
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_sid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_passwd` VARCHAR(255) NOT NULL DEFAULT ''";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_erotic_allowed` TINYINT(2) NOT NULL DEFAULT 0";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_tm_max_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT ".(24 * 8)."";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_tm_min_wait` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 60";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_tm_clicks_remain` INT(7) UNSIGNED NOT NULL DEFAULT 1000";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_tm_min_pay` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_requests_total` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 200";
- $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `gollox_requests_remain` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 200";
-
- // Admin menu
- $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_gollox','GolloX Interface 2.0','Einstellungen zum GolloX Interface 2.0, wie User-ID, Interface-Passwort und vieles mehr.',17)";
- $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','list_gollox_tm','GolloX Textmails','Listet Textmail-Buchungen über das Interface 2.0 von GolloX nach Ihren eingestellten Kriterien auf. <strong>Vorsicht:</strong> Jede Aktualisierung dieser Liste kostet Ihnen eine Abfrage!',10)";
-
- // Reload lock table
- $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_gollox_reload`";
- $SQLs[] = "CREATE TABLE `"._MYSQL_PREFIX."_gollox_reload` (
-`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`type` VARCHAR(255) NOT NULL DEFAULT 'general',
-`y_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`y_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 0,
-`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-PRIMARY KEY (`id`),
-UNIQUE `y_type` (`type`,`y_id`)
-) TYPE=MyISAM COMMENT='Reload lock reminder for GolloX campaigns'";
- break;
-
-case "remove": // Do stuff when removing extension
- // SQL commands to run
- $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE `what` IN('config_gollox','list_gollox_tm') LIMIT 2";
- $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_gollox_reload`";
- break;
-
-case "activate": // Do stuff when admin activates this extension
- // SQL commands to run
- break;
-
-case "deactivate": // Do stuff when admin deactivates this extension
- // SQL commands to run
- break;
-
-case "update": // Update an extension
- switch ($EXT_VER)
- {
- case "0.0.1": // SQL queries for v0.0.1
- $SQLs[] = "";
-
- // Update notes (these will be set as task text!)
- $UPDATE_NOTES = "";
- break;
- }
- break;
-
-default: // Do stuff when extension is loaded
- // The translation table
- $golloxTranslationTable = array(
- // Error messages
- 'error_codes' => array(
- 1 => 'wrong_pass',
- 2 => 'wrong_sid',
- 3 => 'website_locked',
- 4 => 'api_data_error',
- 5 => 'requests_depleted',
- 6 => 'zero_result',
- 10 => 'incomplete_request'
- ),
- // For text mails
- 'textmail' => array(
- 0 => 'id',
- 1 => 'name',
- 2 => 'reload',
- 3 => 'wait',
- 4 => 'remain',
- 5 => 'pay',
- 6 => 'text'
- )
- );
- break;
-}
-
-// Language file prefix
-$EXT_LANG_PREFIX = "gollox";
-
-// Keep this extension always active!
-$EXT_ALWAYS_ACTIVE = "Y";
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * =============== Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : gollox_de.php *
- * -------------------------------------------------------------------- *
- * Short description : German langugage support *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Deutsche Sprachunterstuetzung *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// Admin config strings
-define('ADMIN_CONFIG_GOLLOX_TITLE', "Einstellungen für GolloX Interface 2.0");
-define('ADMIN_CONFIG_GOLLOX_ID', "Ihre User-ID:");
-define('ADMIN_CONFIG_GOLLOX_SID', "Seiten-ID:");
-define('ADMIN_CONFIG_GOLLOX_PASSWD', "Interface-Passwort:");
-define('ADMIN_CONFIG_GOLLOX_TM_MAX_RELOAD', "Maximale Reloadsperre der Kampagnen in Stunden:");
-define('ADMIN_CONFIG_GOLLOX_TM_MIN_WAIT', "Mindestaufenthalt in Sekunden:");
-define('ADMIN_CONFIG_GOLLOX_TM_CLICKS_REMAIN', "Mindestanzahl der restlichen Klicks:");
-define('ADMIN_CONFIG_GOLLOX_TM_MIN_PAY', "Mindestvergütung der Kampagne:");
-define('ADMIN_CONFIG_GOLLOX_EROTIC_ALLOWED', "Kampagnen mit erotischen Inhalt anzeigen?");
-define('ADMIN_CONFIG_GOLLOX_EROTIC_NONE', "Keine Erotik anzeigen");
-define('ADMIN_CONFIG_GOLLOX_EROTIC_INCLUDE', "Auch Erotik anzeigen");
-define('ADMIN_CONFIG_GOLLOX_EROTIC_ONLY', "Nur Erotik anzeigen");
-define('ADMIN_CONFIG_GOLLOX_EROTIC_NOTE', "<strong>Hinweise:</strong> Sollten Sie Erotik in Ihrem {!MT_WORD!} anzeigen wollen, so sollten Sie einen Jugendschutzbeauftragten haben und diesen im Impressum nennen. Das gesamte MXChange-Team weisst darauf hin, dass niemand aus dem Team Ihnen hierzu rechtsberatende Hinweise geben kann. Auch im Community-Forum erfolgt keine Rechtsberatung! Etwaige Postings werden entweder kommentarlos gelöscht oder gesperrt.");
-define('ADMIN_CONFIG_GOLLOX_TEST_FAILED', "Konfigurationsdaten stimmen nicht überein. Details entnehmen Sie bitte der Datei <u>inc/cache/debug.log</u>.");
-
-// Generic admin strings
-define('ADMIN_GOLLOX_REQUESTS_DEPLETED', "Ihr Abfragekonto der API ist erschöpft. Bitte surfen Sie auf <a href=\"http://www.gollox.de\" target=\"_blank\">www.GolloX.de</a> und loggen Sie sich ein, um manuell Mails zu versenden.");
-define('ADMIN_GOLLOX_INVALID_RESULT', "Ungültige Antwort von der API erhalten. Ist <a href=\"http://www.gollox.de\" target=\"_blank\">www.gollox.de</a> erreichbar?");
-define('ADMIN_GOLLOX_PREPARE_MAIL', "Bonusmail vorbereiten");
-define('ADMIN_GOLLOX_REMOVE_MAIL', "Mail entfernen");
-define('ADMIN_GOLLOX_UNLIST_MAIL', "Aus Ausschlussliste nehmen");
-define('ADMIN_GOLLOX_TEXTMAIL_ALREADY_SENT', "Textmail wurde <strong>%s</strong> bereits versendet.");
-define('ADMIN_GOLLOX_TEXTMAIL_SEND_AGAIN', "Textmail kann in <strong>%s</strong> erneut versendet werden.");
-define('ADMIN_GOLLOX_TEXTMAIL_MANUALLY_LOCKED', "Textmail wurde manuell gesperrt.");
-define('ADMIN_LIST_GOLLOX_TITLE', "Alle Textmails von der GolloX API 2.0 anzeigen");
-define('ADMIN_LIST_GOLLOX_NOTE', "<strong>Hinweise:</strong> Mails mit 0 Sekunden Mindestaufenthalt sind meistens Framekiller-Mails. Sie können eine Mail nur erneut aussenden, wenn die Reload-Sperre abgelaufen ist!");
-define('ADMIN_GOLLOX_SEND_MAIL_TITLE', "Textmail aus GolloX API 2.0 versenden");
-define('ADMIN_GOLLOX_RECEIVER_ARE_ALL_NOTE', "Es werden in der jeweiligen Kategorie alle verfügbaren Empfänger ausgewählt.");
-
-// Subject lines
-define('ADMIN_GOLLOX_SUBJECT_PREFIX', "Paidmail:");
-define('ADMIN_GOLLOX_ENTER_URL_NOTE', "Die URL wird automatisch für Sie konstruiert!");
-
-// Admin header lines
-define('ADMIN_GOLLOX_TM_ID', "Id");
-define('ADMIN_GOLLOX_TM_NAME', "Betreff");
-define('ADMIN_GOLLOX_TM_RELOAD', "Reloadsperre");
-define('ADMIN_GOLLOX_TM_WAIT', "Mindestaufenthalt");
-define('ADMIN_GOLLOX_TM_REMAIN', "Klicks übrig");
-define('ADMIN_GOLLOX_TM_PAY', "Vergütung");
-define('ADMIN_GOLLOX_TM_ACTIONS', "Aktionen");
-
-// Error messages for admin
-define('ADMIN_GOLLOX_ERROR_FAILED', "Allgemeiner Fehler von API, nicht weiter spezifiziert.");
-define('ADMIN_GOLLOX_ERROR_TITLE', "Fehler bei Abfrage der GolloX API 2.0");
-define('ADMIN_GOLLOX_ERROR_WRONG_PASS', "Falsches Interfacepasswort angegeben.");
-define('ADMIN_GOLLOX_ERROR_WRONG_SID', "Falsche Seiten-ID verwendet.");
-define('ADMIN_GOLLOX_ERROR_WEBSITE_LOCKED', "Ihre Webseite (Werbefläche) wurde bei GolloX gesperrt.");
-define('ADMIN_GOLLOX_ERROR_API_DATA_ERROR', "Fehler in API-Daten erkannt.");
-define('ADMIN_GOLLOX_ERROR_REQUESTS_DEPLETED', "Abfrageguthaben erschöpft.");
-define('ADMIN_GOLLOX_ERROR_ZERO_RESULT', "Keine Buchungenz zur Auswahl gefunden.");
-define('ADMIN_GOLLOX_ERROR_INCOMPLETE_REQUEST', "Abfragedaten sind nicht komplett.");
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * =============== Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : gollox_functions.php *
- * -------------------------------------------------------------------- *
- * Short description : Special functions for gollox extension *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Spezielle Funktion fuer GolloX-Erweiterung *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// Test if the extension settings did work
-function GOLLOX_TEST_CONFIG ($data) {
- global $_CONFIG;
-
- // Is this admin?
- if (!IS_ADMIN()) {
- // No admin!
- return false;
- } // END - if
-
- // Transfer config data
- $_CONFIG = array_merge($_CONFIG, $data);
-
- // Temporary allow maximum
- $_CONFIG['gollox_tm_max_reload'] = 1000;
- $_CONFIG['gollox_tm_min_wait'] = 0;
- $_CONFIG['gollox_tm_clicks_remain'] = 10;
- $_CONFIG['gollox_tm_min_pay'] = 0;
- $_CONFIG['gollox_erotic_allowed'] = 1;
-
- // Query the API with a test request without couting it
- // If zero reply comes back the data is invalid!
- $response = GOLLOX_QUERY_API("out_textmail.php", true); // TODO Ask GolloX for test script
-
- // Log the response if failed
- if (count($response) == 0) {
- // Queries depleted (as we count here!)
- DEBUG_LOG(__FUNCTION__, __LINE__, " Requested depleted. Maxmimum was: ".$_CONFIG['gollox_requests_total']);
- } elseif (count($response) <= 10) {
- // Log serialized raw response
- DEBUG_LOG(__FUNCTION__, __LINE__, " Raw response=".base64_encode(serialize($response)));
- } // END - if
-
- // Do we have some data there?
- return (count($response) > 10);
-}
-
-// Queries the given GolloX API 2.0 script
-function GOLLOX_QUERY_API ($script, $countQuery = true) {
- global $_CONFIG;
-
- // Init response array
- $response = array();
-
- // Enougth queries left?
- if (($_CONFIG['gollox_requests_remain'] > 0) || (!$countQuery)) {
- // Prepare the low-level request
- $requestString = sprintf("http://www.gollox.de/interface_2.0/%s?id=%s&sid=%s&pw=%s&reload=%s&ma=%s&uebrig=%s&verguetung=%s&erotik=%s",
- $script,
- bigintval($_CONFIG['gollox_id']),
- bigintval($_CONFIG['gollox_sid']),
- $_CONFIG['gollox_passwd'],
- bigintval($_CONFIG['gollox_tm_max_reload']),
- bigintval($_CONFIG['gollox_tm_min_wait']),
- bigintval($_CONFIG['gollox_tm_clicks_remain']),
- bigintval($_CONFIG['gollox_tm_min_pay']),
- bigintval($_CONFIG['gollox_erotic_allowed'])
- );
-
- // Run the query
- $response = GET_URL($requestString);
-
- // Shall we count the query as used?
- if ($countQuery) {
- // Then update the config!
- UPDATE_CONFIG("gollox_requests_remain", 1, "-");
- } // END - if
- } // END - if
-
- // Return the data
- return $response;
-}
-
-// "Getter" for a parsed result for all text mails. This means an array without
-// the header lines will be returned
-function GOLLOX_GET_PARSED_RESULT_TEXTMAILS () {
- // Get the raw response
- $response = GOLLOX_QUERY_API("out_textmail.php");
-
- // Parse the response
- $result = GOLLOX_PARSE_RESPONSE($response, "textmail");
-
- // Return result
- return $result;
-}
-
-// Parser function for GolloX API responses
-function GOLLOX_PARSE_RESPONSE ($response, $type) {
- // Init result
- $result = array();
-
- // Cut off the header
- $dummy = $response;
- foreach ($response as $line) {
- // Remove line
- array_shift($dummy);
-
- // Is this line empty?
- if (empty($line)) {
- // Then stop here
- break;
- } // END - if
- } // END - foreach
-
- // The result is now still raw, so we must split it up and trim spaces away
- $responseLine = trim(implode("\n", $dummy));
-
- // Last line should never be a pipe!
- if (substr($responseLine, -1, 1) == "|") $responseLine = substr($responseLine, 0, -1);
-
- // Now, explode all in one array
- $dataArray = explode("|", $responseLine);
-
- // Now make the result array with two dimensions
- $cnt = 0; $entry = 0;
- foreach ($dataArray as $line) {
- // Add the line
- $result[$entry][GOLLOX_TRANSLATE_INDEX($type, $cnt)] = $line;
-
- // End of data of first entry reached?
- if ($cnt == 6) {
- // Then advance to next entry and reset counter
- $entry++;
- $cnt = 0;
- } else {
- // Count up
- $cnt++;
- }
- } // END - foreach
-
- // Return it
- return $result;
-}
-
-// Prepares a bonus mail for delivery. Works only if extension "bonus" is active
-function GOLLOX_PREPARE_MAIL_DELIVERY ($data) {
- global $_CONFIG;
-
- // Is this an admin?
- if (!IS_ADMIN()) {
- // Abort here
- return false;
- } elseif (!EXT_IS_ACTIVE("bonus")) {
- // Abort here
- return false;
- }
-
- // Is the waiting time below one second? Then fix it to one (zero seconds are not yet supported!)
- if ($data['wait'] < 1) $data['wait'] = 1;
-
- // Half of waiting time is a good reward!
- $data['reward'] = round($data['wait'] / 2 + 0.4);
-
- // Is the reward below one?
- if ($data['reward'] < 1) $data['reward'] = 1;
-
- // Add website id
- $data['sid'] = $_CONFIG['gollox_sid'];
-
- // Add total receivers
- $data['all'] = TRANSLATE_COMMA(GET_TOTAL_RECEIVERS());
-
- // Add categories
- $data['categories'] = ADD_CATEGORY_OPTIONS("normal");
-
- // Load template
- LOAD_TEMPLATE("admin_send_gollox", false, $data);
-}
-
-// Adds the mail to the bonus mail pool
-function GOLLOX_SEND_BONUS_MAIL ($data, $mode) {
- global $_CONFIG;
-
- // Is this an admin?
- if (!IS_ADMIN()) {
- // Abort here
- return false;
- } elseif (!EXT_IS_ACTIVE("bonus")) {
- // Abort here
- return false;
- }
-
- // Add dummy receiver to avoid notice
- $data['receiver'] = 0;
-
- // HTML or normal? (normal is default...)
- $type = "t";
- if (($mode == "html") && (EXT_IS_ACTIVE("html"))) $type = "h";
-
- // Auto-generate URL
- $data['url'] = sprintf("http://www.gollox.de/code/%s-mail.php?id=%s&sid=%s",
- $type,
- $data['id'],
- $data['sid']
- );
-
- // Lock this mail for new delivery
- GOLLOX_RELOAD_LOCK($data, $mode);
-
- // Call the lower function
- ADD_NEW_BONUS_MAIL($data, $mode);
-}
-
-// Lockdown given id
-function GOLLOX_EXCLUDE_MAIL ($data, $mode) {
- // Search for the entry
- if (GOLLOX_CHECK_RELOAD($data['id'], $data['reload'], $mode) === false) {
- // Convert mode for mails
- $mode = GOLLOX_CONVERT_MODE($mode);
-
- // Add the entry
- $result = SQL_QUERY_ESC("INSERT INTO `"._MYSQL_PREFIX."_gollox_reload` (`type`,`y_id`,`y_reload`,`inserted`) VALUES ('%s',%s,%s,'0000-00-00 00:00')",
- array($mode, bigintval($data['id']), bigintval($data['reload'])), __FILE__, __LINE__);
- } // END - if
-}
-
-// Remove lock of given mail
-function GOLLOX_UNLIST_MAIL ($data, $mode) {
- // Convert mode for mails
- $mode = GOLLOX_CONVERT_MODE($mode);
-
- // Add the entry
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_gollox_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1",
- array($mode, bigintval($data['id'])), __FILE__, __LINE__);
-}
-
-// "Translates" the index number into an assosiative value
-function GOLLOX_TRANSLATE_INDEX ($type, $index) {
- global $golloxTranslationTable;
-
- // Default is the index
- $return = $index;
-
- // Is the element there?
- if (isset($golloxTranslationTable[$type][$index])) {
- // Use this element
- $return = $golloxTranslationTable[$type][$index];
- } else {
- // Not found!
- DEBUG_LOG(__FUNCTION__, __LINE__, " type={$type},index={$index} not found.");
- }
-
- // Return value
- return $return;
-}
-
-// "Translate" error code
-function GOLLOX_TRANSLATE_ERROR ($errorCode) {
- global $golloxTranslationTable;
-
- // Default is "failed"
- $return = "failed";
-
- // Is the entry there?
- if (isset($golloxTranslationTable['error_codes'][$errorCode])) {
- // Entry found!
- $return = $golloxTranslationTable['error_codes'][$errorCode];
- } else {
- // Log missing entries
- DEBUG_LOG(__FUNCTION__, __LINE__, " errorCode={$errorCode}");
- }
-
- // Return value
- return $return;
-}
-
-// Checks if the mail id is in reload lock
-function GOLLOX_CHECK_RELOAD ($id, $reload, $type) {
- // Default is not in reload lock
- $reloaded = false;
-
- // Query database
- $result = SQL_QUERY_ESC("SELECT `id`, UNIX_TIMESTAMP(`inserted`) AS inserted FROM `"._MYSQL_PREFIX."_gollox_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1",
- array($type, bigintval($id)), __FILE__, __LINE__);
-
- // Entry found?
- if (SQL_NUMROWS($result) == 1) {
- // Load time
- list($id, $time) = SQL_FETCHROW($result);
-
- // Are we ready to sent again?
- if (((time() - $time) >= ($reload * 60*60)) && ($time > 0)) {
- // Remove entry
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_gollox_reload WHERE id=%s LIMIT 1",
- array($id), __FILE__, __LINE__);
- } else {
- // Dont' sent again this mail
- $reloaded = $time;
- }
- } // END - if
-
- // Free result
- SQL_FREERESULT($result);
-
- // Return result
- return $reloaded;
-}
-
-// Lock given mail down for reload lock
-function GOLLOX_RELOAD_LOCK ($data, $mode) {
- // Search for the entry
- if (GOLLOX_CHECK_RELOAD($data['id'], $data['reload'], $mode) === false) {
- // Convert mode for mails
- $mode = GOLLOX_CONVERT_MODE($mode);
-
- // Add the entry
- $result = SQL_QUERY_ESC("INSERT INTO `"._MYSQL_PREFIX."_gollox_reload` (`type`,`y_id`,`y_reload`) VALUES ('%s',%s,%s)",
- array($mode, bigintval($data['id']), bigintval($data['reload'])), __FILE__, __LINE__);
- } // END - if
-}
-
-// Convert mode for mails
-function GOLLOX_CONVERT_MODE ($mode) {
- // Convert mode for normal/html
- switch ($mode) {
- case "normal":
- $mode = "textmail";
- break;
-
- case "html":
- $mode = "htmlmail";
- break;
- } // END - switch
-
- // Return result
- return $mode;
-}
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * ================ Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : what-gollox.php *
- * -------------------------------------------------------------------- *
- * Short description : Setup default statistics mode *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Standart Modus der Statistiken einstellen *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-} elseif (!EXT_IS_ACTIVE("gollox"))
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "gollox");
- return;
-}
-
-// Add description as navigation point
-ADD_DESCR("admin", __FILE__);
-
-// Was the form submitted?
-if (isset($_POST['ok'])) {
- // Test GolloX config
- if (GOLLOX_TEST_CONFIG($_POST)) {
- // Save settings
- ADMIN_SAVE_SETTINGS($_POST);
- } else {
- // Config not saved
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_CONFIG_GOLLOX_TEST_FAILED);
- }
-} else {
- // Prepare content
- $content = array(
- 'gollox_id' => bigintval($_CONFIG['gollox_id']),
- 'gollox_sid' => bigintval($_CONFIG['gollox_sid']),
- 'gollox_passwd' => $_CONFIG['gollox_passwd'],
- 'gollox_tm_max_reload' => bigintval($_CONFIG['gollox_tm_max_reload']),
- 'gollox_tm_min_wait' => bigintval($_CONFIG['gollox_tm_min_wait']),
- 'gollox_tm_clicks_remain' => bigintval($_CONFIG['gollox_tm_clicks_remain']),
- 'gollox_tm_min_pay' => bigintval($_CONFIG['gollox_tm_min_pay'])
- );
-
- // Erotic?
- switch ($_CONFIG['gollox_erotic_allowed']) {
- case 0: // No erotic at all
- define('__CFG_GOLLOX_EROTIC_NONE' , " selected=\"selected\"");
- define('__CFG_GOLLOX_EROTIC_INCLUDE', "");
- define('__CFG_GOLLOX_EROTIC_ONLY' , "");
- break;
-
- case 1: // Include erotic
- define('__CFG_GOLLOX_EROTIC_NONE' , "");
- define('__CFG_GOLLOX_EROTIC_INCLUDE', " selected=\"selected\"");
- define('__CFG_GOLLOX_EROTIC_ONLY' , "");
- break;
-
- case 2: // Erotic only
- define('__CFG_GOLLOX_EROTIC_NONE' , "");
- define('__CFG_GOLLOX_EROTIC_INCLUDE', "");
- define('__CFG_GOLLOX_EROTIC_ONLY' , " selected=\"selected\"");
- break;
- }
-
- // Load template
- LOAD_TEMPLATE("admin_config_gollox", false, $content);
-}
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * M-XChange v0.2.1 Start: 10/10/2008 *
- * ================ Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : what-list_gollox_tm.php *
- * -------------------------------------------------------------------- *
- * Short description : List GolloX text mails *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Auflisten von GolloX-Textmails *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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. *
- * *
- * 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')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
- require($INC);
-} elseif (!EXT_IS_ACTIVE("gollox")) {
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "gollox");
- return;
-} elseif (!EXT_IS_ACTIVE("bonus")) {
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "bonus");
- return;
-}
-
-// Add description as navigation point
-ADD_DESCR("admin", __FILE__);
-
-// Do actions here
-if (isset($_POST['ok'])) {
- // Prepare mail for delivery
- GOLLOX_PREPARE_MAIL_DELIVERY($_POST);
- return;
-} elseif (isset($_POST['sent'])) {
- // Sent mail
- GOLLOX_SEND_BONUS_MAIL($_POST, "normal");
-} elseif (isset($_POST['remove'])) {
- // Add mail to exclude list
- GOLLOX_EXCLUDE_MAIL($_POST, "normal");
-} elseif (isset($_POST['unlist'])) {
- // Remove mail from exclude list
- GOLLOX_UNLIST_MAIL($_POST, "normal");
-}
-
-// Enougth queries left?
-if ($_CONFIG['gollox_requests_remain'] == 0) {
- // Output message
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_GOLLOX_REQUESTS_DEPLETED);
-
- // Abort here!
- return false;
-} // END - if
-
-// Get parsed array back
-$result = GOLLOX_GET_PARSED_RESULT_TEXTMAILS();
-
-// Sanity-check on result array
-if ((!is_array($result)) || (count($result) == 0) || (!isset($result[0]['id']))) {
- // Invalid result
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_GOLLOX_INVALID_RESULT);
- return false;
-} elseif (count($result[0]) < 7) {
- // Error received so prepare error code
- $code = explode(" ", $result[0]['id']);
- $code = $code[0];
- $code = explode("<br>", $code);
- $code = $code[0];
-
- // Output message
- LOAD_TEMPLATE("admin_gollox_error", false, sprintf("{--ADMIN_GOLLOX_ERROR_%s--}", strtoupper(GOLLOX_TRANSLATE_ERROR($code))));
- return false;
-}
-
-// Prepare all entries
-$OUT = ""; $SW = 2;
-foreach ($result as $entry) {
- // Translate some data
- $entry['pay'] = TRANSLATE_COMMA($entry['pay'], true, 5);
- $entry['remain'] = TRANSLATE_COMMA($entry['remain']);
- $entry['sw'] = $SW;
-
- // Check reload lock
- $reload = GOLLOX_CHECK_RELOAD($entry['id'], $entry['reload'], "textmail");
-
- // Is this mail already sent?
- if ($reload !== false) {
- // Init countdown
- $countdown = 0;
-
- // Not manually locked?
- if ($reload > 0) {
- // Calculate countdown
- $countdown = $reload + ($entry['reload'] * 60*60) - time();
-
- // Countdown < 60 seconds and bigger zero?
- if (($countdown < 60) && ($countdown > 0)) {
- // Fix to one minute
- $countdown = 60;
- } // END - if
-
- // Add reload lock
- $entry['already'] = sprintf(ADMIN_GOLLOX_TEXTMAIL_SEND_AGAIN, CREATE_FANCY_TIME($countdown));
- } else {
- // Never resentable unless manual removal
- $entry['already'] = ADMIN_GOLLOX_TEXTMAIL_MANUALLY_LOCKED;
- }
-
- // Load row template for displaying
- $OUT .= LOAD_TEMPLATE("admin_list_gollox_tm_already", true, $entry);
- } else {
- // Load row template with buttons
- $OUT .= LOAD_TEMPLATE("admin_list_gollox_tm_row", true, $entry);
- }
-
- // Switch color
- $SW = 3 - $SW;
-} // END - if
-
-// Load main template
-LOAD_TEMPLATE("admin_list_gollox_tm", false, $OUT);
-
-//
-?>
+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 10/10/2008 *
- * =============== Last change: 10/10/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : reset_gollox.php *
- * -------------------------------------------------------------------- *
- * Short description : Things to be done on daily reset *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Dinge, die beim taeglichen Reset erledigt werden *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * 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')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-} elseif (!EXT_IS_ACTIVE("gollox")) {
- return;
-}
-
-// Do not execute when script is in CSS mode or no daily reset
-if (($CSS == 1) || (!defined('__DAILY_RESET'))) return;
-
-// Simply reset the requests here
-UPDATE_CONFIG("gollox_requests_remain", $_CONFIG['gollox_requests_total']);
-
-//
-?>
+++ /dev/null
-<form action="{!URL!}/modules.php?module=admin&what=config_gollox" method="POST">
-<table border="0" cellspacing="0" cellpadding="0" align="center" class="admin_table dashed" width="500">
-<tr>
- <td colspan="2" align="center" class="admin_title bottom2" height="30">
- <strong>{--ADMIN_CONFIG_GOLLOX_TITLE--}</strong>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_ID--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="5" maxlength="20" name="gollox_id" value="$content[gollox_id]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_SID--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="5" maxlength="20" name="gollox_sid" value="$content[gollox_sid]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_PASSWD--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="20" maxlength="255" name="gollox_passwd" value="$content[gollox_passwd]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_TM_MAX_RELOAD--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="3" maxlength="6" name="gollox_tm_max_reload" value="$content[gollox_tm_max_reload]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_TM_MIN_WAIT--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="3" maxlength="6" name="gollox_tm_min_wait" value="$content[gollox_tm_min_wait]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_TM_CLICKS_REMAIN--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="5" maxlength="20" name="gollox_tm_clicks_remain" value="$content[gollox_tm_clicks_remain]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_TM_MIN_PAY--}
- </td>
- <td width="200" style="padding-left: 10px">
- <input type="text" class="admin_normal" size="3" maxlength="6" name="gollox_tm_min_pay" value="$content[gollox_tm_min_pay]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" width="300" height="30">
- {--ADMIN_CONFIG_GOLLOX_EROTIC_ALLOWED--}
- </td>
- <td width="200" style="padding-left: 10px">
- <select name="gollox_erotic_allowed" class="admin_select" size="1">
- <option value="0"{!__CFG_GOLLOX_EROTIC_NONE!}>{--ADMIN_CONFIG_GOLLOX_EROTIC_NONE--}</option>
- <option value="1"{!__CFG_GOLLOX_EROTIC_INCLUDE!}>{--ADMIN_CONFIG_GOLLOX_EROTIC_INCLUDE--}</option>
- <option value="2"{!__CFG_GOLLOX_EROTIC_ONLY!} />{--ADMIN_CONFIG_GOLLOX_EROTIC_ONLY--}</option>
- </select>
- </td>
-</tr>
-<tr><td colspan="2" class="bottom2 seperator" height="5"> </td></tr>
-<tr>
- <td colspan="2" class="admin_footer">
- <input type="reset" class="admin_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" name="ok" class="admin_submit" value="{--SAVE_SETTINGS--}" />
- </td>
-</tr>
-</table>
-</form>
-
-<div class="admin_note">
- {--ADMIN_CONFIG_GOLLOX_EROTIC_NOTE--}
-</div>
+++ /dev/null
-<TABLE border="0" cellspacing="0" cellpadding="0" align="center" class="admin_table dashed" width="400">
- <TR>
- <TD class="admin_title bottom2">{--ADMIN_GOLLOX_ERROR_TITLE--}</TD>
- </TR>
- <TR>
- <TD align="center"><STRONG>$content</STRONG></TD>
- </TR>
-</TABLE>
+++ /dev/null
-<table border="0" cellspacing="0" cellpadding="0" width="99%" class="admin_table dashed">
-<tr>
- <td colspan="7" class="admin_title" height="30">
- <strong>{--ADMIN_LIST_GOLLOX_TITLE--}</strong>
- </td>
-</tr>
-<tr>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_GOLLOX_TM_ID--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_GOLLOX_TM_NAME--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_GOLLOX_TM_RELOAD--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_GOLLOX_TM_WAIT--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_GOLLOX_TM_REMAIN--}</strong></td>
- <td class="admin_title bottom2 right2"><strong>{--ADMIN_GOLLOX_TM_PAY--}</strong></td>
- <td class="admin_title bottom2" width="280"><strong>{--ADMIN_GOLLOX_TM_ACTIONS--}</strong></td>
-</tr>
-$content
-<tr>
- <td colspan="7" class="admin_footer">
- <span class="admin_note">{--ADMIN_LIST_GOLLOX_NOTE--}</span>
- </td>
-</tr>
-</table>
+++ /dev/null
-<tr>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[id]</td>
- <td class="switch_sw$content[sw] bottom2 right2"> $content[name]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[reload] {--_HOURS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[wait] {--_SECONDS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[remain]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[pay] €</td>
- <td class="switch_sw$content[sw] bottom2" style="padding:2px">
- <table border="0" cellspacing="0" cellpadding="0" width="100%">
- <tr>
- <td align="center">
- $content[already]
- <form action="{!URL!}/modules.php?module=admin&what=list_gollox_tm" method="post" style="padding-bottom:0px">
- <input type="hidden" name="id" value="$content[id]" />
- <input type="hidden" name="reload" value="$content[reload]" />
- <input type="submit" class="admin_delete" name="unlist" value="{--ADMIN_GOLLOX_UNLIST_MAIL--}" />
- </form>
- </td>
- </tr>
- </table>
- </td>
-</tr>
+++ /dev/null
-<tr>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[id]</td>
- <td class="switch_sw$content[sw] bottom2 right2"> $content[name]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[reload] {--_HOURS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[wait] {--_SECONDS--}</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[remain]</td>
- <td class="switch_sw$content[sw] bottom2 right2" align="center">$content[pay] €</td>
- <td class="switch_sw$content[sw] bottom2" align="center" style="padding-left:1px;padding-right:1px;padding-top:2px;padding-bottom:2px">
- <form action="{!URL!}/modules.php?module=admin&what=list_gollox_tm" method="post" style="padding-bottom:0px">
- <input type="hidden" name="id" value="$content[id]" />
- <input type="hidden" name="name" value="$content[name]" />
- <input type="hidden" name="wait" value="$content[wait]" />
- <input type="hidden" name="text" value="$content[text]" />
- <input type="hidden" name="reload" value="$content[reload]" />
- <table border="0" cellspacing="0" cellpadding="1" width="100%">
- <tr>
- <td><input type="submit" class="admin_submit" name="ok" value="{--ADMIN_GOLLOX_PREPARE_MAIL--}" /></td>
- <td><input type="submit" class="admin_delete" name="remove" value="{--ADMIN_GOLLOX_REMOVE_MAIL--}" /></td>
- </tr>
- </table>
- </form>
- </td>
-</tr>
+++ /dev/null
-<form action="{!URL!}/modules.php?module=admin&what=list_gollox_tm" method="POST">
-<table border="0" cellspacing="0" cellpadding="0" width="680" class="admin_table dashed" align="center">
-<tr>
- <td colspan="2" class="admin_title bottom2" height="30">
- <strong>{--ADMIN_GOLLOX_SEND_MAIL_TITLE--}</strong>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="10"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--SELECT_CATEGORY--}:</td>
- <td>
- <select name="cat" size="1" class="admin_select">
- <option value="" disabled>{--PLEASE_SELECT--}</option>
- <option value="0">{--ALL_MEMBERS--} ($content[all])</option>
- $content[categories]
- </select>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td width="150" align="right" style="padding-right:5px" valign="top">{--ENTER_RECEIVER--}:</td>
- <td width="530">
- <span class="admin_note"><em>{--ADMIN_GOLLOX_RECEIVER_ARE_ALL_NOTE--}</em></span>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--ENTER_POINTS--}:</td>
- <td>
- <input type="text" name="points" class="admin_normal" size="4" maxlength="5" value="$content[reward]" /> {!POINTS!}
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--ENTER_SECONDS--}:</td>
- <td>
- <input type="text" name="seconds" class="admin_normal" size="4" maxlength="5" value="$content[wait]" /> {--_SECONDS--}
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--ENTER_SUBJECT--}:</td>
- <td>
- <input type="text" name="subject" class="admin_normal" size="30" maxlength="150" value="{--ADMIN_GOLLOX_SUBJECT_PREFIX--} $content[name]" />
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="5"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px" valign="top">{--ENTER_TEXT--}:</td>
- <td>
- <textarea name="text" class="admin_normal" rows="8" cols="60">$content[text]</textarea>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator" height="10"> </td></tr>
-<tr>
- <td align="right" style="padding-right:5px">{--MEMBER_ENTER_URL--}:</td>
- <td>
- http://www.gollox.de/code/t-mail.php?id=$content[id]&sid=$content[sid]
- <input type="hidden" name="id" value="$content[id]" />
- <input type="hidden" name="sid" value="$content[sid]" />
- <input type="hidden" name="reload" value="$content[reload]" />
- </td>
-</tr>
-<tr>
- <td colspan="2" align="center">
- <span class="admin_note"><em>{--ADMIN_GOLLOX_ENTER_URL_NOTE--}</em></span>
- </td>
-</tr>
-<tr><td colspan="2" class="seperator bottom2" height="10"> </td></tr>
-<tr>
- <td colspan="2" align="center" class="admin_footer">
- <input type="reset" class="admin_reset" value="{--CLEAR_FORM--}" />
- <input type="submit" name="sent" class="admin_submit" value="{--ADMIN_SEND_MAIL--}" />
- </td>
-</tr>
-</table>
-</form>
+++ /dev/null
-Erweiterung zur Anbindung an die API (Interface 2.0!) von [<a
- href="http://www.gollox.de/?id=720" target="_blank" rel="external"
- title="Referal-Link, bitte ID stehen lassen!">GolloX</a>]. Diese Erweiterung
-muss aktiviert sein, damit die täglichen freien Abfragen wieder
-zurückgesetzt werden.