Your IP : 3.17.190.212
<?
/**
* @global CUser $USER
* @global CMain $APPLICATION
*/
use \Bitrix\Main\Localization\Loc,
\Bitrix\Main\Service\GeoIp;
require_once(dirname(__FILE__)."/../include/prolog_admin_before.php");
if(!$USER->CanDoOperation('edit_other_settings'))
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
Loc::loadMessages(__FILE__);
$className = isset($_REQUEST['CLASS_NAME']) ? htmlspecialcharsbx($_REQUEST['CLASS_NAME']) : '';
$id = intval($_REQUEST["ID"]) > 0 ? intval($_REQUEST["ID"]) : 0;
$errMess = null;
$handler = GeoIp\Manager::getHandlerByClassName($className);
if(!$handler)
LocalRedirect(!empty($_REQUEST["back_url"]) ? $_REQUEST["back_url"] : 'geoip_handlers_list.php?lang='.LANG);
if($_SERVER['REQUEST_METHOD'] == "POST" && ($_POST['save'] <> "" || $_POST['apply'] <> "") && check_bitrix_sessid())
{
$fields = array(
"CLASS_NAME" => $className,
"SORT" => intval($_POST["SORT"]),
"ACTIVE" => $_POST["ACTIVE"] == 'Y' ? 'Y' : 'N',
"CONFIG" => $handler->createConfigField($_POST),
);
if($id > 0)
{
$res = GeoIp\HandlerTable::update($id, $fields);
}
else
{
$res = GeoIp\HandlerTable::add($fields);
}
if($res->isSuccess())
{
$id = $res->getId();
if(isset($_POST['apply']))
LocalRedirect("geoip_handler_edit.php?lang=".LANG."&ID=".$id."&CLASS_NAME=".urlencode($className));
else
LocalRedirect(!empty($_REQUEST["back_url"]) ? $_REQUEST["back_url"] : 'geoip_handlers_list.php?lang='.LANG);
}
else
{
$errMess = new CAdminMessage(
implode("\n<br>", $res->getErrorMessages()
));
}
}
$providingInfo = $handler->getProvidingInfo();
$APPLICATION->SetTitle(Loc::getMessage('GEOIP_EDIT_TITLE'));
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php");
$menu = array(
array(
"TEXT" => Loc::getMessage('GEOIP_EDIT_LIST'),
"TITLE" => Loc::getMessage('GEOIP_EDIT_LIST_T'),
"LINK"=>"geoip_handlers_list.php?lang=".LANG,
"ICON"=>"btn_list",
)
);
if($id > 0)
{
$menu[] = array(
"TEXT" => Loc::getMessage('GEOIP_EDIT_DELETE'),
"TITLE" => Loc::getMessage('GEOIP_EDIT_DELETE_T'),
"LINK" => "javascript:if(confirm('".GetMessage("GEOIP_EDIT_DELETE_CONFIRM")."')) window.location='geoip_handlers_list.php?ID=".$id."&action=delete&lang=".LANG."&".bitrix_sessid_get()."';",
"ICON" => "btn_delete",
);
}
$context = new CAdminContextMenu($menu);
$context->Show();
if($errMess)
echo $errMess->Show();
$aTabs = array(
array("DIV" => "edit1", "TAB" => Loc::getMessage('GEOIP_EDIT_MAIN_SETTINGS'), "TITLE" => Loc::getMessage('GEOIP_EDIT_MAIN_SETTINGS_T')),
array("DIV" => "edit2", "TAB" => Loc::getMessage('GEOIP_EDIT_SPECIFIC_SETTINGS'), "TITLE" => Loc::getMessage('GEOIP_EDIT_SPECIFIC_SETTINGS_T')),
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);
?>
<form method="POST" action="<?= $APPLICATION->GetCurPage()?>" name="geoip_handlers_form">
<?=bitrix_sessid_post()?>
<input type="hidden" name="ID" value=<?=$id?>>
<input type="hidden" name="lang" value="<?=LANGUAGE_ID?>">
<?
$tabControl->Begin();
$tabControl->BeginNextTab();
?>
<?if($id > 0):?>
<tr>
<td width="40%"><?=Loc::getMessage('GEOIP_EDIT_F_ID')?>:</td>
<td width="60%"><?=$id?></td>
</tr>
<?endif;?>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_TITLE')?>:</td>
<td><?=$handler->getTitle()?></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_DESCRIPTION')?>:</td>
<td><?=$handler->getDescription()?></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_ACTIVE')?>:</td>
<td><input type="checkbox" name="ACTIVE" value="Y"<?=$handler->isActive() ? ' checked' : ''?>></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_SORT')?>:</td>
<td><input type="text" name="SORT" size="3" maxlength="10" value="<?=$handler->getSort()?>"></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_CLASS')?>:</td>
<td><input type="text" name="CLASS_NAME" size="45" maxlength="255" value="<?=$className?>" readonly></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_IS_INSTALLED')?>:</td>
<td><input type="checkbox" name="IS_INSTALLED" value="Y"<?=$handler->isInstalled() ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_F_LANG')?>:</td>
<td><?=implode(', ', $handler->getSupportedLanguages())?></td>
</tr>
<tr class="heading">
<td colspan="2"><?=Loc::getMessage('GEOIP_EDIT_PROVIDING_INFO')?>:</td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_ASN')?>:</td>
<td><input type="checkbox"<?=$providingInfo->asn ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_COUNTRY_NAME')?>:</td>
<td><input type="checkbox"<?=$providingInfo->countryName ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_COUNTRY_CODE')?>:</td>
<td><input type="checkbox"<?=$providingInfo->countryCode ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_REGION_NAME')?>:</td>
<td><input type="checkbox"<?=$providingInfo->regionName ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_REGION_CODE')?>:</td>
<td><input type="checkbox"<?=$providingInfo->regionCode ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_SUBREGION_NAME')?>:</td>
<td><input type="checkbox"<?=$providingInfo->subRegionName ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_CITY_NAME')?>:</td>
<td><input type="checkbox"<?=$providingInfo->cityName ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_ZIP')?>:</td>
<td><input type="checkbox"<?=$providingInfo->zipCode ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_LAT')?>:</td>
<td><input type="checkbox"<?=$providingInfo->latitude ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_LON')?>:</td>
<td><input type="checkbox"<?=$providingInfo->longitude ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_TIMEZONE')?>:</td>
<td><input type="checkbox"<?=$providingInfo->timezone ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_ISP')?>:</td>
<td><input type="checkbox"<?=$providingInfo->ispName ? ' checked' : ''?> disabled></td>
</tr>
<tr>
<td><?=Loc::getMessage('GEOIP_EDIT_PI_ORG')?>:</td>
<td><input type="checkbox"<?=$providingInfo->organizationName ? ' checked' : ''?> disabled></td>
</tr>
<?$tabControl->BeginNextTab();?>
<?$adminConfigHtml = $handler->getAdminConfigHtml();?>
<?if(!empty($adminConfigHtml)):?>
<?=$adminConfigHtml?>
<?else:?>
<tr>
<td colspan="2"><?=Loc::getMessage('GEOIP_EDIT_SPECIFIC_ABSENT')?>:</td>
</tr>
<?endif;?>
<?
$tabControl->Buttons(array(
"back_url" => "geoip_handlers_list.php?lang=".LANG,
));
$tabControl->End();
?>
</form>
<?
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_admin.php");