1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
options.php
См. документацию.
1<?php
3IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/options.php");
4IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/learning/options.php");
5
6$APPLICATION->AddHeadScript('/bitrix/js/learning/rights_edit.js');
7
8// Ensure, that data in database converted to 11.5.0 version of module
9if ( ! CModule::IncludeModule('learning') )
10 return (false);
11
14 $LEARNING_RIGHT = 'W';
15
16if($LEARNING_RIGHT < "W")
17 return;
18
20
22
24 Array(
25 Array("use_htmledit", GetMessage("LEARNING_OPTIONS_USE_HTMLEDIT"), "Y", Array("checkbox", "Y")),
26 Array("menu_max_courses", GetMessage("LEARNING_OPTIONS_MENU_MAX_COURSES"), "10", Array("text", 10)),
27 );
28
29//Restore defaults
30if ($LEARNING_RIGHT == "W" && $_SERVER["REQUEST_METHOD"]=="GET" && $RestoreDefaults <> '' && check_bitrix_sessid())
31{
32 COption::RemoveOption("learning");
33}
34
35//Save options
36if($_SERVER["REQUEST_METHOD"]=="POST" && $Update <> '' && $LEARNING_RIGHT == "W" && check_bitrix_sessid())
37{
38 // Work with permissions
39 if (CLearnAccess::IsLoggedUserCanAccessModuleSettings() && isset($_POST['BASE_RIGHTS']))
40 {
41 // Process permissions
42 $arAccessSymbols = array();
43 $arTaskIds = array();
44 foreach ($_POST['BASE_RIGHTS'] as $key => $arData)
45 {
46 if (isset($arData['GROUP_CODE']))
47 $arAccessSymbols[] = $arData['GROUP_CODE'];
48 elseif (isset($arData['TASK_ID']))
49 $arTaskIds[] = $arData['TASK_ID'];
50 }
51 if (count($arAccessSymbols) !== count($arTaskIds))
53
54 $arPermPairs = array_combine($arAccessSymbols, $arTaskIds);
55
56 // Save permissions
57 $oAccess->SetBasePermissions ($arPermPairs);
58
59 unset ($oAccess);
60 }
61
62 for($i=0; $i<count($arAllOptions); $i++)
63 {
65 $val=$$name;
66 if($arAllOptions[$i][3][0]=="checkbox" && $val!="Y")
67 $val="N";
68 COption::SetOptionString("learning", $name, $val, $arAllOptions[$i][1]);
69 }
70
71 $arPaths = array();
73 while ($arPath = $dbPaths->Fetch())
74 {
75 $arPaths[$arPath["SITE_ID"]][$arPath["TYPE"]] = $arPath;
76 }
77
78 $arType = array("C", "H", "L");
79 /*
80 "C" - Course,
81 "H" - cHapter,
82 "L" - Lesson,
83 */
84 $affectedRows = 0;
85 $dbSites = CSite::GetList('', '', array("ACTIVE" => "Y"));
86 while ($arSite = $dbSites->Fetch())
87 {
88 //BXClearCache(True, "/".$arSite["LID"]."/blog/");
89
90 foreach($arType as $type)
91 {
92
93 if (intval($arPaths[$arSite["LID"]][$type])>0)
94 {
95 if (${"SITE_PATH_".$arSite["LID"]."_".$type} <> '')
96 {
97 if ($arPaths[$arSite["LID"]][$type]["PATH"] != ${"SITE_PATH_".$arSite["LID"]."_".$type})
98 $affectedRows++;
99 CSitePath::Update($arPaths[$arSite["LID"]][$type]["ID"], array("PATH" => ${"SITE_PATH_".$arSite["LID"]."_".$type}, "TYPE"=>$type));
100 }
101 else
102 {
103 CSitePath::Delete($arPaths[$arSite["LID"]][$type]["ID"]);
104 $affectedRows++;
105 }
106 }
107 else
108 {
110 array(
111 "SITE_ID" => $arSite["LID"],
112 "PATH" => ${"SITE_PATH_".$arSite["LID"]."_".$type},
113 "TYPE" => $type
114 )
115 );
116 $affectedRows++;
117 }
118 }
119 unset($arPaths[$arSite["LID"]]);
120
121 }
122
123 if ($affectedRows && IsModuleInstalled('search') && CModule::IncludeModule("search"))
124 {
125 CSearch::ReindexModule("learning");
126 }
127
128 foreach ($arPaths as $key)
129 foreach($key as $val)
131}
132?>
133
134<form method="post" action="<?echo $APPLICATION->GetCurPage()?>?mid=<?=htmlspecialcharsbx($mid)?>&amp;lang=<?echo LANG?>">
135<?
137 array("DIV" => "edit1", "TAB" => GetMessage("LEARNING_TAB_SET"), "ICON" => "learning_settings", "TITLE" => GetMessage("LEARNING_TAB_SET_ALT")),
138 array("DIV" => "edit2", "TAB" => GetMessage("LEARNING_TAB_RIGHTS"), "ICON" => "learning_settings", "TITLE" => GetMessage("LEARNING_TAB_RIGHTS_ALT")),
139 );
141$tabControl->Begin();
142$tabControl->BeginNextTab();
143?>
144 <?
145 for($i=0; $i<count($arAllOptions); $i++):
147 $val = COption::GetOptionString("learning", $Option[0], $Option[2]);
149 ?>
150 <tr>
151 <td width="40%"><?echo $Option[1]?><?php if($type[0]!="checkbox") echo ':'; ?></td>
152 <td width="60%">
153 <?if($type[0]=="checkbox"):?>
154 <input type="checkbox" name="<?echo htmlspecialcharsbx($Option[0])?>" value="Y"<?if($val=="Y")echo" checked";?>>
155 <?elseif($type[0]=="text"):?>
156 <input type="text" size="<?echo $type[1]?>" maxlength="255" value="<?echo htmlspecialcharsbx($val)?>" name="<?echo htmlspecialcharsbx($Option[0])?>">
157 <?elseif($type[0]=="textarea"):?>
158 <textarea rows="<?echo $type[1]?>" cols="<?echo $type[2]?>" name="<?echo htmlspecialcharsbx($Option[0])?>"><?echo htmlspecialcharsbx($val)?></textarea>
159 <?endif?>
160
161 </td>
162 </tr>
163 <?endfor;?>
164
165 <tr class="heading">
166 <td colspan="2"><?=GetMessage("LEARNING_SITE_PATH")?></td>
167 </tr>
168 <?
171 while ($arPath = $dbPaths->Fetch())
172 $arPaths[$arPath["SITE_ID"]][$arPath["TYPE"]] = $arPath["PATH"];
173
174 $dbSites = CSite::GetList('', '', Array("ACTIVE" => "Y"));
175 while ($arSite = $dbSites->Fetch())
176 {
177 ?>
178 <tr>
179 <td valign="top" colspan="2" align="center"><?= str_replace("#SITE#", $arSite["LID"], GetMessage("LEARNING_SITE_PATH_SITE")) ?>:</td>
180 </tr>
181 <tr>
182 <td align="right"><?=GetMessage("LEARNING_SITE_PATH_SITE_COURSE")?>:</td>
183 <td><input type="text" size="40" value="<?echo htmlspecialcharsbx($arPaths[$arSite["LID"]]["C"])?>" name="SITE_PATH_<?= $arSite["LID"] ?>_C"></td>
184 </tr>
185 <tr>
186 <td align="right"><?=GetMessage("LEARNING_SITE_PATH_SITE_CHAPTER")?>:</td>
187 <td><input type="text" size="40" value="<?echo htmlspecialcharsbx($arPaths[$arSite["LID"]]["H"])?>" name="SITE_PATH_<?= $arSite["LID"] ?>_H"></td>
188 </tr>
189 <tr>
190 <td align="right"><?=GetMessage("LEARNING_SITE_PATH_SITE_LESSON")?>:</td>
191 <td><input type="text" size="40" value="<?echo htmlspecialcharsbx($arPaths[$arSite["LID"]]["L"])?>" name="SITE_PATH_<?= $arSite["LID"] ?>_L"></td>
192 </tr>
193 <?
194 }
195 ?>
196 <tr>
197 <td valign="top" align="center" colspan="2"><?=GetMessage("LEARNING_PATH_EXAMPLE")?>:</td>
198 </tr>
199 <tr>
200 <td colspan="2" align="center">
201 <table cellspacing="2" width="0%">
202 <tr>
203 <td align="right"><?=GetMessage("LEARNING_SITE_PATH_SITE_COURSE")?>:</td>
204 <td>/learning/course/index.php?COURSE_ID=#COURSE_ID#&INDEX=Y</td>
205 </tr>
206 <tr>
207 <td align="right"><?=GetMessage("LEARNING_SITE_PATH_SITE_CHAPTER")?>:</td>
208 <td>/learning/course/index.php?COURSE_ID=#COURSE_ID#&CHAPTER_ID=#CHAPTER_ID#</td>
209 </tr>
210 <tr>
211 <td align="right"><?=GetMessage("LEARNING_SITE_PATH_SITE_LESSON")?>:</td>
212 <td>/learning/course/index.php?COURSE_ID=#COURSE_ID#&LESSON_ID=#LESSON_ID#</td>
213 </tr>
214 </table>
215 </td>
216 </tr>
217
218<?php
219
221{
222 $tabControl->BeginNextTab();
223 CLearnRenderRightsEdit::RenderBaseRightsTab ($USER->GetID(), 'BASE_RIGHTS');
224}
225
226?>
227
228<?$tabControl->Buttons();?>
229<script>
230function RestoreDefaults()
231{
232 if(confirm('<?echo AddSlashes(GetMessage("MAIN_HINT_RESTORE_DEFAULTS_WARNING"))?>'))
233 window.location = "<?echo $APPLICATION->GetCurPage()?>?RestoreDefaults=Y&lang=<?echo LANG?>&mid=<?echo urlencode($mid)?>&<?=bitrix_sessid_get()?>";
234}
235</script>
236<div align="left">
237 <input type="hidden" name="Update" value="Y">
238 <input type="submit" <?if ($LEARNING_RIGHT<"W") echo "disabled" ?> name="Update" value="<?echo GetMessage("MAIN_SAVE")?>">
239 <input type="reset" <?if ($LEARNING_RIGHT<"W") echo "disabled" ?> name="reset" value="<?echo GetMessage("MAIN_RESET")?>">
240 <input type="button" <?if ($LEARNING_RIGHT<"W") echo "disabled" ?> type="button" title="<?echo GetMessage("MAIN_HINT_RESTORE_DEFAULTS")?>" OnClick="RestoreDefaults();" value="<?echo GetMessage("MAIN_RESTORE_DEFAULTS")?>">
241</div>
242<?$tabControl->End();?>
243<?=bitrix_sessid_post();?>
244</form>
245
246
247<?php
$type
Определения options.php:106
$dbSites
Определения options.php:14
$dbPaths
Определения options.php:254
const BX_ROOT
Определения bx_root.php:3
global $APPLICATION
Определения include.php:80
if($canUseYandexMarket) $strWarning
Определения options.php:74
if($_SERVER $arAllOptions['REQUEST_METHOD']=='GET' &&!empty($_REQUEST['RestoreDefaults']) &&! $bReadOnly &&check_bitrix_sessid())
Определения options.php:63
static ReindexModule($MODULE_ID, $bFull=false)
Определения search.php:1218
static Delete($ID)
Определения sitepath.php:51
static GetInstance($in_userId)
Определения clearnaccess.php:171
static IsLoggedUserCanAccessModuleSettings()
Определения clearnaccess.php:992
static RenderBaseRightsTab($userId, $POSTName='BASE_RIGHTS')
Определения clearnrenderrightsedit.php:5
static Add($arFields)
Определения sitepath.php:10
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения sitepath.php:83
static Update($ID, $arFields)
Определения sitepath.php:37
Определения learnexception.php:4
const EXC_ERR_ALL_LOGIC
Определения learnexception.php:5
const EXC_ERR_ALL_GIVEUP
Определения learnexception.php:6
$arPath
Определения file_edit.php:72
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
Определения file_new.php:677
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$Update
Определения options.php:212
$LEARNING_RIGHT
Определения options.php:12
$arPaths
Определения options.php:169
$oAccess
Определения options.php:19
$RestoreDefaults
Определения options.php:55
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $USER
Определения csv_new_run.php:40
$tabControl
Определения csv_new_setup.php:244
$aTabs
Определения csv_new_setup.php:238
endif
Определения csv_new_setup.php:990
$arTaskIds
Определения options.php:781
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
Определения tools.php:4700
check_bitrix_sessid($varname='sessid')
Определения tools.php:4686
IsModuleInstalled($module_id)
Определения tools.php:5301
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$name
Определения menu_edit.php:35
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
<? endif;?> window document title
Определения prolog_main_admin.php:76
if(empty($signedUserToken)) $key
Определения quickway.php:257
$i
Определения factura.php:643
font size
Определения invoice.php:442
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
endfor
Определения template.php:569
text align
Определения template.php:556
$val
Определения options.php:1793
else $Option[0]
Определения options.php:387