libraries/joomla/cache/controller/callback.php. Joomla callback


Feedback Form joomla – 📞 CallbackHub

»

In the world there are some very popular «»engine»» to create a personal website or online store. One of them was «Joomla», which offers broad functionality at registration, filling the site. Any online business requires the most dense connection with the user of the resource, its hold, and this should help in the form Joomla feedback.

CALLBACKHUB.COM — форма обратной связи joomla .

feedback module joomla 3, 2.5

Sites on this «»engine»» support a huge number of add-ons, which are designed to improve, enhance site functionality. Some of them allegedly distributed for free, but as a rule, have trimmed function and in the end still have to buy the full version of the plugin. So, get ready for the fact that the feedback module joomla 3, 2.5 will cost a certain amount.

Callback joomla

You can find that plugins joomla feedback form and joomla callback offered separately, but in fact they are one and the same. The difference is that the shape, usually includes more items in the preparation:• First Name Last Name;• contact phone number;• e-mail;• body of the message with a question or request.Button also «»call me back»» often consists only of a field with the name of the client and stitching for his phone number. That’s all there is to the company to make a return call to the visitor and to answer his question. But is this enough to the store owner, if there is an option to get more information and data to your subscriber base?

Joomla feedback

Any plug-in that acts as a feedback joomla 2.5 should work quickly. Not every client will wait for an hour or two until he was called back, soon he will find another store and make a purchase there, if the seller will be online. Therefore, addition must have a good level of communication and speed of work, especially if it is paid.

Call back joomla

In many cases, the site owners to «»Joomla»» faced with the installation of plug-ins. Some of them require correction code, add some tags and shortcodes, not every owner has the knowledge in the field of programming. In this case suitable solution from «CALLBACKHUB». This plugin is easily installed on the «»engine»», easily customizable to fit your needs and has a number of additional features that can increase conversion from the site several times.

Joomla order call

The visitor must find the key without any problem, «»call me back»» or «»call to order»». To do this, you need to be able to configure it to share design. Plugin from «CALLBACKHUB» offers flexible configuration icon. After filling out the fields to your mobile phone for several seconds will text message to the customer’s name and contact phone number to which you want to call back.

module feedback form joomla 3

Offer from «CALLBAKHUB» is not just a form of feedback — is a versatile tool that will help you create your customer base. It will allow you to keep track of where you come the client from which it is the region with which the platform has been set, define and calculate the associated ip profile VK.

callback module for joomla 3, 2.5, 1.5

Ordering key services «»call me back»» very compact, but it is noticeable. It is easy to configure, is adaptive and is displayed correctly both on desktops and on mobile devices. If it interferes with a person, then he can just drag the mouse button elsewhere. To order call back only need to enter your name and telephone number.»

callbackhub.com

Модуль заказа обратного звонка для Joomla

Эта статья поможет вам установить модуль заказа обратного звонка Joomly Callback. В ней будут подробно рассмотрены процесс установки, настройки и добавления модуля на страницы вашего сайта.

форма заказа обратного звонка

Откройте в панели администратора раздел «Расширения -> Менеджер расширений» («Extensions -> Extensions manager») на вкладке «Загрузить файлы пакета». Выберите архив  «callback.zip» и установите его. Скачать модуль заказа звонка вы можете по этой ссылке.

установка модуля заказа звонка

Откройте раздел «Расширения -> Менеджер модулей» («Extensions -> Module manager») и найдите в списке модуль под названием Joomly Callback, откройте его.

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

настройки обратного звонка

Во втором блоке вы можете задать цветовое решение, настроить задать для отображения капчу и поле «Имя». Так же вы можете выбрать элемент, которым будет вызываться форма. Вариант «никакой» предусмотрен для случаев, когда форма вызывается по клику на ваш собственный элемент, подробнее об этом читайте здесь. Вариант «Кнопка» предполагает вызов по обычной кнопке. При выборе «Прилипающей кнопки», кнопка вызова будет закреплена в нижней части экрана, где будут отображаться в том числе при скроллинге.

Чтобы подключить капчу, вам будет необходимо зарегистрировать свой сайт на платформе Google по следующей ссылке. Это абсолютно бесплатно, после регистрации вы получите 2 кода, которые необходимо будет указать в настройках модуля.

