Exemplo n.º 1
0
Arquivo: och.php Projeto: arun-TK/chat
 private function createInitConvs()
 {
     $initConvs = array();
     $convs = $this->userMapper->findByUser($this->app->getUserId());
     $usersAllreadyInConv = array();
     foreach ($convs as $conv) {
         $users = $this->userMapper->findUsersInConv($conv->getConversationId());
         // Find the correct contact for the correct user
         $this->messages->setRequestData(array("conv_id" => $conv->getConversationId(), 'user' => $this->app->getCurrentUser(), "limit" => array(0, 30)));
         $messages = $this->messages->execute();
         $messages = $messages['messages'];
         $files = $this->attachmentMapper->findRawByConv($conv->getConversationId());
         $initConvs[$conv->getConversationId()] = array("id" => $conv->getConversationId(), "users" => $users, "backend" => "och", "messages" => $messages, "files" => $files);
         if (count($users) === 2) {
             foreach ($users as $user) {
                 if ($user !== \OCP\User::getUser()) {
                     $usersAllreadyInConv[] = $user;
                 }
             }
         }
         $this->join->setRequestData(array("conv_id" => $conv->getConversationId(), "user" => $this->app->getCurrentUser()));
         $this->join->execute();
     }
     $allUsers = \OCP\User::getUsers();
     $users = array_diff($allUsers, $usersAllreadyInConv);
     foreach ($users as $user) {
         if ($user !== \OCP\User::getUser()) {
             $this->startconv->setRequestData(array("user" => $this->app->getCurrentUser(), "user_to_invite" => array($this->app->getUserasContact($user))));
             $info = $this->startconv->execute();
             $initConvs[$info['conv_id']] = array("id" => $info['conv_id'], "users" => array(\OCP\User::getUser(), $user), "backend" => "och", "messages" => array());
         }
     }
     self::$initConvs = $initConvs;
 }
Exemplo n.º 2
0
 public function __construct(ICache $cache, $userId)
 {
     parent::__construct($cache);
     // check if userId is a real ownCloud user
     if (!in_array($userId, \OCP\User::getUsers())) {
         throw new \Exception('Second argument must be an ownCloud user ID');
     }
     $this->userId = $userId;
     $this->processImage();
 }
 /**
  * @NoAdminRequired
  */
 public function getEnabled()
 {
     $uids = \OCP\User::getUsers();
     $config = \OC::$server->getConfig();
     $userValue = $config->getUserValueForUsers('core', 'enabled', $uids);
     $max = sizeof($uids);
     for ($i = 0; $i < $max; $i++) {
         $name = $uids[$i];
         $userValue[$name] = !array_key_exists($name, $userValue) || $userValue[$name] == 'true' || empty($userValue[$name]) ? true : false;
     }
     return new DataResponse($userValue);
 }
Exemplo n.º 4
0
 /**
  * iterate through users and reorganize the folder structure
  */
 public function reorganizeFolderStructure()
 {
     $this->reorganizeSystemFolderStructure();
     $limit = 500;
     $offset = 0;
     do {
         $users = \OCP\User::getUsers('', $limit, $offset);
         foreach ($users as $user) {
             $this->reorganizeFolderStructureForUser($user);
         }
         $offset += $limit;
     } while (count($users) >= $limit);
 }
Exemplo n.º 5
0
 public function setRequestData(array $requestData)
 {
     if (empty($requestData['conv_id'])) {
         throw new RequestDataInvalid(ApiController::NO_SESSION_ID);
     }
     if (empty($requestData['user_to_invite'])) {
         throw new RequestDataInvalid(ApiController::NO_USER_TO_INVITE);
     }
     if ($requestData['user']['id'] === $requestData['user_to_invite']) {
         throw new RequestDataInvalid(ApiController::USER_EQUAL_TO_USER_TO_INVITE);
     }
     if (!in_array($requestData['user_to_invite']['id'], \OCP\User::getUsers())) {
         throw new RequestDataInvalid(ApiController::USER_TO_INVITE_NOT_OC_USER);
     }
     $this->requestData = $requestData;
 }
Exemplo n.º 6
0
 public function reorganizeFolderStructure()
 {
     $this->createPathForKeys('/files_encryption');
     // backup system wide folders
     $this->backupSystemWideKeys();
     // rename public keys
     $this->renamePublicKeys();
     // rename system wide mount point
     $this->renameFileKeys('', '/files_encryption/keyfiles');
     // rename system private keys
     $this->renameSystemPrivateKeys();
     // delete old system wide folders
     $this->view->deleteAll('/public-keys');
     $this->view->deleteAll('/owncloud_private_key');
     $this->view->deleteAll('/files_encryption/share-keys');
     $this->view->deleteAll('/files_encryption/keyfiles');
     $users = \OCP\User::getUsers();
     foreach ($users as $user) {
         // backup all keys
         if ($this->backupUserKeys($user)) {
             // create new 'key' folder
             $this->view->mkdir($user . '/files_encryption/keys');
             // rename users private key
             $this->renameUsersPrivateKey($user);
             // rename file keys
             $path = $user . '/files_encryption/keyfiles';
             $this->renameFileKeys($user, $path);
             $trashPath = $user . '/files_trashbin/keyfiles';
             if (\OC_App::isEnabled('files_trashbin') && $this->view->is_dir($trashPath)) {
                 $this->renameFileKeys($user, $trashPath, true);
                 $this->view->deleteAll($trashPath);
                 $this->view->deleteAll($user . '/files_trashbin/share-keys');
             }
             // delete old folders
             $this->deleteOldKeys($user);
         }
     }
 }
