public function afterSave() { if ($this->getProperty('clearCache')) { $this->modx->cacheManager->refresh(); } return parent::afterSave(); }
public function beforeSave() { /* copy profile */ $profile = $this->object->getOne('Profile'); if ($profile) { /** @var modUserProfile $newProfile */ $newProfile = $this->modx->newObject('modUserProfile'); $newProfile->fromArray($profile->toArray()); $this->newObject->addOne($newProfile); } /* copy user group memberships */ $memberships = $this->object->getMany('UserGroupMembers'); $newMemberships = array(); /** @var modUserGroupMember $membership */ foreach ($memberships as $membership) { /** @var modUserGroupMember $newMembership */ $newMembership = $this->modx->newObject('modUserGroupMember'); $newMembership->fromArray($membership->toArray()); $newMemberships[] = $newMembership; } $this->newObject->addMany($newMemberships); /* copy settings */ $settings = $this->object->getMany('UserSettings'); $newSettings = array(); /** @var modUserSetting $setting */ foreach ($settings as $setting) { /** @var modUserSetting $newSetting */ $newSetting = $this->modx->newObject('modUserSetting'); $newSetting->fromArray($setting->toArray()); $newSetting->set('key', $setting->get('key')); $newSettings[] = $newSetting; } $this->newObject->addMany($newSettings); return parent::beforeSave(); }
public function initialize() { $initialized = parent::initialize(); if (!$this->object->checkPolicy('copy')) { return $this->modx->lexicon('access_denied'); } return $initialized; }
/** * Validate the passed properties for the new context * @return boolean */ public function beforeSave() { $newKey = $this->getProperty('newkey'); /* make sure the new key is a valid PHP identifier with no underscore characters */ if (empty($newKey) || !preg_match('/^[a-zA-Z\\x7f-\\xff][a-zA-Z0-9\\x2d-\\x2f\\x7f-\\xff]*$/', $newKey)) { $this->addFieldError('newkey', $this->modx->lexicon('context_err_ns_key')); } return parent::beforeSave(); }
public function afterSave() { $buttons = $this->object->getMany('Button'); /** @var qsbButton $button */ foreach ($buttons as $button) { $buttonArray = $button->toArray(); unset($buttonArray['id']); /** @var qsbButton $newButton */ $newButton = $this->modx->newObject('qsbButton'); $newButton->fromArray($buttonArray); $newButton->set('set', $this->newObject->get('id')); $newButton->save(); } return parent::afterSave(); }
public function beforeSave() { $copyEls = (bool) $this->getProperty('copyels', false); if ($copyEls) { $els = $this->object->getMany('Elements'); $pses = array(); foreach ($els as $el) { $pse = $this->modx->newObject('modElementPropertySet'); $pse->set('element_class', $el->get('element_class')); $pse->set('element', $el->get('element')); $pses[] = $pse; } $this->newObject->addMany($pses); } return parent::beforeSave(); }
public function afterSave() { $permissions = $this->object->getMany('Permissions'); /* save new permissions for template */ if (!empty($permissions)) { /** @var modAccessPermission $permission */ foreach ($permissions as $permission) { /** @var modAccessPermission $newPermission */ $newPermission = $this->modx->newObject('modAccessPermission'); $newPermission->set('name', $permission->get('name')); $newPermission->set('description', $permission->get('description')); $newPermission->set('value', $permission->get('value')); $newPermission->set('template', $this->newObject->get('id')); $newPermission->save(); } } return parent::afterSave(); }
public function beforeSave() { $this->newObject->set('status', sTaskRun::STATUS_SCHEDULED); $this->newObject->set('executedon', null); $this->newObject->set('errors', null); $this->newObject->set('message', null); // get timing or create one $timing = $this->getProperty('timing_new', 0); if (empty($timing)) { $timingNr = $this->getProperty('timing_number', 1); $timingInterval = $this->getProperty('timing_interval', 'minute') . ($timingNr != 1 ? 's' : ''); // to make it: minutes, hours, months.. etc. $timing = strtotime('+' . $timingNr . ' ' . $timingInterval); } if (empty($timing)) { $this->addFieldError('timing', $this->modx->lexicon('scheduler.error.no-timing')); } $this->newObject->setTiming($timing, false); return parent::beforeSave(); }
public function beforeSave() { /* copy profile */ $profile = $this->object->getOne('Profile'); if ($profile) { // Reset some modUserProfile fields $profileData = array_merge($profile->toArray(), array('logincount' => '', 'lastlogin' => '', 'thislogin' => '', 'failedlogincount' => '', 'sessionid' => '')); unset($profileData['internalKey']); /** @var modUserProfile $newProfile */ $newProfile = $this->modx->newObject('modUserProfile'); $newProfile->fromArray($profileData); $this->newObject->addOne($newProfile); } /* copy user group memberships */ $memberships = $this->object->getMany('UserGroupMembers'); $newMemberships = array(); /** @var modUserGroupMember $membership */ foreach ($memberships as $membership) { /** @var modUserGroupMember $newMembership */ $newMembership = $this->modx->newObject('modUserGroupMember'); $newMembership->fromArray($membership->toArray()); $newMemberships[] = $newMembership; } $this->newObject->addMany($newMemberships); /* copy settings */ $settings = $this->object->getMany('UserSettings'); $newSettings = array(); /** @var modUserSetting $setting */ foreach ($settings as $setting) { /** @var modUserSetting $newSetting */ $newSetting = $this->modx->newObject('modUserSetting'); $newSetting->fromArray($setting->toArray()); $newSetting->set('key', $setting->get('key')); $newSettings[] = $newSetting; } $this->newObject->addMany($newSettings); // Unset some modUser fields $this->object->set('session_stale', null); return parent::beforeSave(); }
public function afterSave() { $this->duplicateUserGroupAccess(); $this->duplicateSets(); return parent::afterSave(); }
public function afterSave() { $this->fireDuplicateEvent(); return parent::afterSave(); }
public function afterSave() { $this->duplicateRules(); return parent::afterSave(); }
public function beforeSave() { $this->duplicatePlacements(); return parent::beforeSave(); }