PageRenderTime 51ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/workflow/options.php

https://gitlab.com/alexprowars/bitrix
PHP | 173 lines | 164 code | 9 blank | 0 comment | 20 complexity | 93028f9bdc4013d5a44fffffc8b3908f MD5 | raw file
  1. <?
  2. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/workflow/include.php");
  3. $module_id = "workflow";
  4. $WORKFLOW_RIGHT = $APPLICATION->GetGroupRight($module_id);
  5. if ($WORKFLOW_RIGHT >= "R")
  6. {
  7. IncludeModuleLangFile(__FILE__);
  8. $arAllOptions = array(
  9. array(
  10. "USE_HTML_EDIT",
  11. GetMessage("FLOW_USE_HTML_EDIT"),
  12. "Y",
  13. array("checkbox", "Y"),
  14. ),
  15. array(
  16. "HISTORY_SIMPLE_EDITING",
  17. GetMessage("FLOW_HISTORY_SIMPLE_EDITING"),
  18. "N",
  19. array("checkbox", "Y"),
  20. ),
  21. array(
  22. "MAX_LOCK_TIME",
  23. GetMessage("FLOW_MAX_LOCK"),
  24. "60",
  25. array("text", 5),
  26. ),
  27. array(
  28. "DAYS_AFTER_PUBLISHING",
  29. GetMessage("FLOW_DAYS_AFTER_PUBLISHING"),
  30. "0",
  31. array("text", 5),
  32. true,
  33. ),
  34. array(
  35. "HISTORY_COPIES",
  36. GetMessage("FLOW_HISTORY_COPIES"),
  37. "10",
  38. array("text", 5),
  39. true,
  40. ),
  41. array(
  42. "HISTORY_DAYS",
  43. GetMessage("FLOW_HISTORY_DAYS"),
  44. "-1",
  45. array("text", 5),
  46. true,
  47. ),
  48. );
  49. $aTabs = array(
  50. array(
  51. "DIV" => "edit1",
  52. "TAB" => GetMessage("MAIN_TAB_SET"),
  53. "ICON" => "workflow_settings",
  54. "TITLE" => GetMessage("MAIN_TAB_TITLE_SET"),
  55. ),
  56. array(
  57. "DIV" => "edit2",
  58. "TAB" => GetMessage("MAIN_TAB_RIGHTS"),
  59. "ICON" => "workflow_settings",
  60. "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS"),
  61. ),
  62. );
  63. $tabControl = new CAdminTabControl("tabControl", $aTabs);
  64. if(
  65. $_SERVER["REQUEST_METHOD"] == "POST"
  66. && $WORKFLOW_RIGHT >= "W"
  67. && check_bitrix_sessid()
  68. )
  69. {
  70. if($_POST["RestoreDefaults"] <> '')
  71. {
  72. COption::RemoveOption($module_id);
  73. $z = CGroup::GetList("id", "asc", array("ACTIVE" => "Y", "ADMIN" => "N"));
  74. while($zr = $z->Fetch())
  75. {
  76. $APPLICATION->DelGroupRight($module_id, array($zr["ID"]));
  77. }
  78. }
  79. elseif($Update <> '')
  80. {
  81. foreach($arAllOptions as $option)
  82. {
  83. $name = $option[0];
  84. $val = $_POST[$name];
  85. if ($option[3][0] == "checkbox" && $val != "Y")
  86. {
  87. $val = "N";
  88. }
  89. COption::SetOptionString($module_id, $name, $val);
  90. }
  91. COption::SetOptionString($module_id, "WORKFLOW_ADMIN_GROUP_ID", intval($WORKFLOW_ADMIN_GROUP_ID));
  92. if ($_POST["DAYS_AFTER_PUBLISHING_clear"] == "Y")
  93. {
  94. CWorkflow::CleanUpPublished();
  95. }
  96. if ($_POST["HISTORY_COPIES_clear"] == "Y")
  97. {
  98. CWorkflow::CleanUpHistoryCopies();
  99. }
  100. if ($_POST["HISTORY_DAYS_clear"] == "Y")
  101. {
  102. CWorkflow::CleanUpHistory();
  103. }
  104. }
  105. $Update = $Update.$Apply;
  106. ob_start();
  107. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/group_rights.php");
  108. ob_end_clean();
  109. LocalRedirect($APPLICATION->GetCurPage()."?mid=".urlencode($module_id)."&lang=".urlencode(LANGUAGE_ID)."&".$tabControl->ActiveTabParam());
  110. }
  111. $WORKFLOW_ADMIN_GROUP_ID = COption::GetOptionString($module_id, "WORKFLOW_ADMIN_GROUP_ID");
  112. ?>
  113. <?
  114. $tabControl->Begin();
  115. ?><form method="POST" action="<?echo htmlspecialcharsbx($APPLICATION->GetCurPage().'?mid='.urlencode($module_id).'&lang='.LANGUAGE_ID)?>"><?
  116. $tabControl->BeginNextTab();
  117. ?>
  118. <?
  119. foreach ($arAllOptions as $Option)
  120. {
  121. $val = COption::GetOptionString($module_id, $Option[0], $Option[2]);
  122. $type = $Option[3];
  123. ?>
  124. <tr>
  125. <td width="40%" nowrap <?if($type[0]=="textarea") echo 'class="adm-detail-valign-top"'?>>
  126. <label for="<?echo htmlspecialcharsbx($Option[0])?>"><?echo $Option[1]?></label>
  127. <td width="60%">
  128. <?if ($type[0] == "checkbox")
  129. {
  130. ?><input type="checkbox" name="<?echo htmlspecialcharsbx($Option[0])?>" id="<?echo htmlspecialcharsbx($Option[0])?>" value="Y"<?if($val=="Y")echo" checked";?>><?
  131. }
  132. elseif ($type[0] == "text")
  133. {
  134. ?><input type="text" size="<?echo $type[1]?>" maxlength="255" value="<?echo htmlspecialcharsbx($val)?>" name="<?echo htmlspecialcharsbx($Option[0])?>"><?
  135. if ($Option[4])
  136. {
  137. ?>&nbsp;<label for="<?echo htmlspecialcharsbx($Option[0])?>_clear"><?=GetMessage("FLOW_CLEAR")?>:</label><input type="checkbox" name="<?echo htmlspecialcharsbx($Option[0])?>_clear" id="<?echo htmlspecialcharsbx($Option[0])?>_clear" value="Y"><?
  138. }
  139. }
  140. elseif ($type[0] == "textarea")
  141. {
  142. ?><textarea rows="<?echo $type[1]?>" cols="<?echo $type[2]?>" name="<?echo htmlspecialcharsbx($Option[0])?>"><?echo htmlspecialcharsbx($val)?></textarea><?
  143. }
  144. ?></td>
  145. </tr>
  146. <?}?>
  147. <tr>
  148. <td><?echo GetMessage("FLOW_ADMIN")?></td>
  149. <td><?echo SelectBox("WORKFLOW_ADMIN_GROUP_ID", CGroup::GetDropDownList(""), GetMessage("MAIN_NO"), htmlspecialcharsbx($WORKFLOW_ADMIN_GROUP_ID));?></td>
  150. </tr>
  151. <?
  152. $tabControl->BeginNextTab();
  153. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/group_rights.php");
  154. $tabControl->Buttons();
  155. ?>
  156. <input <?if ($WORKFLOW_RIGHT < "W") echo "disabled" ?> type="submit" name="Update" value="<?=GetMessage("FLOW_SAVE")?>" class="adm-btn-save">
  157. <input type="hidden" name="Update" value="Y">
  158. <input type="reset" name="reset" value="<?=GetMessage("FLOW_RESET")?>">
  159. <input <?if ($WORKFLOW_RIGHT < "W") echo "disabled" ?> type="submit" title="<?echo GetMessage("MAIN_HINT_RESTORE_DEFAULTS")?>" OnClick="return confirm('<?echo AddSlashes(GetMessage("MAIN_HINT_RESTORE_DEFAULTS_WARNING"))?>')" value="<?echo GetMessage("MAIN_RESTORE_DEFAULTS")?>" name="RestoreDefaults">
  160. <?=bitrix_sessid_post();?>
  161. <?$tabControl->End();?>
  162. </form>
  163. <?
  164. }