Установка обратного звонка Callme [инструкция]

Список розділів Скрипти Callme — скрипт замовлення зворотнього дзвінка

Опис: Свіжа версія — 1.9.5 (2013-12-21)

Отправка формы в вебвизоре

#361 Subbota » 20.03.2015, 11:19

Привет, Назар! Благодарю за отличный скрипт! Вот что заметил, если в вебвизоре яндекса смотреть как заполняется форма, то форма срабатывает повторно, и приходит уведомление на мыло. Как можно поправить ситуацию!
Subbota
Репутація: 1
Повідомлення: 2
З нами: 3 роки 8 місяців

#362 Nazar Tokar » 20.03.2015, 21:11

Subbota, интересный вопрос. Думаю, яндекс заново повторяет всю процедуру отправки формы, поэтому фактически никак. Либо как-то выяснять user-agent от вебвизора, но это будет лишняя работа.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

#363 Subbota » 23.03.2015, 10:36

Назар Токарь, печально. Но есть выход! Не смотреть через вебвизор как заполняется форма)
Subbota
Репутація: 1
Повідомлення: 2
З нами: 3 роки 8 місяців

#364 Nazar Tokar » 23.03.2015, 12:58

Subbota, ну, да, это выход :)
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

#365 Dubell » 26.03.2015, 15:55

Спасибо за скрипт и подробную инструкцию. Есть один вопрос: при закрытии формы обратного звонка путем нажатия на крестик в верхнем правом углу, с любой страницы сайта перекидывает на главную. Сайт на umi.cms.И еще перестали работать фильтры на сайте. Можно ли это как то решить?
Dubell
Репутація: 0
Повідомлення: 1
З нами: 3 роки 8 місяців

#366 Nazar Tokar » 26.03.2015, 18:32

Dubell, вероятно, у вас файлы из разных версий. Удалите скрипт, поставьте заново и почистите кэш. Как браузерный, так и в CMS.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

#367 Denis.Holevinskiy » 29.03.2015, 10:01

Jons написав:КОД: ВЫДЕЛИТЬ ВСЁ
<form>
<label>Имя:*</label><br><input type="text" name="Имя" placeholder="">
<label>Email:*</label><br><input type="text" name="Email" placeholder="">
<label>Телефон:*</label><br><input type="text" name="Телефон" placeholder="">
<button type="button" class="cme-btn">Получить скидку в 100%</button>
<div class="callme-result"></div>
</form>

1. Как поле в форме сделать необязательным, а то пока все не заполню, не отправляет!
Я так понимаю это где-то на уровне скрипта, т.к. required нигде не прописано?!

2. И как сделать чтобы или подсвечивало поля красным или выводило всплывающее сообщение если поля незаполнены. Я просто не знаю как это сделать для кнопки типа type="button"? И в Инете ничего нашёл. Для <input type="submit" знаю как сделать, а вот для type="button" что-то никак!

__________________
Если решать вопрос с необязательными полями самым простым образом, то можно вставить value="&nbsp;" в input, появляется пробел, который позволяет форме отправить данные, с якобы заполненными всеми полями.

Насчет второго пункта актуально. Хотелось бы узнать
Denis.Holevinskiy
Вік: 48
Репутація: 0
Повідомлення: 1
З нами: 3 роки 8 місяців

#368 anpilov2007 » 08.04.2015, 08:47

А можно что то посоветовать что бы скрипт начинал работать по раньше при загрузке страницы
anpilov2007
Репутація: -1
Повідомлення: 3
З нами: 3 роки 9 місяців

#369 aldemko » 20.04.2015, 04:17

Доброго времени суток
Спасибо за скрипт и за подробную инструкцию.
Все работает без проблем.
Использую версию 2.2 (последнюю)
С отправкой сообщений на мейл
Как убрать лишние поля заполняемые пользователем .я разобрался.
Но хотелось бы что бы тема письма = номер телефона
Суть в том что я подключил отправку сообщений о уведомлении почты, и туда влазит буквально ТЕМА письма и еще пару букв. Если бы в теме письма указывался телефон - было бы чудесно
Подскажите что где и на что нужно исправить что бы этого добиться. Спасибо
aldemko
Аспирант
Репутація: 1
Повідомлення: 10
Теми: 6
З нами: 3 роки 7 місяців

#370 Артем » 09.05.2015, 13:41

Добрый день. poisk-sb.ru. Установлен call me 2.1. с лицензией. Отправка почты через smtp, сообщений через sms.ru. Письма/сообщения приходят сразу, но висит отправка! Jquery свежая. Чтение форума проблему не решило. send.php такой:

Код: Виділити все
[spoiler]<?php
// dedushka.org // nazartokar.com // qbx.me // [email protected]

//require("smtp.php");
header ("Content-Type: text/html; charset=utf-8"); //кодировка
$to = "хххххххххх"; //получатель уведомлений

