%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/controller/admin/ |
Current File : /home/bitrix/www/bitrix/modules/controller/admin/controller_member_edit.php |
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); /** @global CMain $APPLICATION */ /** @global CDatabase $DB */ /** @global CUser $USER */ /** @global CUserTypeManager $USER_FIELD_MANAGER */ use \Bitrix\Main\Type; if (!$USER->CanDoOperation("controller_member_view") || !CModule::IncludeModule("controller")) { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/controller/prolog.php"); IncludeModuleLangFile(__FILE__); $message = false; $strError = ""; $ID = intval($_REQUEST['ID']); $ENTITY_ID = "CONTROLLER_MEMBER"; $aTabs = array( array( "DIV" => "edit1", "TAB" => GetMessage("CTRLR_MEM_EDIT_TAB1"), "ICON" => "controller_member_edit", "TITLE" => "", ), ); if ($ID > 0) { $aTabs[] = array( "DIV" => "edit2", "TAB" => GetMessage("CTRLR_MEM_EDIT_COUNTER_TAB"), "ICON" => "controller_member_edit", "TITLE" => GetMessage("CTRLR_MEM_EDIT_COUNTER_TAB"), ); } if ( (count($USER_FIELD_MANAGER->GetUserFields($ENTITY_ID)) > 0) || ($USER_FIELD_MANAGER->GetRights($ENTITY_ID) >= "W") ) { $aTabs[] = $USER_FIELD_MANAGER->EditFormTab($ENTITY_ID); } $currentUserAuthGrant = false; if ($ID > 0) { $currentUserAuthGrantScopes = array(); foreach (\Bitrix\Controller\AuthGrantTable::getControllerMemberScopes($ID, $USER->GetID(), $USER->GetUserGroupArray()) as $currentUserAuthGrant) { $currentUserAuthGrantScopes[$currentUserAuthGrant["SCOPE"]] = true; } if ($USER->CanDoOperation("controller_member_grant_auth") || $currentUserAuthGrantScopes) { $aTabs[] = array( "DIV" => "edit_auth", "TAB" => GetMessage("CTRLR_MEM_EDIT_AUTH_TAB"), "ICON" => "controller_member_edit", "TITLE" => GetMessage("CTRLR_MEM_EDIT_AUTH_TAB_TITLE"), ); } } $tabControl = new CAdminTabControl("tabControl", $aTabs); if ($ID <= 0 && strlen($_REQUEST['member_id']) > 0) { $dbr_member = CControllerMember::GetByGuid($_REQUEST['member_id']); if ($ar_member = $dbr_member->Fetch()) $ID = $ar_member["ID"]; else { $e = new CApplicationException(GetMessage("CTRLR_MEM_EDIT_ERR")); $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERROR"), $e); } } $bUnregisterError = false; if ( $ID > 0 && $_REQUEST['unregister'] == 'Y' && $USER->CanDoOperation("controller_member_disconnect") && check_bitrix_sessid() ) { $result = CControllerMember::UnRegister($ID); if ($_REQUEST["anywhere"] == 'Y' && $result === false) { CControllerMember::Update($ID, Array('DISCONNECTED' => 'Y')); $result = true; } if ($result === false) { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR2"), $e); $bUnregisterError = true; } else { if (strlen($_REQUEST['back_url']) > 0) LocalRedirect($_REQUEST['back_url']); else LocalRedirect($APPLICATION->GetCurPage()."?lang=".LANG."&ID=".$ID."&".$tabControl->ActiveTabParam()); } } $sRegistrationMode = ""; if ($ID <= 0) { if (strlen($_REQUEST['TICKET_ID']) > 0 && strlen($_REQUEST['SECRET_ID']) > 0) $sRegistrationMode = "ticket"; else $sRegistrationMode = "password"; } $bRegistrationByTicketError = false; if ( $_SERVER["REQUEST_METHOD"] == "POST" && !$message && $_REQUEST['unregister'] != 'Y' && (strlen($_POST['save']) > 0 || strlen($_POST['save_ext']) > 0 || strlen($_POST['apply']) > 0) && ( $USER->CanDoOperation("controller_member_edit") || $USER->CanDoOperation("controller_member_add") ) ) { if (!check_bitrix_sessid()) { $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR3")); } else { $arFields = Array( "ACTIVE" => $_REQUEST["ACTIVE"], "NAME" => $_REQUEST["NAME"], "URL" => $_REQUEST["PROTOCOL"].$_REQUEST["URL"], "CONTACT_PERSON" => $_REQUEST["CONTACT_PERSON"], "EMAIL" => $_REQUEST["EMAIL"], "DATE_ACTIVE_FROM" => $_REQUEST["DATE_ACTIVE_FROM"], "DATE_ACTIVE_TO" => $_REQUEST["DATE_ACTIVE_TO"], "MEMBER_ID" => $_REQUEST["MEMBER_ID"], "NOTES" => $_REQUEST["NOTES"], "CONTROLLER_GROUP_ID" => $_REQUEST["CONTROLLER_GROUP_ID"], ); if (COption::GetOptionString("controller", "show_hostname") == "Y") $arFields["HOSTNAME"] = $_REQUEST["HOSTNAME"]; if (ControllerIsSharedMode()) $arFields["SHARED_KERNEL"] = $_REQUEST["SHARED_KERNEL"]; $USER_FIELD_MANAGER->EditFormAddFields($ENTITY_ID, $arFields); if ($ID > 0) { if ($USER->CanDoOperation("controller_member_edit")) $res = CControllerMember::Update($ID, $arFields); else $res = false; if ( isset($_REQUEST['AUTH']) && is_array($_REQUEST['AUTH']) && $_REQUEST['AUTH']['GRANTEE_USER_ID'] > 0 && $USER->CanDoOperation('controller_member_grant_auth') && array_key_exists($_REQUEST['AUTH']['GRANTEE_USER_ID'], \Bitrix\Controller\AuthGrantTable::getGranteeUserList($USER->GetID())) ) { \Bitrix\Controller\AuthGrantTable::add(array( "TIMESTAMP_X" => new Type\DateTime(), "GRANTED_BY" => $USER->GetID(), "CONTROLLER_MEMBER_ID" => $ID, "GRANTEE_USER_ID" => $_REQUEST['AUTH']['GRANTEE_USER_ID'], "ACTIVE" => "Y", "SCOPE" => $_REQUEST['AUTH']['SCOPE'], "DATE_START" => Type\DateTime::isCorrect($_REQUEST['AUTH']['DATE_START'])? Type\DateTime::createFromUserTime($_REQUEST['AUTH']['DATE_START']): false, "DATE_END" => Type\DateTime::isCorrect($_REQUEST['AUTH']['DATE_START'])? Type\DateTime::createFromUserTime($_REQUEST['AUTH']['DATE_END']): false, )); } if ( isset($_REQUEST['AUTH_DELETE']) && is_array($_REQUEST['AUTH_DELETE']) && $USER->CanDoOperation('controller_member_grant_auth') ) { foreach ($_REQUEST['AUTH_DELETE'] as $id) { \Bitrix\Controller\AuthGrantTable::update($id, array("ACTIVE" => "N")); } } } elseif ($_REQUEST["reconnect_id"] > 0) { $arFields["SECRET_ID"] = $_REQUEST["SECRET_ID"]; $arFields["DISCONNECTED"] = "N"; if (strlen($_REQUEST["ADMIN_LOGIN"]) < 0 || strlen($_REQUEST["ADMIN_PASSWORD"]) <= 0) { $e = new CApplicationException(GetMessage("CTRLR_MEM_EDIT_ERR5")); $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR4"), $e); } elseif (!($ID = CControllerMember::ReconnectMemberByPassword($_REQUEST["reconnect_id"], $arFields, $_REQUEST["ADMIN_LOGIN"], $_REQUEST["ADMIN_PASSWORD"]))) { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR4"), $e); $bRegistrationByTicketError = true; } $res = ($ID > 0); } else { if ($sRegistrationMode == "ticket") { $arFields["SECRET_ID"] = $_REQUEST["SECRET_ID"]; if (!($ID = CControllerMember::RegisterMemberByTicket($arFields, $_REQUEST["TICKET_ID"], $_REQUEST["PROTOCOL"].$_REQUEST["URL"]))) { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR4"), $e); $bRegistrationByTicketError = true; } } elseif ($sRegistrationMode == "password") { if (strlen($_REQUEST["ADMIN_LOGIN"]) < 0 || strlen($_REQUEST["ADMIN_PASSWORD"]) <= 0) { $e = new CApplicationException(GetMessage("CTRLR_MEM_EDIT_ERR5")); $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR4"), $e); } elseif (!($ID = CControllerMember::RegisterMemberByPassword($arFields, $_REQUEST["ADMIN_LOGIN"], $_REQUEST["ADMIN_PASSWORD"]))) { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR4"), $e); $bRegistrationByTicketError = true; } } else { $ID = CControllerMember::Add($arFields); } $res = ($ID > 0); } if (!$res) { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage("CTRLR_MEM_EDIT_ERR6"), $e); } else { if (strlen($save) > 0) { if ($back_url == '') LocalRedirect("controller_member_admin.php?lang=".LANG); else LocalRedirect($back_url); } else LocalRedirect($APPLICATION->GetCurPage()."?lang=".LANG."&ID=".$ID."&".$tabControl->ActiveTabParam()); } } } ClearVars(); $str_ACTIVE = "Y"; if (strlen($_REQUEST['MEMBER_ID']) > 0) $str_MEMBER_ID = htmlspecialcharsbx(substr($_REQUEST['MEMBER_ID'], 0, 32)); else $str_MEMBER_ID = "m".\Bitrix\Main\Security\Random::getString(31); $mb = CControllerMember::GetByID($_REQUEST["reconnect_id"] > 0? $_REQUEST["reconnect_id"]: $ID); if (!$USER->CanDoOperation("controller_member_view") || (!$mb->ExtractFields("str_"))) $ID = 0; if ( $_REQUEST["countersupdate"] == "Y" && $ID > 0 && check_bitrix_sessid() && $USER->CanDoOperation("controller_member_counters_update") ) { $result = array(); if (CControllerMember::UpdateCounters($ID)) { $rsMember = CControllerMember::GetByID($ID); $arMember = $rsMember->Fetch(); $mb = CControllerGroup::GetByID($arMember["CONTROLLER_GROUP_ID"]); $arGroup = $mb->Fetch(); $result["COUNTERS_UPDATED"] = $arMember["COUNTERS_UPDATED"]; if ($arGroup["CHECK_COUNTER_FREE_SPACE"] == "Y") $result["COUNTER_FREE_SPACE"] = $arMember["COUNTER_FREE_SPACE"]; if ($arGroup["CHECK_COUNTER_SITES"] == "Y") $result["COUNTER_SITES"] = $arMember["COUNTER_SITES"]; if ($arGroup["CHECK_COUNTER_USERS"] == "Y") $result["COUNTER_USERS"] = $arMember["COUNTER_USERS"]; if ($arGroup["CHECK_COUNTER_LAST_AUTH"] == "Y") $result["COUNTER_LAST_AUTH"] = $arMember["COUNTER_LAST_AUTH"]; $rsCounters = CControllerCounter::GetMemberValues($ID); while ($arCounter = $rsCounters->Fetch()) { $result["COUNTER_".$arCounter["ID"]] = $arCounter["DISPLAY_VALUE"]; } } else { $e = $APPLICATION->GetException(); if ($e) $result["error"] = GetMessage("CTRLR_MEM_EDIT_COUNTER_ERR")." ".$e->GetString(); else $result["error"] = GetMessage("CTRLR_MEM_EDIT_COUNTER_ERR")." unknown"; } echo CUtil::PhpToJSObject($result, true); die(); } if (($message && !$bUnregisterError) || ($ID == 0 && $_REQUEST["reconnect_id"] == 0)) { $URL = $PROTOCOL.$URL; $DB->InitTableVarsForEdit("b_controller_member", "", "str_"); } $sDocTitle = ($ID > 0)? preg_replace("'#ID#'i", $ID, GetMessage("CTRLR_MEM_EDIT_TITLE")): GetMessage("CTRLR_MEM_EDIT_TITLE_NEW"); $APPLICATION->SetTitle($sDocTitle); /*************************************************************************** * HTML form ****************************************************************************/ require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php"); CJSCore::Init(array("ajax")); $aMenu = array( array( "ICON" => "btn_list", "TEXT" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_BACK_TEXT"), "TITLE" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_BACK"), "LINK" => "controller_member_admin.php?lang=".LANG, ), ); if ($ID > 0) { if ($USER->CanDoOperation("controller_member_history_view")) { $aMenu[] = array( "TEXT" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_HISTORY_TEXT"), "TITLE" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_HISTORY"), "LINK" => "controller_member_history.php?find_id=".$ID."&set_filter=Y&lang=".LANG, ); } if ($USER->CanDoOperation("controller_member_add")) { $aMenu[] = array( "ICON" => "btn_new", "TEXT" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_NEW_TEXT"), "TITLE" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_NEW"), "LINK" => "controller_member_edit.php?lang=".LANG, ); } if ($str_DISCONNECTED != "Y") { if ($USER->CanDoOperation("controller_member_disconnect")) { $aMenu[] = array( "TEXT" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_DISCN_TEXT"), "TITLE" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_DISCN"), "LINK" => "javascript:if(confirm('".GetMessage("CTRLR_MEM_EDIT_TOOLBAR_DISCN_CONFIRM")."'))window.location='controller_member_edit.php?unregister=Y&ID=".$ID."&lang=".LANG."&".bitrix_sessid_get()."';", ); } } if ($USER->CanDoOperation("controller_member_delete")) { $aMenu[] = array( "TEXT" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_DELETE_TEXT"), "TITLE" => GetMessage("CTRLR_MEM_EDIT_TOOLBAR_DELETE"), "ICON" => "btn_delete", "LINK" => "javascript:if(confirm('".GetMessage("CTRLR_MEM_EDIT_TOOLBAR_DELETE_CONFIRM")."'))window.location='controller_member_admin.php?action=delete&ID=".$ID."&lang=".LANG."&".bitrix_sessid_get()."';", ); } } $context = new CAdminContextMenu($aMenu); $context->Show(); if ($message) echo $message->Show(); if ($bUnregisterError): ?> <input type="button" value="<? echo GetMessage("CTRLR_MEM_EDIT_MARK_DISCN") ?>" onclick="window.location='controller_member_edit.php?unregister=Y&anywhere=Y&ID=<?=$ID?>&lang=<?=LANG?>&<?=bitrix_sessid_get()?>'"> <? endif; if ($_REQUEST['act'] == 'unregister' && $ID > 0): ?> <script> setTimeout('_TryDelete()', 1); function _TryDelete() { if (confirm('<?=CUtil::JSEscape(GetMessage("CTRLR_MEM_EDIT_MARK_DISCN_CONFIRM", array("#MEMBER_NAME#" => $str_NAME." (".$str_URL.")")))?>')) { document.getElementById('unregister').value = 'Y'; document.getElementById('form1').submit(); } } </script> <? endif ?> <? if (method_exists($USER_FIELD_MANAGER, 'showscript')) echo $USER_FIELD_MANAGER->ShowScript(); ?> <form method="POST" action="<? echo $APPLICATION->GetCurPage() ?>?lang=<?=LANG?><? echo $ID > 0? '&ID='.$ID: '' ?><? echo $_REQUEST["reconnect_id"] > 0? '&reconnect_id='.intval($_REQUEST["reconnect_id"]): '' ?>" name="form1" id="form1"> <?=bitrix_sessid_post()?> <? echo GetFilterHiddens("find_"); ?> <? if ($ID == 0 && (strlen($_REQUEST['SECRET_ID']) > 0 || $_REQUEST["reconnect_id"] > 0)): ?> <input type="hidden" name="SECRET_ID" value="<?=$str_SECRET_ID?>"> <? endif ?> <? if ($ID == 0 && strlen($_REQUEST['TICKET_ID']) > 0): ?> <input type="hidden" name="TICKET_ID" value="<?=htmlspecialcharsbx($_REQUEST["TICKET_ID"])?>"> <? endif ?> <? if ($back_url != ''): ?> <input type="hidden" name="back_url" value="<?=htmlspecialcharsbx($back_url)?>"> <? endif ?> <input type="hidden" id="unregister" name="unregister" value=""> <? $tabControl->Begin(); $tabControl->BeginNextTab(); ?> <? if ($ID > 0): ?> <tr> <td align="right" width="40%">ID:</td> <td><? echo $str_ID ?></td> </tr> <? if ($str_DISCONNECTED == 'Y'): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_DISCN") ?></td> <td><font color="red"><b><? echo GetMessage("CTRLR_MEM_EDIT_DISCN_YES") ?></b></font> </td> </tr> <? endif ?> <? if ($str_DISCONNECTED == 'I'): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_DISCN") ?></td> <td><? echo GetMessage("CTRLR_MEM_EDIT_DISCN_INIT") ?></td> </tr> <? endif ?> <? endif ?> <? if (strlen($str_DATE_CREATE) > 0): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_CREATED") ?></td> <td><? echo $str_DATE_CREATE, " ", $str_CREATED_BY_USER ?></td> </tr> <? endif; ?> <? if (strlen($str_TIMESTAMP_X) > 0): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_MODIFIED") ?></td> <td><? echo $str_TIMESTAMP_X, " ", $str_MODIFIED_BY_USER ?></td> </tr> <? endif; ?> <tr class="adm-detail-required-field"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_NAME") ?></td> <td><input type="text" name="NAME" size="53" maxlength="255" value="<?=$str_NAME?>"></td> </tr> <tr class="adm-detail-required-field"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_UID") ?></td> <td> <input type="text" name="MEMBER_ID" size="53" maxlength="255" <? if ($ID > 0) echo "readonly"; ?> value="<?=$str_MEMBER_ID?>"> </td> </tr> <tr class="adm-detail-required-field"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_URL") ?></td> <td> <select name="PROTOCOL"> <option value="http://">http://</option> <option value="https://"<? if (strtolower(substr($str_URL, 0, 8)) == "https://") echo " selected" ?>> https:// </option> </select> <? if (strpos($str_URL, "://") > 0) $str_URL = substr($str_URL, strpos($str_URL, "://") + 3); ?> <input type="text" name="URL" size="42" maxlength="255" value="<?=$str_URL?>"> </td> </tr> <? if (COption::GetOptionString("controller", "show_hostname") == "Y"): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_HOSTNAME") ?></td> <td><input type="text" name="HOSTNAME" size=43 maxlength="255" value="<?=$str_HOSTNAME?>"></td> </tr> <? endif ?> <tr class="adm-detail-required-field"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_GROUP") ?></td> <td><select name="CONTROLLER_GROUP_ID"> <? $iTrialPeriod = 0; $dbr_group = CControllerGroup::GetList(Array("SORT" => "ASC", "NAME" => "ASC", "ID" => "ASC")); while ($ar_group = $dbr_group->GetNext()): if ($str_CONTROLLER_GROUP_ID == $ar_group["ID"] && $ar_group["TRIAL_PERIOD"] > 0) $iTrialPeriod = $ar_group["TRIAL_PERIOD"]; ?> <option value="<?=$ar_group["ID"]?>"<? if ($str_CONTROLLER_GROUP_ID == $ar_group["ID"]) echo " selected" ?>><?=$ar_group["NAME"]?></option> <? endwhile; ?> </select> </td> </tr> <? if ($sRegistrationMode == "password"): ?> <tr class="adm-detail-required-field"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_MEMB_LOGIN") ?></td> <td> <input type="text" name="ADMIN_LOGIN" size="53" maxlength="255" value="<?=htmlspecialcharsbx($ADMIN_LOGIN)?>"> </td> </tr> <tr class="adm-detail-required-field"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_MEMB_PASSW") ?></td> <td> <input type="password" name="ADMIN_PASSWORD" size="53" maxlength="255" value="<?=htmlspecialcharsbx($ADMIN_PASSWORD)?>"> </td> </tr> <? endif ?> <? if (ControllerIsSharedMode()): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_SHARED_KERNEL") ?></td> <td> <input type="checkbox" name="SHARED_KERNEL" value="Y"<? if ($str_SHARED_KERNEL == "Y") echo " checked" ?>> </td> </tr> <? endif ?> <tr class="heading"> <td colspan="2"><? echo GetMessage("CTRLR_MEM_EDIT_AVAIL") ?></td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_CUR") ?></td> <td> <? if ($str_SITE_ACTIVE == 'N'): ?> <? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_CLOSED") ?> <? else: ?> <? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_OPENED") ?> <? endif ?> </td> </tr> <? if ($ID > 0 && $str_DISCONNECTED == "N" && $iTrialPeriod > 0 && $str_IN_GROUP_FROM != ''): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_TRIAL") ?></td> <td> <? $tFrom = MakeTimeStamp($str_IN_GROUP_FROM, FORMAT_DATE); $tTo = $tFrom + $iTrialPeriod * 24 * 60 * 60 - 1; $iDays = (($tTo - time()) / 60 / 60 / 24); if ($iDays < 0) $iDays = $iDays - 0.99999; $iDays = intval($iDays); ?> <? if ($iDays > 0): ?> <? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_TRIAL_1") ?> <?=$iDays?><? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_TRIAL_1_D") ?> <? elseif ($iDays == 0): ?> <? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_TRIAL_2") ?> <? else: ?> <? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_TRIAL_3") ?> <?=(-$iDays)?><? echo GetMessage("CTRLR_MEM_EDIT_AVAIL_TRIAL_3_D") ?> <? endif ?> (<?=ConvertTimeStamp($tTo)?>) </td> </tr> <? endif; ?> <tr> <td align="right" width="40%"> <label for="ACTIVEX"><? echo GetMessage("CTRLR_MEM_EDIT_ACTIVE") ?></label></td> <td> <script> function __ActiveOnClick(ob) { if (!ob.checked) return confirm("<?echo GetMessage("CTRLR_MEM_EDIT_ACTIVE_CONFIRM")?>"); } </script> <input type="checkbox" name="ACTIVE" id="ACTIVE" value="Y"<? if ($str_ACTIVE == "Y") echo " checked" ?> onclick="return __ActiveOnClick(this);"> </td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_ACTIVE_PERIOD") ?></td> <td><? echo CalendarPeriod("DATE_ACTIVE_FROM", $str_DATE_ACTIVE_FROM, "DATE_ACTIVE_TO", $str_DATE_ACTIVE_TO, "form1") ?></td> </tr> <tr class="heading"> <td colspan="2"><? echo GetMessage("CTRLR_MEM_EDIT_ADD") ?></td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_CONTACT_PERSON") ?></td> <td><input type="text" name="CONTACT_PERSON" size="53" maxlength="255" value="<?=$str_CONTACT_PERSON?>"> </td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_EMAIL") ?></td> <td><input type="text" name="EMAIL" size="53" maxlength="255" value="<?=$str_EMAIL?>"></td> </tr> <tr class="adm-detail-valign-top"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_DESCR") ?></td> <td><textarea name="NOTES" cols="40" rows="5"><? echo $str_NOTES ?></textarea> </td> </tr> <? if ($ID > 0): ?> <? $tabControl->BeginNextTab(); ?> <script> function UpdateCounters() { BX.showWait(); BX.ajax.loadJSON( '/bitrix/admin/controller_member_edit.php?lang=<?=LANGUAGE_ID?>&ID=<?=$ID?>', { countersupdate: 'Y', sessid: BX.bitrix_sessid() }, function (result) { BX.closeWait(); for (var id in result) { if (result.hasOwnProperty(id)) { var textControl = BX(id); if (textControl) { textControl.innerHTML = result[id]; } } } if (result.hasOwnProperty('error')) { alert(result['error']); } } ); } </script> <tr class="adm-detail-valign-top"> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS") ?></td> <td><span id="COUNTERS_UPDATED"><? echo $str_COUNTERS_UPDATED ?></span> <?if ($USER->CanDoOperation("controller_member_counters_update")):?> [<a href="javascript:void(0)" onclick="UpdateCounters(); return false;"><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS_REFRESH") ?></a>] <?endif?> </td> </tr> <? $mb = CControllerGroup::GetByID($str_CONTROLLER_GROUP_ID); $arGroup = $mb->Fetch(); if ($arGroup["CHECK_COUNTER_FREE_SPACE"] == "Y"): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS_FREE") ?></td> <td> <span id="COUNTER_FREE_SPACE"><? echo $str_COUNTER_FREE_SPACE ?></span><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS_FREE_Kb") ?> </td> </tr> <? endif; ?> <? if ($arGroup["CHECK_COUNTER_SITES"] == "Y"): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS_SITES") ?></td> <td><span id="COUNTER_SITES"><? echo $str_COUNTER_SITES ?></span></td> </tr> <? endif; ?> <? if ($arGroup["CHECK_COUNTER_USERS"] == "Y"): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS_USERS") ?></td> <td><span id="COUNTER_USERS"><? echo $str_COUNTER_USERS ?></span></td> </tr> <? endif; ?> <? if ($arGroup["CHECK_COUNTER_LAST_AUTH"] == "Y"): ?> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_COUNTERS_LAST_AU") ?></td> <td><span id="COUNTER_LAST_AUTH"><? echo $str_COUNTER_LAST_AUTH ?></span></td> </tr> <? endif; ?> <? $rsCounters = CControllerCounter::GetMemberValues($ID); while ($arCounter = $rsCounters->Fetch()) { ?> <tr> <td align="right" width="40%"><? echo htmlspecialcharsEx($arCounter["NAME"]) ?>:</td> <td> <span id="COUNTER_<? echo $arCounter["ID"] ?>"><? echo htmlspecialcharsEx($arCounter["DISPLAY_VALUE"]) ?></span> </td> </tr> <? } ?> <?endif; if ( (count($USER_FIELD_MANAGER->GetUserFields($ENTITY_ID)) > 0) || ($USER_FIELD_MANAGER->GetRights($ENTITY_ID) >= "W") ) { $tabControl->BeginNextTab(); if ($USER_FIELD_MANAGER->GetRights($ENTITY_ID) >= "W") { echo "<tr><td colspan=\"2\" align=\"left\"><a href=\"/bitrix/admin/userfield_edit.php?lang=".LANG."&ENTITY_ID=".urlencode($ENTITY_ID)."&back_url=".urlencode($APPLICATION->GetCurPageParam("", array("bxpublic"))."&tabControl_active_tab=user_fields_tab")."\">".GetMessage("USER_TYPE_EDIT_TAB_HREF")."</a></td></tr>"; } $arUserFields = $USER_FIELD_MANAGER->GetUserFields($ENTITY_ID, ($_REQUEST["reconnect_id"] > 0)? $_REQUEST["reconnect_id"]: $ID, LANGUAGE_ID); if (count($arUserFields) > 0) { foreach ($arUserFields as $FIELD_NAME => $arUserField) { $arUserField["VALUE_ID"] = intval($ID); echo $USER_FIELD_MANAGER->GetEditFormHTML(is_object($message), $GLOBALS[$FIELD_NAME], $arUserField); } } } if ( ($ID > 0 && $USER->CanDoOperation("controller_member_grant_auth")) || ($ID > 0 && $currentUserAuthGrantScopes) ) { $tabControl->BeginNextTab(); if ($ID > 0 && $currentUserAuthGrantScopes) { if (array_key_exists("user", $currentUserAuthGrantScopes) || array_key_exists("admin", $currentUserAuthGrantScopes)) { ?> <tr> <td colspan="2"><a href="controller_goto.php?lang=<? LANGUAGE_ID ?>&member=<? echo $ID ?>"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_GO") ?></a> </td> </tr> <? } if (array_key_exists("php", $currentUserAuthGrantScopes)) { ?> <tr> <td colspan="2"><a href="controller_run_command.php?lang=<? LANGUAGE_ID ?>&member=<? echo $ID ?>"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_RUN_COMMAND") ?></a> </td> </tr> <? } } if ($ID > 0 && $USER->CanDoOperation("controller_member_grant_auth")) { ?> <tr> <td colspan="2"><a href="controller_auth_log.php?lang=<?LANGUAGE_ID?>&find_to_controller_member=<?echo $ID?>&set_filter=Y"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_LOG") ?></a></td> </tr> <tr class="heading"> <td colspan="2"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_ADD") ?></td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_GRANTEE") ?></td> <td><select name="AUTH[GRANTEE_USER_ID]"> <option value=""><?=GetMessage("MAIN_NONE")?></option> <? foreach (\Bitrix\Controller\AuthGrantTable::getGranteeUserList($USER->GetID()) as $userId => $userTitle): ?> <option value="<?=$userId?>"><?=htmlspecialcharsEx($userTitle)?></option> <? endforeach; ?> </select> </td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_SCOPE") ?></td> <td><select name="AUTH[SCOPE]"> <option value="user"><?=GetMessage("CTRLR_MEM_EDIT_AUTH_SCOPE_USER")?></option> <option value="admin"><?=GetMessage("CTRLR_MEM_EDIT_AUTH_SCOPE_ADMIN")?></option> <option value="php"><?=GetMessage("CTRLR_MEM_EDIT_AUTH_SCOPE_PHP")?></option> </select> </td> </tr> <tr> <td align="right" width="40%"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_TIME_INTERVAL") ?></td> <td> <? echo CAdminCalendar::CalendarPeriod("AUTH[DATE_START]", "AUTH[DATE_END]", '', '', "Y", 10, true); ?> </td> </tr> <? $grantList = \Bitrix\Controller\AuthGrantTable::getList(array( "select" => array( "ID", "TIMESTAMP_X", "GRANTED_BY", "GRANTED_NAME", "GRANTEE_USER_ID", "GRANTEE_USER_NAME", "GRANTEE_GROUP_ID", "GRANTEE_GROUP_NAME", "SCOPE", "DATE_START", "DATE_END", "NOTE", ), "filter" => array( "=CONTROLLER_MEMBER_ID" => $ID, "=ACTIVE" => "Y", array( "LOGIC" => "OR", "=DATE_END" => false, ">=DATE_END" => new \Bitrix\Main\Type\DateTime(), ), ), "order" => array("ID" => "desc"), )); $grant = $grantList->fetch(); if ($grant) { ?> <tr class="heading"> <td colspan="2"><? echo GetMessage("CTRLR_MEM_EDIT_AUTH_ACTIVE") ?></td> </tr> <tr> <td colspan="2" class="adm-detail-valign-top" align="center"> <table class="internal"> <tr class="heading"> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_TIMESTAMP_X")?></td> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_GRANTED_BY")?></td> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_GRANTEE")?></td> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_SCOPE")?></td> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_DATE_START")?></td> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_DATE_END")?></td> <td><?echo GetMessage("CTRLR_MEM_EDIT_AUTH_DELETE")?></td> <td> </td> </tr> <? do { ?> <tr> <td><?echo htmlspecialcharsEx($grant["TIMESTAMP_X"])?></td> <td><a href="<?echo htmlspecialcharsbx('user_edit.php?lang='.LANGUAGE_ID.'&ID='.$grant['GRANTED_BY'])?>"><?echo htmlspecialcharsEx($grant["GRANTED_NAME"])?></a></td> <?if ($grant['GRANTEE_USER_ID']):?> <td><a href="<?echo htmlspecialcharsbx('user_edit.php?lang='.LANGUAGE_ID.'&ID='.$grant['GRANTEE_USER_ID'])?>"><?echo htmlspecialcharsEx($grant["GRANTEE_USER_NAME"])?></a></td> <?else:?> <td><a href="<?echo htmlspecialcharsbx('group_edit.php?lang='.LANGUAGE_ID.'&ID='.$grant['GRANTEE_GROUP_ID'])?>"><?echo htmlspecialcharsEx($grant["GRANTEE_GROUP_NAME"])?></a></td> <?endif;?> <td><?echo htmlspecialcharsEx($grant["SCOPE"])?></td> <td><?echo htmlspecialcharsEx($grant["DATE_START"])?></td> <td><?echo htmlspecialcharsEx($grant["DATE_END"])?></td> <td align="center"><input type="checkbox" name="AUTH_DELETE[]" value="<?echo htmlspecialcharsbx($grant["ID"])?>"></td> <td><?echo htmlspecialcharsEx($grant["NOTE"])?></td> </tr> <? } while ($grant = $grantList->fetch()); ?> </table> </td> </tr> <? } } } $tabControl->EndTab(); $tabControl->Buttons(array( "back_url" => ($back_url != ''? $back_url: "controller_member_admin.php?lang=".LANGUAGE_ID), "disabled" => !($ID > 0 && $USER->CanDoOperation("controller_member_edit")) && !($ID <= 0 && $USER->CanDoOperation("controller_member_add")), )); ?> <? $tabControl->End(); ?> <input type="hidden" value="Y" name="apply"> </form> <? require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_admin.php"); ?>