2013-08-16 18:35:09 +03:00
|
|
|
<?php
|
|
|
|
/**
|
2013-08-28 12:02:27 +02:00
|
|
|
* ownCloud - Documents App
|
2013-08-16 18:35:09 +03:00
|
|
|
*
|
|
|
|
* @author Victor Dubiniuk
|
2014-10-23 23:08:55 +03:00
|
|
|
* @copyright 2014 Victor Dubiniuk victor.dubiniuk@gmail.com
|
2013-08-16 18:35:09 +03:00
|
|
|
*
|
|
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
|
|
* later.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2014-10-23 23:08:55 +03:00
|
|
|
namespace OCA\Documents\Controller;
|
|
|
|
|
|
|
|
use \OCP\AppFramework\Controller;
|
|
|
|
use \OCP\IRequest;
|
|
|
|
use \OCP\AppFramework\Http\JSONResponse;
|
|
|
|
|
|
|
|
use \OCA\Documents\Db;
|
|
|
|
|
|
|
|
class UserController extends Controller {
|
2014-11-19 01:12:53 +03:00
|
|
|
|
2014-10-23 23:08:55 +03:00
|
|
|
public function __construct($appName, IRequest $request){
|
|
|
|
parent::__construct($appName, $request);
|
|
|
|
}
|
2013-08-16 18:35:09 +03:00
|
|
|
|
2014-10-23 23:08:55 +03:00
|
|
|
/**
|
|
|
|
* @NoAdminRequired
|
|
|
|
*/
|
|
|
|
public function disconnectUser($memberId, $esId){
|
|
|
|
return $this->disconnect($memberId, $esId);
|
2013-10-28 20:01:30 +03:00
|
|
|
}
|
|
|
|
|
2014-10-23 23:08:55 +03:00
|
|
|
/**
|
|
|
|
* @NoAdminRequired
|
|
|
|
* @PublicPage
|
|
|
|
*/
|
|
|
|
public function disconnectGuest($memberId, $esId){
|
2014-11-19 01:12:53 +03:00
|
|
|
return $this->disconnect($memberId, $esId);
|
2013-10-28 20:01:30 +03:00
|
|
|
}
|
|
|
|
|
2014-10-23 23:08:55 +03:00
|
|
|
private function disconnect($memberId, $esId){
|
2014-08-04 21:00:58 +03:00
|
|
|
$member = new Db\Member();
|
2014-10-23 23:08:55 +03:00
|
|
|
$member->loadBy('member_id', $memberId);
|
2013-10-28 20:01:30 +03:00
|
|
|
if ($esId && $member->hasData()){
|
2014-08-04 21:00:58 +03:00
|
|
|
if ($member->getEsId() === $esId && $member->getStatus() == Db\Member::MEMBER_STATUS_ACTIVE){
|
2014-10-23 23:08:55 +03:00
|
|
|
$member->deactivate(array($memberId));
|
2014-08-04 20:56:24 +03:00
|
|
|
$op = new Db\Op();
|
2014-10-23 23:08:55 +03:00
|
|
|
$op->removeMember($esId, $memberId);
|
2013-10-28 20:01:30 +03:00
|
|
|
}
|
|
|
|
}
|
2014-10-23 23:08:55 +03:00
|
|
|
|
|
|
|
return array('status'=>'success');
|
2013-10-28 20:01:30 +03:00
|
|
|
}
|
|
|
|
|
2014-10-23 23:08:55 +03:00
|
|
|
/**
|
|
|
|
* @NoAdminRequired
|
|
|
|
* @PublicPage
|
|
|
|
* @param int $memberId
|
|
|
|
* @param string $name
|
|
|
|
*/
|
|
|
|
public function rename($memberId, $name){
|
2014-08-04 21:00:58 +03:00
|
|
|
$member = new Db\Member();
|
2014-03-14 20:49:17 +03:00
|
|
|
$member->load($memberId);
|
2014-04-11 23:12:23 +03:00
|
|
|
|
|
|
|
if ($member->getEsId()
|
2014-08-04 21:00:58 +03:00
|
|
|
&& $member->getStatus() == Db\Member::MEMBER_STATUS_ACTIVE
|
2014-04-11 23:12:23 +03:00
|
|
|
&& $member->getIsGuest()
|
2014-03-14 20:49:17 +03:00
|
|
|
){
|
2014-08-04 21:00:58 +03:00
|
|
|
$guestMark = Db\Member::getGuestPostfix();
|
2014-04-09 17:48:48 +03:00
|
|
|
if (substr($name, -strlen($guestMark)) !== $guestMark){
|
|
|
|
$name = $name . ' ' . $guestMark;
|
2014-03-14 20:49:17 +03:00
|
|
|
}
|
2014-04-09 17:48:48 +03:00
|
|
|
|
2014-08-04 20:56:24 +03:00
|
|
|
$op = new Db\Op();
|
2014-04-11 23:12:23 +03:00
|
|
|
$op->changeNick($member->getEsId(), $memberId, $name);
|
2014-03-14 20:49:17 +03:00
|
|
|
}
|
2014-10-23 23:08:55 +03:00
|
|
|
|
|
|
|
return array('status'=>'success');
|
2014-03-14 20:49:17 +03:00
|
|
|
}
|
2013-09-25 16:34:35 +03:00
|
|
|
}
|