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'); $_DATA = $modx->fromJSON($scriptProperties['data']); /* get rule */ if (empty($_DATA['id'])) return $modx->error->failure($modx->lexicon('rule_err_ns')); $rule = $modx->getObject('modActionDom',$_DATA['id']); if ($rule == null) return $modx->error->failure($modx->lexicon('rule_err_nf')); $_DATA['active'] = !empty($_DATA['active']) ? 1 : 0; $_DATA['for_parent'] = !empty($_DATA['for_parent']) ? 1 : 0; /* set fields */ $rule->fromArray($_DATA); $rule->set('action',$_DATA['action_id']); if (isset($_DATA['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($_DATA['principal'])) { $access = $modx->newObject('modAccessActionDom'); $access->set('principal',$_DATA['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);