/** * Update InputDocument * * @param string $inputDocumentUid Unique id of InputDocument * @param array $arrayData Data * * return array Return data of the InputDocument updated */ public function update($inputDocumentUid, $arrayData) { try { $arrayData = array_change_key_case($arrayData, CASE_UPPER); //Verify data $this->throwExceptionIfNotExistsInputDocument($inputDocumentUid, "", $this->arrayFieldNameForException["inputDocumentUid"]); //Load InputDocument $inputDocument = new \InputDocument(); $arrayInputDocumentData = $inputDocument->load($inputDocumentUid); $processUid = $arrayInputDocumentData["PRO_UID"]; //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, false); if (isset($arrayData["INP_DOC_TITLE"])) { $this->throwExceptionIfExistsTitle($processUid, $arrayData["INP_DOC_TITLE"], $this->arrayFieldNameForException["inputDocumentTitle"], $inputDocumentUid); } //Update $arrayData["INP_DOC_UID"] = $inputDocumentUid; $result = $inputDocument->update($arrayData); \G::LoadClass('pmDynaform'); $pmDynaform = new \pmDynaform(); $pmDynaform->synchronizeInputDocument($processUid, $arrayData); //Return unset($arrayData["INP_DOC_UID"]); if (!$this->formatFieldNameInUppercase) { $arrayData = array_change_key_case($arrayData, CASE_LOWER); } return $arrayData; } catch (\Exception $e) { throw $e; } }
function saveConsolidated($data) { $status = $data['con_status']; $sTasUid = $data['tas_uid']; $sDynUid = $data['dyn_uid']; $sProUid = $data['pro_uid']; $sRepTabUid = $data['rep_uid']; $tableName = $data['table_name']; $title = $data['title']; if ($sRepTabUid != '') { if (!$status) { $oCaseConsolidated = new CaseConsolidatedCore(); $oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid); if (!is_object($oCaseConsolidated) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') { $oCaseConsolidated = new CaseConsolidatedCore(); $oCaseConsolidated->setTasUid($sTasUid); $oCaseConsolidated->setConStatus('INACTIVE'); $oCaseConsolidated->save(); } else { $oCaseConsolidated->delete(); } return 1; } $rptUid = null; $criteria = new Criteria(); $criteria->addSelectColumn(ReportTablePeer::REP_TAB_UID); $criteria->add(ReportTablePeer::REP_TAB_UID, $sRepTabUid); $rsCriteria = ReportTablePeer::doSelectRS($criteria); if ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $rptUid = $row[0]; } $rpts = new ReportTables(); if ($rptUid != null) { $rpts->deleteReportTable($rptUid); } $sClassName = $tableName; $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; @unlink($sPath . $sClassName . '.php'); @unlink($sPath . $sClassName . 'Peer.php'); @unlink($sPath . PATH_SEP . 'map' . PATH_SEP . $sClassName . 'MapBuilder.php'); @unlink($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . '.php'); @unlink($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . 'Peer.php'); $sRepTabUid = ''; } $_POST['form']['PRO_UID'] = $sProUid; $_POST['form']['REP_TAB_UID'] = $sRepTabUid; $_POST['form']['REP_TAB_NAME'] = $tableName; $_POST['form']['REP_TAB_TYPE'] = "NORMAL"; $_POST['form']['REP_TAB_GRID'] = ''; $_POST['form']['REP_TAB_CONNECTION'] = 'wf'; $_POST['form']['REP_TAB_CREATE_DATE'] = date("Y-m-d H:i:s"); $_POST['form']['REP_TAB_STATUS'] = 'ACTIVE'; $_POST['form']['REP_TAB_TITLE'] = $title; $_POST['form']['FIELDS'] = array(); G::LoadClass("reportTables"); $oReportTable = new ReportTable(); $sOldTableName = $_POST['form']['REP_TAB_NAME']; $sOldConnection = $_POST['form']['REP_TAB_CONNECTION']; $oReportTable->create($_POST['form']); $_POST['form']['REP_TAB_UID'] = $oReportTable->getRepTabUid(); $oReportVar = new ReportVar(); $oReportTables = new ReportTables(); $oReportTables->deleteAllReportVars($_POST['form']['REP_TAB_UID']); $aFields = array(); G::LoadClass("pmDynaform"); $pmDyna = new pmDynaform(array()); $pmDyna->fields["CURRENT_DYNAFORM"] = $sDynUid; $dataDyna = $pmDyna->getDynaform(); $json = G::json_decode($dataDyna["DYN_CONTENT"]); $fieldsDyna = $json->items[0]->items; foreach ($fieldsDyna as $value) { foreach ($value as $val) { if (isset($val->type)) { if ($val->type == 'text' || $val->type == 'textarea' || $val->type == 'dropdown' || $val->type == 'checkbox' || $val->type == 'datetime' || $val->type == 'yesno' || $val->type == 'date' || $val->type == 'hidden' || $val->type == 'currency' || $val->type == 'percentage' || $val->type == 'link') { $_POST['form']['FIELDS'][] = $val->name . '-' . $val->type; } } } } $aFieldsClases = array(); $i = 1; $aFieldsClases[$i]['FLD_NAME'] = 'APP_UID'; $aFieldsClases[$i]['FLD_NULL'] = 'off'; $aFieldsClases[$i]['FLD_KEY'] = 'on'; $aFieldsClases[$i]['FLD_AUTO_INCREMENT'] = 'off'; $aFieldsClases[$i]['FLD_DESCRIPTION'] = ''; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR'; $aFieldsClases[$i]['FLD_SIZE'] = 32; $i++; $aFieldsClases[$i]['FLD_NAME'] = 'APP_NUMBER'; $aFieldsClases[$i]['FLD_NULL'] = 'off'; $aFieldsClases[$i]['FLD_KEY'] = 'on'; $aFieldsClases[$i]['FLD_AUTO_INCREMENT'] = 'off'; $aFieldsClases[$i]['FLD_DESCRIPTION'] = ''; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR'; $aFieldsClases[$i]['FLD_SIZE'] = 255; foreach ($_POST['form']['FIELDS'] as $sField) { $aField = explode('-', $sField); if ($aField[1] == 'title' || $aField[1] == 'submit') { continue; } $i++; $aFieldsClases[$i]['FLD_NAME'] = $aField[0]; $aFieldsClases[$i]['FLD_NULL'] = 'off'; $aFieldsClases[$i]['FLD_KEY'] = 'off'; $aFieldsClases[$i]['FLD_AUTO_INCREMENT'] = 'off'; $aFieldsClases[$i]['FLD_DESCRIPTION'] = ''; switch ($aField[1]) { case 'currency': case 'percentage': $sType = 'number'; $aFieldsClases[$i]['FLD_TYPE'] = 'FLOAT'; $aFieldsClases[$i]['FLD_SIZE'] = 255; break; case 'text': case 'password': case 'dropdown': case 'yesno': case 'checkbox': case 'radiogroup': case 'hidden': case "link": $sType = 'char'; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR'; $aFieldsClases[$i]['FLD_SIZE'] = 255; break; case 'textarea': $sType = 'text'; $aFieldsClases[$i]['FLD_TYPE'] = 'TEXT'; $aFieldsClases[$i]['FLD_SIZE'] = ''; break; case 'date': $sType = 'date'; $aFieldsClases[$i]['FLD_TYPE'] = 'DATE'; $aFieldsClases[$i]['FLD_SIZE'] = ''; break; default: $sType = 'char'; $aFieldsClases[$i]['FLD_TYPE'] = 'VARCHAR'; $aFieldsClases[$i]['FLD_SIZE'] = 255; break; } $oReportVar->create(array('REP_TAB_UID' => $_POST['form']['REP_TAB_UID'], 'PRO_UID' => $_POST['form']['PRO_UID'], 'REP_VAR_NAME' => $aField[0], 'REP_VAR_TYPE' => $sType)); $aFields[] = array('sFieldName' => $aField[0], 'sType' => $sType); } $_POST['form']['REP_TAB_TYPE'] = "NORMAL"; $oReportTables->dropTable($sOldTableName, $sOldConnection); $oReportTables->createTable($_POST['form']['REP_TAB_NAME'], $_POST['form']['REP_TAB_CONNECTION'], $_POST['form']['REP_TAB_TYPE'], $aFields); $oReportTables->populateTable($_POST['form']['REP_TAB_NAME'], $_POST['form']['REP_TAB_CONNECTION'], $_POST['form']['REP_TAB_TYPE'], $aFields, $_POST['form']['PRO_UID'], ''); $sRepTabUid = $_POST['form']['REP_TAB_UID']; $oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid); if (!is_object($oCaseConsolidated) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') { $oCaseConsolidated = new CaseConsolidatedCore(); $oCaseConsolidated->setTasUid($sTasUid); } $criteria = new Criteria(); $criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID); $criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid); $rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria); if ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $oCaseConsolidated->delete(); $oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid); } if (!is_object($oCaseConsolidated) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') { $oCaseConsolidated = new CaseConsolidatedCore(); $oCaseConsolidated->setTasUid($sTasUid); } $oCaseConsolidated->setConStatus('ACTIVE'); $oCaseConsolidated->setDynUid($sDynUid); $oCaseConsolidated->setRepTabUid($sRepTabUid); $oCaseConsolidated->save(); $sClassName = $tableName; $oAdditionalTables = new AdditionalTables(); $oAdditionalTables->createPropelClasses($tableName, $sClassName, $aFieldsClases, $sTasUid); }
// $criteria = new Criteria(); $criteria->addSelectColumn(DynaformPeer::DYN_CONTENT); $criteria->addSelectColumn(DynaformPeer::PRO_UID); $criteria->add(DynaformPeer::DYN_UID, G::decrypt($_REQUEST['DYN_UID'], URL_KEY)); $result = DynaformPeer::doSelectRS($criteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); $configuration = $result->getRow(); $action = 'ActionsByEmailDataFormPost.php?APP_UID=' . $_REQUEST['APP_UID'] . '&DEL_INDEX=' . $_REQUEST['DEL_INDEX'] . '&ABER=' . $_REQUEST['ABER']; $record['DYN_CONTENT'] = $configuration['DYN_CONTENT']; $record['PRO_UID'] = $configuration['PRO_UID']; $record['CURRENT_DYNAFORM'] = G::decrypt($_REQUEST['DYN_UID'], URL_KEY); $record['APP_UID'] = $_REQUEST['APP_UID']; $record['DEL_INDEX'] = $_REQUEST['DEL_INDEX']; $record['ABER'] = $_REQUEST['ABER']; if (is_null($caseFields['DEL_FINISH_DATE'])) { $a = new pmDynaform($record); $a->printABE($action,$record); } else { $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showInfo', '', array('MESSAGE' => '<strong>The form has already been filled and sent.</strong>')); } } catch (Exception $error) { $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showInfo', '', array('MESSAGE' => $error->getMessage())); } G::RenderPage('publish', 'blank'); }
* Added By erik * date: 16-05-08 * Description: this was added for the additional database connections */ G::LoadClass( 'dbConnections' ); $oDbConnections = new dbConnections( $_SESSION['PROCESS'] ); $oDbConnections->loadAdditionalConnections(); $G_PUBLISH = new Publisher(); if ($_GET['DYN_UID'] != '') { $_SESSION['CURRENT_DYN_UID'] = $_GET['DYN_UID']; G::LoadClass('pmDynaform'); $FieldsPmDynaform = $Fields; $FieldsPmDynaform["PRO_UID"] = $_SESSION['PROCESS']; $FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID']; $a = new pmDynaform($FieldsPmDynaform); if ($a->isResponsive()) { $a->printView(); }else{ $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] ); } } G::RenderPage( 'publish', 'blank' ); if (! isset( $_GET['ex'] )) { $_GET['ex'] = $_GET['position']; } ?> <script>
$oCase = new Cases(); $Fields = $oCase->loadCase($_SESSION['APPLICATION']); $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#'; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'alert("Sample"); return false;'; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW'] = '#'; $Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PRINT_PREVIEW_ACTION'] = 'tracker_PrintView?CTO_UID_OBJ=' . $_GET['CTO_UID_OBJ'] . '&CTO_TYPE_OBJ=PRINT_PREVIEW'; $_SESSION['CTO_UID_OBJ'] = $_GET['CTO_UID_OBJ']; $dynaForm = new Dynaform(); $arrayDynaFormData = $dynaForm->Load($_GET["CTO_UID_OBJ"]); if (isset($arrayDynaFormData["DYN_VERSION"]) && $arrayDynaFormData["DYN_VERSION"] == 2) { G::LoadClass("pmDynaform"); $Fields["PRO_UID"] = $_SESSION["PROCESS"]; $Fields["CURRENT_DYNAFORM"] = $_GET["CTO_UID_OBJ"]; $pmDynaForm = new pmDynaform($Fields); if ($pmDynaForm->isResponsive()) { $pmDynaForm->printTracker(); } } else { $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent("dynaform", "xmlform", $_SESSION["PROCESS"] . "/" . $_GET["CTO_UID_OBJ"], "", $Fields["APP_DATA"], "", "", "view"); G::RenderPage("publish"); } break; case 'INPUT_DOCUMENT': G::LoadClass('case'); $oCase = new Cases(); $c = $oCase->getAllUploadedDocumentsCriteriaTracker($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_GET['CTO_UID_OBJ']); $oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher->addScriptFile('/jscore/tracker/tracker.js');
/** * @url GET /:prj_uid/dynaform/:dyn_uid/list-language * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} */ public function doGetListDynaFormLanguage($dyn_uid, $prj_uid) { try { \G::LoadClass('pmDynaform'); $pmDynaform = new \pmDynaform(); return $pmDynaform->listLanguage($dyn_uid); } catch (\Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } }
/** * Added By erik 16-05-08 * Description: this was added for the additional database connections */ G::LoadClass( 'dbConnections' ); $oDbConnections = new dbConnections( $_SESSION['PROCESS'] ); $oDbConnections->loadAdditionalConnections(); $_SESSION['CURRENT_DYN_UID'] = $_GET['UID']; G::LoadClass('pmDynaform'); $FieldsPmDynaform = $Fields; $FieldsPmDynaform["PM_RUN_OUTSIDE_MAIN_APP"] = (!isset($_SESSION["PM_RUN_OUTSIDE_MAIN_APP"])) ? "true" : "false"; $FieldsPmDynaform["STEP_MODE"] = $oStep->getStepMode(); $FieldsPmDynaform["PRO_SHOW_MESSAGE"] = $noShowTitle; $FieldsPmDynaform["TRIGGER_DEBUG"] = $_SESSION['TRIGGER_DEBUG']['ISSET']; $a = new pmDynaform($FieldsPmDynaform); if ($a->isResponsive()) { $a->printEdit(); } else { $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['UID'], '', $Fields['APP_DATA'], 'cases_SaveData?UID=' . $_GET['UID'] . '&APP_UID=' . $_SESSION['APPLICATION'], '', (strtolower($oStep->getStepMode()) != 'edit' ? strtolower($oStep->getStepMode()) : '')); } break; case 'INPUT_DOCUMENT': if ($noShowTitle == 0) { $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $array ); } $oInputDocument = new InputDocument(); $Fields = $oInputDocument->load( $_GET['UID'] ); if (! $aPreviousStep) { $Fields['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = ''; $Fields['PREVIOUS_STEP_LABEL'] = '';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#'; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = '#'; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['DYNUIDPRINT'] = $_REQUEST['DYN_UID']; $criteria = new Criteria(); $criteria->addSelectColumn(DynaformPeer::DYN_CONTENT); $criteria->add(DynaformPeer::DYN_UID, $_REQUEST['DYN_UID']); $criteria->add(DynaformPeer::DYN_VERSION, 2); $result = DynaformPeer::doSelectRS($criteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($result->next()) { G::LoadClass('pmDynaform'); G::LoadClass('pmDynaform'); $FieldsPmDynaform = $applicationFields; $FieldsPmDynaform["CURRENT_DYNAFORM"] = $_REQUEST['DYN_UID']; $a = new pmDynaform($FieldsPmDynaform); $a->printView(); } if (file_exists(PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml')) { G::LoadClass('dbConnections'); $_SESSION['PROCESS'] = $applicationFields['PRO_UID']; $dbConnections = new dbConnections($_SESSION['PROCESS']); $dbConnections->loadAdditionalConnections(); $_SESSION['CURRENT_DYN_UID'] = $_REQUEST['DYN_UID']; global $G_PUBLISH; $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('dynaform', 'xmlform', $applicationFields['PRO_UID'] . '/' . $_REQUEST['DYN_UID'], '', $applicationFields['APP_DATA'], '', '', 'view'); G::RenderPage('publish', 'blank'); } else { throw new Exception(G::LoadTranslation('INVALID_FILE') . ': ' . $_REQUEST['DYN_UID']); }
/** * Get all records by execute SQL suggest * * @param string $processUid Unique id of Process * @param string $variableName Variable name * @param array $arrayVariable The variables * * return array Return an array with all records */ public function executeSqlSuggest($processUid, $variableName, array $arrayVariable = array()) { try { $arrayRecord = array(); //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfNotExistsProcess($processUid, strtolower("PRJ_UID")); //Set data \G::LoadClass('pmDynaform'); $pmDynaform = new \pmDynaform(); $field = $pmDynaform->searchField($arrayVariable["dyn_uid"], $variableName); $variableDbConnectionUid = $field !== null ? $field->dbConnection : ""; $variableSql = $field !== null ? $field->sql : ""; //Get data $_SESSION["PROCESS"] = $processUid; $cnn = \Propel::getConnection($variableDbConnectionUid . "" != "" ? $variableDbConnectionUid : "workflow"); $stmt = $cnn->createStatement(); $replaceFields = G::replaceDataField($variableSql, $arrayVariable); $filter = ""; if (isset($arrayVariable["filter"])) { $filter = $arrayVariable["filter"]; } $start = 0; if (isset($arrayVariable["start"])) { $start = $arrayVariable["start"]; } $limit = ""; if (isset($arrayVariable["limit"])) { $limit = $arrayVariable["limit"]; } $parser = new \PHPSQLParser($replaceFields); $filter = str_replace("'", "''", $filter); $replaceFields = $this->queryModified($parser->parsed, $filter, "*searchtype*", $start, $limit); $rs = $stmt->executeQuery($replaceFields, \ResultSet::FETCHMODE_NUM); while ($rs->next()) { $row = $rs->getRow(); $arrayRecord[] = array(strtolower("VALUE") => $row[0], strtolower("TEXT") => isset($row[1]) ? $row[1] : $row[0]); } //Return return $arrayRecord; } catch (\Exception $e) { throw $e; } }
public function dynaformViewFromHistory() { ?> <link rel="stylesheet" type="text/css" href="/css/<?php echo SYS_SKIN; ?> .css" /> <script type="text/javascript"> //!Code that simulated reload library javascript maborak var leimnud = {}; leimnud.exec = ""; leimnud.fix = {}; leimnud.fix.memoryLeak = ""; leimnud.browser = {}; leimnud.browser.isIphone = ""; leimnud.iphone = {}; leimnud.iphone.make = function() { }; function ajax_function(ajax_server, funcion, parameters, method) { } //! </script> <?php global $G_PUBLISH; $_POST["HISTORY_ID"] = $_REQUEST["HISTORY_ID"]; $_POST["DYN_UID"] = $_REQUEST["DYN_UID"]; $G_PUBLISH = new Publisher(); $FieldsHistory = $_SESSION["HISTORY_DATA"]; $Fields["APP_DATA"] = $FieldsHistory[$_POST["HISTORY_ID"]]; //isset($FieldsHistory[$_POST["HISTORY_ID"]])? $FieldsHistory[$_POST["HISTORY_ID"]] : ""; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["PREVIOUS_STEP_LABEL"] = ""; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP_LABEL"] = ""; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_STEP"] = "#"; $Fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["NEXT_ACTION"] = "return false;"; G::LoadClass('pmDynaform'); $FieldsPmDynaform = $Fields; $FieldsPmDynaform["PRO_UID"] = $_SESSION['PROCESS']; $FieldsPmDynaform["CURRENT_DYNAFORM"] = $_REQUEST['DYN_UID']; $a = new pmDynaform($FieldsPmDynaform); if ($a->isResponsive()) { $a->printView(); } else { $G_PUBLISH->AddContent("dynaform", "xmlform", $_SESSION["PROCESS"] . "/" . $_POST["DYN_UID"], "", $Fields["APP_DATA"], "", "", "view"); } ?> <script type="text/javascript"> <?php global $G_FORM; ?> function loadForm_<?php echo $G_FORM->id; ?> (parametro1) { } </script> <?php G::RenderPage("publish", "raw"); ?> <style type="text/css"> html { color: black !important; } body { color: black !important; } </style> <script type="text/javascript"> <?php global $G_FORM; ?> function loadForm_<?php echo $G_FORM->id; ?> (parametro1) { } </script> <?php }
/** * Get all records by execute SQL * * @param string $processUid Unique id of Process * @param string $variableName Variable name * @param array $arrayVariable The variables * * return array Return an array with all records */ public function executeSql($processUid, $variableName, array $arrayVariable = array()) { try { $arrayRecord = array(); //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfNotExistsProcess($processUid, strtolower("PRJ_UID")); //Set data \G::LoadClass('pmDynaform'); $pmDynaform = new \pmDynaform(); $field = $pmDynaform->searchField($arrayVariable["dyn_uid"], $arrayVariable["field_id"]); $variableDbConnectionUid = $field !== null ? $field->dbConnection : ""; $variableSql = $field !== null ? $field->sql : ""; //Get data $_SESSION["PROCESS"] = $processUid; $cnn = \Propel::getConnection(($variableDbConnectionUid . "" != "")? $variableDbConnectionUid : "workflow"); $stmt = $cnn->createStatement(); $replaceFields = G::replaceDataField($variableSql, $arrayVariable); $rs = $stmt->executeQuery($replaceFields, \ResultSet::FETCHMODE_NUM); while ($rs->next()) { $row = $rs->getRow(); $arrayRecord[] = array( strtolower("VALUE") => $row[0], strtolower("TEXT") => isset($row[1]) ? $row[1] : $row[0] ); } //Return return $arrayRecord; } catch (\Exception $e) { throw $e; } }
} else { $sOldTableName = $_POST['form']['REP_TAB_NAME']; $sOldConnection = $_POST['form']['REP_TAB_CONNECTION']; $_POST['form']['REP_TAB_TYPE'] = 'NORMAL'; $oReportTable->create($_POST['form']); $_POST['form']['REP_TAB_UID'] = $oReportTable->getRepTabUid(); } $_POST['form']['REP_TAB_TYPE'] = 'NORMAL'; $oReportTable->update($_POST['form']); $oReportVar = new ReportVar(); $oReportTables = new ReportTables(); $oReportTables->deleteAllReportVars($_POST['form']['REP_TAB_UID']); $aFields = array(); if ($isBPMN) { G::LoadClass("pmDynaform"); $pmDyna = new pmDynaform(array()); $pmDyna->fields["CURRENT_DYNAFORM"] = $sDynUid; $dataDyna = $pmDyna->getDynaform(); $json = G::json_decode($dataDyna["DYN_CONTENT"]); $data = $pmDyna->jsonr($json); G::pr($data); die; } else { $aAux = explode('-', $_POST['form']['REP_TAB_GRID']); global $G_FORM; require_once "classes/class.formBatchRouting.php"; $G_FORM = new FormBatchRouting($_POST["form"]["PRO_UID"] . PATH_SEP . $aAux[1], PATH_DYNAFORM, SYS_LANG, false); $aAux = $G_FORM->getVars(false); foreach ($aAux as $aField) { $_POST['form']['FIELDS'][] = $aField['sName'] . '-' . $aField['sType']; }
/** * Added By erik * date: 16-05-08 * Description: this was added for the additional database connections */ G::LoadClass('dbConnections'); $oDbConnections = new dbConnections($_SESSION['PROCESS']); $oDbConnections->loadAdditionalConnections(); $G_PUBLISH = new Publisher(); if ($_GET['DYN_UID'] != '') { $_SESSION['CURRENT_DYN_UID'] = $_GET['DYN_UID']; G::LoadClass('pmDynaform'); $FieldsPmDynaform = $Fields; $FieldsPmDynaform["PRO_UID"] = $_SESSION['PROCESS']; $FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID']; $a = new pmDynaform($FieldsPmDynaform); if ($a->isResponsive()) { $a->printEditSupervisor(); } else { $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID']); } } G::RenderPage('publish', 'blank'); if (!isset($_GET['ex'])) { $_GET['ex'] = $_GET['position']; } ?> <script> /*------------------------------ To Revise Routines ---------------------------*/ // DEPRECATED this JS section is marked for removal
public function sendActionsByEmail($data) { try { // Validations try { if (!is_object($data)) { throw new Exception('The parameter $data is null.'); } if (!isset($data->TAS_UID)) { throw new Exception('The parameter $data->TAS_UID is null.'); } if (!isset($data->APP_UID)) { throw new Exception('The parameter $data->APP_UID is null.'); } if (!isset($data->DEL_INDEX)) { throw new Exception('The parameter $data->DEL_INDEX is null.'); } if (!isset($data->USR_UID)) { throw new Exception('The parameter $data->USR_UID is null.'); } if ($data->TAS_UID == '') { throw new Exception('The parameter $data->TAS_UID is empty.'); } if ($data->APP_UID == '') { throw new Exception('The parameter $data->APP_UID is empty.'); } if ($data->DEL_INDEX == '') { throw new Exception('The parameter $data->DEL_INDEX is empty.'); } if ($data->USR_UID == '') { throw new Exception('The parameter $data->USR_UID is empty.'); } } catch(Exception $e) { echo $e->getMessage().' Please contact to your system administrator.'; die; } G::LoadClass('pmFunctions'); $emailSetup = getEmailConfiguration(); if (!empty($emailSetup)) { require_once 'classes/model/AbeConfiguration.php'; G::LoadClass('case'); $cases = new Cases(); $caseFields = $cases->loadCase($data->APP_UID); $criteria = new Criteria(); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID); $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_TYPE); $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_TEMPLATE); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_DYN_TYPE); $criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_EMAIL_FIELD); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_SUBJECT_FIELD); $criteria->addSelectColumn(DynaformPeer::DYN_CONTENT); $criteria->addJoin( AbeConfigurationPeer::DYN_UID, DynaformPeer::DYN_UID, Criteria::LEFT_JOIN ); $criteria->add(AbeConfigurationPeer::PRO_UID, $caseFields['PRO_UID']); $criteria->add(AbeConfigurationPeer::TAS_UID, $data->TAS_UID); $result = AbeConfigurationPeer::doSelectRS($criteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); if ($configuration = $result->getRow()) { $configuration['ABE_EMAIL_FIELD'] = str_replace('@@', '', $configuration['ABE_EMAIL_FIELD']); if ($configuration['ABE_EMAIL_FIELD'] != '' && isset($caseFields['APP_DATA'][$configuration['ABE_EMAIL_FIELD']])) { $email = trim($caseFields['APP_DATA'][$configuration['ABE_EMAIL_FIELD']]); } else { require_once 'classes/model/Users.php'; $userInstance = new Users(); $userInfo = $userInstance->getAllInformation($data->USR_UID); $email = $userInfo['mail']; } if ($email != '') { $subject = G::replaceDataField( $configuration['ABE_SUBJECT_FIELD'], $caseFields['APP_DATA'] ); if($subject == ''){ $subject = $caseFields['APP_TITLE']; } // Create require_once 'classes/model/AbeRequests.php'; $abeRequest = array(); $abeRequest['ABE_REQ_UID'] = ''; $abeRequest['ABE_UID'] = $configuration['ABE_UID']; $abeRequest['APP_UID'] = $data->APP_UID; $abeRequest['DEL_INDEX'] = $data->DEL_INDEX; $abeRequest['ABE_REQ_SENT_TO'] = $email; $abeRequest['ABE_REQ_SUBJECT'] = $subject; $abeRequest['ABE_REQ_BODY'] = ''; $abeRequest['ABE_REQ_ANSWERED'] = 0; $abeRequest['ABE_REQ_STATUS'] = 'PENDING'; try { $abeRequestsInstance = new AbeRequests(); $abeRequest['ABE_REQ_UID'] = $abeRequestsInstance->createOrUpdate($abeRequest); } catch (Exception $error) { throw $error; } if ($configuration['ABE_TYPE'] != '') { // Email $_SESSION['CURRENT_DYN_UID'] = $configuration['DYN_UID']; $scriptCode = ''; // foreach ($dynaform->fields as $fieldName => $field) { // if ($field->type == 'submit') { // unset($dynaform->fields[$fieldName]); // } // } $__ABE__ = ''; $link = (G::is_https() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/ActionsByEmail'; switch ($configuration['ABE_TYPE']) { case 'LINK': // $__ABE__ .= $dynaform->render(PATH_FEATURES . 'actionsByEmail/xmlform.html', $scriptCode) . '<br />'; $__ABE__ .= '<a href="' . $link . 'DataForm?APP_UID=' . G::encrypt($data->APP_UID, URL_KEY) . '&DEL_INDEX=' . G::encrypt($data->DEL_INDEX, URL_KEY) . '&DYN_UID=' . G::encrypt($configuration['DYN_UID'], URL_KEY) . '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY) . '" target="_blank">Please complete this form</a>'; break; // coment case 'FIELD': $variableService = new \ProcessMaker\Services\Api\Project\Variable(); $variables = $variableService->doGetVariables($caseFields['PRO_UID']); $field = new stdClass(); $field->label = 'Test'; $field->type = 'dropdown'; $field->options = array(); $actionField = str_replace('@@', '', $configuration['ABE_ACTION_FIELD']); $dynaform = $configuration['DYN_UID']; $variables = G::json_decode($configuration['DYN_CONTENT'], true); if(isset($variables['items'][0]['items'])){ $fields = $variables['items'][0]['items']; foreach ($fields as $key => $value) { foreach($value as $var){ G::pr($var); if(isset($var['variable'])){ if ($var['variable'] == $actionField) { $field->label = $var['label']; $field->type = $var['type']; $values = $var['options']; foreach ($values as $val){ $field->options[$val['value']] = $val['value']; } } } } } } G::LoadClass('pmDynaform'); $obj = new pmDynaform($configuration['DYN_UID']); $configuration['CURRENT_DYNAFORM'] = $configuration['DYN_UID']; $file = $obj->printPmDynaformAbe($configuration); $__ABE__ .= $file; $__ABE__ .= '<strong>' . $field->label . '</strong><br /><table align="left" border="0"><tr>'; switch ($field->type) { case 'dropdown': case 'radiogroup': $index = 1; $__ABE__.='<br /><td><table align="left" cellpadding="2"><tr>'; foreach ($field->options as $optValue => $optName) { $__ABE__ .= '<td align="center"><a style="text-decoration: none; color: #000; background-color: #E5E5E5; '; $__ABE__ .= 'filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFEFEF, endColorstr=#BCBCBC); '; $__ABE__ .= 'background-image: -webkit-gradient(linear, left top, left bottom, from(#EFEFEF), #BCBCBC); '; $__ABE__ .= 'background-image: -webkit-linear-gradient(top, #EFEFEF, #BCBCBC); '; $__ABE__ .= 'background-image: -moz-linear-gradient(top, #EFEFEF, #BCBCBC); background-image: -ms-linear-gradient(top, #EFEFEF, #BCBCBC); '; $__ABE__ .= 'background-image: -o-linear-gradient(top, #EFEFEF, #BCBCBC); border: 1px solid #AAAAAA; '; $__ABE__ .= 'border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); '; $__ABE__ .= 'font-family: Arial,serif; font-size: 9pt; font-weight: 400; line-height: 14px; margin: 2px 0; padding: 2px 7px; '; $__ABE__ .= 'text-decoration: none; text-transform: capitalize;" href="' .urldecode(urlencode($link)). '?ACTION='.G::encrypt('processABE', URL_KEY).'&APP_UID='; $__ABE__ .= G::encrypt($data->APP_UID, URL_KEY) . '&DEL_INDEX=' . G::encrypt($data->DEL_INDEX, URL_KEY); $__ABE__ .= '&FIELD=' . G::encrypt($actionField, URL_KEY) . '&VALUE=' . G::encrypt($optValue, URL_KEY); $__ABE__ .= '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY) . '" target="_blank" >' . $optName; $__ABE__ .= '</a></td>' . (($index % 5 == 0) ? '</tr><tr>' : ' '); $index++; } $__ABE__.='</tr></table></td>'; break; case 'yesno': $__ABE__ .= '<td align="center"><a href="' . $link . 'dataField?APP_UID=' . urlencode(G::encrypt($data->APP_UID, URL_KEY)) . '&DEL_INDEX=' . urlencode(G::encrypt($data->DEL_INDEX, URL_KEY)). '&FIELD=' . urlencode(G::encrypt($actionField, URL_KEY)) . '&VALUE=' . urlencode(G::encrypt(1, URL_KEY)) . '&ABER=' . urlencode(G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY)) . '" target="_blank">' . G::LoadTranslation('ID_YES_VALUE') . '</a></td>'; $__ABE__ .= '<td align="center"><a href="' . $link . 'dataField?APP_UID=' . urlencode(G::encrypt($data->APP_UID, URL_KEY)) . '&DEL_INDEX=' . urlencode(G::encrypt($data->DEL_INDEX, URL_KEY)) . '&FIELD=' . urlencode(G::encrypt($actionField, URL_KEY)) . '&VALUE=' . urlencode(G::encrypt(0, URL_KEY)) . '&ABER=' . urlencode(G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY)) . '" target="_blank">' . G::LoadTranslation('ID_NO_VALUE') . '</a></td>'; break; case 'checkbox': $__ABE__ .= '<td align="center"><a href="' . $link . 'dataField?APP_UID=' . G::encrypt($data->APP_UID, URL_KEY) . '&DEL_INDEX=' . G::encrypt($data->DEL_INDEX, URL_KEY) . '&FIELD=' . G::encrypt($actionField, URL_KEY) . '&VALUE=' . G::encrypt($field->value, URL_KEY) . '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY) . '" target="_blank">Check</a></td>'; $__ABE__ .= '<td align="center"><a href="' . $link . 'dataField?APP_UID=' . G::encrypt($data->APP_UID, URL_KEY) . '&DEL_INDEX=' . G::encrypt($data->DEL_INDEX, URL_KEY) . '&FIELD=' . G::encrypt($actionField, URL_KEY) . '&VALUE=' . G::encrypt($field->value, URL_KEY) . '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY) . '" target="_blank">Uncheck</a></td>'; break; } $__ABE__ .= '</tr></table>'; break; } $__ABE__ = preg_replace('/\<img src=\"\/js\/maborak\/core\/images\/(.+?)\>/', '' , $__ABE__); $__ABE__ = preg_replace('/\<input\b[^>]*\/>/', '' , $__ABE__); $__ABE__ = preg_replace('/<select\b[^>]*>(.*?)<\/select>/is', "", $__ABE__); $__ABE__ = preg_replace('/align=\"center\"/', '' , $__ABE__); $__ABE__ = preg_replace('/class="tableGrid_view" /', 'class="tableGrid_view" width="100%" ', $__ABE__); $caseFields['APP_DATA']['__ABE__'] = $__ABE__; G::LoadClass("Users"); $user = new Users(); $userDetails = $user->loadDetails($data->PREVIOUS_USR_UID); $emailFrom = $userDetails["USR_EMAIL"]; G::LoadClass('wsBase'); $wsBaseInstance = new wsBase(); $result = $wsBaseInstance->sendMessage($data->APP_UID, $emailFrom, $email, '', '', $subject, $configuration['ABE_TEMPLATE'], $caseFields['APP_DATA'], ''); $abeRequest['ABE_REQ_STATUS'] = ($result->status_code == 0 ? 'SENT' : 'ERROR'); $body = ''; $messageSent = executeQuery('SELECT `APP_MSG_BODY` FROM `APP_MESSAGE` ORDER BY `APP_MSG_SEND_DATE` DESC LIMIT 1'); if (!empty($messageSent) && is_array($messageSent)) { $body = $messageSent[1]['APP_MSG_BODY']; } $abeRequest['ABE_REQ_BODY'] = $body; // Update try { $abeRequestsInstance = new AbeRequests(); $abeRequestsInstance->createOrUpdate($abeRequest); } catch (Exception $error) { throw $error; } } } } } } catch (Exception $error) { throw $error; } }
/** * Get Data Generate * * @access public * @param string $pro_uid, Process Uid * @param string $tas_uid, Task Uid * @param string $dyn_uid, Dynaform Uid * @return string * * @author Brayan Pereyra (Cochalo) <*****@*****.**> * @copyright Colosa - Bolivia */ public function getDataGenerate($pro_uid, $tas_uid, $dyn_uid) { G::LoadClass ('case'); G::LoadClass ('pmFunctions'); G::LoadClass ("configuration"); $hasTextArea = false; $conf = new \Configurations(); $generalConfCasesList = $conf->getConfiguration("ENVIRONMENT_SETTINGS", ""); if (isset($generalConfCasesList["casesListDateFormat"]) && !empty($generalConfCasesList["casesListDateFormat"])) { $dateFormat = $generalConfCasesList["casesListDateFormat"]; } else { $dateFormat = "Y/m/d"; } $oDyna = new \Dynaform(); $dataTask = $oDyna->load($dyn_uid); if ($dataTask['DYN_VERSION'] > 0) { G::LoadClass("pmDynaform"); $pmDyna = new \pmDynaform(array('APP_DATA' => array())); $pmDyna->fields["CURRENT_DYNAFORM"] = $dyn_uid; $json = G::json_decode($dataTask["DYN_CONTENT"]); $pmDyna->jsonr($json); $fieldsDyna = $json->items[0]->items; $xmlfrm = new \stdclass(); $xmlfrm->fields = array(); foreach ($fieldsDyna as $key => $value) { if ($value[0]->type == 'title' || $value[0]->type == 'submit') { continue; } $temp = new \stdclass(); $temp->type = $value[0]->type; $temp->label = $value[0]->label; $temp->name = $value[0]->name; $temp->required = (isset($value[0]->required)) ? $value[0]->required : 0; $temp->mode = (isset($value[0]->mode)) ? $value[0]->mode : 'edit'; if (!empty($value[0]->options)) { $temp->storeData = '['; foreach ($value[0]->options as $valueOption) { $temp->storeData .= '["' . $valueOption['value'] . '", "' . $valueOption['label'] . '"],'; } $temp->storeData = substr($temp->storeData,0,-1); $temp->storeData .= ']'; } $temp->readOnly = ($temp->mode == 'view') ? "1" : "0"; $temp->colWidth = 200; $xmlfrm->fields[] = $temp; } } else { $filename = $pro_uid . PATH_SEP . $dyn_uid . ".xml"; if (!class_exists('Smarty')) { require_once(PATH_THIRDPARTY . 'smarty' . PATH_SEP . 'libs' . PATH_SEP . 'Smarty.class.php'); } $xmlfrm = new \XmlForm(); $xmlfrm->home = PATH_DYNAFORM; $xmlfrm->parseFile($filename, SYS_LANG, true); } $caseColumns = array(); $caseReaderFields = array(); $dropList = array(); $comboBoxYesNoList = array(); $caseColumns[] = array("header" => "APP_UID", "dataIndex" => "APP_UID", "width" => 100, "hidden" => true, "hideable" => false); $caseColumns[] = array("header" => "#", "dataIndex" => "APP_NUMBER", "width" => 40, "sortable" => true); $caseColumns[] = array("header" => G::LoadTranslation("ID_TITLE"), "dataIndex" => "APP_TITLE", "width" => 180, "renderer" => "renderTitle", "sortable" => true); $caseColumns[] = array("header" => G::LoadTranslation("ID_SUMMARY"), "width" => 60, "renderer" => "renderSummary", "align" => "center"); $caseColumns[] = array("header" => "DEL_INDEX", "dataIndex" => "DEL_INDEX", "width" => 100, "hidden" => true, "hideable" => false); $caseReaderFields[] = array("name" => "APP_UID"); $caseReaderFields[] = array("name" => "APP_NUMBER"); $caseReaderFields[] = array("name" => "APP_TITLE"); $caseReaderFields[] = array("name" => "DEL_INDEX"); //$caseColumns[] = array("header" => "FLAG", "dataIndex" => "FLAG", "width" => 55, "xtype"=>"checkcolumn"); //$caseReaderFields[] = array("name" => "FLAG", "type"=>"bool"); foreach ($xmlfrm->fields as $index => $value) { $field = $value; $editor = null; $renderer = null; $readOnly = (isset($field->readOnly))? $field->readOnly : null; $required = (isset($field->required))? $field->required : null; $validate = (isset($field->validate))? strtolower($field->validate) : null; $fieldReadOnly = ($readOnly . "" == "1")? "readOnly: true," : null; $fieldRequired = ($required . "" == "1")? "allowBlank: false," : null; $fieldValidate = ($validate == "alpha" || $validate == "alphanum" || $validate == "email" || $validate == "int" || $validate == "real")? "vtype: \"$validate\"," : null; $fieldLabel = (($fieldRequired != null)? "<span style='color: red;'>*</span> ": null) . $field->label; $fieldDisabled = ($field->mode != "edit")? "true" : "false"; switch ($field->type) { case "dropdown": $dropList[] = $field->name; $align = "left"; if (empty($field->storeData)) { $editor = "* new Ext.form.ComboBox({ id: \"cbo" . $field->name . "_" . $pro_uid . "\", valueField: 'value', displayField: 'text', /*store: comboStore,*/ store: new Ext.data.JsonStore({ storeId: \"store" . $field->name . "_" . $pro_uid . "\", proxy: new Ext.data.HttpProxy({ url: 'proxyDataCombobox' }), root: 'records', fields: [{name: 'value'}, {name: 'text'} ] }), triggerAction: 'all', mode: 'local', editable: false, disabled: $fieldDisabled, lazyRender: false, $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; } else { $editor = "* new Ext.form.ComboBox({ id: \"cbo" . $field->name . "_" . $pro_uid . "\", typeAhead: true, autocomplete:true, editable:false, lazyRender:true, mode:'local', triggerAction:'all', forceSelection:true, valueField: 'value', displayField: 'text', store:new Ext.data.SimpleStore({ fields: [{name: 'value'}, {name: 'text'}], data: " . htmlspecialchars_decode($field->storeData) . ", sortInfo:{field:'text',direction:'ASC'} }), $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; } $editor = eregi_replace("[\n|\r|\n\r]", ' ', $editor); $width = $field->colWidth; $caseColumns[] = array("xtype" => "combocolumn", "gridId" => "gridId", "header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "frame" => "true", "clicksToEdit" => "1"); $caseReaderFields[] = array("name" => $field->name); break; case "date": //minValue: '01/01/06', //disabledDays: [0, 6], //disabledDaysText: 'Plants are not available on the weekends' $align = "center"; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $editor = "* new Ext.form.DateField({ format: \"$dateFormat\", $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; //$renderer = "* formatDate *"; $renderer = "* function (value){ return Ext.isDate(value)? value.dateFormat('{$dateFormat}') : value; } *"; if ($field->mode != "edit") { $editor = null; } $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "editor" => $editor, "renderer" => $renderer, "frame" => true, "clicksToEdit" => 1, "sortable" => true); $caseReaderFields[] = array("name" => $field->name, "type" => "date"); break; case "currency": //align: 'right', //renderer: 'usMoney', //allowBlank: false, //allowNegative: false, $align = 'right'; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $editor = "* new Ext.form.NumberField({ maxValue: 1000000, allowDecimals: true, allowNegative: true, $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; if ($field->mode != "edit") { $editor = null; } $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "frame" => true, "clicksToEdit" => 1, "sortable" => true); $caseReaderFields[] = array("name" => $field->name); break; case "percentage": $align = 'right'; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $editor = "* new Ext.form.NumberField({ maxValue: 100, allowDecimals: true, $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; $renderer = "* function (value){ return (value + ' %'); } *"; if ($field->mode != "edit") { $editor = null; } $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "renderer" => $renderer, "frame" => true, "clicksToEdit" => 1, "sortable" => true); $caseReaderFields[] = array("name" => $field->name); break; case "textarea": $align = 'left'; $size = 200; if (isset($field->size)) { $size = $field->size * 15; } $width = $size; $editor = "* new Ext.form.TextArea({ growMin: 60, growMax: 1000, grow: true, autoHeight: true, disabled: $fieldDisabled, enterIsSpecial: false, preventScrollbars: false, $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; $renderer = "* function (value) { return (value); } *"; $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "renderer" => $renderer, "frame" => true, "clicksToEdit" => 1, "sortable" => true); $caseReaderFields[] = array("name" => $field->name); $hasTextArea = true; break; case "link": $align = 'center'; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $editor = null; $renderer = "* function (value) { return linkRenderer(value); } *"; $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "renderer" => $renderer, "frame" => true, "hidden" => false, "hideable" => false, "clicksToEdit" => 1, "sortable" => true); $caseReaderFields[] = array("name" => $field->name); break; case "hidden": $align = 'left'; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $editor = "* new Ext.form.TextField({ allowBlank: false }) *"; $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)$width, "align" => $align, "editor" => $editor, "frame" => "true", "hidden" => "true", "hideable" => false, "clicksToEdit" => "1"); $caseReaderFields[] = array("name" => $field->name); break; case "yesno": $align = "right"; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $dropList[] = $field->name; $comboBoxYesNoList[] = $field->name; $editor="* new Ext.form.ComboBox({ id: \"cbo" . $field->name . "_" . $pro_uid . "\", valueField: 'value', displayField: 'text', store: new Ext.data.ArrayStore({ storeId: \"store" . $field->name . "_" . $pro_uid . "\", fields: ['value', 'text'], data: [[1, 'YES'], [0, 'NO'] ] }), typeAhead: true, triggerAction: 'all', mode: 'local', editable: false, disabled : $fieldDisabled, lazyRender: true, $fieldReadOnly $fieldRequired $fieldValidate cls: \"\" }) *"; /* $renderer = "* function(value) { idx = this.editor.store.find(this.editor.valueField, value); if (currentFieldEdited == '{$field->name}') { if (rec = this.editor.store.getAt(idx)) { rowLabels['{$field->name}'] = rec.get(this.editor.displayField); return rec.get(this.editor.displayField); } else { return value; } } else { if (typeof(currentFieldEdited) == 'undefined') { return value; } else { return (rowLabels['{$field->name}']); } } } *"; */ //$caseColumns[] = array('header' => $fieldLabel, 'dataIndex' => $field->name, 'width' => (int)$width, 'align' => $align, 'editor' => $editor, 'renderer' => $renderer, 'frame' => 'true', 'clicksToEdit' => '1'); $caseColumns[] = array("xtype" => "combocolumn", "gridId" => "gridId", "header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "frame" => "true", "clicksToEdit" => "1"); $caseReaderFields[] = array("name" => $field->name); break; case "text": default: $align = "left"; $size = 100; if (isset($field->size)) { $size = $field->size * 10; } $width = $size; $editor = "* new Ext.form.TextField({ $fieldReadOnly $fieldRequired $fieldValidate cls: \"\"}) *"; if ($field->mode != "edit" && $field->mode != "parent") { $editor = null; } $caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "align" => $align, "editor" => $editor, "frame" => true, "clicksToEdit" => 1, "sortable" => true); $caseReaderFields[] = array("name" => $field->name); } } @unlink(PATH_C . "ws" . PATH_SEP . SYS_SYS . PATH_SEP . "xmlform" . PATH_SEP . $pro_uid . PATH_SEP . $dyn_uid . "." . SYS_LANG); $array ['columnModel'] = $caseColumns; $array ['readerFields'] = $caseReaderFields; $array ["dropList"] = $dropList; $array ["comboBoxYesNoList"] = $comboBoxYesNoList; $array ['hasTextArea'] = $hasTextArea; $temp = G::json_encode($array); //$temp = str_replace("***","'",$temp); $temp = str_replace('"*','', $temp); $temp = str_replace('*"','', $temp); $temp = str_replace('\t','', $temp); $temp = str_replace('\n','', $temp); $temp = str_replace('\/','/', $temp); $temp = str_replace('\"','"', $temp); $temp = str_replace('"checkcolumn"','\'checkcolumn\'',$temp); print $temp; die(); }
/** * @url POST /project/:prj_uid/dynaforms * * @param string $prj_uid {@min 32}{@max 32} * */ public function doGetDynaFormsId($prj_uid, $request_data) { try { $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); $dynaForm->setFormatFieldNameInUppercase(false); \G::LoadClass("pmDynaform"); $pmDynaForm = new \pmDynaform(); $_SESSION['PROCESS'] = $prj_uid; $return = array(); foreach ($request_data['formId'] as $dyn_uid) { $response = $dynaForm->getDynaForm($dyn_uid); $result = $this->parserDataDynaForm($response); $result['formContent'] = (isset($result['formContent']) && $result['formContent'] != null)?json_decode($result['formContent']):""; $pmDynaForm->jsonr($result['formContent']); $return[] = $result; } } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } return $return; }
<?php $DYN_UID = $_GET["dyn_uid"]; $_SESSION['PROCESS'] = $_GET["prj_uid"]; G::LoadClass('pmDynaform'); $a = new pmDynaform(array("CURRENT_DYNAFORM" => $DYN_UID)); $a->lang = null; $a->printPmDynaform();