Author: fabien
Date: 2010-02-19 20:45:09 +0100 (Fri, 19 Feb 2010)
New Revision: 28142

Added:
   branches/2.0/src/Symfony/Framework/WebBundle/Util/Glob.php
Removed:
   branches/2.0/src/Symfony/Framework/WebBundle/Util/GlobToRegex.php
Modified:
   branches/2.0/src/Symfony/Foundation/Bundle/KernelBundle.php
   branches/2.0/src/Symfony/Foundation/Kernel.php
   branches/2.0/src/Symfony/Foundation/bootstrap.php
   
branches/2.0/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php
   
branches/2.0/src/Symfony/Framework/DoctrineBundle/Resources/config/schema/dic/doctrine/doctrine-1.0.xsd
   branches/2.0/src/Symfony/Framework/WebBundle/Bundle.php
   branches/2.0/src/Symfony/Framework/WebBundle/Util/Finder.php
Log:
Merge branch 'master' of git://github.com/symfony/symfony

Modified: branches/2.0/src/Symfony/Foundation/Bundle/KernelBundle.php
===================================================================
--- branches/2.0/src/Symfony/Foundation/Bundle/KernelBundle.php 2010-02-19 
15:43:31 UTC (rev 28141)
+++ branches/2.0/src/Symfony/Foundation/Bundle/KernelBundle.php 2010-02-19 
19:45:09 UTC (rev 28142)
@@ -5,9 +5,7 @@
 use Symfony\Foundation\Bundle\Bundle;
 use Symfony\Foundation\ClassCollectionLoader;
 use Symfony\Components\DependencyInjection\ContainerInterface;
-use Symfony\Components\DependencyInjection\Container;
 use Symfony\Components\DependencyInjection\Loader\Loader;
