X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Frefback_functions.php;h=18b9ff9490cf53a347452f73074e6e602e9ac827;hb=9b93cb80c13ee59fbd935b2988127cf4a1135000;hp=5dc539c2e7ad52e091f99f3de2770139ce2b1386;hpb=8f14df8c3232a31917df0ac57363dbd6e975c147;p=mailer.git diff --git a/inc/libs/refback_functions.php b/inc/libs/refback_functions.php index 5dc539c2e7..18b9ff9490 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 @@ -213,8 +214,12 @@ function updateRefbackTable ($userid) { } // END - if // Check existence - $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`='%s' AND `refid`=%s LIMIT 1", - array(bigintval($userid), $GLOBALS['refback_level'], bigintval($GLOBALS['refback_refid'][$GLOBALS['refback_level']])), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`=%s AND `refid`=%s LIMIT 1", + array( + bigintval($userid), + bigintval($GLOBALS['refback_level']), + bigintval($GLOBALS['refback_refid'][$GLOBALS['refback_level']]) + ), __FUNCTION__, __LINE__); // Do we have no entry? //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."):userid={$userid},level={$GLOBALS['refback_level']},ref={$GLOBALS['refback_refid'][$GLOBALS['refback_level']]},minus={$minus},numRows=".SQL_NUMROWS($result)." - FOUND!
"); @@ -225,7 +230,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? @@ -234,8 +240,12 @@ function updateRefbackTable ($userid) { $userid = $old; // Shall we add this as well? - $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`='%s' AND `refid`=%s LIMIT 1", - array(bigintval($userid), ($GLOBALS['refback_level']-$minus), bigintval($GLOBALS['refback_refid'][$GLOBALS['refback_level']])), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`=%s AND `refid`=%s LIMIT 1", + array( + bigintval($userid), + (bigintval($GLOBALS['refback_level']) - $minus), + bigintval($GLOBALS['refback_refid'][$GLOBALS['refback_level']]) + ), __FUNCTION__, __LINE__); // Do we have no entry? //* DEBUG: */ print(__FUNCTION__ . '(' . __LINE__."):userid={$userid},level=".($GLOBALS['refback_level']-$minus).",ref={$GLOBALS['refback_refid'][$GLOBALS['refback_level']]},numRows=".SQL_NUMROWS($result)." - BACK!
"); @@ -275,37 +285,32 @@ function updateRefbackTable ($userid) { function getArrayFromRefbackUserRefs ($userid, $level) { //* DEBUG: */ print("----------------------- ".__FUNCTION__." - ENTRY ------------------------