Reduce complexicity
This commit is contained in:
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();
|
||||||
}
|
}
|
||||||
|
11
lib/db.php
11
lib/db.php
@ -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…
x
Reference in New Issue
Block a user