0) && (getConfig('beg_userid') != getUserData('userid'))) { // Update counter 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() - {?beg_timeout?}) OR (timeout > (UNIX_TIMESTAMP() - {?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')) { // 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(getUserData('userid'), detectRemoteAddr(), session_id()), __FILE__, __LINE__); // Was is successfull? $pay (SQL_AFFECTEDROWS() == 1); } else { // Is admin! $pay = true; } // Pay points? if ($pay === true) { // Add points to user or begging rallye account if (addPointsBeg(getUserData('userid'), $points)) { // Set 'done' message $content['message'] = loadTemplate('beg_done', true); } else { // Error! $content['message'] = loadTemplate('beg_failed', true); } } else { // Error! $content['message'] = loadTemplate('beg_failed', true); } } 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'] ); // Load message template depending on pay-mode $content['message'] = loadTemplate('beg_pay_mode_'.strtolower(getConfig('beg_pay_mode')), true, $content); $pay = true; } else { // Clicked received while reload lock is active $content['message'] = loadTemplate('beg_failed', true, $content); } // Free memory SQL_FREERESULT($result); // Include header loadIncludeOnce('inc/header.php'); // Load final template loadTemplate('beg_link', false, $content); // Tracker code enabled? (We don't track users here! if ((getConfig('beg_pay_mode') != '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); } elseif (($pay === false) && (!isset($content['message']))) { // Cannot pay! :-( $content['message'] = loadTemplate('beg_failed', true); } // Include footer loadIncludeOnce('inc/footer.php'); } elseif ((getUserData('status') != 'CONFIRMED') && (getUserData('status') != 'failed')) { // Maybe locked/unconfirmed account? $errorCode = generateErrorCodeFromUserStatus(); } elseif ((getUserData('userid') == '0') || (getUserData('status') == 'failed')) { // Inalid or locked account, so let's find out if (fetchUserData(getRequestElement('userid'), 'nickname')) { // Locked account $errorCode = getCode('ACCOUNT_LOCKED'); } else { // Invalid nickname! (404) $errorCode = getCode('USER_404'); } } elseif (getUserData('userid') == getConfig('beg_userid')) { // 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'); } else { // No userid entered redirectToUrl('modules.php?module=index'); } // Really all done here... ;-) shutdown(); // [EOF] ?>