<?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(); */ ?>
|