Пример #1
0
     $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;