%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/support/admin/ |
Current File : /home/bitrix/www/bitrix/modules/support/admin/ticket_group_edit.php |
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/support/prolog.php"); CModule::IncludeModule('support'); IncludeModuleLangFile(__FILE__); $FMUTagName = 'USER_IDS'; $FMUFormID = 'form1'; $bDemo = CTicket::IsDemo(); $bAdmin = CTicket::IsAdmin(); if(!$bAdmin && !$bDemo) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $LIST_URL = '/bitrix/admin/ticket_group_list.php'; $ID = intval($ID); $message = false; if ((strlen($save)>0 || strlen($apply)>0) && $REQUEST_METHOD=='POST' && $bAdmin && check_bitrix_sessid()) { $obSUG = new CSupportUserGroup(); $bOK = false; $new = false; $arParams = array( 'NAME' => $_POST['NAME'], 'SORT' => IntVal($_POST['SORT']), 'XML_ID' => $_POST['XML_ID'], 'IS_TEAM_GROUP' => $_POST['IS_TEAM_GROUP'], ); if ($ID > 0) { $bOK = $obSUG->Update($ID, $arParams); } else { if ($ID = $obSUG->Add($arParams)) { $bOK = true; $new = true; } } if ($bOK && isset($_POST[$FMUTagName]['VALS']) && is_array($_POST[$FMUTagName]['VALS'])) { $UIDS = array_map('intval', $_POST[$FMUTagName]['VALS']); $UIDS = array_unique($UIDS); $USERS = array(); foreach ($UIDS as $k => $v) { $USERS[] = array( 'USER_ID' => $v, 'CAN_VIEW_GROUP_MESSAGES' => $_POST[$FMUTagName]['CHECKS'][$k], 'CAN_MAIL_GROUP_MESSAGES' => $_POST[$FMUTagName]['MAIL'][$k], 'CAN_MAIL_UPDATE_GROUP_MESSAGES' => $_POST[$FMUTagName]['MAIL_UPDATE'][$k] ); } $errors = CSupportUser2UserGroup::SetGroupUsers($ID, $USERS); $bOK = count($errors) <= 0; if (!$bOK) { $APPLICATION->ThrowException(implode('<br>', $errors)); } } if ($bOK) { if (strlen($save)>0) LocalRedirect($LIST_URL . '?lang=' . LANG); elseif ($new) LocalRedirect($APPLICATION->GetCurPage() . '?ID='.$ID. '&lang='.LANG.'&tabControl_active_tab='.urlencode($tabControl_active_tab)); } else { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage('SUP_GE_ERROR'), $e); } } $rsGroups = CSupportUserGroup::GetList(false, array('ID' => $ID)); $arGroup = $rsGroups->GetNext(); if (!$arGroup) { $ID = 0; } $arGroupUsers = array(); if ($arGroup) { $rs_ug = CSupportUser2UserGroup::GetList(false, array('GROUP_ID' => $ID)); while ($ar_ug = $rs_ug->GetNext()) { $arGroupUsers[] = array( 'USER_ID' => $ar_ug['USER_ID'], 'CAN_VIEW_GROUP_MESSAGES' => $ar_ug['CAN_VIEW_GROUP_MESSAGES'], 'CAN_MAIL_GROUP_MESSAGES' => $ar_ug['CAN_MAIL_GROUP_MESSAGES'], 'CAN_MAIL_UPDATE_GROUP_MESSAGES' => $ar_ug['CAN_MAIL_UPDATE_GROUP_MESSAGES'], 'USER_NAME' => '[<a title="'.GetMessage("MAIN_USER_PROFILE").'" href="user_edit.php?ID='.$ar_ug["USER_ID"].'&lang='.LANG.'">'.$ar_ug["USER_ID"].'</a>] ('.$ar_ug["LOGIN"].') '.$ar_ug["FIRST_NAME"].' '.$ar_ug["LAST_NAME"], ); } } $arGroupUsers[] = array('USER_ID' => ''); $arGroupUsers[] = array('USER_ID' => ''); $arGroupUsers[] = array('USER_ID' => ''); if ($ID > 0) { $APPLICATION->SetTitle(GetMessage('SUP_GE_TITLE_EDIT', array('%GROUP_NAME%' => $arGroup['~NAME']))); } else { $APPLICATION->SetTitle(GetMessage('SUP_GE_TITLE_NEW')); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $aMenu = array( array( 'ICON' => 'btn_list', 'TEXT' => GetMessage('SUP_GE_GROUPS_LIST'), 'LINK' => $LIST_URL . '?lang=' . LANG ) ); $context = new CAdminContextMenu($aMenu); $context->Show(); if ($message) echo $message->Show(); $aTabs = array(); $aTabs[] = array( 'DIV' => 'edit1', 'TAB' => GetMessage('SUP_GE_GROUP'), 'TITLE'=>GetMessage('SUP_GE_GROUP_TITLE') ); $aTabs[] = array( 'DIV' => 'edit2', 'TAB' => GetMessage('SUP_GE_GROUP_USERS'), 'TITLE'=>GetMessage('SUP_GE_GROUP_USERS_TITLE') ); $tabControl = new CAdminTabControl('tabControl', $aTabs, true, true); ?> <form name="<?=$FMUFormID?>" method="POST" action="<?=$APPLICATION->GetCurPage()?>?lang=<?=LANGUAGE_ID?>&ID=<?=$ID?>"> <?=bitrix_sessid_post()?> <input type="hidden" name="ID" value="<?=$ID?>"> <input type="hidden" name="lang" value="<?=LANGUAGE_ID?>"> <?$tabControl->Begin();?> <?$tabControl->BeginNextTab();?> <tr class="adm-detail-required-field"> <td align="right" width="40%"><?=GetMessage('SUP_GE_NAME')?>:</td> <td width="60%"><input type="text" name="NAME" size="40" maxlength="255" value="<?=$arGroup['NAME']?>"></td> </tr> <tr> <td align="right"><?=GetMessage('SUP_GE_SORT')?>:</td> <td><input type="text" name="SORT" size="5" maxlength="255" value="<?=$arGroup['SORT']?>"></td> </tr> <tr> <td align="right"><?=GetMessage('SUP_GE_XML_ID')?>:</td> <td><input type="text" name="XML_ID" size="40" maxlength="255" value="<?=$arGroup['XML_ID']?>"></td> </tr> <tr> <td align="right"><?=GetMessage('SUP_GE_IS_TEAM_GROUP')?>:</td> <td><input type="checkbox" name="IS_TEAM_GROUP" value="Y"<?if ($arGroup['IS_TEAM_GROUP'] == 'Y'){?> checked<?}?>></td> </tr> <?$tabControl->BeginNextTab();?> <tr valign="top"> <td align="right"><?=GetMessage('SUP_GE_GROUP_USERS')?>:</td> <td> <table id="FMUtab"> <tr> <td><?=GetMessage('SUP_GE_USER')?></td> <td style="padding-right: 10px"><?=GetMessage('SUP_GE_CAN_VIEW')?></td> <td><?=GetMessage('SUP_GE_CAN_MAIL')?></td> <td><?=GetMessage('SUP_GE_CAN_MAIL_UPDATE')?></td> </tr> <? $i = 0; $UIDS = array(); foreach ($arGroupUsers as $val) { $UIDS[$i] = ''; $UserPr = ( strlen($val['USER_ID']) > 0 ); if( $UserPr ) $UIDS[$i] = intval($val['USER_ID']); $cVgm = ( $val['CAN_VIEW_GROUP_MESSAGES'] == "Y" || !$UserPr ) ? " checked" : ""; $cMgm = ( $val['CAN_MAIL_GROUP_MESSAGES'] == "Y" || !$UserPr ) ? " checked" : ""; $cMUgm = ( $val['CAN_MAIL_UPDATE_GROUP_MESSAGES'] == "Y" || !$UserPr ) ? " checked" : ""; ?> <tr> <td> <input type="text" id="<?=$FMUTagName?>[VALS][<?=$i?>]" name="<?=$FMUTagName?>[VALS][<?=$i?>]" value="<?=$UIDS[$i]?>" size="5"> <iframe style="width:0px; height:0px; border:0px" src="javascript:''" name="FMUhiddenframe<?=$i?>" id="FMUhiddenframe<?=$i?>"></iframe> <input class="" type="button" name="FMUButton<?=$i?>" id="FMUButton<?=$i?>" OnClick="window.open('/bitrix/admin/user_search.php?lang=<?=LANGUAGE_ID?>&FN=<?=$FMUFormID?>&FC=<?=urlencode($FMUTagName.'[VALS]['.$i.']')?>', '', 'scrollbars=yes,resizable=yes,width=760,height=500,top='+Math.floor((screen.height - 560)/2-14)+',left='+Math.floor((screen.width - 760)/2-5));" value="..."> <span id="div_FMUdivUN<?=$i?>"><?=$val['USER_NAME']?></span> </td> <td><input type="checkbox" name="<?=$FMUTagName?>[CHECKS][<?=$i?>]"<?=$cVgm?> value="Y"></td> <td><input type="checkbox" name="<?=$FMUTagName?>[MAIL][<?=$i?>]"<?=$cMgm?> value="Y"></td> <td><input type="checkbox" name="<?=$FMUTagName?>[MAIL_UPDATE][<?=$i?>]"<?=$cMUgm?> value="Y"></td> </tr> <? $i++; } ?> <tr> <td colspan="2"><input type="button" value="<?=GetMessage('SUP_GE_ADD_MORE_USERS')?>" onclick="window.open('/bitrix/admin/user_search.php?lang=<?=LANGUAGE_ID?>&JSFUNC=usergroups', '', 'scrollbars=yes,resizable=yes,width=760,height=500,top='+Math.floor((screen.height - 560)/2-14)+',left='+Math.floor((screen.width - 760)/2-5));"></td> </tr> </table> <script type="text/javascript"> var rowCounter = <?=intval($i)?>; var UIDS = new Array(); <?foreach ($UIDS as $k => $v){?> UIDS[<?=$k?>] = '<?=$v?>'; <?}?> function SUVUpdateUserNames() { var str; var div; for(i in UIDS) { //alert(document.<?echo $FMUFormID;?>["<?=$FMUTagName?>[VALS]["+String(i)+"]"].value); str = document.<?echo $FMUFormID;?>["<?=$FMUTagName?>[VALS]["+String(i)+"]"].value; if(str.length > 0) { if(String(UIDS[i]) != str) { div = document.getElementById('div_FMUdivUN'+String(i)); div.innerHTML = '<i><?=GetMessage('MAIN_WAIT')?></i>'; document.getElementById("FMUhiddenframe"+String(i)).src='/bitrix/admin/get_user.php?ID=' + str + '&strName=FMUdivUN'+String(i)+'&lang=<?=LANG?><?=(defined("ADMIN_SECTION") && ADMIN_SECTION===true?"&admin_section=Y":"")?>'; UIDS[i] = str; } } } setTimeout(function(){SUVUpdateUserNames()},1000); } SUVUpdateUserNames(); function SUVusergroups(USER_ID) { var oTbl=document.getElementById('FMUtab'); var sRowCounter = String(rowCounter); var newRow = oTbl.insertRow(oTbl.rows.length - 1); var newCell1 = newRow.insertCell(-1); newCell1.innerHTML = '<input type="text" id="<?=$FMUTagName?>[VALS]['+sRowCounter+']" name="<?=$FMUTagName?>[VALS]['+sRowCounter+']" value="'+String(USER_ID)+'" size="5"> ' + '<iframe style="width:0px; height:0px; border:0px" src="javascript:\'\'" name="FMUhiddenframe'+sRowCounter+'" id="FMUhiddenframe'+sRowCounter+'"></iframe> ' + '<input class="" type="button" name="FMUButton'+sRowCounter+'" id="FMUButton'+sRowCounter+'" OnClick="window.open(\'/bitrix/admin/user_search.php?lang=<?=LANGUAGE_ID?>&FN=<?=$FMUFormID?>&FC=<?=urlencode($FMUTagName)?>%5BVALS%5D%5B'+sRowCounter+'%5D\', \'\', \'scrollbars=yes,resizable=yes,width=760,height=500,top=\'+Math.floor((screen.height - 560)/2-14)+\',left=\'+Math.floor((screen.width - 760)/2-5));" value="..."> ' + '<span id="div_FMUdivUN'+sRowCounter+'"></span>'; var newCell2 = newRow.insertCell(-1); newCell2.innerHTML = '<input type="checkbox" name="<?=$FMUTagName?>[CHECKS]['+sRowCounter+']" value="Y" checked>'; var newCell3 = newRow.insertCell(-1); newCell3.innerHTML = '<input type="checkbox" name="<?=$FMUTagName?>[MAIL]['+sRowCounter+']" value="Y" checked>'; var newCell4 = newRow.insertCell(-1); newCell4.innerHTML = '<input type="checkbox" name="<?=$FMUTagName?>[MAIL_UPDATE]['+sRowCounter+']" value="Y" checked>'; BX.adminPanel.modifyFormElements(newCell2); BX.adminPanel.modifyFormElements(newCell3); BX.adminPanel.modifyFormElements(newCell4); UIDS[rowCounter] = ''; rowCounter++; } </script> </td> </tr> <? $tabControl->Buttons(Array("disabled"=>!$bAdmin, 'back_url' => $LIST_URL . '?lang=' . LANGUAGE_ID)); $tabControl->End(); ?> </form> <?echo BeginNote();?> <span style="font-weight: bold;"><?echo GetMessage("REQUIRED_FIELDS")?></span> <?echo EndNote();?> <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); ?>