/** * Display formular for one training * @param TrainingObject $SingleObject */ protected function displaySingleFormularFor(TrainingObject $SingleObject) { if ($SingleObject->Weather()->isEmpty()) { $SingleObject->setWeatherForecast(); } $Formular = new TrainingFormular($SingleObject, StandardFormular::$SUBMIT_MODE_CREATE); $Formular->setId('training'); $Formular->setLayoutForFields(FormularFieldset::$LAYOUT_FIELD_W50); $Formular->display(); }
/** * Display formular for editing a training * Call: call/call.Training.edit.php?id= */ require '../inc/class.Frontend.php'; use Runalyze\Model\Activity; use Runalyze\View\Activity\Linker; use Runalyze\View\Activity\Dataview; $Frontend = new Frontend(); if (isset($_GET['delete']) && is_numeric($_GET['delete'])) { $Deleter = new Activity\Deleter(DB::getInstance(), Runalyze\Context::Factory()->activity($_GET['delete'])); $Deleter->setAccountID(SessionAccountHandler::getId()); $Deleter->delete(); echo '<div class="panel-content"><p id="submit-info" class="error">' . __('The activity has been removed') . '</p></div>'; echo '<script>$("#multi-edit-' . (int) $_GET['delete'] . '").remove();Runalyze.Statistics.resetUrl();Runalyze.reloadContent();</script>'; exit; } $Training = new TrainingObject(Request::sendId()); $Activity = new Activity\Object($Training->getArray()); $Linker = new Linker($Activity); $Dataview = new Dataview($Activity); echo $Linker->editNavigation(); echo '<div class="panel-heading">'; echo '<h1>' . $Dataview->titleWithComment() . ', ' . $Dataview->dateAndDaytime() . '</h1>'; echo '</div>'; echo '<div class="panel-content">'; $Formular = new TrainingFormular($Training, StandardFormular::$SUBMIT_MODE_EDIT); $Formular->setId('training'); $Formular->setLayoutForFields(FormularFieldset::$LAYOUT_FIELD_W50); $Formular->display(); echo '</div>';
/** * Update object in database */ public function update() { $DB = DB::getInstance(); $AccountID = SessionAccountHandler::getId(); $OldData = isset($_POST['old-data']) ? unserialize(base64_decode($_POST['old-data'])) : array(); if (!is_array($OldData)) { $OldData = array(); } $NewActivity = $this->newActivityObject(); $UpdaterActivity = new \Runalyze\Model\Activity\Updater($DB, $NewActivity, new \Runalyze\Model\Activity\Object($OldData)); if (isset($OldData['routeid']) && $OldData['routeid'] > 0) { $UpdaterActivity->setRoute(\Runalyze\Context::Factory()->route($OldData['routeid'])); } elseif ($this->get('route') != '') { $InserterRoute = new Runalyze\Model\Route\Inserter($DB, new Runalyze\Model\Route\Object(array(Runalyze\Model\Route\Object::NAME => $this->get('route'), Runalyze\Model\Route\Object::CITIES => $this->get('route'), Runalyze\Model\Route\Object::DISTANCE => $this->get('distance')))); $InserterRoute->setAccountID($AccountID); $InserterRoute->insert(); $NewActivity->set(Runalyze\Model\Activity\Object::ROUTEID, $InserterRoute->insertedID()); } $UpdaterActivity->setTrackdata(\Runalyze\Context::Factory()->trackdata($this->id())); $UpdaterActivity->setEquipmentIDs(TrainingFormular::readEquipmentFromPost($NewActivity->sportid()), isset($_POST['equipment_old']) ? explode(',', $_POST['equipment_old']) : array()); $UpdaterActivity->setAccountID($AccountID); $UpdaterActivity->update(); if (isset($OldData['routeid']) && isset($OldData['route'])) { $UpdaterRoute = new \Runalyze\Model\Route\Updater($DB, new Runalyze\Model\Route\Object(array('id' => $OldData['routeid'], Runalyze\Model\Route\Object::NAME => $this->get('route'), Runalyze\Model\Route\Object::CITIES => $this->get('route'))), new Runalyze\Model\Route\Object(array('id' => $OldData['routeid'], Runalyze\Model\Route\Object::NAME => $OldData['route'], Runalyze\Model\Route\Object::CITIES => $OldData['route']))); $UpdaterRoute->setAccountID($AccountID); $UpdaterRoute->update(); } }