X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Frefback_functions.php;h=bb42f8f11d2d0bc649e96c1be4dbb284e4ce79ba;hp=9278ccc5554807e2534dbfd703434e63bac77664;hb=c3b4eaf29946349ff058691db2dcb615a5379bb2;hpb=c85ddc06cc16f2cd38ddd7d4c142a3f578bbab69 diff --git a/inc/libs/refback_functions.php b/inc/libs/refback_functions.php index 9278ccc555..bb42f8f11d 100644 --- a/inc/libs/refback_functions.php +++ b/inc/libs/refback_functions.php @@ -14,11 +14,9 @@ * $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 * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -52,7 +50,7 @@ function addRefbackPoints ($userid, $ref, $points, $ref_points) { $return = $points; // Get all ref levels - $result_refs = SQL_QUERY("SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level` > 0 ORDER BY `level` ASC", + $result_refs = SQL_QUERY('SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level` > 0 ORDER BY `level` ASC', __FUNCTION__, __LINE__); // "Walk" through all level @@ -114,36 +112,39 @@ function getRefbackPercents ($userid, $ref) { // Skip identical ids if ($userid == $ref) return 0; - // Default is zero - $percents = '0'; - - // Get percents from database - $result = SQL_QUERY_ESC("SELECT refback FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `refid`=%s LIMIT 1", - array($ref, $userid), __FUNCTION__, __LINE__); - - // Entry found? (Should be!) - if (SQL_NUMROWS($result) == 1) { - // Fetch percents - list($percents) = SQL_FETCHROW($result); - //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."):percents={$percents}
"); - } else { - // Debug log - //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."): NO ENTRY FOUND! :-(
"); - logDebugMessage(__FUNCTION__, __LINE__, "userid={$userid},ref={$ref} - No entry found! :-("); - } - - // Free result - SQL_FREERESULT($result); + // Is it cached? + if (!isset($GLOBALS['refback_percents'][$userid][$ref])) { + // Default is zero + $GLOBALS['refback_percents'][$userid][$ref] = '0'; + + // Get percents from database + $result = SQL_QUERY_ESC("SELECT `refback` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `refid`=%s LIMIT 1", + array($ref, $userid), __FUNCTION__, __LINE__); + + // Entry found? (Should be!) + if (SQL_NUMROWS($result) == 1) { + // Fetch percents + list($GLOBALS['refback_percents'][$userid][$ref]) = SQL_FETCHROW($result); + //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."):percents=".$GLOBALS['refback_percents'][$userid][$ref]."
"); + } else { + // Debug log + //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."): NO ENTRY FOUND! :-(
"); + logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ' - No entry found! :-('); + } + + // Free result + SQL_FREERESULT($result); + } // END - if // Return percents //* DEBUG: */ print("----------------------- ".__FUNCTION__." - EXIT ------------------------
"); - return $percents; + return $GLOBALS['refback_percents'][$userid][$ref]; } // "Getter" for userid array which will return only one entry -function getArrayFromRefbackLevel ($rid, $level) { +function getArrayFromRefbackLevel ($refid, $level) { //* DEBUG: */ print("----------------------- ".__FUNCTION__." - ENTRY ----------------------------------------------- ".__FUNCTION__." - EXIT ------------------------
"); return $userIds; } @@ -194,7 +195,7 @@ function updateRefbackTable ($userid) { // When no entry was updated then we have to create it here //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."):found=".SQL_NUMROWS($result_refid)."
"); - if (SQL_NUMROWS($result_refid) > 0) { + if (!SQL_HASZERONUMS($result_refid)) { // Load all refids while (list($GLOBALS['refback_refid'][$GLOBALS['refback_level']]) = SQL_FETCHROW($result_refid)) { // Remmber userid @@ -225,7 +226,8 @@ function updateRefbackTable ($userid) { array(bigintval($userid), $GLOBALS['refback_level'], bigintval($GLOBALS['refback_refid'][$GLOBALS['refback_level']])), __FUNCTION__, __LINE__); // Move to next referal level and count his counter one up! - $GLOBALS['refback_level']++; updateRefbackTable($GLOBALS['refback_refid'][($GLOBALS['refback_level'] - 1)]); + $GLOBALS['refback_level']++; + updateRefbackTable($GLOBALS['refback_refid'][($GLOBALS['refback_level'] - 1)]); } // END - if // Do we have another level here? @@ -305,7 +307,7 @@ ORDER BY array(bigintval($userid), bigintval($level)), __FUNCTION__, __LINE__); // Are there some entries? - if (SQL_NUMROWS($result) > 0) { + if (!SQL_HASZERONUMS($result)) { // Fetch all entries while ($row = SQL_FETCHARRAY($result)) { // Add row @@ -352,20 +354,20 @@ function getArrayFromUserRefbackData ($id) { function updateMemberRefbackPercents ($id, $percents) { //* DEBUG: */ print("----------------------- ".__FUNCTION__." - ENTRY ----------------------------------------------- ".__FUNCTION__." - EXIT ------------------------
"); return $status; } -// + +// Checks wether refback is enabled +function isRefbackEnabled () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = (getConfig('refback_enabled') == 'Y'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// [EOF] ?>