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; } }