includes/functions.php
changeset 21 663fcf528726
parent 19 5d003b6c9e89
child 22 d0314575e2f0
--- a/includes/functions.php	Sat Jun 23 19:27:41 2007 -0400
+++ b/includes/functions.php	Tue Jun 26 17:28:18 2007 -0400
@@ -2,7 +2,7 @@
 
 /*
  * Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between
- * Version 1.0 release candidate 3 (Druid)
+ * Version 1.0 (Banshee)
  * Copyright (C) 2006-2007 Dan Fuhry
  *
  * This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License
@@ -1439,7 +1439,7 @@
     }
     elseif ( $in_tag && $trk_name )
     {
-      $is_alphabetical = ( strtolower($chr) != strtoupper($chr) || in_array($chr, array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')) || $chr == '?' );
+      $is_alphabetical = ( strtolower($chr) != strtoupper($chr) || in_array($chr, array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')) || $chr == '?' || $chr == '!' || $chr == '-' );
       if ( $is_alphabetical )
         $tag_name .= $chr;
       else
@@ -1456,6 +1456,9 @@
   // The rule is so specific because everything else will have been filtered by now
   $html = preg_replace('/<(script|iframe)(.+?)src=([^>]*)</i', '&lt;\\1\\2src=\\3&lt;', $html);
   
+  // Unstrip comments
+  $html = preg_replace('/&lt;!--([^>]*?)--&gt;/i', '', $html);
+  
   return $html;
   
 }
@@ -1850,7 +1853,7 @@
   // Remove character escapes
   $page_id = dirtify_page_id($page_id);
   
-  $pid_clean = preg_replace('/[\w\/:;\(\)@\[\]_-]/', 'X', $page_id);
+  $pid_clean = preg_replace('/[\w\.\/:;\(\)@\[\]_-]/', 'X', $page_id);
   $pid_dirty = enano_str_split($pid_clean, 1);
   
   foreach ( $pid_dirty as $id => $char )
@@ -1878,12 +1881,12 @@
       $page_id_cleaned .= $pid_dirty[$id];
   }
   
-  global $mime_types;
+  // global $mime_types;
           
-  $exts = array_keys($mime_types);
-  $exts = '(' . implode('|', $exts) . ')';
+  // $exts = array_keys($mime_types);
+  // $exts = '(' . implode('|', $exts) . ')';
   
-  $page_id_cleaned = preg_replace('/\.2e' . $exts . '$/', '.\\1', $page_id_cleaned);
+  // $page_id_cleaned = preg_replace('/\.2e' . $exts . '$/', '.\\1', $page_id_cleaned);
   
   return $page_id_cleaned;
 }