Уведомление отправляется как HTTP-запрос на адрес, указанный в настройках счета, в следующем формате:
метод — POST;
каждый параметр уведомления указывается парой ключ/значение в виде параметра POST-запроса;
MIME-тип — application/x-www-form-urlencoded;
кодировка символов — UTF-8.
Удостоверение подлинности и целостности уведомления
Один из параметров уведомления, sha1_hash, содержит значение хэш-функции SHA-1 от свертки параметров уведомления совместно с секретным словом.
Примечание.
Секретное слово для проверки уведомлений используется как разделяемый секрет между Яндекс.Деньгами и разработчиком приложения. Благодаря этому подделать уведомление невозможно. Секретное слово можно получить в настройках счета.
deny from all
<?php
/*Работа светофора запрограммирована таким образом:
с начала каждого часа, в течении трех минут горит зеленый сигнал,
следующие две минуты горит красный,
дальше в течении трех минут - зеленый и т. д.
Вам нужно разработать программу, которая по введенному числу определяла
какого цвета сейчас горит сигнал.*/
error_reporting (E_ALL); // включаем лог ошибок
function numTail($m) {
switch ($m) {
case 0:case $m%10==0:default:return '';
case $m!=11 && $m%10==1: return 'а';
case ($m<10 || $m>20)&&($m%10==2||$m%10==3||$m%10==4):return 'ы';
}
}
function svetofor($m) {
if($m%5>=1 && $m%5<=3) return "зелёный";
else if ($m>0) return "красный";
else return 'никакой';
}
$m = date("i"); //0-59 минуты.
$m=46; //для теста.
//Сейчас 46 минут и горит зелёный.
?>
<div>
Сейчас <?=$m?> минут<?=numTail($m)?> и горит <?=svetofor($m)?>.
</div>
//////////Languages settings///////////
define ('HOMELANG','ru');
define ('AVAILABLE_LANGS','ru|en');
define ('DEFAULTLANG','ru'); //if no autodetect
define ('DB_HOMELANG_AUTOSWITCH',true);
/*
domain.com/ru/....
domain.com/en/...
берём "ru", "en" и т.д.
*/
$lng=explode(WWWROOTNOLANG,URI_LEFT);
$lng=explode('/',$lng[1],2);
$lng=$lng[0];
/*Проверяем: Есть ли у нас перевод для запрошенного языка?*/
if ($_SESSION['lang']!=$lng && $lng!='' && (strpos(AVAILABLE_LANGS,$lng)!==false)) {
$_SESSION['lang']=$lng;
} else $lng=HOMELANG;
/*
...здесь обработчик GET, для линков переключения языка..
*/
/*
Задан ли язык в сессии? Если нет - берём предпочтения из браузера клиента.
*/
if (!isset($_SESSION['lang']) || $_SESSION['lang']=='') {
$lng=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lng=explode(':',$lng);
$lng=explode(',',$lng[0]);
$lng=explode('-',$lng[0]);
$lng=mb_strtolower($lng[0]);
if ($lng=='' || $lng!='' && strpos(AVAILABLE_LANGS,$lng)===false) {
if (@strpos(AVAILABLE_LANGS,DEFAULTLANG)!==false) $lng=DEFAULTLANG;
else $lng=HOMELANG;
}
$_SESSION['lang']=$lng;
}
define('LANG',$_SESSION['lang']);
function lang($s){
global $lang;
if (isset($lang[$s])) return $lang[$s];
else return $s;
}
echo lang('hello');
или в шаблоне: <?=lang('hello')?>