/**
		  * Create a new Record with the given $this->fkid in the database.
		  * Initialize with standard values!
		  */
		function createRecord() {
			$createHandler = new ActionHandler("CREATE");

			$createHandler->addDBAction("INSERT INTO $this->management_table ($this->pk_name, FILENAME, ALT, WIDTH, HEIGHT, COPYRIGHT) VALUES ($this->fkid, '', '', 0,0,'')");
			$createHandler->process("CREATE");
		}
		}
		
		if ($action == $lang->get("CL_DEL") && $aclf->checkAccessToFunction("DELETE_CL")) {
			//if (!isset($go)) $go = "start";
			if ($go == "0" || $go == "")
				$go = "start";

			$delhandler = new ActionHandler("deleteobject");

			if (value("decision") == $lang->get("yes")) {
				$delhandler->addDBAction("UPDATE cluster_node SET DELETED = 1 WHERE CLNID = $oid");

				$delhandler->addDBAction("UPDATE cluster_content SET FKID=0 WHERE FKID = $oid");
				$delhandler->addDBAction("UPDATE cluster_template_items SET FKID=0 WHERE FKID = $oid");
				
				$delhandler->process("deleteobject");
				$handled = true;
			} else if (value("decision") != $lang->get("no")) {
				$title = getDBCell("cluster_node", "NAME", "CLNID = $oid");
				$form = new YesNoForm($lang->get("cl_del"). " $title", $lang->get("cl_delmes", "Do you really want to delete this cluster-instance?"));
				$form->add(new Hidden("action", $lang->get("CL_DEL")));
				$form->add(new Hidden("oid", $oid));
				$page->add($form);
				$handled = true;				
			}
		} else if (($action == $lang->get("cl_new")) && $aclf->checkAccessToFunction("NEW_INSTANCE")) {
			if (!isset($go) || $go == "0")
				$go = "insert";

			$page_action = "INSERT";		
			$clt = getVar("clt");
				$query = new query($db, $sql2);
				$query->getrow();
				$amount += $query->field("ANZ");
				$query = new query($db, $sql3);
				$query->getrow();
				$amount += $query->field("ANZ");

				if ($amount == 0) {
					if (value("decision") == $lang->get("yes")) {
						// set new folder-id.
						$parentId = getDBCell("categories", "PARENT_CATEGORY_ID", "CATEGORY_ID = " . $oid);
						pushVar("pnode", $parentId);
						
						// delete folder.
						$delhandler->addDBAction("DELETE FROM categories WHERE CATEGORY_ID = $oid");
						$delhandler->process("deletefolder");
						// set new id.
						$oid = $pnode = $parentId;
					} else if (value("decision") != $lang->get("no")) {
						$title = getDBCell("categories", "CATEGORY_NAME", "CATEGORY_ID = " . $oid);

						$form = new YesNoForm($lang->get("r_deletefolder"). " $title", $lang->get("folder_delmes", "Do you really want to delete this folder?"));
						$form->add(new Hidden("action", $lang->get("del_folder")));
						$form->add(new Hidden("pnode", $pnode));
						$page->add($form);
						$handled = true;
					}
				} else {
					$title = getDBCell("categories", "CATEGORY_NAME", "CATEGORY_ID = $oid");

					$delform = new MessageForm($lang->get("r_deletefolder"). " $title", $lang->get("r_foldernotempty"), doc(). "?" . $auth->getSid());
Example #4
0
/**
 * Uninstalls a Plugin
 * @param integer GUID of the plugin to uninstall.
 */
function uninstallPlugin($oid)
{
    global $db;
    // module uninstall handler
    includePGNSource($oid);
    $modRef = createPGNRef($oid, 0);
    if ($modRef != null) {
        $modRef->registration();
        $modRef->_uninstaller();
        // content deletion
        $delHandler = new ActionHandler("DELETE");
        $sql = "SELECT CID FROM content WHERE MODULE_ID = {$oid}";
        $query = new query($db, $sql);
        while ($query->getrow()) {
            $cid = $query->field("CID");
            $delHandler->addDBAction("DELETE FROM meta WHERE CID = {$cid}");
            $delHandler->addDBAction("UPDATE cluster_template_items SET FKID=0 WHERE FKID={$cid}");
            $delHandler->addDBAction("DELETE FROM content_variations WHERE CID = {$cid}");
            $delHandler->addDBAction("DELETE FROM content WHERE CID = {$cid}");
        }
        // meta-templates deletion.
        $mtid = getDBCell("modules", "MT_ID", "MODULE_ID = {$oid}");
        if ($mtid != 0) {
            $delHandler->addDBAction("DELETE FROM meta_template_items WHERE MT_ID = {$mtid}");
            $delHandler->addDBAction("DELETE FROM meta_templates WHERE MT_ID = {$mtid}");
        }
        $delHandler->addDBAction("DELETE FROM modules WHERE MODULE_ID = {$oid}");
        $delHandler->process("DELETE");
        $delHandler = new ActionHandler("DELETE");
        // cluster deletion.
        $delHandler->addDBAction("UPDATE cluster_template_items SET FKID = 0 WHERE FKID = {$oid} AND CLTITYPE_ID=2");
        $cltis = createDBCArray("cluster_template_items", "CLTI_ID", "CLTITYPE_ID = 2 AND FKID = {$oid}");
        for ($i = 0; $i < count($cltis); $i++) {
            $id = $cltis[$i];
            $delHandler->addDBAction("DELETE FROM cluster_content WHERE CLTI_ID = {$id}");
        }
        $delHandler->process("DELETE");
        writeDataTypeArray();
    }
}
 /**
  * Create a new Record with the given $this->fkid in the database.
  * Initialize with standard values!
  */
 function createRecord()
 {
     $createHandler = new ActionHandler("CREATE");
     $createHandler->addDBAction("INSERT INTO {$this->management_table} ({$this->pk_name}) VALUES ({$this->fkid})");
     $createHandler->process("CREATE");
 }
	/**
	 * Creates a new sitepage.
	 * @param integer ID of the Menu-Entry
	 * @param integer Position, where sitepage is to be inserted.
	 * @return integer SPID, that was created when inserting the sitepage.
	 */
	function createSitepage($menu, $position) {
		global $db;

		$spm = getDBCell("sitemap", "SPM_ID", "MENU_ID = $menu");

		if (!is_numeric($position) || $position == "")
			$position = 1;

		if ($position < 1)
			$position = 1;

		// get number of positions...
		$sql = "SELECT COUNT(SPID) AS ANZ FROM sitepage WHERE DELETED=0 AND MENU_ID = $menu";

		$query = new query($db, $sql);
		$query->getrow();
		$maxpos = $query->field("ANZ");

		// correct positioning...
		if ($position > $maxpos)
			$position = $maxpos + 1;

		$uhandler = new ActionHandler("POSITIONS");
		$uhandler->addDBAction("UPDATE sitepage SET POSITION = (POSITION+1) WHERE MENU_ID = $menu AND POSITION >= $position");
		$uhandler->process("POSITIONS");

		$nextId = nextGUID();
		$sql = "INSERT INTO sitepage (SPID, SPM_ID, MENU_ID, POSITION, DELETED) VALUES ($nextId, $spm, $menu, $position, 0)";

		$query = new query($db, $sql);

		return $nextId;
	}
	/**
	 * delete all (also live) instances of a variation.
	 * @param integer ID of the Variation
	 */
	function deleteVariation($variation) {
		global $db;

		$delHandler = new ActionHandler("del");
		$delHandler->addDBAction("DELETE FROM sitepage_names WHERE VARIATION_ID = $variation");
		$delHandler->addDBAction("DELETE FROM sitepage_variations WHERE VARIATION_ID = $variation");

		// delete clusters
		$sql = "SELECT CLID FROM cluster_variations WHERE VARIATION_ID = $variation";

		$query = new query($db, $sql);

		while ($query->getrow()) {
			deleteCluster ($query->field("CLID"));
		}

		$delHandler->addDBAction("DELETE FROM cluster_variations WHERE VARIATION_ID = $variation");

		// delete content
		$sql = "SELECT v.FK_ID, c.MODULE_ID FROM content_variations v, content c WHERE c.CID = v.CID AND v.VARIATION_ID = $variation";

		$query = new query($db, $sql);

		while ($query->getrow()) {
			deletePlugin($query->field("FK_ID"), $query->field("MODULE_ID"));
		}

		$delHandler->addDBAction("DELETE FROM content_variations WHERE VARIATION_ID = $variation");
		$delHandler->addDBAction("DELETE FROM variations WHERE VARIATION_ID = $variation");

		$delHandler->process("del");
	}
		/**
		  * Create a new Record with the given $this->fkid in the database.
		  * Initialize with standard values!
		  */
		function createRecord() {
			$createHandler = new ActionHandler("CREATE");
			$createHandler->addDBAction("INSERT INTO $this->management_table ($this->pk_name, CONTENT) VALUES ($this->fkid, '')");
			$createHandler->process("CREATE");
		}