Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /home/palandch/www/core/model/modx/processors/security/forms/rule/ |
<?php /** * @package modx * @subpackage processors.security.forms.rule */ if (!$modx->hasPermission('customize_forms')) return $modx->error->failure($modx->lexicon('permission_denied')); $modx->lexicon->load('formcustomization'); /* get rule */ if (empty($scriptProperties['id'])) return $modx->error->failure($modx->lexicon('rule_err_ns')); $rule = $modx->getObject('modActionDom',$scriptProperties['id']); if ($rule == null) return $modx->error->failure($modx->lexicon('rule_err_nf')); $scriptProperties['active'] = !empty($scriptProperties['active']) ? 1 : 0; $scriptProperties['for_parent'] = !empty($scriptProperties['for_parent']) ? 1 : 0; /* set fields */ $rule->fromArray($scriptProperties); $rule->set('action',$scriptProperties['action_id']); if (isset($scriptProperties['principal'])) { /* first remove old access record */ $access = $modx->getObject('modAccessActionDom',array('target' => $rule->get('id'))); if ($access) $access->remove(); /* if changing to a new usergroup, create access record */ if (!empty($scriptProperties['principal'])) { $access = $modx->newObject('modAccessActionDom'); $access->set('principal',$scriptProperties['principal']); $access->set('principal_class','modUserGroup'); $access->set('target',$rule->get('id')); $access->set('authority',9999); $access->set('policy',0); $access->save(); } } /* save rule */ if ($rule->save() == false) { return $modx->error->failure($modx->lexicon('rule_err_save')); } return $modx->error->success('',$rule);