<?php $food_id = !empty($_GET['id']) ? (int) $_GET['id'] : null; if (!$food_id) { return $Template->output('error', 400); } $foods_table = new Tables\Foods(); $food = $foods_table->get($food_id); if (!$food) { return $Template->output('error', 404); } elseif ($food->user_id != getUser()->id) { return $Template->output('error', 401); } $page_title = __('Edit food'); $Crumbs->addCrumb($page_title); $Template->output('header', ['title' => $page_title, 'nav_active' => 'food']); $Template->output('page_controls', [['text' => __('Back'), 'url' => $Crumbs->getPreviousPageUrl()], ['text' => __('Delete'), 'url' => 'action/food/delete?id=' . $food_id, 'confirm_message' => true]]); $Validator->useSession(); $Template->output('validator/status'); $form = new Odf\Form('food/edit', get_object_vars($food)); $form->output(); $Template->output('footer'); ?> <script src="js/page_specific/food/edit.js"></script>
<?php $form = new Odf\Form('food/edit'); $form->validate(); if ($errors = $form->getErrors()) { return $Javascript->setErrors($errors)->output(); } $food_id = (int) $_POST['id']; $table = new \Tables\Foods(); // May the current user edit this food? $food = $table->get($food_id); if (!$food || $food->user_id != getUser()->id) { return $Javascript->setError(__('You are not authorized to edit this food.'))->output(); } $table->update($form->getInput(), $food_id); $Ase->happen('update_cache', ['food']); $Javascript->setSuccessMessage(__('Food saved.'))->output();