diff options
Diffstat (limited to 'appinfo/bootstrap.php')
-rw-r--r-- | appinfo/bootstrap.php | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/appinfo/bootstrap.php b/appinfo/bootstrap.php new file mode 100644 index 000000000..03a9a79fc --- /dev/null +++ b/appinfo/bootstrap.php @@ -0,0 +1,110 @@ +<?php +/** +* ownCloud - News app +* +* @author Alessandro Copyright +* @author Bernhard Posselt +* @copyright 2012 Alessandro Cosentino cosenal@gmail.com +* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com +* +* This file is licensed under the Affero General Public License version 3 or later. +* See the COPYING-README file +* +*/ + +namespace OCA\News; + +\OC::$CLASSPATH['Pimple'] = 'apps/news/3rdparty/Pimple/Pimple.php'; + +\OC::$CLASSPATH['OC_Search_Provider_News'] = 'apps/news/lib/search.php'; +\OC::$CLASSPATH['OCA\News\Backgroundjob'] = 'apps/news/lib/backgroundjob.php'; +\OC::$CLASSPATH['OCA\News\Share_Backend_News_Item'] = 'apps/news/lib/share/item.php'; +\OC::$CLASSPATH['OCA\News\Utils'] = 'apps/news/lib/utils.php'; +\OC::$CLASSPATH['OCA\News\Security'] = 'apps/news/lib/security.php'; +\OC::$CLASSPATH['OCA\News\API'] = 'apps/news/lib/api.php'; +\OC::$CLASSPATH['OCA\News\Request'] = 'apps/news/lib/request.php'; +\OC::$CLASSPATH['OCA\News\TemplateResponse'] = 'apps/news/lib/response.php'; +\OC::$CLASSPATH['OCA\News\JSONResponse'] = 'apps/news/lib/response.php'; +\OC::$CLASSPATH['OCA\News\TextDownloadResponse'] = 'apps/news/lib/response.php'; +\OC::$CLASSPATH['OCA\News\Controller'] = 'apps/news/lib/controller.php'; + +\OC::$CLASSPATH['OCA\News\OPMLParser'] = 'apps/news/opmlparser.php'; +\OC::$CLASSPATH['OCA\News\OPMLExporter'] = 'apps/news/opmlexporter.php'; +\OC::$CLASSPATH['OCA\News\OPMLImporter'] = 'apps/news/opmlimporter.php'; + +\OC::$CLASSPATH['OCA\News\Enclosure'] = 'apps/news/db/enclosure.php'; +\OC::$CLASSPATH['OCA\News\FeedMapper'] = 'apps/news/db/feedmapper.php'; +\OC::$CLASSPATH['OCA\News\ItemMapper'] = 'apps/news/db/itemmapper.php'; +\OC::$CLASSPATH['OCA\News\FolderMapper'] = 'apps/news/db/foldermapper.php'; +\OC::$CLASSPATH['OCA\News\Folder'] = 'apps/news/db/folder.php'; +\OC::$CLASSPATH['OCA\News\Feed'] = 'apps/news/db/feed.php'; +\OC::$CLASSPATH['OCA\News\Item'] = 'apps/news/db/item.php'; +\OC::$CLASSPATH['OCA\News\Collection'] = 'apps/news/db/collection.php'; +\OC::$CLASSPATH['OCA\News\FeedType'] = 'apps/news/db/feedtype.php'; +\OC::$CLASSPATH['OCA\News\StatusFlag'] = 'apps/news/db/statusflag.php'; + +\OC::$CLASSPATH['OCA\News\NewsController'] = 'apps/news/controllers/news.controller.php'; +\OC::$CLASSPATH['OCA\News\NewsAjaxController'] = 'apps/news/controllers/news.ajax.controller.php'; + + +/** + * @return a new DI container with prefilled values for the news app + */ +function createDIContainer(){ + $newsContainer = new \Pimple(); + + /** + * CONSTANTS + */ + $newsContainer['AppName'] = 'news'; + + + /** + * CLASSES + */ + $newsContainer['API'] = $newsContainer->share(function($c){ + return new API($c['AppName']); + }); + + + $newsContainer['Request'] = $newsContainer->share(function($c){ + return new Request($_GET, $_POST, $_FILES); + }); + + + $newsContainer['Security'] = $newsContainer->share(function($c) { + return new Security($c['AppName']); + }); + + + /** + * MAPPERS + */ + $newsContainer['ItemMapper'] = $newsContainer->share(function($c){ + return new ItemMapper($c['API']->getUserId()); + }); + + $newsContainer['FeedMapper'] = $newsContainer->share(function($c){ + return new FeedMapper($c['API']->getUserId()); + }); + + $newsContainer['FolderMapper'] = $newsContainer->share(function($c){ + return new FolderMapper($c['API']->getUserId()); + }); + + + /** + * CONTROLLERS + */ + $newsContainer['NewsController'] = function($c){ + return new NewsController($c['Request'], $c['API'], $c['FeedMapper'], + $c['FolderMapper']); + }; + + $newsContainer['NewsAjaxController'] = function($c){ + return new NewsAjaxController($c['Request'], $c['API'], $c['FeedMapper'], + $c['FolderMapper'], $c['ItemMapper']); + }; + + return $newsContainer; +}
\ No newline at end of file |