X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Flibs%2Fsponsor_functions.php;h=c225215424b2f79ef863463b1064ab67a70d5311;hb=99be3ce68f08d6e36202789168188a9078b04aea;hp=46e4a13b0f7c3541ae61fb1429bf914551ef35a2;hpb=218f69fc35e2ff9e003324618208ec97e9cbf034;p=mailer.git diff --git a/inc/libs/sponsor_functions.php b/inc/libs/sponsor_functions.php index 46e4a13b0f..c225215424 100644 --- a/inc/libs/sponsor_functions.php +++ b/inc/libs/sponsor_functions.php @@ -14,8 +14,6 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * * Copyright (c) 2009, 2010 by Mailer Developer Team * @@ -66,8 +64,7 @@ function handleSponsorRequest ($postData, $update=false, $messageArray=array(), foreach ($postData as $k => $v) { if (!(array_search($k, $SKIPPED) > -1)) { // Check only posted input entries not the submit button - switch ($k) - { + switch ($k) { case 'email': $ALREADY = false; if (!isEmailValid($v)) { @@ -111,14 +108,14 @@ function handleSponsorRequest ($postData, $update=false, $messageArray=array(), // Test if there is are time selections convertSelectionsToTimestamp($postData, $DATA, $k, $skip); break; - } + } // END - switch if ((!empty($k)) && ($skip == false)) { // Add data $DATA['keys'][] = $k; $DATA['values'][] = $v; - } - } - } + } // END - if + } // END - if + } // END - foreach // Save sponsor? if ($SAVE === true) { @@ -134,7 +131,7 @@ function handleSponsorRequest ($postData, $update=false, $messageArray=array(), $sql = "UPDATE `{?_MYSQL_PREFIX?}_sponsor_data` SET "; foreach ($DATA['keys'] as $k => $v) { $sql .= $v."='%s', "; - } + } // END - foreach // Remove last ", " from SQL string $sql = substr($sql, 0, -2)." WHERE `id`=%s LIMIT 1"; @@ -145,7 +142,6 @@ function handleSponsorRequest ($postData, $update=false, $messageArray=array(), $ret = 'updated'; } elseif (($ALREADY === false) || (($postData['force'] == 1) && (isAdmin()))) { // Add new sponsor, first add more data - $DATA['keys'][] = 'sponsor_created'; $DATA['values'][] = time(); $DATA['keys'][] = 'status'; if (($update === true) && (isAdmin()) && (getWhat() == 'add_sponsor')) { // Only allowed for admin @@ -160,6 +156,7 @@ function handleSponsorRequest ($postData, $update=false, $messageArray=array(), // Generate hash code $DATA['keys'][] = 'hash'; + // @TODO Rewrite this to API function $DATA['values'][] = md5(session_id().':'.$postData['email'].':'.detectRemoteAddr().':'.detectUserAgent().':'.time()); $DATA['keys'][] = 'remote_addr'; $DATA['values'][] = detectRemoteAddr(); @@ -219,7 +216,7 @@ function handleSponsorRequest ($postData, $update=false, $messageArray=array(), return $ret; } -// +// Translate the account status function sponsorTranslateUserStatus ($status) { // Construct constant name $constantName = sprintf("ACCOUNT_STATUS_%s", $status); @@ -230,9 +227,9 @@ function sponsorTranslateUserStatus ($status) { $ret = getMessage($constantName); } else { // Not found! - /* DEBUG: */ debug_report_bug(__FUNCTION__, __LINE__, sprintf("Unknown status %s detected.", $status)); + //* DEBUG: */ debug_report_bug(__FUNCTION__, __LINE__, sprintf("Unknown status %s detected.", $status)); logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown status %s detected.", $status)); - $ret = getMaskedMessage('ACCOUNT_STATUS_UNKNOWN_STATUS', $status); + $ret = getMaskedMessage('ACCOUNT_STATUS_UNKNOWN', $status); } // Return status @@ -250,29 +247,15 @@ function isSponsorRegisteredWithEmail ($email) { // Wether the current user is a sponsor function isSponsor () { - // Failed... + // Failed is default $ret = false; - if ((isSessionVariableSet('sponsor_id')) && (isSessionVariableSet('sponsorpass'))) { - // Check cookies against database records... - $result = SQL_QUERY_ESC("SELECT - `id` -FROM - `{?_MYSQL_PREFIX?}_sponsor_data` -WHERE - `id`=%s AND `password`='%s' AND `status`='CONFIRMED' -LIMIT 1", - array( - bigintval(getSession('sponsor_id')), - getSession('sponsorpass') - ), __FUNCTION__, __LINE__); - if (SQL_NUMROWS($result) == 1) { - // All is fine - $ret = true; - } // END - if - // Free memory - SQL_FREERESULT($result); - } // END - if + // Determine it + $ret = ( + (isSessionVariableSet('sponsor_id')) && + (isSessionVariableSet('sponsor_pass')) && + (fetchSponsorData(getSession('sponsor_id'))) + ); // Return status return $ret; @@ -314,27 +297,15 @@ ORDER BY // Load sub menus $SUB = ''; while ($content2 = SQL_FETCHARRAY($result_sub)) { - // Merge both arrays - $content = merge_array($content, $content2); - // Check if current selected menu is matching the loaded one - if ($current == $content['sub_what']) $content['sub_title'] = '' . $content['sub_title'] . ''; - - // Prepare data for the sub template - $content = array( - 'what' => $content['sub_what'], - 'title' => $content['sub_title'] - ); + if ($current == $content2['sub_what']) $content2['sub_title'] = '' . $content2['sub_title'] . ''; // Load row template - $SUB .= loadTemplate('sponsor_what', true, $content); - } + $SUB .= loadTemplate('sponsor_what', true, $content2); + } // END - while // Prepare data for the main template - $content = array( - 'title' => $content['main_title'], - 'menu' => $SUB - ); + $content['menu'] = $SUB; // Load menu template $OUT .= loadTemplate('sponsor_action', true, $content); @@ -345,7 +316,7 @@ ORDER BY // Free memory SQL_FREERESULT($result_sub); - } + } // END - while } else { // No main menus active $OUT .= loadTemplate('admin_settings_saved', true, '{--SPONSOR_NO_MAIN_MENUS_ACTIVE--}'); @@ -360,18 +331,21 @@ ORDER BY // function addSponsorContent ($what) { - $OUT = ''; + // Init sponsor content + $GLOBALS['sponsor_output'] = ''; + + // Generate IFN (Include FileName) $INC = sprintf("inc/modules/sponsor/%s.php", $what); if (isIncludeReadable($INC)) { - // Every sponsor action will output nothing directly. It will be written into $OUT! + // Every sponsor action will output nothing directly. It will be written into $GLOBALS['sponsor_output']! loadIncludeOnce($INC); } else { // File not found! - $OUT .= loadTemplate('admin_settings_saved', true, getMaskedMessage('SPONSOR_CONTENT_404', $what)); + $GLOBALS['sponsor_output'] .= loadTemplate('admin_settings_saved', true, getMaskedMessage('SPONSOR_CONTENT_404', $what)); } // Return content - return $OUT; + return $GLOBALS['sponsor_output']; } // @@ -385,19 +359,19 @@ function updateSponsorLogin () { SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_sponsor_data` SET - `last_online`=UNIX_TIMESTAMP() + `last_online`=NOW() WHERE `id`=%s AND `password`='%s' LIMIT 1", array( bigintval(getSession('sponsor_id')), - getSession('sponsorpass') + getSession('sponsor_pass') ), __FUNCTION__, __LINE__); // This update went fine? - $login = (SQL_AFFECTEDROWS() == 1); - } + $login = (!SQL_HASZEROAFFECTED()); + } // END - if // Return status return $login; @@ -409,8 +383,8 @@ function saveSponsorData ($postData, $content) { // Unsecure data which we don't want $UNSAFE = array('password', 'id', 'remote_addr', 'sponsor_created', 'last_online', 'status', 'ref_count', - 'points_amount', 'points_used', 'refid', 'hash', 'last_pay', 'last_curr', 'pass_old', - 'ok', 'pass1', 'pass2'); + 'points_amount', 'points_used', 'refid', 'hash', 'last_payment', 'last_currency', + 'pass_old', 'ok', 'pass1', 'pass2'); // Set default message ("not saved") $message = '{--SPONSOR_ACCOUNT_DATA_NOT_SAVED--}'; @@ -453,18 +427,21 @@ function saveSponsorData ($postData, $content) { $sql .= " `status`='EMAIL', `hash`='%s',"; // Generate hash code - $HASH = md5(session_id().':'.$postData['email'].':'.detectRemoteAddr().':'.detectUserAgent().':'.time()); + // @TODO Rewrite this to API function + $HASH = md5(session_id() . ':' . $postData['email'] . ':' . detectRemoteAddr() . ':' . detectUserAgent() . ':' . time()); $DATA[] = $HASH; } // END - if } // END - if - // Remove last commata $sql = substr($sql, 0, -1); + // Add last_change + $sql .= ', `last_change`=NOW()'; + // Add SQL tail data $sql .= " WHERE `id`=%s AND `password`='%s' LIMIT 1"; $DATA[] = bigintval(getSession('sponsor_id')); - $DATA[] = getSession('sponsorpass'); + $DATA[] = getSession('sponsor_pass'); // Saving data was completed... ufff... switch (getWhat()) { @@ -496,7 +473,7 @@ function saveSponsorData ($postData, $content) { } // END - switch // Has an entry updated? - if (SQL_AFFECTEDROWS() == 1) { + if (!SQL_HASZEROAFFECTED()) { // Template and subject are set? if (!empty($templ) && !empty($subj)) { // Run SQL command and check for success @@ -589,7 +566,7 @@ function doProcessSponsorFormRequest ($messageArray = array()) { case 'added': // Sponsor successfully added with account status = UNCONFIRMED! // Check for his id number $result = SQL_QUERY_ESC("SELECT `id`, `hash` FROM `{?_MYSQL_PREFIX?}_sponsor_data` WHERE `email`='%s' LIMIT 1", - array(postRequestParameter('email')), __FILE__, __LINE__); + array(postRequestParameter('email')), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) == 1) { // id found so let's load it for the confirmation email list($id, $hash) = SQL_FETCHROW($result); @@ -622,7 +599,7 @@ function doProcessSponsorFormRequest ($messageArray = array()) { break; default: - logDebugMessage(__FILE__, __LINE__, sprintf("Unknown status %s detected.", $status)); + logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown status %s detected.", $status)); if (!isAdmin()) { // Message for testing admin $message = getMaskedMessage('ADMIN_SPONSOR_UNKNOWN_STATUS', $status); @@ -631,7 +608,7 @@ function doProcessSponsorFormRequest ($messageArray = array()) { $message = getMaskedMessage('SPONSOR_UNKNOWN_STATUS', $status); } break; - } + } // END - switch // Return message return $message; @@ -684,7 +661,7 @@ function fetchSponsorData ($sponsor_id, $column = 'id') { setCurrentSponsorId($sponsor_id); // Don't look for invalid sponsor_ids... - if ($sponsor_id < 1) { + if (!isValidUserId($sponsor_id)) { // Invalid, so abort here debug_report_bug(__FUNCTION__, __LINE__, 'Sponsor id ' . $sponsor_id . ' is invalid.'); } elseif (isSponsorDataValid()) { @@ -719,10 +696,10 @@ function fetchSponsorData ($sponsor_id, $column = 'id') { if (isset($GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure'])) { // Backup the raw one and zero it $GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure_raw'] = $GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure']; - $GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure'] = '0'; + $GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure'] = null; // Is it not zero? - if ($GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure_raw'] != '0000-00-00 00:00:00') { + if (!is_null($GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure_raw'])) { // Seperate data/time $array = explode(' ', $GLOBALS['sponsor_data'][getCurrentSponsorId()]['last_failure_raw']); @@ -826,23 +803,71 @@ function isCurrentSponsorIdSet () { // Is given sponsor_id valid? function isValidSponsorId ($sponsor_id) { // Do we have cache? - if (!isset($GLOBALS['is_valid_sponsor_id'][$sponsor_id])) { + if (!isset($GLOBALS[__FUNCTION__][$sponsor_id])) { // Check it out - $GLOBALS['is_valid_sponsor_id'][$sponsor_id] = ((!is_null($sponsor_id)) && (!empty($sponsor_id)) && ($sponsor_id > 0)); + $GLOBALS[__FUNCTION__][$sponsor_id] = ((!is_null($sponsor_id)) && (!empty($sponsor_id)) && ($sponsor_id > 0)); } // END - if // Return cache - return $GLOBALS['is_valid_sponsor_id'][$sponsor_id]; + return $GLOBALS[__FUNCTION__][$sponsor_id]; } // Getter for sponsor data function getSponsorData ($column) { // Sponsor id should not be zero - if (getCurrentSponsorId() < 1) debug_report_bug(__FUNCTION__, __LINE__, 'Sponsor id is zero.'); + if (!isValidUserId(getCurrentSponsorId())) { + debug_report_bug(__FUNCTION__, __LINE__, 'Sponsor id is zero.'); + } // END - if // Return the value return $GLOBALS['sponsor_data'][getCurrentSponsorId()][$column]; } +// Determines the country of the given sponsor id +function determineSponsorCountry ($sponsor_id) { + // Then handle it over + $country = getSponsorData('country'); + + // Return it + return $country; +} + +// Destroy sponsor session +function destroySponsorSession () { + // Remove all user data from session + return ( + (setSession('sponsor_id', '')) && + (setSession('sponsor_pass', '')) && + ( + ((isExtensionActive('theme')) && (setTheme(''))) || + (!isExtensionActive('theme')) + ) + ); +} + +// Getter for sponsor_min_points +function getSponsorMinPoints () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('sponsor_min_points'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Getter for sponsor_ref_points +function getSponsorRefPoints () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('sponsor_ref_points'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + // [EOF] ?>