芝麻web文件管理V1.00
编辑当前文件:/home/p/r/i/prismawe/clients/canaldegap.fr_old/modules/parcelle/action.editdit.php
variables["admintheme"]; if(isset($params["cancel"]) || ($this->GetPreference("restrict_permissions",false) && !$this->CheckPermission("parcelle_advanced") && !$this->CheckPermission("parcelle_manage_lieuxdits")) ){ $newparams = array("active_tab" => "lieuxdits"); if(!isset($params["cancel"])) $newparams["module_message"] = $this->Lang("error_denied"); $this->Redirect($id, "defaultadmin", $returnid, $newparams); } $db =& $this->GetDb(); if($this->GetPreference("use_hierarchy",false)){ $parentoptions = $this->get_admin_hierarchyoptions("lieuxdits",false); }else{ $parentoptions = $this->get_options("commune"); } if(isset($params["ditid"])) { // if we are working on an item that exists, we load it. We must do this even when the form is submitted, otherwise we won't have the file fields $items = $this->get_level_lieuxdits(array("id"=>$params["ditid"])); $item = $items[0]; } // CHECK IF THE FORM IS BEING SUBMITTED : // (we must detect all kinds of submit buttons, including files, since information must be saved before we go to file submission) if (isset($params["submit"]) || isset($params["apply"]) || isset($params["add_plan"]) || isset($params["remove_plan"]) ) { debug_buffer("Edit Form has been submitted".__LINE__); // RETRIEVING THE FORM VALUES (and escaping it, if needed) if(!isset($item)) $item = new stdClass(); if(isset($params["dititem_order"])) $item->item_order = $params["dititem_order"]; $item->section = $params["ditsection"]; $item->parent = $params["ditparent"]; $item->name = $params["ditname"]; if($this->GetPreference("editable_aliases",false)){ if(isset($params["ditalias"])){ $tmpalias = $this->plcreatealias(trim($params["ditalias"])); $item->alias = $tmpalias == ""?$this->plcreatealias($item->name):$tmpalias; }else{ $item->alias = $this->plcreatealias($item->name); } }else{ $item->alias = $this->plcreatealias($item->name); } $autoincrementalias = $this->GetPreference("autoincrement_alias",false); // CHECK IF THE NEEDED VALUES ARE THERE if( !isset($params["ditname"]) || $params["ditname"] == "" ) { echo $this->ShowErrors($this->Lang("error_missginvalue")); }elseif(!$autoincrementalias && false == $this->checkalias("module_parcelle_lieuxdits", $item->alias, isset($params["ditid"])?$params["ditid"]:false)){ echo $this->ShowErrors($this->Lang("error_alreadyexists")); }else{ ############ DOING THE UPDATE if($autoincrementalias){ $basealias = $item->alias; $tmpalias = $item->alias; $i = 1; while(!$this->checkalias("module_parcelle_lieuxdits", $tmpalias, isset($params["ditid"])?$params["ditid"]:false)){ $tmpalias = $basealias."_".$i; $i++; } $item->alias = $tmpalias; } // FIELDS TO UPDATE $query = (isset($item->id)?"UPDATE ":"INSERT INTO ").cms_db_prefix()."module_parcelle_lieuxdits SET section=?, parent=?, name=?, alias=?, date_modified=?, active=".(isset($item->active)?$item->active:1).", isdefault=".(isset($item->isdefault)?$item->isdefault:0).""; // VALUES $values = array(addslashes($item->section), $item->parent, addslashes($item->name),$item->alias,str_replace("'","",$db->DBTimeStamp(time()))); if(isset($item->id)){ $event = "parcelle_modified"; $query .= " WHERE id=?;"; array_push($values,$item->id); }else{ // NEW ITEM $query .= ", date_created=?"; $values[] = str_replace("'","",$db->DBTimeStamp(time())); $event = "parcelle_added"; // get a new id from the sequence table $item->id = $db->GenID(cms_db_prefix()."module_parcelle_lieuxdits_seq"); if($this->GetPreference("newitemsfirst_lieuxdits",false)){ // new items get to the top - so we must put all other items down from one step, and then set this item's order to 1 $query2 = "UPDATE ".cms_db_prefix()."module_parcelle_lieuxdits SET item_order=(item_order+1) WHERE parent=?"; $db->Execute($query2, array($item->parent)); $query .= ",item_order=1, id=".$item->id; }else{ // new items get to the bottom - so we must set the item_order to the number of items + 1 $item_order = $this->countsomething("lieuxdits","id",array("parent"=>$item->parent)) + 1; $query .= ",item_order=".$item_order.", id=".$item->id; } } $db->Execute($query, $values); if(isset($params["oldparent"]) && $params["oldparent"] != $item->parent){ // the item is changing parent, and we're ordering by parents if($this->GetPreference("newitemsfirst_lieuxdits",false)){ // new items get to the top // UPDATE THE ORDER OF THE ITEMS WITH THE OLD PARENT $query = "UPDATE ".cms_db_prefix()."module_parcelle_lieuxdits SET item_order=(item_order-1) WHERE item_order > ? AND parent=?"; $db->Execute($query, array($item->item_order, $params["oldparent"])); // GET NEW ITEM ORDER $item->item_order = $this->countsomething("lieuxdits","id",array("parent"=>$item->parent)) + 1; $query = "UPDATE ".cms_db_prefix()."module_parcelle_lieuxdits SET item_order=? WHERE id=?"; $db->Execute($query, array($item->item_order, $item->id)); }else{ // UPDATE THE ORDER OF THE ITEMS WITH THE OLD PARENT $query = "UPDATE ".cms_db_prefix()."module_parcelle_lieuxdits SET item_order=(item_order-1) WHERE item_order > ? AND parent=?"; $db->Execute($query, array($item->item_order, $params["oldparent"])); // UPDATE NEW PARENT $query = "UPDATE ".cms_db_prefix()."module_parcelle_lieuxdits SET item_order=(item_order+1) WHERE parent=?"; $db->Execute($query, array($item->parent)); // GET NEW ITEM ORDER $item->item_order = 1; $query = "UPDATE ".cms_db_prefix()."module_parcelle_lieuxdits SET item_order=? WHERE id=?"; $db->Execute($query, array($item->item_order, $item->id)); } } $redirect = true; //if(mysql_affected_rows()){ // mysql-only if($db->Affected_Rows()){ if($this->GetPreference("searchmodule_index_lieuxdits",false)){ // IF ANYTHING WAS MODIFIED, WE MUST UPDATE THE SEARCH INDEX AND SEND AN EVENT... if(isset($event)) $this->SendEvent($event, array("what"=>"lieuxdits", "itemid" => $item->id, "alias"=>$item->alias)); debug_buffer("SEARHC INDEX WAS UPDATED ".__LINE__); $module =& $this->GetModuleInstance("Search"); if($module) { $text = "$item->name"; $module->AddWords($this->GetName(), $item->id, "lieuxdits", $text, NULL); } } }elseif(mysql_error()){ // do not redirect : $redirect = false; echo $this->ShowErrors(mysql_error()); } // REDIRECTING... if(isset($params["add_plan"])){ $params = array("ditid"=>$item->id,"field"=>"plan","tablename"=>"parcelle_lieuxdits","prefix"=>"dit", "startdir"=>"parcelles/lieuxdits/", "extensions"=>"pdf,jpg,jpeg,gif,png", "mode"=>"file"); $this->Redirect($id, "browsefiles", $returnid, $params); }elseif(isset($params["remove_plan"])){ $params = array("ditid"=>$item->id,"field"=>"plan","level"=>"lieuxdits","tablename"=>"parcelle_lieuxdits","prefix"=>"dit"); $this->Redirect($id, "assignfile", $returnid, $params); }elseif($redirect == false){ }elseif(isset($params["apply"])){ echo $this->ShowMessage($this->Lang("message_modified")); }else{ $params = array("module_message" => $this->Lang("message_modified"), "active_tab"=>"lieuxdits"); $this->Redirect($id, "defaultadmin", $returnid, $params); } } // END OF FORM SUBMISSION } /* ## PREPARING SMARTY ELEMENTS CreateInputText : (id,name,value,size,maxlength) CreateTextArea : (wysiwyg,id,text,name) CreateInputSelectList : (id,name,items,selecteditems,size) CreateInputDropdown : (id,name,items,sindex,svalue) */ $this->smarty->assign("section_label", $this->Lang("lieuxdits_section")); $this->smarty->assign("section_input", $this->CreateInputText($id,"ditsection",isset($item)?$item->section:"",30,10)); $this->smarty->assign("plan_label", $this->Lang("lieuxdits_plan")); $this->smarty->assign("plan_input", ((isset($item->plan) && $item->plan)?$item->plan->pic.'
'.$item->plan->filepath."
(".$item->plan->size_wformat.")
".$this->CreateInputSubmit($id,"remove_plan",$this->Lang("Remove"))." ":"").$this->CreateInputSubmit($id,"add_plan",$this->Lang("lieuxdits_select_plan"))); $this->smarty->assign("name_label", $this->Lang("name")); $this->smarty->assign("name_input", $this->CreateInputText($id,"ditname",isset($item)?$item->name:"",50,64)); $this->smarty->assign("parent_label", $this->Lang("commune")); $this->smarty->assign("parent_input", $this->CreateInputDropdown($id,"ditparent",$parentoptions,-1,isset($item)?$item->parent:0));if(isset($item)) $this->CreateInputHidden($id, "oldparent", $item->parent); if($this->GetPreference("editable_aliases",false)){ $this->smarty->assign("alias_label", $this->Lang("alias")); $this->smarty->assign("alias_input", $this->CreateInputText($id,"ditalias",isset($item)?$item->alias:"",50,64)); $this->smarty->assign("itemalias",false); }else{ $this->smarty->assign("itemalias",isset($item->alias)?"(alias : ".$item->alias.")":false); $this->smarty->assign("alias_input", false); } $this->smarty->assign("edittitle", $this->Lang("edit_lieuxdits")); $this->smarty->assign("submit", $this->CreateInputSubmit($id, "submit", lang("submit"))); $this->smarty->assign("apply", (isset($item) && isset($item->id))?$this->CreateInputSubmit($id, "apply", lang("apply")):""); $this->smarty->assign("cancel", $this->CreateInputSubmit($id, "cancel", lang("cancel"))); // DISPLAYING if(isset($item) && isset($item->id)){ echo $this->CreateFormStart($id, "editdit", $returnid); echo $this->ProcessTemplate("editdit.tpl"); echo $this->CreateInputHidden($id, "ditid", $item->id); if(isset($item) && isset($item->parent)) echo $this->CreateInputHidden($id, "oldparent", $item->parent); echo $this->CreateInputHidden($id, "dititem_order", $item->item_order); echo $this->CreateFormEnd(); }else{ echo $this->CreateFormStart($id, "editdit", $returnid); echo $this->ProcessTemplate("editdit.tpl"); echo $this->CreateFormEnd(); } ?>