1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
clearnrenderrightsedit.php
См. документацию.
1<?php
2
4{
5 public static function RenderBaseRightsTab ($userId, $POSTName = 'BASE_RIGHTS')
6 {
7 self::RenderLessonRightsTab ($userId, $POSTName, false, false);
8 }
9
10
11 public static function RenderLessonRightsTab ($userId, $POSTName = 'LESSON_RIGHTS', $lessonId, $readOnly)
12 {
14 $arPossibleRights = $oAccess->ListAllPossibleRights();
15
16 $arBaseRights = $oAccess->GetBasePermissions();
17
18 // is it base permissions request?
19 if ($lessonId === false)
20 $arActualRights = $arBaseRights;
21 elseif ($lessonId == 0) // is new lesson?
22 $arActualRights = array();
23 else
24 $arActualRights = $oAccess->GetLessonPermissions($lessonId);
25
27 $lessonId, // expected (bool)false for base rights
28 $POSTName,
29 $arBaseRights,
30 $arPossibleRights,
31 $arActualRights,
32 array(),
33 array(),
35 );
36 }
37
38
39 protected static function LearningShowRights($lessonId, $variable_name, $arBaseRights, $arPossibleRights, $arActualRights, $arSelected = array(), $arHighLight = array(), $readOnly)
40 {
41 $js_var_name = preg_replace("/[^a-zA-Z0-9_]/", "_", $variable_name);
42 $html_var_name = htmlspecialcharsbx($variable_name);
43
44 $sSelect = '<select name="'.$html_var_name.'[][TASK_ID]" style="vertical-align:middle">';
45 foreach($arPossibleRights as $taskId => $arRightsData)
46 {
47 $selected = '';
48 if (mb_strtoupper($arRightsData['name']) === 'LEARNING_LESSON_ACCESS_DENIED')
49 $selected = ' selected="selected" ';
50 $sSelect .= '<option value="' . (int) $taskId . '" ' . $selected . '>' . htmlspecialcharsex($arRightsData['name_human']) . '</option>';
51 }
52 $sSelect .= '</select>';
53
54 $table_id = $variable_name."_table";
55 $href_id = $variable_name."_href";
56
57 CJSCore::Init(array('access'));
58 ?>
59 <tr>
60 <td colspan="2" align="center">
61 <input type="hidden" name="<?php echo $variable_name . '_marker' ?>" value='yeah!'>
62 <script>
63 var obLearningJSRightsAccess_<?=$js_var_name?> = new LearningJSRightsAccess(
64 <?=intval($lessonId)?>,
65 <?=CUtil::PhpToJsObject($arSelected)?>,
66 '<?=CUtil::JSEscape($variable_name)?>',
67 '<?=CUtil::JSEscape($table_id)?>',
68 '<?=CUtil::JSEscape($href_id)?>',
69 '<?=CUtil::JSEscape($sSelect)?>',
70 <?=CUtil::PhpToJsObject($arHighLight)?>
71 );
72 </script>
73 <h3><?php echo GetMessage('LEARNING_RIGHTS_FOR_ADMINISTRATION'); ?></h3>
74 <table width="100%" cellpadding="0" cellspacing="10" border="0" id="<?echo htmlspecialcharsbx($table_id)?>" align="center">
75 <?php
76
77 $access = new CAccess();
78
79 // If rights are for lesson => show base rights
80 if ($lessonId !== false)
81 {
82 $arBaseNames = $access->GetNames(array_keys($arBaseRights));
83
84 foreach ($arBaseRights as $symbol => $taskId)
85 {
86 if ($taskId <= 0)
87 continue;
88 ?>
89 <tr valign="top">
90 <td align="right"><?echo htmlspecialcharsex($arBaseNames[$symbol]['provider'] . ' ' . $arBaseNames[$symbol]['name'])?>:&nbsp;</td>
91 <td align="left">
92 <?php echo htmlspecialcharsex(CLearnAccess::GetNameForTask ($taskId)); ?>
93 </td>
94 </tr>
95 <?
96 }
97 }
98
99 $arNames = $access->GetNames(array_keys($arActualRights));
100 foreach($arActualRights as $symbol => $taskId)
101 {
102 if ($taskId <= 0)
103 continue;
104 ?>
105 <tr valign="top">
106 <td align="right">
107 <div style="padding-top:8px;">
108 <span href="javascript:void(0);"
109 onclick="LearningJSRightsAccess.DeleteRow(
110 this,
111 '<?=htmlspecialcharsbx(CUtil::addslashes($symbol))?>',
112 '<?=CUtil::JSEscape($html_var_name)?>')"
113 class="access-delete"
114 style="position:relative; top:1px; margin-right:3px;"
115 ></span><?php
116 if($arNames[$symbol]['provider'] <> '')
117 {
118 echo htmlspecialcharsex($arNames[$symbol]['provider'].' '.$arNames[$symbol]['name']);
119 }
120 else
121 {
122 echo htmlspecialcharsex($arNames[$symbol]['name']);
123 }
124 ?>:&nbsp;
125 </div>
126 </td>
127 <td align="left">
128 <?php
129 if ( $readOnly )
130 {
131 echo htmlspecialcharsex(CLearnAccess::GetNameForTask ($taskId));
132 }
133 else
134 {
135 ?>
136 <input type="hidden" name="<?php echo $html_var_name; ?>[][GROUP_CODE]" value="<?php echo htmlspecialcharsbx($symbol); ?>">
137 <div style="min-width:720px;">
138 <select name="<?php echo $html_var_name; ?>[][TASK_ID]" style="vertical-align:middle">
139 <?php
140 foreach($arPossibleRights as $id => $arRightsData)
141 {
142 ?>
143 <option value="<?php echo (int) $id; ?>" <?php if($id == $taskId) echo "selected"; ?>><?php echo htmlspecialcharsex(CLearnAccess::GetNameForTask ($id)); ?></option>
144 <?php
145 }
146 ?>
147 </select>
148 </div>
149 <?php
150 }
151 ?>
152 </td>
153 </tr>
154 <?
155 }
156
157 if ( ! $readOnly )
158 {
159 ?>
160 <tr>
161 <td width="40%" align="right">&nbsp;</td>
162 <td width="60%" align="left">
163 <a href="javascript:void(0)" id="<?echo htmlspecialcharsbx($href_id)?>" class="bx-action-href"><?echo GetMessage("LEARNING_RIGHTS_ADD")?></a>
164 </td>
165 </tr>
166 <?php
167 }
168 ?>
169 </table>
170 <br>
171 <strong><?php echo GetMessage('LEARNING_RIGHTS_NOTE'); ?></strong>
172 </td>
173 </tr>
174 <?
175 }
176}
return select
Определения access_edit.php:440
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения check_mail.php:18
static Init($arExt=array(), $bReturn=false)
Определения jscore.php:66
static GetInstance($in_userId)
Определения clearnaccess.php:171
static GetNameForTask($taskId)
Определения clearnaccess.php:207
static LearningShowRights($lessonId, $variable_name, $arBaseRights, $arPossibleRights, $arActualRights, $arSelected=array(), $arHighLight=array(), $readOnly)
Определения clearnrenderrightsedit.php:39
static RenderBaseRightsTab($userId, $POSTName='BASE_RIGHTS')
Определения clearnrenderrightsedit.php:5
static RenderLessonRightsTab($userId, $POSTName='LESSON_RIGHTS', $lessonId, $readOnly)
Определения clearnrenderrightsedit.php:11
& nbsp
Определения epilog_main_admin.php:38
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
$readOnly
Определения iblock_catalog_edit.php:19
$oAccess
Определения options.php:19
if(!is_array($deviceNotifyCodes)) $access
Определения options.php:174
$arNames
Определения options.php:175
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
GetMessage($name, $aReplace=null)
Определения tools.php:3397
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
font style
Определения invoice.php:442
text align
Определения template.php:556