$activity = Factory::getView(new ActivityKey($_REQUEST['id'])); $activity->requestDelete(); $transaction->commit(); break; case 'create': $transaction = new Transaction(new MySqlDB()); $transaction->start(); $activity = Factory::createView(new ActivityKey()); $activity->setUser($user); $activity->setImportNumber(-1); $activity->setImportTime(new Date()); $activity->setName($data['name']); $activity->setTransactionDate(new Date($_POST['data']['transdate'])); $activity->setAmount($data['amount']); if ($data['category'] != null && trim($data['category']) && $data['category'] != 'null') { $activity->setCategory(Factory::getView(new CategoryKey(trim($data['category'])))); } $transaction->commit(); break; } echo json_encode(array('success' => 'true')); } else { $smarty = new MySmarty($SMARTY_CONFIG); $smarty->assign('res', $user->getActivities()); $userCategories = Category::getOptions(array("USER_ID" => $user->getId(), "ACTIVE" => 1)); $allCategories = Category::getOptions(array("ACTIVE" => 1)); $categories = ''; foreach ($userCategories as $index => $value) { $categories .= "{\"value\": \"{$index}\", \"label\": \"{$value}\"},"; } $smarty->assign('allCategories', $categories);
$user = $access->getUser(); $smarty = new MySmarty($SMARTY_CONFIG); $smarty->assign('user', $user); $transaction = false; if (!empty($_POST)) { if (!array_key_exists('csv_file', $_FILES)) { throw new Exception("Missing required parameter: file"); } if (!array_key_exists('mapping_type', $_REQUEST)) { throw new Exception("Missing required parameter: mapping type"); } else { $mapping_key = htmlentities($_REQUEST['mapping_type']); } $transaction = new Transaction(new MySqlDB()); $transaction->start(); $mapping = Factory::getView(new MappingKey($mapping_key)); $importNumber = rand(10000000000, 99999999999); $importTime = new Date(); $tmpname = $_FILES['csv_file']['tmp_name']; if (($handle = fopen($tmpname, "r")) !== FALSE) { $row = 0; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $row++; if ($row < $mapping->getStartingRow()) { // Getting to starting row; continue; } $activity = Factory::createView(new ActivityKey()); $activity->setImportNumber($importNumber); $activity->setImportTime(new Date()); $activity->setUser($user);
//TODO: check amount is valid $budgetedAmount = htmlentities($_POST['budgetedAmount']); $transaction = new Transaction(new MySqlDB()); $transaction->start(); $budget = Factory::createView(new BudgetKey()); $category = Factory::getView(new CategoryKey($categoryId)); $budget->setUser($user); $budget->setActive(TRUE); $budget->setAmount($budgetedAmount); $budget->setCategory($category); $transaction->commit(); } elseif ($action === "remove") { $key = htmlentities($_POST['key']); $transaction = new Transaction(new MySqlDB()); $transaction->start(); $budgetItem = Factory::getView(new BudgetKey($key)); $budgetItem->setActive(0); $transaction->commit(); } } $budgets = Budget::getOptions(array("USER_ID" => $user->getId(), "ACTIVE" => 1)); $spent = array(); $budgetLeft = array(); foreach ($budgets as $key => $item) { $activities = Activity::getOptions(array("USER_ID" => $user->getId(), "CATEGORY_ID" => $item['category_id'], "TRANSACTION_DATE_START" => Date::firstOfMonth())); $value = 0; foreach ($activities as $activityKey => $activityItem) { $value += $activityItem['amount']; } $spent[$key] = 0 - $value; $budgetLeft[$key] = $item['amount'] + $value;
$action = htmlentities($_POST['action']); if ($action === "add") { $categoryName = htmlentities($_POST['categoryName']); $transaction = new Transaction(new MySqlDB()); $transaction->start(); $category = Factory::createView(new CategoryKey()); $category->setUser($user); $category->setActive(TRUE); $category->setName($categoryName); $transaction->commit(); } elseif ($action === "remove") { try { $key = htmlentities($_POST['key']); $transaction = new Transaction(new MySqlDB()); $transaction->start(); $categoryItem = Factory::getView(new CategoryKey($key)); $categoryItem->setActive(0); $transaction->commit(); } catch (Exception $e) { print_r($e); } } } $userCategories = Category::getOptions(array("USER_ID" => $user->getId(), "ACTIVE" => 1)); $allCategories = Category::getOptions(array("ACTIVE" => 1)); $smarty->assign('allCategories', $allCategories); $smarty->assign('userCategories', $userCategories); if ($fullPage) { $smarty->assign('user', $user); $smarty->assign('left_menu', true); $smarty->display('category.tpl');