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);
     }
 }