- SQL_FREERESULT($result);
-
- if (($uid > 0) && ($CONFIG['beg_uid'] != $uid))
- {
- // Update counter
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_clicks=beg_clicks+1 WHERE userid=%d 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 > ".(time() - $CONFIG['beg_timeout'])." OR (timeout > ".(time() - $CONFIG['beg_uid_timeout'])." AND userid=%d)) AND remote_ip='%s' LIMIT 1",
- array($uid, getenv('REMOTE_ADDR')), __FILE__, __LINE__);
- if ((SQL_NUMROWS($result) == 0) && ($POINTS > 0) && (!$login))
- {
- // Free memory
- SQL_FREERESULT($result);
-
- 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!
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_beg_ips (userid, remote_ip, timeout) VALUES('%s', '%s', UNIX_TIMESTAMP())",
- array($uid, getenv('REMOTE_ADDR')), __FILE__, __LINE__);
- }
-
- // 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
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points=beg_points+%s WHERE userid=%d LIMIT 1",
- array($POINTS, $uid), __FILE__, __LINE__);
- }
- else
- {
- // Add points to account
- 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
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1",
- array($POINTS, bigintval($CONFIG['beg_uid'])), __FILE__, __LINE__);
-
- // Update mediadata as well
- if (GET_EXT_VERSION("mediadata") >= "0.0.4")
- {
- // Update database
- MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $POINTS);
- }
- }
-
- // Set message
- define('__BEG_MSG', LOAD_TEMPLATE("beg_done", true));
- }
- elseif ($login)
- {
- // Logged in user found!
- define('__BEG_MSG', LOAD_TEMPLATE("beg_login", true));
-
- // Free memory
- SQL_FREERESULT($result);
- }
- else
- {
- // Free memory
- SQL_FREERESULT($result);
-
- // Clicked received while reload lock is active
- define('__BEG_MSG', LOAD_TEMPLATE("beg_failed", true));
- }
-
- // Include header
- require_once(PATH."inc/header.php");
-
- // Load final template
- LOAD_TEMPLATE("beg_link");
-
- // Include footer
- require_once(PATH."inc/footer.php");
+ sqlFreeResult($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 ((getBegPayMode() != 'NONE') && ($isPayed === TRUE)) {
+ // Prepare content for template
+ // @TODO Opps, what is missing here???
+ $content = array(
+ );
+
+ // Include config-depending template
+ loadTemplate('beg_pay_code_' . strtolower(getBegPayMode()), FALSE, $content);
+ } elseif (($isPayed === FALSE) && (!isset($content['message']))) {
+ // Cannot pay! :-(
+ $content['message'] = loadTemplate('beg_failed', TRUE);