Ejemplo n.º 1
0
Archivo: db.php Proyecto: Roph/RMRKMon
function complete_trade($tradeid)
{
    //Removes trainer1's pokemon and gives them to trainer 2. Then vice versa. Then marks the trade as completed. As a traded pokemon is not "caught", supply a $source other than organic to capture_pokemon().
    global $file_db;
    //Bring up this trade's data.
    $tradedata = $file_db->query("SELECT * FROM trades WHERE id=" . $tradeid . "")->fetchAll();
    //Build our arrays ready for the switcheroo.
    $pokemon1 = explode(',', $tradedata[0]['pokemon1']);
    $pokemon2 = explode(',', $tradedata[0]['pokemon2']);
    //First up, trainer1. Say goodbye to your pokemon.
    $r1 = release_pokemon($tradedata[0]['trainer1'], $pokemon1);
    //Now give these pokemon to trainer2.
    foreach ($pokemon1 as $p1poke) {
        dex_pokemon($tradedata[0]['trainer2'], round($p1poke));
        capture_pokemon($tradedata[0]['trainer2'], $p1poke, $source = "trade");
    }
    //Now it's trainer 2's turn.
    $r2 = release_pokemon($tradedata[0]['trainer2'], $pokemon2);
    //Now give these pokemon to trainer1.
    foreach ($pokemon2 as $p2poke) {
        dex_pokemon($tradedata[0]['trainer1'], round($p2poke));
        capture_pokemon($tradedata[0]['trainer1'], $p2poke, $source = "trade");
    }
    //Release the trade slots for both users.
    releasetrade($tradedata[0]['trainer1'], $tradeid, $reason = "complete");
    releasetrade($tradedata[0]['trainer2'], $tradeid, $reason = "complete");
    //Add this successful trade to the log.
    $file_db->exec("INSERT INTO tradelog (\n\t\t\t\ttrainer1, \n\t\t\t\ttrainer2, \n\t\t\t\tpokemon1, \n\t\t\t\tpokemon2,\n\t\t\t\tdate)\n\t\tVALUES (\n\t\t\t\t" . $tradedata[0]['trainer1'] . ", \n\t\t\t\t" . $tradedata[0]['trainer2'] . ",\n\t\t\t\t'" . $tradedata[0]['pokemon1'] . "',\n\t\t\t\t'" . $tradedata[0]['pokemon2'] . "',\n\t\t\t\t" . time() . ")\n\t\t\t\t");
    //Increase our total trades stat.
    $file_db->exec('UPDATE stats
							SET total_trades = total_trades + 1');
    //Finally, this trade is now complete!
    $file_db->exec("UPDATE trades\n\t\t\t\t\t\t\tSET stage=99\n\t\t\t\t\t\t\tWHERE id=" . $tradeid . "");
}
Ejemplo n.º 2
0
                     exit;
                 }
             }
             complete_trade($tradeid);
             header('Location: ' . $baseurl . '?trade;view=' . $tradeid . ';completed');
             exit;
         }
     } elseif (isset($_GET['notready'])) {
         update_trade($tradeid, 'stage', 8);
         header('Location: ' . $baseurl . '?trade;view=' . $tradeid . '');
         exit;
     } elseif (isset($_GET['cancel'])) {
         //Destroy this trade.
         update_trade($tradeid, 'stage', 0);
         releasetrade($trainer1['id'], $tradeid);
         releasetrade($trainer2['id'], $tradeid);
         header('Location: ' . $baseurl . '?trade');
         exit;
     }
 }
 if ($tradedata[0]['stage'] == 0) {
     layout_above('Cancelled Trade', 'Cancelled');
     echo 'This trade was cancelled!';
     layout_below();
     exit;
 }
 if ($is_owner) {
     layout_above('Trade with ' . $trainer2['name'], 'Trade with ' . $trainer2['name']);
 } else {
     echo layout_above('Trade with ' . $trainer1['name'], 'Trade with ' . $trainer1['name']);
 }