/**
  * @return Config
  */
 public function create()
 {
     // Parse config
     $config = new Config();
     // Parse mode
     switch ($this->data['config']['mode']) {
         case Config::MODE_GENERATE:
             $mode = Config::MODE_GENERATE;
             break;
         case Config::MODE_RUN:
             $mode = Config::MODE_RUN;
             break;
         default:
             $mode = Config::MODE_TEST;
     }
     // Set mode (run|generate|test)
     $config->setMode($mode);
     $config->setLogFile($this->data['config']['logFile']);
     $config->setTempDir(isset($this->data['config']['tempDir']) ? $this->data['config']['tempDir'] : sys_get_temp_dir() . '/deployment');
     // Set or detect colors support
     if ($this->data['config']['colors'] !== NULL) {
         $config->setColors((bool) $this->data['config']['colors']);
     } else {
         $config->setColors(PHP_SAPI === 'cli' && (function_exists('posix_isatty') && posix_isatty(STDOUT) || getenv('ConEmuANSI') === 'ON' || getenv('ANSICON') !== FALSE));
     }
     // Set user data
     $config->setUserdata($this->data['userdata']);
     // Set plugins
     $config->setPlugins($this->data['plugins']);
     // Parse sections
     foreach ($this->data['sections'] as $name => $sdata) {
         $section = new Section();
         $section->setName($name);
         $section->setTestMode($sdata['testMode']);
         $section->setLocal($sdata['local']);
         $section->setRemote($sdata['remote']);
         $section->setPreprocess($sdata['preprocess']);
         $section->setPreprocessMasks($sdata['preprocess'] !== FALSE ? $sdata['preprocess'] : []);
         $section->setAllowDelete($sdata['allowdelete']);
         $section->setIgnoreMasks($sdata['ignore']);
         $section->setDeployFile($sdata['deployFile']);
         $section->setAfterCallbacks($sdata['after']);
         $section->setBeforeCallbacks($sdata['before']);
         $section->setPassiveMode($sdata['passiveMode']);
         $section->setPurges($sdata['purge']);
         // Add to config
         $config->addSection($section);
     }
     return $config;
 }
Beispiel #2
0
 function _saveSections()
 {
     require_once 'AMP/Content/Section.inc.php';
     $section_count = 1;
     $form =& $this->get_form();
     while (isset($this->_request_vars[$this->_get_section_fieldname($section_count)]) && $this->_request_vars[$this->_get_section_fieldname($section_count)]) {
         $name = $this->_request_vars[$this->_get_section_fieldname($section_count)];
         $text = $this->_request_vars[$this->_get_section_fieldname($section_count, 'text')];
         $section = new Section(AMP_Registry::getDbcon());
         $section->setName($name);
         $section->setBlurb($text);
         $section->setParent();
         $section->setListType();
         if (!($result = $section->save())) {
             ++$section_count;
             continue;
         }
         $section->publish();
         $section->reorder($section_count);
         $form->setValues(array($this->_get_section_fieldname($section_count) => '', $this->_get_section_fieldname($section_count, 'text') => ''));
         $this->message(sprintf(AMP_TEXT_DATA_SAVE_SUCCESS, $section->getName()));
         ++$section_count;
     }
 }
Beispiel #3
0
if ($cName == "") {
	camp_html_add_msg(getGS('You must fill in the $1 field.','"'.getGS('Name').'"'));
}
if ($cShortName == "")  {
	camp_html_add_msg(getGS('You must fill in the $1 field.','"'.getGS('URL Name').'"'));
}
$isValidShortName = camp_is_valid_url_name($cShortName);

if (!$isValidShortName) {
	camp_html_add_msg(getGS('The $1 field may only contain letters, digits and underscore (_) character.', '"' . getGS('URL Name') . '"'));
}

