Merged master into dashboards2
This commit is contained in:
@@ -897,7 +897,6 @@ class CaseScheduler
|
||||
$sDaysPerformTask = "";
|
||||
$sWeeks = "";
|
||||
$sMonths = "";
|
||||
$sStartDay = "";
|
||||
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
@@ -992,7 +991,6 @@ class CaseScheduler
|
||||
}
|
||||
|
||||
$arrayCaseSchedulerData["SCH_MONTHS"] = $sMonths;
|
||||
$sStartDay = $arrayCaseSchedulerData["SCH_START_DAY"];
|
||||
$sValue = $nStartDay;
|
||||
break;
|
||||
}
|
||||
@@ -1013,123 +1011,33 @@ class CaseScheduler
|
||||
$arrayCaseSchedulerData["SCH_END_DATE"] = ($arrayData["SCH_END_DATE"] != "")? $arrayData["SCH_END_DATE"] : null;
|
||||
|
||||
//If the start date has changed then recalculate the next run time
|
||||
$recalculateDate = ($arrayData["SCH_START_DATE"] == $arrayData["PREV_SCH_START_DATE"])? false : true;
|
||||
$recalculateTime = (date("H:i:s", strtotime($arrayData["SCH_START_TIME"])) == date("H:i:s", strtotime($arrayData["PREV_SCH_START_TIME"])))? false : true;
|
||||
$recalculateDate = ($arrayData["SCH_START_DATE"] != $arrayData["PREV_SCH_START_DATE"])? true : false;
|
||||
$recalculateTime = (date("H:i:s", strtotime($arrayData["SCH_START_TIME"])) != date("H:i:s", strtotime($arrayData["PREV_SCH_START_TIME"])))? true : false;
|
||||
break;
|
||||
}
|
||||
|
||||
$nActualTime = $arrayData["SCH_START_TIME"];
|
||||
|
||||
if ($caseSchedulerOption != 1 && $caseSchedulerOption != 4 && $caseSchedulerOption != 5) {
|
||||
if ($sStartDay == "") {
|
||||
$sStartDay = date("Y-m-d");
|
||||
}
|
||||
|
||||
$dCurrentDay = (int)(date("d"));
|
||||
$dCurrentMonth = (int)(date("m"));
|
||||
|
||||
$aStartDay = ($caseSchedulerOption == 3)? explode("|", $arrayCaseSchedulerData["SCH_START_DAY"]) : array();
|
||||
|
||||
if ($caseSchedulerOption == 3 && $aStartDay[0] == "1") {
|
||||
$monthsArray = explode("|", $sMonths);
|
||||
|
||||
foreach ($monthsArray as $row) {
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
if ((int)($row) == $dCurrentMonth && $dCurrentDay <= (int)($aStartDay[1])) {
|
||||
$startTime = $arrayData["SCH_START_TIME"] . ":00";
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y") . "-" . $row . "-" . $aStartDay[1] . " " . $startTime;
|
||||
break;
|
||||
} else {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
}
|
||||
break;
|
||||
case "UPD":
|
||||
if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) {
|
||||
$startTime = $arrayData["SCH_START_TIME"] . ":00";
|
||||
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y") . "-" . $row . "-" . $aStartDay[1] . " " . $startTime;
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
break;
|
||||
case "UPD":
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->updateNextRun($caseSchedulerOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp, false);
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($caseSchedulerOption == 4) {
|
||||
$arrayCaseSchedulerData["SCH_END_DATE"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
}
|
||||
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
break;
|
||||
case "UPD":
|
||||
if ($recalculateDate) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
} else {
|
||||
if ($recalculateTime) {
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = $caseScheduler->getSchTimeNextRun("Y-m-d") . " " . $arrayData["SCH_START_TIME"] . ":00";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ($caseSchedulerOption == 5) {
|
||||
switch ($caseSchedulerOption) {
|
||||
case 4:
|
||||
//$arrayCaseSchedulerData["SCH_END_DATE"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
break;
|
||||
case 5:
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_START_TIME"] = time();
|
||||
$arrayCaseSchedulerData["SCH_START_DATE"] = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
|
||||
$date = $arrayCaseSchedulerData["SCH_START_TIME"];
|
||||
break;
|
||||
case "UPD":
|
||||
$date = $caseScheduler->getSchLastRunTime();
|
||||
|
||||
if (is_null($date)) {
|
||||
$date = $caseScheduler->getSchStartTime();
|
||||
}
|
||||
|
||||
$date = strtotime($date);
|
||||
break;
|
||||
}
|
||||
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = $arrayData["SCH_REPEAT_EVERY"];
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y-m-d H:i:s", $date + (((int)($arrayData["SCH_REPEAT_EVERY"])) * 60 * 60));
|
||||
}
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = $arrayData["SCH_REPEAT_EVERY"];
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($option) {
|
||||
case "INS":
|
||||
$arrayCaseSchedulerData["SCH_TIME_NEXT_RUN"] = date("Y-m-d") . " " . (($caseSchedulerOption != 5)? $arrayData["SCH_START_TIME"] . ":00" : date("H:i:s"));
|
||||
|
||||
if ($arrayData["SCH_END_DATE"] != "") {
|
||||
$arrayCaseSchedulerData["SCH_END_DATE"] = $arrayData["SCH_END_DATE"];
|
||||
}
|
||||
@@ -1138,13 +1046,13 @@ class CaseScheduler
|
||||
break;
|
||||
}
|
||||
|
||||
if (!empty($arrayData["SCH_REPEAT_TASK_CHK"])) {
|
||||
if ($arrayData["SCH_REPEAT_EVERY_OPT"] . "" == "2") {
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = ((int)($arrayData["SCH_REPEAT_EVERY"])) * 60;
|
||||
} else {
|
||||
$arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = (int)($arrayData["SCH_REPEAT_EVERY"]);
|
||||
}
|
||||
}
|
||||
//if (!empty($arrayData["SCH_REPEAT_TASK_CHK"])) {
|
||||
// if ($arrayData["SCH_REPEAT_EVERY_OPT"] . "" == "2") {
|
||||
// $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = ((int)($arrayData["SCH_REPEAT_EVERY"])) * 60;
|
||||
// } else {
|
||||
// $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] = (int)($arrayData["SCH_REPEAT_EVERY"]);
|
||||
// }
|
||||
//}
|
||||
|
||||
//Create/Update
|
||||
$caseSchedulerAux = new \CaseScheduler();
|
||||
@@ -1193,11 +1101,11 @@ class CaseScheduler
|
||||
break;
|
||||
case 4:
|
||||
//One time only
|
||||
$flagUpdateTimeNextRun = $arrayCaseSchedulerData["SCH_START_TIME"] != $arrayCaseSchedulerDataOld["SCH_START_TIME"];
|
||||
$flagUpdateTimeNextRun = $recalculateTime || $arrayCaseSchedulerData["SCH_START_TIME"] != $arrayCaseSchedulerDataOld["SCH_START_TIME"];
|
||||
break;
|
||||
case 5:
|
||||
//Every
|
||||
$flagUpdateTimeNextRun = $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] != $arrayCaseSchedulerDataOld["SCH_REPEAT_EVERY"];
|
||||
$flagUpdateTimeNextRun = $option == "INS" || $arrayCaseSchedulerData["SCH_REPEAT_EVERY"] != $arrayCaseSchedulerDataOld["SCH_REPEAT_EVERY"];
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,6 +90,11 @@ class Light
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get status trigger case
|
||||
* @param $triggers
|
||||
* @return array
|
||||
*/
|
||||
public function statusTriggers($triggers)
|
||||
{
|
||||
$return = array("before" => false, "after"=> false);
|
||||
@@ -1061,6 +1066,23 @@ class Light
|
||||
$sysConf = \System::getSystemConfiguration( PATH_CONFIG . 'env.ini' );
|
||||
$offset = timezone_offset_get( new \DateTimeZone( $sysConf['time_zone'] ), new \DateTime() );
|
||||
$response['timeZone'] = sprintf( "GMT%s%02d:%02d", ( $offset >= 0 ) ? '+' : '-', abs( $offset / 3600 ), abs( ($offset % 3600) / 60 ) );
|
||||
$fields = \System::getSysInfo();
|
||||
$response['version'] = $fields['PM_VERSION'];
|
||||
|
||||
$Translations = new \Translation;
|
||||
$translationsTable = $Translations->getTranslationEnvironments();
|
||||
$languagesList = array ();
|
||||
|
||||
foreach ($translationsTable as $locale) {
|
||||
$LANG_ID = $locale['LOCALE'];
|
||||
if ($locale['COUNTRY'] != '.') {
|
||||
$LANG_NAME = $locale['LANGUAGE'] . ' (' . (ucwords( strtolower( $locale['COUNTRY'] ) )) . ')';
|
||||
} else {
|
||||
$LANG_NAME = $locale['LANGUAGE'];
|
||||
}
|
||||
$languagesList[$LANG_ID] = $LANG_NAME;
|
||||
}
|
||||
$response['listLanguage'] = $languagesList;
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
347
workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php
Normal file
347
workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php
Normal file
@@ -0,0 +1,347 @@
|
||||
<?php
|
||||
|
||||
namespace ProcessMaker\BusinessModel\Light;
|
||||
|
||||
|
||||
class Tracker
|
||||
{
|
||||
|
||||
|
||||
function __construct()
|
||||
{
|
||||
\Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
|
||||
}
|
||||
|
||||
/**
|
||||
* authenticaction for case tracker
|
||||
*
|
||||
* @param $case numbre case
|
||||
* @param $pin code pin access for case tracek
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function authentication($case, $pin)
|
||||
{
|
||||
$cases = new \Cases();
|
||||
$response = array();
|
||||
$uid = $cases->verifyCaseTracker( $case, $pin );
|
||||
switch ($uid) {
|
||||
//The case doesn't exist
|
||||
case - 1:
|
||||
throw (new \Exception(\G::LoadTranslation('ID_CASE_NOT_EXISTS')));
|
||||
break;
|
||||
//The pin is invalid
|
||||
case - 2:
|
||||
throw (new \Exception(\G::LoadTranslation('ID_PIN_INVALID')));
|
||||
break;
|
||||
}
|
||||
$response['process'] = $uid['PRO_UID'];
|
||||
$response['app_uid'] = $uid['APP_UID'];
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Access granted for administrator in case tracker
|
||||
*
|
||||
* @param $pro_uid
|
||||
* @param $status
|
||||
* @return bool
|
||||
*/
|
||||
public function permissions ($pro_uid, $status)
|
||||
{
|
||||
$cases = new \Cases();
|
||||
$caseTracker = $cases->caseTrackerPermissions( $pro_uid );
|
||||
switch ($status) {
|
||||
case "map":
|
||||
$return = $caseTracker['CT_MAP_TYPE'];
|
||||
break;
|
||||
case "messages":
|
||||
$return = $caseTracker['CT_MESSAGE_HISTORY'];
|
||||
break;
|
||||
case "history":
|
||||
$return = $caseTracker['CT_DERIVATION_HISTORY'];
|
||||
break;
|
||||
case "objects":
|
||||
$return = $caseTracker['DYNADOC'];
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
break;
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
public function history($idProcess, $appUid)
|
||||
{
|
||||
$oCase = new \Cases();
|
||||
$aFields = $oCase->loadCase( $appUid );
|
||||
|
||||
$oProcess = new \Process();
|
||||
$aProcessFieds = $oProcess->load( $idProcess );
|
||||
$noShowTitle = 0;
|
||||
if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
|
||||
$noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
|
||||
}
|
||||
|
||||
if (isset( $aFields['TITLE'] )) {
|
||||
$aFields['APP_TITLE'] = $aFields['TITLE'];
|
||||
}
|
||||
if ($aFields['APP_PROC_CODE'] != '') {
|
||||
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
|
||||
}
|
||||
$aFields['CASE'] = \G::LoadTranslation( 'ID_CASE' );
|
||||
$aFields['TITLE'] = \G::LoadTranslation( 'ID_TITLE' );
|
||||
|
||||
$c = \Cases::getTransferHistoryCriteria( $appUid );
|
||||
$dataset = \AppDelegationPeer::doSelectRS( $c );
|
||||
$dataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$dataset->next();
|
||||
$history = array();
|
||||
while ($row = $dataset->getRow()) {
|
||||
$history[] = $row;
|
||||
$dataset->next();
|
||||
}
|
||||
$response = $this->parserHistory($history);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserHistory ($data)
|
||||
{
|
||||
$structure = array(
|
||||
'PRO_UID' => 'processId',
|
||||
'TAS_UID' => 'taskId',
|
||||
'APP_UID' => 'caseId',
|
||||
'user' => array(
|
||||
'USR_NAME' => 'name',
|
||||
'USR_FIRSTNAME' => 'firstName',
|
||||
'USR_LASTNAME' => 'lastName'
|
||||
),
|
||||
'DEL_DELEGATE_DATE' => 'delegateDate',
|
||||
'DEL_INDEX' => 'index',
|
||||
'DEL_INIT_DATE' => 'initDate',
|
||||
'APP_ENABLE_ACTION_DATE' => 'enableAction',
|
||||
'APP_DISABLE_ACTION_DATE' => 'disableAction',
|
||||
'TAS_TITLE' => 'taskTitle',
|
||||
'DEL_FINISH_DATE' => 'finishDate',
|
||||
'APP_TYPE' => 'type'
|
||||
);
|
||||
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function messages($idProcess, $appUid)
|
||||
{
|
||||
$oCase = new \Cases();
|
||||
$aFields = $oCase->loadCase( $appUid );
|
||||
|
||||
$oProcess = new \Process();
|
||||
$aProcessFieds = $oProcess->load( $idProcess );
|
||||
$noShowTitle = 0;
|
||||
if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
|
||||
$noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
|
||||
}
|
||||
|
||||
if (isset( $aFields['TITLE'] )) {
|
||||
$aFields['APP_TITLE'] = $aFields['TITLE'];
|
||||
}
|
||||
if ($aFields['APP_PROC_CODE'] != '') {
|
||||
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
|
||||
}
|
||||
$aFields['CASE'] = \G::LoadTranslation( 'ID_CASE' );
|
||||
$aFields['TITLE'] = \G::LoadTranslation( 'ID_TITLE' );
|
||||
|
||||
$c = \Cases::getHistoryMessagesTracker( $appUid );
|
||||
$response = array();
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = \ArrayBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$messages = array();
|
||||
while ($row = $rs->getRow()) {
|
||||
$messages[] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
$response = $this->parserMessages($messages);
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserMessages ($data)
|
||||
{
|
||||
$structure = array(
|
||||
'APP_UID' => 'caseId',
|
||||
'APP_MSG_UID' => 'messageId',
|
||||
'APP_MSG_TYPE' => 'messageType',
|
||||
'APP_MSG_SUBJECT' => 'messageSubject',
|
||||
'APP_MSG_FROM' => 'messageFrom',
|
||||
'APP_MSG_TO' => 'messageTo',
|
||||
'APP_MSG_BODY' => 'messageBody',
|
||||
'APP_MSG_DATE' => 'messageDate',
|
||||
'APP_MSG_CC' => 'messageCc',
|
||||
'APP_MSG_BCC' => 'messageBcc',
|
||||
'APP_MSG_TEMPLATE' => 'messageTemplate',
|
||||
'APP_MSG_STATUS' => 'messageStatus'
|
||||
);
|
||||
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function objects($idProcess, $appUid)
|
||||
{
|
||||
$oProcessMap = new \processMap();
|
||||
|
||||
$oCase = new \Cases();
|
||||
|
||||
$oProcess = new \Process();
|
||||
$aProcessFieds = $oProcess->load( $idProcess );
|
||||
$noShowTitle = 0;
|
||||
if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) {
|
||||
$noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE'];
|
||||
}
|
||||
|
||||
$aFields = $oCase->loadCase( $appUid );
|
||||
if (isset( $aFields['TITLE'] )) {
|
||||
$aFields['APP_TITLE'] = $aFields['TITLE'];
|
||||
}
|
||||
if ($aFields['APP_PROC_CODE'] != '') {
|
||||
$aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE'];
|
||||
}
|
||||
$aFields['CASE'] = \G::LoadTranslation( 'ID_CASE' );
|
||||
$aFields['TITLE'] = \G::LoadTranslation( 'ID_TITLE' );
|
||||
|
||||
$c = $oProcessMap->getCaseTrackerObjectsCriteria( $idProcess );
|
||||
$response = array();
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = \ArrayBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$objects = array();
|
||||
while ($row = $rs->getRow()) {
|
||||
$objects[] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
$response = $this->parserObjects($objects);
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function parserObjects ($data)
|
||||
{
|
||||
$structure = array(
|
||||
//'CTO_UID' => 'objectId',
|
||||
'CTO_TITLE' => 'objectTitle',
|
||||
'CTO_TYPE_OBJ' => 'objectType',
|
||||
'CTO_UID_OBJ' => 'objectId',
|
||||
'CTO_CONDITION' => 'condition',
|
||||
'CTO_POSITION' => 'position'
|
||||
);
|
||||
|
||||
$response = $this->replaceFields($data, $structure);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function showObjects ($pro_uid, $app_uid, $obj_uid, $typeObject)
|
||||
{
|
||||
switch ($typeObject) {
|
||||
case 'DYNAFORM':
|
||||
|
||||
$oCase = new \Cases();
|
||||
$Fields = $oCase->loadCase( $app_uid );
|
||||
$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=' . $obj_uid . '&CTO_TYPE_OBJ=PRINT_PREVIEW';
|
||||
|
||||
$dynaForm = new \Dynaform();
|
||||
$arrayDynaFormData = $dynaForm->Load($obj_uid);
|
||||
|
||||
if (isset($arrayDynaFormData["DYN_VERSION"]) && $arrayDynaFormData["DYN_VERSION"] == 2) {
|
||||
\G::LoadClass("pmDynaform");
|
||||
|
||||
$Fields["PRO_UID"] = $pro_uid;
|
||||
$Fields["CURRENT_DYNAFORM"] = $obj_uid;
|
||||
|
||||
$pmDynaForm = new \pmDynaform($Fields);
|
||||
|
||||
// if ($pmDynaForm->isResponsive()) {
|
||||
// $pmDynaForm->printTracker();
|
||||
// }
|
||||
$response = $pmDynaForm;
|
||||
}
|
||||
break;
|
||||
case 'INPUT_DOCUMENT':
|
||||
//G::LoadClass( 'case' );
|
||||
$oCase = new \Cases();
|
||||
$c = $oCase->getAllUploadedDocumentsCriteriaTracker( $pro_uid, $app_uid, $obj_uid );
|
||||
|
||||
// $response = array();
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = \ArrayBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$doc = array();
|
||||
while ($row = $rs->getRow()) {
|
||||
$doc[] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
//$response = $this->parserObjects($objects);
|
||||
}
|
||||
|
||||
$response = $doc;
|
||||
break;
|
||||
|
||||
case 'OUTPUT_DOCUMENT':
|
||||
//G::LoadClass( 'case' );
|
||||
$oCase = new \Cases();
|
||||
$c = $oCase->getAllGeneratedDocumentsCriteriaTracker( $pro_uid, $app_uid, $obj_uid );
|
||||
$response = $c;
|
||||
break;
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function replaceFields ($data, $structure)
|
||||
{
|
||||
$response = array();
|
||||
foreach ($data as $field => $d) {
|
||||
if (is_array($d)) {
|
||||
$newData = array();
|
||||
foreach ($d as $field => $value) {
|
||||
if (array_key_exists($field, $structure)) {
|
||||
$newName = $structure[$field];
|
||||
$newData[$newName] = is_null($value) ? "":$value;
|
||||
} else {
|
||||
foreach ($structure as $name => $str) {
|
||||
if (is_array($str) && array_key_exists($field, $str)) {
|
||||
$newName = $str[$field];
|
||||
$newData[$name][$newName] = is_null($value) ? "":$value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($newData) > 0)
|
||||
$response[] = $newData;
|
||||
} else {
|
||||
if (array_key_exists($field, $structure)) {
|
||||
$newName = $structure[$field];
|
||||
$response[$newName] = is_null($d) ? "":$d;
|
||||
} else {
|
||||
foreach ($structure as $name => $str) {
|
||||
if (is_array($str) && array_key_exists($field, $str)) {
|
||||
$newName = $str[$field];
|
||||
$response[$name][$newName] = is_null($d) ? "":$d;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user