Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F12318247
D3798.id9838.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
9 KB
Referenced Files
None
Subscribers
None
D3798.id9838.diff
View Options
diff --git a/workspaces/src/includes/apps/Application.php b/workspaces/src/Engines/Apps/Application.php
rename from workspaces/src/includes/apps/Application.php
rename to workspaces/src/Engines/Apps/Application.php
--- a/workspaces/src/includes/apps/Application.php
+++ b/workspaces/src/Engines/Apps/Application.php
@@ -15,15 +15,22 @@
* @filesource
*/
+namespace Waystone\Workspaces\Engines\Apps;
+
use Waystone\Workspaces\Engines\Controller\Controller;
use Waystone\Workspaces\Engines\Workspaces\WorkspaceConfiguration;
+use Collection;
+
+use Exception;
+
/**
* Application class
*
* This class describes an application
*/
abstract class Application extends Controller {
+
/**
* @var string The application name
*/
@@ -35,9 +42,10 @@
public $context;
/**
- * @var The collections, keys as collections roles and values as collections names.
+ * @var Collection[] The collections, keys as collections roles and values as
+ * collections names.
*/
- public $collections;
+ public $collections = [];
/**
* Initializes the controller resources
@@ -49,17 +57,27 @@
/**
* Loads the collection
*/
- private function loadCollections () {
- $workspaceCollections = $this->context->workspace->configuration->collections;
+ private function loadCollections () : array {
+ $loadedCollections = [];
+
+ $workspaceCollections =
+ $this->context->workspace->configuration->collections;
- foreach ($this->context->configuration->useCollections as $role => $name) {
+ foreach (
+ $this->context->configuration->useCollections as $role => $name
+ ) {
if (!array_key_exists($name, $workspaceCollections)) {
- $name = WorkspaceConfiguration::getCollectionNameWithPrefix($this->context->workspace, $name);
+ $name =
+ WorkspaceConfiguration::getCollectionNameWithPrefix($this->context->workspace,
+ $name);
if (!array_key_exists($name, $workspaceCollections)) {
throw new Exception("Collection not found: $name");
}
}
- $collections[$role] = Collection::load($name, $workspaceCollections[$name]);
+ $loadedCollections[$role] =
+ Collection::load($name, $workspaceCollections[$name]);
}
+
+ return $loadedCollections;
}
-}
\ No newline at end of file
+}
diff --git a/workspaces/src/includes/apps/ApplicationConfiguration.php b/workspaces/src/Engines/Apps/ApplicationConfiguration.php
rename from workspaces/src/includes/apps/ApplicationConfiguration.php
rename to workspaces/src/Engines/Apps/ApplicationConfiguration.php
--- a/workspaces/src/includes/apps/ApplicationConfiguration.php
+++ b/workspaces/src/Engines/Apps/ApplicationConfiguration.php
@@ -15,8 +15,13 @@
* @filesource
*/
+namespace Waystone\Workspaces\Engines\Apps;
+
use Waystone\Workspaces\Engines\Workspaces\WorkspaceConfiguration;
+use Message;
+use ObjectDeserializable;
+
/**
* Application configuration class
*
@@ -25,11 +30,12 @@
* It can be serialized into a workspace.conf application entry
*/
class ApplicationConfiguration implements ObjectDeserializable {
+
/**
* @var string The URL the application is binded to, without initial slash.
*/
public $bind;
-
+
/**
* @var Message The navigation entry
*/
@@ -41,7 +47,8 @@
public $icon;
/**
- * @var array The collections to use. Keys ares collections roles, values collections names.
+ * @var string[] The collections to use. Keys ares collections roles, values
+ * collections names.
*/
public $useCollections = [];
@@ -49,6 +56,7 @@
* Loads a WorkspaceConfiguration instance from an object
*
* @param object $data The object to deserialize
+ *
* @return WorkspaceConfiguration The deserialized instance
*/
public static function loadFromObject ($data) {
diff --git a/workspaces/src/includes/apps/ApplicationContext.php b/workspaces/src/Engines/Apps/ApplicationContext.php
rename from workspaces/src/includes/apps/ApplicationContext.php
rename to workspaces/src/Engines/Apps/ApplicationContext.php
--- a/workspaces/src/includes/apps/ApplicationContext.php
+++ b/workspaces/src/Engines/Apps/ApplicationContext.php
@@ -15,6 +15,8 @@
* @filesource
*/
+namespace Waystone\Workspaces\Engines\Apps;
+
use Waystone\Workspaces\Engines\Framework\Context;
/**
@@ -23,6 +25,7 @@
* This class describes an application context, in addition to the site context.
*/
class ApplicationContext extends Context {
+
/**
* @var ApplicationConfiguration the application configuration
*/
@@ -32,9 +35,13 @@
* Initializes a new ApplicationContext instance from a Context instance
*
* @param Context $sourceContext The source context
- * @param ApplicationConfiguration The application configuration (facultative)
+ * @param ApplicationConfiguration The application configuration
+ * (facultative)
*/
- public static function loadFromContext ($sourceContext, $applicationConfiguration = NULL) {
+ public static function loadFromContext (
+ $sourceContext,
+ $applicationConfiguration = null
+ ) {
$applicationContext = new ApplicationContext();
$applicationContext->workspace = $sourceContext->workspace;
@@ -43,7 +50,7 @@
$applicationContext->url = $sourceContext->url;
$applicationContext->templateEngine = $sourceContext->templateEngine;
- if ($applicationConfiguration !== NULL) {
+ if ($applicationConfiguration !== null) {
$applicationContext->configuration = $applicationConfiguration;
}
diff --git a/workspaces/src/Engines/Workspaces/WorkspaceConfiguration.php b/workspaces/src/Engines/Workspaces/WorkspaceConfiguration.php
--- a/workspaces/src/Engines/Workspaces/WorkspaceConfiguration.php
+++ b/workspaces/src/Engines/Workspaces/WorkspaceConfiguration.php
@@ -17,10 +17,9 @@
namespace Waystone\Workspaces\Engines\Workspaces;
-use Waystone\Workspaces\Engines\Framework\Context;
-
-use ApplicationConfiguration;
use ObjectDeserializableWithContext;
+use Waystone\Workspaces\Engines\Apps\ApplicationConfiguration;
+use Waystone\Workspaces\Engines\Framework\Context;
/**
* Workspace configuration class
diff --git a/workspaces/src/apps/documents/DocumentsApplication.php b/workspaces/src/apps/documents/DocumentsApplication.php
--- a/workspaces/src/apps/documents/DocumentsApplication.php
+++ b/workspaces/src/apps/documents/DocumentsApplication.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\Application;
+
/**
* Documents application class
*/
diff --git a/workspaces/src/apps/documents/DocumentsApplicationConfiguration.php b/workspaces/src/apps/documents/DocumentsApplicationConfiguration.php
--- a/workspaces/src/apps/documents/DocumentsApplicationConfiguration.php
+++ b/workspaces/src/apps/documents/DocumentsApplicationConfiguration.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\ApplicationConfiguration;
+
/**
* Documents application configuration class
*/
diff --git a/workspaces/src/apps/helloworld/HelloWorldApplication.php b/workspaces/src/apps/helloworld/HelloWorldApplication.php
--- a/workspaces/src/apps/helloworld/HelloWorldApplication.php
+++ b/workspaces/src/apps/helloworld/HelloWorldApplication.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\Application;
+
/**
* Hello World application class
*
diff --git a/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplication.php b/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplication.php
--- a/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplication.php
+++ b/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplication.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\Application;
+
/**
* MediaWiki mirror application class
*/
diff --git a/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplicationConfiguration.php b/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplicationConfiguration.php
--- a/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplicationConfiguration.php
+++ b/workspaces/src/apps/mediawikimirror/MediaWikiMirrorApplicationConfiguration.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\ApplicationConfiguration;
+
/**
* MediaWiki mirror application configuration class
*/
diff --git a/workspaces/src/apps/staticcontent/StaticContentApplication.php b/workspaces/src/apps/staticcontent/StaticContentApplication.php
--- a/workspaces/src/apps/staticcontent/StaticContentApplication.php
+++ b/workspaces/src/apps/staticcontent/StaticContentApplication.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\Application;
+
/**
* Static content application class
*
diff --git a/workspaces/src/apps/staticcontent/StaticContentApplicationConfiguration.php b/workspaces/src/apps/staticcontent/StaticContentApplicationConfiguration.php
--- a/workspaces/src/apps/staticcontent/StaticContentApplicationConfiguration.php
+++ b/workspaces/src/apps/staticcontent/StaticContentApplicationConfiguration.php
@@ -15,6 +15,8 @@
* @filesource
*/
+use Waystone\Workspaces\Engines\Apps\ApplicationConfiguration;
+
/**
* Static content application configuration class
*/
diff --git a/workspaces/src/index.php b/workspaces/src/index.php
--- a/workspaces/src/index.php
+++ b/workspaces/src/index.php
@@ -17,6 +17,7 @@
*
*/
+use Waystone\Workspaces\Engines\Apps\ApplicationContext;
use Waystone\Workspaces\Engines\Errors\ErrorHandling;
use Waystone\Workspaces\Engines\Framework\Application;
use Waystone\Workspaces\Engines\Workspaces\Workspace;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Oct 24, 04:45 (20 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3099959
Default Alt Text
D3798.id9838.diff (9 KB)
Attached To
Mode
D3798: Promote Application classes in namespace
Attached
Detach File
Event Timeline
Log In to Comment