diff options
Diffstat (limited to 'apps/user_ldap/lib/user/offlineuser.php')
-rw-r--r-- | apps/user_ldap/lib/user/offlineuser.php | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/apps/user_ldap/lib/user/offlineuser.php b/apps/user_ldap/lib/user/offlineuser.php deleted file mode 100644 index aee1a137a96..00000000000 --- a/apps/user_ldap/lib/user/offlineuser.php +++ /dev/null @@ -1,230 +0,0 @@ -<?php -/** - * @author Arthur Schiwon <blizzz@owncloud.com> - * @author Joas Schilling <nickvergessen@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\user_ldap\lib\user; - -use OCA\User_LDAP\Mapping\UserMapping; - -class OfflineUser { - /** - * @var string $ocName - */ - protected $ocName; - /** - * @var string $dn - */ - protected $dn; - /** - * @var string $uid the UID as provided by LDAP - */ - protected $uid; - /** - * @var string $displayName - */ - protected $displayName; - /** - * @var string $homePath - */ - protected $homePath; - /** - * @var string $lastLogin the timestamp of the last login - */ - protected $lastLogin; - /** - * @var string $email - */ - protected $email; - /** - * @var bool $hasActiveShares - */ - protected $hasActiveShares; - /** - * @var \OCP\IConfig $config - */ - protected $config; - /** - * @var \OCP\IDBConnection $db - */ - protected $db; - /** - * @var \OCA\User_LDAP\Mapping\UserMapping - */ - protected $mapping; - - /** - * @param string $ocName - * @param \OCP\IConfig $config - * @param \OCP\IDBConnection $db - * @param \OCA\User_LDAP\Mapping\UserMapping $mapping - */ - public function __construct($ocName, \OCP\IConfig $config, \OCP\IDBConnection $db, UserMapping $mapping) { - $this->ocName = $ocName; - $this->config = $config; - $this->db = $db; - $this->mapping = $mapping; - $this->fetchDetails(); - } - - /** - * remove the Delete-flag from the user. - */ - public function unmark() { - $this->config->setUserValue($this->ocName, 'user_ldap', 'isDeleted', '0'); - } - - /** - * exports the user details in an assoc array - * @return array - */ - public function export() { - $data = array(); - $data['ocName'] = $this->getOCName(); - $data['dn'] = $this->getDN(); - $data['uid'] = $this->getUID(); - $data['displayName'] = $this->getDisplayName(); - $data['homePath'] = $this->getHomePath(); - $data['lastLogin'] = $this->getLastLogin(); - $data['email'] = $this->getEmail(); - $data['hasActiveShares'] = $this->getHasActiveShares(); - - return $data; - } - - /** - * getter for ownCloud internal name - * @return string - */ - public function getOCName() { - return $this->ocName; - } - - /** - * getter for LDAP uid - * @return string - */ - public function getUID() { - return $this->uid; - } - - /** - * getter for LDAP DN - * @return string - */ - public function getDN() { - return $this->dn; - } - - /** - * getter for display name - * @return string - */ - public function getDisplayName() { - return $this->displayName; - } - - /** - * getter for email - * @return string - */ - public function getEmail() { - return $this->email; - } - - /** - * getter for home directory path - * @return string - */ - public function getHomePath() { - return $this->homePath; - } - - /** - * getter for the last login timestamp - * @return int - */ - public function getLastLogin() { - return intval($this->lastLogin); - } - - /** - * getter for having active shares - * @return bool - */ - public function getHasActiveShares() { - return $this->hasActiveShares; - } - - /** - * reads the user details - */ - protected function fetchDetails() { - $properties = array ( - 'displayName' => 'user_ldap', - 'uid' => 'user_ldap', - 'homePath' => 'user_ldap', - 'email' => 'settings', - 'lastLogin' => 'login' - ); - foreach($properties as $property => $app) { - $this->$property = $this->config->getUserValue($this->ocName, $app, $property, ''); - } - - $dn = $this->mapping->getDNByName($this->ocName); - $this->dn = ($dn !== false) ? $dn : ''; - - $this->determineShares(); - } - - - /** - * finds out whether the user has active shares. The result is stored in - * $this->hasActiveShares - */ - protected function determineShares() { - $query = $this->db->prepare(' - SELECT COUNT(`uid_owner`) - FROM `*PREFIX*share` - WHERE `uid_owner` = ? - ', 1); - $query->execute(array($this->ocName)); - $sResult = $query->fetchColumn(0); - if(intval($sResult) === 1) { - $this->hasActiveShares = true; - return; - } - - $query = $this->db->prepare(' - SELECT COUNT(`owner`) - FROM `*PREFIX*share_external` - WHERE `owner` = ? - ', 1); - $query->execute(array($this->ocName)); - $sResult = $query->fetchColumn(0); - if(intval($sResult) === 1) { - $this->hasActiveShares = true; - return; - } - - $this->hasActiveShares = false; - } -} |