/** * verify if process variable row specified in [sUid] exists. * * @param string $sUid the uid */ public function ProcessVariableExists($sUid) { $con = Propel::getConnection(ProcessVariablesPeer::DATABASE_NAME); try { $oObj = ProcessVariablesPeer::retrieveByPk($sUid); if (is_object($oObj) && get_class($oObj) == 'ProcessVariables') { return true; } else { return false; } } catch (Exception $oError) { throw $oError; } }
/** * Get "Process Variables" records of a Process Variables * * @param string $processUid Unique id of Process * * return array Return an array with all "Process Variables" */ public function getProcessVariables ($sProUid) { try { $aVars = array (); $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( ProcessVariablesPeer::PRJ_UID, $sProUid ); $oDataset = ProcessVariablesPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aVars[] = $aRow; $oDataset->next(); } return $aVars; } catch (Exception $oError) { throw $oError; } }
public function _getDynafields ($proUid, $type = 'xmlform', $start = null, $limit = null, $filter = null) { $cache = 1; if (! isset( $_SESSION['_cache_pmtables'] ) || (isset( $_SESSION['_cache_pmtables'] ) && $_SESSION['_cache_pmtables']['pro_uid'] != $proUid) || (isset( $_SESSION['_cache_pmtables'] ) && $_SESSION['_cache_pmtables']['dyn_uid'] != $this->dynUid)) { require_once 'classes/model/Dynaform.php'; $cache = 0; $fields = array (); $fieldsNames = array (); $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( DynaformPeer::DYN_FILENAME ); $oCriteria->add( DynaformPeer::PRO_UID, $proUid ); $oCriteria->add( DynaformPeer::DYN_TYPE, $type ); if (isset( $this->dynUid )) { $oCriteria->add( DynaformPeer::DYN_UID, $this->dynUid ); } $oDataset = DynaformPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript', '' ); $labelFieldsTypeList = array ('dropdown','radiogroup'); G::loadSystem( 'dynaformhandler' ); $index = 0; while ($aRow = $oDataset->getRow()) { if (file_exists( PATH_DYNAFORM . PATH_SEP . $aRow['DYN_FILENAME'] . '.xml' )) { $dynaformHandler = new dynaformHandler( PATH_DYNAFORM . $aRow['DYN_FILENAME'] . '.xml' ); $nodeFieldsList = $dynaformHandler->getFields(); foreach ($nodeFieldsList as $node) { $arrayNode = $dynaformHandler->getArray( $node ); $fieldName = $arrayNode['__nodeName__']; $fieldType = isset($arrayNode['type']) ? $arrayNode['type']: ''; $fieldValidate = ( isset($arrayNode['validate'])) ? $arrayNode['validate'] : ''; if (! in_array( $fieldType, $excludeFieldsList ) && ! in_array( $fieldName, $fieldsNames ) ) { $fields[] = array ( 'FIELD_UID' => $fieldName . '-' . $fieldType, 'FIELD_NAME' => $fieldName, 'FIELD_VALIDATE'=>$fieldValidate, '_index' => $index ++, '_isset' => true ); $fieldsNames[] = $fieldName; if (in_array( $fieldType, $labelFieldsTypeList ) && ! in_array( $fieldName . '_label', $fieldsNames )) { $fields[] = array ( 'FIELD_UID' => $fieldName . '_label' . '-' . $fieldType, 'FIELD_NAME' => $fieldName . '_label', 'FIELD_VALIDATE'=>$fieldValidate, '_index' => $index ++, '_isset' => true ); $fieldsNames[] = $fieldName; } } } } $oDataset->next(); } // getting bpmn projects $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(BpmnProcessPeer::PRJ_UID); $oCriteria->add(BpmnProcessPeer::PRJ_UID, $proUid); $oDataset = BpmnProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $row = $oDataset->getRow(); if (isset($row["PRJ_UID"])) { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_SQL); $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_ACCEPTED_VALUES); $oCriteria->add(ProcessVariablesPeer::PRJ_UID, $row["PRJ_UID"]); $oDataset = ProcessVariablesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $index = 0; while ($oDataset->next()) { $row = $oDataset->getRow(); $fieldType = isset($row["VAR_FIELD_TYPE"]) ? $row["VAR_FIELD_TYPE"]: ''; $varSql = isset($row["VAR_SQL"]) ? $row["VAR_SQL"] : ''; $varProcessVariable = isset($row["VAR_ACCEPTED_VALUES"]) ? $row["VAR_ACCEPTED_VALUES"] : '[]'; if(! in_array( $fieldType, $excludeFieldsList )){ if(strlen($varSql) == 0 && $varProcessVariable == '[]'){ array_push($fields, array( "FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"], "FIELD_NAME" => $row["VAR_NAME"], "FIELD_VALIDATE" => "any", "_index" => $index ++, "_isset" => true )); } } } } sort( $fields ); // if is a editing $fieldsEdit = array (); if (isset( $_SESSION['ADD_TAB_UID'] )) { require_once 'classes/model/AdditionalTables.php'; $additionalTables = new AdditionalTables(); $table = $additionalTables->load( $_SESSION['ADD_TAB_UID'], true ); foreach ($table['FIELDS'] as $i => $field) { array_push( $fieldsEdit, $field['FLD_DYN_NAME'] ); } } //end editing $indexes = array(); foreach ($fields as $i => $field) { $fields[$i]['_index'] = $i; $indexes[$field['FIELD_NAME']] = $i; if (in_array( $field['FIELD_NAME'], $fieldsEdit )) { $fields[$i]['_isset'] = false; } } $_SESSION['_cache_pmtables']['pro_uid'] = $proUid; $_SESSION['_cache_pmtables']['dyn_uid'] = $this->dynUid; $_SESSION['_cache_pmtables']['rows'] = $fields; $_SESSION['_cache_pmtables']['count'] = count( $fields ); $_SESSION['_cache_pmtables']['indexes'] = $indexes; } //end reload $fields = array (); $tmp = array (); foreach ($_SESSION['_cache_pmtables']['rows'] as $i => $row) { if (isset( $filter ) && $filter != '') { if ($row['_isset'] && stripos( $row['FIELD_NAME'], $filter ) !== false) { $tmp[] = $row; } } else { if ($row['_isset']) { $tmp[] = $row; } } } $fields = array_slice( $tmp, $start, $limit ); return array ('cache' => $cache,'count' => count( $tmp ),'rows' => $fields ); }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param Connection $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(ProcessVariablesPeer::VAR_UID, $pks, Criteria::IN); $objs = ProcessVariablesPeer::doSelect($criteria, $con); } return $objs; }
public function jsonr(&$json) { foreach ($json as $key => &$value) { $sw1 = is_array($value); $sw2 = is_object($value); if ($sw1 || $sw2) { $this->jsonr($value); } if (!$sw1 && !$sw2) { //read event $fn = $this->onPropertyRead; if (function_exists($fn)) { $fn($json, $key, $value); } //set properties from trigger $prefixs = array("@@", "@#", "@%", "@?", "@\$", "@="); if (is_string($value) && in_array(substr($value, 0, 2), $prefixs)) { $triggerValue = substr($value, 2); if (isset($this->fields["APP_DATA"][$triggerValue])) { $json->{$key} = $this->fields["APP_DATA"][$triggerValue]; } } //set properties from 'formInstance' variable if (isset($this->fields["APP_DATA"]["formInstance"])) { $formInstance = $this->fields["APP_DATA"]["formInstance"]; if (!is_array($formInstance)) { $formInstance = array($formInstance); } $nfi = count($formInstance); for ($ifi = 0; $ifi < $nfi; $ifi++) { $fi = $formInstance[$ifi]; if (is_object($fi) && isset($fi->id) && $key === "id" && $json->{$key} === $fi->id) { foreach ($fi as $keyfi => $valuefi) { if (isset($json->{$keyfi})) { $json->{$keyfi} = $valuefi; } } } } } //options & query if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden" || $value === "dropdown" || $value === "checkgroup" || $value === "radio" || $value === "suggest")) { if (!isset($json->dbConnection)) { $json->dbConnection = "none"; } if (!isset($json->sql)) { $json->sql = ""; } $json->optionsSql = array(); if ($json->dbConnection !== "" && $json->dbConnection !== "none" && $json->sql !== "") { $cnn = Propel::getConnection($json->dbConnection); $stmt = $cnn->createStatement(); try { $sql = G::replaceDataField($json->sql, $this->getValuesDependentFields($json)); $rs = $stmt->executeQuery($sql, \ResultSet::FETCHMODE_NUM); while ($rs->next()) { $row = $rs->getRow(); $option = new stdClass(); $option->value = $row[0]; $option->label = isset($row[1]) ? $row[1] : $row[0]; array_push($json->optionsSql, $option); } } catch (Exception $e) { } } } //data if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if (isset($json->optionsSql[0])) { $json->data->value = $json->optionsSql[0]->value; $json->data->label = $json->optionsSql[0]->value; } if ($json->defaultValue !== "") { $json->data->value = $json->defaultValue; $json->data->label = $json->defaultValue; } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name]; } $json->optionsSql = array(); } if ($key === "type" && $value === "dropdown") { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if ($json->defaultValue !== "") { foreach ($json->optionsSql as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } foreach ($json->options as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; } if (isset($this->fields["APP_DATA"][$json->name . "_label"])) { $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && $value === "suggest") { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if ($json->defaultValue !== "") { $json->data->value = $json->defaultValue; $json->data->label = $json->defaultValue; foreach ($json->optionsSql as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } foreach ($json->options as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; } if (isset($this->fields["APP_DATA"][$json->name . "_label"])) { $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } $json->optionsSql = array(); } if ($key === "type" && $value === "radio") { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if ($json->defaultValue !== "") { foreach ($json->optionsSql as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } foreach ($json->options as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; } if (isset($this->fields["APP_DATA"][$json->name . "_label"])) { $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && $value === "checkbox") { $json->data = new stdClass(); $json->data->value = "0"; $json->data->label = ""; foreach ($json->options as $os) { if ($os->value === false || $os->value === 0 || $os->value === "0") { $json->data->label = $os->label; } } if ($json->defaultValue !== "") { $json->data->value = $json->defaultValue; foreach ($json->options as $os) { if (($json->data->value === "true" || $json->data->value === "1") && ($os->value === true || $os->value === 1 || $os->value === "1")) { $json->data->label = $os->label; } if (($json->data->value === "false" || $json->data->value === "0") && ($os->value === false || $os->value === 0 || $os->value === "0")) { $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; if (is_array($json->data->value) && isset($json->data->value[0])) { $json->data->value = $json->data->value[0]; } foreach ($json->options as $os) { if (($json->data->value === true || $json->data->value === 1 || $json->data->value === "1") && ($os->value === true || $os->value === 1 || $os->value === "1")) { $json->data->label = $os->label; } if (($json->data->value === false || $json->data->value === 0 || $json->data->value === "0") && ($os->value === false || $os->value === 0 || $os->value === "0")) { $json->data->label = $os->label; } } } } if ($key === "type" && $value === "checkgroup") { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = "[]"; if ($json->defaultValue !== "") { $dataValue = array(); $dataLabel = array(); $dv = explode("|", $json->defaultValue); foreach ($dv as $idv) { foreach ($json->optionsSql as $os) { if ($os->value === trim($idv)) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } foreach ($json->options as $os) { if ($os->value === trim($idv)) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } } $json->data->value = $dataValue; $json->data->label = G::json_encode($dataLabel); } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; } if (isset($this->fields["APP_DATA"][$json->name . "_label"])) { $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && $value === "datetime") { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; } if (isset($this->fields["APP_DATA"][$json->name . "_label"])) { $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && $value === "file" && isset($this->fields["APP_DATA"]["APPLICATION"])) { /*----------------------------------********---------------------------------*/ $licensedFeatures =& PMLicensedFeatures::getSingleton(); $enablePMGmail = false; if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { G::LoadClass("pmDrive"); $pmDrive = new PMDrive(); $enablePMGmail = $pmDrive->getStatusService(); } /*----------------------------------********---------------------------------*/ $oCriteria = new Criteria("workflow"); $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_UID); $oCriteria->addSelectColumn(AppDocumentPeer::DOC_VERSION); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE); /*----------------------------------********---------------------------------*/ if ($enablePMGmail) { $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD); } /*----------------------------------********---------------------------------*/ $oCriteria->addJoin(AppDocumentPeer::APP_DOC_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN); $oCriteria->add(AppDocumentPeer::APP_UID, $this->fields["APP_DATA"]["APPLICATION"]); $oCriteria->add(AppDocumentPeer::APP_DOC_FIELDNAME, $json->name); $oCriteria->add(ContentPeer::CON_CATEGORY, 'APP_DOC_FILENAME'); $rs = AppDocumentPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $links = array(); $labelsFromDb = array(); while ($rs->next()) { $row = $rs->getRow(); $linkDownload = "../cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]; /*----------------------------------********---------------------------------*/ //change donwload link - drive $driveDownload = @unserialize($row['APP_DOC_DRIVE_DOWNLOAD']); if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('ATTACHED', $driveDownload) && $enablePMGmail) { $linkDownload = $driveDownload['ATTACHED']; } /*----------------------------------********---------------------------------*/ array_push($links, $linkDownload); array_push($labelsFromDb, $row["CON_VALUE"]); } $json->data = new stdClass(); $json->data->value = $links; if (sizeof($labelsFromDb)) { $json->data->label = G::json_encode($labelsFromDb); } else { $json->data->label = isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : (isset($this->fields["APP_DATA"][$json->name]) ? $this->fields["APP_DATA"][$json->name] : "[]"); } } if ($key === "type" && $value === "file" && isset($json->variable)) { //todo $oCriteria = new Criteria("workflow"); $oCriteria->addSelectColumn(ProcessVariablesPeer::INP_DOC_UID); $oCriteria->add(ProcessVariablesPeer::VAR_NAME, $json->variable); $rs = ProcessVariablesPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); if (isset($row["INP_DOC_UID"])) { $json->inputDocuments = array($row["INP_DOC_UID"]); } } //synchronize var_label if ($key === "type" && ($value === "dropdown" || $value === "suggest")) { if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { foreach ($json->optionsSql as $io) { if ($json->data->value === $io->value) { $json->data->label = $io->label; } } foreach ($json->options as $io) { if ($json->data->value === $io->value) { $json->data->label = $io->label; } } $_SESSION["TRIGGER_DEBUG"]["DATA"][] = array("key" => $json->name . "_label", "value" => $json->data->label); } } if ($key === "type" && $value === "checkgroup") { if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { $dataValue = array(); $dataLabel = array(); $dv = array(); if (isset($this->fields["APP_DATA"][$json->name])) { $dv = $this->fields["APP_DATA"][$json->name]; } foreach ($dv as $idv) { foreach ($json->optionsSql as $os) { if ($os->value === $idv) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } foreach ($json->options as $os) { if ($os->value === $idv) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } } $json->data->value = $dataValue; $json->data->label = G::json_encode($dataLabel); $_SESSION["TRIGGER_DEBUG"]["DATA"][] = array("key" => $json->name . "_label", "value" => $json->data->label); } } if ($key === "type" && $value === "datetime") { if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { $json->data->label = $json->data->value; $_SESSION["TRIGGER_DEBUG"]["DATA"][] = array("key" => $json->name . "_label", "value" => $json->data->label); } } //grid if ($key === "type" && $value === "grid") { if (isset($this->fields["APP_DATA"][$json->name])) { //rows $rows = $this->fields["APP_DATA"][$json->name]; foreach ($rows as $keyRow => $row) { //cells $cells = array(); foreach ($json->columns as $column) { //data if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "suggest" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link" || $column->type === "hidden") { array_push($cells, array("value" => isset($row[$column->name]) ? $row[$column->name] : "", "label" => isset($row[$column->name . "_label"]) ? $row[$column->name . "_label"] : (isset($row[$column->name]) ? $row[$column->name] : ""))); } } $rows[$keyRow] = $cells; } $json->rows = count($rows); $json->data = $rows; } //todo compatibility 'columnWidth' foreach ($json->columns as $column) { if (!isset($column->columnWidth) && $column->type !== "hidden") { $json->layout = "static"; $column->columnWidth = ""; } } } //languages if ($this->lang === null && $key === "language" && isset($json->language)) { $this->lang = $json->language; } if ($this->langs !== null) { if (($key === "label" || $key === "title" || $key === "hint" || $key === "placeholder" || $key === "validateMessage" || $key === "alternateText" || $key === "comment" || $key === "alt") && isset($this->langs->{$this->lang})) { $langs = $this->langs->{$this->lang}->Labels; foreach ($langs as $langsValue) { if (is_object($json) && $json->{$key} === $langsValue->msgid) { $json->{$key} = $langsValue->msgstr; } if (is_array($json) && $json[$key] === $langsValue->msgid) { $json[$key] = $langsValue->msgstr; } } } } //EDIT,VIEW if (isset($this->fields["STEP_MODE"]) && $this->fields["STEP_MODE"] === "VIEW" && isset($json->mode)) { $json->mode = "view"; } if ($key === "type" && $value === "form" && $this->records != null) { foreach ($this->records as $ri) { if ($json->id === $ri["DYN_UID"] && !isset($json->jsonUpdate)) { $jsonUpdate = G::json_decode($ri["DYN_CONTENT"]); $jsonUpdate = $jsonUpdate->items[0]; $jsonUpdate->colSpan = $json->colSpan; $jsonUpdate->jsonUpdate = true; $json = $jsonUpdate; $this->jsonr($json); } } } } } }
/** * Get data of a DynaForm * * @param string $projectUid Unique id of Project * @param string $dynaFormUid Unique id of DynaForm * * return array Return an array with data of a DynaForm */ public function getDynaFormFields($projectUid, $dynaFormUid) { try { $arrayVariables = array(); $arrayVariablesDef = array(); //Verify data Validator::proUid($projectUid, '$prj_uid'); $this->throwExceptionIfNotExistsDynaForm($dynaFormUid, "", $this->arrayFieldNameForException["dynaFormUid"]); $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\DynaformPeer::DYN_CONTENT); $criteria->add(\DynaformPeer::DYN_UID, $dynaFormUid, \Criteria::EQUAL); $rsCriteria = \DynaformPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $aRow = $rsCriteria->getRow(); $contentDecode = json_decode($aRow['DYN_CONTENT'], true); $content = $contentDecode['items'][0]['items']; foreach ($content as $key => $value) { $valueType = isset($value[0]["valueType"]) ? $value[0]["valueType"] : null; $maxLength = isset($value[0]["maxLength"]) ? $value[0]["maxLength"] : null; $label = isset($value[0]["label"]) ? $value[0]["label"] : null; $defaultValue = isset($value[0]["defaultValue"]) ? $value[0]["defaultValue"] : null; $required = isset($value[0]["required"]) ? $value[0]["required"] : null; $dbConnection = isset($value[0]["dbConnection"]) ? $value[0]["dbConnection"] : null; $sql = isset($value[0]["sql"]) ? $value[0]["sql"] : null; $options = isset($value[0]["options"]) ? $value[0]["options"] : null; if (isset($value[0]["variable"])) { $variable = $value[0]["variable"]; $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_NAME); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_FIELD_TYPE); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_FIELD_SIZE); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_LABEL); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_DBCONNECTION); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_SQL); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_NULL); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_DEFAULT); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_ACCEPTED_VALUES); $criteria->add(\ProcessVariablesPeer::PRJ_UID, $projectUid, \Criteria::EQUAL); $criteria->add(\ProcessVariablesPeer::VAR_NAME, $variable, \Criteria::EQUAL); $rsCriteria = \ProcessVariablesPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); while ($aRow = $rsCriteria->getRow()) { $valueTypeMerged = $valueType == null && $valueType == '' ? $aRow['VAR_FIELD_TYPE'] : $valueType; $maxLengthMerged = $maxLength == null && $maxLength == '' ? (int) $aRow['VAR_FIELD_SIZE'] : $maxLength; $labelMerged = $label == null && $label == '' ? $aRow['VAR_LABEL'] : $label; $defaultValueMerged = $defaultValue == null && $defaultValue == '' ? $aRow['VAR_DEFAULT'] : $defaultValue; $requiredMerged = $required == null && $required == '' ? $aRow['VAR_NULL'] == 1 ? false : true : $required; $dbConnectionMerged = $dbConnection == null && $dbConnection == '' ? $aRow['VAR_DBCONNECTION'] : $dbConnection; $sqlMerged = $sql == null && $sql == '' ? $aRow['VAR_SQL'] : $sql; $optionsMerged = $options == null && $options == '' ? $aRow['VAR_ACCEPTED_VALUES'] : $options; $aVariables = array('valueType' => $valueTypeMerged, 'maxLength' => $maxLengthMerged, 'label' => $labelMerged, 'defaultValue' => $defaultValueMerged, 'required' => $requiredMerged, 'dbConnection' => $dbConnectionMerged, 'sql' => $sqlMerged, 'options' => $optionsMerged); //fields properties if (isset($value[0]["pickType"])) { $aVariables = array_merge(array('pickType' => $value[0]["pickType"]), $aVariables); } if (isset($value[0]["placeHolder"])) { $aVariables = array_merge(array('placeHolder' => $value[0]["placeHolder"]), $aVariables); } if (isset($value[0]["dependentsField"])) { $aVariables = array_merge(array('dependentsField' => $value[0]["dependentsField"]), $aVariables); } if (isset($value[0]["hint"])) { $aVariables = array_merge(array('hint' => $value[0]["hint"]), $aVariables); } if (isset($value[0]["readonly"])) { $aVariables = array_merge(array('readonly' => $value[0]["readonly"]), $aVariables); } if (isset($value[0]["colSpan"])) { $aVariables = array_merge(array('colSpan' => $value[0]["colSpan"]), $aVariables); } if (isset($value[0]["type"])) { $aVariables = array_merge(array('type' => $value[0]["type"]), $aVariables); } if (isset($value[0]["name"])) { $aVariables = array_merge(array('name' => $value[0]["name"]), $aVariables); } $aVariables = array_merge(array('variable' => $variable), $aVariables); $arrayVariables[] = $aVariables; $rsCriteria->next(); } } else { $arrayVariablesDef[] = $value[0]; } } $arrayVariables = array_merge($arrayVariables, $arrayVariablesDef); //Return return $arrayVariables; } catch (\Exception $e) { throw $e; } }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = ProcessVariablesPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setVarUid($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setPrjUid($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setVarName($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setVarFieldType($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setVarFieldSize($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setVarLabel($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setVarDbconnection($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { $this->setVarSql($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { $this->setVarNull($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { $this->setVarDefault($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { $this->setVarAcceptedValues($arr[$keys[10]]); } }
public function getVariableTypeByName($processUid, $variableName) { try { $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_UID); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_NAME); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_FIELD_TYPE); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_DBCONNECTION); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_SQL); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_ACCEPTED_VALUES); $criteria->add(\ProcessVariablesPeer::VAR_NAME, $variableName); $criteria->add(\ProcessVariablesPeer::PRJ_UID, $processUid); $rsCriteria = \ProcessVariablesPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); if ($rsCriteria->next()) { $row = $rsCriteria->getRow(); return sizeof($row) ? $row : false; } return false; } catch (\Exception $e) { throw $e; } }
/** * 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 $variableDbConnectionUid = ""; $variableSql = ""; $sqlLimit = ""; $variableSqlLimit = ""; $sqlConditionLike = ""; $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_DBCONNECTION); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_SQL); $criteria->add(\ProcessVariablesPeer::PRJ_UID, $processUid, \Criteria::EQUAL); $criteria->add(\ProcessVariablesPeer::VAR_NAME, $variableName, \Criteria::EQUAL); $rsCriteria = \ProcessVariablesPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); if ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $variableDbConnectionUid = $row["VAR_DBCONNECTION"]; $variableSql = $row["VAR_SQL"]; } else { throw new \Exception(\G::LoadTranslation("ID_PROCESS_VARIABLE_DOES_NOT_EXIST", array(strtolower("VAR_NAME"), $variableName))); } //Verify data $this->throwExceptionIfSomeRequiredVariableSqlIsMissingInVariables($variableName, $variableSql, $arrayVariable); //Get data $_SESSION["PROCESS"] = $processUid; foreach ($arrayVariable as $keyRequest => $valueRequest) { $keyRequest = strtoupper($keyRequest); if ($keyRequest == 'LIMIT') { if (strpos($variableSql, 'LIMIT')) { $variableSqlLimit = explode("LIMIT", $variableSql); $sqlLimit = " LIMIT " . $variableSqlLimit[1]; $variableSql = $variableSqlLimit[0]; } else { $sqlLimit = " LIMIT ". 0 . ", " . $valueRequest; } } else { if (strpos($variableSql, 'WHERE')) { $sqlConditionLike = " AND " . $keyRequest . " LIKE '%" . $valueRequest . "%'"; } else { $sqlConditionLike = " WHERE " . $keyRequest . " LIKE '%" . $valueRequest . "%'"; } } } $sqlQuery = $variableSql . $sqlConditionLike . $sqlLimit; $cnn = \Propel::getConnection(($variableDbConnectionUid . "" != "")? $variableDbConnectionUid : "workflow"); $stmt = $cnn->createStatement(); $replaceFields = G::replaceDataField($sqlQuery, $arrayVariable); $rs = $stmt->executeQuery($replaceFields, \ResultSet::FETCHMODE_NUM); while ($rs->next()) { $row = $rs->getRow(); $arrayRecord[] = array( strtolower("VALUE") => $row[0], strtolower("TEXT") => $row[1] ); } //Return return $arrayRecord; } catch (\Exception $e) { throw $e; } }
public function jsonr(&$json) { foreach ($json as $key => &$value) { $sw1 = is_array($value); $sw2 = is_object($value); if ($sw1 || $sw2) { $this->jsonr($value); } if (!$sw1 && !$sw2) { //read event $fn = $this->onPropertyRead; if (function_exists($fn)) { $fn($json, $key, $value); } //set properties from trigger $prefixs = array("@@", "@#", "@%", "@?", "@$", "@="); if (is_string($value) && in_array(substr($value, 0, 2), $prefixs)) { $triggerValue = substr($value, 2); if (isset($this->fields["APP_DATA"][$triggerValue])) { $json->{$key} = $this->fields["APP_DATA"][$triggerValue]; } } //set properties from 'formInstance' variable if (isset($this->fields["APP_DATA"]["formInstance"])) { $formInstance = $this->fields["APP_DATA"]["formInstance"]; if (!is_array($formInstance)) { $formInstance = array($formInstance); } $nfi = count($formInstance); for ($ifi = 0; $ifi < $nfi; $ifi++) { $fi = $formInstance[$ifi]; if (is_object($fi) && isset($fi->id) && $key === "id" && $json->{$key} === $fi->id) { foreach ($fi as $keyfi => $valuefi) { if (isset($json->{$keyfi})) { $json->{$keyfi} = $valuefi; } } } } } //options & query if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden" || $value === "dropdown" || $value === "checkgroup" || $value === "radio" || $value === "suggest" )) { if (!isset($json->dbConnection)) $json->dbConnection = "none"; if (!isset($json->sql)) $json->sql = ""; $json->optionsSql = array(); if ($json->dbConnection !== "" && $json->dbConnection !== "none" && $json->sql !== "") { $cnn = Propel::getConnection($json->dbConnection); $stmt = $cnn->createStatement(); try { $rs = $stmt->executeQuery(G::replaceDataField($json->sql, array()), \ResultSet::FETCHMODE_NUM); while ($rs->next()) { $row = $rs->getRow(); $option = new stdClass(); $option->value = $row[0]; $option->label = isset($row[1]) ? $row[1] : $row[0]; array_push($json->optionsSql, $option); } } catch (Exception $e) { } } } //data if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if (isset($json->optionsSql[0])) { $json->data->value = $json->optionsSql[0]->value; $json->data->label = $json->optionsSql[0]->value; } if ($json->defaultValue !== "") { $json->data->value = $json->defaultValue; $json->data->label = $json->defaultValue; } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name]; } } if ($key === "type" && ($value === "dropdown")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if ($json->defaultValue !== "") { foreach ($json->optionsSql as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } foreach ($json->options as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && ($value === "suggest")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if ($json->defaultValue !== "") { $json->data->value = $json->defaultValue; $json->data->label = $json->defaultValue; foreach ($json->optionsSql as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } foreach ($json->options as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; if (isset($this->fields["APP_DATA"][$json->name . "_label"])) { $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } } if ($key === "type" && ($value === "radio")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if ($json->defaultValue !== "") { foreach ($json->optionsSql as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } foreach ($json->options as $os) { if ($os->value === $json->defaultValue) { $json->data->value = $os->value; $json->data->label = $os->label; } } } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && ($value === "checkbox")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name]; } } if ($key === "type" && ($value === "checkgroup")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = "[]"; if ($json->defaultValue !== "") { $dataValue = array(); $dataLabel = array(); $dv = explode("|", $json->defaultValue); foreach ($dv as $idv) { foreach ($json->optionsSql as $os) { if ($os->value === trim($idv)) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } foreach ($json->options as $os) { if ($os->value === trim($idv)) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } } $json->data->value = $dataValue; $json->data->label = G::json_encode($dataLabel); } if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && ($value === "datetime")) { $json->data = new stdClass(); $json->data->value = ""; $json->data->label = ""; if (isset($this->fields["APP_DATA"][$json->name])) { $json->data->value = $this->fields["APP_DATA"][$json->name]; $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"]; } } if ($key === "type" && ($value === "file") && isset($this->fields["APP_DATA"]["APPLICATION"])) { $oCriteria = new Criteria("workflow"); $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_UID); $oCriteria->addSelectColumn(AppDocumentPeer::DOC_VERSION); $oCriteria->add(AppDocumentPeer::APP_UID, $this->fields["APP_DATA"]["APPLICATION"]); $oCriteria->add(AppDocumentPeer::APP_DOC_FIELDNAME, $json->name); $rs = AppDocumentPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $links = array(); while ($rs->next()) { $row = $rs->getRow(); array_push($links, "../cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]); } $json->data = new stdClass(); $json->data->value = $links; $json->data->label = isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : "[]"; } if ($key === "type" && ($value === "file")) { //todo $oCriteria = new Criteria("workflow"); $oCriteria->addSelectColumn(ProcessVariablesPeer::INP_DOC_UID); $oCriteria->add(ProcessVariablesPeer::VAR_NAME, $json->variable); $rs = ProcessVariablesPeer::doSelectRS($oCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); if (isset($row["INP_DOC_UID"])) { $json->inputDocuments = array($row["INP_DOC_UID"]); } } //synchronize var_label if ($key === "type" && ($value === "dropdown" || $value === "suggest")) { if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { foreach ($json->optionsSql as $io) { if ($json->data->value === $io->value) { $json->data->label = $io->label; } } foreach ($json->options as $io) { if ($json->data->value === $io->value) { $json->data->label = $io->label; } } $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label); } } if ($key === "type" && ($value === "checkgroup")) { if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { $dataValue = array(); $dataLabel = array(); $dv = array(); if (isset($this->fields["APP_DATA"][$json->name])) $dv = $this->fields["APP_DATA"][$json->name]; foreach ($dv as $idv) { foreach ($json->optionsSql as $os) { if ($os->value === $idv) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } foreach ($json->options as $os) { if ($os->value === $idv) { array_push($dataValue, $os->value); array_push($dataLabel, $os->label); } } } $json->data->value = $dataValue; $json->data->label = G::json_encode($dataLabel); $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label); } } if ($key === "type" && ($value === "datetime")) { if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) { $json->data->label = $json->data->value; $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label); } } //grid if ($key === "type" && ($value === "grid")) { if (isset($this->fields["APP_DATA"][$json->name])) { //rows $rows = $this->fields["APP_DATA"][$json->name]; foreach ($rows as $keyRow => $row) { //cells $cells = array(); foreach ($json->columns as $column) { //data if ($column->type === "text" || $column->type === "textarea" || $column->type === "dropdown" || $column->type === "suggest" || $column->type === "datetime" || $column->type === "checkbox" || $column->type === "file" || $column->type === "link" || $column->type === "hidden") { array_push($cells, array( "value" => isset($row[$column->name]) ? $row[$column->name] : "", "label" => isset($row[$column->name . "_label"]) ? $row[$column->name . "_label"] : (isset($row[$column->name]) ? $row[$column->name] : "") )); } } $rows[$keyRow] = $cells; } $json->rows = count($rows); $json->data = $rows; } //todo compatibility 'columnWidth' foreach ($json->columns as $column) { if (!isset($column->columnWidth) && $column->type !== "hidden") { $json->layout = "static"; $column->columnWidth = ""; } } } //languages if ($this->lang === null && $key === "language" && isset($json->language)) { $this->lang = $json->language; } if ($this->langs !== null) { if (($key === "label" || $key === "title" || $key === "hint" || $key === "placeholder" || $key === "validateMessage" || $key === "alternateText" || $key === "comment" || $key === "alt") && isset($this->langs->{$this->lang})) { $langs = $this->langs->{$this->lang}->Labels; foreach ($langs as $langsValue) { if (is_object($json) && $json->{$key} === $langsValue->msgid) { $json->{$key} = $langsValue->msgstr; } if (is_array($json) && $json[$key] === $langsValue->msgid) { $json[$key] = $langsValue->msgstr; } } } } //EDIT,VIEW if (isset($this->fields["STEP_MODE"]) && $this->fields["STEP_MODE"] === "VIEW" && isset($json->mode)) { $json->mode = "view"; } if ($key === "type" && ($value === "form") && $this->records != null) { foreach ($this->records as $ri) { if ($json->id === $ri["DYN_UID"] && !isset($json->jsonUpdate)) { $jsonUpdate = json_decode($ri["DYN_CONTENT"]); $jsonUpdate = $jsonUpdate->items[0]; $jsonUpdate->colSpan = $json->colSpan; $jsonUpdate->jsonUpdate = true; $json = $jsonUpdate; $this->jsonr($json); } } } } } }
/** * Function getHtmlFormVars * * @access public * @param string $sProcessUID * @return array */ public static function getHtmlFormVars ($sProcessUID) { //Get data $criteria = new \Criteria("workflow"); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_UID); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_NAME); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_LABEL); $criteria->addSelectColumn(\ProcessVariablesPeer::VAR_FIELD_TYPE); $criteria->add(\ProcessVariablesPeer::PRJ_UID, $sProcessUID, \Criteria::EQUAL); $rsCriteria = \ProcessVariablesPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $arrayVariables = array(); while ($aRow = $rsCriteria->getRow()) { $arrayVariables[] = array( 'var_name' => $aRow['VAR_NAME'], 'var_label' => $aRow['VAR_LABEL'], 'var_type' => $aRow['VAR_FIELD_TYPE'], 'var_source' => $aRow['VAR_UID']); $rsCriteria->next(); } //Return return $arrayVariables; }