Настройка внешнего вида модуля обратного звонка

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

Настройка текстов для модуля обратного звонка

Последняя группа настроек предназначена для тех, кто помимо email хочет получать sms с заказами звонков. Чтобы воспользоваться этой функцией вам будет необходимо зарегистрироваться по адресу joomly.sms.ru и вставить свой номер телефона и API id, который вы найдете в профиле после регистрации в соответствующие поля настроек. Замечу что услуга отправки смс платная, на момент написания статьи пользователю предоставлялось 5 бесплатных смс в день, каждое следующее стоило 80 копеек. Все тарифы определяются поставщиком услуги — sms.ru.

sms

 

Также, в настройках есть раздел «Аналитика». На этой вкладке могут быть заданы цели для Google Analytics и Яндекс метрики.

Настройка google analytics и Яндекс метрика для модуля обратного звонка

Рассмотрим случай, когда вы хотите добавить вызов формы в материал, например на страницу обратной связи. Откройте нужную страницу в редакторе материалов и добавьте в место вызова следующий код: {loadmodule mod_joomly_callback} — эта конструкция загрузит форму с кнопкой.

добавление заказа звонка в материал

 

Если вы хотите, чтобы модуль вызывался не c конкретной страницы, а с нескольких или даже всех, то его нужно привязать к какой-нибудь позиции шаблона. Это делается на странице настроек:

задаем позицию

 

также на вкладке «Привязка к пунктам меню», необходимо задать страницы для отображения.

выбор страниц

Если вы хотите вызывать звонок «Прилипающей кнопкой», задайте модулю любую используемую в шаблоне позицию.

О том как вызывать форму по клику на пункту меню, читайте здесь.

Если же вы хотите вызывать модуль заказа звонка по клику на картинку, ссылку, текст и тп, то изучите этот материал.

Как добавить несколько форм на один сайт, читайте здесь.

joomly.ru

JCacheControllerCallback *Документация по Joomla 3.0.2

Вернуться к записям по теме Joomla.

Joomla.Platform\JCacheControllerCallback

libraries/joomla/cache/controller/callback.php at line 19 JCacheController└─JCacheControllerCallback

public class JCacheControllerCallbackextends JCacheController

Subpackage: Cache Since: 11.1 Fields inherited from Joomla.Platform\JCacheController
cache, options
Method Summary
mixed

call()

Executes a cacheable callback if not found in cache else returns cached output and resultSince arguments to this function are read with func_get_args you can pass any number of arguments to this method as long as the first argument passed is the callback definition.

mixed

get(mixed callback, array args, string id, boolean wrkarounds, array woptions, string group)

Executes a cacheable callback if not found in cache else returns cached output and result

protected string

_makeId(callback callback, array args)

Generate a callback cache id

Method Detail

libraries/joomla/cache/controller/callback.php at line 37

call

public mixed call()

Executes a cacheable callback if not found in cache else returns cached output and result

Since arguments to this function are read with func_get_args you can pass any number of arguments to this method as long as the first argument passed is the callback definition.

The callback definition can be in several forms:

- Static method name as a string eg. 'MyClass::myMethod' for method myMethod() of class MyClass

Returns: Result of the callback Since: 11.1 libraries/joomla/cache/controller/callback.php at line 59

get

public mixed get(mixed callback, array args, string id, boolean wrkarounds, array woptions, string group)

Executes a cacheable callback if not found in cache else returns cached output and result

Parameters: callback - Callback or string shorthand for a callback args - Callback arguments id - Cache id wrkarounds - True to use wrkarounds woptions - Workaround options Returns: Result of the callback Since: 11.1 libraries/joomla/cache/controller/callback.php at line 194

_makeId

protected string _makeId(callback callback, array args)

Generate a callback cache id

Parameters: callback - Callback to cache args - Arguments to the callback method to cache Returns: MD5 Hash : function cache id Since: 11.1 Вернуться к записям по теме Joomla.

ya.samposebe.ru

Форма обратной связи joomla – 📞CallbackHub

