<?php

require '../../includes.php';
$_SESSION['loggin_form'] = $_POST;
$request = curl_init('https://bruse.proxxi.org/authenticate.php');
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request, CURLOPT_POSTFIELDS, array('uname' => ClientData::post('username'), 'pass' => ClientData::post('password')));
$result = curl_exec($request);
if ($result == 'not OK') {
    Message::add_error("Fel användarnamn och/eller lösenord");
    kick('login');
}
if (!preg_match('/accessess.*"kioskPrice"/s', $result)) {
    Message::add_error("Fel användarnamn och/eller lösenord");
    kick('login');
}
$_SESSION['loggin_form'] = null;
$user = User::login($result);
$_SESSION['login'] = $user->id;
kick(ClientData::post('kickback'));
<?php

require "../../includes.php";
if (empty($_SESSION['login'])) {
    kick('login?kickback=' . htmlspecialchars(kickback_url()));
}
$db->autoCommit(false);
$products = ClientData::post('product_id');
$counts = ClientData::post('product_count');
$money_diff = 0;
$delivery = new Delivery();
$delivery->description = "Inventering";
$delivery->user = $_SESSION['login'];
$delivery->commit();
foreach ($products as $i => $product_id) {
    // Create purchase
    $product = Product::from_id($product_id);
    $diff = $counts[$i] - $product->count;
    $money_diff += $diff * $product->value;
    $product->count = $counts[$i];
    $product->commit();
    $contents = new DeliveryContent();
    $contents->cost = 0;
    $contents->delivery_id = $delivery->id;
    $contents->product_id = $product_id;
    $contents->count = $diff;
    var_dump($contents->count);
    $contents->commit();
}
if ($money_diff != 0) {
    $from_account = Account::from_code_name('stock_diff');
    $transaction_content = new TransactionContent();
    $transaction_content->product_id = $product->id;
    $transaction_content->count = $count;
    $transaction_content->amount = $amount;
    $transaction_content->stock_usage = $count * $product->value;
    $contents[] = $transaction_content;
}
$sum = $transaction->amount;
$diff = abs(round($sum) - $sum);
if ($diff != 0) {
    $transaction_content = new TransactionContent();
    $transaction_content->product_id = 0;
    $transaction_content->count = 1;
    $transaction_content->amount = $diff;
    $contents[] = $transaction_content;
    $transaction->amount += $diff;
}
if ($transaction->amount > $recieved) {
    die("Det är för lite betalt. {$transaction->amount} < {$recieved}");
}
$transaction->commit();
foreach ($contents as $content) {
    $content->transaction_id = $transaction->id;
    $content->commit();
}
if (isset($_SESSION['random']) && $_SESSION['random'] == ClientData::post('random')) {
    die('Form was already submitted');
}
$_SESSION['random'] = ClientData::post('random');
$db->commit();
kick("retail?last_recieved={$recieved}");
<?php

require "../../includes.php";
if (empty($_SESSION['login'])) {
    kick('login?kickback=' . htmlspecialchars(kickback_url("edit_product/" . ClientData::post('product'))));
}
$product = Product::from_id(ClientData::post('product'));
$fields = array('name', 'active', 'price', 'value', 'ean', 'category_id', 'inventory_threshold');
foreach ($fields as $field) {
    $product->{$field} = ClientData::post($field);
}
$product->commit();
kick('product/' . $product->id);
<?php

require "../../includes.php";
if (empty($_SESSION['login'])) {
    kick('login?kickback=' . htmlspecialchars(kickback_url()));
}
$db->autocommit(false);
try {
    $transaction = new AccountTransaction();
    $transaction->description = ClientData::post('description');
    $transaction->user = $_SESSION['login'];
    $from = new AccountTransactionContent();
    $from->amount = -1 * ClientData::post('amount');
    $from->account_id = ClientData::post('from_account_id');
    $to = new AccountTransactionContent();
    $to->amount = ClientData::post('amount');
    $to->account_id = ClientData::post('to_account_id');
    $transaction->commit();
    $from->account_transaction_id = $transaction->id;
    $to->account_transaction_id = $transaction->id;
    $from->commit();
    $to->commit();
    $db->commit();
} catch (Exception $e) {
    die("Nånting gick fel:<pre>{$e->getMessage()}</pre>");
}
kick('accounts');
        $errors[$i] = $e->getMessage();
    }
}
$transaction = new AccountTransaction();
$transaction->description = "Inköp id: {$delivery->id}";
$transaction->user = $_SESSION['login'];
$transaction->commit();
$stock = new AccountTransactionContent();
$stock->amount = $stock_change_amount;
$stock->account_id = Account::from_code_name('stock')->id;
$stock_change = new AccountTransactionContent();
$stock_change->amount = -1 * $stock_change_amount;
$stock_change->account_id = Account::from_code_name('stock_change')->id;
$balance_amount = 0;
$balance_amounts = ClientData::post('amount');
$balance_accounts = ClientData::post('from_account');
for ($i = 0; $i < count($balance_amounts); $i++) {
    $balance_amount += $balance_amounts[$i];
    $account = Account::from_code_name($balance_accounts[$i]);
    if ($account == null && $balance_amounts[$i] != 0) {
        $errors['konton'] = 'Du måste ange vilket konto pengarna kom ifrån';
        break;
    }
    $balance = new AccountTransactionContent();
    $balance->account_id = $account->id;
    $balance->amount = -$balance_amounts[$i];
    $balance->account_transaction_id = $transaction->id;
    $balance->commit();
}
if (abs($balance_amount - $stock_change_amount) > 0.5) {
    $errors['kassa'] = 'Lagervärde av produkterna och penningåtgång stämmer inte överens. Du måste tala om vart pengarna kommer ifrån (det är ok att avrunda till närmaste krona)';
$sales->account_id = Account::from_code_name('sales')->id;
$sales->amount = -$sales_amount;
$sales->commit();
$till = new AccountTransactionContent();
$till->account_transaction_id = $transaction->id;
$till->account_id = Account::from_code_name('till')->id;
$till->amount = ClientData::post('till') - $old_till;
$till->commit();
$diff = new AccountTransactionContent();
$diff->account_transaction_id = $transaction->id;
$diff->account_id = Account::from_code_name('diff')->id;
$diff->amount = -($till->amount + $sales->amount);
$diff->commit();
$stock = new AccountTransactionContent();
$stock->account_transaction_id = $transaction->id;
$stock->account_id = Account::from_code_name('stock')->id;
$stock->amount = -$stock_amount;
$stock->commit();
$stock_usage = new AccountTransactionContent();
$stock_usage->account_transaction_id = $transaction->id;
$stock_usage->account_id = Account::from_code_name('stock_change')->id;
$stock_usage->amount = $stock_amount;
$stock_usage->commit();
$daily_count = new DailyCount();
$daily_count->time = $time;
$daily_count->amount = ClientData::post('till');
$daily_count->account_transaction_id = $transaction->id;
$daily_count->user = $_SESSION['login'];
$daily_count->commit();
$db->commit();
kick("/account_transaction/{$transaction->id}");