From 8f3bc0daa824ef5c4ac9d7772da495a0a8740010 Mon Sep 17 00:00:00 2001 From: Victor Dubiniuk Date: Fri, 11 Apr 2014 23:12:23 +0300 Subject: [PATCH] Reduce complexicity --- ajax/documentController.php | 6 +++--- ajax/otpoll.php | 8 ++++---- ajax/sessionController.php | 19 +++++++++---------- ajax/userController.php | 13 ++++++------- lib/db.php | 11 +++++++++++ lib/db/session.php | 16 ++++++++-------- lib/storage.php | 13 +++++-------- public.php | 6 +++--- 8 files changed, 49 insertions(+), 43 deletions(-) diff --git a/ajax/documentController.php b/ajax/documentController.php index 42c657a9..f71addcc 100644 --- a/ajax/documentController.php +++ b/ajax/documentController.php @@ -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(); } diff --git a/ajax/otpoll.php b/ajax/otpoll.php index 7a2d2e44..bb3e30e6 100644 --- a/ajax/otpoll.php +++ b/ajax/otpoll.php @@ -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(); diff --git a/ajax/sessionController.php b/ajax/sessionController.php index 6405431d..6750116c 100644 --- a/ajax/sessionController.php +++ b/ajax/sessionController.php @@ -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'); } diff --git a/ajax/userController.php b/ajax/userController.php index e03207f8..e47d2a31 100644 --- a/ajax/userController.php +++ b/ajax/userController.php @@ -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(); } diff --git a/lib/db.php b/lib/db.php index c1a799c4..ec7141ef 100644 --- a/lib/db.php +++ b/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; + } } diff --git a/lib/db/session.php b/lib/db/session.php index 1cd726f3..0c4b40d6 100644 --- a/lib/db/session.php +++ b/lib/db/session.php @@ -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){ diff --git a/lib/storage.php b/lib/storage.php index 141d8014..3efd58c9 100644 --- a/lib/storage.php +++ b/lib/storage.php @@ -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(){ diff --git a/public.php b/public.php index 59ac1683..22938b9e 100644 --- a/public.php +++ b/public.php @@ -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; }