1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| <?php
require_once(dirname(dirname(__FILE__)) . '/app.php');
$id = abs(intval($_GET['id']));
$team = Table::Fetch('team', $id);
if ( !$team || $team['begin_time']>time() ) {
Session::Set('error', 'Cet élément est invalide');
Utility::Redirect( WEB_ROOT . '/index.php' );
}
$ex_con = array(
'user_id' => $login_user_id,
'team_id' => $team['id'],
);
$order = DB::LimitQuery('order', array(
'condition' => $ex_con,
'one' => true,
));
if ($order && $order['state']!='unpay') {
Session::Set('error', 'Vous avez déja acheté ce deal! Revenez demain pour de nouvelles affaires');
Utility::Redirect( WEB_ROOT . "/team.php?id={$id}");
}
if ( $_POST ) {
need_login(true);
$table = new Table('order', $_POST);
if ( $table->quantity == 0 ) {
Session::Set('error', 'Le montant ne peut être inférieur à 1');
Utility::Redirect( WEB_ROOT . "/deals/buy.php?id={$team['id']}");
}
elseif ( $team['per_number'] > 0 && $table->quantity > $team['per_number'] ) {
Session::Set('error', 'Vous avez dépassé la limite de 1 achat');
Utility::Redirect( WEB_ROOT . "/deals/buy.php?id={$team['id']}");
}
if ($order && $order['state']=='unpay') {
$table->id = $order['id'];
}
$table->user_id = $login_user_id;
$table->team_id = $team['id'];
$table->city_id = $team['city_id'];
$table->express = ($team['delivery']=='express') ? 'Y' : 'N';
$table->fare = $table->express=='Y' ? $team['fare'] : 0;
$table->price = $team['team_price'];
$table->credit = 0;
if ( $table->id ) {
$eorder = Table::Fetch('order', $table->id);
$table->origin = ($table->quantity * $team['team_price']) + ($team['delivery'] == 'express' ? $team['fare'] : 0) - $eorder['card'];
} else {
$table->create_time = time();
$table->origin = ($table->quantity * $team['team_price']) + ($team['delivery'] == 'express' ? $team['fare'] : 0);
}
$insert = array(
'user_id', 'team_id', 'city_id', 'state',
'fare', 'express', 'origin', 'price',
'address', 'zipcode', 'realname', 'mobile', 'quantity',
'create_time', 'remark',
);
if ($flag = $table->update($insert)) {
$order_id = abs(intval($table->id));
Utility::Redirect(WEB_ROOT."/orders/check.php?id={$order_id}");
}
}
//each user per day per buy
if (!$order) {
$order = json_decode(Session::Get('loginpagepost'),true);
settype($order, 'array');
if ($order['mobile']) $login_user['mobile'] = $order['mobile'];
if ($order['zipcode']) $login_user['zipcode'] = $order['zipcode'];
if ($order['address']) $login_user['address'] = $order['address'];
if ($order['realname']) $login_user['realname'] = $order['realname'];
$order['quantity'] = 1;
}
//end;
$order['origin'] = ($order['quantity'] * $team['team_price']) + ($team['delivery']=='express' ? $team['fare'] : 0);
include template('team_buy'); |
Partager