]> source.dussan.org Git - nextcloud-server.git/commitdiff
allow plugins/apps to add custom headers to all pages
authorRobin Appelman <icewind1991@gmail.com>
Fri, 24 Jun 2011 20:06:40 +0000 (22:06 +0200)
committerRobin Appelman <icewind1991@gmail.com>
Fri, 24 Jun 2011 20:09:55 +0000 (22:09 +0200)
lib/base.php
lib/template.php

index 0453e272a4b72bc40b21f0472c81f07b6e828116..6aac2d9855d149642a34365b506f7e6f227dcb80 100644 (file)
@@ -120,6 +120,7 @@ if(!$error and !$RUNTIME_NOAPPS ){
 class OC_UTIL {
        public static $scripts=array();
        public static $styles=array();
+       public static $headers=array();
        private static $fsSetup=false;
 
        // Can be set up
@@ -231,6 +232,16 @@ class OC_UTIL {
                }
        }
 
+       /**
+        * @brief Add a custom element to the header
+        * @param string tag tag name of the element
+        * @param array $attributes array of attrobutes for the element
+        * @param string $text the text content for the element
+        */
+       public static function addHeader( $tag, $attributes, $text=''){
+               self::$headers[]=array('tag'=>$tag,'attributes'=>$attributes,'text'=>$text);
+       }
+
        /**
          * formats a timestamp in the "right" way
          *
index 992fa2de76cbf47a24656c796c509f639d7f74dc..9393fe6908e709de6942c979ae4bd1e1ac881a89 100644 (file)
@@ -206,9 +206,6 @@ class OC_TEMPLATE{
                                $search=new OC_TEMPLATE( 'core', 'part.searchbox');
                                $search->assign('searchurl',OC_HELPER::linkTo( 'search', 'index.php' ));
                                $page->assign('searchbox', $search->fetchPage());
-                               
-                               // Add custom headers
-                               $page->assign('headers',$this->headers);
 
                                // Add navigation entry
                                $page->assign( "navigation", OC_APP::getNavigation());
@@ -220,9 +217,6 @@ class OC_TEMPLATE{
                                $search->assign('searchurl',OC_HELPER::linkTo( 'search', 'index.php' ));
                                $page->assign('searchbox', $search->fetchPage());
                                
-                               // Add custom headers
-                               $page->assign('headers',$this->headers);
-                               
                                // Add menu data
                                if( OC_GROUP::inGroup( $_SESSION["user_id"], "admin" )){
                                        $page->assign( "adminnavigation", OC_APP::getAdminNavigation());
@@ -232,8 +226,6 @@ class OC_TEMPLATE{
                        else
                        {
                                $page = new OC_TEMPLATE( "core", "layout.guest" );
-                               // Add custom headers
-                               $page->assign('headers',$this->headers);
                        }
 
                        // Add the css and js files
@@ -259,7 +251,13 @@ class OC_TEMPLATE{
                                        $page->append( "cssfiles", "$WEBROOT/core/$style.css" );
                                }
                        }
-
+                       
+                       // Add custom headers
+                       $page->assign('headers',$this->headers);
+                       foreach(OC_UTIL::$headers as $header){
+                               $page->append('headers',$header);
+                       }
+                       
                        // Add css files and js files
                        $page->assign( "content", $data );
                        return $page->fetchPage();