0 && (($url_mid > 0) || ($url_bid > 0)) && (count($FATAL) == 0))
{
if ($mode != "img") require_once(PATH."inc/header.php");
// Maybe he wants to confirm an email?
if ($url_mid > 0)
{
$result = SQL_QUERY_ESC("SELECT id, link_type FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%s AND userid=%s LIMIT 1",
array($url_mid, $url_uid), __FILE__, __LINE__);
$type = "mailid"; $DATA = $url_mid;
}
elseif ($url_bid > 0)
{
$result = SQL_QUERY_ESC("SELECT id, link_type FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%s AND userid=%s LIMIT 1",
array($url_bid, $url_uid), __FILE__, __LINE__);
$type = "bonusid"; $DATA = $url_bid;
}
if (SQL_NUMROWS($result) == 1)
{
// Is the stats ID valid?
list($lid, $ltype) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
switch ($ltype)
{
case "NORMAL":
$result_mailid = SQL_QUERY_ESC("SELECT pool_id, userid, id FROM "._MYSQL_PREFIX."_user_stats WHERE id=%s LIMIT 1",
array($url_mid), __FILE__, __LINE__);
break;
case "BONUS":
$result_mailid = SQL_QUERY_ESC("SELECT id, id, is_notify FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1",
array($url_bid), __FILE__, __LINE__);
break;
}
if (SQL_NUMROWS($result_mailid) == 1)
{
list($pool, $sender, $notify) = SQL_FETCHROW($result_mailid);
// Correct notification switch in non-bonus mails
if (($notify != "Y") && ($notify != "N")) $notify = "N";
// Free some memory
SQL_FREERESULT($result_mailid);
// Set sender to 0 when we have a bonus mail
if ($ltype == "BONUS") $sender = 0;
// Is the user's ID unlocked?
$result = SQL_QUERY_ESC("SELECT status, gender, surname, family, ref_payout FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
array($url_uid), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 1)
{
// Load data
list($status, $gender, $sname, $fname, $ref_pay) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
if ($status == "CONFIRMED")
{
// Update last activity
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET last_online=UNIX_TIMESTAMP(), last_module='mailid_top' WHERE userid=%s LIMIT 1",
array($url_uid), __FILE__, __LINE__);
// User has confirmed his account so we can procede...
switch ($ltype)
{
case "NORMAL":
$result = SQL_QUERY_ESC("SELECT payment_id FROM "._MYSQL_PREFIX."_user_stats WHERE pool_id=%s LIMIT 1",
array(bigintval($pool)), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 1)
{
list($pay) = SQL_FETCHROW($result);
$time = GET_PAY_POINTS($pay, "time");
$payment = GET_PAY_POINTS($pay, "payment");
$VALID = true;
}
// Free memory...
SQL_FREERESULT($result);
break;
case "BONUS":
$result = SQL_QUERY_ESC("SELECT time, points FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1",
array(bigintval($pool)), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 1)
{
list($time, $payment) = SQL_FETCHROW($result);
$VALID = true;
}
// Free memory...
SQL_FREERESULT($result);
break;
}
if ($VALID)
{
if (($time == "0") && ($payment > 0)) $time = "1";
if (($time > 0) && ($payment > 0))
{
if (!empty($code))
{
// Generate code
$img_code = GEN_RANDOM_CODE($_CONFIG['code_length'], $code, $url_uid, $DATA);
}
switch ($mode)
{
case "add":
// Count clicks
switch ($ltype)
{
case "NORMAL":
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_stats SET clicks=clicks+1 WHERE id=%s LIMIT 1",
array($url_mid), __FILE__, __LINE__);
// Update mediadata as well
if (GET_EXT_VERSION("mediadata") >= "0.0.4")
{
// Update database
MEDIA_UPDATE_ENTRY(array("total_clicks", "normal_clicks"), "add", 1);
}
break;
case "BONUS":
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_bonus SET clicks=clicks+1 WHERE id=%s LIMIT 1",
array($url_bid), __FILE__, __LINE__);
// Update mediadata as well
if (GET_EXT_VERSION("mediadata") >= "0.0.4")
{
// Update database
MEDIA_UPDATE_ENTRY(array("total_clicks", "bonus_clicks"), "add", 1);
}
break;
}
// Export data into constants for the template
define('_POINTS_VALUE' , TRANSLATE_COMMA($payment));
define('_TEMPLATE_BANNER', LOAD_TEMPLATE("mailid_banner", true));
// Only when user extension = v0.1.2: Update mails-confirmed counter
if (GET_EXT_VERSION("user") >= "0.1.2")
{
// Update counter
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET mails_confirmed=mails_confirmed+1 WHERE userid=%s LIMIT 1",
array($url_uid), __FILE__, __LINE__);
}
// Right code entered?
if (bigintval($_POST['gfx_check']) == $img_code)
{
// Right code entered add points and remove entry
if (($ref_pay > 0) && ($_CONFIG['allow_direct_pay'] == "N"))
{
// Don't add points over the referral system
$locked = true;
$template = "mailid_points_locked";
}
else
{
// Add points over referral system
$locked = false;
$template = "mailid_points_done";
}
// Count down ref_payout value
$result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET ref_payout=ref_payout-1 WHERE userid=%s AND ref_payout > 0 LIMIT 1",
array($url_uid), __FILE__, __LINE__);
// Add points
$DEPTH = 0;
ADD_POINTS_REFSYSTEM($url_uid, $payment, false, "0", $locked);
// Shall I add bonus points for "turbo clickers" ?
if ((GET_EXT_VERSION("bonus") >= "0.2.2") && (function_exists('BONUS_ADD_TURBO_POINTS')))
{
// Is an active-rallye running and this is not a notification mail?
if (($_CONFIG['bonus_active'] == "Y") && ($notify == "N"))
{
// Shall I exclude the webmaster's own userid from the active-rallye?
if (((($_CONFIG['bonus_uid'] == $url_uid) && ($_CONFIG['bonus_include_own'] == "Y")) || ($_CONFIG['bonus_uid'] != $url_uid)) && ($_CONFIG['def_refid'] != $url_uid))
{
// Add points and remember ranking are done in this function....
BONUS_ADD_TURBO_POINTS($DATA, $url_uid, $type);
// Set template to mailid_points_done2 which contains a link to the ranking list
$template = "mailid_points_done2";
if ($locked) $template = "mailid_points_locked2";
define('_UID_VALUE' , $url_uid);
define('_TYPE_VALUE', $type);
define('_DATA_VALUE', TRANSLATE_COMMA($DATA));
}
}
}
// Remove link from table
$result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE id=%s LIMIT 1",
array(bigintval($lid)), __FILE__, __LINE__);
// Load total points
define('__TOTAL_POINTS', TRANSLATE_COMMA(
GET_TOTAL_DATA($url_uid, "user_points", "points") -
GET_TOTAL_DATA($url_uid, "user_data", "used_points"))
);
// Load template
LOAD_TEMPLATE($template);
}
else
{
// Wrong image code! So add points to sender's account
$DEPTH = 0;
ADD_POINTS_REFSYSTEM($sender, $payment, false, 0, false, "direct");
// Remove link from table
$result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE id=%s LIMIT 1",
array(bigintval($lid)), __FILE__, __LINE__);
// Load template
LOAD_TEMPLATE("mailid_points_failed");
}
break;
case "img":
GENERATE_IMAGE($img_code);
break;
case "confirm":
if ($code > 0)
{
// Export data into constants for the template
define('_CODE_VALUE', $code);
define('_UID_VALUE' , $url_uid );
define('_TYPE_VALUE', $type);
define('_DATA_VALUE', $DATA);
define('_TEMPLATE_BANNER', LOAD_TEMPLATE("mailid_banner", true));
if ($_CONFIG['code_length'] > 0)
{
// Generate Code
define('_IMAGE_CODE', IMG_CODE($code, $type, $DATA, $url_uid));
$templ = "mailid_enter_code";
}
else
{
// Disabled code
define('__GFX_CODE', $img_code);
$templ = "mailid_confirm_buttom";
}
// Load template
LOAD_TEMPLATE($templ);
}
break;
case "":
// Ok, all data is valid and loaded. Finally let's output the timer... :-)
// Export data into constants for the template
define('_TIME_VALUE', $time);
define('_TIM2_VALUE', strlen($time));
define('_UID_VALUE' , $url_uid );
define('_TYPE_VALUE', $type);
define('_DATA_VALUE', $DATA);
define('_RAND_VALUE', rand(0, 99999));
define('_TEMPLATE_BANNER', LOAD_TEMPLATE("mailid_banner", true));
// Load template
LOAD_TEMPLATE("mailid_timer");
break;
}
}
else OUTPUT_HTML("".MAIL_ALREADY_CONFIRMED." (6)");
}
else OUTPUT_HTML("".MAIL_ALREADY_CONFIRMED." (5)");
}
else OUTPUT_HTML("".MAIL_ALREADY_CONFIRMED." (4)");
}
else
{
SQL_FREERESULT($result);
OUTPUT_HTML("".MAIL_ALREADY_CONFIRMED." (3)");
}
}
else
{
SQL_FREERESULT($result);
OUTPUT_HTML("".MAIL_ALREADY_CONFIRMED." (2)");
}
}
else
{
SQL_FREERESULT($result);
OUTPUT_HTML("".MAIL_ALREADY_CONFIRMED." (1)");
}
if ($mode != "img")
{
// Write footer
require_once(PATH."inc/footer.php");
}
}
}
elseif ($mode != "img")
{
// You have to configure first!
LOAD_URL("install.php");
}
// Really all done here... ;-)
?>