/bitrix/modules/translate/admin/translate_show_php.php

https://gitlab.com/Rad1calDreamer/honey · PHP · 116 lines · 84 code · 18 blank · 14 comment · 11 complexity · 65e7dcf1dc7815f27d547a0aa9adf4b5 MD5 · raw file

  1. <?
  2. /*
  3. ##############################################
  4. # Bitrix Site Manager #
  5. # Copyright (c) 2002-2007 Bitrix #
  6. # http://www.bitrixsoft.com #
  7. # mailto:admin@bitrixsoft.com #
  8. ##############################################
  9. */
  10. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
  11. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/translate/prolog.php");
  12. if(!$USER->CanDoOperation('edit_php'))
  13. $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
  14. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/translate/include.php");
  15. IncludeModuleLangFile(__FILE__);
  16. define("HELP_FILE","translate_list.php");
  17. /***************************************************************************
  18. GET | POST
  19. ***************************************************************************/
  20. $strError = "";
  21. $file = Rel2Abs("/", $file);
  22. $abs_path = CSite::GetSiteDocRoot(false).htmlspecialcharsbx($file);
  23. if(strpos($file, "/bitrix/") !== 0 || strpos($file, "/lang/") === false || GetFileExtension($file) <> "php")
  24. $strError = GetMessage("trans_edit_err")."<br>";
  25. $APPLICATION->SetTitle(GetMessage("TRANS_TITLE"));
  26. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
  27. if($strError == "")
  28. {
  29. $aTabs = array(
  30. array("DIV" => "edit1", "TAB" => GetMessage("TRANS_TITLE"), "ICON" => "translate_edit", "TITLE" => GetMessage("TRANS_TITLE_TITLE")),
  31. );
  32. $tabControl = new CAdminTabControl("tabControl", $aTabs);
  33. $chain = "";
  34. $arPath = array();
  35. $path_back = dirname($file);
  36. $arSlash = explode("/",$path_back);
  37. if (is_array($arSlash))
  38. {
  39. $arSlash_tmp = $arSlash;
  40. $lang_key = array_search("lang", $arSlash) + 1;
  41. unset($arSlash_tmp[$lang_key]);
  42. if ($lang_key==sizeof($arSlash)-1)
  43. {
  44. unset($arSlash[$lang_key]);
  45. $path_back = implode("/",$arSlash);
  46. }
  47. $i = 0;
  48. foreach($arSlash_tmp as $dir)
  49. {
  50. $i++;
  51. if ($i==1)
  52. {
  53. $chain .= "<a href=\"translate_list.php?lang=".LANGUAGE_ID."&path=/"."&".bitrix_sessid_get()."\" title=\"".GetMessage("TRANS_CHAIN_FOLDER_ROOT")."\">..</a> / ";
  54. }
  55. else
  56. {
  57. $arPath[] = htmlspecialcharsbx($dir);
  58. if ($i>2) $chain .= " / ";
  59. $chain .= "<a href=\"translate_list.php?lang=".LANGUAGE_ID."&path="."/".implode("/",$arPath)."/"."&".bitrix_sessid_get()."\" title=\"".GetMessage("TRANS_CHAIN_FOLDER")."\">".htmlspecialcharsbx($dir)."</a>";
  60. }
  61. }
  62. }
  63. }
  64. $APPLICATION->SetTitle(GetMessage("TRANS_TITLE"));
  65. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
  66. if($strError <> "")
  67. {
  68. CAdminMessage::ShowMessage($strError);
  69. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
  70. die();
  71. }
  72. /***************************************************************************
  73. HTML
  74. ****************************************************************************/
  75. $aMenu = array();
  76. $aMenu[] = Array(
  77. "TEXT" => GetMessage("TRANS_LIST"),
  78. "LINK" => "/bitrix/admin/translate_list.php?lang=".LANGUAGE_ID."&path=/".implode("/",$arPath)."/"."&".bitrix_sessid_get(),
  79. "TITLE" => GetMessage("TRANS_LIST_TITLE"),
  80. "ICON" => "btn_list"
  81. );
  82. $aMenu[] = Array(
  83. "TEXT" => GetMessage("TR_FILE_EDIT"),
  84. "LINK" => "/bitrix/admin/translate_edit_php.php?lang=".LANGUAGE_ID."&file=$file&".bitrix_sessid_get(),
  85. "TITLE" => GetMessage("TR_FILE_EDIT_TITLE"),
  86. "ICON" => ""
  87. );
  88. $context = new CAdminContextMenu($aMenu);
  89. $context->Show();
  90. ?>
  91. <p><?=$chain?></p>
  92. <?
  93. $tabControl->Begin();
  94. $tabControl->BeginNextTab();
  95. highlight_file($abs_path);
  96. $tabControl->End();
  97. ?>
  98. <?require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php")?>