function listConvertableFiles($dir, &$arFiles = array()) { $convertable = array('php', 'tpl', 'txt'); if ($handler = opendir($dir)) { while (($sub = readdir($handler)) !== false) { if ($sub != '.' && $sub != '..') { if (is_file($dir . '/' . $sub)) { $pathParts = pathinfo($sub); if (isset($pathParts['extension']) && in_array($pathParts['extension'], $convertable)) { $arFiles[] = $dir . '/' . $sub; } } elseif (is_dir($dir . '/' . $sub)) { listConvertableFiles($dir . '/' . $sub, $arFiles); } } } closedir($handler); } return $arFiles; }
function listConvertableFiles($dir, &$arFiles = array()) { $convertable = array("php", "tpl", "txt"); if ($handler = opendir($dir)) { while (($sub = readdir($handler)) !== FALSE) { if ($sub != "." && $sub != "..") { if (is_file($dir . "/" . $sub)) { $pathParts = pathinfo($sub); if (isset($pathParts["extension"]) && in_array($pathParts['extension'], $convertable)) { $arFiles[] = $dir . "/" . $sub; } } elseif (is_dir($dir . "/" . $sub)) { listConvertableFiles($dir . "/" . $sub, $arFiles); } } } closedir($handler); } return $arFiles; }
static function ConvertWebIMToEncoding($encoding, $dir) { if (Resources::compareEncodings(WEBIM_ORIGINAL_ENCODING, $encoding)) { return null; } $resources = listConvertableFiles($dir); foreach ($resources as $item) { $content = file_get_contents($item); $w_content = smarticonv(WEBIM_ORIGINAL_ENCODING, $encoding, $content); $result = file_put_contents($item, $w_content); if ($result === FALSE) { return Resources::Get("errors.write.failed", array($item)); } } return null; }