function convert_dir($dir, $echo = false) { $converted_files = array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != '.' && $entry != '..') { $full = $dir . '/' . $entry; if (is_dir($full)) { $converted_files = array_merge($converted_files, convert_dir($full, $echo)); } else { if (end(explode('.', $full)) == 'php') { if (convert_file($full)) { $converted_files[] = $full; if ($echo) { println("Converted: " . $full); } } } } } } closedir($handle); } return $converted_files; }
function convert_dir($directory) { $dir = opendir($directory); while ($file = readdir($dir)) { if (is_file($directory . "/" . $file)) { $ext = getftype($file); if ($file == 'namedb.dat') { if (file_exists($directory . "/" . $file)) { $gbs = file($directory . "/" . $file); $open = fopen($directory . "/" . $file, "w"); $result = 0; for ($i = 0; $i < sizeof($gbs); $i++) { $data = unserialize($gbs[$i]); if (!preg_match('//u', $data['opisanie'])) { $data['opisanie'] = iconv('cp1251', 'utf-8', $data['opisanie']); } fwrite($open, serialize($data) . "\n"); $result++; } fclose($open); } } elseif ($ext == 'dat') { $txt = file_get_contents($directory . "/" . $file); if (!preg_match('//u', $txt)) { $txt = iconv('cp1251', 'utf8', $txt); } save($directory . "/" . $file, $txt, 'w'); $result++; } elseif ($ext == 'comment') { if (file_exists($directory . "/" . $file)) { $gbs = file($directory . "/" . $file); $open = fopen($directory . "/" . $file, "w"); $result = 0; for ($i = 0; $i < sizeof($gbs); $i++) { $data = unserialize($gbs[$i]); if (!preg_match('//u', $data['content'])) { $data['content'] = iconv('cp1251', 'utf-8', $data['content']); } if (!preg_match('//u', $data['name'])) { $data['name'] = iconv('cp1251', 'utf-8', $data['name']); } fwrite($open, serialize($data) . "\n"); $result++; } fclose($open); } } } else { if (is_dir($directory . "/" . $file) && $file != "." && $file != "..") { $result += convert_dir($directory . "/" . $file); } } } closedir($dir); return $result; }
function convert_dir($dirname) { if (@is_dir("{$dirname}/en")) { convert_dir("{$dirname}/en"); } if ($dir = opendir($dirname)) { // for each file in dir while (($file = readdir($dir)) !== false) { if ($file[0] == ".") { continue; } // ignore hidden files if ($file == "CVS") { continue; } // ignore CVS information if (is_dir("{$dirname}/{$file}")) { // is directory? if ($file != "en" && $file != "reference") { convert_dir("{$dirname}/{$file}"); // recurse if not 'reference' } } else { if (ereg("xml\$", $file)) { // is XML file? if (strpos("{$dirname}/", "/functions/") > 0) { convert_file($dirname, $file); // process if in 'functions' } } } } closedir($dir); } }