Changeset 2270

Show
Ignore:
Timestamp:
2008-07-23 14:33:01 (6 months ago)
Author:
fredck
Message:

Updated the releaser.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • FCKeditor/trunk/_dev/releaser/fckreleaser.php

    r2245 r2270  
    1 #!/usr/bin/php -q 
     1#!/usr/bin/php -q 
    22<?php 
    33/* 
    44 * FCKreleaser - FCKeditor Releaser - http://www.fckeditor.net 
    5  * Copyright (C) 2003-2008 Frederico Caldeira Knabben 
     5 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 
    66 * 
    77 * == BEGIN LICENSE == 
     
    2424echo( "\n" ) ; 
    2525echo( 'FCKreleaser - FCKeditor Releaser' . "\n" ) ; 
    26 echo( 'Copyright (C) 2003-2008 Frederico Caldeira Knabben - All rights reserved' . "\n" ) ; 
     26echo( 'Copyright 2003-2007 Frederico Caldeira Knabben - All rights reserved' . "\n" ) ; 
    2727echo( "\n" ) ; 
    2828 
     
    338338} 
    339339?> 
    340 <?php 
     340<?php 
    341341 
    342342 
     
    514514                        $processed = $this->_ProcessVars( $processed, $this->_Parameters ) ; 
    515515 
    516                 $numVarMatches = preg_match_all( '/\bvar\b\s+([\w_][\w\d_]+)/', $processed, $varsMatches ) ; 
     516                // Match "var" declarations. 
     517                $numVarMatches = preg_match_all( '/\bvar\b\s+((?:({(?:(?>[^{}]*)|(?2))*})|[^;])+?)(?=(?:\bin\b)|;)/', $processed, $varsMatches ) ; 
    517518 
    518519                if ( $numVarMatches > 0 ) 
     
    522523                        for ( $i = 0 ; $i < $numVarMatches ; $i++ ) 
    523524                        { 
    524                                 $vars[] = $varsMatches[1][$i] ; 
     525                                $varsMatch = $varsMatches[1][$i]; 
     526                                 
     527                                // Removed all (...), [...] and {...} blocks from the var 
     528                                // statement to avoid problems with commas inside them. 
     529                                $varsMatch = preg_replace( '/(\((?:(?>[^\(\)]*)|(?1))*\))+/', '', $varsMatch ) ; 
     530                                $varsMatch = preg_replace( '/(\[(?:(?>[^\[\]]*)|(?1))*\])+/', '', $varsMatch ) ; 
     531                                $varsMatch = preg_replace( '/({(?:(?>[^{}]*)|(?1))*})+/', '', $varsMatch ) ; 
     532                                 
     533                                $numVarNameMatches = preg_match_all( '/(?:^|,)\s*([^\s=,]+)/', $varsMatch, $varNameMatches ) ; 
     534                                 
     535                                for ( $j = 0 ; $j < $numVarNameMatches ; $j++ ) 
     536                                { 
     537                                        $vars[] = $varNameMatches[1][$j] ; 
     538                                } 
    525539                        } 
    526540 
     
    536550                { 
    537551                        if ( strlen( $var) > 1 ) 
    538                                 $source = preg_replace( '/(?<!\w|\d|\.)' . $var . '(?!\w|\d)/', $this->_GetVarName(), $source ) ; 
     552                                $source = preg_replace( '/(?<!\w|\d|\.)' . preg_quote( $var ) . '(?!\w|\d)/', $this->_GetVarName(), $source ) ; 
    539553                } 
    540554 
     
    552566                $var = $this->_VarPrefix . $this->_VarChars[ $this->_LastCharIndex++ ] ; 
    553567 
    554                 if ( preg_match( '/(?<!\w|\d|\.)' . $var . '(?!\w|\d)/', $this->_Function ) ) 
     568                if ( preg_match( '/(?<!\w|\d|\.)' . preg_quote( $var ) . '(?!\w|\d)/', $this->_Function ) ) 
    555569                        return $this->_GetVarName() ; 
    556570                else 
     
    575589 
    576590?> 
     591 
    577592<?php 
    578593 
     
    695710                        $parameters = preg_split( '/\s*,\s*/', trim( $match[1] ) ) ; 
    696711 
    697                 $funcProcessor = new FCKFunctionProcessor( $match[0], $parameters, false ) ; 
    698  
    699                 return $funcProcessor->Process() ; 
    700         } 
    701 } 
    702  
    703 ?> 
     712                $hasfuncProcessor = isset( $GLOBALS['funcProcessor'] ) ; 
     713 
     714                if ( $hasfuncProcessor != TRUE ) 
     715                        $GLOBALS['funcProcessor'] = new FCKFunctionProcessor( $match[0], $parameters, false ) ; 
     716                else 
     717                { 
     718                        $GLOBALS['funcProcessor']->_Function = $match[0]; 
     719                        $GLOBALS['funcProcessor']->_Parameters = $parameters; 
     720                } 
     721 
     722                $processed = $GLOBALS['funcProcessor']->Process() ; 
     723                 
     724                $processed = substr_replace( $processed, '', 0, 8 ) ; 
     725 
     726                $processed = FCKJavaScriptCompressor::_ProcessFunctions( $processed ) ; 
     727 
     728                if ( $hasfuncProcessor != TRUE ) 
     729                        unset( $GLOBALS['funcProcessor'] ) ; 
     730                 
     731                return 'function'. $processed ; 
     732        } 
     733} 
     734 
     735?> 
     736 
    704737<?php 
    705738 
     
    10611094 
    10621095?> 
     1096 
    10631097<?php 
    10641098