. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ /* * @Author Erik A. Ortiz * @Date Feb 12th, 2010 */ try { if(!isset($_POST['request'])) { throw new Exception('No request set'); } $request = $_POST['request']; $G_PUBLISH = new Publisher(); switch($request) { case 'new': $G_PUBLISH->AddContent('xmlform', 'xmlform', 'dynaforms/dynaforms_ConditionalShowHide', '', ''); G::RenderPage('publish', 'raw'); break; case 'edit': require_once 'classes/model/FieldCondition.php'; $oFieldCondition = new FieldCondition(); $aRow = $oFieldCondition->get($_POST['FCD_UID']); $aData = Array(); $aData['condition'] = 'neyek'; $G_PUBLISH->AddContent('xmlform', 'xmlform', 'dynaforms/dynaforms_ConditionalShowHide', '', $aRow); G::RenderPage('publish', 'raw'); //echo ''; break; case 'getDynaFieds': G::LoadThirdParty('pear/json', 'class.json'); 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; case 'testSetup': $sFields = $_POST['sFields']; $aFields = Array(); $aFieldsTmp = ($sFields == '') ? Array() : explode(',', $sFields); $i = 1; foreach( $aFieldsTmp as $aField ) { $aFields['gFields'][$i ++] = Array( 'dynaid' => $aField, 'dynafield' => $aField, 'dynavalue' => '' ); } if(sizeof($aFields) > 0) { $G_PUBLISH->AddContent('xmlform', 'xmlform', 'dynaforms/dynaforms_ConditionalShowHideTest', '', $aFields); G::RenderPage('publish', 'raw'); } else { print('false'); } break; case 'save': require_once 'classes/model/FieldCondition.php'; $oFieldCondition = new FieldCondition(); $aDYN = $_SESSION['Current_Dynafom']['Parameters']; $_POST['FCD_UID'] = ($_POST['FCD_UID']=='0') ? '' : $_POST['FCD_UID']; $aData = Array( 'FCD_UID' => Isset($_POST['FCD_UID'])?$_POST['FCD_UID']:'', 'FCD_FUNCTION' => $_POST['function'], 'FCD_FIELDS' => $_POST['fields_selected'], 'FCD_CONDITION' => $_POST['condition'], 'FCD_EVENTS' => $_POST['events'], 'FCD_EVENT_OWNERS' => $_POST['event_owner_selected'], 'FCD_STATUS' => $_POST['enabled'], 'FCD_DYN_UID' => $aDYN['DYN_UID'] ); $oFieldCondition->quickSave($aData); break; case 'delete': require_once 'classes/model/FieldCondition.php'; $oFieldCondition = FieldConditionPeer::retrieveByPk($_POST['FCD_UID']); if( is_object($oFieldCondition) ){ $oFieldCondition->delete(); } break; } } catch( Exception $e) { print($e->getMessage()); } /* *
Array
(
    [request] => save
    [fields_selected] => name
    [event_owner_selected] => name
    [function] => show
    [condition] => (@#aaa @#ccc)/2 >=100
    [load] => 1
    [change] => 1
)
Array
(
    [SYS_LANG] => en
    [URL] => aZNhn2OsaGClqJLQpZprpJOgZseTpGmjaWilpmSfpWtop2SeaZVmomapaJHTpJagqJZu1ZefZZdgnmGmbWilq2jM6aKpog
    [DYN_UID] => 5316266664ac0e33a5cf224021398577
    [PRO_UID] => 6013394054ac0e22b33dc89058523206
    [DYNAFORM_NAME] => main
    [FILE] => 6013394054ac0e22b33dc89058523206/5316266664ac0e33a5cf224021398577_tmp0
)
*/