芝麻web文件管理V1.00
编辑当前文件:/home/p/r/i/prismawe/clients/canaldegap.fr/modules/parcelles/action.editcanal.php
variables["admintheme"]; if(isset($params["cancel"]) || ($this->GetPreference("restrict_permissions",false) && !$this->CheckPermission("parcelles_advanced") && !$this->CheckPermission("parcelles_manage_canal")) ){ $newparams = array("active_tab" => "canal"); if(!isset($params["cancel"])) $newparams["module_message"] = $this->Lang("error_denied"); $this->Redirect($id, "defaultadmin", $returnid, $newparams); } $db =& $this->GetDb(); if(isset($params["canalid"])) { // 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_canal(array("id"=>$params["canalid"])); $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"]) ) { 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["canalitem_order"])) $item->item_order = $params["canalitem_order"]; $item->description = $params["canaldescription"]; $item->name = $params["canalname"]; if($this->GetPreference("editable_aliases",false)){ if(isset($params["canalalias"])){ $tmpalias = $this->plcreatealias(trim($params["canalalias"])); $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["canalname"]) || $params["canalname"] == "" ) { echo $this->ShowErrors($this->Lang("error_missginvalue")); }elseif(!$autoincrementalias && false == $this->checkalias("module_parcelles_canal", $item->alias, isset($params["canalid"])?$params["canalid"]: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_parcelles_canal", $tmpalias, isset($params["canalid"])?$params["canalid"]:false)){ $tmpalias = $basealias."_".$i; $i++; } $item->alias = $tmpalias; } // FIELDS TO UPDATE $query = (isset($item->id)?"UPDATE ":"INSERT INTO ").cms_db_prefix()."module_parcelles_canal SET description=?, name=?, alias=?, date_modified=?, active=".(isset($item->active)?$item->active:1).", isdefault=".(isset($item->isdefault)?$item->isdefault:0).""; // VALUES $values = array($item->description, addslashes($item->name),$item->alias,str_replace("'","",$db->DBTimeStamp(time()))); if(isset($item->id)){ $event = "parcelles_modified"; $query .= " WHERE id=?;"; array_push($values,$item->id); }else{ // NEW ITEM $query .= ", date_created=?"; $values[] = str_replace("'","",$db->DBTimeStamp(time())); $event = "parcelles_added"; // get a new id from the sequence table $item->id = $db->GenID(cms_db_prefix()."module_parcelles_canal_seq"); if($this->GetPreference("newitemsfirst_canal",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_parcelles_canal SET item_order=(item_order+1)"; $db->Execute($query2); $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("canal") + 1; $query .= ",item_order=".$item_order.", id=".$item->id; } } $db->Execute($query, $values); $redirect = true; //if(mysql_affected_rows()){ // mysql-only if($db->Affected_Rows()){ if($this->GetPreference("searchmodule_index_canal",false)){ // IF ANYTHING WAS MODIFIED, WE MUST UPDATE THE SEARCH INDEX AND SEND AN EVENT... if(isset($event)) $this->SendEvent($event, array("what"=>"canal", "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, "canal", $text, NULL); } } }elseif(mysql_error()){ // do not redirect : $redirect = false; echo $this->ShowErrors(mysql_error()); } // REDIRECTING... if($redirect == false){ }elseif(isset($params["apply"])){ echo $this->ShowMessage($this->Lang("message_modified")); }else{ $params = array("module_message" => $this->Lang("message_modified"), "active_tab"=>"canal"); $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("description_label", $this->Lang("canal_description")); $this->smarty->assign("description_input", $this->CreateTextArea(true,$id,isset($item)?$item->description:"","canaldescription")); $this->smarty->assign("name_label", $this->Lang("name")); $this->smarty->assign("name_input", $this->CreateInputText($id,"canalname",isset($item)?$item->name:"",50,64)); if($this->GetPreference("editable_aliases",false)){ $this->smarty->assign("alias_label", $this->Lang("alias")); $this->smarty->assign("alias_input", $this->CreateInputText($id,"canalalias",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_canal")); $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, "editcanal", $returnid); echo $this->ProcessTemplate("editcanal.tpl"); echo $this->CreateInputHidden($id, "canalid", $item->id); if(isset($item) && isset($item->parent)) echo $this->CreateInputHidden($id, "oldparent", $item->parent); echo $this->CreateInputHidden($id, "canalitem_order", $item->item_order); echo $this->CreateFormEnd(); }else{ echo $this->CreateFormStart($id, "editcanal", $returnid); echo $this->ProcessTemplate("editcanal.tpl"); echo $this->CreateFormEnd(); } ?>