/** * 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 'NewsLetterTreeRef.php'; $treeref = new NewsLetterTreeRef(); $key = array('ref_tree_id' => $values['tree_id']); $treeref->delete($key); $key = array('tree_id' => $values['tree_id'], 'tag' => $values['tag']); // delete settings require_once 'NewsLetterSettings.php'; $obj = new NewsLetterSettings($this); $obj->delete($key); // delete users require_once 'NewsLetterUser.php'; $obj = new NewsLetterUser($this); $obj->delete($key); // delete user groups require_once 'NewsLetterGroup.php'; $obj = new NewsLetterGroup($this); $obj->delete($key); // delete usergroup links $obj->deleteUserGroup($values['tree_id'], $values['tag']); // delete news items $list = $ref->getList($key); foreach ($list['data'] as $item) { $key = $ref->getKey($item); $ref->delete($key); } break; default: $key = $ref->getKey($values); $ref->delete($key); } }
/** * handle overview */ private function handleEdit($template, $grp_used) { $request = Request::getInstance(); $tree_id = intval($request->getValue('tree_id')); $tag = $request->getValue('tag'); $template->setVariable('tree_id', $tree_id, false); $template->setVariable('tag', $tag, false); // add overview link $view = ViewManager::getInstance(); $url = new Url(true); $url->clearParameter('id'); $url->setParameter('tree_id', $tree_id); $url->setParameter('tag', $tag); $url->setParameter($view->getUrlId(), NewsLetter::VIEW_USER_OVERVIEW); $breadcrumb = array('name' => $view->getName(NewsLetter::VIEW_USER_OVERVIEW), 'path' => $url->getUrl(true)); $this->director->theme->addBreadcrumb($breadcrumb); // create up & back links and create breadcrumb $this->director->theme->handleAdminLinks($template); // create user groups comboboxes $userGroup = new NewsLetterGroup($this->plugin); $search_used = $grp_used ? array('id' => $grp_used) : NULL; $search_free = $grp_used ? array('no_id' => $grp_used, 'tree_id' => $tree_id, 'tag' => $tag) : array('tree_id' => $tree_id, 'tag' => $tag); $group_used = $grp_used ? $userGroup->getList($search_used) : array('data' => ''); $group_free = $userGroup->getList($search_free); $template->setVariable('cbo_grp_used', Utils::getHtmlCombo($group_used['data']), false); $template->setVariable('cbo_grp_free', Utils::getHtmlCombo($group_free['data']), false); }