В мире существует несколько очень популярных «движков» для создания личного сайта или интернет-магазина. Одним из них стал «Joomla», который предлагает широкий функционал при оформлении, наполнении сайта. Любой бизнес в интернете требует максимально плотной связи с посетителем ресурса, его удержании, и помочь в этом должна форма обратной связи Joomla.

Модуль обратной связи joomla 3, 2.5

Сайты на этом «движке» поддерживают огромное количество дополнений, которые призваны усовершенствовать, улучшить функционал площадки. Некоторые из них распространяются якобы бесплатно, но, как правило, имеют урезанные функции и в итоге все равно приходится покупать полную версию плагина. Поэтому, приготовьтесь к тому, что модуль обратной связи joomla 3, 2.5 обойдется в некоторую сумму.

Обратный звонок joomla

Можно встретить, что плагины joomla форма обратной связи и joomla обратный звонок предлагаются отдельно, но по сути это одно и то же. Разница в том, что форма, как правило включает больше пунктов при составлении:• имя, фамилия;• контактный номер телефона;• e-mail;• тело сообщения с вопросом или просьбой.Кнопка же «перезвоните мне» чаще состоит только из поля с именем клиента и строчкой для его номера телефона. Это все, что нужно компании, чтобы совершить обратный звонок посетителю и ответить на его вопрос. Но достаточно ли этого владельцу магазина, если существует вариант получить гораздо больше информации и данных для вашей абонентской базы?

Joomla обратная связь

Любой плагин, который выступает, как обратная связь joomla 2.5 должен работать быстро. Не каждый клиент станет ждать час или два пока ему перезвонят, скорее он найдет другой магазин и совершит покупку там, если продавец будет онлайн. Поэтому дополнение должно иметь хороший уровень связи и скорость работы, особенно, если оно платное.

Call back joomla

Во многих случаях владельцы сайта на «Джумла» сталкиваются с проблемой установки плагинов. Некоторые из них требует исправления кода, какие-то добавления тегов и шорткоды, далеко не каждый владелец имеет знания в сфере программирования. В этом случае хорошо подходит решение от «CALLBACKHUB». Этот плагин с легкостью устанавливается на «движок», легко настраивается под ваши нужды и обладает целым рядом дополнительных функций, которые могут увеличить конверсию с сайта в несколько раз.

Joomla заказать звонок

Посетитель сайта должен без проблем находить кнопку «перезвоните мне» или «заказать звонок». Для этого нужно иметь возможность настроить его под дизайн ресурса. Плагин от «CALLBACKHUB» предоставляет возможность гибкой настройки значка. После заполнения полей к вам на мобильный телефон уже в течение нескольких секунд придет смс-сообщение с именем клиента и контактным номером телефона, на который нужно перезвонить.

Модуль форма обратной связи joomla 3

Предложение от «CALLBAKHUB» представляет собой не просто форму обратной связи – это универсальный инструмент, который поможет составить вам свою клиентскую базу. Он даст возможность вам отследить откуда к вам пришел клиент, из какого он региона, с какой платформы был заход, определит айпи и вычислить связанный профиль в VK.

Модуль обратный звонок для joomla 3, 2.5, 1.5

Кнопка для заказа услуги «перезвоните мне» очень компактная, но при этом заметная. Она легко настраивается, является адаптивной и корректно отображается как на обычных компьютерах, так и на мобильных устройствах. Если она мешает человеку, то он может просто мышкой перетянуть кнопку в другое место. Для заказа обратного звонка нужно лишь ввести свое имя и номер телефона.

callbackhub.com

Joomly блог | Модули для Joomla

иконка слайдера

В этом материале я расскажу как скачать и установить слайдер изображений для Joomla. 1. Установка слайдера для Joomla Скачать слайдер можно по этой ссылке. Далее откройте в панели администратора вкладку «Расширения -> Менеджер расширений»(«Extensions -> Extensions manager») на вкладке «Загрузить файлы пакета». Выберите архив  «joomly_slider.zip»

Июн 26, 2016by Joomly in Без рубрики Не сохраняет настройки модуля Joomla

Этот материал будет актуален для всех модулей Joomly. Если ваш модуль перестал реагировать на изменение настроек, например, вы меняете цвет кнопки в модуле Contactus, а он остается прежним или не добавляются новые маркеры на карту YandexMap, то скорее проблема в следующем. Вероятно вы удалили один из

