<?php
/************************************************************************
- * MXChange v0.2.1 Start: 01/09/2005 *
- * =============== Last change: 01/09/2005 *
+ * Mailer v0.2.1-FINAL Start: 01/09/2005 *
+ * =================== Last change: 01/09/2005 *
* *
* -------------------------------------------------------------------- *
* File : beg.php *
* $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 *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
setContentType('text/html');
// Is the 'beg' extension active?
-REDIRCT_ON_UNINSTALLED_EXTENSION('beg');
+redirectOnUninstalledExtension('beg');
// Check for userid
-if (isGetRequestElementSet('userid')) {
+if (isGetRequestParameterSet('userid')) {
// Init variables
- $userid = 0;
- $result = false;
- $points = 0;
+ $points = '0';
// Don't pay is the default...
$pay = false;
// Validate if it is not a number
- if (''.(getRequestElement('userid') + 0).'' !== ''.getRequestElement('userid').'') {
+ if (isNicknameUsed(getRequestParameter('userid'))) {
+ // Is the nickname extension there?
if (isExtensionActive('nickname')) {
// Maybe we have found a nickname?
- $result = SQL_QUERY_ESC("SELECT `userid`, `beg_clicks`, `ref_payout`, `status`, `last_online` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `nickname`='%s' LIMIT 1",
- array(getRequestElement('userid')), __FILE__, __LINE__);
+ fetchUserData(getRequestParameter('userid'), 'nickname');
} else {
// Nickname entered but nickname is not active
$errorCode = getCode('EXTENSION_PROBLEM');
- $userid = -1;
}
} else {
// Direct userid
- $result = SQL_QUERY_ESC("SELECT `userid`, `beg_clicks`, `ref_payout`, `status`, `last_online` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
- array(bigintval(getRequestElement('userid'))), __FILE__, __LINE__);
+ fetchUserData(getRequestParameter('userid'));
}
// Check if locked in so don't pay points
$status = 'failed';
// Check if account was found
- if (SQL_NUMROWS($result) == 1) {
- // Found an id so we simply set it
- list($userid, $clicks, $ref_payout, $status, $last) = SQL_FETCHROW($result);
-
- // Account confirmed?
- if ($status == 'CONFIRMED') {
- // Secure userid
- $userid = bigintval($userid);
-
- // Multiply configured values with 100000 and divide with 100000 so we can also handle small values
- // If we need more number behind the decimal dot then we just need to increase all these three
- // numbers matching to the numbers behind the decimal dot. Simple! ;-)
- $points = mt_rand((getConfig('beg_points') * 100000), (getConfig('beg_points_max') * 100000)) / 100000;
-
- // Set nickname / userid for the template(s
- $content['userid'] = getRequestElement('userid');
- $content['clicks'] = ($clicks + 1);
- $content['banner'] = loadTemplate('beg_banner', true);
- $content['points'] = translateComma($points);
- } else {
- // Other status
- $userid = 0;
- }
+ if ((isUserDataValid()) && (getUserData('status') == 'CONFIRMED')) {
+ // Multiply configured values with 100000 and divide with 100000 so we can also handle small values
+ // If we need more number behind the decimal dot then we just need to increase all these three
+ // numbers matching to the numbers behind the decimal dot. Simple! ;-)
+ $points = mt_rand((getConfig('beg_points') * 100000), (getConfig('beg_points_max') * 100000)) / 100000;
+
+ // Set nickname / userid for template
+ $content['userid'] = getRequestParameter('userid');
+ $content['clicks'] = (getUserData('beg_clicks') + 1);
+ $content['banner'] = loadTemplate('beg_banner', true);
+ $content['points'] = $points;
} // END - if
- // Free memory
- SQL_FREERESULT($result);
-
// User id valid and not webmaster's id?
- if (($userid > 0) && (getConfig('beg_userid') != $userid)) {
+ if ((isValidUserId(getUserData('userid'))) && (getConfig('beg_userid') != 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__);
+ $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')) {
-
+ if (((SQL_HASZERONUMS($result)) || (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($userid, detectRemoteAddr(), session_id()), __FILE__, __LINE__);
+ array(getUserData('userid'), detectRemoteAddr(), session_id()), __FILE__, __LINE__);
// Was is successfull?
$pay (SQL_AFFECTEDROWS() == 1);
// Pay points?
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);
+ $content['message'] = loadTemplate('beg_login', true, $content);
} 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['message'] = loadTemplate('beg_failed', true, $content);
}
// Free memory
// 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(getRequestParameter('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') == getConfig('beg_userid')) {
// Webmaster's id cannot beg for points!
$errorCode = getCode('BEG_SAME_AS_OWN');
}