$editUrl = "/$ADMIN/sections/edit.php?Pub=$Pub&Issue=$Issue&Language=$Language&Section=$Section";
if (!camp_html_has_msgs()) {
	$modified = true;
	$modified &= $sectionObj->setName($cName);
	$modified &= $sectionObj->setDescription($cDescription);
	$modified &= $sectionObj->setSectionTemplateId($cSectionTplId);
	$modified &= $sectionObj->setArticleTemplateId($cArticleTplId);

	if ($cSubs == "a") {
	$numSubscriptionsAdded = Subscription::AddSectionToAllSubscriptions($Pub, $Section);
		if ($numSubscriptionsAdded < 0) {
			$errors[] = getGS('Error updating subscriptions.');
		}
	}
	if ($cSubs == "d") {
		$numSubscriptionsDeleted = Subscription::DeleteSubscriptionsInSection($Pub, $Section);
		if ($numSubscriptionsDeleted < 0) {
			$errors[] = getGS('Error updating subscriptions.');
		}
Beispiel #4
0
 function showEditSectionRes()
 {
     $displaySysAdmin = new DisplaySysAdmin();
     $survey = new Survey($_SESSION['SUID']);
     $seid = getFromSessionParams('seid');
     $content = "";
     if ($seid != '') {
         //edit
         $section = $survey->getSection($seid);
         $_SESSION['SEID'] = $seid;
         $content = $displaySysAdmin->displaySuccess(Language::messageSectionChanged(loadvar(SETTING_NAME)));
     } else {
         //add section!
         if (loadvar(SETTING_NAME) != "") {
             $section = new Section();
             $section->setSuid($_SESSION['SUID']);
             $content = $displaySysAdmin->displaySuccess(Language::messageSectionAdded(loadvar(SETTING_NAME)));
         }
     }
     $checker = new Checker($_SESSION['SUID']);
     if ($seid == '') {
         $checks = $checker->checkName(loadvar(SETTING_NAME));
         if (sizeof($checks) > 0) {
             $content = implode("<br/>", $checks);
             return $this->showAddSection($content);
         }
     }
     //ADD ALL SORTS OF CHECKS!!
     if ($seid != '' || loadvar(SETTING_NAME) != "") {
         $section->setName(trim(loadvar(SETTING_NAME)));
         $section->setDescription(loadvar(SETTING_DESCRIPTION));
         $section->setHidden(loadvar(SETTING_HIDDEN));
         $section->setHeader(loadvarAllowHTML(SETTING_SECTION_HEADER));
         $section->setFooter(loadvarAllowHTML(SETTING_SECTION_FOOTER));
         $section->save();
         $checks = $checker->checkSection($section);
         if (sizeof($checks) > 0) {
             $content .= $displaySysAdmin->displayError(implode("<br/>", $checks));
         }
     }
     /* compile */
     $compiler = new Compiler($_SESSION['SUID'], getSurveyVersion($survey));
     $mess = $compiler->generateSections(array($section));
     $mess = $compiler->generateGetFillsSections(array($section));
     $mess = $compiler->generateInlineFieldsSections(array($section));
     /* update last page */
     $_SESSION['LASTPAGE'] = substr($_SESSION['LASTPAGE'], 0, strripos($_SESSION['LASTPAGE'], "res"));
     if ($seid != '') {
         return $displaySysAdmin->showEditSection($_SESSION['SEID'], $content);
     } else {
         return $displaySysAdmin->showSurvey($content);
     }
 }
 function getAllSection()
 {
     $key = 'section';
     $collection = CacheManager::get($key, TRUE);
     if ($collection) {
         return $collection;
     }
     $collection = new Collection();
     $this->connect();
     $result = $this->conn->query("CALL sp_get_all_section()");
     if ($result) {
         //$row = $result->fetch_assoc();
         while ($obj = $result->fetch_object()) {
             $section = new Section();
             $section->setId($obj->Section_id);
             $section->setName($obj->Section_name);
             $collection->addItem($section, $obj->Section_id);
         }
         $result->close();
         // for fetch_object()
     }
     //$result->free_result(); // for fetch_assoc()
     $this->close();
     CacheManager::set($key, $collection, TRUE);
     return $collection;
 }
Beispiel #6
0
 function _checkNewSection($data, $fieldname)
 {
     if (!(isset($data['new_section_name']) && $data['new_section_name'])) {
         if (!isset($data[$fieldname])) {
             return false;
         }
         return $data[$fieldname];
     }
     require_once 'AMP/Content/Section.inc.php';
     $section = new Section(AMP_Registry::getDbcon());
     $section->setDefaults();
     $section->setName($data['new_section_name']);
     $section->setParent($data['new_section_parent']);
     if (!($result = $section->save())) {
         return $data[$fieldname];
     }
     $section->publish();
     $flash =& AMP_System_Flash::instance();
     $flash->add_message(sprintf(AMP_TEXT_DATA_SAVE_SUCCESS, $section->getName()));
     return $section->id;
 }
Beispiel #7
0
 protected function loadEntities($simulator, $datasources)
 {
     foreach ($datasources->DataSource as $datasource) {
         $datasourceObj = new DataSource($this, (int) $datasource['id'], (string) $datasource['name'], (string) $datasource['type']);
         $datasourceObj->setUri((string) $datasource['uri']);
         $datasourceObj->setMethod((string) $datasource['method']);
         $datasourceObj->setDatabase((int) $datasource['database']);
         $datasourceObj->setDescription((string) $datasource->Description);
         foreach ($datasource->Namespace as $namespace) {
             $datasourceObj->addNamespace((string) $namespace['prefix'], (string) $namespace['uri']);
         }
         $this->datasources[] = $datasourceObj;
     }
     if ($datasources->Databases) {
         foreach ($datasources->Databases->Database as $database) {
             $databaseObj = new Database($this, (int) $database['id'], (string) $database['type'], (string) $database['name']);
             $databaseObj->setLabel((string) $database['label']);
             $databaseObj->setHost((string) $database['host']);
             $databaseObj->setPort((int) $database['port']);
             $databaseObj->setUser((string) $database['user']);
             if ((string) $database['password'] != '') {
                 $databaseObj->setPassword((string) $database['password']);
             } elseif ((string) $database['user'] != '') {
                 try {
                     $user = $this->controller->get('kernel')->getContainer()->getParameter('database_user');
                     if ((string) $database['user'] == $user) {
                         $databaseObj->setPassword($this->controller->get('kernel')->getContainer()->getParameter('database_password'));
                     }
                 } catch (\Exception $e) {
                 }
             }
             $this->databases[] = $databaseObj;
         }
     }
     $this->setName((string) $simulator["name"]);
     $this->setLabel((string) $simulator["label"]);
     $this->setDefaultView((string) $simulator["defaultView"]);
     $this->setReferer((string) $simulator["referer"]);
     $this->setDynamic((string) $simulator['dynamic'] == '1');
     $this->setMemo((string) $simulator['memo'] == '1');
     $this->setDescription((string) $simulator->Description);
     $this->setRelatedInformations($simulator->RelatedInformations);
     $this->setDateFormat((string) $simulator->DataSet['dateFormat']);
     $this->setDecimalPoint((string) $simulator->DataSet['decimalPoint']);
     $this->setMoneySymbol((string) $simulator->DataSet['moneySymbol']);
     $this->setSymbolPosition((string) $simulator->DataSet['symbolPosition']);
     if ($simulator->DataSet) {
         foreach ($simulator->DataSet->children() as $child) {
             if ($child->getName() == "DataGroup") {
                 $datagroup = $child;
                 $dataGroupObj = new DataGroup($this, (int) $datagroup['id'], (string) $datagroup['name']);
                 $dataGroupObj->setLabel((string) $datagroup['label']);
                 $dataGroupObj->setDescription((string) $datagroup->Description);
                 foreach ($datagroup->Data as $data) {
                     $dataGroupObj->addData($this->loadData($data));
                 }
                 $this->datas[] = $dataGroupObj;
             } elseif ($child->getName() == "Data") {
                 $this->datas[] = $this->loadData($child);
             }
         }
     }
     if ($simulator->Profiles) {
         $this->profiles = new Profiles($this);
         $this->profiles->setLabel((string) $simulator->Profiles['label']);
         foreach ($simulator->Profiles->Profile as $profile) {
             $profileObj = new Profile((int) $profile['id'], (string) $profile['name']);
             $profileObj->setLabel((string) $profile['label']);
             $profileObj->setDescription((string) $profile->Description);
             foreach ($profile->Data as $data) {
                 $profileObj->addData((int) $data['id'], (string) $data['default']);
             }
             $this->profiles->addProfile($profileObj);
         }
     }
     if ($simulator->Steps) {
         $step0 = false;
         foreach ($simulator->Steps->Step as $step) {
             $stepObj = new Step($this, (int) $step['id'], (string) $step['name'], (string) $step['label'], (string) $step['template']);
             if ($stepObj->getId() == 0) {
                 $step0 = true;
             }
             $stepObj->setOutput((string) $step['output']);
             $stepObj->setDescription((string) $step->Description);
             $stepObj->setDynamic((string) $step['dynamic'] == '1');
             foreach ($step->Panels->Panel as $panel) {
                 $panelObj = new Panel($stepObj, (int) $panel['id']);
                 $panelObj->setName((string) $panel['name']);
                 $panelObj->setLabel((string) $panel['label']);
                 foreach ($panel->children() as $block) {
                     if ($block->getName() == "FieldSet") {
                         $fieldset = $block;
                         $fieldsetObj = new FieldSet($panelObj, (int) $fieldset['id']);
                         $fieldsetObj->setLegend((string) $fieldset->Legend);
                         if ((string) $fieldset['disposition'] != "") {
                             $fieldsetObj->setDisposition((string) $fieldset['disposition']);
                         }
                         if ((string) $fieldset['display'] != "") {
                             $fieldsetObj->setDisplay((string) $fieldset['display']);
                         }
                         if ((string) $fieldset['popinLink'] != "") {
                             $fieldsetObj->setPopinLink((string) $fieldset['popinLink']);
                         }
                         foreach ($fieldset->children() as $child) {
                             if ($child->getName() == "Columns") {
                                 foreach ($child->Column as $column) {
                                     $columnObj = new Column(null, (int) $column['id'], (string) $column['name'], (string) $column['type']);
                                     $columnObj->setLabel((string) $column['label']);
                                     $fieldsetObj->addColumn($columnObj);
                                 }
                             } elseif ($child->getName() == "FieldRow") {
                                 $fieldrow = $child;
                                 $fieldRowObj = new FieldRow($fieldsetObj, (string) $fieldrow['label']);
                                 $fieldRowObj->setColon((string) $fieldrow['colon'] == '' || (string) $fieldrow['colon'] == '1');
                                 $fieldRowObj->setHelp((string) $fieldrow['help'] == '1');
                                 $fieldRowObj->setEmphasize((string) $fieldrow['emphasize'] == '1');
                                 $fieldRowObj->setDataGroup((string) $fieldrow['datagroup']);
                                 foreach ($fieldrow->Field as $field) {
                                     $fieldObj = new Field($fieldsetObj, (int) $field['position'], (int) $field['data'], (string) $field['label']);
                                     $fieldObj->setUsage((string) $field['usage']);
                                     $fieldObj->setPrompt((string) $field['prompt']);
                                     $fieldObj->setNewline((string) $field['newline'] == '' || (string) $field['newline'] == '1');
                                     $fieldObj->setRequired((string) $field['required'] == '1');
                                     $fieldObj->setVisibleRequired((string) $field['visibleRequired'] == '1');
                                     $fieldObj->setColon((string) $field['colon'] == '' || (string) $field['colon'] == '1');
                                     $fieldObj->setUnderlabel((string) $field['underlabel'] == '1');
                                     $fieldObj->setHelp((string) $field['help'] == '1');
                                     $fieldObj->setEmphasize((string) $field['emphasize'] == '1');
                                     $fieldObj->setExplanation((string) $field['explanation']);
                                     $fieldObj->setExpanded((string) $field['expanded'] == '1');
                                     if ($field->PreNote) {
                                         $noteObj = new FieldNote($this);
                                         $noteObj->setText((string) $field->PreNote);
                                         $fieldObj->setPreNote($noteObj);
                                     }
                                     if ($field->PostNote) {
                                         $noteObj = new FieldNote($this);
                                         $noteObj->setText((string) $field->PostNote);
                                         $fieldObj->setPostNote($noteObj);
                                     }
                                     $fieldRowObj->addField($fieldObj);
                                 }
                                 $fieldsetObj->addField($fieldRowObj);
                             } elseif ($child->getName() == "Field") {
                                 $field = $child;
                                 $fieldObj = new Field($fieldsetObj, (int) $field['position'], (int) $field['data'], (string) $field['label']);
                                 $fieldObj->setUsage((string) $field['usage']);
                                 $fieldObj->setPrompt((string) $field['prompt']);
                                 $fieldObj->setNewline((string) $field['newline'] == '' || (string) $field['newline'] == '1');
                                 $fieldObj->setRequired((string) $field['required'] == '1');
                                 $fieldObj->setVisibleRequired((string) $field['visibleRequired'] == '1');
                                 $fieldObj->setColon((string) $field['colon'] == '' || (string) $field['colon'] == '1');
                                 $fieldObj->setUnderlabel((string) $field['underlabel'] == '1');
                                 $fieldObj->setHelp((string) $field['help'] == '1');
                                 $fieldObj->setEmphasize((string) $field['emphasize'] == '1');
                                 $fieldObj->setExplanation((string) $field['explanation']);
                                 $fieldObj->setExpanded((string) $field['expanded'] == '1');
                                 if ($field->PreNote) {
                                     $noteObj = new FieldNote($this);
                                     $noteObj->setText((string) $field->PreNote);
                                     $fieldObj->setPreNote($noteObj);
                                 }
                                 if ($field->PostNote) {
                                     $noteObj = new FieldNote($this);
                                     $noteObj->setText((string) $field->PostNote);
                                     $fieldObj->setPostNote($noteObj);
                                 }
                                 $fieldsetObj->addField($fieldObj);
                             }
                         }
                         $panelObj->addFieldSet($fieldsetObj);
                     } elseif ($block->getName() == "BlockInfo") {
                         $blockinfo = $block;
                         $blockinfoObj = new BlockInfo($panelObj, (int) $blockinfo['id']);
                         $blockinfoObj->setName((string) $blockinfo['name']);
                         $blockinfoObj->setLabel((string) $blockinfo['label']);
                         foreach ($blockinfo->Chapter as $chapter) {
                             $chapterObj = new Chapter($blockinfoObj, (int) $chapter['id']);
                             $chapterObj->setName((string) $chapter['name']);
                             $chapterObj->setLabel((string) $chapter['label']);
                             $chapterObj->setIcon((string) $chapter['icon']);
                             $chapterObj->setCollapsible((string) $chapter['collapsible'] == '1');
                             foreach ($chapter->Section as $section) {
                                 $sectionObj = new Section($chapterObj, (int) $section['id']);
                                 $sectionObj->setName((string) $section['name']);
                                 $sectionObj->setLabel((string) $section['label']);
                                 $sectionObj->setContent((string) $section->Content);
                                 $sectionObj->setAnnotations((string) $section->Annotations);
                                 $chapterObj->addSection($sectionObj);
                             }
                             $blockinfoObj->addChapter($chapterObj);
                         }
                         $panelObj->addFieldSet($blockinfoObj);
                     }
                 }
                 $stepObj->addPanel($panelObj);
             }
             foreach ($step->ActionList as $actionList) {
                 foreach ($actionList as $action) {
                     $actionObj = new Action($stepObj, (string) $action['name'], (string) $action['label']);
                     $actionObj->setClass((string) $action['class']);
                     $actionObj->setWhat((string) $action['what']);
                     $actionObj->setFor((string) $action['for']);
                     $actionObj->setUri((string) $action['uri']);
                     $stepObj->addAction($actionObj);
                 }
             }
             foreach ($step->FootNotes as $footnotes) {
                 $footnotesObj = new FootNotes($stepObj);
                 if ((string) $footnotes['position'] != "") {
                     $footnotesObj->setPosition((string) $footnotes['position']);
                 }
                 foreach ($footnotes as $footnote) {
                     $footnoteObj = new FootNote($stepObj, (int) $footnote['id']);
                     $footnoteObj->setText((string) $footnote);
                     $footnotesObj->addFootNote($footnoteObj);
                 }
                 $stepObj->setFootNotes($footnotesObj);
             }
             $this->steps[] = $stepObj;
         }
         if (!$step0) {
             $this->setDynamic(false);
         }
     }
     if ($simulator->Sites) {
         foreach ($simulator->Sites->Site as $site) {
             $siteObj = new Site($this, (int) $site['id'], (string) $site['name'], (string) $site['home']);
             $this->sites[] = $siteObj;
         }
     }
     if ($simulator->Sources) {
         foreach ($simulator->Sources->Source as $source) {
             $sourceObj = new Source($this, (int) $source['id'], (string) $source['datasource'], (string) $source['returnType']);
             $sourceObj->setRequest((string) $source['request']);
             $sourceObj->setSeparator((string) $source['separator']);
             $sourceObj->setDelimiter((string) $source['delimiter']);
             $sourceObj->setReturnPath((string) $source['returnPath']);
             foreach ($source->Parameter as $parameter) {
                 $parameterObj = new Parameter($sourceObj, (string) $parameter['type']);
                 $parameterObj->setName((string) $parameter['name']);
                 $parameterObj->setFormat((string) $parameter['format']);
                 $parameterObj->setData((int) $parameter['data']);
                 $sourceObj->addParameter($parameterObj);
             }
             $this->sources[] = $sourceObj;
         }
     }
     if ($simulator->BusinessRules) {
         foreach ($simulator->BusinessRules->BusinessRule as $brule) {
             $businessRuleObj = new BusinessRule($this, 'rule-' . mt_rand(), (int) $brule['id'], (string) $brule['name']);
             $businessRuleObj->setLabel((string) $brule['label']);
             $businessRuleObj->setConditions((string) $brule->Conditions['value']);
             if (preg_match_all("/#(\\d+)/", (string) $brule->Conditions['value'], $matches)) {
                 foreach ($matches[1] as $id) {
                     $data = $this->getDataById($id);
                     $data->addRuleDependency((int) $brule['id']);
                 }
             }
             if ($brule->Conditions->Condition) {
                 $businessRuleObj->setConnector($this->loadConnector($brule->Conditions->Condition));
             } else {
                 if ($brule->Conditions->Connector) {
                     $businessRuleObj->setConnector($this->loadConnector($brule->Conditions->Connector));
                 }
             }
             foreach ($brule->IfActions->Action as $action) {
                 $ruleActionObj = new RuleAction((int) $action['id'], (string) $action['name']);
                 $ruleActionObj->setTarget((string) $action['target']);
                 $ruleActionObj->setData((string) $action['data']);
                 $ruleActionObj->setDatagroup((string) $action['datagroup']);
                 $ruleActionObj->setStep((string) $action['step']);
                 $ruleActionObj->setPanel((string) $action['panel']);
                 $ruleActionObj->setFieldset((string) $action['fieldset']);
                 $ruleActionObj->setField((string) $action['field']);
                 $ruleActionObj->setBlockinfo((string) $action['blockinfo']);
                 $ruleActionObj->setChapter((string) $action['chapter']);
                 $ruleActionObj->setSection((string) $action['section']);
                 $ruleActionObj->setPrenote((string) $action['prenote']);
                 $ruleActionObj->setPostnote((string) $action['postnote']);
                 $ruleActionObj->setFootnote((string) $action['footnote']);
                 $ruleActionObj->setAction((string) $action['action']);
                 $ruleActionObj->setChoice((string) $action['choice']);
                 $ruleActionObj->setValue((string) $action['value']);
                 $businessRuleObj->addIfAction($ruleActionObj);
                 if ((string) $action['name'] == "setAttribute" && preg_match_all("/#(\\d+)/", (string) $action['value'], $matches)) {
                     foreach ($matches[1] as $id) {
                         $data = $this->getDataById($id);
                         $data->addRuleDependency((int) $brule['id']);
                     }
                 }
             }
             foreach ($brule->ElseActions->Action as $action) {
                 $ruleActionObj = new RuleAction((int) $action['id'], (string) $action['name']);
                 $ruleActionObj->setTarget((string) $action['target']);
                 $ruleActionObj->setData((string) $action['data']);
                 $ruleActionObj->setDatagroup((string) $action['datagroup']);
                 $ruleActionObj->setStep((string) $action['step']);
                 $ruleActionObj->setPanel((string) $action['panel']);
                 $ruleActionObj->setFieldset((string) $action['fieldset']);
                 $ruleActionObj->setField((string) $action['field']);
                 $ruleActionObj->setBlockinfo((string) $action['blockinfo']);
                 $ruleActionObj->setChapter((string) $action['chapter']);
                 $ruleActionObj->setSection((string) $action['section']);
                 $ruleActionObj->setPrenote((string) $action['prenote']);
                 $ruleActionObj->setPostnote((string) $action['postnote']);
                 $ruleActionObj->setFootnote((string) $action['footnote']);
                 $ruleActionObj->setAction((string) $action['action']);
                 $ruleActionObj->setChoice((string) $action['choice']);
                 $ruleActionObj->setValue((string) $action['value']);
                 $businessRuleObj->addElseAction($ruleActionObj);
                 if ((string) $action['name'] == "setAttribute" && preg_match_all("/#(\\d+)/", (string) $action['value'], $matches)) {
                     foreach ($matches[1] as $id) {
                         $data = $this->getDataById($id);
                         $data->addRuleDependency((int) $brule['id']);
                     }
                 }
             }
             $this->businessrules[] = $businessRuleObj;
         }
     }
 }