Reduce complexicity

pull/1/head
Victor Dubiniuk 10 years ago
parent 13b73b12c1
commit 8f3bc0daa8

@ -52,12 +52,12 @@ class DocumentController extends Controller{
*/ */
public static function serve($args){ public static function serve($args){
$session = new Db_Session(); $session = new Db_Session();
$sessionData = $session->load(@$args['es_id'])->getData(); $session->load(@$args['es_id']);
self::preDispatchGuest(); self::preDispatchGuest();
$filename = isset($sessionData['genesis_url']) ? $sessionData['genesis_url'] : ''; $filename = $session->getGenesisUrl() ? $session->getGenesisUrl() : '';
$download = new Download($sessionData['owner'], $filename); $download = new Download($session->getOwner(), $filename);
$download->sendResponse(); $download->sendResponse();
} }

@ -32,20 +32,20 @@ try{
$esId = $request->getParam('args/es_id'); $esId = $request->getParam('args/es_id');
$session = new Db_Session(); $session = new Db_Session();
$sessionData = $session->load($esId)->getData(); $session->load($esId);
$memberId = $request->getParam('args/member_id'); $memberId = $request->getParam('args/member_id');
$member = new Db_Member(); $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); Controller::preDispatchGuest(false);
} else { } else {
Controller::preDispatch(false); Controller::preDispatch(false);
} }
try { try {
$file = new File(@$sessionData['file_id']); $file = new File($session->getFileId());
} catch (\Exception $e){ } catch (\Exception $e){
Helper::warnLog('Error. Session no longer exists. ' . $e->getMessage()); Helper::warnLog('Error. Session no longer exists. ' . $e->getMessage());
$ex = new BadRequestException(); $ex = new BadRequestException();

@ -72,16 +72,15 @@ class SessionController extends Controller{
$memberId = @$_SERVER['HTTP_WEBODF_MEMBER_ID']; $memberId = @$_SERVER['HTTP_WEBODF_MEMBER_ID'];
$currentMember = new Db_Member(); $currentMember = new Db_Member();
$currentMemberData = $currentMember->load($memberId)->getData(); $currentMember->load($memberId);
if (isset($currentMemberData['is_guest']) && $currentMemberData['is_guest']){ if (is_null($currentMember->getIsGuest()) || $currentMember->getIsGuest()){
$uid = self::preDispatchGuest(); $uid = self::preDispatchGuest();
$isGuest = true;
} else { } else {
self::preDispatch(); self::preDispatch();
} }
//check if member belongs to the session //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); throw new \Exception($memberId . ' does not belong to session ' . $esId);
} }
@ -96,15 +95,15 @@ class SessionController extends Controller{
$session = new Db_Session(); $session = new Db_Session();
$session->load($esId); $session->load($esId);
if (!$session->hasData()){ if (!$session->getEsId()){
throw new \Exception('Session does not exist'); throw new \Exception('Session does not exist');
} }
$sessionData = $session->getData();
try { try {
if ($isGuest){ if ($currentMember->getIsGuest()){
$file = File::getByShareToken($currentMemberData['token']); $file = File::getByShareToken($currentMember->getToken());
} else { } else {
$file = new File($sessionData['file_id']); $file = new File($session->getFileId());
} }
list($view, $path) = $file->getOwnerViewAndPath(); list($view, $path) = $file->getOwnerViewAndPath();
@ -135,7 +134,7 @@ class SessionController extends Controller{
$currentHash = sha1($view->file_get_contents($path)); $currentHash = sha1($view->file_get_contents($path));
\OC_FileProxy::$enabled = $proxyStatus; \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 // Original file was modified externally. Save to a new one
$path = Helper::getNewFileName($view, $path, '-conflict'); $path = Helper::getNewFileName($view, $path, '-conflict');
} }

@ -29,8 +29,7 @@ class UserController extends Controller{
$member = new Db_Member(); $member = new Db_Member();
$member->loadBy('member_id', $args['member_id']); $member->loadBy('member_id', $args['member_id']);
if ($esId && $member->hasData()){ if ($esId && $member->hasData()){
$memberData = $member->getData(); if ($member->getEsId() === $esId && $member->getStatus() == Db_Member::MEMBER_STATUS_ACTIVE){
if ($memberData['es_id']===$esId && $memberData['status']==Db_Member::MEMBER_STATUS_ACTIVE){
$member->deactivate(array($args['member_id'])); $member->deactivate(array($args['member_id']));
$op = new Db_Op(); $op = new Db_Op();
$op->removeMember($esId, $args['member_id']); $op->removeMember($esId, $args['member_id']);
@ -46,10 +45,10 @@ class UserController extends Controller{
$name = Helper::getArrayValueByKey($_POST, 'name'); $name = Helper::getArrayValueByKey($_POST, 'name');
$member = new Db_Member(); $member = new Db_Member();
$member->load($memberId); $member->load($memberId);
$memberData = $member->getData();
if (count($memberData) if ($member->getEsId()
&& $memberData['status']==Db_Member::MEMBER_STATUS_ACTIVE && $member->getStatus() == Db_Member::MEMBER_STATUS_ACTIVE
&& $memberData['is_guest'] && $member->getIsGuest()
){ ){
$guestMark = Db_Member::getGuestPostfix(); $guestMark = Db_Member::getGuestPostfix();
if (substr($name, -strlen($guestMark)) !== $guestMark){ if (substr($name, -strlen($guestMark)) !== $guestMark){
@ -57,7 +56,7 @@ class UserController extends Controller{
} }
$op = new Db_Op(); $op = new Db_Op();
$op->changeNick($memberData['es_id'], $memberId, $name); $op->changeNick($member->getEsId(), $memberId, $name);
} }
\OCP\JSON::success(); \OCP\JSON::success();
} }

@ -206,4 +206,15 @@ abstract class Db {
return $result; 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()) ->loadBy('file_id', $file->getFileId())
->getData() ->getData()
; ;
$memberColor = Helper::getMemberColor($uid); $memberColor = Helper::getMemberColor($uid);
$member = new Db_Member(array( $member = new Db_Member(array(
$session['es_id'], $sessionData['es_id'],
$uid, $uid,
$memberColor, $memberColor,
time(), time(),
@ -82,11 +82,11 @@ class Db_Session extends \OCA\Documents\Db {
$displayName = $file->isPublicShare() ? $uid . ' ' . Db_Member::getGuestPostfix() : \OCP\User::getDisplayName($uid); $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 = new Db_Op();
$op->addMember( $op->addMember(
$session['es_id'], $sessionData['es_id'],
$session['member_id'], $sessionData['member_id'],
$displayName, $displayName,
$memberColor, $memberColor,
$imageUrl $imageUrl
@ -95,10 +95,10 @@ class Db_Session extends \OCA\Documents\Db {
throw new \Exception('Failed to add member into database'); throw new \Exception('Failed to add member into database');
} }
$session['title'] = basename($path); $sessionData['title'] = basename($path);
$session['permissions'] = $ownerView->getFilePermissions($path); $sessionData['permissions'] = $ownerView->getFilePermissions($path);
return $session; return $sessionData;
} }
public static function cleanUp($esId){ public static function cleanUp($esId){

@ -71,25 +71,22 @@ class Storage {
return; return;
} }
$sessionObj = new Db_Session(); $session = new Db_Session();
$session = $sessionObj $session->loadBy('file_id', $fileId);
->loadBy('file_id', $fileId)
->getData()
;
if (!is_array($session) || !isset($session['es_id'])){ if (!$session->getEsId()){
return; return;
} }
$member = new Db_Member(); $member = new Db_Member();
$sessionMembers = $member->getCollectionBy('es_id', $session['es_id']); $sessionMembers = $member->getCollectionBy('es_id', $session->getEsId());
foreach ($sessionMembers as $memberData){ foreach ($sessionMembers as $memberData){
if (intval($memberData['status'])===Db_Member::MEMBER_STATUS_ACTIVE){ if (intval($memberData['status'])===Db_Member::MEMBER_STATUS_ACTIVE){
return; return;
} }
} }
Db_Session::cleanUp($session['es_id']); Db_Session::cleanUp($session->getEsId());
} }
protected static function searchDocuments(){ protected static function searchDocuments(){

@ -40,11 +40,11 @@ if (isset($_GET['t'])) {
\OCP\Util::addScript('documents', 'documents'); \OCP\Util::addScript('documents', 'documents');
if ($file->getFileId()){ if ($file->getFileId()){
$session = new Db_Session(); $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(); $member = new Db_Member();
$members = $member->getCollectionBy('es_id', $sessionData['es_id']); $members = $member->getCollectionBy('es_id', $session->getEsId());
} else { } else {
$members = 0; $members = 0;
} }

Loading…
Cancel
Save