function copyMoveAction($type) { require_once ("classes/model/AppFolder.php"); $oPMFolder = new AppFolder (); $dir=$_REQUEST['dir']; $paths = array(); $folderResult = findChilds('/', '', $paths); $withCombo = 30; $folderSelected = $oPMFolder->load($dir); $root = array("/","/"); array_unshift ($folderResult, $root); $folderResultSel = array(); foreach ($folderResult as $key => $value) { $count = strlen($value[1]); $withCombo = ($count>$withCombo) ? $count : $withCombo; if ($folderSelected['FOLDER_PARENT_UID'] != $value[0] && $dir != $value[0]) { $folderResultSel[] = $value; } } $dirCompletePath=$oPMFolder->getFolderStructure($dir); $copyDialog["xtype"] = "form"; $copyDialog["id"] = "simpleform"; $copyDialog["labelWidth"] = 80; $copyDialog["width"] = 500; $copyDialog["modal"] = true; $copyDialog["url"] = "URL_SCRIPT"; if ($type=="copy") { $copyDialog["dialogtitle"]= "Copy"; } else { $copyDialog["dialogtitle"]= "Move"; } $copyDialog["frame"]= true; $copyDialog["items"]=array(); $itemField=array(); $itemField["xtype"] = "combo"; $itemField["hiddenName"] = "new_dir"; $itemField["id"] = "new_dir_label"; $itemField["name"] = "new_dir_label"; $itemField["mode"] = "local"; $itemField["triggerAction"] = "all"; $itemField["store"] = $folderResultSel; $itemField["valueField"] = "FOLDER_UID"; $itemField["editable"] = false; $itemField["displayField"] = "FOLDER_NAME"; $itemField["selectOnFocus"] = true; $itemField["tpl"] = '<tpl for="."><div ext:qtip="{field2}" class="x-combo-list-item">{field2}</div></tpl>'; $itemField["fieldLabel"] = G::LoadTranslation('ID_DESTINATION'); $itemField["emptyText"] = G::LoadTranslation('ID_SELECT_DIRECTORY'); $itemField["width"] = 390; $itemField["allowBlank"]=false; $copyDialog["items"][]=$itemField; $itemField=array(); $itemField["xtype"]="hidden"; $itemField["fieldLabel"]="copyMove"; $itemField["name"]="copyMove"; $itemField["value"]="all"; $itemField["width"]=175; $itemField["allowBlank"]=false; $copyDialog["items"][]=$itemField; $copyDialog["buttons"]=array(); $itemButton=array(); if ($type == "copy") { $itemButton["text"]= "Copy"; } else { $itemButton["text"]= "Move"; } $itemButton["handler"]="copyDialogCreateButtonFunction"; $itemButton["id"]="buttonCopy"; $functionsToReplace["copyDialogCreateButtonFunction"]="function() { form = Ext.getCmp('simpleform').getForm(); var requestParams = getRequestParams(); requestParams.confirm = 'true'; if (Ext.getCmp('new_dir_label').getValue() == '') { statusBarMessage('Select a Directory', false, false); return false; } requestParams.new_dir = Ext.getCmp('new_dir_label').getValue() statusBarMessage('Please wait...', true, true); Ext.getCmp('new_dir_label').disable(); Ext.getCmp('buttonCopy').disable(); Ext.getCmp('buttonCancel').disable(); requestParams.action = '".$type."Execute'; form.submit({ reset: false, success: function(form, action) { if(action.result.success){ if(action.result.success=='success'){ statusBarMessage(action.result.message, false, true); var node = dirTree.getNodeById('root'); node.select(); datastore.directory = 'root'; datastore.reload(); dirTree.getRootNode().reload(); requestParams.dir = 'root'; Ext.getCmp('dialog').destroy(); }else{ statusBarMessage(action.result.message, false, false); } }else{ if(!action.result) return; Ext.MessageBox.alert('Error!', action.result.error); statusBarMessage(action.result.error, false, false); } }, failure: function(form, action) { if(!action.result) return; Ext.MessageBox.alert('Error!', action.result.error); statusBarMessage(action.result.error, false, false); }, scope: form, // add some vars to the request, similar to hidden fields params: requestParams }); }"; $copyDialog["buttons"][]=$itemButton; $itemButton=array(); $itemButton["text"]="Cancel"; $itemButton["id"]="buttonCancel"; $itemButton["handler"]= "copyDialogCancelButtonFunction"; $functionsToReplace["copyDialogCancelButtonFunction"]="function() { Ext.getCmp('dialog').destroy(); }"; $copyDialog["buttons"][]=$itemButton; $finalResponse=G::json_encode($copyDialog); foreach ($functionsToReplace as $key => $originalFunction) { $finalResponse=str_replace('"'.$key.'"',$originalFunction,$finalResponse); } $finalResponse=str_replace("URL_SCRIPT","../appFolder/appFolderAjax.php",$finalResponse); echo ($finalResponse); }