Merge pull request #322 from owncloud/autoloader

Reduce OC::$CLASSPATH entries amount
This commit is contained in:
VicDeo 2014-08-04 21:29:39 +03:00
commit 5c162832f9
15 changed files with 65 additions and 71 deletions

View File

@ -51,7 +51,7 @@ class DocumentController extends Controller{
* @param array $args - array containing session id as an element with a key es_id * @param array $args - array containing session id as an element with a key es_id
*/ */
public static function serve($args){ public static function serve($args){
$session = new Db_Session(); $session = new Db\Session();
$session->load(@$args['es_id']); $session->load(@$args['es_id']);
self::preDispatchGuest(); self::preDispatchGuest();
@ -108,11 +108,11 @@ class DocumentController extends Controller{
return @$b['mtime']-@$a['mtime']; return @$b['mtime']-@$a['mtime'];
}); });
$session = new Db_Session(); $session = new Db\Session();
$sessions = $session->getCollectionBy('file_id', $fileIds); $sessions = $session->getCollectionBy('file_id', $fileIds);
$members = array(); $members = array();
$member = new Db_Member(); $member = new Db\Member();
foreach ($sessions as $session) { foreach ($sessions as $session) {
$members[$session['es_id']] = $member->getActiveCollection($session['es_id']); $members[$session['es_id']] = $member->getActiveCollection($session['es_id']);
} }

View File

