Example #1
0
    $row =& $lAdmin->AddRow("0", array());
    $row->AddViewField("TRANS_FILE_NAME", '<a href="?lang=' . LANGUAGE_ID . '&path=' . urlencode($last_path) . "&" . bitrix_sessid_get() . '" title="' . GetMessage("TR_UP_TITLE") . '">
			<img src="/bitrix/images/translate/up.gif" width="11" height="13" border=0 alt=""></a>' . '&nbsp;<a href="?lang=' . LANGUAGE_ID . '&path=' . urlencode($last_path) . "&" . bitrix_sessid_get() . '" title="' . GetMessage("TR_UP_TITLE") . '">..</a>');
    if ($AUTO_CALCULATE || $SHOW_LANG_DIFF) {
        $row->AddViewField("TRANS_TOTAL_MESSAGES", "&nbsp;");
        foreach ($arTLangs as $vlang) {
            $row->AddViewField($vlang, "&nbsp;");
        }
    }
}
$ORIGINAL_MESS = $MESS;
if (is_array($arLangDirFiles)) {
    if ($IS_LANG_DIR) {
        //foreach ($arTLangs as $tlang)
        //	$arPath[] = add_lang_id($path, $tlang, $arTLangs);
        $arPath[] = add_lang_id($path, LANGUAGE_ID, $arTLangs);
    } else {
        $arPath[] = $path;
    }
    $arShown = array();
    $arrTOTAL_NOT_TRANSLATED = array();
    $TOTAL_MESS = 0;
    $i = 0;
    foreach ($arLangDirFiles as $key => $ar) {
        $i++;
        if (in_array($ar["PARENT"], $arPath) || $arSearchParam) {
            if ($arSearchParam && $ar['IS_DIR'] == 'Y') {
                continue;
            }
            $is_dir = $ar["IS_DIR"];
            $fpath = $ar["PATH"];
    }
} else {
    GetTDirList($path, true);
}
$strFile = '';
$arFileFilter = array();
if (isset($_REQUEST['file'])) {
    $strFile = strval($_REQUEST['file']);
}
if (preg_match("#\\.\\.[\\/]#" . BX_UTF_PCRE_MODIFIER, $strFile)) {
    $strFile = "";
}
if ('' != $strFile) {
    $strFile = Rel2Abs("/", "/" . $strFile);
    foreach ($arTLangs as $hlang) {
        $ph = add_lang_id($strFile, $hlang, $arTLangs);
        if ('' != $ph) {
            $arFileFilter[] = $ph;
        }
    }
}
if (!empty($arFileFilter) && !empty($arFiles)) {
    $arTemp = array();
    foreach ($arFiles as &$arOneFile) {
        if ('N' == $arOneFile['IS_DIR'] && in_array($arOneFile['PATH'], $arFileFilter)) {
            $arTemp[] = $arOneFile;
        }
    }
    if (isset($arOneFile)) {
        unset($arOneFile);
    }
}
if (!check_bitrix_sessid()) {
    die;
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/translate/include.php";
$arTLangs = GetTLangList();
$NO_TRANSLATE = array_key_exists('download_translate_lang', $_POST) && $_POST['download_translate_lang'] == 'N';
if (preg_match("#\\.\\.[\\/]#" . BX_UTF_PCRE_MODIFIER, $path)) {
    $path = "";
}
$path = Rel2Abs("/", "/" . $path . "/");
$IS_LANG_DIR = is_lang_dir($path);
if ($IS_LANG_DIR) {
    //reset($arTLangs);
    foreach ($arTLangs as $hlang) {
        $ph = add_lang_id($path, $hlang, $arTLangs);
        if (strlen($ph) > 0) {
            GetTDirList($ph, true);
        }
        $ph = "";
    }
} else {
    GetTDirList($path, true);
}
$arrCSV = GetTCSVArray();
$strCSV = '"file";"key";';
foreach ($arTLangs as $l) {
    $strCSV .= '"' . $l . '";';
}
$strCSV .= "\r\n";
foreach ($arrCSV as $file => $arTranslations) {