Ejemplo n.º 1
0
 /**
  * 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);
     }
 }
Ejemplo n.º 2
0
 /**
  * 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);
 }