final function newContent() { return AnwContentSettings::newContent($this); }
static function rebuildContentFromArray($oContentFieldsContainer, $amArray) { $oContent = new AnwContentSettings($oContentFieldsContainer); $oContent->loadContentFromArray($amArray); return $oContent; }
final function rebuildContentFromXml($sDefaultValue) { return AnwContentSettings::rebuildContentFromXml($this, $sDefaultValue); }
function initializeComponent() { //set default permissions // first, make sure that config is writable $sConfigFileOverride = $this->getConfigurableFileOverride(); if (!is_writable($sConfigFileOverride)) { $sError = Anwi18n::g_err_need_write_file($sConfigFileOverride); throw new AnwComponentInitializeException($sError); } //find out which actions should be allowed by default to everyone list($asGrantActionGlobal, $asGrantActionPage) = self::getGrantAllUsersByDefaultActions(); $oCfgContent = $this->getConfigurableContent(); $oSubContentTabACL = $oCfgContent->getSubContent(self::CFG_ACLS); //read existing actionpage rules $aoSubContentsACLs = $oSubContentTabACL->getSubContents(AnwISettings_aclsconfigrule_acls::FIELD_RULES); $oContentFieldACLs = $oSubContentTabACL->getContentFieldsContainer()->getContentField(AnwISettings_aclsconfigrule_acls::FIELD_RULES); //create a new actionpage rule $aaSubContentValue = array(AnwISettings_aclsconfigrule_rule::FIELD_PERMISSION_USER => array(AnwISettings_aclsconfigrule_permission_user::FIELD_POLICY => AnwISettings_aclsconfigrule_permission_user::POLICY_ALL_USERS), AnwISettings_aclsconfigrule_rule::FIELD_PERMISSION_ACTIONGLOBAL => array(AnwISettings_aclsconfigrule_permission_actionglobal::FIELD_POLICY => AnwISettings_aclsconfigrule_permission_actionglobal::POLICY_SELECTED_ACTIONS, AnwISettings_aclsconfigrule_permission_actionglobal::FIELD_ACTIONS => $asGrantActionGlobal), AnwISettings_aclsconfigrule_rule::FIELD_PERMISSION_CONTENT => array(array(AnwISettings_aclsconfigrule_permission_content::FIELD_PERMISSION_ACTIONPAGE => array(AnwISettings_aclsconfigrule_permission_actionpage::FIELD_POLICY => AnwISettings_aclsconfigrule_permission_actionpage::POLICY_SELECTED_ACTIONS, AnwISettings_aclsconfigrule_permission_actionpage::FIELD_ACTIONS => $asGrantActionPage), AnwISettings_aclsconfigrule_permission_content::FIELD_CONTENTMATCH => array()))); $oNewSubContentACLs = AnwContentSettings::rebuildContentFromArray($oContentFieldACLs, $aaSubContentValue); //add the actionpage rule $aoSubContentsACLs[] = $oNewSubContentACLs; $oSubContentTabACL->setSubContents(AnwISettings_aclsconfigrule_acls::FIELD_RULES, $aoSubContentsACLs); $oCfgContent->setSubContents(self::CFG_ACLS, array($oSubContentTabACL)); //print $oCfgContent->toXmlString(); //exit; //write config $oCfgContent->writeSettingsOverride(); //reload configuration to update cache $this->doInit(true); //execution log $sInitializationLog = $this->t_contentfieldsettings("init_rules_intro_list"); $sInitializationLog .= "<ul>"; $sListActionGlobal = count($asGrantActionGlobal) > 0 ? implode(', ', $asGrantActionGlobal) : $this->t_contentfieldsettings("init_rules_action_none"); $sListActionPage = count($asGrantActionPage) > 0 ? implode(', ', $asGrantActionPage) : $this->t_contentfieldsettings("init_rules_action_none"); $sInitializationLog .= "<li>" . $this->t_contentfieldsettings("init_rules_actionglobal", array('actions' => $sListActionGlobal)) . "</li>"; $sInitializationLog .= "<li>" . $this->t_contentfieldsettings("init_rules_actionpage", array('actions' => $sListActionPage)) . "</li>"; $sInitializationLog .= "</ul>"; return $sInitializationLog; }