Horde_Script_Files fixes/improvements
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 11 Feb 2010 19:01:01 +0000 (12:01 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 11 Feb 2010 19:58:30 +0000 (12:58 -0700)
Don't use private methods (not sure how this was working anymore)
Use injector to hold singleton object

ansel/lib/View/GalleryRenderer/Gallery.php
ansel/lib/View/GalleryRenderer/GalleryLightbox.php
ansel/lib/View/Image.php
framework/Core/lib/Horde.php
framework/Core/lib/Horde/Script/Files.php

index 2a10076..d2c1a76 100644 (file)
@@ -90,12 +90,13 @@ class Ansel_View_GalleryRenderer_Gallery extends Ansel_View_GalleryRenderer_Base
 
         $pager = new Horde_Ui_Pager('page', $vars, $params);
 
-        // Note that we can't use Horde_Util::bufferOutput() here since the include
-        // file would be included inside that method's scope, and not this one.
+        // Note that we can't use Horde_Util::bufferOutput() here since the
+        // include file would be included inside that method's scope, and not
+        // this one.
         ob_start();
         if (!empty($this->view->api)) {
-            $includes = new Horde_Script_Files();
-            $includes->_add('prototype.js', 'horde', true, true);
+            $includes = $GLOBALS['injector']->createInstance('Horde_Script_Files');
+            $includes->add('prototype.js', 'horde', true, true);
             $includes->includeFiles();
         }
 
index 6db8066..0278e43 100644 (file)
@@ -134,10 +134,10 @@ class Ansel_View_GalleryRenderer_GalleryLightbox extends Ansel_View_GalleryRende
         /* Output js/css here if we are calling via the api */
         if (!empty($this->view->api)) {
             Ansel::attachStylesheet('lightbox.css', true);
-            $includes = new Horde_Script_Files();
-            $includes->_add('accesskeys.js', 'horde', true, true);
-            $includes->_add('effects.js', 'horde', true, true);
-            $includes->_add('lightbox.js', 'ansel', true, true);
+            $includes = $GLOBALS['injector']->createInstance('Horde_Script_Files');
+            $includes->add('accesskeys.js', 'horde', true, true);
+            $includes->add('effects.js', 'horde', true, true);
+            $includes->add('lightbox.js', 'ansel', true, true);
             $includes->includeFiles();
         }
 
index 8525684..b552f56 100644 (file)
@@ -383,10 +383,10 @@ class Ansel_View_Image extends Ansel_View_Base
 
         /* Output the js if we are calling via the api */
         if (!empty($this->_params['api'])) {
-            $includes = new Horde_Script_Files();
-            $includes->_add('prototype.js', 'horde', true, true);
-            $includes->_add('effects.js', 'horde',true, true);
-            $includes->_add('stripe.js', 'horde', true, true);
+            $includes = $GLOBALS['injector']->createInstance('Horde_Script_Files');
+            $includes->add('prototype.js', 'horde', true, true);
+            $includes->add('effects.js', 'horde',true, true);
+            $includes->add('stripe.js', 'horde', true, true);
             $includes->includeFiles();
         }
 
index 7f7657f..cc7465b 100644 (file)
@@ -301,7 +301,7 @@ HTML;
     static public function addScriptFile($file, $app = null,
                                          $options = array())
     {
-        $hsf = Horde_Script_Files::singleton();
+        $hsf = $GLOBALS['injector']->getInstance('Horde_Script_Files');
         if (empty($options['external'])) {
             $hsf->add($file, $app, isset($options['direct']) ? $options['direct'] : true, !empty($options['full']));
         } else {
@@ -322,7 +322,7 @@ HTML;
         $driver = empty($conf['cachejs'])
             ? 'none'
             : $conf['cachejsparams']['driver'];
-        $hsf = Horde_Script_Files::singleton();
+        $hsf = $GLOBALS['injector']->getInstance('Horde_Script_Files');
 
         if ($driver == 'none') {
             $hsf->includeFiles();
index 54a20d2..965847e 100644 (file)
 class Horde_Script_Files
 {
     /**
-     * The singleton instance.
-     *
-     * @var Horde_Script_Files
-     */
-    static protected $_instance;
-
-    /**
      * The list of script files to add.
      *
      * @var array
@@ -36,18 +29,6 @@ class Horde_Script_Files
     protected $_included = array();
 
     /**
-     * Singleton.
-     */
-    static public function singleton()
-    {
-        if (!self::$_instance) {
-            self::$_instance = new self();
-        }
-
-        return self::$_instance;
-    }
-
-    /**
      * Adds the javascript code to the output (if output has already started)
      * or to the list of script files to include.
      *