-use Symfony\Components\Debug\ErrorHandler;
 
 /*
  * This file is part of the symfony framework.

Modified: branches/2.0/src/Symfony/Foundation/Kernel.php
===================================================================
--- branches/2.0/src/Symfony/Foundation/Kernel.php      2010-02-19 15:43:31 UTC 
(rev 28141)
+++ branches/2.0/src/Symfony/Foundation/Kernel.php      2010-02-19 19:45:09 UTC 
(rev 28142)
@@ -267,7 +267,7 @@
     {
       if (false === @mkdir($parameters['kernel.cache_dir'], 0777, true))
       {
-        die(sprintf('Unable to write in the cache directory (%s)', 
dirname($parameters['kernel.cache_dir'])));
+        die(sprintf('Unable to create the cache directory (%s)', 
$parameters['kernel.cache_dir']));
       }
     }
     elseif (!is_writable($parameters['kernel.cache_dir']))
@@ -280,12 +280,12 @@
     {
       if (false === @mkdir($parameters['kernel.logs_dir'], 0777, true))
       {
-        die(sprintf('Failed to write in the logs directory (%s)', 
dirname($parameters['kernel.logs_dir'])));
+        die(sprintf('Unable to create the logs directory (%s)', 
$parameters['kernel.logs_dir']));
       }
     }
     elseif (!is_writable($parameters['kernel.logs_dir']))
     {
-      die(sprintf('Failed to write in the logs directory (%s)', 
$parameters['kernel.logs_dir']));
+      die(sprintf('Unable to write in the logs directory (%s)', 
$parameters['kernel.logs_dir']));
     }
 
     // cache the container

Modified: branches/2.0/src/Symfony/Foundation/bootstrap.php
===================================================================
--- branches/2.0/src/Symfony/Foundation/bootstrap.php   2010-02-19 15:43:31 UTC 
(rev 28141)
+++ branches/2.0/src/Symfony/Foundation/bootstrap.php   2010-02-19 19:45:09 UTC 
(rev 28142)
@@ -39,9 +39,7 @@
 use Symfony\Foundation\Bundle\Bundle;
 use Symfony\Foundation\ClassCollectionLoader;
 use Symfony\Components\DependencyInjection\ContainerInterface;
-use Symfony\Components\DependencyInjection\Container;
 use Symfony\Components\DependencyInjection\Loader\Loader;
-use Symfony\Components\Debug\ErrorHandler;
 
 
 
@@ -536,7 +534,7 @@
     {
       if (false === @mkdir($parameters['kernel.cache_dir'], 0777, true))
       {
-        die(sprintf('Unable to write in the cache directory (%s)', 
dirname($parameters['kernel.cache_dir'])));
+        die(sprintf('Unable to create the cache directory (%s)', 
$parameters['kernel.cache_dir']));
       }
     }
     elseif (!is_writable($parameters['kernel.cache_dir']))
@@ -548,12 +546,12 @@
     {
       if (false === @mkdir($parameters['kernel.logs_dir'], 0777, true))
       {
-        die(sprintf('Failed to write in the logs directory (%s)', 
dirname($parameters['kernel.logs_dir'])));
+        die(sprintf('Unable to create the logs directory (%s)', 
$parameters['kernel.logs_dir']));
       }
     }
     elseif (!is_writable($parameters['kernel.logs_dir']))
     {
-      die(sprintf('Failed to write in the logs directory (%s)', 
$parameters['kernel.logs_dir']));
+      die(sprintf('Unable to write in the logs directory (%s)', 
$parameters['kernel.logs_dir']));
     }
 
         $dumper = new PhpDumper($container);

Modified: 
branches/2.0/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php
===================================================================
--- 
branches/2.0/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php
 2010-02-19 15:43:31 UTC (rev 28141)
+++ 
branches/2.0/src/Symfony/Framework/DoctrineBundle/DependencyInjection/DoctrineExtension.php
 2010-02-19 19:45:09 UTC (rev 28142)
@@ -41,7 +41,7 @@
    *
    * Usage example:
    *
-   *      <doctrine:dbal dbname="sfweb" username="root" />
+   *      <doctrine:dbal dbname="sfweb" user="root" />
    *
    * @param array $config A configuration array
    *
@@ -54,7 +54,7 @@
     $loader = new XmlFileLoader(__DIR__.'/../Resources/config');
     $configuration->merge($loader->load($this->resources['dbal']));
 
-    foreach (array('dbname', 'host', 'username', 'password', 'path', 'port') 
as $key)
+    foreach (array('dbname', 'host', 'user', 'password', 'path', 'port') as 
$key)
     {
       if (isset($config[$key]))
       {

Modified: 
branches/2.0/src/Symfony/Framework/DoctrineBundle/Resources/config/schema/dic/doctrine/doctrine-1.0.xsd
===================================================================
--- 
branches/2.0/src/Symfony/Framework/DoctrineBundle/Resources/config/schema/dic/doctrine/doctrine-1.0.xsd
     2010-02-19 15:43:31 UTC (rev 28141)
+++ 
branches/2.0/src/Symfony/Framework/DoctrineBundle/Resources/config/schema/dic/doctrine/doctrine-1.0.xsd
     2010-02-19 19:45:09 UTC (rev 28142)
@@ -11,7 +11,7 @@
     <xsd:attribute name="dbname" type="xsd:string" />
     <xsd:attribute name="host" type="xsd:string" />
     <xsd:attribute name="port" type="xsd:integer" />
-    <xsd:attribute name="username" type="xsd:string" />
+    <xsd:attribute name="user" type="xsd:string" />
     <xsd:attribute name="password" type="xsd:string" />
     <xsd:attribute name="driver" type="xsd:string" />
     <xsd:attribute name="options" type="xsd:string" />

Modified: branches/2.0/src/Symfony/Framework/WebBundle/Bundle.php
===================================================================
--- branches/2.0/src/Symfony/Framework/WebBundle/Bundle.php     2010-02-19 
15:43:31 UTC (rev 28141)
+++ branches/2.0/src/Symfony/Framework/WebBundle/Bundle.php     2010-02-19 
19:45:09 UTC (rev 28142)
@@ -3,10 +3,8 @@
 namespace Symfony\Framework\WebBundle;
 
 use Symfony\Foundation\Bundle\Bundle as BaseBundle;
-use Symfony\Components\DependencyInjection\Container;
 use Symfony\Components\DependencyInjection\ContainerInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
-use Symfony\Components\DependencyInjection\Reference;
 use Symfony\Framework\WebBundle\DependencyInjection\WebExtension;
 
 /*

Modified: branches/2.0/src/Symfony/Framework/WebBundle/Util/Finder.php
===================================================================
--- branches/2.0/src/Symfony/Framework/WebBundle/Util/Finder.php        
2010-02-19 15:43:31 UTC (rev 28141)
+++ branches/2.0/src/Symfony/Framework/WebBundle/Util/Finder.php        
2010-02-19 19:45:09 UTC (rev 28142)
@@ -29,18 +29,18 @@
  */
 class Finder
 {
-  protected $type                   = 'file';
-  protected $names                  = array();
-  protected $prunes                 = array();
-  protected $discards               = array();
-  protected $execs                  = array();
-  protected $mindepth               = 0;
-  protected $sizes                  = array();
-  protected $maxdepth               = 1000000;
-  protected $relative               = false;
-  protected $follow_link            = false;
-  protected $sort                   = false;
-  protected $ignore_version_control = true;
+  protected $type                 = 'file';
+  protected $names                = array();
+  protected $prunes               = array();
+  protected $discards             = array();
+  protected $execs                = array();
+  protected $mindepth             = 0;
+  protected $sizes                = array();
+  protected $maxdepth             = 1000000;
+  protected $relative             = false;
+  protected $followLinks          = false;
+  protected $sort                 = false;
+  protected $ignoreVersionControl = true;
 
   /**
    * Sets maximum directory depth.
@@ -50,7 +50,7 @@
    * @param  int $level
    * @return object current Finder object
    */
-  public function maxdepth($level)
+  public function maxDepth($level)
   {
     $this->maxdepth = $level;
 
@@ -65,14 +65,14 @@
    * @param  int $level
    * @return object current Finder object
    */
-  public function mindepth($level)
+  public function minDepth($level)
   {
     $this->mindepth = $level;
 
     return $this;
   }
 
-  public function get_type()
+  public function getType()
   {
     return $this->type;
   }
@@ -119,17 +119,17 @@
   /*
    * glob, patterns (must be //) or strings
    */
-  protected function to_regex($str)
+  protected function toRegex($str)
   {
     if (preg_match('/^(!)?([^a-zA-Z0-9\\\\]).+?\\2[ims]?$/', $str))
     {
       return $str;
     }
 
-    return GlobToRegex::glob_to_regex($str);
+    return Glob::toRegex($str);
   }
 
-  protected function args_to_array($arg_list, $not = false)
+  protected function argsToArray($arg_list, $not = false)
   {
     $list = array();
     $nbArgList = count($arg_list);
@@ -139,12 +139,12 @@
       {
         foreach ($arg_list[$i] as $arg)
         {
-          $list[] = array($not, $this->to_regex($arg));
+          $list[] = array($not, $this->toRegex($arg));
         }
       }
       else
       {
-        $list[] = array($not, $this->to_regex($arg_list[$i]));
+        $list[] = array($not, $this->toRegex($arg_list[$i]));
       }
     }
 
@@ -166,7 +166,7 @@
   public function name()
   {
     $args = func_get_args();
-    $this->names = array_merge($this->names, $this->args_to_array($args));
+    $this->names = array_merge($this->names, $this->argsToArray($args));
 
     return $this;
   }
@@ -178,10 +178,10 @@
    * @param  list   a list of patterns, globs or strings
    * @return Finder Current object
    */
-  public function not_name()
+  public function notName()
   {
     $args = func_get_args();
-    $this->names = array_merge($this->names, $this->args_to_array($args, 
true));
+    $this->names = array_merge($this->names, $this->argsToArray($args, true));
 
     return $this;
   }
@@ -217,7 +217,7 @@
   public function prune()
   {
     $args = func_get_args();
-    $this->prunes = array_merge($this->prunes, $this->args_to_array($args));
+    $this->prunes = array_merge($this->prunes, $this->argsToArray($args));
 
     return $this;
   }
@@ -231,7 +231,7 @@
   public function discard()
   {
     $args = func_get_args();
-    $this->discards = array_merge($this->discards, 
$this->args_to_array($args));
+    $this->discards = array_merge($this->discards, $this->argsToArray($args));
 
     return $this;
   }
@@ -245,9 +245,9 @@
    *
    * @return Finder Current object
    */
-  public function ignore_version_control($ignore = true)
+  public function ignoreVersionControl($ignore = true)
   {
-    $this->ignore_version_control = $ignore;
+    $this->ignoreVersionControl = $ignore;
 
     return $this;
   }
@@ -257,7 +257,7 @@
    *
    * @return Finder Current object
    */
-  public function sort_by_name()
+  public function sortByName()
   {
     $this->sort = 'name';
 
@@ -269,7 +269,7 @@
    *
    * @return Finder Current object
    */
-  public function sort_by_type()
+  public function sortByType()
   {
     $this->sort = 'type';
 
@@ -325,9 +325,9 @@
    *
    * @return Finder Current object
    */
-  public function follow_link()
+  public function followLinks()
   {
-    $this->follow_link = true;
+    $this->followLinks = true;
 
     return $this;
   }
@@ -344,7 +344,7 @@
 
     $finder = clone $this;
 
-    if ($this->ignore_version_control)
+    if ($this->ignoreVersionControl)
     {
       $ignores = array('.svn', '_svn', 'CVS', '_darcs', '.arch-params', 
'.monotone', '.bzr', '.git', '.hg');
 
@@ -377,7 +377,7 @@
         $dir = $here_dir.'/'.$dir;
       }
 
-      $new_files = str_replace('\\', '/', $finder->search_in($dir));
+      $new_files = str_replace('\\', '/', $finder->searchIn($dir));
 
       if ($this->relative)
       {
@@ -395,7 +395,7 @@
     return array_unique($files);
   }
 
-  protected function search_in($dir, $depth = 0)
+  protected function searchIn($dir, $depth = 0)
   {
     if ($depth > $this->maxdepth)
     {
@@ -404,7 +404,7 @@
 
     $dir = realpath($dir);
 
-    if ((!$this->follow_link) && is_link($dir))
+    if ((!$this->followLinks) && is_link($dir))
     {
       return array();
     }
@@ -420,7 +420,7 @@
         if ($entryname == '.' || $entryname == '..') continue;
 
         $current_entry = $dir.DIRECTORY_SEPARATOR.$entryname;
-        if ((!$this->follow_link) && is_link($current_entry))
+        if ((!$this->followLinks) && is_link($current_entry))
         {
           continue;
         }
@@ -433,20 +433,20 @@
           }
           else
           {
-            if (($this->type === 'directory' || $this->type === 'any') && 
($depth >= $this->mindepth) && !$this->is_discarded($dir, $entryname) && 
$this->match_names($dir, $entryname) && $this->exec_ok($dir, $entryname))
+            if (($this->type === 'directory' || $this->type === 'any') && 
($depth >= $this->mindepth) && !$this->isDiscarded($dir, $entryname) && 
$this->matchNames($dir, $entryname) && $this->execOk($dir, $entryname))
             {
               $files[] = $current_entry;
             }
 
-            if (!$this->is_pruned($dir, $entryname))
+            if (!$this->isPruned($dir, $entryname))
             {
-              $files = array_merge($files, $this->search_in($current_entry, 
$depth + 1));
+              $files = array_merge($files, $this->searchIn($current_entry, 
$depth + 1));
             }
           }
         }
         else
         {
-          if (($this->type !== 'directory' || $this->type === 'any') && 
($depth >= $this->mindepth) && !$this->is_discarded($dir, $entryname) && 
$this->match_names($dir, $entryname) && $this->size_ok($dir, $entryname) && 
$this->exec_ok($dir, $entryname))
+          if (($this->type !== 'directory' || $this->type === 'any') && 
($depth >= $this->mindepth) && !$this->isDiscarded($dir, $entryname) && 
$this->matchNames($dir, $entryname) && $this->sizeOk($dir, $entryname) && 
$this->execOk($dir, $entryname))
           {
             if ($this->sort === 'type')
             {
@@ -465,14 +465,14 @@
         ksort($temp_folders);
         foreach($temp_folders as $entryname => $current_entry)
         {
-          if (($this->type === 'directory' || $this->type === 'any') && 
($depth >= $this->mindepth) && !$this->is_discarded($dir, $entryname) && 
$this->match_names($dir, $entryname) && $this->exec_ok($dir, $entryname))
+          if (($this->type === 'directory' || $this->type === 'any') && 
($depth >= $this->mindepth) && !$this->isDiscarded($dir, $entryname) && 
$this->matchNames($dir, $entryname) && $this->execOk($dir, $entryname))
           {
             $files[] = $current_entry;
           }
 
-          if (!$this->is_pruned($dir, $entryname))
+          if (!$this->isPruned($dir, $entryname))
           {
-            $files = array_merge($files, $this->search_in($current_entry, 
$depth + 1));
+            $files = array_merge($files, $this->searchIn($current_entry, 
$depth + 1));
           }
         }
 
@@ -486,7 +486,7 @@
     return $files;
   }
 
-  protected function match_names($dir, $entry)
+  protected function matchNames($dir, $entry)
   {
     if (!count($this->names)) return true;
 
@@ -524,7 +524,7 @@
     return true;
   }
 
-  protected function size_ok($dir, $entry)
+  protected function sizeOk($dir, $entry)
   {
     if (0 === count($this->sizes)) return true;
 
@@ -539,7 +539,7 @@
     return true;
   }
 
-  protected function is_pruned($dir, $entry)
+  protected function isPruned($dir, $entry)
   {
     if (0 === count($this->prunes)) return false;
 
@@ -552,7 +552,7 @@
     return false;
   }
 
-  protected function is_discarded($dir, $entry)
+  protected function isDiscarded($dir, $entry)
   {
     if (0 === count($this->discards)) return false;
 
@@ -565,7 +565,7 @@
     return false;
   }
 
-  protected function exec_ok($dir, $entry)
+  protected function execOk($dir, $entry)
   {
     if (0 === count($this->execs)) return true;
 

Copied: branches/2.0/src/Symfony/Framework/WebBundle/Util/Glob.php (from rev 
28096, branches/2.0/src/Symfony/Framework/WebBundle/Util/GlobToRegex.php)
===================================================================
--- branches/2.0/src/Symfony/Framework/WebBundle/Util/Glob.php                  
        (rev 0)
+++ branches/2.0/src/Symfony/Framework/WebBundle/Util/Glob.php  2010-02-19 
19:45:09 UTC (rev 28142)
@@ -0,0 +1,132 @@
+<?php
+
+namespace Symfony\Framework\WebBundle\Util;
+
+/*
+ * This file is part of the symfony framework.
+ *
+ * (c) Fabien Potencier <[email protected]>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+/**
+ * Match globbing patterns against text.
+ *
+ *   if match_glob("foo.*", "foo.bar") echo "matched\n";
+ *
+ * // prints foo.bar and foo.baz
+ * $regex = glob_to_regex("foo.*");
+ * for (array('foo.bar', 'foo.baz', 'foo', 'bar') as $t)
+ * {
+ *   if (/$regex/) echo "matched: $car\n";
+ * }
+ *
+ * Glob implements glob(3) style matching that can be used to match
+ * against text, rather than fetching names from a filesystem.
+ *
+ * based on perl Text::Glob module.
+ *
+ * @package    symfony
+ * @author     Fabien Potencier <[email protected]> php port
+ * @author     Richard Clamp <[email protected]> perl version
+ * @copyright  2004-2005 Fabien Potencier <[email protected]>
+ * @copyright  2002 Richard Clamp <[email protected]>
+ */
+class Glob
+{
+  protected static $strict_leading_dot = true;
+  protected static $strict_wildcard_slash = true;
+
+  public static function setStrictLeadingDot($boolean)
+  {
+    self::$strict_leading_dot = $boolean;
+  }
+
+  public static function setStrictWildcardSlash($boolean)
+  {
+    self::$strict_wildcard_slash = $boolean;
+  }
+
+  /**
+   * Returns a compiled regex which is the equiavlent of the globbing pattern.
+   *
+   * @param  string $glob  pattern
+   * @return string regex
+   */
+  public static function toRegex($glob)
+  {
+    $first_byte = true;
+    $escaping = false;
+    $in_curlies = 0;
+    $regex = '';
+    $sizeGlob = strlen($glob);
+    for ($i = 0; $i < $sizeGlob; $i++)
+    {
+      $car = $glob[$i];
+      if ($first_byte)
+      {
+        if (self::$strict_leading_dot && $car !== '.')
+        {
+          $regex .= '(?=[^\.])';
+        }
+
+        $first_byte = false;
+      }
+
+      if ($car === '/')
+      {
+        $first_byte = true;
+      }
+
+      if ($car === '.' || $car === '(' || $car === ')' || $car === '|' || $car 
=== '+' || $car === '^' || $car === '$')
+      {
+        $regex .= "\\$car";
+      }
+      elseif ($car === '*')
+      {
+        $regex .= ($escaping ? '\\*' : (self::$strict_wildcard_slash ? '[^/]*' 
: '.*'));
+      }
+      elseif ($car === '?')
+      {
+        $regex .= ($escaping ? '\\?' : (self::$strict_wildcard_slash ? '[^/]' 
: '.'));
+      }
+      elseif ($car === '{')
+      {
+        $regex .= ($escaping ? '\\{' : '(');
+        if (!$escaping) ++$in_curlies;
+      }
+      elseif ($car === '}' && $in_curlies)
+      {
+        $regex .= ($escaping ? '}' : ')');
+        if (!$escaping) --$in_curlies;
+      }
+      elseif ($car === ',' && $in_curlies)
+      {
+        $regex .= ($escaping ? ',' : '|');
+      }
+      elseif ($car === '\\')
+      {
+        if ($escaping)
+        {
+          $regex .= '\\\\';
+          $escaping = false;
+        }
+        else
+        {
+          $escaping = true;
+        }
+
+        continue;
+      }
+      else
+      {
+        $regex .= $car;
+      }
+      $escaping = false;
+    }
+
+    return '#^'.$regex.'$#';
+  }
+}

Deleted: branches/2.0/src/Symfony/Framework/WebBundle/Util/GlobToRegex.php
===================================================================
--- branches/2.0/src/Symfony/Framework/WebBundle/Util/GlobToRegex.php   
2010-02-19 15:43:31 UTC (rev 28141)
+++ branches/2.0/src/Symfony/Framework/WebBundle/Util/GlobToRegex.php   
2010-02-19 19:45:09 UTC (rev 28142)
@@ -1,132 +0,0 @@
-<?php
-
-namespace Symfony\Framework\WebBundle\Util;
-
-/*
- * This file is part of the symfony framework.
- *
- * (c) Fabien Potencier <[email protected]>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
-
-/**
- * Match globbing patterns against text.
- *
- *   if match_glob("foo.*", "foo.bar") echo "matched\n";
- *
- * // prints foo.bar and foo.baz
- * $regex = glob_to_regex("foo.*");
- * for (array('foo.bar', 'foo.baz', 'foo', 'bar') as $t)
- * {
- *   if (/$regex/) echo "matched: $car\n";
- * }
- *
- * GlobToRegex implements glob(3) style matching that can be used to match
- * against text, rather than fetching names from a filesystem.
- *
- * based on perl Text::Glob module.
- *
- * @package    symfony
- * @author     Fabien Potencier <[email protected]> php port
- * @author     Richard Clamp <[email protected]> perl version
- * @copyright  2004-2005 Fabien Potencier <[email protected]>
- * @copyright  2002 Richard Clamp <[email protected]>
- */
-class GlobToRegex
-{
-  protected static $strict_leading_dot = true;
-  protected static $strict_wildcard_slash = true;
-
-  public static function setStrictLeadingDot($boolean)
-  {
-    self::$strict_leading_dot = $boolean;
-  }
-
-  public static function setStrictWildcardSlash($boolean)
-  {
-    self::$strict_wildcard_slash = $boolean;
-  }
-
-  /**
-   * Returns a compiled regex which is the equiavlent of the globbing pattern.
-   *
-   * @param  string $glob  pattern
-   * @return string regex
-   */
-  public static function glob_to_regex($glob)
-  {
-    $first_byte = true;
-    $escaping = false;
-    $in_curlies = 0;
-    $regex = '';
-    $sizeGlob = strlen($glob);
-    for ($i = 0; $i < $sizeGlob; $i++)
-    {
-      $car = $glob[$i];
-      if ($first_byte)
-      {
-        if (self::$strict_leading_dot && $car !== '.')
-        {
-          $regex .= '(?=[^\.])';
-        }
-
-        $first_byte = false;
-      }
-
-      if ($car === '/')
-      {
-        $first_byte = true;
-      }
-
-      if ($car === '.' || $car === '(' || $car === ')' || $car === '|' || $car 
=== '+' || $car === '^' || $car === '$')
-      {
-        $regex .= "\\$car";
-      }
-      elseif ($car === '*')
-      {
-        $regex .= ($escaping ? '\\*' : (self::$strict_wildcard_slash ? '[^/]*' 
: '.*'));
-      }
-      elseif ($car === '?')
-      {
-        $regex .= ($escaping ? '\\?' : (self::$strict_wildcard_slash ? '[^/]' 
: '.'));
-      }
-      elseif ($car === '{')
-      {
-        $regex .= ($escaping ? '\\{' : '(');
-        if (!$escaping) ++$in_curlies;
-      }
-      elseif ($car === '}' && $in_curlies)
-      {
-        $regex .= ($escaping ? '}' : ')');
-        if (!$escaping) --$in_curlies;
-      }
-      elseif ($car === ',' && $in_curlies)
-      {
-        $regex .= ($escaping ? ',' : '|');
-      }
-      elseif ($car === '\\')
-      {
-        if ($escaping)
-        {
-          $regex .= '\\\\';
-          $escaping = false;
-        }
-        else
-        {
-          $escaping = true;
-        }
-
-        continue;
-      }
-      else
-      {
-        $regex .= $car;
-      }
-      $escaping = false;
-    }
-
-    return '#^'.$regex.'$#';
-  }
-}

-- 
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