/** * delete a plugin item * * @param array whith id [fieldname => value] * @param string name of the tag that is being deleted * @param integer id of the tree * @return void */ public function deletePlugin($values, $plugin_type) { $ref = $this->getObject($plugin_type); switch ($plugin_type) { case self::TYPE_DEFAULT: // delete reference ids /* require_once('ReservationTreeRef.php'); $treeref = new ReservationTreeRef(); $key = array('ref_tree_id' => $values['tree_id']); $treeref->delete($key); */ $key = array('tree_id' => $values['tree_id'], 'tag' => $values['tag']); // delete settings $settings = $this->getObject(self::TYPE_SETTINGS); $settings->delete($key); // delete block periods $period = $this->getObject(self::TYPE_BLOCK_PERIOD); $period->delete($key); // delete user group $userGroup = $this->getObject(self::TYPE_USER_GROUP); $userLink = new ReservationUserLink(); $userLink->delete($key); $userGroup->delete($key); // delete reservations $ref->delete($key); break; default: $key = $ref->getKey($values); $ref->delete($key); } }
private function handleEditPost() { $request = Request::getInstance(); $values = $request->getRequest(Request::POST); try { if (!$request->exists('id')) { throw new Exception('Reservation is missing.'); } $id = intval($request->getValue('id')); $key = array('id' => $id); $this->update($key, $values); $key = array('grp_id' => $id); $user = $this->director->systemUser; $usr_used = $request->getValue('usr_used'); if (!$usr_used) { $usr_used = array(); } $userLink = new ReservationUserLink(); // remove users from group $userLink->delete($key); foreach ($usr_used as $item) { $key['usr_id'] = $item; $userLink->insert($key); } viewManager::getInstance()->setType(Reservation::VIEW_USER_GROUP_OVERVIEW); $this->handleOverview(); } catch (Exception $e) { $template = new TemplateEngine(); $template->setVariable('errorMessage', $e->getMessage(), false); $this->handleEditGet(false); } }