Example #1
0
    public function deleteLanguage($dyn_uid, $lang)
    {
        $con = Propel::getConnection(DynaformPeer::DATABASE_NAME);
        $con->begin();
        $oPro = DynaformPeer::retrieveByPk($dyn_uid);

        $dyn_labels = \G::json_decode($oPro->getDynLabel());
        unset($dyn_labels->{$lang});

        $oPro->setDynLabel(G::json_encode($dyn_labels));
        $oPro->save();
        $con->commit();
    }
Example #2
0
 /**
  * verify if Dynaform row specified in [DynUid] exists.
  *
  * @param string $sProUid the uid of the Prolication
  */
 public function dynaformExists($DynUid)
 {
     $con = Propel::getConnection(TaskPeer::DATABASE_NAME);
     try {
         $oDyn = DynaformPeer::retrieveByPk($DynUid);
         if (is_object($oDyn) && get_class($oDyn) == 'Dynaform') {
             return true;
         } else {
             return false;
         }
     } catch (Exception $oError) {
         throw $oError;
     }
 }
Example #3
0
 public function getConditionScript($DYN_UID)
 {
     require_once 'classes/model/Dynaform.php';
     G::LoadSystem('dynaformhandler');
     $oDynaform = DynaformPeer::retrieveByPk($DYN_UID);
     $PRO_UID = $oDynaform->getProUid();
     $this->oDynaformHandler = new dynaFormHandler(PATH_DYNAFORM . "{$PRO_UID}/{$DYN_UID}" . '.xml');
     $aDynaformFields = $this->oDynaformHandler->getFieldNames();
     for ($i = 0; $i < count($aDynaformFields); $i++) {
         $aDynaformFields[$i] = "'{$aDynaformFields[$i]}'";
     }
     $sDynaformFieldsAsStrings = implode(',', $aDynaformFields);
     $aRows = $this->getAllByDynUid($DYN_UID, 'active');
     $sCode = '';
     if (sizeof($aRows) != 0) {
         foreach ($aRows as $aRow) {
             $hashCond = md5($aRow['FCD_UID']);
             $sCondition = $this->parseCondition($aRow['FCD_CONDITION']);
             $sCondition = addslashes($sCondition);
             $sCode .= "function __condition__{$hashCond}() { ";
             $sCode .= "if( eval(\"{$sCondition}\") ) { ";
             $aFields = explode(',', $aRow['FCD_FIELDS']);
             switch ($aRow['FCD_FUNCTION']) {
                 case 'show':
                     foreach ($aFields as $aField) {
                         $sCode .= "showRowById('{$aField}');";
                     }
                     break;
                 case 'showOnly':
                     $sCode .= "hideRowsById(Array({$sDynaformFieldsAsStrings}));";
                     foreach ($aFields as $aField) {
                         $sCode .= "showRowById('{$aField}');";
                     }
                     break;
                 case 'showAll':
                     $sCode .= "showRowsById(Array({$sDynaformFieldsAsStrings}));";
                     break;
                 case 'hide':
                     foreach ($aFields as $aField) {
                         $sCode .= "hideRowById('{$aField}');";
                     }
                     break;
                 case 'hideOnly':
                     $sCode .= "showRowsById(Array({$sDynaformFieldsAsStrings}));";
                     foreach ($aFields as $aField) {
                         $sCode .= "hideRowById('{$aField}');";
                     }
                     break;
                 case 'hideAll':
                     $aDynaFields = array();
                     $aEventOwner = explode(',', $aRow['FCD_EVENT_OWNERS']);
                     foreach ($aDynaformFields as $sDynaformFields) {
                         if (!in_array(str_replace("'", "", $sDynaformFields), $aEventOwner)) {
                             $aDynaFields[] = $sDynaformFields;
                         }
                     }
                     $sDynaformFieldsAsStrings = implode(',', $aDynaFields);
                     $sCode .= "hideRowsById(Array({$sDynaformFieldsAsStrings}));";
                     break;
             }
             $sCode .= "  } ";
             $sCode .= "} ";
             $aFieldOwners = explode(',', $aRow['FCD_EVENT_OWNERS']);
             $aEvents = explode(',', $aRow['FCD_EVENTS']);
             if (in_array('onchange', $aEvents)) {
                 foreach ($aFieldOwners as $aField) {
                     //verify the field type
                     $node = $this->oDynaformHandler->getNode($aField);
                     $nodeType = $node->getAttribute('type');
                     switch ($nodeType) {
                         case 'checkbox':
                             $sJSEvent = 'click';
                             break;
                         case 'text':
                         case 'textarea':
                         case 'currency':
                         case 'percentage':
                             $sJSEvent = 'blur';
                             break;
                         default:
                             $sJSEvent = 'change';
                             break;
                     }
                     $sCode .= "leimnud.event.add(getField('{$aField}'), '{$sJSEvent}', function() {";
                     $sCode .= "  __condition__{$hashCond}(); ";
                     $sCode .= "}.extend(getField('{$aField}')));";
                 }
             }
             if (in_array('onload', $aEvents)) {
                 foreach ($aFieldOwners as $aField) {
                     $sCode .= "  __condition__{$hashCond}(); ";
                 }
             }
         }
         return $sCode;
     } else {
         return null;
     }
 }