Exemplo n.º 1
0
 public function afterSave()
 {
     if ($this->getProperty('clearCache')) {
         $this->modx->cacheManager->refresh();
     }
     return parent::afterSave();
 }
Exemplo n.º 2
0
 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();
 }
Exemplo n.º 3
0
 public function initialize()
 {
     $initialized = parent::initialize();
     if (!$this->object->checkPolicy('copy')) {
         return $this->modx->lexicon('access_denied');
     }
     return $initialized;
 }
Exemplo n.º 4
0
 /**
  * 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();
 }
Exemplo n.º 6
0
 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();
 }
Exemplo n.º 7
0
 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();
 }
Exemplo n.º 9
0
 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();
 }
Exemplo n.º 10
0
 public function afterSave()
 {
     $this->duplicateUserGroupAccess();
     $this->duplicateSets();
     return parent::afterSave();
 }
Exemplo n.º 11
0
 public function afterSave()
 {
     $this->fireDuplicateEvent();
     return parent::afterSave();
 }
Exemplo n.º 12
0
 public function afterSave()
 {
     $this->duplicateRules();
     return parent::afterSave();
 }
Exemplo n.º 13
0
 public function beforeSave()
 {
     $this->duplicatePlacements();
     return parent::beforeSave();
 }