0) && ($_CONFIG['beg_uid'] != $uid)) { // Update counter $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_clicks=beg_clicks+1 WHERE userid=%s AND status='CONFIRMED' LIMIT 1", array($uid), __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() - ".$_CONFIG['beg_timeout'].") OR (timeout > (UNIX_TIMESTAMP() - ".$_CONFIG['beg_uid_timeout'].") AND userid=%s)) AND (remote_ip='%s' OR sid='%s') LIMIT 1", array($uid, GET_REMOTE_ADDR(), session_id()), __FILE__, __LINE__); // Entry not found, points set and not logged in? if (((SQL_NUMROWS($result) == 0) || (IS_ADMIN())) && ($points > 0) && (!$login) && ($_CONFIG['beg_pay_mode'] == "NONE")) { // Don't pay is the default... $pay = false; // Admin is testing? if (!IS_ADMIN()) { // 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($uid, GET_REMOTE_ADDR(), session_id()), __FILE__, __LINE__); // Was is successfull? if (SQL_AFFECTEDROWS() == 1) { // Okay! $pay = true; } // END - if } else { // Is admin! $pay = true; } // Pay points? if ($pay) { // Set mode depending on how many mails the member has to confirm $locked = false; if (($ref_payout > 0) && ($_CONFIG['allow_direct_pay'] == "N")) $locked = true; // Is begging rallye active? if ($_CONFIG['beg_rallye'] == "Y") { // Add points to rallye account SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points=beg_points+%s WHERE userid=%s LIMIT 1", array($points, $uid), __FILE__, __LINE__); } else { // Add points to account unset($DEPTH); ADD_POINTS_REFSYSTEM($uid, $points, false, "0", $locked, strtolower($_CONFIG['beg_mode'])); } // Subtract begged points from member account if the admin has selected one if ($_CONFIG['beg_uid'] > 0) { // Subtract from this account SUB_POINTS($_CONFIG['beg_uid'], $points); } // END - if // Set message define('__BEG_MSG', LOAD_TEMPLATE("beg_done", true)); } else { // Error! define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); } } elseif ($login) { // Logged in user found! define('__BEG_MSG', LOAD_TEMPLATE("beg_login", true)); } elseif ($_CONFIG['beg_pay_mode'] != "NONE") { // Other pay-mode active! define('__BEG_MSG', LOAD_TEMPLATE("beg_pay_mode_".strtolower($_CONFIG['beg_pay_mode']), true)); } else { // Clicked received while reload lock is active define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true)); } // Free memory SQL_FREERESULT($result); // Include header require_once(PATH."inc/header.php"); // Load final template LOAD_TEMPLATE("beg_link"); // Tracker code enabled? (We don't track users here! if ($_CONFIG['beg_pay_mode'] != "NONE") { // Include config-depending template LOAD_TEMPLATE("beg_pay_code_".strtolower($_CONFIG['beg_pay_mode'])); } // END - if // Include footer require_once(PATH."inc/footer.php"); } elseif (($status != "CONFIRMED") && ($status != "failed")) { // Maybe locked/unconfirmed account? switch ($status) { case "LOCKED" : $msg = CODE_ID_LOCKED ; break; // Locked account case "UNCONFIRMED": $msg = CODE_ID_UNCONFIRMED; break; // Unconfirmed account } } elseif (($uid == "0") || ($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($_GET['uid']), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Locked account $msg = CODE_ACCOUNT_LOCKED; } else { // Invalid nickname! (404) $msg = CODE_USER_404; } // Free memory SQL_FREERESULT($result); } elseif ($uid == $_CONFIG['beg_uid']) { // Webmaster's ID cannot beg for points! $msg = CODE_BEG_SAME_AS_OWN; } // Reload to index module if ((!empty($msg)) && (!empty($msg))) LOAD_URL("modules.php?module=index&msg=".$msg."&ext=beg"); } else { // No userid entered LOAD_URL("modules.php?module=index"); } } else { // You have to configure first! LOAD_URL("install.php"); } // Really all done here... ;-) ?>