Author: Jonathan.Wage
Date: 2010-01-17 00:13:45 +0100 (Sun, 17 Jan 2010)
New Revision: 26743

Modified:
   plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/config/app.yml
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/lib/sfSympalAssetToolkit.class.php
Log:
[1.4][sfSympalPlugin][1.0] Improving the ability to specify custom classes to 
handle different asset types by extension


Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/config/app.yml
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/config/app.yml    
    2010-01-16 21:08:15 UTC (rev 26742)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/config/app.yml    
    2010-01-16 23:13:45 UTC (rev 26743)
@@ -15,12 +15,14 @@
           icon:       doc                   # optional icon file name, without 
extension
         image:                              
           extensions: [png, jpg, jpeg, gif]
+          class:      sfSympalAssetImageObject
         pdf:
           extensions: [pdf]
         bin:
           extensions: [bin, exe, sh, bat, deb, yum]
         video:
           extensions: [wmv, avi, mpg, mpeg, flv, mp4, swf]
+          class:      sfSympalAssetVideoObject
         audio:
           extensions: [ogg, mp3, flac, wma, cda]
         text:

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/lib/sfSympalAssetToolkit.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/lib/sfSympalAssetToolkit.class.php
    2010-01-16 21:08:15 UTC (rev 26742)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAssetsPlugin/lib/sfSympalAssetToolkit.class.php
    2010-01-16 23:13:45 UTC (rev 26743)
@@ -2,22 +2,21 @@
 
 class sfSympalAssetToolkit
 {
-  protected static $_typeClassMap = array(
-    'image' => 'sfSympalAssetImageObject',
-    'file' => 'sfSympalAssetFileObject',
-    'video' => 'sfSympalAssetVideoObject'
-  );
-
   public static $iconsPath;
 
   public static function createAssetObject($file)
   {
-    $extension = sfSympalAssetToolkit::getExtensionFromFile($file);
-    $type = sfSympalAssetToolkit::getTypeFromExtension($extension);
-    $class = isset(self::$_typeClassMap[$type]) ? self::$_typeClassMap[$type] 
: 'sfSympalAssetFileObject';
+    $class = self::getClassFromExtension(self::getExtensionFromFile($file));
     return new $class($file);
   }
 
+  public static function getClassFromExtension($extension)
+  {
+    $type = self::getTypeFromExtension($extension);
+    $types = self::getFileTypes();
+    return isset($types[$type]['class']) ? $types[$type]['class'] : 
'sfSympalAssetFileObject';
+  }
+
   public static function getTypeFromExtension($extension)
   {
     $extension = strtolower(trim($extension));

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.


Reply via email to