Exemplo n.º 7
0
 private function getUserWithAccessToMountPoint($users, $groups)
 {
     $result = array();
     if (in_array('all', $users)) {
         $result = \OCP\User::getUsers();
     } else {
         $result = array_merge($result, $users);
         foreach ($groups as $group) {
             $result = array_merge($result, \OC_Group::usersInGroup($group));
         }
     }
     return $result;
 }
Exemplo n.º 8
0
 public function testGetUsersViaAPISearchEmptyResult()
 {
     $access = $this->getAccessMock();
     $this->prepareAccessForGetUsers($access);
     $backend = new UserLDAP($access, $this->getMock('\\OCP\\IConfig'));
     \OC_User::useBackend($backend);
     $result = \OCP\User::getUsers('nix');
     $this->assertEquals(0, count($result));
 }
Exemplo n.º 9
0
 public function testGetUsersViaAPI()
 {
     $access = $this->getAccessMock();
     $this->prepareAccessForGetUsers($access);
     $backend = new UserLDAP($access);
     \OC_User::useBackend($backend);
     $result = \OCP\User::getUsers();
     $this->assertEquals(3, count($result));
     $result = \OCP\User::getUsers('', 1, 2);
     $this->assertEquals(1, count($result));
     $result = \OCP\User::getUsers('', 2, 1);
     $this->assertEquals(2, count($result));
     $result = \OCP\User::getUsers('yo');
     $this->assertEquals(2, count($result));
     $result = \OCP\User::getUsers('nix');
     $this->assertEquals(0, count($result));
 }
Exemplo n.º 10
0
<?php

$installedVersion = OCP\Config::getAppValue('files_versions', 'installed_version');
// move versions to new directory
if (version_compare($installedVersion, '1.0.2', '<')) {
    $users = \OCP\User::getUsers();
    $datadir = \OCP\Config::getSystemValue('datadirectory') . '/';
    foreach ($users as $user) {
        $oldPath = $datadir . $user . '/versions';
        $newPath = $datadir . $user . '/files_versions';
        if (is_dir($oldPath)) {
            rename($oldPath, $newPath);
        }
    }
}
Exemplo n.º 11
0
 /**
  * @brief get a list of all users in a group
  * @returns array with user ids
  */
 public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0)
 {
     if (!$this->enabled) {
         return array();
     }
     $this->groupSearch = $search;
     if ($this->connection->isCached('usersInGroup' . $gid)) {
         $groupUsers = $this->connection->getFromCache('usersInGroup' . $gid);
         if (!empty($this->groupSearch)) {
             $groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter'));
         }
         if ($limit == -1) {
             $limit = null;
         }
         return array_slice($groupUsers, $offset, $limit);
     }
     $groupDN = $this->groupname2dn($gid);
     if (!$groupDN) {
         $this->connection->writeToCache('usersInGroup' . $gid, array());
         return array();
     }
     $members = $this->readAttribute($groupDN, $this->connection->ldapGroupMemberAssocAttr);
     if (!$members) {
         $this->connection->writeToCache('usersInGroup' . $gid, array());
         return array();
     }
     $result = array();
     $isMemberUid = strtolower($this->connection->ldapGroupMemberAssocAttr) == 'memberuid';
     foreach ($members as $member) {
         if ($isMemberUid) {
             $filter = \OCP\Util::mb_str_replace('%uid', $member, $this->connection->ldapLoginFilter, 'UTF-8');
             $ldap_users = $this->fetchListOfUsers($filter, 'dn');
             if (count($ldap_users) < 1) {
                 continue;
             }
             $result[] = $this->dn2username($ldap_users[0]);
             continue;
         } else {
             if ($ocname = $this->dn2username($member)) {
                 $result[] = $ocname;
             }
         }
     }
     if (!$isMemberUid) {
         $result = array_intersect($result, \OCP\User::getUsers());
     }
     $groupUsers = array_unique($result, SORT_LOCALE_STRING);
     $this->connection->writeToCache('usersInGroup' . $gid, $groupUsers);
     if (!empty($this->groupSearch)) {
         $groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter'));
     }
     if ($limit == -1) {
         $limit = null;
     }
     return array_slice($groupUsers, $offset, $limit);
 }