<?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 - 2011 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
redirectOnUninstalledExtension('beg');
// Check for userid
-if (isGetRequestElementSet('userid')) {
+if (isGetRequestParameterSet('userid')) {
// Init variables
$points = '0';
$pay = false;
// Validate if it is not a number
- if (isNicknameUsed(getRequestElement('userid'))) {
- // Is the nickname extension there?
- if (isExtensionActive('nickname')) {
- // Maybe we have found a nickname?
- fetchUserData(getRequestElement('userid'), 'nickname');
- } else {
- // Nickname entered but nickname is not active
- $errorCode = getCode('EXTENSION_PROBLEM');
- }
+ if ((isExtensionActive('nickname')) && (isNicknameUsed(getRequestParameter('userid')))) {
+ // Maybe we have found a nickname?
+ fetchUserData(getRequestParameter('userid'), 'nickname');
+ } elseif (isNicknameUsed(getRequestParameter('userid'))) {
+ // Nickname entered but nickname is not active
+ $errorCode = getCode('EXTENSION_PROBLEM');
} else {
// Direct userid
- fetchUserData(getRequestElement('userid'));
+ fetchUserData(getRequestParameter('userid'));
}
// Check if locked in so don't pay points
// Check if account was found
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 the template(s
- $content['userid'] = getRequestElement('userid');
- $content['clicks'] = (getUserData('beg_clicks') + 1);
- $content['banner'] = loadTemplate('beg_banner', true);
- $content['points'] = translateComma($points);
+ /*
+ * 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((getBegPoints() * 100000), (getBegPointsMax() * 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
// User id valid and not webmaster's id?
- if ((getUserData('userid') > 0) && (getConfig('beg_userid') != getUserData('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 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",
+ // 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')) {
-
+ if (((SQL_HASZERONUMS($result)) || (isAdmin())) && ($points > 0) && (!isMember()) && (getBegPayMode() == '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__);
+ /*
+ * 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);
+ $pay (!SQL_HASZEROAFFECTED());
} else {
// Is admin!
$pay = true;
// Add points to user or begging rallye account
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
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);
$errorCode = generateErrorCodeFromUserStatus();
} elseif ((getUserData('userid') == '0') || (getUserData('status') == 'failed')) {
// Inalid or locked account, so let's find out
- if (fetchUserData(getRequestElement('userid'), 'nickname')) {
+ if (fetchUserData(getRequestParameter('userid'), 'nickname')) {
// Locked account
$errorCode = getCode('ACCOUNT_LOCKED');
} else {
// Invalid nickname! (404)
$errorCode = getCode('USER_404');
}
- } elseif (getUserData('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 (!empty($errorCode)) {
+ redirectToUrl('modules.php?module=index&code=' . $errorCode . '&ext=beg');
+ } // END - if
} else {
// No userid entered
redirectToUrl('modules.php?module=index');