- Major change in menu system. You need to rewrite/update your member and guest
[mailer.git] / inc / modules / member / what-transfer.php
index 03da5c22f3785c6dec57c1e9f21aff69fa555923..59d36bc655c7eeef9a58ca7d21c3ed6ba0a2203a 100644 (file)
@@ -35,7 +35,7 @@
 if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
-} elseif (!IS_LOGGED_IN()) {
+} elseif (!IS_MEMBER()) {
        LOAD_URL("modules.php?module=index");
 } elseif ((!EXT_IS_ACTIVE("transfer")) && (!IS_ADMIN())) {
        ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "transfer");
@@ -46,7 +46,7 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) {
 ADD_DESCR("member", basename(__FILE__));
 
 // Load data
-$result = SQL_QUERY_ESC("SELECT opt_in FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",
+$result = SQL_QUERY_ESC("SELECT opt_in FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
  array($GLOBALS['userid']), __FILE__, __LINE__);
 list($opt_in) = SQL_FETCHROW($result);
 
@@ -63,13 +63,13 @@ switch ($MODE)
 {
 case "new": // Start new transfer
        // Get total points and subtract the balance amount from it = maximum transferable points
-       $result = SQL_QUERY_ESC("SELECT SUM(points) FROM "._MYSQL_PREFIX."_user_points WHERE userid=%d AND points > 0",
+       $result = SQL_QUERY_ESC("SELECT SUM(points) FROM "._MYSQL_PREFIX."_user_points WHERE userid=%s AND points > 0",
         array($GLOBALS['userid']), __FILE__, __LINE__);
        list($total) = SQL_FETCHROW($result);
        SQL_FREERESULT($result);
 
        // Get totally used points and password
-       $result = SQL_QUERY_ESC("SELECT used_points, password FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",
+       $result = SQL_QUERY_ESC("SELECT used_points, password FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
         array($GLOBALS['userid']), __FILE__, __LINE__);
        list($used, $pass) = SQL_FETCHROW($result);
        SQL_FREERESULT($result);
@@ -112,26 +112,26 @@ case "new": // Start new transfer
                        $nick = true;
                }
                // Re-check receivers and own personal data
-               $result = SQL_QUERY_ESC("SELECT userid, sex, surname, family, email".$ADD." FROM "._MYSQL_PREFIX."_user_data WHERE userid IN ('%s', '%s') AND status='CONFIRMED' ORDER BY userid LIMIT 2",
+               $result = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email".$ADD." FROM "._MYSQL_PREFIX."_user_data WHERE userid IN ('%s', '%s') AND status='CONFIRMED' ORDER BY userid LIMIT 2",
                 array($GLOBALS['userid'], bigintval($_POST['to_uid'])), __FILE__, __LINE__);
                $valid_data = (SQL_NUMROWS($result) == 2);
 
                if ($valid_code && $valid_pass && $valid_amount && $valid_reason && $valid_recipient)
                {
                        // Let's start the transfer and load user data
-                       list($uid1, $sex1, $sname1, $fname1, $email1, $nick1) = SQL_FETCHROW($result);
-                       list($uid2, $sex2, $sname2, $fname2, $email2, $nick2) = SQL_FETCHROW($result);
+                       list($uid1, $gender1, $sname1, $fname1, $email1, $nick1) = SQL_FETCHROW($result);
+                       list($uid2, $gender2, $sname2, $fname2, $email2, $nick2) = SQL_FETCHROW($result);
                        SQL_FREERESULT($result);
                        if ($uid1 == $GLOBALS['userid'])
                        {
                                // Data row 1 is sender's data
-                               define('__SENDER_SEX'     , TRANSLATE_SEX($sex1));
+                               define('__SENDER_GENDER'     , TRANSLATE_GENDER($gender1));
                                define('__SENDER_NICK'    , $nick1);
                                define('__SENDER_SNAME'   , $sname1);
                                define('__SENDER_FNAME'   , $fname1);
                                define('__SENDER_EMAIL'   , $email1);
                                // Data row 2 is recpient's data
-                               define('__RECIPIENT_SEX'  , TRANSLATE_SEX($sex2));
+                               define('__RECIPIENT_GENDER'  , TRANSLATE_GENDER($gender2));
                                define('__RECIPIENT_NICK' , $nick2);
                                define('__RECIPIENT_SNAME', $sname2);
                                define('__RECIPIENT_FNAME', $fname2);
@@ -144,13 +144,13 @@ case "new": // Start new transfer
                         else
                        {
                                // Data row 2 is sender's data
-                               define('__SENDER_SEX'     , TRANSLATE_SEX($sex2));
+                               define('__SENDER_GENDER'     , TRANSLATE_GENDER($gender2));
                                define('__SENDER_NICK'    , $nick2);
                                define('__SENDER_SNAME'   , $sname2);
                                define('__SENDER_FNAME'   , $fname2);
                                define('__SENDER_EMAIL'   , $email2);
                                // Data row 1 is recpient's data
-                               define('__RECIPIENT_SEX'  , TRANSLATE_SEX($sex1));
+                               define('__RECIPIENT_GENDER'  , TRANSLATE_GENDER($gender1));
                                define('__RECIPIENT_NICK' , $nick1);
                                define('__RECIPIENT_SNAME', $sname1);
                                define('__RECIPIENT_FNAME', $fname1);
@@ -201,12 +201,11 @@ case "new": // Start new transfer
                         __FILE__, __LINE__);
 
                        // Add points to account *directly* ...
-                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+%s WHERE userid=%d AND ref_depth=0 LIMIT 1",
+                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+%s WHERE userid=%s AND ref_depth=0 LIMIT 1",
                         array(bigintval($_POST['points']), bigintval($_POST['to_uid'])), __FILE__, __LINE__);
 
                        // ... and add it to current user's used points
-                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1",
-                        array(bigintval($_POST['points']), $GLOBALS['userid']), __FILE__, __LINE__);
+                       SUB_POINTS($GLOBALS['userid'], $_POST['points']);
 
                        // First send email to recipient
                        $msg = LOAD_EMAIL_TEMPLATE("member_transfer_recipient", "", __RECIPIENT_UID);
@@ -348,14 +347,14 @@ case "list_out": // List only outgoing transactions
        switch ($MODE)
        {
        case "list_in":
-               $SQL = "SELECT trans_id, from_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_in WHERE userid=%d ORDER BY time_trans DESC LIMIT ".$_CONFIG['transfer_max'];
+               $SQL = "SELECT trans_id, from_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_in WHERE userid=%s ORDER BY time_trans DESC LIMIT ".$_CONFIG['transfer_max'];
                $NOTHING = TRANSFER_NO_INCOMING_TRANSFERS;
                define('__TRANSFER_SUM', TRANSFER_TOTAL_INCOMING);
                define('__TRANSFER_TITLE', TRANSFER_LIST_INCOMING);
                break;
 
        case "list_out":
-               $SQL = "SELECT trans_id, to_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_out WHERE userid=%d ORDER BY time_trans DESC LIMIT ".$_CONFIG['transfer_max'];
+               $SQL = "SELECT trans_id, to_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_out WHERE userid=%s ORDER BY time_trans DESC LIMIT ".$_CONFIG['transfer_max'];
                $NOTHING = TRANSFER_NO_OUTGOING_TRANSFERS;
                define('__TRANSFER_SUM', TRANSFER_TOTAL_OUTGOING);
                define('__TRANSFER_TITLE', TRANSFER_LIST_OUTGOING);
@@ -363,7 +362,7 @@ case "list_out": // List only outgoing transactions
        }
 
        // Run the SQL command
-       $total = "0";
+       $total = 0;
        $result = SQL_QUERY_ESC($SQL, array($GLOBALS['userid']), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) > 0)
        {
@@ -423,8 +422,8 @@ case "list_all": // List all transactions
        // First of all create the temporary table
        $result = SQL_QUERY("CREATE TEMPORARY TABLE "._MYSQL_PREFIX."_transfers_tmp (
 trans_id VARCHAR(12) NOT NULL DEFAULT '',
-party_uid BIGINT(20) NOT NULL DEFAULT '0',
-points BIGINT(20) NOT NULL DEFAULT '0',
+party_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+points BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
 reason VARCHAR(255) NOT NULL DEFAULT '',
 time_trans VARCHAR(10) NOT NULL DEFAULT '0',
 trans_type ENUM('IN', 'OUT') NOT NULL DEFAULT 'IN',
@@ -432,7 +431,7 @@ KEY(party_uid)
 ) TYPE=HEAP", __FILE__, __LINE__);
 
        // Let's begin with the incoming list
-       $result = SQL_QUERY_ESC("SELECT trans_id, from_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_in WHERE userid=%d ORDER BY id LIMIT %s",
+       $result = SQL_QUERY_ESC("SELECT trans_id, from_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_in WHERE userid=%s ORDER BY id LIMIT %s",
 array($GLOBALS['userid'], $_CONFIG['transfer_max']), __FILE__, __LINE__);
        while ($DATA = SQL_FETCHROW($result))
        {
@@ -445,7 +444,7 @@ array($GLOBALS['userid'], $_CONFIG['transfer_max']), __FILE__, __LINE__);
        SQL_FREERESULT($result);
 
        // As the last table transfer data from outgoing table to temporary
-       $result = SQL_QUERY_ESC("SELECT trans_id, to_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_out WHERE userid=%d ORDER BY id LIMIT %s",
+       $result = SQL_QUERY_ESC("SELECT trans_id, to_uid, points, reason, time_trans FROM "._MYSQL_PREFIX."_user_transfers_out WHERE userid=%s ORDER BY id LIMIT %s",
 array($GLOBALS['userid'], $_CONFIG['transfer_max']), __FILE__, __LINE__);
        while ($DATA = SQL_FETCHROW($result))
        {
@@ -457,7 +456,7 @@ array($GLOBALS['userid'], $_CONFIG['transfer_max']), __FILE__, __LINE__);
        // Free memory
        SQL_FREERESULT($result);
 
-       $total = "0";
+       $total = 0;
        if (SQL_NUMROWS($result) > 0)
        {
                // Output rows
@@ -524,7 +523,7 @@ array($GLOBALS['userid'], $_CONFIG['transfer_max']), __FILE__, __LINE__);
 
 case "": // Overview page
        // Check incoming transfers
-       $result = SQL_QUERY_ESC("SELECT COUNT(id) FROM "._MYSQL_PREFIX."_user_transfers_in WHERE userid=%d", array($GLOBALS['userid']), __FILE__, __LINE__);
+       $result = SQL_QUERY_ESC("SELECT COUNT(id) FROM "._MYSQL_PREFIX."_user_transfers_in WHERE userid=%s", array($GLOBALS['userid']), __FILE__, __LINE__);
        list($dmy) = SQL_FETCHROW($result);
        SQL_FREERESULT($result);
 
@@ -539,7 +538,7 @@ case "": // Overview page
        }
 
        // Check outgoing transfers
-       $result = SQL_QUERY_ESC("SELECT COUNT(id) FROM "._MYSQL_PREFIX."_user_transfers_out WHERE userid=%d", array($GLOBALS['userid']), __FILE__, __LINE__);
+       $result = SQL_QUERY_ESC("SELECT COUNT(id) FROM "._MYSQL_PREFIX."_user_transfers_out WHERE userid=%s", array($GLOBALS['userid']), __FILE__, __LINE__);
        list($dmy) = SQL_FETCHROW($result);
        SQL_FREERESULT($result);
 
@@ -566,7 +565,7 @@ case "": // Overview page
        if (isset($_POST['ok']))
        {
                // Save settings
-               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET opt_in='%s' WHERE userid=%d LIMIT 1",
+               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET opt_in='%s' WHERE userid=%s LIMIT 1",
                 array($_POST['opt_in'], $GLOBALS['userid']), __FILE__, __LINE__);
 
                // Rember for next switch() command
@@ -591,7 +590,7 @@ case "": // Overview page
        }
 
        // Check for latest out-transfers
-       $result = SQL_QUERY_ESC("SELECT time_trans FROM "._MYSQL_PREFIX."_user_transfers_out WHERE time_trans > ".(time() - $_CONFIG['transfer_timeout'])." AND userid=%d ORDER BY time_trans DESC LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__);
+       $result = SQL_QUERY_ESC("SELECT time_trans FROM "._MYSQL_PREFIX."_user_transfers_out WHERE time_trans > ".(time() - $_CONFIG['transfer_timeout'])." AND userid=%s ORDER BY time_trans DESC LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) == 0)
        {
                // Load template