diff --git a/workflow/engine/methods/services/upload.php b/workflow/engine/methods/services/upload.php index 63c85e798..39811031a 100644 --- a/workflow/engine/methods/services/upload.php +++ b/workflow/engine/methods/services/upload.php @@ -1,38 +1,12 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ use ProcessMaker\Plugins\PluginRegistry; /** - * @Updated Dec 14, 2009 by Erik - * * The point of this application is upload the file and create the input document record - * * if the post attached file has error code 0 continue in other case nothing to do. */ - -if (isset( $_FILES ) && $_FILES["ATTACH_FILE"]["error"] == 0) { +if (isset($_FILES) && $_FILES["ATTACH_FILE"]["error"] == 0) { try { $application = new Application(); if (!$application->exists($_POST["APPLICATION"])) { @@ -42,23 +16,23 @@ if (isset( $_FILES ) && $_FILES["ATTACH_FILE"]["error"] == 0) { $folderId = ""; $fileTags = ""; - if (isset( $_POST["DOC_UID"] ) && $_POST["DOC_UID"] != - 1) { + if (isset($_POST["DOC_UID"]) && $_POST["DOC_UID"] != - 1) { //The document is of an Specific Input Document. Get path and Tag information - require_once ("classes/model/AppFolder.php"); - require_once ("classes/model/InputDocument.php"); + require_once("classes/model/AppFolder.php"); + require_once("classes/model/InputDocument.php"); $oInputDocument = new InputDocument(); - $aID = $oInputDocument->load( $_POST["DOC_UID"] ); + $aID = $oInputDocument->load($_POST["DOC_UID"]); //Get the Custom Folder ID (create if necessary) $oFolder = new AppFolder(); - $folderId = $oFolder->createFromPath( $aID["INP_DOC_DESTINATION_PATH"], $_POST["APPLICATION"] ); + $folderId = $oFolder->createFromPath($aID["INP_DOC_DESTINATION_PATH"], $_POST["APPLICATION"]); //Tags - $fileTags = $oFolder->parseTags( $aID["INP_DOC_TAGS"], $_POST["APPLICATION"] ); + $fileTags = $oFolder->parseTags($aID["INP_DOC_TAGS"], $_POST["APPLICATION"]); } - $oAppDocument = new AppDocument(); + $appDocument = new AppDocument(); if (isset($_POST["APP_DOC_UID"]) && trim($_POST["APP_DOC_UID"]) != "") { //Update @@ -112,62 +86,62 @@ if (isset( $_FILES ) && $_FILES["ATTACH_FILE"]["error"] == 0) { ); } - $oAppDocument->create( $aFields ); + $appDocument->create($aFields); - $sAppUid = $oAppDocument->getAppUid(); - $sAppDocUid = $oAppDocument->getAppDocUid(); - $iDocVersion = $oAppDocument->getDocVersion(); - $info = pathinfo( $oAppDocument->getAppDocFilename() ); - $ext = (isset( $info["extension"] )) ? $info["extension"] : ""; + $sAppUid = $appDocument->getAppUid(); + $sAppDocUid = $appDocument->getAppDocUid(); + $iDocVersion = $appDocument->getDocVersion(); + $info = pathinfo($appDocument->getAppDocFilename()); + $ext = (isset($info["extension"])) ? $info["extension"] : ""; //Save the file echo $sPathName = PATH_DOCUMENT . G::getPathFromUID($sAppUid) . PATH_SEP; echo $sFileName = $sAppDocUid . "_" . $iDocVersion . "." . $ext; - print G::uploadFile( $_FILES["ATTACH_FILE"]["tmp_name"], $sPathName, $sFileName ); - print ("* The file " . $_FILES["ATTACH_FILE"]["name"] . " was uploaded successfully in case " . $sAppUid . " as input document..\n") ; + print G::uploadFile($_FILES["ATTACH_FILE"]["tmp_name"], $sPathName, $sFileName); + print("* The file " . $_FILES["ATTACH_FILE"]["name"] . " was uploaded successfully in case " . $sAppUid . " as input document..\n"); - //Get current Application Fields - $appFields = $application->Load( $_POST["APPLICATION"] ); - $appFields = unserialize( $appFields["APP_DATA"] ); - - $_SESSION["APPLICATION"] = $appFields["APPLICATION"]; - $_SESSION["PROCESS"] = $appFields["PROCESS"]; - $_SESSION["TASK"] = $appFields["TASK"]; - $_SESSION["INDEX"] = $appFields["INDEX"]; - $_SESSION["USER_LOGGED"] = $appFields["USER_LOGGED"]; //$_POST["USR_UID"] - //$_SESSION["USR_USERNAME"] = $appFields["USR_USERNAME"]; - //$_SESSION["STEP_POSITION"] = 0; + //set variable for APP_DOC_UID + $appUid = $_POST['APPLICATION']; + $case = new Cases(); + $fields = $case->loadCase($appUid); + $fields['APP_DATA'][$appDocument->getAppDocFieldname()] = G::json_encode([$appDocument->getAppDocUid()]); + $fields['APP_DATA'][$appDocument->getAppDocFieldname() . '_label'] = G::json_encode([$appDocument->getAppDocFilename()]); + $case->updateCase($appUid, $fields); + $_SESSION["APPLICATION"] = $fields['APP_DATA']["APPLICATION"]; + $_SESSION["PROCESS"] = $fields['APP_DATA']["PROCESS"]; + $_SESSION["TASK"] = $fields['APP_DATA']["TASK"]; + $_SESSION["INDEX"] = $fields['APP_DATA']["INDEX"]; + $_SESSION["USER_LOGGED"] = $fields['APP_DATA']["USER_LOGGED"]; //Plugin Hook PM_UPLOAD_DOCUMENT for upload document $oPluginRegistry = PluginRegistry::loadSingleton(); - if ($oPluginRegistry->existsTrigger( PM_UPLOAD_DOCUMENT ) && class_exists( "uploadDocumentData" )) { - $triggerDetail = $oPluginRegistry->getTriggerInfo( PM_UPLOAD_DOCUMENT ); - $documentData = new uploadDocumentData( $_POST["APPLICATION"], $_POST["USR_UID"], $sPathName . $sFileName, $aFields["APP_DOC_FILENAME"], $sAppDocUid, $iDocVersion ); - $uploadReturn = $oPluginRegistry->executeTriggers( PM_UPLOAD_DOCUMENT, $documentData ); + if ($oPluginRegistry->existsTrigger(PM_UPLOAD_DOCUMENT) && class_exists("uploadDocumentData")) { + $triggerDetail = $oPluginRegistry->getTriggerInfo(PM_UPLOAD_DOCUMENT); + $documentData = new uploadDocumentData($_POST["APPLICATION"], $_POST["USR_UID"], $sPathName . $sFileName, $aFields["APP_DOC_FILENAME"], $sAppDocUid, $iDocVersion); + $uploadReturn = $oPluginRegistry->executeTriggers(PM_UPLOAD_DOCUMENT, $documentData); if ($uploadReturn) { $aFields["APP_DOC_PLUGIN"] = $triggerDetail->getNamespace(); - if (! isset( $aFields["APP_DOC_UID"] )) { + if (!isset($aFields["APP_DOC_UID"])) { $aFields["APP_DOC_UID"] = $sAppDocUid; } - if (! isset( $aFields["DOC_VERSION"] )) { + if (!isset($aFields["DOC_VERSION"])) { $aFields["DOC_VERSION"] = $iDocVersion; } - $oAppDocument->update( $aFields ); + $appDocument->update($aFields); - unlink( $sPathName . $sFileName ); + unlink($sPathName . $sFileName); } } //End plugin } catch (Exception $e) { $token = strtotime("now"); PMException::registerErrorLog($e, $token); - G::outRes( G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)) ); + G::outRes(G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token))); } } -