/bitrix/modules/form/classes/general/form_cformresult_old.php

https://gitlab.com/Rad1calDreamer/honey · PHP · 181 lines · 153 code · 5 blank · 23 comment · 26 complexity · 11dd784ac0c930d8d3132bf42e8098fc MD5 · raw file

  1. <?
  2. /*********************************************
  3. Óñòàðåâøèå ôóíêöèè (äëÿ ñîâìåñòèìîñòè)
  4. *********************************************/
  5. class CFormResult_old
  6. {
  7. function GetDataByIDForWeb($RESULT_ID, $GET_ADDITIONAL="N")
  8. { return CFormResult::GetDataByIDForHTML($RESULT_ID, $GET_ADDITIONAL); }
  9. function GetMaxPermissions()
  10. { return CFormStatus::GetMaxPermissions(); }
  11. /*
  12. âûâîäèò HTML ôîðìû ðåäàêòèðîâàíèÿ ðåçóëüòàòà ñ ó÷åòîì ïðàâ ïîëüçîâàòåëÿ
  13. RESULT_ID - ID ðåçóëüòàòà
  14. arrVALUES - ìàññèâ çíà÷åíèé äëÿ ïîëåé ââîäà
  15. TEMPLATE - øàáëîí äëÿ ðåäàêòèðîâàíèÿ ðåçóëüòàòà
  16. */
  17. function Edit($RESULT_ID, $arrVALUES, $TEMPLATE="", $EDIT_ADDITIONAL="N", $EDIT_STATUS="N")
  18. {
  19. global $DB, $MESS, $APPLICATION, $USER, $HTTP_POST_VARS, $HTTP_GET_VARS, $arrFIELDS, $arrRESULT_PERMISSION;
  20. $err_mess = (CAllFormResult::err_mess())."<br>Function: Edit<br>Line: ";
  21. $z = CFormResult::GetByID($RESULT_ID);
  22. if ($zr=$z->Fetch())
  23. {
  24. $arrResult = $zr;
  25. $additional = ($EDIT_ADDITIONAL=="Y") ? "ALL" : "N";
  26. $WEB_FORM_ID = $FORM_ID = CForm::GetDataByID($arrResult["FORM_ID"], $arForm, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $additional);
  27. CForm::GetResultAnswerArray($WEB_FORM_ID, $arrResultColumns, $arrResultAnswers, $arrResultAnswersVarname, array("RESULT_ID" => $RESULT_ID));
  28. $arrResultAnswers = $arrResultAnswers[$RESULT_ID];
  29. // ïðîâåðèì îáùèå ïðàâà
  30. $F_RIGHT = intval(CForm::GetPermission($WEB_FORM_ID));
  31. if ($F_RIGHT>=20 || ($F_RIGHT>=15 && $arrResult["USER_ID"]==$USER->GetID()))
  32. {
  33. // ïðîâåðèì ïðàâà â çàâèñèìîñòè îò ñòàòóñà ðåçóëüòàòà
  34. $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v);
  35. if (in_array("EDIT",$arrRESULT_PERMISSION)) // èìååì ïðàâî íà ïðîñìîòð
  36. {
  37. if (strlen(trim($TEMPLATE))>0) $template = $TEMPLATE;
  38. else
  39. {
  40. if (strlen($arrResult["EDIT_RESULT_TEMPLATE"])<=0) $template = "default.php";
  41. else $template = $arrResult["EDIT_RESULT_TEMPLATE"];
  42. }
  43. require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/include.php");
  44. $path = COption::GetOptionString("form","EDIT_RESULT_TEMPLATE_PATH");
  45. IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/include.php");
  46. include(GetLangFileName($_SERVER["DOCUMENT_ROOT"].$path."lang/", "/".$template));
  47. if ($APPLICATION->GetShowIncludeAreas())
  48. {
  49. $arIcons = Array();
  50. if (CModule::IncludeModule("fileman"))
  51. {
  52. $arIcons[] =
  53. Array(
  54. "URL" => "/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".SITE_ID."&full_src=Y&path=". urlencode($path.$template),
  55. "SRC" => "/bitrix/images/form/panel/edit_template.gif",
  56. "ALT" => GetMessage("FORM_PUBLIC_ICON_TEMPLATE")
  57. );
  58. $arrUrl = parse_url($_SERVER["REQUEST_URI"]);
  59. $arIcons[] =
  60. Array(
  61. "URL" => "/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".SITE_ID."&full_src=Y&path=". urlencode($arrUrl["path"]),
  62. "SRC" => "/bitrix/images/form/panel/edit_file.gif",
  63. "ALT" => GetMessage("FORM_PUBLIC_ICON_HANDLER")
  64. );
  65. }
  66. $arIcons[] =
  67. Array(
  68. "URL" => "/bitrix/admin/form_edit.php?lang=".LANGUAGE_ID."&ID=".$WEB_FORM_ID,
  69. "SRC" => "/bitrix/images/form/panel/edit_form.gif",
  70. "ALT" => GetMessage("FORM_PUBLIC_ICON_SETTINGS")
  71. );
  72. echo $APPLICATION->IncludeStringBefore($arIcons);
  73. }
  74. include($_SERVER["DOCUMENT_ROOT"].$path.$template);
  75. if ($APPLICATION->GetShowIncludeAreas())
  76. {
  77. echo $APPLICATION->IncludeStringAfter();
  78. }
  79. }
  80. }
  81. }
  82. }
  83. /*
  84. âûâîäèò HTML ïîêàçûâàþùèé ðåçóëüòàò ñ ó÷åòîì ïðàâ ïîñåòèòåëÿ
  85. RESULT_ID - ID ðåçóëüòàòà
  86. TEMPLATE - èìÿ øàáëîíà äëÿ ïîêàçà ðåçóëüòàò
  87. TEMPLATE_TYPE -
  88. åñëè "show" òîãäà áåðåòñÿ øàáëîí äëÿ ïîêàçà,
  89. åñëè "print" òîãäà áåðåòñÿ øàáëîí äëÿ ïå÷àòè
  90. */
  91. function Show($RESULT_ID, $TEMPLATE="", $TEMPLATE_TYPE="show", $SHOW_ADDITIONAL="N", $SHOW_ANSWER_VALUE="Y", $SHOW_STATUS="N")
  92. {
  93. global $DB, $MESS, $APPLICATION, $USER, $HTTP_POST_VARS, $HTTP_GET_VARS, $arrRESULT_PERMISSION, $arrFIELDS;
  94. $err_mess = (CAllFormResult::err_mess())."<br>Function: Show<br>Line: ";
  95. $z = CFormResult::GetByID($RESULT_ID);
  96. if ($zr=$z->Fetch())
  97. {
  98. $arrResult = $zr;
  99. InitBVar($SHOW_ADDITIONAL);
  100. $additional = ($SHOW_ADDITIONAL=="Y") ? "ALL" : "N";
  101. $WEB_FORM_ID = $FORM_ID = CForm::GetDataByID($arrResult["FORM_ID"], $arForm, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $additional);
  102. CForm::GetResultAnswerArray($WEB_FORM_ID, $arrResultColumns, $arrResultAnswers, $arrResultAnswersVarname, array("RESULT_ID" => $RESULT_ID));
  103. $arrResultAnswers = $arrResultAnswers[$RESULT_ID];
  104. // ïðîâåðèì îáùèå ïðàâà íà ðåçóëüòàò
  105. $F_RIGHT = CForm::GetPermission($WEB_FORM_ID);
  106. if (intval($F_RIGHT)>=20 || ($F_RIGHT>=15 && $zr["USER_ID"]==$USER->GetID()))
  107. {
  108. // ïðîâåðèì ïðàâà â çàâèñèìîñòè îò ñòàòóñà ðåçóëüòàòà
  109. $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v);
  110. if (in_array("VIEW",$arrRESULT_PERMISSION)) // èìååì ïðàâî íà ïðîñìîòð
  111. {
  112. if (strlen(trim($TEMPLATE))>0) $template = $TEMPLATE;
  113. else
  114. {
  115. if ($TEMPLATE_TYPE=="show")
  116. {
  117. if (strlen($arrResult["SHOW_RESULT_TEMPLATE"])<=0) $template = "default.php";
  118. else $template = $arrResult["SHOW_RESULT_TEMPLATE"];
  119. }
  120. elseif ($TEMPLATE_TYPE=="print")
  121. {
  122. if (strlen($arrResult["PRINT_RESULT_TEMPLATE"])<=0) $template = "default.php";
  123. else $template = $arrResult["PRINT_RESULT_TEMPLATE"];
  124. }
  125. }
  126. require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/include.php");
  127. if ($TEMPLATE_TYPE=="show")
  128. {
  129. $path = COption::GetOptionString("form","SHOW_RESULT_TEMPLATE_PATH");
  130. }
  131. elseif ($TEMPLATE_TYPE=="print")
  132. {
  133. $path = COption::GetOptionString("form","PRINT_RESULT_TEMPLATE_PATH");
  134. }
  135. IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/include.php");
  136. include(GetLangFileName($_SERVER["DOCUMENT_ROOT"].$path."lang/", "/".$template));
  137. if ($APPLICATION->GetShowIncludeAreas())
  138. {
  139. $arIcons = Array();
  140. if (CModule::IncludeModule("fileman"))
  141. {
  142. $arIcons[] =
  143. Array(
  144. "URL" => "/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".SITE_ID."&full_src=Y&path=". urlencode($path.$template),
  145. "SRC" => "/bitrix/images/form/panel/edit_template.gif",
  146. "ALT" => GetMessage("FORM_PUBLIC_ICON_TEMPLATE")
  147. );
  148. $arrUrl = parse_url($_SERVER["REQUEST_URI"]);
  149. $arIcons[] =
  150. Array(
  151. "URL" => "/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".SITE_ID."&full_src=Y&path=". urlencode($arrUrl["path"]),
  152. "SRC" => "/bitrix/images/form/panel/edit_file.gif",
  153. "ALT" => GetMessage("FORM_PUBLIC_ICON_HANDLER")
  154. );
  155. }
  156. $arIcons[] =
  157. Array(
  158. "URL" => "/bitrix/admin/form_edit.php?lang=".LANGUAGE_ID."&ID=".$WEB_FORM_ID,
  159. "SRC" => "/bitrix/images/form/panel/edit_form.gif",
  160. "ALT" => GetMessage("FORM_PUBLIC_ICON_SETTINGS")
  161. );
  162. echo $APPLICATION->IncludeStringBefore($arIcons);
  163. }
  164. include($_SERVER["DOCUMENT_ROOT"].$path.$template);
  165. if ($APPLICATION->GetShowIncludeAreas())
  166. {
  167. echo $APPLICATION->IncludeStringAfter();
  168. }
  169. }
  170. }
  171. }
  172. }
  173. }
  174. ?>