$oDataSetStep->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataSetStep->next(); $aRows = $oDataSetStep->getRow(); if (is_array($aRows) && !in_array($aRows['STEP_UID_OBJ'], $aDynaforms)) { $aDynaforms[] = $aRows['STEP_UID_OBJ']; } } unset($value); } $oDataset->next(); } if (count($aDynaforms) > 0) { require_once "classes/model/Dynaform.php"; $dynInstance = new Dynaform(); foreach ($aDynaforms as $key => $value) { $aAllFields = $dynInstance->getDynaformFields($value); if (is_array($aAllFields)) { foreach ($aAllFields as $kInput => $input) { if (!isset($input->input)) { continue; } if ($input->type == 'file' && $input->input == $_GET['UID'] && !empty($aAppDataFields['APP_DATA'][$kInput])) { $aAppDataFields['APP_DATA'][$kInput] = $sOriginalName; $oCase->updateCase($_GET['APP_UID'], $aAppDataFields); } } unset($input); } } unset($value); }
/** * generateJrxmlFromDynaform * * @param string $outDocUid * @param string $dynaformUid * @param object $template * @return void */ function generateJrxmlFromDynaform($outDocUid, $dynaformUid, $template) { require_once 'classes/model/Dynaform.php'; $dyn = new Dynaform(); $aFields = $dyn->load($dynaformUid); $xmlFields = $dyn->getDynaformFields($dynaformUid); $reportTpl = PATH_TPL . 'javaBridgePM/classic.xml'; $reportFilename = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $outDocUid . '.jrxml'; foreach ($xmlFields as $key => $val) { if ($val->type == 'submit' || $val->type == 'button' || $val->type == 'title' || $val->type == 'subtitle') { unset($xmlFields[$key]); } } //$sqlSentence = 'SELECT * from ' . $tableName; $sqlSentence = 'dynaform/'; $template = new TemplatePower($reportTpl); $template->prepare(); $template->assign('sqlSentence', $sqlSentence); $template->assign('tableName', $aFields['DYN_TITLE']); $template->assign('heightDetail', count($xmlFields) * 15 + 20); $template->assign('PAGE_NUMBER', '{PAGE_NUMBER}'); $logoReporte = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/images/processmaker.logo.jpg'; $template->assign('logoReporte', $logoReporte); foreach ($xmlFields as $key => $val) { $template->newBlock('fields'); $template->assign('fieldName', $key); } $posX = 140; $posLabelX = 5; $posY = 10; foreach ($xmlFields as $key => $val) { $template->newBlock('detailFields'); $template->assign('fieldName', '{' . $key . '}'); $template->assign('fieldLabel', $key); $template->assign('labelPosX', $posLabelX); $template->assign('fieldPosX', $posX); $template->assign('fieldPosY', $posY); $posY += 15; } $content = $template->getOutputContent(); $iSize = file_put_contents($reportFilename, $content); printf("saved %s bytes in file %s \n", $iSize, $reportFilename); }