$token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$img = "1.png";
$otvet = curl( 'https://api.vk.com/method/photos.getOwnerPhotoUploadServer?owner_id=xxxxxxx&v=5.45&access_token=' . $token );
$uploadJson = json_decode( $otvet, true )[ 'response' ];
$info_server_photo = curl( $uploadJson[ 'upload_url' ] );
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $uploadJson[ 'upload_url' ] );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, array( 'file' => dirname( __FILE__ ) . '\\' . $img ) );
$otvet_photo = curl_exec( $ch );
curl_close( $ch );
$info_server_photo = json_decode( $otvet_photo, true );
$savePhoto = curl( 'https://api.vk.com/method/photos.saveWallPhoto?access_token=' . $token . '&server=' . $info_server_photo[ 'server' ] . '&photo=' . $info_server_photo[ 'photo' ] . '&hash=' . $info_server_photo[ 'hash' ] );
print_r( json_decode( $savePhoto, true ) );
function curl( $url ){
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $ch );
curl_close( $ch );
return $response;
}
<?php
/**
* smtp_mail() - Отправка электронной почты с авторизацией через SMTP сервер
* v1.0.0
*
* smtp_read(); smtp_write() - вторичные
* Подключаемая пользовательская функция для отправки сообщений по электронной почте
* с использованием аутентификации пользователя на почтовом сервере SMTP.
* Рекомендуется использовать в том случае, если стандартная функция mail()
* на хостинге работает неправильно или с ошибками. Данная функция корректно
* работает на PHP 4 и выше с установленным модулем расширения php_sockets
*
*
* http://koks-host.ru
* Оригинальная кодировка UTF-8
*/
function smtp_mail ($smtp, // SMTP-сервер
$port, // порт SMTP-сервера
$login, // имя пользователя для доступа к почтовому ящику
$password, // пароль для доступа к почтовому ящику
$from, // адрес электронной почты отправителя
$from_name, // имя отправителя
$to, // адрес электронной почты получателя
$subject, // тема сообщения
$message, // текст сообщения
$res) // сообщение, выводимое при успешной отправке
{
// header('Content-Type: text/plain;'); // необязательный параметр, особенно если включаем через include()
// error_reporting(E_ALL ^ E_WARNING); // необязательный параметр, включает отображение всех ошибок и предупреждений
// ob_implicit_flush(); // необязательный параметр, включает неявную очистку
// блок для других кодировок, отличных от UTF-8
// $message = iconv("UTF-8","KOI8-R",$message); // конвертируем в koi8-r
// $message = "Content-Type: text/plain; charset=\"koi8-r\"\r\nContent-Transfer-Encoding: 8bit\r\n\r\n".$message; // конвертируем в koi8-r
// $subject=base64_encode(iconv("UTF-8","KOI8-R",$subject)); // конвертируем в koi8-r
// $subject=base64_encode($subject); // конвертируем в koi8-r
$from_name = base64_encode($from_name);
$subject = base64_encode($subject);
$message = base64_encode($message);
$message = "Content-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: base64\r\nUser-Agent: Koks Host Mail Robot\r\nMIME-Version: 1.0\r\n\r\n".$message;
$subject="=?utf-8?B?{$subject}?=";
$from_name="=?utf-8?B?{$from_name}?=";
try {
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
}
$result = socket_connect($socket, $smtp, $port);
if ($result === false) {
throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
}
smtp_read($socket);
smtp_write($socket, 'EHLO '.$login);
smtp_read($socket);
smtp_write($socket, 'AUTH LOGIN');
smtp_read($socket);
smtp_write($socket, base64_encode($login));
smtp_read($socket);
smtp_write($socket, base64_encode($password));
smtp_read($socket);
smtp_write($socket, 'MAIL FROM:<'.$from.'>');
smtp_read($socket);
smtp_write($socket, 'RCPT TO:<'.$to.'>');
smtp_read($socket);
smtp_write($socket, 'DATA');
smtp_read($socket);
$message = "FROM:".$from_name."<".$from.">\r\n".$message;
$message = "To: $to\r\n".$message;
$message = "Subject: $subject\r\n".$message;
date_default_timezone_set('UTC');
$utc = date('r');
$message = "Date: $utc\r\n".$message;
smtp_write($socket, $message."\r\n.");
smtp_read($socket);
smtp_write($socket, 'QUIT');
smtp_read($socket);
return $res;
} catch (Exception $e) {
echo "\nError: ".$e->getMessage();
}
if (isset($socket)) {
socket_close($socket);
}
}
function smtp_read($socket) {
$read = socket_read($socket, 1024);
if ($read{0} != '2' && $read{0} != '3') {
if (!empty($read)) {
throw new Exception('SMTP failed: '.$read."\n");
} else {
throw new Exception('Unknown error'."\n");
}
}
}
function smtp_write($socket, $msg) {
$msg = $msg."\r\n";
socket_write($socket, $msg, strlen($msg));
}
?>
var int1 = parseInt(document.getElementById("int1").innerHTML);
var int2 = parseInt(document.getElementById("int2").innerHTML);
document.getElementById('timer_inp2').innerHTML = int1 - int2;
function timer() {
var obj=document.getElementById('timer_inp2');
obj.innerHTML--;
if(obj.innerHTML > 0) {
// Если больше дня
if(obj.innerHTML >= (24*60*60)) {
var d = Math.floor(obj.innerHTML / (24*60*60));
var h = Math.floor(obj.innerHTML % (24*60*60));
if(h >= 3600) {
var h = Math.floor(h / 3600);
}
else if(h >= 60) {
var m = Math.floor(h / 60);
var h = 0;
}
else {
var s = h;
var h = 0;
var m = 0;
}
}
// Если больше часа
else if(obj.innerHTML >= 3600) {
var h = Math.floor(obj.innerHTML / 3600);
var m = Math.floor(obj.innerHTML % 3600);
if(m >= 60) {
var m = Math.floor(m / 60);
}
else {
var s = m;
var m = 0;
}
}
// Если больше минуты
else if(obj.innerHTML >= 60) {
var m = Math.floor(obj.innerHTML / 60);
var s = Math.floor(obj.innerHTML % 60);
}
// Если меньше минуты
else {
var s = obj.innerHTML;
}
//var d = Math.floor(obj.innerHTML / (365 *24*60*60));
var days = (d > 0) ? d+'дн ' : '';
var hours = (h > 0) ? h+'ч ' : '';
var minutes = (m > 0) ? m+'м ' : '';
var seconds = (s > 0) ? s+'с ' : '';
document.getElementById('new_time').innerHTML = '<div>осталось: '+days+hours+minutes+seconds+'</div>';
setTimeout(timer,1000);
}
}
setTimeout(timer,1000);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Test</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div style="display:none" id="int1" class="green">300</div><!--Дата окончания-->
<div style="display:none" id="int2" class="green">200</div><!--Дата начала-->
<div id="timer_inp2" class="green"></div>
<div id="new_time"></div>
<script type="text/javascript" src="timer.js"></script><!--Обязательно в конце-->
</body>
</html>
ALTER TABLE `table`
DROP `group` ,
DROP `value` ,
ADD `group2` INT(255) NULL DEFAULT NULL ,
ADD `group3` INT(255) NULL DEFAULT NULL ,
ADD `group5` INT(255) NULL DEFAULT NULL ,
ADD `group12` INT(255) NULL DEFAULT NULL ;
UPDATE `basename`.`table` SET `group2` = '34', `group3` = '0', `group5` = '0', `group12` = '0' WHERE `table`.`id` = 1;
UPDATE `basename`.`table` SET `group2` = '34', `group3` = '0', `group5` = '0', `group12` = '0' WHERE `table`.`id` = 2;
UPDATE `basename`.`table` SET `group2` = '0', `group3` = '11', `group5` = '0', `group12` = '0' WHERE `table`.`id` = 3;
UPDATE `basename`.`table` SET `group2` = '0', `group3` = '0', `group5` = '12', `group12` = '0' WHERE `table`.`id` = 4;
UPDATE `basename`.`table` SET `group2` = '0', `group3` = '11', `group5` = '0', `group12` = '0' WHERE `table`.`id` = 5;
UPDATE `basename`.`table` SET `group2` = '0', `group3` = '0', `group5` = '0', `group12` = '1' WHERE `table`.`id` = 6;
.fork-me-link {
display: block;
position: absolute;
top: 0;
right: -95px;
outline: none;
-webkit-transition-property: right;
-webkit-transition-duration: 1s;
-moz-transition-property: right;
-moz-transition-duration: 1s;
-ms-transition-property: right;
-ms-transition-duration: 1s;
-o-transition-property: right;
-o-transition-duration: 1s;
}
.fork-me-link:hover{
right: 0;
}
.form-bg { background:#FFF; width: 100%; height: 490px; float: none; margin-top: 10px; border-radius: 10px;}
<?php
// Секретный ключ интернет-магазина (настраивается в кабинете)
$skey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
// Функция, которая возвращает результат в Единую кассу
function print_answer($result, $description)
{
print "WMI_RESULT=" . strtoupper($result) . "&";
print "WMI_DESCRIPTION=" .urlencode($description);
exit();
}
// Проверка наличия необходимых параметров в POST-запросе
if (!isset($_POST["WMI_SIGNATURE"]))
print_answer("Retry", "Отсутствует параметр WMI_SIGNATURE");
if (!isset($_POST["WMI_PAYMENT_NO"]))
print_answer("Retry", "Отсутствует параметр WMI_PAYMENT_NO");
if (!isset($_POST["WMI_ORDER_STATE"]))
print_answer("Retry", "Отсутствует параметр WMI_ORDER_STATE");
// Извлечение всех параметров POST-запроса, кроме WMI_SIGNATURE
foreach($_POST as $name => $value)
{
if ($name !== "WMI_SIGNATURE") $params[$name] = $value;
}
// Сортировка массива по именам ключей в порядке возрастания
// и формирование сообщения, путем объединения значений формы
uksort($params, "strcasecmp"); $values = "";
foreach($params as $name => $value)
{
//Конвертация из текущей кодировки (UTF-8)
//необходима только если кодировка магазина отлична от Windows-1251
$value = iconv("utf-8", "windows-1251", $value);
$values .= $value;
}
// Формирование подписи для сравнения ее с параметром WMI_SIGNATURE
$signature = base64_encode(pack("H*", md5($values . $skey)));
//Сравнение полученной подписи с подписью W1
if ($signature == $_POST["WMI_SIGNATURE"])
{
if (strtoupper($_POST["WMI_ORDER_STATE"]) == "ACCEPTED")
{
// TODO: Пометить заказ, как «Оплаченный» в системе учета магазина
print_answer("Ok", "Заказ #" . $_POST["WMI_PAYMENT_NO"] . " оплачен!");
}
else
{
// Случилось что-то странное, пришло неизвестное состояние заказа
print_answer("Retry", "Неверное состояние ". $_POST["WMI_ORDER_STATE"]);
}
}
else
{
// Подпись не совпадает, возможно вы поменяли настройки интернет-магазина
print_answer("Retry", "Неверная подпись " . $_POST["WMI_SIGNATURE"]);
}
?>
//Секретный ключ интернет-магазина
$key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$fields = array();
// Добавление полей формы в ассоциативный массив
$fields["WMI_MERCHANT_ID"] = "11111111111";
$fields["WMI_PAYMENT_AMOUNT"] = "0.1";
$fields["WMI_CURRENCY_ID"] = "643";
$fields["WMI_PAYMENT_NO"] = "12345-005";
$fields["WMI_SUCCESS_URL"] = "http://site.ru/_PaySystem/w1/result.php";
$fields["WMI_DESCRIPTION"] = "BASE64:".base64_encode("Пополнение лицевого счета");
$fields["WMI_EXPIRED_DATE"] = "2019-12-31T23:59:59";
$fields["Login"] = "admin";
//Сортировка значений внутри полей
foreach($fields as $name => $val)
{
if (is_array($val))
{
usort($val, "strcasecmp");
$fields[$name] = $val;
}
}
// Формирование сообщения, путем объединения значений формы,
// отсортированных по именам ключей в порядке возрастания.
uksort($fields, "strcasecmp");
$fieldValues = "";
foreach($fields as $value)
{
if (is_array($value))
foreach($value as $v)
{
//Конвертация из текущей кодировки (UTF-8)
//необходима только если кодировка магазина отлична от Windows-1251
$v = iconv("utf-8", "windows-1251", $v);
$fieldValues .= $v;
}
else
{
//Конвертация из текущей кодировки (UTF-8)
//необходима только если кодировка магазина отлична от Windows-1251
$value = iconv("utf-8", "windows-1251", $value);
$fieldValues .= $value;
}
}
// Формирование значения параметра WMI_SIGNATURE, путем
// вычисления отпечатка, сформированного выше сообщения,
// по алгоритму MD5 и представление его в Base64
$signature = base64_encode(pack("H*", md5($fieldValues . $key)));
//Добавление параметра WMI_SIGNATURE в словарь параметров формы
$fields["WMI_SIGNATURE"] = $signature;
// Формирование HTML-кода платежной формы
print '<form action="https://www.walletone.com/checkout/default.aspx" method="POST">';
foreach($fields as $key => $val)
{
if (is_array($val))
foreach($val as $value)
{
print $key.':<input type="text" name="'.$key.'" value="'.$value.'"/>';
}
else
print $key.':<input type="text" name="'.$key.'" value="'.$val.'"/>';
}
print '<input type="submit"/></form>';