X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=beg.php;h=83c0bb1e2a484281fd7d677194c85548ab479e88;hp=b488df11eb4308bb0bccf3ecd82f04abb1399efd;hb=4fbb69b66564237c51d4eaf8c82d0d8cdfcf84a0;hpb=1ab3ce4cd90a808bdc125c48f4501a9e8c294084 diff --git a/beg.php b/beg.php index b488df11eb..83c0bb1e2a 100644 --- a/beg.php +++ b/beg.php @@ -1,7 +1,7 @@ 0) && (getConfig('beg_userid') != $userid)) { + if ((isValidUserId(getUserData('userid'))) && (getBegUserid() != getUserData('userid'))) { // Update counter - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `beg_clicks`=`beg_clicks`+1 WHERE `userid`=%s AND `status`='CONFIRMED' LIMIT 1", - array($userid), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `beg_clicks`=`beg_clicks`+1 WHERE `userid`=%s LIMIT 1", + array(getUserData('userid')), __FILE__, __LINE__); - // Check for last entry for userid w/o IP number - $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_beg_ips` WHERE (timeout > (UNIX_TIMESTAMP() - ".getConfig('beg_timeout').") OR (timeout > (UNIX_TIMESTAMP() - ".getConfig('beg_userid_timeout').") AND `userid`=%s)) AND (remote_ip='%s' OR sid='%s') LIMIT 1", - array($userid, detectRemoteAddr(), session_id()), __FILE__, __LINE__); + // Check for last entry for userid w/o IP number 12 33 2 23 44 3 21 1 1 + $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_beg_ips` WHERE ((UNIX_TIMESTAMP() - `timeout`) >= {?beg_timeout?} OR ((UNIX_TIMESTAMP() - `timeout`) >= {?beg_userid_timeout?} AND `userid`=%s)) AND (`remote_ip`='%s' OR `sid`='%s') LIMIT 1", + array( + getUserData('userid'), + detectRemoteAddr(), + session_id() + ), __FILE__, __LINE__); // Entry not found, points set and not logged in? - if (((SQL_NUMROWS($result) == 0) || (isAdmin())) && ($points > 0) && (!isMember()) && (getConfig('beg_pay_mode') == 'NONE')) { + //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'SQL_HASZERONUMS()=' . intval(SQL_HASZERONUMS($result)) . ',isAdmin()=' . intval(isAdmin()) . ',points=' . $points . ',isMember()=' . intval(isMember()) . ',getBegPayMode()=' . getBegPayMode()); + if ((SQL_HASZERONUMS($result)) && ($points > 0) && (getBegPayMode() == 'NONE') && ((!isMember()) || (isAdmin()))) { + // Default is result from isAdmin(), mostly false + $pay = isAdmin(); // Admin is testing? if (!isAdmin()) { - // Remember remote address, userid and timestamp for next click - // but only when there is no admin begging. - // Admins shall be able to test it! - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_beg_ips` (`userid`, `remote_ip`,`sid`, `timeout`) VALUES ('%s','%s','%s', UNIX_TIMESTAMP())", - array($userid, detectRemoteAddr(), session_id()), __FILE__, __LINE__); + /* + * Remember remote address, userid and timestamp for next click + * but only when there is no admin begging. + * Admins shall be able to test it! + */ + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_beg_ips` (`userid`,`remote_ip`,`sid`,`timeout`) VALUES ('%s','%s','%s', UNIX_TIMESTAMP())", + array( + getUserData('userid'), + detectRemoteAddr(), + session_id() + ), __FILE__, __LINE__); // Was is successfull? - $pay (SQL_AFFECTEDROWS() == 1); - } else { - // Is admin! - $pay = true; - } + $pay = (!SQL_HASZEROAFFECTED()); + } // END - if // Pay points? + //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'pay=' . intval($pay)); if ($pay === true) { // Add points to user or begging rallye account - if (addPointsBeg($userid, $points)) { + if (addPointsBeg(getUserData('userid'), $points)) { // Set 'done' message - $content['message'] = loadTemplate('beg_done', true); + $content['message'] = loadTemplate('beg_done', true, $content); } else { // Error! - $content['message'] = loadTemplate('beg_failed', true); + $content['message'] = loadTemplate('beg_failed', true, $content); } } else { // Error! - $content['message'] = loadTemplate('beg_failed', true); + $content['message'] = loadTemplate('beg_failed', true, $content); } } elseif (isMember()) { - // Logged in user found! - $content['message'] = loadTemplate('beg_login', true); - } elseif (getConfig('beg_pay_mode') != 'NONE') { // Other pay-mode active! - // Prepare content for template - $content = array( - 'clicks' => $content['clicks'], - 'points' => $content['points'], - 'userid' => $content['userid'] - ); - + // Logged in user found + $content['message'] = loadTemplate('beg_login', true, $content); + } elseif (getBegPayMode() != 'NONE') { // Other pay-mode active! // Load message template depending on pay-mode - $content['message'] = loadTemplate('beg_pay_mode_'.strtolower(getConfig('beg_pay_mode')), true, $content); + $content['message'] = loadTemplate('beg_pay_mode_' . strtolower(getBegPayMode()), true, $content); $pay = true; } else { // Clicked received while reload lock is active - $content['message'] = loadTemplate('beg_failed', true); + $content['message'] = loadTemplate('beg_failed', true, $content); } // Free memory @@ -186,14 +170,14 @@ if (isGetRequestElementSet('userid')) { loadTemplate('beg_link', false, $content); // Tracker code enabled? (We don't track users here! - if ((getConfig('beg_pay_mode') != 'NONE') && ($pay === true)) { + if ((getBegPayMode() != 'NONE') && ($pay === true)) { // Prepare content for template // @TODO Opps, what is missing here??? $content = array( ); // Include config-depending template - loadTemplate('beg_pay_code_'.strtolower(getConfig('beg_pay_mode')), false, $content); + loadTemplate('beg_pay_code_' . strtolower(getBegPayMode()), false, $content); } elseif (($pay === false) && (!isset($content['message']))) { // Cannot pay! :-( $content['message'] = loadTemplate('beg_failed', true); @@ -201,30 +185,27 @@ if (isGetRequestElementSet('userid')) { // Include footer loadIncludeOnce('inc/footer.php'); - } elseif (($status != 'CONFIRMED') && ($status != 'failed')) { + } elseif ((getUserData('status') != 'CONFIRMED') && (getUserData('status') != 'failed')) { // Maybe locked/unconfirmed account? - $errorCode = generateErrorCodeFromUserStatus($status); - } elseif (($userid == 0) || ($status == 'failed')) { + $errorCode = generateErrorCodeFromUserStatus(); + } elseif ((getUserData('userid') == '0') || (getUserData('status') == 'failed')) { // Inalid or locked account, so let's find out - $result = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE nickname='%s' LIMIT 1", - array(getRequestElement('userid')), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { + if (fetchUserData(getRequestElement('userid'), 'nickname')) { // Locked account $errorCode = getCode('ACCOUNT_LOCKED'); } else { // Invalid nickname! (404) $errorCode = getCode('USER_404'); } - - // Free memory - SQL_FREERESULT($result); - } elseif ($userid == getConfig('beg_userid')) { + } elseif (getUserData('userid') == getBegUserid()) { // Webmaster's id cannot beg for points! $errorCode = getCode('BEG_SAME_AS_OWN'); } - // Reload to index module - if ((!empty($errorCode)) && (!empty($errorCode))) redirectToUrl('modules.php?module=index&code=' . $errorCode . '&ext=beg'); + // Reload to index module if an error happens + if (!is_null($errorCode)) { + redirectToUrl('modules.php?module=index&code=' . $errorCode . '&ext=beg'); + } // END - if } else { // No userid entered redirectToUrl('modules.php?module=index');