Esempio n. 1
0
		/**
		   * Save the ACLObject. Does not save the accessors.
		   */
		function saveEx() {
			// save general settings
			$uds = new UpdateSet("acl_management", "GUID = " . $this->guid);
			$uds->add("INTERNAL", $this->isInternal, "NUMBER");
			$uds->add("DISABLED", $this->isDisabled, "NUMBER");
			$uds->add("SYSTEM", $this->isSystem, "NUMBER");
			$uds->add("INHERIT", $this->inherit, "NUMBER");
			$uds->add("OWNER_GUID", $this->owner, "NUMBER");
			$uds->execute();
		}
				/**
				 * Updates the changes towards the object with the given id.
				 * @param integer Id of the item, to be deleted.
				 */
				function process_object_update($id) {
					global $lang, $errors, $db, $page_action, $page_state, $selectci;
					$selectci = value("selectci");
					$cond = $this->item_pkname . " = $id";
					// configure DBO
					$page_action = "UPDATE";
					$page_state = "processing";					
					$this->add(new Hidden("editing", $id));
					$this->check();
					$this->drawPage = "editing";
					if ($errors == "") {
						$name = value($this->item_table . "_" . $this->item_name);

						global $c_magic_quotes_gpc;

						if ($c_magic_quotes_gpc == 1)
							$name = str_replace("\\", "", $name);

						$pname = parseSQL($name);
						$type = value($this->item_table . "_FKID", "NUMERIC");
						$mincard = value($this->item_table . "_MINCARD", "NUMERIC");
						$maxcard = value($this->item_table . "_MAXCARD", "NUMERIC");
						$exclusive = value($this->item_table . "_EXCLUSIVE", "NUMERIC", "0");
						// SWAP
						if ($mincard > $maxcard) {
							$temp = $mincard;

							$mincard = $maxcard;
							$maxcard = $temp;
						}
						$cltitypeId = getDBCell($this->item_table, "CLTITYPE_ID", $cond);
						$fkId = getDBCell($this->item_table, "FKID", $cond);

						$uds = new UpdateSet("cluster_template_items", "CLTI_ID = $id");

						switch ($cltitypeId) {
							case 1: // static content
								$uds->add("NAME", $pname, "TEXT");

								global $sel_object;
								
								$sel_object = value("cluster_template_items_FKID");
								$uds->add("FKID", $sel_object, "NUMBER");																		
								break;

							case 2: // dynamic content
								if ($fkId == 0)
									$uds->add("FKID", $type, "NUMBER");

								$uds->add("MINCARD", $mincard, "NUMBER");
								$uds->add("MAXCARD", $maxcard, "NUMBER");
								$uds->add("NAME", $pname, "TEXT");
								$uds->add("EXCLUSIVE", $exclusive, "NUMBER");
								if ($fkId != 0) {
									$classname = getDBCell("modules", "CLASS", "MODULE_ID = ".$fkId);									
									$ref = new $classname(0, $id);								
									$ref->editConfig();
									$ref->processConfig();

								}	
								break;

							case 3: // static cluster
								$uds->add("NAME", $pname, "TEXT");

								global $sel_object;
								$sel_object = value("sel_object", "NUMERIC");

								if ($sel_object != 0) {
									$uds->add("FKID", $sel_object, "NUMBER");
									
								}

								break;

							case 4: //dynamic cluster
								if ($fkId == 0) {
									global $cluster_template_items_FKID;
									
									$cluster_template_items_FKID = value("cluster_template_items_FKID", "NUMERIC");
									$uds->add("FKID", $cluster_template_items_FKID, "NUMBER");
								}

								$uds->add("MINCARD", $mincard, "NUMBER");
								$uds->add("MAXCARD", $maxcard, "NUMBER");
								$uds->add("NAME", $pname, "TEXT");
								$uds->add("EXCLUSIVE", $exclusive, "NUMBER");
								break;

							case 5:
								if ($fkId == 0)
									$uds->add("FKID", $type, "NUMBER");

								$uds->add("MINCARD", $mincard, "NUMBER");
								$uds->add("MAXCARD", $maxcard, "NUMBER");
								$uds->add("NAME", $pname, "TEXT");
								$uds->add("EXCLUSIVE", $exclusive, "NUMBER");
								break;
							case 6: // compound
								if ($fkId == 0) {
									global $cluster_template_items_FKID;
									$cluster_template_items_FKID = value("cluster_template_items_FKID", "NUMERIC");
									$uds->add("FKID", $cluster_template_items_FKID, "NUMBER");
								}

								$uds->add("MINCARD", $mincard, "NUMBER");
								$uds->add("MAXCARD", $maxcard, "NUMBER");
								$uds->add("NAME", $pname, "TEXT");
								$uds->add("EXCLUSIVE", $exclusive, "NUMBER");
								break;
							case 7: // compound group

								global $cluster_template_items_FKID;
								$cluster_template_items_FKID = value("cluster_template_items_FKID", "NUMERIC");
								$uds->add("FKID", $cluster_template_items_FKID, "NUMBER");
								$uds->add("MINCARD", 1, "NUMBER");
								$uds->add("MAXCARD", 1, "NUMBER");
								$uds->add("NAME", $pname, "TEXT");								
								break;

                          		  case 8: //channel                               			
                               			 $uds->add("MINCARD", $mincard, "NUMBER");
                               			 $uds->add("MAXCARD", $maxcard, "NUMBER");
                               			 $uds->add("FKID", 1, "NUMBER");
                               			 $uds->add("NAME", $pname, "TEXT");
                               			 $uds->add("EXCLUSIVE", $exclusive, "NUMBER");
                              			  break;
						}

						global $search;											
						$search = value("search");
						if ($search == "0") {
							$uds->execute();							
							if ($errors == "") {
								$this->ready = true;	
								$this->addToTopText($lang->get("savesuccess"));
							} else {
								$this->addToTopText($lang->get("procerror"));
								$this->setTopStyle("errorheader");
							}
						}
					} else {
						// display errors.
					}
					$this->draw_edit($id);
				}