Page MenuHomeDevCentral

D3798.diff
No OneTemporary

D3798.diff

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,9 +17,9 @@
namespace Waystone\Workspaces\Engines\Workspaces;
+use Waystone\Workspaces\Engines\Apps\ApplicationConfiguration;
use Waystone\Workspaces\Engines\Framework\Context;
-use ApplicationConfiguration;
use ObjectDeserializableWithContext;
/**
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

Mime Type
text/plain
Expires
Fri, Oct 24, 00:56 (16 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3099661
Default Alt Text
D3798.diff (9 KB)

Event Timeline