Exemple #1
0
function create_choose_form()
{
    // Instantiate a new form tp choose the portfolio to work with
    global $choose_pf_form, $pdo;
    $choose_pf_form->addElement('header', null, 'Choose a portfolio');
    $uid = $pdo->quote($_SESSION['uid']);
    $query = "select pfid, name, exch, parcel, working_date from portfolios where uid = {$uid} order by name;";
    $first_row = true;
    foreach ($pdo->query($query) as $row) {
        $pf_id = $row['pfid'];
        $portfolio = new portfolio($pf_id);
        $pf_desc = $portfolio->getName();
        $exch = $portfolio->getExch()->getID();
        $exch_name = $portfolio->getExch()->getName();
        $pf_parcel = $portfolio->getParcel();
        $pf_working_date = $portfolio->getWorkingDate();
        $pf_start_date = $portfolio->getStartDate();
        if ($first_row) {
            $choose_pf_form->addElement('radio', 'portfolio', 'Portfolios:', "{$pf_desc}<td>{$exch_name}</td> <td>{$pf_parcel}</td> <td>{$pf_start_date}</td> <td>{$pf_working_date}</td>", $pf_id);
            $choose_pf_form->addRule('portfolio', 'You must select a portfolio to trade', 'required');
            $first_row = false;
        } else {
            $choose_pf_form->addElement('radio', 'portfolio', null, "{$pf_desc}<td>{$exch_name}</td> <td>{$pf_parcel}</td> <td>{$pf_start_date}</td> <td>{$pf_working_date}</td>", $pf_id);
        }
    }
    $choose_pf_form->addElement('submit', 'choose', 'Trade with Portfolio');
    $choose_pf_form->addElement('submit', 'delete', 'Delete Portfolio', 'onclick="return confirm(\'Delete portfolio\\nAre you Sure?\')"');
}
function add_to_cart($table, $symb, $comment = '', $volume = 0)
{
    // adds all symbols in the given list to the given table
    global $db_hostname, $db_database, $db_user, $db_password;
    $portfolio = new portfolio($_SESSION['pfid']);
    $pfid = $portfolio->getID();
    $date = $portfolio->getWorkingDate();
    $exch = $portfolio->getExch()->getID();
    $parcel = $portfolio->getParcel();
    if (isset($_SESSION['sql_name'])) {
        $name = $_SESSION['sql_name'];
    } else {
        $name = $portfolio->getName();
    }
    $close = get_stock_close($symb, $date, $exch);
    if ($comment == '') {
        $comment = "{$name}: {$date}";
    }
    if ($volume != 0) {
        $qty = $volume;
    } else {
        if ($close < $parcel) {
            $qty = (int) ($parcel / $close);
        } else {
            $qty = 1;
        }
    }
    try {
        $pdo = new PDO("pgsql:host={$db_hostname};dbname={$db_database}", $db_user, $db_password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
        die("ERROR: Cannot connect: " . $e->getMessage());
    }
    $query = "insert into {$table} (pfid, date, symb, volume, comment) values ('{$pfid}', '{$date}', '{$symb}', '{$qty}', '{$comment}');";
    try {
        $pdo->exec($query);
        return true;
    } catch (PDOException $e) {
        tr_warn('add_to_cart:' . $query . ':' . $e->getMessage());
        return false;
    }
}