$G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/groupmailList', $oCriteria); G::RenderPage('publish', 'raw'); break; case 'showDynavars': G::LoadClass('processMap'); $oProcessMap = new processMap(); $aDynaforms = $oProcessMap->getDynaformsList($_SESSION['PROCESS']); //g::pr($aDynaforms); G::LoadSystem('dynaformhandler'); $aDynaformFields = array(); foreach ($aDynaforms as $dyn) { if ($dyn['DYN_TYPE'] == 'xmlform') { if (is_file(PATH_DYNAFORM . "{$_SESSION['PROCESS']}/{$dyn['DYN_UID']}" . '.xml')) { $oDynaformHandler = new dynaFormHandler(PATH_DYNAFORM . "{$_SESSION['PROCESS']}/{$dyn['DYN_UID']}" . '.xml'); $aDynaformFields[$dyn['DYN_TITLE']] = $oDynaformHandler->getFieldNames(); } else { continue; } } } //G::pr($aDynaformFields); die; $aRows = array(); $aRows[0] = array('id' => 'char', 'dynaform' => 'char', 'name' => 'char'); foreach ($aDynaformFields as $dynName => $aFields) { foreach ($aFields as $sField) { array_push($aRows, array('id' => $sField, 'dynaform' => $dynName, 'name' => $sField)); } } //g::pr($aRows); die; global $_DBArray;
G::LoadSystem('dynaformhandler'); $_DYN_FILENAME = $_SESSION['Current_Dynafom']['Parameters']['FILE']; $sFilter = isset($_POST['filter']) ? $_POST['filter'] : ''; $oJSON = new Services_JSON(); $oDynaformHandler = new dynaFormHandler(PATH_DYNAFORM . $_DYN_FILENAME . '.xml'); $aFilter = explode(',', $sFilter); $aAvailableFields = $oDynaformHandler->getFieldNames($aFilter); print $oJSON->encode($aAvailableFields); break; case 'showDynavars': G::LoadSystem('dynaformhandler'); $_DYN_FILENAME = $_SESSION['Current_Dynafom']['Parameters']['FILE']; $sFilter = isset($_POST['filter']) ? $_POST['filter'] : ''; $oDynaformHandler = new dynaFormHandler(PATH_DYNAFORM . $_DYN_FILENAME . '.xml'); $aFilter = explode(',', $sFilter); $aAvailableFields = $oDynaformHandler->getFieldNames($aFilter); $aFieldNames = array('id' => 'char', 'name' => 'char'); $aRows = array(); foreach ($aAvailableFields as $sFieldname) { array_push($aRows, array('id' => $sFieldname, 'name' => $sFieldname)); } $rows = array_merge(array($aFieldNames), $aRows); global $_DBArray; $_DBArray['DYNAFIELDS'] = $rows; $_SESSION['_DBArray'] = $_DBArray; G::LoadClass('ArrayPeer'); $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('DYNAFIELDS'); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'dynaforms/dynaforms_vars', '', ''); G::RenderPage('publish', 'raw'); break;