// не трогать
$HTTP_HOST = parse_url ("http://".$_SERVER["HTTP_HOST"]);
$HTTP_HOST = str_replace (array ("http://","www."), "", $HTTP_HOST["host"]);
$from = "[email protected]".$HTTP_HOST; // отправитель. Если настраиваете smtp, не забудьте указать в $from вашу почту

// данные для отправки смс

$sms["id"] = "";
$sms["key"] = "ххххххххххххххххххххххххххххххх";
$sms["log"] = "";
$sms["pss"] = "";
$sms["frm"] = "хххххх"; // добавьте новую подпись в смс-шлюзе и дождитесь апрува
$sms["num"] = "7ххххххх"; // ваш номер в формате без + 7
$sms["prv"] = "sms.ru"; // на выбор: sms.ru, infosmska.ru, bytehand.com, sms-sending.ru, smsaero.ru

function uc ($s) {
   return urlencode($s);
}

function gf ($s) {
   $s = substr( (htmlspecialchars($_GET[$s])), 0, 500);
   if (strlen($s) > 1) return $s;
}

function sendSMS ($to, $msg) {
   global $sms;
   $u['sms.ru'] = "sms.ru/sms/send?api_id=".uc($sms["key"])."&to=".uc($sms["num"])."&text=".uc($msg);
   $u['bytehand.com'] = "bytehand.com:3800/send?id=".uc($sms["id"])."&key=".uc($sms["key"])."&to=".uc($sms["num"])."&partner=callme&from=".uc($sms["frm"])."&text=".uc($msg);
   $u['sms-sending.ru'] = "lcab.sms-sending.ru/lcabApi/sendSms.php?login=".uc($sms["log"])."&password=".uc($sms["pss"])."&txt=".uc($msg)."&to=".uc($sms["num"]);
   $u['infosmska.ru'] = "api.infosmska.ru/interfaces/SendMessages.ashx?login=".uc($sms['log'])."&pwd=".uc($sms["pss"])."&sender=SMS&phones=".uc($sms["num"])."&message=".uc($msg);
   $u['smsaero.ru'] = "gate.smsaero.ru/send/?user=".uc($sms["log"])."&password=".md5 (uc($sms["pss"]))."&to=".uc($sms["num"])."&text=".uc($msg)."&from=".uc($sms["frm"]);
   @$r = file_get_contents("http://".$u[$sms["prv"]]);   
}

function translit ($str) {
   $tr = array("А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"4","Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"","Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j","з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l","м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h","ц"=>"ts","ч"=>"4","ш"=>"sh","щ"=>"sch","ъ"=>"y","ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya");
   return $str;
}
// translit * ProgrammerZ.Ru

function addToMess ($c, $o) {
   global $mess;
   if (strlen ($o) > 2) {
      $mess = $mess.'<div style="margin:3px 0;background: #ffe1e0;border: 1px solid #cecece;padding:10px"><b>'.$c.':</b><br>'.$o.'</div>';
   }
}

function jsAnswer ($result, $cls, $time, $message) {
   echo '{"result": "'.$result.'","cls": "'.$cls.'","time": "'.$time.'","message": "'.$message.'"}';
   exit ();
}

function getOptions ($o) { // get callme options
   $cs = $_GET["cs"];
   $os = $_GET["os"];
   $i = 0;   
   $opts = " ";

   if ($o == 1) {
      $opts = '<div style="background: #fffce8;border:1px solid #cecece;padding:10px 10px 0">';

      foreach ($os as $value) {
         if((strlen($value) != 0) && ($value != "0")) {
            $opts .= "<b>".$cs[$i]."</b><br>".$value."<br><br>";
         }
         $i++;
      }
      $opts .= '</div>';
   } else {
      foreach ($os as $value) {
         if ((strlen($value) != 0) && ($value != "0")) {
            $opts .= $cs[$i]."(".$value.") ";
         }
         $i++;
      }      
   }
   return $opts;
}

$time = time (); // время отправки
$interval = $time - (gF("ctime"));
if ($interval < 1) { // интервал отправки (сек)
   jsAnswer ("error", "c_error", "", "Сообщение уже было отправлено.");
} else {
   //$get_data = gF('os');
   $get_data = $_GET["cs"];

   if (count ($get_data) > 1) { // data to send
      $os = $_GET["os"];
      $cs = $_GET["cs"];
      $ip = $_SERVER["REMOTE_ADDR"];

//get city
        $geo = $_SERVER['REMOTE_ADDR'];
      //$ip = $_SERVER["REMOTE_ADDR"];
      //@$geo = file_get_contents ("http://freegeoip.net/json/".$ip);
      //@$geo = json_decode ($geo, true);

      $title = "Poisk-sb.ru: обратный звонок";
      $title = "=?UTF-8?B?".base64_encode($title)."?=";
      $mess = "";

      $mess .= getOptions(1);

      //addToMess ("Откуда запрос", ($geo['city']." / ".$geo['country_name']." / ".$ip));

      $mess = $mess."";
      
      $headers = "Content-type: text/html; charset=utf-8 \r\n";
      $headers.= "Poisk-sb.ru <".$from.">\r\n";

      $sms["msg"] = translit((getOptions(0)));
      $sms["msg"] = substr($sms["msg"], 0, 320);

      if ($to != "[email protected]") {
         @mail($to, $title, $mess, $headers);
      }

      if ( ($sms["id"] != "") || ($sms["key"] != "") || ($sms["log"] != "") ) {
         @sendSMS($num, $sms["msg"]);
      }
      jsAnswer("success", "c_success", "", "Спасибо, сообщение отправлено");
   } else {
      jsAnswer("error", "c_error", "", "Ошибка");
   }
}
?>[/spoiler]
Артем
Репутація: 0
Повідомлення: 3
З нами: 3 роки 7 місяців

