From b7b61ac4e84acc530446260436a03550dbdfd778 Mon Sep 17 00:00:00 2001 From: Andrey Kutejko Date: Sun, 7 Jul 2013 09:10:17 +0300 Subject: [PATCH] app based template context --- ipf.php | 8 ++++---- ipf/admin/app.php | 8 ++++++++ ipf/application.php | 10 ++++++++++ ipf/context.php | 10 ---------- ipf/http/response/notfound.php | 1 - ipf/template/context/request.php | 3 +++ t/project/project/settings.php | 1 - 7 files changed, 25 insertions(+), 16 deletions(-) diff --git a/ipf.php b/ipf.php index 277e1ad..c70afa2 100644 --- a/ipf.php +++ b/ipf.php @@ -71,12 +71,12 @@ final class IPF IPF::$settings['media_url'] = '/media/'; } - if (!isset(IPF::$settings['tiny_mce_url'])){ - IPF::$settings['tiny_mce_url'] = '/media/tiny_mce/'; + if (!isset(IPF::$settings['static_url'])){ + IPF::$settings['static_url'] = '/static/'; } - if (!isset(IPF::$settings['admin_media_url'])){ - IPF::$settings['admin_media_url'] = '/ipf/ipf/admin/media/'; + if (!isset(IPF::$settings['tiny_mce_url'])){ + IPF::$settings['tiny_mce_url'] = '/static/admin/tiny_mce/'; } if (!isset(IPF::$settings['urls'])){ diff --git a/ipf/admin/app.php b/ipf/admin/app.php index eaa4769..36c241e 100644 --- a/ipf/admin/app.php +++ b/ipf/admin/app.php @@ -26,6 +26,14 @@ class IPF_Admin_App extends IPF_Application ); } + public function templateContext($request) + { + return array( + 'IPF_VER' => IPF_Version::$name, + 'ADMIN_MEDIA_URL' => IPF::get('static_url') . 'admin/', + ); + } + static function checkAdminAuth($request) { $ok = true; diff --git a/ipf/application.php b/ipf/application.php index b70bc72..58f8835 100644 --- a/ipf/application.php +++ b/ipf/application.php @@ -91,5 +91,15 @@ abstract class IPF_Application { IPF_ORM::loadModels($this->path.'models'); } + + /** + * Returns additional context for templates + * + * @return array Dictionary of values injected into template context + */ + public function templateContext($request) + { + return array(); + } } diff --git a/ipf/context.php b/ipf/context.php index d9acae3..bcc1d1d 100644 --- a/ipf/context.php +++ b/ipf/context.php @@ -10,16 +10,6 @@ function IPF_Context_Media($request) return array('MEDIA_URL' => IPF::get('media_url')); } -function IPF_Context_AdminMedia($request) -{ - return array('ADMIN_MEDIA_URL' => IPF::get('admin_media_url')); -} - -function IPF_Context_Version($request) -{ - return array('IPF_VER' => IPF_Version::$name); -} - function IPF_Context_Upload($request) { return array('UPLOAD_URL' => IPF::getUploadUrl()); diff --git a/ipf/http/response/notfound.php b/ipf/http/response/notfound.php index e4cb8c9..13cc0a1 100644 --- a/ipf/http/response/notfound.php +++ b/ipf/http/response/notfound.php @@ -9,7 +9,6 @@ class IPF_HTTP_Response_NotFound extends IPF_HTTP_Response 'title' => '404 Not Found', 'query_string' => @$_SERVER['QUERY_STRING'], 'MEDIA_URL' => IPF::get('media_url'), - 'ADMIN_MEDIA_URL' => IPF::get('admin_media_url'), ); $content = IPF_Shortcuts::RenderToString('404.html', $context, $request); } catch (IPF_Exception $e) { diff --git a/ipf/template/context/request.php b/ipf/template/context/request.php index f2c555f..1d4684d 100644 --- a/ipf/template/context/request.php +++ b/ipf/template/context/request.php @@ -9,6 +9,9 @@ class IPF_Template_Context_Request extends IPF_Template_Context IPF::loadFunction($proc); $vars = array_merge($proc($request), $vars); } + foreach (IPF_Project::getInstance()->appList() as $app) { + $vars = array_merge($app->templateContext($request), $vars); + } parent::__construct($vars); } } diff --git a/t/project/project/settings.php b/t/project/project/settings.php index a70820e..da2bad6 100644 --- a/t/project/project/settings.php +++ b/t/project/project/settings.php @@ -10,7 +10,6 @@ $set['tmp'] = $project_root . '/tmp'; $set['upload_url'] = '/media/upload/'; $set['upload_path'] = $project_root . '/htdocs/media/upload/'; $set['media_path'] = $project_root . '/htdocs/media/'; -$set['admin_media_url'] = '/media/admin/'; $set['media_url'] = '/media/'; $set['secret_key'] = '123456'; -- 2.49.0