Tweak r48249 -- allow specification of the default format, and require the date to...
[lhc/web/wiklou.git] / includes / parser / DateFormatter.php
index d2153f0..aa6415e 100644 (file)
@@ -117,7 +117,11 @@ class DateFormatter
         * @param $preference String: User preference
         * @param $text String: Text to reformat
         */
-       function reformat( $preference, $text, $linked = true ) {
+       function reformat( $preference, $text, $options = array('linked') ) {
+       
+               $linked = in_array( 'linked', $options );
+               $match_whole = in_array( 'match-whole', $options );
+               
                if ( isset( $this->preferences[$preference] ) ) {
                        $preference = $this->preferences[$preference];
                } else {
@@ -145,6 +149,13 @@ class DateFormatter
                                $regex = str_replace( array( '\[\[', '\]\]' ), '', $regex );
                        }
                        
+                       if ($match_whole) {
+                               // Let's hope this works
+                               $regex = preg_replace( '!^/!', '/^', $regex );
+                               $regex = str_replace( $this->regexTrail,
+                                       '$'.$this->regexTrail, $regex );
+                       }
+                       
                        // Another horrible hack
                        $this->mLinked = $linked;
                        $text = preg_replace_callback( $regex, array( &$this, 'replace' ), $text );