Reduce complexicity
This commit is contained in:
parent
13b73b12c1
commit
8f3bc0daa8
@ -52,12 +52,12 @@ class DocumentController extends Controller{
|
||||
*/
|
||||
public static function serve($args){
|
||||
$session = new Db_Session();
|
||||
$sessionData = $session->load(@$args['es_id'])->getData();
|
||||
$session->load(@$args['es_id']);
|
||||
|
||||
self::preDispatchGuest();
|
||||
|
||||
$filename = isset($sessionData['genesis_url']) ? $sessionData['genesis_url'] : '';
|
||||
$download = new Download($sessionData['owner'], $filename);
|
||||
$filename = $session->getGenesisUrl() ? $session->getGenesisUrl() : '';
|
||||
$download = new Download($session->getOwner(), $filename);
|
||||
$download->sendResponse();
|
||||
}
|
||||
|
||||
|
@ -32,20 +32,20 @@ try{
|
||||
$esId = $request->getParam('args/es_id');
|
||||
|
||||
$session = new Db_Session();
|
||||
$sessionData = $session->load($esId)->getData();
|
||||
$session->load($esId);
|
||||
|
||||
$memberId = $request->getParam('args/member_id');
|
||||
$member = new Db_Member();
|
||||
$memberData = $member->load($memberId)->getData();
|
||||
$member->load($memberId);
|
||||
|
||||
if (isset($memberData['is_guest']) && $memberData['is_guest']){
|
||||
if ($member->getIsGuest() || is_null($member->getIsGuest())){
|
||||
Controller::preDispatchGuest(false);
|
||||
} else {
|
||||
Controller::preDispatch(false);
|
||||
}
|
||||
|
||||
try {
|
||||
$file = new File(@$sessionData['file_id']);
|
||||
$file = new File($session->getFileId());
|
||||
} catch (\Exception $e){
|
||||
Helper::warnLog('Error. Session no longer exists. ' . $e->getMessage());
|
||||
$ex = new BadRequestException();
|
||||
|
@ -72,16 +72,15 @@ class SessionController extends Controller{
|
||||
|
||||
$memberId = @$_SERVER['HTTP_WEBODF_MEMBER_ID'];
|
||||
$currentMember = new Db_Member();
|
||||
$currentMemberData = $currentMember->load($memberId)->getData();
|
||||
if (isset($currentMemberData['is_guest']) && $currentMemberData['is_guest']){
|
||||
$currentMember->load($memberId);
|
||||
if (is_null($currentMember->getIsGuest()) || $currentMember->getIsGuest()){
|
||||
$uid = self::preDispatchGuest();
|
||||
$isGuest = true;
|
||||
} else {
|
||||
self::preDispatch();
|
||||
}
|
||||
|
||||
//check if member belongs to the session
|
||||
if (!isset($currentMemberData['es_id']) || $esId!=$currentMemberData['es_id']){
|
||||
if ($esId != $currentMember->getEsId()){
|
||||
throw new \Exception($memberId . ' does not belong to session ' . $esId);
|
||||
}
|
||||
|
||||
@ -96,15 +95,15 @@ class SessionController extends Controller{
|
||||
$session = new Db_Session();
|
||||
$session->load($esId);
|
||||
|
||||
if (!$session->hasData()){
|
||||
if (!$session->getEsId()){
|
||||
throw new \Exception('Session does not exist');
|
||||
}
|
||||
$sessionData = $session->getData();
|
||||
|
||||
try {
|
||||
if ($isGuest){
|
||||
$file = File::getByShareToken($currentMemberData['token']);
|
||||
if ($currentMember->getIsGuest()){
|
||||
$file = File::getByShareToken($currentMember->getToken());
|
||||
} else {
|
||||
$file = new File($sessionData['file_id']);
|
||||
$file = new File($session->getFileId());
|
||||
}
|
||||
|
||||
list($view, $path) = $file->getOwnerViewAndPath();
|
||||
@ -135,7 +134,7 @@ class SessionController extends Controller{
|
||||
$currentHash = sha1($view->file_get_contents($path));
|
||||
\OC_FileProxy::$enabled = $proxyStatus;
|
||||
|
||||
if (!Helper::isVersionsEnabled() && $currentHash !== $sessionData['genesis_hash']){
|
||||
if (!Helper::isVersionsEnabled() && $currentHash !== $session->getGenesisHash()){
|
||||
// Original file was modified externally. Save to a new one
|
||||
$path = Helper::getNewFileName($view, $path, '-conflict');
|
||||
}
|
||||
|
@ -29,8 +29,7 @@ class UserController extends Controller{
|
||||
$member = new Db_Member();
|
||||
$member->loadBy('member_id', $args['member_id']);
|
||||
if ($esId && $member->hasData()){
|
||||
$memberData = $member->getData();
|
||||
if ($memberData['es_id']===$esId && $memberData['status']==Db_Member::MEMBER_STATUS_ACTIVE){
|
||||
if ($member->getEsId() === $esId && $member->getStatus() == Db_Member::MEMBER_STATUS_ACTIVE){
|
||||
$member->deactivate(array($args['member_id']));
|
||||
$op = new Db_Op();
|
||||
$op->removeMember($esId, $args['member_id']);
|
||||
@ -46,10 +45,10 @@ class UserController extends Controller{
|
||||
$name = Helper::getArrayValueByKey($_POST, 'name');
|
||||
$member = new Db_Member();
|
||||
$member->load($memberId);
|
||||
$memberData = $member->getData();
|
||||
if (count($memberData)
|
||||
&& $memberData['status']==Db_Member::MEMBER_STATUS_ACTIVE
|
||||
&& $memberData['is_guest']
|
||||
|
||||
if ($member->getEsId()
|
||||
&& $member->getStatus() == Db_Member::MEMBER_STATUS_ACTIVE
|
||||
&& $member->getIsGuest()
|
||||
){
|
||||
$guestMark = Db_Member::getGuestPostfix();
|
||||
if (substr($name, -strlen($guestMark)) !== $guestMark){
|
||||
@ -57,7 +56,7 @@ class UserController extends Controller{
|
||||
}
|
||||
|
||||
$op = new Db_Op();
|
||||
$op->changeNick($memberData['es_id'], $memberId, $name);
|
||||
$op->changeNick($member->getEsId(), $memberId, $name);
|
||||
}
|
||||
\OCP\JSON::success();
|
||||
}
|
||||
|
11
lib/db.php
11
lib/db.php
@ -206,4 +206,15 @@ abstract class Db {
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function __call($name, $arguments){
|
||||
if (substr($name, 0, 3) === 'get'){
|
||||
$requestedProperty = substr($name, 3);
|
||||
$property = strtolower(preg_replace('/(.)([A-Z])/', "$1_$2", $requestedProperty));
|
||||
if (isset($this->data[$property])){
|
||||
return $this->data[$property];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -57,14 +57,14 @@ class Db_Session extends \OCA\Documents\Db {
|
||||
}
|
||||
}
|
||||
|
||||
$session = $oldSession
|
||||
$sessionData = $oldSession
|
||||
->loadBy('file_id', $file->getFileId())
|
||||
->getData()
|
||||
;
|
||||
|
||||
$memberColor = Helper::getMemberColor($uid);
|
||||
$member = new Db_Member(array(
|
||||
$session['es_id'],
|
||||
$sessionData['es_id'],
|
||||
$uid,
|
||||
$memberColor,
|
||||
time(),
|
||||
@ -82,11 +82,11 @@ class Db_Session extends \OCA\Documents\Db {
|
||||
|
||||
$displayName = $file->isPublicShare() ? $uid . ' ' . Db_Member::getGuestPostfix() : \OCP\User::getDisplayName($uid);
|
||||
|
||||
$session['member_id'] = (string) $member->getLastInsertId();
|
||||
$sessionData['member_id'] = (string) $member->getLastInsertId();
|
||||
$op = new Db_Op();
|
||||
$op->addMember(
|
||||
$session['es_id'],
|
||||
$session['member_id'],
|
||||
$sessionData['es_id'],
|
||||
$sessionData['member_id'],
|
||||
$displayName,
|
||||
$memberColor,
|
||||
$imageUrl
|
||||
@ -95,10 +95,10 @@ class Db_Session extends \OCA\Documents\Db {
|
||||
throw new \Exception('Failed to add member into database');
|
||||
}
|
||||
|
||||
$session['title'] = basename($path);
|
||||
$session['permissions'] = $ownerView->getFilePermissions($path);
|
||||
$sessionData['title'] = basename($path);
|
||||
$sessionData['permissions'] = $ownerView->getFilePermissions($path);
|
||||
|
||||
return $session;
|
||||
return $sessionData;
|
||||
}
|
||||
|
||||
public static function cleanUp($esId){
|
||||
|
@ -71,25 +71,22 @@ class Storage {
|
||||
return;
|
||||
}
|
||||
|
||||
$sessionObj = new Db_Session();
|
||||
$session = $sessionObj
|
||||
->loadBy('file_id', $fileId)
|
||||
->getData()
|
||||
;
|
||||
$session = new Db_Session();
|
||||
$session->loadBy('file_id', $fileId);
|
||||
|
||||
if (!is_array($session) || !isset($session['es_id'])){
|
||||
if (!$session->getEsId()){
|
||||
return;
|
||||
}
|
||||
|
||||
$member = new Db_Member();
|
||||
$sessionMembers = $member->getCollectionBy('es_id', $session['es_id']);
|
||||
$sessionMembers = $member->getCollectionBy('es_id', $session->getEsId());
|
||||
foreach ($sessionMembers as $memberData){
|
||||
if (intval($memberData['status'])===Db_Member::MEMBER_STATUS_ACTIVE){
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Db_Session::cleanUp($session['es_id']);
|
||||
Db_Session::cleanUp($session->getEsId());
|
||||
}
|
||||
|
||||
protected static function searchDocuments(){
|
||||
|
@ -40,11 +40,11 @@ if (isset($_GET['t'])) {
|
||||
\OCP\Util::addScript('documents', 'documents');
|
||||
if ($file->getFileId()){
|
||||
$session = new Db_Session();
|
||||
$sessionData = $session->loadBy('file_id', $file->getFileId())->getData();
|
||||
$session->loadBy('file_id', $file->getFileId());
|
||||
|
||||
if (isset($sessionData['es_id'])){
|
||||
if ($session->getEsId()){
|
||||
$member = new Db_Member();
|
||||
$members = $member->getCollectionBy('es_id', $sessionData['es_id']);
|
||||
$members = $member->getCollectionBy('es_id', $session->getEsId());
|
||||
} else {
|
||||
$members = 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user