Мар 23, 2016by Joomly in Ошибки ошибки сообщений об отправке Joomla

Этот материал поможет решить проблему неправильного отображения сообщений об отправке. Если всплывающие окна не показываются или отображаются через, в общем ведут себя каким-либо странным образом, то в подавляющем большинстве случаев проблема будет в способе кэширования, используемом на вашем сайте. Давайте подробнее рассмотрим возможные причины. 1.

Мар 23, 2016by Joomly in Ошибки скачанные файлы (1)

В этом материале будут детально описана установка, настройка и использование формы обратной связи Joomly Contactus.   1. Установка формы обратной связи Откройте в панели администратора раздел «Расширения -> Менеджер расширений» («Extensions -> Extensions manager») на вкладке «Загрузить файлы пакета». Выберите архив  «contactus.zip» и установите его. Скачать форму

Ноя 15, 2015by Joomly in Инструкции tel-icon

Эта статья поможет вам установить модуль заказа обратного звонка Joomly Callback. В ней будут подробно рассмотрены процесс установки, настройки и добавления модуля на страницы вашего сайта. 1. Установка модуля обратного звонка Откройте в панели администратора раздел «Расширения -> Менеджер расширений» («Extensions -> Extensions manager») на

Ноя 15, 2015by Joomly in Инструкции html icon

В этой статье я расскажу как вызвать всплывающую форму обратной связи или модуль заказа обратного звонка по клику на каком-нибудь элементе сайта (ссылке, картинке, тексте и тп). Для этого необходимо подключить модуль к страницу и присвоить выбранному элементу класс. 1. Подключение модуля к странице Откроем

Ноя 15, 2015by Joomly in Без рубрики english language Joomla

Если поля формы Contactus или модуля заказа звонка Callback отображаются на английском, значит в настройках Joomla у вас выбран английский язык для сайта. Обратите внимание, язык для сайта и панели администратора задаются отдельно. Поставить русский язык для сайта можно следующим образом: 1. Откройте панель администратора своего

Ноя 15, 2015by Joomly in Ошибки скачанные файлы

Если при установке модуля, вы получили ошибку: JFolder::create: Не удалось создать каталог, Внимание! Не удалось переместить файл! То вероятны несколько вариантов: 1. У вас закончилось дисковое пространство. 2. Неправильно указан путь к папке с временными файлами либо ограничены права доступа к этой папке. Чтобы проверить

Ноя 15, 2015by Joomly in Ошибки message

Сообщения об отправке в модулях Joomly выводятся с помощью встроенных системных сообщений Joomla. Если они не отображаются на вашем сайте, значит скорее всего отключены в шаблоне. Чтобы добавить вывод сообщений в шаблон, откройте файл по адресу: «корень сайта/templates/название используемого шаблона/component.php» И добавьте туда после тэга <body> конструкцию

Ноя 15, 2015by Joomly in Ошибки css

Для модуля Callback CSS свойства хранятся в файле: «корень сайта/modules/mod_joomly_callback/css/callback_default.css» Для модуля Contactus: Обычная форма: «корень сайта/modules/mod_contactus/css/contactus_form.css» Всплывающая форма: «корень сайта/modules/mod_contactus/css/contactus_lightbox.css»    

Ноя 15, 2015by Joomly in Инструкции

joomly.ru

libraries/joomla/cache/controller/callback.php *Документация по Joomla 3.0.2

