[cc-commits] [CC SVN] r12646 - cchost/trunk/cchost_lib

webmaster at creativecommons.org webmaster at creativecommons.org
Sun May 24 14:11:02 EDT 2009


Author: fourstones
Date: 2009-05-24 18:11:02 +0000 (Sun, 24 May 2009)
New Revision: 12646

Modified:
   cchost/trunk/cchost_lib/cc-dataview.php
   cchost/trunk/cchost_lib/cc-filters.php
   cchost/trunk/cchost_lib/cc-handlers.inc
Log:
fixed bug in filter override for OCAL

Modified: cchost/trunk/cchost_lib/cc-dataview.php
===================================================================
--- cchost/trunk/cchost_lib/cc-dataview.php	2009-05-24 03:38:38 UTC (rev 12645)
+++ cchost/trunk/cchost_lib/cc-dataview.php	2009-05-24 18:11:02 UTC (rev 12646)
@@ -215,15 +215,30 @@
 
     function FilterRecords(&$records,$info)
     {
-        while( count($info['e']) )
+        global $cc_dont_eat_std_filters;
+
+        if( empty($cc_dont_eat_std_filters) )
+        {        
+            while( count($info['e']) )
+            {
+                $k = array_keys($info['e']);
+                $e = $info['e'][$k[0]];
+                CCEvents::Invoke( $e, array( &$records, &$info ) );
+                if( in_array( $e, $info['e'] ) )
+                    $info['e'] = array_diff( $info['e'], array( $e ) );
+            }
+            return $info['e'];
+        }
+        else
         {
-            $k = array_keys($info['e']);
-            $e = $info['e'][$k[0]];
-            CCEvents::Invoke( $e, array( &$records, &$info ) );
-            if( in_array( $e, $info['e'] ) )
-                $info['e'] = array_diff( $info['e'], array( $e ) );
+            $events = $info['e'];
+            foreach( $events as $e )
+            {
+                $info['e'] = array( $e );
+                CCEvents::Invoke( $e, array( &$records, &$info ) );
+            }
+            $info['e'] = $events;
         }
-        return $info['e'];
     }
 
     function MakeTagFilter( $tags, $type='all', $tagfield='upload_tags' )

Modified: cchost/trunk/cchost_lib/cc-filters.php
===================================================================
--- cchost/trunk/cchost_lib/cc-filters.php	2009-05-24 03:38:38 UTC (rev 12645)
+++ cchost/trunk/cchost_lib/cc-filters.php	2009-05-24 18:11:02 UTC (rev 12646)
@@ -4,21 +4,28 @@
 if( !defined('IN_CC_HOST') )
     die( 'Welcome to ccHost' );
 
-
 function cc_filter_std(&$records,&$dataview_info)
 {
+    global $cc_dont_eat_std_filters;
     global $CC_GLOBALS;
+    
     $c = count($records);
     $k = array_keys($records);
     require_once('cchost_lib/cc-tags.php');
+        
+    foreach( array( CC_EVENT_FILTER_DOWNLOAD_URL,
+                    CC_EVENT_FILTER_EXTRA,
+                    CC_EVENT_FILTER_FILES,
+                    CC_EVENT_FILTER_NUM_FILES,
+                    CC_EVENT_FILTER_RATINGS_STARS,
+                    CC_EVENT_FILTER_REMIXES_FULL,
+                    CC_EVENT_FILTER_REMIXES_SHORT,
+                    CC_EVENT_FILTER_UPLOAD_MENU,
+                    CC_EVENT_FILTER_UPLOAD_TAGS,
+                    CC_EVENT_FILTER_UPLOAD_USER_TAGS,
+                     ) as $e )
+    {
 
-    foreach( array( CC_EVENT_FILTER_UPLOAD_USER_TAGS, CC_EVENT_FILTER_REMIXES_SHORT, CC_EVENT_FILTER_FILES,
-                    CC_EVENT_FILTER_UPLOAD_TAGS, CC_EVENT_FILTER_REMIXES_FULL, CC_EVENT_FILTER_EXTRA,
-                    CC_EVENT_FILTER_RATINGS_STARS, CC_EVENT_FILTER_DOWNLOAD_URL,
-                    CC_EVENT_FILTER_UPLOAD_MENU, CC_EVENT_FILTER_NUM_FILES, ) as $e )
-    {
-        global $cc_dont_eat_std_filters;
-        
         if( !in_array( $e, $dataview_info['e'] ) )
             continue;
 

Modified: cchost/trunk/cchost_lib/cc-handlers.inc
===================================================================
--- cchost/trunk/cchost_lib/cc-handlers.inc	2009-05-24 03:38:38 UTC (rev 12645)
+++ cchost/trunk/cchost_lib/cc-handlers.inc	2009-05-24 18:11:02 UTC (rev 12646)
@@ -187,15 +187,17 @@
 CCEvents::AddHandler(CC_EVENT_MAP_URLS,           array( 'CCUserHook', 'OnMapUrls'), 'cchost_lib/cc-user-hook.php' );
 
 CCEvents::AddHandler(CC_EVENT_FILTER_DOWNLOAD_URL, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
+CCEvents::AddHandler(CC_EVENT_FILTER_EXTRA, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
+CCEvents::AddHandler(CC_EVENT_FILTER_FILES, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
 CCEvents::AddHandler(CC_EVENT_FILTER_NUM_FILES, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
-CCEvents::AddHandler(CC_EVENT_FILTER_UPLOAD_USER_TAGS, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
+CCEvents::AddHandler(CC_EVENT_FILTER_RATINGS_STARS, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
+CCEvents::AddHandler(CC_EVENT_FILTER_REMIXES_FULL, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
 CCEvents::AddHandler(CC_EVENT_FILTER_REMIXES_SHORT, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
-CCEvents::AddHandler(CC_EVENT_FILTER_REMIXES_FULL, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
-CCEvents::AddHandler(CC_EVENT_FILTER_RATINGS_STARS, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
-CCEvents::AddHandler(CC_EVENT_FILTER_FILES, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
+CCEvents::AddHandler(CC_EVENT_FILTER_UPLOAD_MENU, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
 CCEvents::AddHandler(CC_EVENT_FILTER_UPLOAD_TAGS, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
-CCEvents::AddHandler(CC_EVENT_FILTER_EXTRA, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
+CCEvents::AddHandler(CC_EVENT_FILTER_UPLOAD_USER_TAGS, 'cc_filter_std', 'cchost_lib/cc-filters.php' );
 
+
 CCEvents::AddHandler(CC_EVENT_FILTER_POOL_ITEMS, 'cc_filter_pool_items', 'cchost_lib/cc-pool-filters.php' );
 
 




More information about the cc-commits mailing list