| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- /*
- * This file is part of MODX Revolution.
- *
- * Copyright (c) MODX, LLC. All Rights Reserved.
- *
- * For complete copyright and license information, see the COPYRIGHT and LICENSE
- * files found in the top-level directory of this distribution.
- */
- /**
- * Represents extended user profile data.
- *
- * @property int $internalKey The ID of the modUser record related to this User
- * @property string $fullname A full name for the User
- * @property string $email An email address for the User
- * @property string $phone A phone number for the User
- * @property string $mobilephone A mobile phone number for the User
- * @property boolean $blocked Whether or not this User is blocked, or prevented from logging in
- * @property int $blockeduntil If set, the User will be blocked until this date
- * @property int $blockedafter If set, the User will be blocked after this date
- * @property int $logincount The total number of times this User has logged into MODX
- * @property int $lastlogin A UNIX timestamp showing the last time the User logged in
- * @property int $thislogin A UNIX timestamp showing the time this User currently logged in
- * @property int $failedlogincount The number of failed logins this User has accumulated
- * @property int $sessionid The PHP sessionid of the User
- * @property int $dob The date of birth of the User, in UNIX timestamp format
- * @property int gender The gender of the user; 1 for male, 2 for female, 0 for unknown
- * @property string $address The address of the User
- * @property string $country The country the User resides in
- * @property string $city The city of the User
- * @property string $state The state, province or region for the User
- * @property string $zip The postal code for the User
- * @property string $fax A facsimile address for the User
- * @property string $photo Deprecated. Can still be used to store a photo location for the user.
- * @property string $comment Any user-provided comments
- * @property string $website The website for the User
- * @property json $extended A JSON array of extended properties that can be used to store custom fields for the User
- *
- * @see modUser
- * @package modx
- */
- class modUserProfile extends xPDOSimpleObject
- {
- /**
- * Overrides xPDOObject::save to fire modX-specific events.
- *
- * {@inheritDoc}
- */
- public function save($cacheFlag = null)
- {
- $isNew = $this->isNew();
- if ($this->xpdo instanceof modX) {
- $this->xpdo->invokeEvent('OnUserProfileBeforeSave', array(
- 'mode' => $isNew ? modSystemEvent::MODE_NEW : modSystemEvent::MODE_UPD,
- 'userprofile' => &$this,
- 'cacheFlag' => $cacheFlag,
- ));
- }
- $saved = parent:: save($cacheFlag);
- if ($saved && $this->xpdo instanceof modX) {
- $this->xpdo->invokeEvent('OnUserProfileSave', array(
- 'mode' => $isNew ? modSystemEvent::MODE_NEW : modSystemEvent::MODE_UPD,
- 'userprofile' => &$this,
- 'cacheFlag' => $cacheFlag,
- ));
- }
- return $saved;
- }
- /**
- * Overrides xPDOObject::remove to fire modX-specific events
- *
- * {@inheritDoc}
- */
- public function remove(array $ancestors = array())
- {
- if ($this->xpdo instanceof modX) {
- $this->xpdo->invokeEvent('OnUserProfileBeforeRemove', array(
- 'userprofile' => &$this,
- 'ancestors' => $ancestors,
- ));
- }
- $removed = parent:: remove($ancestors);
- if ($this->xpdo instanceof modX) {
- $this->xpdo->invokeEvent('OnUserProfileRemove', array(
- 'userprofile' => &$this,
- 'ancestors' => $ancestors,
- ));
- }
- return $removed;
- }
- }
|