<?php 
    /** 
     *    The MIT License (MIT) 
     * 
     *    Copyright (c) <2013> <Eper Kalman> 
     * 
     *     Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated  
     *     documentation files (the "Software"), to deal in the Software without restriction, including without limitation  
     *     the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and  
     *     to permit persons to whom the Software is furnished to do so, subject to the following conditions: 
     * 
     *     The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 
     * 
     *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,  
     *     INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
     *     PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,  
     *     DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,  
     *    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
     * 
     */ 
 
    /** 
     *    Converter from comments file format 1.0 to file format 2.0 
     */ 
      
 
    class Convert    { 
     
        var $_directory    = ''; 
         
        public function directory($dir)    { 
         
            if (! is_writable($dir)) exit("Directory $dir is not writable !"); 
         
            $this->_directory = $dir; 
        } 
           
        public function start()    { 
       
            if ($dh =opendir($this->_directory))    { 
             
                while (($file = readdir($dh)) != FALSE )    { 
                 
                    $filename = $this->_directory.'/'.$file; 
 
                    if ( ($file==".") or ($file=="..") or  
                         ((strtolower(substr($file, -4)) != '.cmm') && (is_file($filename))) ) continue; 
 
                    $lines = $this->update(file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)); 
                     
                    $this->write($lines, $filename); 
                     
                    echo "<br>File $filename updated."; 
                } 
                 
                closedir($dh); 
            } 
        } 
         
        private function update($lines)    { 
         
            $updated = array(); 
         
            $count = count($lines); 
             
            for ($i=0; $i<$count; $i+=4)    { 
             
                $updated[] = $lines[$i]; 
                $updated[] = '-'; 
                $updated[] = $lines[$i+1]; 
                $updated[] = $lines[$i+2]; 
                $updated[] = $lines[$i+3]; 
            } 
             
            return $updated; 
        } 
         
        private function write($lines, $file)    { 
         
            if ($fh = @fopen($file, 'w'))    { 
             
                fwrite($fh, implode($lines, PHP_EOL).PHP_EOL); 
                 
                fclose($fh); 
            } 
        } 
    } 
     
    # Uncheck to start converting files 
     
    /* 
     
    $convert = new Convert(); 
     
    $convert->directory('comments'); 
     
    $convert->start(); 
     
    */ 
     
?>
 
 |