#371 Nazar Tokar » 09.05.2015, 14:34

Артем, в send.php вы вероятно поставили пробел в начале файла:

Код: Виділити все
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/poisk-sb/poisk-sb.ru/docs/callme/lib/send.php:1) in <b>/home/poisk-sb/poisk-sb.ru/docs/callme/lib/send.php</b> on line <b>5</b><br />
{"result": "success","cls": "c_success","time": "","message": "Спасибо, сообщение отправлено"}

Обновите у себя этот один файл и отредактируйте его ещё раз согласно инстркуции.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

#372 Артем » 09.05.2015, 15:07

Пробела не было, откуда </br> не ясно. Файл от версии 2.2. подошел (старая ссылка ведет на новый дистрибутив). Проблема исчезла. Спасибо за оперативный ответ.
Артем
Репутація: 0
Повідомлення: 3
З нами: 3 роки 7 місяців

#373 Оленька » 25.05.2015, 23:56

Назар, здравствуйте. А может был у вас опыт прикручивания скрипта к сайту на мегагруппе? Поставила, но такое ощущение что там php файлы не работают. Висит сообщение "Отправка запроса" и все. Пробовала проверить файлы: /lib/send.php и /callme/index.html они просто скачиваются и все.
Не получится наверно к мегагруппу прикрутить?
Оленька
Репутація: 0
Повідомлення: 2
З нами: 4 роки 10 місяців

#374 Nazar Tokar » 26.05.2015, 11:47

Оленька, не работал с ними. Почитайте в мануале, работает ли там php, или напрямую откройте send.php в брайзере и посмотрите, будет ли там видно код файла.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

Изменение/удаление кнопки

#375 Landgraf » 01.06.2015, 14:13

Попробовал удалить часть кода, отвечающую за вывод кнопки вызова формы в файле callme/lib/f.php, но никаких изменений не произошло.
Удалил файл совсем - то же самое. Он не используется в скрипте.
Как удалить выводимую по умолчанию кнопку?
Landgraf
Репутація: 0
Повідомлення: 6
З нами: 4 роки

#376 Nazar Tokar » 02.06.2015, 10:25

Landgraf, чем вы в таком случае предполагаете сабмитить форму?
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

#377 Lrad » 03.06.2015, 13:32

Добрый день,
Подскажите, пожалуйста, как сделать кнопку вызова формы не справа, а вверху посередине сайта.
Если я ставлю
Код: Виділити все
// показывать кнопку справа? (1 - да, 0 - нет)
   'showButton'       : '0',
то кнопка пропадает...
Спасибо

Додано через 1 годину 4 хвилини:
Сам разобрался, все получилось.

А к ссылке атрибут rel="nofollow" можно добавить?
Lrad
Репутація: 0
Повідомлення: 1
З нами: 3 роки 6 місяців

не устанавливается callme

#378 iamdimon » 03.07.2015, 00:09

сайт на simpla cms, установил call me в корень сайта, прописал в index.tpl
Код: Виділити все
 <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="/callme/js/callme.js"></script>
</head>

на сайте модуль обратного звонка так и не появился. Подскажите в чем проблема пожалуйста?
iamdimon
Репутація: 0
Повідомлення: 1
З нами: 3 роки 5 місяців

#379 gavlexx » 19.07.2015, 00:45

Назар, здравствуйте!
Поставил скрипт Callme на сайт. Прикручиваю скрипт к своей форме на странице. Данные отправляются только при нажатии на кнопку. При нажатии Enter страница перезагружается, ничего не отправляется.
Подскажите, как доработать свою форму, чтобы данные отправлялись не только по кнопке со специальным классом, но и при нажатии Enter при заполнении поля?
gavlexx
Репутація: 0
Повідомлення: 2
З нами: 3 роки 4 місяці

#380 Nazar Tokar » 19.07.2015, 20:56

gavlexx, сделайте нажате на кнопку при сабмите формы.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2518
Теми: 100
З нами: 5 років 8 місяців

Поперед.Наст.

Повернутись в Callme — скрипт замовлення зворотнього дзвінка

Хто зараз на форумі (базується на активності користувачів за останні 30 хвилин)

Зараз переглядають цей розділ: 8 гостей

cron