Вернуться к записям по теме Joomla. <?php /** * @package Joomla.Platform * @subpackage Cache * * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */   defined('JPATH_PLATFORM') or die;   /** * Joomla! Cache callback type object * * @package Joomla.Platform * @subpackage Cache * @since 11.1 */ class JCacheControllerCallback extends JCacheController { /** * Executes a cacheable callback if not found in cache else returns cached output and result * * Since arguments to this function are read with func_get_args you can pass any number of * arguments to this method * as long as the first argument passed is the callback definition. * * The callback definition can be in several forms: * - Standard PHP Callback array see <http://php.net/callback> [recommended] * - Function name as a string eg. 'foo' for function foo() * - Static method name as a string eg. 'MyClass::myMethod' for method myMethod() of class MyClass * * @return mixed Result of the callback * * @since 11.1 */ public function call() { // Get callback and arguments $args = func_get_args(); $callback = array_shift($args);   return $this->get($callback, $args); }   /** * Executes a cacheable callback if not found in cache else returns cached output and result * * @param mixed $callback Callback or string shorthand for a callback * @param array $args Callback arguments * @param string $id Cache id * @param boolean $wrkarounds True to use wrkarounds * @param array $woptions Workaround options * * @return mixed Result of the callback * * @since 11.1 */ public function get($callback, $args = array(), $id = false, $wrkarounds = false, $woptions = array()) {   // Normalize callback if (is_array($callback)) { // We have a standard php callback array -- do nothing } elseif (strstr($callback, '::')) { // This is shorthand for a static method callback classname::methodname list ($class, $method) = explode('::', $callback); $callback = array(trim($class), trim($method)); } elseif (strstr($callback, '->')) { /* * This is a really not so smart way of doing this... we provide this for backward compatability but this * WILL! disappear in a future version. If you are using this syntax change your code to use the standard * PHP callback array syntax: <http://php.net/callback> * * We have to use some silly global notation to pull it off and this is very unreliable */ list ($object_123456789, $method) = explode('->', $callback); global $$object_123456789; $callback = array($$object_123456789, $method); } else { // We have just a standard function -- do nothing }   if (!$id) { // Generate an ID $id = $this->_makeId($callback, $args); }   $data = $this->cache->get($id);   $locktest = new stdClass; $locktest->locked = null; $locktest->locklooped = null;   if ($data === false) { $locktest = $this->cache->lock($id); if ($locktest->locked == true && $locktest->locklooped == true) { $data = $this->cache->get($id); } }   $coptions = array();   if ($data !== false) {   $cached = unserialize(trim($data)); $coptions['mergehead'] = isset($woptions['mergehead']) ? $woptions['mergehead'] : 0; $output = ($wrkarounds == false) ? $cached['output'] : JCache::getWorkarounds($cached['output'], $coptions); $result = $cached['result']; if ($locktest->locked == true) { $this->cache->unlock($id); }   } else {   if (!is_array($args)) { $Args = !empty($args) ? array(&$args) : array(); } else { $Args = &$args; }   if ($locktest->locked == false) { $locktest = $this->cache->lock($id); }   if (isset($woptions['modulemode']) && $woptions['modulemode'] == 1) { $document = JFactory::getDocument(); $coptions['modulemode'] = 1; $coptions['headerbefore'] = $document->getHeadData(); } else { $coptions['modulemode'] = 0; }   ob_start(); ob_implicit_flush(false);   $result = call_user_func_array($callback, $Args); $output = ob_get_contents();   ob_end_clean();   $cached = array();   $coptions['nopathway'] = isset($woptions['nopathway']) ? $woptions['nopathway'] : 1; $coptions['nohead'] = isset($woptions['nohead']) ? $woptions['nohead'] : 1; $coptions['nomodules'] = isset($woptions['nomodules']) ? $woptions['nomodules'] : 1;   $cached['output'] = ($wrkarounds == false) ? $output : JCache::setWorkarounds($output, $coptions); $cached['result'] = $result;   // Store the cache data $this->cache->store(serialize($cached), $id); if ($locktest->locked == true) { $this->cache->unlock($id); } }   echo $output; return $result; }   /** * Generate a callback cache id * * @param callback $callback Callback to cache * @param array $args Arguments to the callback method to cache * * @return string MD5 Hash : function cache id * * @since 11.1 */ protected function _makeId($callback, $args) { if (is_array($callback) && is_object($callback[0])) { $vars = get_object_vars($callback[0]); $vars[] = strtolower(get_class($callback[0])); $callback[0] = $vars; }   return md5(serialize(array($callback, $args))); } }   Вернуться к записям по теме Joomla.

ya.samposebe.ru

libraries/joomla/cache/controller/callback.php (Документация по Joomla 1.7)

Вернуться к записям по теме Joomla. <?php /** * @package Joomla.Platform * @subpackage Cache * * @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */   defined('JPATH_PLATFORM') or die;   jimport('joomla.cache.controller');   /** * Joomla! Cache callback type object * * @package Joomla.Platform * @subpackage Cache * @since 11.1 */ class JCacheControllerCallback extends JCacheController { /** * Executes a cacheable callback if not found in cache else returns cached output and result * * Since arguments to this function are read with func_get_args you can pass any number of * arguments to this method * as long as the first argument passed is the callback definition. * * The callback definition can be in several forms: * - Standard PHP Callback array see <http://php.net/callback> [recommended] * - Function name as a string eg. 'foo' for function foo() * - Static method name as a string eg. 'MyClass::myMethod' for method myMethod() of class MyClass * * @return mixed Result of the callback * * @since 11.1 */ public function call() { // Get callback and arguments $args = func_get_args(); $callback = array_shift($args);   return $this->get($callback, $args); }   /** * Executes a cacheable callback if not found in cache else returns cached output and result * * @param mixed Callback or string shorthand for a callback * @param array Callback arguments * @param string Cache id * @param boolean True to perform workarounds on data * @param array Workaround options * * @return mixed Result of the callback * * @since 11.1 */ public function get($callback, $args=array(), $id=false, $wrkarounds=false, $woptions=array()) {   // Normalize callback if (is_array($callback)) { // We have a standard php callback array -- do nothing } elseif (strstr($callback, '::')) { // This is shorthand for a static method callback classname::methodname list($class, $method) = explode('::', $callback); $callback = array(trim($class), trim($method)); } elseif (strstr($callback, '->')) { /* * This is a really not so smart way of doing this... we provide this for backward compatability but this * WILL! disappear in a future version. If you are using this syntax change your code to use the standard * PHP callback array syntax: <http://php.net/callback> * * We have to use some silly global notation to pull it off and this is very unreliable */ list($object_123456789, $method) = explode('->', $callback); global $$object_123456789; $callback = array($$object_123456789, $method); } else { // We have just a standard function -- do nothing }   if (!$id) { // Generate an ID $id = $this->_makeId($callback, $args); }   $data = false; $data = $this->cache->get($id);   $locktest = new stdClass; $locktest->locked = null; $locktest->locklooped = null;   if ($data === false) { $locktest = $this->cache->lock($id); if ($locktest->locked == true && $locktest->locklooped == true) { $data = $this->cache->get($id); } }   $coptions= array();   if ($data !== false) {   $cached = unserialize(trim($data)); $coptions['mergehead'] = isset($woptions['mergehead']) ? $woptions['mergehead'] : 0; $output = ($wrkarounds == false) ? $cached['output'] : JCache::getWorkarounds($cached['output'], $coptions); $result = $cached['result']; if ($locktest->locked == true) $this->cache->unlock($id);   } else {   if (!is_array($args)) { $Args = !empty($args) ? array( &$args) : array(); } else { $Args = &$args; }   if ($locktest->locked == false) $locktest = $this->cache->lock($id); ob_start(); ob_implicit_flush(false);   $result = call_user_func_array($callback, $Args); $output = ob_get_contents();   ob_end_clean();   $cached = array();   $coptions['nopathway'] = isset($woptions['nopathway']) ? $woptions['nopathway'] : 1; $coptions['nohead'] = isset($woptions['nohead']) ? $woptions['nohead'] : 1; $coptions['nomodules'] = isset($woptions['nomodules']) ? $woptions['nomodules'] : 1; $coptions['modulemode'] = isset($woptions['modulemode']) ? $woptions['modulemode'] : 0;   $cached['output'] = ($wrkarounds == false) ? $output : JCache::setWorkarounds($output, $coptions); $cached['result'] = $result;   // Store the cache data $this->cache->store(serialize($cached), $id); if ($locktest->locked == true) $this->cache->unlock($id); }   echo $output; return $result; }   /** * Generate a callback cache id * * @param callback $callback Callback to cache * @param array $args Arguments to the callback method to cache * * @return string MD5 Hash : function cache id * * @since 11.1 */ protected function _makeId($callback, $args) { if (is_array($callback) && is_object($callback[0])) { $vars = get_object_vars($callback[0]); $vars[] = strtolower(get_class($callback[0])); $callback[0] = $vars; }   return md5(serialize(array($callback, $args))); } }   Вернуться к записям по теме Joomla.

ya.samposebe.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта