]> git.andy128k.dev Git - ipf.git/commitdiff
app based template context
authorAndrey Kutejko <andy128k@gmail.com>
Sun, 7 Jul 2013 06:10:17 +0000 (09:10 +0300)
committerAndrey Kutejko <andy128k@gmail.com>
Sun, 7 Jul 2013 06:10:17 +0000 (09:10 +0300)
ipf.php
ipf/admin/app.php
ipf/application.php
ipf/context.php
ipf/http/response/notfound.php
ipf/template/context/request.php
t/project/project/settings.php

diff --git a/ipf.php b/ipf.php
index 277e1ad0f6cc4429c2c4ff09091cdbf6b4ae2c09..c70afa2d90875e4fa8d3bd13f74959e70abafc99 100644 (file)
--- 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'])){
index eaa4769ec5cb385b685450ce39d54eb65f176489..36c241e71b14dca594b9974f4f74a26fb00c814a 100644 (file)
@@ -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;
index b70bc724b2e5cb7d4083d30d5dda83f995c4abe7..58f8835f8bea6ba5f813820311d7f1448b1e7fad 100644 (file)
@@ -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();
+    }
 }
 
index d9acae3fa244e1f754d9fc79d3c0d880c73ede17..bcc1d1d62713936b9fee1071562e0ea885fe1087 100644 (file)
@@ -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());
index e4cb8c96e2903fc4f9d9501ed2e93d9b0ea5647a..13cc0a14b500cd4c7a55cdbe5d2cdd5c47cb3339 100644 (file)
@@ -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) {
index f2c555f4df1bfe02ca206e494f0b707045770a73..1d4684d3d856035819a7e194554abed5af0d0f89 100644 (file)
@@ -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);
     }
 }
index a70820e6d1e024c988cb411fb74ff7b483ef43b4..da2bad6842dc1e34df09097baa5cbbed65d080d1 100644 (file)
@@ -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';