// Радиус земли
define('EARTH_RADIUS', 6372795);
/*
* Расстояние между двумя точками
* $φA, $λA - широта, долгота 1-й точки,
* $φB, $λB - широта, долгота 2-й точки
* Написано по мотивам http://gis-lab.info/qa/great-circles.html
* Михаил Кобзарев <mikhail@kobzarev.com>
*
*/
function calculateTheDistance ($φA, $λA, $φB, $λB) {
// перевести координаты в радианы
$lat1 = $φA * M_PI / 180;
$lat2 = $φB * M_PI / 180;
$long1 = $λA * M_PI / 180;
$long2 = $λB * M_PI / 180;
// косинусы и синусы широт и разницы долгот
$cl1 = cos($lat1);
$cl2 = cos($lat2);
$sl1 = sin($lat1);
$sl2 = sin($lat2);
$delta = $long2 - $long1;
$cdelta = cos($delta);
$sdelta = sin($delta);
// вычисления длины большого круга
$y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2));
$x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta;
//
$ad = atan2($y, $x);
$dist = $ad * EARTH_RADIUS;
return $dist;
}
$lat1 = 77.1539;
$long1 = -139.398;
$lat2 = -77.1804;
$long2 = -139.55;
echo calculateTheDistance($lat1, $long1, $lat2, $long2) . " метров";
// Вернет "17166029 метров"
//функция Отправки СМС
function send($sms_phone, $sms_message){
$xml = auth();
$options = array(
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_USERPWD => 'admin:34543sdd4!@0',
CURLOPT_URL => 'https://modem.ВАШЕ_ИМЯ.keenetic.link/api/sms/send-sms',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
CURLOPT_HTTPHEADER => array("X-Requested-With: XMLHttpRequest",'Cookie:'. $xml->SesInfo,'__RequestVerificationToken:'. $xml->TokInfo,'"Content-Type:application/x-www-form-urlencoded; charset=UTF-8"'),
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => "<request><Index>-1</Index><Phones><Phone>".$sms_phone."</Phone></Phones><Sca/><Content>".$sms_message."</Content><Length>5</Length><Reserved>1</Reserved><Date>".date("Y-m-d H:i:s")."</Date></request>"
);
$curl = curl_init();
curl_setopt_array($curl, $options);
curl_exec($curl);
curl_close($curl);
};
send($sms_phone, $sms_message);
Текст может содержать метки: #PAYMENT_ID# - ID оплаты, #ORDER_ID# - ID заказа, #PAYMENT_NUMBER# - номер оплаты, #ORDER_NUMBER# - номер заказа, #USER_EMAIL# - Email покупателя
массовый запрос на отправку смс на разные номера
"smart_filter" => "#SECTION_CODE_PATH#/#SMART_FILTER_PATH#/",
<?
$res = CIBlockSection::GetByID($arCurSection['ID']);
if($ar_res = $res->GetNext())
$url = "/catalog/".$ar_res[CODE]."/#SMART_FILTER_PATH#/";
$APPLICATION->IncludeComponent("bitrix:catalog.smart.filter", "bootstrap_v4", array(
"CACHE_GROUPS" => "N", // Учитывать права доступа
"CACHE_TIME" => "3600", // Время кеширования (сек.)
"CACHE_TYPE" => "A", // Тип кеширования
"COMPOSITE_FRAME_MODE" => "N",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"CONVERT_CURRENCY" => "N", // Показывать цены в одной валюте
"DISPLAY_ELEMENT_COUNT" => "N", // Показывать количество
"FILTER_NAME" => "arrFilter", // Имя выходящего массива для фильтрации
"FILTER_VIEW_MODE" => "vertical",
"HIDE_NOT_AVAILABLE" => "Y", // Не отображать товары, которых нет на складах
"IBLOCK_ID" => $arParams["IBLOCK_ID"], // Инфоблок
"IBLOCK_TYPE" => "catalog", // Тип инфоблока
"PAGER_PARAMS_NAME" => "arrPager",
"SAVE_IN_SESSION" => "N", // Сохранять установки фильтра в сессии пользователя
"SECTION_CODE" => "", // Код раздела
"SECTION_DESCRIPTION" => "-", // Описание
"SECTION_ID" => $arCurSection['ID'], // ID раздела инфоблока
"SECTION_TITLE" => "-", // Заголовок
"SEF_MODE" => "Y", // Включить поддержку ЧПУ
"TEMPLATE_THEME" => "blue", // Цветовая тема
"XML_EXPORT" => "N", // Включить поддержку Яндекс Островов
"COMPONENT_TEMPLATE" => "",
"POPUP_POSITION" => "left",
"SECTION_CODE_PATH" => "", // Путь из символьных кодов раздела
"SEF_RULE" => $url, // Правило для обработки
"SMART_FILTER_PATH" => $_REQUEST["SMART_FILTER_PATH"], // Блок ЧПУ умного фильтра
"SHOW_ALL_WO_SECTION" => "Y",
"PRICE_CODE" => "", // Тип цены
"PREFILTER_NAME" => "smartPreFilter", // Допфильтрация элементов
),
false);
?>
<?php
$arUrlRewrite=array (
1 =>
array (
'CONDITION' => '#^/catalog/([a-z0-9_\\-\\/]+)/#',
'RULE' => 'SMART_FILTER_PATH=$1&',
'ID' => '',
'PATH' => '/catalog/index.php',
'SORT' => 100,
),
2 =>
array (
'CONDITION' => '#^/catalog/\\??(.*)#',
'RULE' => 'SMART_FILTER_PATH=$1&$2',
'ID' => 'bitrix:catalog.smart.filter',
'PATH' => '/catalog/index.php',
'SORT' => 100,
),
3 =>
array (
'CONDITION' => '#^/catalog/#',
'RULE' => '',
'ID' => 'bitrix:catalog',
'PATH' => '/catalog/index.php',
'SORT' => 100,
)
);
$_REQUEST[SMART_FILTER_PATH] = str_replace("red/brown", "colors-is-brown-or-red/", $_REQUEST[SMART_FILTER_PATH]);
https://test.ru/catalog/pants/filter/color_ref-is-green/apply/
https://test.ru/catalog/pants/green/
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("sale");
CModule::IncludeModule("catalog");
$COUPON = randString(5);
$addDb = \Bitrix\Sale\Internals\DiscountCouponTable::add(array(
'DISCOUNT_ID' => 3,
'COUPON' => $COUPON,
'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER,
'MAX_USE' => 1,
'USER_ID' => 0,
'DESCRIPTION' => ''
));
echo $COUPON;
?>
URL страницы информационного блока: /article/index.php
URL страницы раздела: пусто
URL страницы детального просмотра: /article/#ELEMENT_CODE#/
Управление адресами страниц: /article/
Страница детального просмотра: #ELEMENT_CODE#/
Включить поддержку ЧПУ: Да
Остальное пусто
13 =>
array (
'CONDITION' => '#^/article/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/article/index.php',
'SORT' => 100,
),
Options -Indexes
ErrorDocument 404 /404.php
php_flag session.use_trans_sid off
#php_flag default_charset UTF-8
#php_value display_errors 1
<IfModule mod_php7.c>
php_flag session.use_trans_sid off
#php_flag default_charset UTF-8
#php_value display_errors 1
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
ExpiresByType image/png "access plus 3 day"
ExpiresByType text/css "access plus 3 day"
ExpiresByType application/javascript "access plus 3 day"
</IfModule>
Все модули
Слышал, что гарнитуры не подходят в качестве радиопетли. Но не понимаю почему. Может быть какие-то подходят.
Rode SmartLav+
сможет ли он вырезать ненужные куски из видео и наложить титры.