@ -31,11 +31,11 @@ try{
$request = new Request(); $request = new Request();
$esId = $request->getParam('args/es_id'); $esId = $request->getParam('args/es_id');
$session = new Db_Session(); $session = new Db\Session();
$session->load($esId); $session->load($esId);
$memberId = $request->getParam('args/member_id'); $memberId = $request->getParam('args/member_id');
$member = new Db_Member(); $member = new Db\Member();
$member->load($memberId); $member->load($memberId);
if ($member->getIsGuest() || is_null($member->getIsGuest())){ if ($member->getIsGuest() || is_null($member->getIsGuest())){
@ -61,7 +61,7 @@ try{
$ops = $request->getParam('args/client_ops'); $ops = $request->getParam('args/client_ops');
$hasOps = is_array($ops) && count($ops)>0; $hasOps = is_array($ops) && count($ops)>0;
$op = new Db_Op(); $op = new Db\Op();
$currentHead = $op->getHeadSeq($esId); $currentHead = $op->getHeadSeq($esId);
try { try {
@ -76,7 +76,7 @@ try{
if ($hasOps) { if ($hasOps) {
// incoming ops without conflict // incoming ops without conflict
// Add incoming ops, respond with a new head // Add incoming ops, respond with a new head
$newHead = Db_Op::addOpsArray($esId, $memberId, $ops); $newHead = Db\Op::addOpsArray($esId, $memberId, $ops);
$response["result"] = 'added'; $response["result"] = 'added';
$response["head_seq"] = $newHead ? $newHead : $currentHead; $response["head_seq"] = $newHead ? $newHead : $currentHead;
} else { } else {

View File

@ -23,7 +23,7 @@ class SessionController extends Controller{
try { try {
$token = Helper::getArrayValueByKey($args, 'token'); $token = Helper::getArrayValueByKey($args, 'token');
$file = File::getByShareToken($token); $file = File::getByShareToken($token);
$session = Db_Session::start($uid, $file, true); $session = Db\Session::start($uid, $file, true);
\OCP\JSON::success($session); \OCP\JSON::success($session);
} catch (\Exception $e){ } catch (\Exception $e){
Helper::warnLog('Starting a session failed. Reason: ' . $e->getMessage()); Helper::warnLog('Starting a session failed. Reason: ' . $e->getMessage());
@ -42,7 +42,7 @@ class SessionController extends Controller{
if ($view->isUpdatable($path)) { if ($view->isUpdatable($path)) {
$file = new File($fileId); $file = new File($fileId);
$session = Db_Session::start($uid, $file); $session = Db\Session::start($uid, $file);
\OCP\JSON::success($session); \OCP\JSON::success($session);
} else { } else {
$info = $view->getFileInfo(); $info = $view->getFileInfo();
@ -71,7 +71,7 @@ class SessionController extends Controller{
} }
$memberId = @$_SERVER['HTTP_WEBODF_MEMBER_ID']; $memberId = @$_SERVER['HTTP_WEBODF_MEMBER_ID'];
$currentMember = new Db_Member(); $currentMember = new Db\Member();
$currentMember->load($memberId); $currentMember->load($memberId);
if (is_null($currentMember->getIsGuest()) || $currentMember->getIsGuest()){ if (is_null($currentMember->getIsGuest()) || $currentMember->getIsGuest()){
self::preDispatchGuest(); self::preDispatchGuest();
@ -93,7 +93,7 @@ class SessionController extends Controller{
} }
$content = stream_get_contents($stream); $content = stream_get_contents($stream);
$session = new Db_Session(); $session = new Db\Session();
$session->load($esId); $session->load($esId);
if (!$session->getEsId()){ if (!$session->getEsId()){
@ -119,7 +119,7 @@ class SessionController extends Controller{
} }
} }
$member = new Db_Member(); $member = new Db\Member();
$members = $member->getActiveCollection($esId); $members = $member->getActiveCollection($esId);
$memberIds = array_map( $memberIds = array_map(
function($x){ function($x){
@ -157,7 +157,7 @@ class SessionController extends Controller{
$session->updateGenesisHash($esId, sha1($data['content'])); $session->updateGenesisHash($esId, sha1($data['content']));
} else { } else {
// Last user. Kill session data // Last user. Kill session data
Db_Session::cleanUp($esId); Db\Session::cleanUp($esId);
} }
$view->touch($path); $view->touch($path);
@ -177,7 +177,7 @@ class SessionController extends Controller{
$info = array(); $info = array();
if (is_array($items)){ if (is_array($items)){
$session = new Db_Session(); $session = new Db\Session();
$info = $session->getInfoByFileId($items); $info = $session->getInfoByFileId($items);
} }
@ -188,7 +188,7 @@ class SessionController extends Controller{
public static function listAll(){ public static function listAll(){
self::preDispatch(); self::preDispatch();
$session = new Db_Session(); $session = new Db\Session();
$sessions = $session->getCollection(); $sessions = $session->getCollection();
$preparedSessions = array_map( $preparedSessions = array_map(

View File

@ -26,12 +26,12 @@ class UserController extends Controller{
protected static function disconnect($args){ protected static function disconnect($args){
$esId = @$_POST['esId']; $esId = @$_POST['esId'];
$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()){
if ($member->getEsId() === $esId && $member->getStatus() == Db_Member::MEMBER_STATUS_ACTIVE){ if ($member->getEsId() === $esId && $member->getStatus() == 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']);
} }
} }
@ -44,19 +44,19 @@ class UserController extends Controller{
$memberId = Helper::getArrayValueByKey($args, 'member_id'); $memberId = Helper::getArrayValueByKey($args, 'member_id');
$name = Helper::getArrayValueByKey($_POST, 'name'); $name = Helper::getArrayValueByKey($_POST, 'name');
$member = new Db_Member(); $member = new Db\Member();
$member->load($memberId); $member->load($memberId);
if ($member->getEsId() if ($member->getEsId()
&& $member->getStatus() == Db_Member::MEMBER_STATUS_ACTIVE && $member->getStatus() == Db\Member::MEMBER_STATUS_ACTIVE
&& $member->getIsGuest() && $member->getIsGuest()
){ ){
$guestMark = Db_Member::getGuestPostfix(); $guestMark = Db\Member::getGuestPostfix();
if (substr($name, -strlen($guestMark)) !== $guestMark){ if (substr($name, -strlen($guestMark)) !== $guestMark){
$name = $name . ' ' . $guestMark; $name = $name . ' ' . $guestMark;
} }
$op = new Db_Op(); $op = new Db\Op();
$op->changeNick($member->getEsId(), $memberId, $name); $op->changeNick($member->getEsId(), $memberId, $name);
} }
\OCP\JSON::success(); \OCP\JSON::success();

View File

@ -38,17 +38,11 @@ OC::$CLASSPATH['OCA\Documents\Controller'] = 'documents/ajax/controller.php';
OC::$CLASSPATH['OCA\Documents\DocumentController'] = 'documents/ajax/documentController.php'; OC::$CLASSPATH['OCA\Documents\DocumentController'] = 'documents/ajax/documentController.php';
OC::$CLASSPATH['OCA\Documents\SessionController'] = 'documents/ajax/sessionController.php'; OC::$CLASSPATH['OCA\Documents\SessionController'] = 'documents/ajax/sessionController.php';
OC::$CLASSPATH['OCA\Documents\UserController'] = 'documents/ajax/userController.php'; OC::$CLASSPATH['OCA\Documents\UserController'] = 'documents/ajax/userController.php';
OC::$CLASSPATH['OCA\Documents\Download_Simple'] = 'documents/lib/download/simple.php';
OC::$CLASSPATH['OCA\Documents\Download_Range'] = 'documents/lib/download/range.php';
OC::$CLASSPATH['OCA\Documents\Db_Session'] = 'documents/lib/db/session.php';
OC::$CLASSPATH['OCA\Documents\Db_Member'] = 'documents/lib/db/member.php';
OC::$CLASSPATH['OCA\Documents\Db_Op'] = 'documents/lib/db/op.php';
OC::$CLASSPATH['OCA\Documents\Filter_Office'] = 'documents/lib/filter/office.php';
//Script for registering file actions //Script for registering file actions
OCP\Util::addScript('documents', 'viewer/viewer'); OCP\Util::addScript('documents', 'viewer/viewer');
$docFilter = new OCA\Documents\Filter_Office( $docFilter = new OCA\Documents\Filter\Office(
array( array(
'read' => 'read' =>
array ( array (
@ -65,7 +59,7 @@ $docFilter = new OCA\Documents\Filter_Office(
) )
); );
$docxFilter = new OCA\Documents\Filter_Office( $docxFilter = new OCA\Documents\Filter\Office(
array ( array (
'read' => 'read' =>
array ( array (

View File

@ -16,7 +16,7 @@ $cleanup->execute();
if (version_compare($installedVersion, '0.7', '<=')) { if (version_compare($installedVersion, '0.7', '<=')) {
\OCP\Config::setAppValue('documents', 'unstable', 'false'); \OCP\Config::setAppValue('documents', 'unstable', 'false');
$session = new \OCA\Documents\Db_Session(); $session = new \OCA\Documents\Db\Session();
$query = \OC_DB::prepare('UPDATE `*PREFIX*documents_session` SET `genesis_url`=? WHERE `es_id`=?'); $query = \OC_DB::prepare('UPDATE `*PREFIX*documents_session` SET `genesis_url`=? WHERE `es_id`=?');

View File

@ -10,7 +10,7 @@
* later. * later.
*/ */
namespace OCA\Documents; namespace OCA\Documents\Db;
/** /**
* @method boolean getIsGuest() * @method boolean getIsGuest()
@ -19,7 +19,7 @@ namespace OCA\Documents;
* @method int getStatus() * @method int getStatus()
*/ */
class Db_Member extends Db{ class Member extends \OCA\Documents\Db{
const DB_TABLE = '`*PREFIX*documents_member`'; const DB_TABLE = '`*PREFIX*documents_member`';

View File

@ -9,9 +9,9 @@
* later. * later.
*/ */
namespace OCA\Documents; namespace OCA\Documents\Db;
class Db_Op extends Db { class Op extends \OCA\Documents\Db {
const DB_TABLE = '`*PREFIX*documents_op`'; const DB_TABLE = '`*PREFIX*documents_op`';
@ -21,7 +21,7 @@ class Db_Op extends Db {
public static function addOpsArray($esId, $memberId, $ops){ public static function addOpsArray($esId, $memberId, $ops){
$lastSeq = ""; $lastSeq = "";
$opObj = new Db_Op(); $opObj = new Op();
foreach ($ops as $op) { foreach ($ops as $op) {
$opObj->setData(array( $opObj->setData(array(
$esId, $esId,
@ -116,7 +116,7 @@ class Db_Op extends Db {
} }
protected function insertOp($esId, $memberId, $op){ protected function insertOp($esId, $memberId, $op){
$op = new Db_Op(array( $op = new Op(array(
$esId, $esId,
$memberId, $memberId,
$op $op

View File

@ -10,7 +10,7 @@
* later. * later.
*/ */
namespace OCA\Documents; namespace OCA\Documents\Db;
/** /**
* Session management * Session management
@ -22,7 +22,7 @@ namespace OCA\Documents;
* @method string getGenesisHash() * @method string getGenesisHash()
* *
*/ */
class Db_Session extends \OCA\Documents\Db { class Session extends \OCA\Documents\Db {
/** /**
* DB table * DB table
@ -44,15 +44,15 @@ class Db_Session extends \OCA\Documents\Db {
*/ */
public static function start($uid, $file){ public static function start($uid, $file){
// Create a directory to store genesis // Create a directory to store genesis
$genesis = new Genesis($file); $genesis = new \OCA\Documents\Genesis($file);
list($ownerView, $path) = $file->getOwnerViewAndPath(); list($ownerView, $path) = $file->getOwnerViewAndPath();
$oldSession = new Db_Session(); $oldSession = new Session();
$oldSession->loadBy('file_id', $file->getFileId()); $oldSession->loadBy('file_id', $file->getFileId());
//If there is no existing session we need to start a new one //If there is no existing session we need to start a new one
if (!$oldSession->hasData()){ if (!$oldSession->hasData()){
$newSession = new Db_Session(array( $newSession = new Session(array(
$genesis->getPath(), $genesis->getPath(),
$genesis->getHash(), $genesis->getHash(),
$file->getOwner(), $file->getOwner(),
@ -69,8 +69,8 @@ class Db_Session extends \OCA\Documents\Db {
->getData() ->getData()
; ;
$memberColor = Helper::getMemberColor($uid); $memberColor = \OCA\Documents\Helper::getMemberColor($uid);
$member = new Db_Member(array( $member = new \OCA\Documents\Db\Member(array(
$sessionData['es_id'], $sessionData['es_id'],
$uid, $uid,
$memberColor, $memberColor,
@ -87,10 +87,10 @@ class Db_Session extends \OCA\Documents\Db {
$imageUrl = $uid; $imageUrl = $uid;
} }
$displayName = $file->isPublicShare() ? $uid . ' ' . Db_Member::getGuestPostfix() : \OCP\User::getDisplayName($uid); $displayName = $file->isPublicShare() ? $uid . ' ' . \OCA\Documents\Db\Member::getGuestPostfix() : \OCP\User::getDisplayName($uid);
$sessionData['member_id'] = (string) $member->getLastInsertId(); $sessionData['member_id'] = (string) $member->getLastInsertId();
$op = new Db_Op(); $op = new \OCA\Documents\Db\Op();
$op->addMember( $op->addMember(
$sessionData['es_id'], $sessionData['es_id'],
$sessionData['member_id'], $sessionData['member_id'],
@ -109,13 +109,13 @@ class Db_Session extends \OCA\Documents\Db {
} }
public static function cleanUp($esId){ public static function cleanUp($esId){
$session = new Db_Session(); $session = new Session();
$session->deleteBy('es_id', $esId); $session->deleteBy('es_id', $esId);
$member = new Db_Member(); $member = new \OCA\Documents\Db\Member();
$member->deleteBy('es_id', $esId); $member->deleteBy('es_id', $esId);
$op= new Db_Op(); $op= new \OCA\Documents\Db\Op();
$op->deleteBy('es_id', $esId); $op->deleteBy('es_id', $esId);
} }
@ -139,7 +139,7 @@ class Db_Session extends \OCA\Documents\Db {
SELECT `s`.*, COUNT(`m`.`member_id`) AS `users` SELECT `s`.*, COUNT(`m`.`member_id`) AS `users`
FROM ' . $this->tableName . ' AS `s` FROM ' . $this->tableName . ' AS `s`
LEFT JOIN `*PREFIX*documents_member` AS `m` ON `s`.`es_id`=`m`.`es_id` LEFT JOIN `*PREFIX*documents_member` AS `m` ON `s`.`es_id`=`m`.`es_id`
AND `m`.`status`=' . Db_Member::MEMBER_STATUS_ACTIVE . ' AND `m`.`status`=' . Db\Member::MEMBER_STATUS_ACTIVE . '
AND `m`.`uid` != ? AND `m`.`uid` != ?
WHERE `s`.`es_id` = ? WHERE `s`.`es_id` = ?
GROUP BY `m`.`es_id` GROUP BY `m`.`es_id`
@ -168,7 +168,7 @@ class Db_Session extends \OCA\Documents\Db {
SELECT `s`.*, COUNT(`m`.`member_id`) AS `users` SELECT `s`.*, COUNT(`m`.`member_id`) AS `users`
FROM ' . $this->tableName . ' AS `s` FROM ' . $this->tableName . ' AS `s`
LEFT JOIN `*PREFIX*documents_member` AS `m` ON `s`.`es_id`=`m`.`es_id` LEFT JOIN `*PREFIX*documents_member` AS `m` ON `s`.`es_id`=`m`.`es_id`
AND `m`.`status`=' . Db_Member::MEMBER_STATUS_ACTIVE . ' AND `m`.`status`=' . Db\Member::MEMBER_STATUS_ACTIVE . '
WHERE `s`.`file_id` ' . $stmt .' WHERE `s`.`file_id` ' . $stmt .'
GROUP BY `m`.`es_id`', GROUP BY `m`.`es_id`',
$fileIds $fileIds
@ -182,7 +182,7 @@ class Db_Session extends \OCA\Documents\Db {
} }
protected function getUniqueSessionId(){ protected function getUniqueSessionId(){
$testSession = new Db_Session(); $testSession = new Session();
do{ do{
$id = \OC_Util::generateRandomBytes(30); $id = \OC_Util::generateRandomBytes(30);
} while ($testSession->load($id)->hasData()); } while ($testSession->load($id)->hasData());

View File

@ -43,9 +43,9 @@ class Download {
$this->filepath = $filepath; $this->filepath = $filepath;
if (isset($_SERVER['HTTP_RANGE'])) { if (isset($_SERVER['HTTP_RANGE'])) {
$this->instance = new Download_Range($owner, $filepath); $this->instance = new Download\Range($owner, $filepath);
} else { } else {
$this->instance = new Download_Simple($owner, $filepath); $this->instance = new Download\Simple($owner, $filepath);
} }
$this->view = $this->getView($owner); $this->view = $this->getView($owner);

View File

@ -9,12 +9,12 @@
* later. * later.
*/ */
namespace OCA\Documents; namespace OCA\Documents\Download;
/** /**
* Class processing range HTTP request (partial download) * Class processing range HTTP request (partial download)
*/ */
class Download_Range extends \OCA\Documents\Download { class Range extends \OCA\Documents\Download {
// Start of the range // Start of the range
protected $start; protected $start;
@ -41,7 +41,7 @@ class Download_Range extends \OCA\Documents\Download {
$mimetype = $this->getMimeType(); $mimetype = $this->getMimeType();
$content = $this->view->file_get_contents($this->filepath); $content = $this->view->file_get_contents($this->filepath);
$data = Filter::read($content, $mimetype); $data = \OCA\Documents\Filter::read($content, $mimetype);
$size = strlen($data['content']); $size = strlen($data['content']);
$ranges = explode(',', substr($_SERVER['HTTP_RANGE'], 6)); $ranges = explode(',', substr($_SERVER['HTTP_RANGE'], 6));

View File

@ -9,12 +9,12 @@
* later. * later.
*/ */
namespace OCA\Documents; namespace OCA\Documents\Download;
/** /**
* Class processing complete download * Class processing complete download
*/ */
class Download_Simple extends \OCA\Documents\Download { class Simple extends \OCA\Documents\Download {
public function __construct($owner, $filepath){ public function __construct($owner, $filepath){
$this->view = $this->getView($owner); $this->view = $this->getView($owner);
@ -27,7 +27,7 @@ class Download_Simple extends \OCA\Documents\Download {
public function sendResponse(){ public function sendResponse(){
$mimetype = $this->getMimeType(); $mimetype = $this->getMimeType();
$content = $this->view->file_get_contents($this->filepath); $content = $this->view->file_get_contents($this->filepath);
$data = Filter::read($content, $mimetype); $data = \OCA\Documents\Filter::read($content, $mimetype);
header( 'Content-Type:' . $data['mimetype'] ); header( 'Content-Type:' . $data['mimetype'] );

View File

@ -10,9 +10,9 @@
* later. * later.
*/ */
namespace OCA\Documents; namespace OCA\Documents\Filter;
class Filter_Office { class Office {
const NATIVE_MIMETYPE = 'application/vnd.oasis.opendocument.text'; const NATIVE_MIMETYPE = 'application/vnd.oasis.opendocument.text';
private $readSpec; private $readSpec;
@ -55,14 +55,14 @@ class Filter_Office {
$this->readSpec = $mimeSpec['read']; $this->readSpec = $mimeSpec['read'];
$this->writeSpec = $mimeSpec['write']; $this->writeSpec = $mimeSpec['write'];
Filter::add($mimeSpec['write']['target'], $this); \OCA\Documents\Filter::add($mimeSpec['write']['target'], $this);
} }
public function read($data){ public function read($data){
return array( return array(
'mimetype' => $this->readSpec['target'], 'mimetype' => $this->readSpec['target'],
'content' => 'content' =>
Converter::convert( \OCA\Documents\Converter::convert(
$data['content'], $data['content'],
$this->readSpec['format'], $this->readSpec['format'],
$this->readSpec['extension'] $this->readSpec['extension']
@ -74,7 +74,7 @@ class Filter_Office {
return array( return array(
'mimetype' => $this->writeSpec['target'], 'mimetype' => $this->writeSpec['target'],
'content' => 'content' =>
Converter::convert( \OCA\Documents\Converter::convert(
$data['content'], $data['content'],
$this->writeSpec['format'], $this->writeSpec['format'],
$this->writeSpec['extension'] $this->writeSpec['extension']

View File

@ -71,22 +71,22 @@ class Storage {
return; return;
} }
$session = new Db_Session(); $session = new Session();
$session->loadBy('file_id', $fileId); $session->loadBy('file_id', $fileId);
if (!$session->getEsId()){ if (!$session->getEsId()){
return; return;
} }
$member = new Db_Member(); $member = new Db\Member();
$sessionMembers = $member->getCollectionBy('es_id', $session->getEsId()); $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->getEsId()); Db\Session::cleanUp($session->getEsId());
} }
protected static function searchDocuments(){ protected static function searchDocuments(){

View File

@ -39,11 +39,11 @@ if (isset($_GET['t'])) {
\OCP\Util::addStyle( 'documents', '3rdparty/webodf/editor' ); \OCP\Util::addStyle( 'documents', '3rdparty/webodf/editor' );
\OCP\Util::addScript('documents', 'documents'); \OCP\Util::addScript('documents', 'documents');
if ($file->getFileId()){ if ($file->getFileId()){
$session = new Db_Session(); $session = new Db\Session();
$session->loadBy('file_id', $file->getFileId()); $session->loadBy('file_id', $file->getFileId());
if ($session->getEsId()){ if ($session->getEsId()){
$member = new Db_Member(); $member = new Db\Member();
$members = $member->getCollectionBy('es_id', $session->getEsId()); $members = $member->getCollectionBy('es_id', $session->getEsId());
} else { } else {
$members = 0; $members = 0;