Перейти к публикации

Рекомендованные сообщения

Подскажите как передать данные методом GET уже второй день не могу понять в чём дело

Страничка с модулем /index.php?do=rab

сама форма

<form action="../index.php?do=rab&" method="GET">

<input type="text" name="zp" placeholder="Зарплата" id="searchinput">
<input type="text" name="vakansiya" placeholder="Вакансия" id="searchinput">

<input type="submit"  class="btn bg-teal btn-sm btn-raised position-left legitRipple" value="Поиск">
</form>

/index.php?zp=1111111&vakansiya=тест

отправляет всё не на страничку с модулем а просто на index как это исправить?

Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, AnteFil сказал:

../index.php?do=rab&

А это что за чудо-адрес? Это откель такие берутся? Если надо отправить на тот же модуль, откуда и отправляется. то в action можно вообще ничего не писать. или так и написать

action="/index.php?do=rab"

 

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, alex32 сказал:

А это что за чудо-адрес? Это откель такие берутся? Если надо отправить на тот же модуль, откуда и отправляется. то в action можно вообще ничего не писать. или так и написать


action="/index.php?do=rab"

 

Да это забыл удалить action="/index.php?do=rab" не работает перекидывает на index.php?к=7&h=9

Ссылка на сообщение
Поделиться на других сайтах

да не надо вообще в action писать. И метод post сделать

<form action="" method="post">

 

Ссылка на сообщение
Поделиться на других сайтах

Вообщем возник вопрос не знаю насколько это относиться к DLE  поясню всю суть проблемы. Не могу током обработать GET данные.

Решил я сразу делать в нормальном русле. Для этого в .htaccess прописал правило.

RewriteRule ^rab/$  index.php?do=rab [QSA]
RewriteRule ^rab/(.*)/$ index.php?do=rab&city=$1 [QSA]
RewriteRule ^rab/(.*)/(.*)/$  index.php?do=rab&city=$1&vakansiya=$2 [QSA]

Вообще такое чувство что всё живёт своей жизнью так как правила сначала работали потом нет чё происходит не знаю. Теоретически правила работают это комп чёт моросит.

Я добился того что всё работало так из адресной строки /rab/город/вакансия/ сейчас почему то не работает и ссылка index.php?do=rab продолжает быть активной но ......

 

Проблема сохраняется с отправкой данных методом GET в модуль.

<form action="../rab/" formmethod="GET">
<input type="text"  name="city" placeholder="Город" id="searchinput">

<input type="text" name="vakansiya" placeholder="Вакансия" id="searchinput">

<input type="submit" value="Поиск">
</form>

При нажатии на отправить получаться так /rab/?city=Сургут&vakansiya=стропальщик

Должно быть так  /rab/Сургут/стропальщик/

 

Помогите!!!! Который день бьюсь АП стену

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, AnteFil сказал:

Должно быть так  /rab/Сургут/стропальщик/

 

Это с какого перепугу так должно быть после отправки формы методом get? НЕ будет такого. Правила RewriteRule это НЕ редирект.

Ссылка на сообщение
Поделиться на других сайтах
46 минут назад, alex32 сказал:

Это с какого перепугу так должно быть после отправки формы методом get? НЕ будет такого. Правила RewriteRule это НЕ редирект.

чё делать то?

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, AnteFil сказал:

чё делать то?

Отправлять методом post, что бы не было непонятных редиректов.

 

8 часов назад, AnteFil сказал:

При нажатии на отправить получаться так /rab/?city=Сургут&vakansiya=стропальщик

 

Это правильно получается. В чем проблема то?  

Ссылка на сообщение
Поделиться на других сайтах
20 часов назад, AnteFil сказал:

Подскажите как передать данные методом GET уже второй день не могу понять в чём дело

Страничка с модулем /index.php?do=rab

При закрытом коде, dle даже при получении переданных данных (на index.php), понятия не знает о том, что эти данные предназначены для какого-то модуля. Это только, если передавать непосредственно самому модулю:

14 часов назад, alex32 сказал:

да не надо вообще в action писать. И метод post сделать


<form action="" method="post">

 

 

14 часов назад, AnteFil сказал:

Вообще такое чувство что всё живёт своей жизнью

Чтоб правила срабатывали, надо чтобы осуществлялся переход, например по ссылкам такого вида.

14 часов назад, AnteFil сказал:

это комп чёт моросит.

Спорное утверждение.

14 часов назад, AnteFil сказал:

Проблема сохраняется с отправкой данных методом GET в модуль.


<form action="../rab/" formmethod="GET">
<input type="text"  name="city" placeholder="Город" id="searchinput">

<input type="text" name="vakansiya" placeholder="Вакансия" id="searchinput">

<input type="submit" value="Поиск">
</form>

При нажатии на отправить получаться так /rab/?city=Сургут&vakansiya=стропальщик

Должно быть так  /rab/Сургут/стропальщик/

formmethod - это что?

Такое:

14 часов назад, AnteFil сказал:

rab/Сургут/стропальщик/

может быть возможным, если выведена ссылка такого вида, перейдя по которой в адресной строке будет подобное. Ещё, как вариант, для изврата, можно js подтянуть и чтобы данные из формы преобразовывал в желаемый вид, но для этого надо не:

14 часов назад, AnteFil сказал:

бьюсь АП стену

а покурить матчасть ещё и по js.

Ссылка на сообщение
Поделиться на других сайтах

Поясните пожалуйста логику как вывести что то в шаблон.

У меня страничка модуля mod.php на ней я делаю так 

$tpl->load_template( 'categor.tpl' ); // Загружаю шаблон
$tpl->set('{categor_vac}', $categor_vac['category']); // тут передаю шаблону данные
$tpl->compile('categor_vac');// я не понимаю что происходит здесь 
$tpl->result['poisk_vak']; //и я не понимаю что происходит здесь

Что бы отправить на печать я делаю так 
$module_start = $tpl->result['poisk_vak'];
echo $module_start; // печатаем

Кто-нибудь проясните ситуацию и что делает copy_template ?

И как два шаблона.tpl подключить? Можно использовать два раза load_template ?

Важно! Поясните логику!

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Подскажите почему SQL не отдаёт запрос в php. Разрабатывал модуль не денвере переустановил на опен офис так как были проблемы теперь мой разрабатываемый модуль не работает. Сам движёк работает а вот когда обращаюсь к модулу то всё рубиться по тайм ауту

Fatal error: Maximum execution time of 60 seconds exceeded in C:\OpenServer\OpenServer\domains\test.ru\engine\classes\mysql.php on line 88

запрос в базу отправляет, но с базы почему то не забирает!

Ссылка на сообщение
Поделиться на других сайтах

Ну видимо там такие мега-запросы, что скрипту не хватает 60 секунд для работы. А вообще с такими вопросами лучше обращаться сюда, ибо здесь никто не знает, что там у вас в модуле наворочено.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Куда опубликовать? Если на всеобщее обозрение, то на офф.сайте  есть раздел https://dle-news.ru/modules/. На форуме есть раздел  https://forum.dle-news.ru/forum/47-готовые-моды-хаки-локализаторы-советы/

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, alex32 сказал:

Куда опубликовать? Если на всеобщее обозрение, то на офф.сайте  есть раздел https://dle-news.ru/modules/. На форуме есть раздел  https://forum.dle-news.ru/forum/47-готовые-моды-хаки-локализаторы-советы/

Может быть лучше не стоит советовать ему как выложить это НЕЧТО на всеобщее обозрение?
Пожалейте глаза проходящих мимо людей.

Ссылка на сообщение
Поделиться на других сайтах
13 минут назад, Mr. Bot сказал:

Может быть лучше не стоит советовать ему как выложить это НЕЧТО на всеобщее обозрение?

Может, не стоит  советовать, кому и что мне советовать? Почему бы и не выложить? Другим посмотреть полезно будет.

Ссылка на сообщение
Поделиться на других сайтах
В 08.07.2020 в 17:56, alex32 сказал:

Может, не стоит  советовать, кому и что мне советовать? Почему бы и не выложить? Другим посмотреть полезно будет.

Как кешировать запрос в sql ?

$sql_vac = $db->query( "SELECT * FROM " . PREFIX . "_mod WHERE 	city = 'Москва'");

$mymod = dle_cache('search_city',  86400, $sql_vac); // проверяем кэш

