if ((!isExtensionActive('sponsor'))) {
loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('sponsor'));
return;
-} // END - if
+} elseif (isSponsor()) {
+ // Is already a logged-in sponsor
+ redirectToUrl('modules.php?module=sponsor');
+}
$mode = '';
if (isGetRequestParameterSet('mode')) {
FROM
`{?_MYSQL_PREFIX?}_sponsor_data`
WHERE
- `hash='%s' AND (`status`='UNCONFIRMED' OR `status`='EMAIL')
+ `hash`='%s' AND (
+ `status`='UNCONFIRMED' OR
+ `status`='EMAIL'
+ )
LIMIT 1", array(getRequestParameter('hash')), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 1) {
// Sponsor found, load his data...
SQL_QUERY_ESC("UPDATE
`{?_MYSQL_PREFIX?}_sponsor_data`
SET
- `status`='PENDING'
+ `status`='PENDING',
+ `hash`=NULL
WHERE
`id`=%s AND
- hash='%s' AND
+ `hash`='%s' AND
`status`='UNCONFIRMED'
LIMIT 1",
array(
SQL_QUERY_ESC("UPDATE
`{?_MYSQL_PREFIX?}_sponsor_data`
SET
- `status`='CONFIRMED'
+ `status`='CONFIRMED',
+ `hash`=NULL
WHERE
- `id`='%s' AND
+ `id`=%s AND
`hash`='%s' AND
`status`='EMAIL'
LIMIT 1",
if (isFormSent()) {
// Check email
- $result = SQL_QUERY_ESC("SELECT id, hash, status, remote_addr, gender, surname, family, sponsor_created
-FROM `{?_MYSQL_PREFIX?}_sponsor_data`
-WHERE email='%s' AND (`status`='UNCONFIRMED' OR `status`='EMAIL') LIMIT 1",
+ $result = SQL_QUERY_ESC("SELECT
+ `id`, `hash`, `status`, `remote_addr`, `gender`, `surname`, `family`,
+ UNIX_TIMESTAMP(`sponsor_created`) AS `sponsor_created`
+FROM
+ `{?_MYSQL_PREFIX?}_sponsor_data`
+WHERE
+ `email`='%s' AND
+ (`status`='UNCONFIRMED' OR `status`='EMAIL')
+LIMIT 1",
array(postRequestParameter('email')), __FILE__, __LINE__);
// Entry found?
if (isFormSent()) {
// Check email
- $result = SQL_QUERY_ESC("SELECT `id`, `hash`, `remote_addr`, `gender`, `surname`, `family`, `sponsor_created`
-FROM `{?_MYSQL_PREFIX?}_sponsor_data`
-WHERE `email`='%s' AND `id`='%s' AND `status`='CONFIRMED' LIMIT 1",
+ $result = SQL_QUERY_ESC("SELECT
+ `id`, `hash`, `remote_addr`, `gender`, `surname`, `family`,
+ UNIX_TIMESTAMP(`sponsor_created`) AS `sponsor_created`
+FROM
+ `{?_MYSQL_PREFIX?}_sponsor_data`
+WHERE
+ `email`='%s' AND
+ `id`=%s AND
+ `status`='CONFIRMED'
+LIMIT 1",
array(postRequestParameter('email'), bigintval(postRequestParameter('id'))), __FILE__, __LINE__);
// Entry found?
// Unconfirmed sponsor account found so let's load the requested data
$DATA = SQL_FETCHARRAY($result);
- // Translate some data
- $DATA['gender'] = translateGender($DATA['gender']);
- $DATA['sponsor_created'] = generateDateTime($DATA['sponsor_created']);
-
- // Generate password
+ // Generate password/translate some data
$DATA['password'] = generatePassword();
+ $DATA['sponsor_created'] = generateDateTime($DATA['sponsor_created']);
// Prepare email and send it to the sponsor
$message_sponsor = loadEmailTemplate('sponsor_lost', $DATA);
}
} elseif (isFormSent()) {
// Check status and login data ...
- $result = SQL_QUERY_ESC("SELECT status FROM `{?_MYSQL_PREFIX?}_sponsor_data`
-WHERE `id`='%s' AND password='%s' LIMIT 1",
- array(bigintval(postRequestParameter('sponsor_id')), md5(postRequestParameter('pass'))), __FILE__, __LINE__);
+ $result = SQL_QUERY_ESC("SELECT
+ `status`
+FROM
+ `{?_MYSQL_PREFIX?}_sponsor_data`
+WHERE
+ `id`=%s AND
+ `password`='%s'
+LIMIT 1",
+ array(
+ bigintval(postRequestParameter('sponsor_id')),
+ md5(postRequestParameter('password'))
+ ), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 1) {
// Okay, first login data check passed, now has he/she an approved (CONFIRMED) account?
if ($status == 'CONFIRMED') {
// Is confirmed so both is fine and we can continue with login procedure
$login = ((setSession('sponsor_id' , bigintval(postRequestParameter('sponsor_id')))) &&
- (setSession('sponsorpass', md5(postRequestParameter('pass')) ))
+ (setSession('sponsor_pass', md5(postRequestParameter('password')) ))
);
if ($login === true) {
redirectToUrl('modules.php?module=sponsor');
} else {
// Cookie setup failed!
- loadTemplate('admin_settings_saved', false, '{--SPONSPOR_COOKIE_SETUP_FAILED--}');
+ loadTemplate('admin_settings_saved', false, '{--SPONSOR_COOKIE_SETUP_FAILED--}');
// Login formular and other links
loadTemplate('guest_sponsor_login');