/** * Get Variables of a Process/Grid * * @param string $option Option (GRID, GRIDVARS, ALL) * @param string $processUid Unique id of Process * @param string $gridUid Unique id of Grid (DynaForm) * * return array Return an array with Variables of a Process/Grid */ public function getVariables($option, $processUid, $gridUid = "") { try { $arrayVariable = array(); //Verify data $this->throwExceptionIfNotExistsProcess($processUid, $this->arrayFieldNameForException["processUid"]); //Get data switch ($option) { case "GRID": $arrayVar = self::getGridsVars($processUid); foreach ($arrayVar as $key => $value) { $arrayVariableAux = $this->getVariableDataFromRecord(array("name" => $value["sName"], "label" => "[ " . \G::LoadTranslation("ID_GRID") . " ]", "type" => "grid")); $arrayVariable[] = array_merge($arrayVariableAux, array($this->getFieldNameByFormatFieldName("GRID_UID") => $value["sXmlForm"])); } break; case "GRIDVARS": //Verify data $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); $dynaForm->throwExceptionIfNotExistsDynaForm($gridUid, $processUid, $this->arrayFieldNameForException["gridUid"]); $dynaForm->throwExceptionIfNotIsGridDynaForm($gridUid, $this->arrayFieldNameForException["gridUid"]); //Get data $fields = self::getVarsGrid($processUid, $gridUid); foreach ($fields as $field) { $arrayVariable[] = $this->getVariableDataFromRecord(array("name" => $field["sName"], "label" => $field["sLabel"], "type" => $field["sType"])); } break; default: //ALL $arrayVar = self::getDynaformsVars($processUid); foreach ($arrayVar as $key => $value) { $arrayVariable[] = $this->getVariableDataFromRecord(array("name" => $value["sName"], "label" => $value["sLabel"], "type" => $value["sType"], "source" => $value["sUid"])); } $arrayHtmlVariable = self::getHtmlFormVars($processUid); $arrayVariable = array_merge($arrayVariable, $arrayHtmlVariable); break; } //Return return $arrayVariable; } catch (\Exception $e) { throw $e; } }