if($mymod == false) { 
echo 'Старый кеш';
} 
while ($vak_one = $db->get_row($mymod)) {
       $tpl->set('{name}', $vak_one['name']);
	   $tpl->set('{add}', $vak_one['add']);
	   $tpl->compile('poisk');
	   
    }

Но чёт ни чего не кешируется? Да и вообще всё на ура продолжает работать если сам запрос не указываю $db->get_row().

Как запрос кешировать?

Ссылка на сообщение
Поделиться на других сайтах

Отчасти я всё таки нагуглил как записать в кеш. Можно ли как то массив записать с ключами и потом достать его?

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, AnteFil сказал:

Как кешировать запрос в sql ?



 

Что то у тебя с логикой непорядок. Сначала делаешь запрос в БД и только потом проверяешь, есть ли кэшированные данные. В чем смысл читать из кэша, если запрос в БД уже сделан?

 

$mymod = dle_cache('search_city',  $mymod, $config['skin']); // проверяем кэш и если есть, прыгаем на echo $mymod;

// А если нет кэша, то вот тогда и делаем select из БД
if (!$mymod) {	

	$sql_vac = $db->query( "SELECT * FROM " . PREFIX . "_mod WHERE 	city = 'Москва'");

	while ($vak_one = $db->get_row($sql_vac)) {
		$tpl->set('{name}', $vak_one['name']);
		$tpl->set('{add}', $vak_one['add']);
		$tpl->compile('poisk');
	}

	create_cache( 'search_city', $mymod, $config['skin'] ); // кэшируем на будущее

}

echo $mymod;

 

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах

Вообщем выкладываю пока небольшую наработку. Так как это первый подобный модуль мой в DLE если кто знает как сделать что то лучше буду только за. Советы, рекомендации и конструктивную критику. Это пока только пользовательская часть.

Страница поиска верх.

sc1.jpg

Страница поиска низ!

 

sc2.jpg

 

Страница профиля

sc3.jpg

 

Ссылка на сам мод с файлами там же есть небольшая инструкция по установке.

https://yadi.sk/d/R41GgXHh1uVdJw

Самую основную страницу публикую тут с моими комментариями

<?php
if( !defined('DATALIFEENGINE') ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../' );
	die( "Hacking attempt!" );
}
header('Cache-Control: no cache'); //no cache
//session_cache_limiter('private_no_expire'); // works
session_start();
//Начинаем ловить город любыми путями GET, POST, COOKIE
$city = $_GET['city'] ?? $_POST['city'] ?? $_COOKIE['CookieCity'] ?? null;
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';

