X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fyoomedia_functions.php;h=588eea1ab419f5b739ce298867d6098bfba648ac;hp=6cad27f3066d48df641b02e00d4242b5ec65f310;hb=32ba4a68eaacd2719df4674836ff54942cd6d3ca;hpb=3f51c40f4fede87228216f9285b745a339e3891d diff --git a/inc/libs/yoomedia_functions.php b/inc/libs/yoomedia_functions.php index 6cad27f306..588eea1ab4 100644 --- a/inc/libs/yoomedia_functions.php +++ b/inc/libs/yoomedia_functions.php @@ -17,7 +17,7 @@ * Needs to be in all Files and every File needs "svn propset * * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -38,14 +38,13 @@ // Some security stuff... if (!defined('__SECURITY')) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php'; - require($INC); + die(); } // Test if the extension settings did work function YOOMEDIA_TEST_CONFIG ($data) { // Is this admin? - if (!IS_ADMIN()) { + if (!isAdmin()) { // No admin! return false; } // END - if @@ -70,18 +69,18 @@ function YOOMEDIA_TEST_CONFIG ($data) { // Log the response if failed if (count($response) == 0) { // Queries depleted (as we count here!) - DEBUG_LOG(__FUNCTION__, __LINE__, "Requested depleted. Maxmimum was: " . getConfig('yoomedia_requests_total')); + logDebugMessage(__FUNCTION__, __LINE__, 'Requested depleted. Maxmimum was: ' . getConfig('yoomedia_requests_total')); $errorCode = -1; } elseif (!isset($response[8])) { // Invalid response - DEBUG_LOG(__FUNCTION__, __LINE__, "Missing response line [8]. Raw response=" . base64_encode(serialize($response))); + logDebugMessage(__FUNCTION__, __LINE__, 'Missing response line [8]. Raw response=' . base64_encode(serialize($response))); $errorCode = -1; } elseif ((($errorCode <= 4) && ($errorCode > 0)) || ($errorCode >= 8)) { // An error has returned from the account - DEBUG_LOG(__FUNCTION__, __LINE__, "Unexpected error code " . $errorCode . " received."); + logDebugMessage(__FUNCTION__, __LINE__, 'Unexpected error code ' . $errorCode . ' received.'); } elseif (count($response) < 9) { // Log serialized raw response - DEBUG_LOG(__FUNCTION__, __LINE__, "Raw response=" . base64_encode(serialize($response))); + logDebugMessage(__FUNCTION__, __LINE__, 'Raw response=' . base64_encode(serialize($response))); $errorCode = -1; } else { // This is fine, because the result array is okay and the response code on element 8 is fine @@ -98,7 +97,7 @@ function YOOMEDIA_QUERY_API ($script, $countQuery = true) { $response = array(); // Enougth queries left? - if ((getConfig('yoomedia_requests_remain') > 0) || (!$countQuery)) { + if ((getConfig('yoomedia_requests_remain') > 0) || ($countQuery === false)) { // Prepare the low-level request $requestString = sprintf("http://www.yoomedia.de/interface_2.0/%s?id=%s&sid=%s&pw=%s&reload=%s&ma=%s&uebrig=%s&verguetung=%s&erotik=%s", $script, @@ -115,6 +114,11 @@ function YOOMEDIA_QUERY_API ($script, $countQuery = true) { // Run the query $response = sendGetRequest($requestString); + // Convert from ISO to UTF-8 + foreach ($response as $k => $v) { + $response[$k] = iconv('ISO-8859-1', 'UTF-8//TRANSLIT',$v); + } // END - if + // Shall we count the query as used? if ($countQuery === true) { // Then update the config! @@ -190,10 +194,10 @@ function YOOMEDIA_PARSE_RESPONSE ($response, $type) { // Prepares a bonus mail for delivery. Works only if extension 'bonus' is active function YOOMEDIA_PREPARE_MAIL_DELIVERY ($data) { // Is this an admin? - if (!IS_ADMIN()) { + if (!isAdmin()) { // Abort here return false; - } elseif (!EXT_IS_ACTIVE('bonus')) { + } elseif (!isExtensionActive('bonus')) { // Abort here return false; } @@ -216,17 +220,20 @@ function YOOMEDIA_PREPARE_MAIL_DELIVERY ($data) { // Add categories $data['categories'] = generateCategoryOptionsList('normal'); + // Decode entities + $data['text'] = (decodeEntities($data['text'])); + // Load template - LOAD_TEMPLATE("admin_send_yoomedia", false, $data); + loadTemplate('admin_send_yoomedia', false, $data); } // Adds the mail to the bonus mail pool function YOOMEDIA_SEND_BONUS_MAIL ($data, $mode) { // Is this an admin? - if (!IS_ADMIN()) { + if (!isAdmin()) { // Abort here return false; - } elseif (!EXT_IS_ACTIVE('bonus')) { + } elseif (!isExtensionActive('bonus')) { // Abort here return false; } @@ -236,13 +243,13 @@ function YOOMEDIA_SEND_BONUS_MAIL ($data, $mode) { // HTML or normal? (normal is default...) $type = 't'; - if (($mode == 'html') && (EXT_IS_ACTIVE('html_mail'))) $type = 'h'; + if (($mode == 'html') && (isExtensionActive('html_mail'))) $type = 'h'; // Auto-generate URL $data['url'] = sprintf("http://www.yoomedia.de/code/%s-mail.php?id=%s&sid=%s", - $type, - $data['id'], - $data['sid'] + $type, + $data['id'], + $data['sid'] ); // Lock this mail for new delivery @@ -260,8 +267,12 @@ function YOOMEDIA_EXCLUDE_MAIL ($data, $mode) { $mode = YOOMEDIA_CONVERT_MODE($mode); // Add the entry - SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_yoomedia_reload` (`type`,`y_id`,`y_reload`,`inserted`) VALUES ('%s',%s,%s,'0000-00-00 00:00')", - array($mode, bigintval($data['id']), bigintval($data['reload'])), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_yoomedia_reload` (`type`,`y_id`,`y_reload`,`inserted`) VALUES ('%s',%s,%s,'0000-00-00 00:00')", + array( + $mode, + bigintval($data['id']), + bigintval($data['reload']) + ), __FUNCTION__, __LINE__); } // END - if } @@ -271,8 +282,8 @@ function YOOMEDIA_UNLIST_MAIL ($data, $mode) { $mode = YOOMEDIA_CONVERT_MODE($mode); // Add the entry - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_yoomedia_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1", - array($mode, bigintval($data['id'])), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_yoomedia_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1", + array($mode, bigintval($data['id'])), __FUNCTION__, __LINE__); } // "Translates" the index number into an assosiative value @@ -286,7 +297,7 @@ function yoomediaTranslateIndex ($type, $index) { $return = $GLOBALS['translation_tables']['yoomedia'][$type][$index]; } else { // Not found! - DEBUG_LOG(__FUNCTION__, __LINE__, " type={$type},index={$index} not found."); + logDebugMessage(__FUNCTION__, __LINE__, "type={$type},index={$index} not found."); } // Return value @@ -294,9 +305,9 @@ function yoomediaTranslateIndex ($type, $index) { } // "Translate" error code -function yoomediaTranslateError ($errorCode) { +function translateYooMediaError ($errorCode) { // Default is 'failed' - $return = 'failed'; + $return = 'failed (Code: ' . $errorCode . ')'; // Is the entry there? if (isset($GLOBALS['translation_tables']['yoomedia']['error_codes'][$errorCode])) { @@ -304,10 +315,7 @@ function yoomediaTranslateError ($errorCode) { $return = $GLOBALS['translation_tables']['yoomedia']['error_codes'][$errorCode]; } else { // Log missing entries - print '
';
-		debug_print_backtrace();
-		die('
'); - DEBUG_LOG(__FUNCTION__, __LINE__, " errorCode={$errorCode}"); + debug_report_bug(sprintf("Unknown error code %s detected.", $errorCode)); } // Return value @@ -320,8 +328,8 @@ function YOOMEDIA_CHECK_RELOAD ($id, $reload, $type) { $reloaded = false; // Query database - $result = SQL_QUERY_ESC("SELECT `id`, UNIX_TIMESTAMP(`inserted`) AS inserted FROM `{!_MYSQL_PREFIX!}_yoomedia_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1", - array($type, bigintval($id)), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `id`, UNIX_TIMESTAMP(`inserted`) AS inserted FROM `{?_MYSQL_PREFIX?}_yoomedia_reload` WHERE `type`='%s' AND `y_id`=%s LIMIT 1", + array($type, bigintval($id)), __FUNCTION__, __LINE__); // Entry found? if (SQL_NUMROWS($result) == 1) { @@ -331,7 +339,7 @@ function YOOMEDIA_CHECK_RELOAD ($id, $reload, $type) { // Are we ready to sent again? if (((time() - $time) >= ($reload * 60*60)) && ($time > 0)) { // Remove entry - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_yoomedia_reload` WHERE `id`=%s LIMIT 1", + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_yoomedia_reload` WHERE `id`=%s LIMIT 1", array($id), __FUNCTION__, __LINE__); } else { // Dont' sent again this mail @@ -354,7 +362,7 @@ function YOOMEDIA_RELOAD_LOCK ($data, $mode) { $mode = YOOMEDIA_CONVERT_MODE($mode); // Add the entry - SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_yoomedia_reload` (`type`,`y_id`,`y_reload`) VALUES ('%s',%s,%s)", + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_yoomedia_reload` (`type`,`y_id`,`y_reload`) VALUES ('%s',%s,%s)", array($mode, bigintval($data['id']), bigintval($data['reload'])), __FUNCTION__, __LINE__); } // END - if } @@ -377,18 +385,18 @@ function YOOMEDIA_CONVERT_MODE ($mode) { } // Extract code from response -function YOOMEDIA_GET_ERRORCODE_FROM_RESULT (array $response) { +function YOOMEDIA_GET_ERRORCODE_FROM_RESULT ($response) { // Bad code as default $code = -999; // Which response should we parse? - if (isset($response[8])) { + if ((isset($response[8])) && (count($response) == 9)) { // Use error code from element 8 (mostly API errors) $codeArray = explode("
", $response[8]); // Use only the first element $code = bigintval($codeArray[0]); - } elseif (isset($response[0]['id'])) { + } elseif ((is_array($response[0])) && (isset($response[0]['id']))) { // Begin with extraction $codeArray = explode(" ", $response[0]['id']); $code = $codeArray[0]; @@ -405,7 +413,7 @@ function YOOMEDIA_GET_ERRORCODE_FROM_RESULT (array $response) { $code = str_replace("\n", '', $code); } else { // Should not happen! - DEBUG_LOG(__FUNCTION__, __LINE__, "Cannot parse response. Raw response=" . base64_encode(serialize($response))); + logDebugMessage(__FUNCTION__, __LINE__, "Cannot parse response. Raw response=" . base64_encode(serialize($response))); } // Return error code