if (!empty($city)) {
	setcookie("CookieCity", $city, time()+3600*24*20, $_SERVER['SERVER_NAME']);/* срок действия 30 дней */
} 
//Если так и не нашли идём на api.dadata.ru что бы выяснить город по ip
if(empty($_COOKIE['CookieCity'])){ 
		
$headers=array( 'user-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36', 
				'accept: application/json',
				'Content-Type: application/json',
				'Authorization: Token (Здесь токен)',			
				'Accept-Charset: utf-8'); 
$ch = curl_init('https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip='.$_SERVER['REMOTE_ADDR'].'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_HEADER, false);
$data_sdati = curl_exec($ch);
curl_close($ch);	
$mas_data = json_decode($data_sdati, true);

$city = $mas_data['location']['data']['city'];

}
//протокол и город сохраняем в сессию
$_SESSION['city'] = $city;
$_SESSION['protocol'] = $protocol;
//эта проверка делит код на две части для двух страниц
if($_GET['jobfull']==''){
$vakansiya = $_GET['vakansiya'];

if($_GET['categor']!='') {
	$sql_categor12 = $db->query("SELECT * FROM `" . PREFIX . "_mod_job_categor` WHERE `id`= '".$db->safesql($_GET['categor'])."'");
	$categor_vac12 = $db->get_row($sql_categor12);
	$categor = $categor_vac12['name_categor'];
	setcookie("CookieCategor", $categor, time()+3600*24*20, $_SERVER['SERVER_NAME']);/* срок действия 30 дней */
}	

if($_GET['del_kat']=='ok'){
	unset($_COOKIE['CookieCategor']);
	unset($categor);
}

$name_cache = md5(implode('_', $config['skin']));

$kol_zapis = dle_cache($city.'_'.$name_cache, $r_strok, 43200); // достаём из кеша данные
if($kol_zapis == false ) {
	$sql_kol_zap = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE 	city_may LIKE '" . $db->safesql($city) . "%' AND (`name_vakansiya` LIKE '%". $db->safesql($vakansiya) . "%' OR `name_sinonim` LIKE '%". $db->safesql($vakansiya) . "%') AND `category_id` LIKE '%" . $db->safesql($categor) . "%' AND `activ`='1'");
	$kol_vo_zapis = $db->num_rows($sql_kol_zap);
	create_cache($city.'_'.$name_cache, $kol_vo_zapis);// количество записей отправляем в кеш
}

$num = 17;
// Извлекаем из URL текущую страницу
$page = $_GET['p'];
// Определяем общее число сообщений в базе данных

// Находим общее число страниц
$total = intval(($kol_zapis - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
  if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;

$sql_vacansii = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE city_may LIKE '" . $db->safesql($city) . "%' AND (`name_vakansiya` LIKE '%". $db->safesql($vakansiya) . "%' OR `name_sinonim` LIKE '%". $db->safesql($vakansiya) . "%') AND `category_id` LIKE '%" . $db->safesql($categor) . "%' AND `activ`='1' ORDER BY `id` desc limit ".$start.", ".$num."");
$nomer = $db->num_rows($sql_vacansii);


// Формируем ссылку для удаления категории
if($categor!='') { $categor_del = "Вакансии в категории ".$categor." | <a href='../../вакансии/?del_kat=ok'><b>очистить категорию</b></a></p>";}
$tpl->load_template( 'mod_rab/form_search.tpl' );
$tpl->set('{city}', $city);
$tpl->set('{vakansiya}', $vakansiya);
$tpl->set('{categor}', $categor);
$tpl->set('{categor_del}', $categor_del);
$tpl->compile('form_search');
echo $tpl->result['form_search'];


$tpl->load_template( 'mod_rab/result_search.tpl' );

	while ($row = $db->get_row($sql_vacansii)) {
		$region = $row['region_code_kladr'];
		$city_ssilka = '../../вакансии/'.$city.'/'.$row['id'].'.html';
		$postalCode = substr($row['address'], 0, 6);
	   $tpl->set('{postalCode}', $postalCode);
       $tpl->set('{vakansiya}', $row['name_vakansiya']);
	   $tpl->set('{address}', $row['address']);
	   $tpl->set('{salary}', $row['salary_min']);
	   $tpl->set('{vac_url}', $row['vac_url']);
	   $tpl->set('{company_name}', $row['company_name']);
	   $tpl->set('{aktiv-date}', $row['aktiv-date']);
	   $tpl->set('{off-date}', $row['date_to']);
	   $tpl->set('{opisanie}', $row['opisanie_job']);
	   $tpl->set('{categor}', $row['category_may']);
	   $tpl->set('{region_name}', $row['region_name']);
	   $tpl->set('{id_vac}', $row['id']);
	   $tpl->set('{email}', $row['company_email']);
	   $tpl->set('{city}', $city);
	   $tpl->set('{city_ssilka}', $city_ssilka);
	   if($row['company_phone']=='') { $phone = "<a href=".$row['vac_url']." rel='nofollow' target='_blank'>Тел. не указан подробно на сайте - <i>".$row['sait_name']."</i></a>";} else { $phone = "<a href='tel:".$row['company_phone']."'>Тел. ".$row['company_phone']."</a>";}
	   $tpl->set('{phone}', $row['company_phone']);
	   $tpl->compile('poisk_vak');
	   
    }
$_SESSION['region'] = $region;
echo $tpl->result['poisk_vak'];	


if(!empty($vakansiya)){ $vacans='/'.$vakansiya.'/';	} else { $vacans='/'; }
if(!empty($categor)){ $cat_slesh='&categor='.$categor;	} else { $cat_slesh=''; }
if($nomer>0){ $text_pod="<i><h3 class='h3 title'>В городе ".$city." найдены свежие вакансии</h3></i>"; } else { $text_pod="<h3 class='h3 title'>Хорошо, свежие вакансии в двух кликах</h3>"; }

//Поехала постраничная навигация

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = "<a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=1".$cat_slesh."><<</a>
                               <a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=". ($page - 1) .$cat_slesh."><</a>";
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = "<a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=". ($page + 1) .$cat_slesh.">></a>
                                   <a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=" .$total.$cat_slesh. ">>></a>";

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = "<a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=". ($page - 2) .$cat_slesh.">". ($page - 2) ."</a> | ";
if($page - 1 > 0) $page1left = "<a href= ".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=". ($page - 1) .$cat_slesh.">". ($page - 1) ."</a> | ";
if($page + 2 <= $total) $page2right = " | <a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=". ($page + 2) .$cat_slesh.">". ($page + 2) ."</a>";
if($page + 1 <= $total) $page1right = " | <a href=".$protocol."://".$_SERVER['SERVER_NAME']."/%D0%B2%D0%B0%D0%BA%D0%B0%D0%BD%D1%81%D0%B8%D0%B8/".$city.$vacans."?p=". ($page + 1) .$cat_slesh.">". ($page + 1) ."</a>";


echo '<center>'.$pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'</center></br>';


$tpl->clear();
$db->free();
  
} else {
echo $config['allow_alt_url'];
// Собираем страницу для полной версии вакансии	
$sql_kjob = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE id='".$db->safesql($_GET['jobfull'])."'");
$row_job = $db->get_row($sql_kjob);

$tpl->load_template( 'mod_rab/full_job.tpl' );
$tpl->set('{name_vakansiya}', $row_job['name_vakansiya']);
$tpl->set('{zarplata}', $row_job['salary_min']);
$tpl->set('{telefon}', $row_job['company_phone']);
$tpl->set('{email}', $row_job['company_email']);
$tpl->set('{opisanie}', $row_job['opisanie_job']);
$tpl->set('{date}', $row_job['aktiv-date']);
$tpl->set('{company_name}', $row_job['company_name']);
$tpl->set('{categor}', $row_job['category_may']);
$tpl->set('{city}', $city);
$tpl->set('{address}', $row_job['address']);
$tpl->set('{ogrn}', $row_job['company_ogrn']);
$tpl->set('{geo_lat}', $row_job['geo_lat']);
$tpl->set('{geo_lon}', $row_job['geo_lon']);
$tpl->compile('full_job');
echo $tpl->result['full_job'];
}

?>

 

Ссылка на сообщение
Поделиться на других сайтах

Куки, сессии, гет, пост, протоколы, зачем спрашивал про кэш вообще непонятно, и на финал 

 else {
	echo $config['allow_alt_url'];

И вся эта каша ради того, что бы вывести несколько записей из БД...

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, alex32 сказал:

Куки, сессии, гет, пост, протоколы, зачем спрашивал про кэш вообще непонятно, и на финал 


 else {
	echo $config['allow_alt_url'];

И вся эта каша ради того, что бы вывести несколько записей из БД...

Это я забыл удалить. Просто хотел посмотреть что хранит!

Про кеш спрашивал хотел полостью выдачу поместить в кеш, но потом передумал так как кеш превратиться в некую базу данных ещё одну по этому решил выдачу не отправлять в кеш а написал так 

$name_cache = md5(implode('_', $config['skin']));

$kol_zapis = dle_cache($city.'_'.$name_cache, $r_strok, 43200); // достаём из кеша данные
if($kol_zapis == false ) {
	$sql_kol_zap = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE 	city_may LIKE '" . $db->safesql($city) . "%' AND (`name_vakansiya` LIKE '%". $db->safesql($vakansiya) . "%' OR `name_sinonim` LIKE '%". $db->safesql($vakansiya) . "%') AND `category_id` LIKE '%" . $db->safesql($categor) . "%' AND `activ`='1'");
	$kol_vo_zapis = $db->num_rows($sql_kol_zap);
	create_cache($city.'_'.$name_cache, $kol_vo_zapis);// количество записей отправляем в кеш
}

Количество записей в базе отправил туда для навигации,

Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, AnteFil сказал:

Помогите пожалуйста передать даныные.

В шаблона модуля есть тег {city} как передать его в main.tpl ?

И какой ответ вы хотите услышать? Видимо никакой.😉

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...