Есть скрипт по тестам ПДД на CakePHP, нужно допилить немного (проблемы с шаблоном, не можем вкорячить его в сайт существующий), вторым этапом дождаться нашей проверки и поправить возможные баги связанные макетом. Оплата в 2 этапа. Крайне ...
Исправить работу скрипта формы обратной связи для firefox
В есть сайт http://skupkanoutbukov.ru/ на нем форма обратной связи ее видно прямо в первом экране, форма нормально отправляется с любых браузеров кроме firefox За отправку отвечает скрипт http://skupkanoutbukov.ru/callme/js/callme.js При отправке через любой браузер последовательно срабатывают два события (это видно по сообщениям при отправке формы под самой формой) строка 299 jQuery(".callform .result").html("Запрос отправлен"); и строка 334 jQuery(".callform .result").html("Ваше сообщение отправлено"); В файрфоксе не вижу чтобы срабатывало второе, думаю что копать надо в этом направлении. Если хотите протестировать рабору формы то напишие в комментарии что это тест и указывайте ненастоящий номер, чтобы вам не перезванивали. Предполагаю что проблема на уровне js, но на всякий случай код файла /callme/index.php header("Content-Type: text/html; charset=utf-8");
//адрес почты для отправки уведомления
$to = "[email protected]";
// не трогать
$HTTP_HOST = parse_url('http://'.$_SERVER["HTTP_HOST"]);
$HTTP_HOST = str_replace(array("http://","www."),"",$HTTP_HOST['host']);
$from = "noreply@".$HTTP_HOST; // отправитель. Если настраиваете smtp, не забудьте указать в $from вашу почту
// данные для отправки смс
$id = "";
$key = "";
$sms_login = "";
$sms_pass = "";
$frm = "callme"; // добавьте новую подпись в смс-шлюзе и дождитесь апрува
$num = ""; // ваш номер в формате без + (79218886622)
$prv = ""; // на выбор: sms.ru, infosmska.ru, bytehand.com, sms-sending.ru, smsaero.ru
function uc($s){
$s = urlencode($s);
return $s;
}
function gf($s){ // no shit
$s = substr((htmlspecialchars($_GET[$s])), 0 , 500);
if (strlen($s)>1) return $s;
}
function sendSMS($to, $msg){
global $id;
global $key;
global $from;
global $frm;
global $num;
global $prv;
global $sms_login;
global $sms_pass;
$u['sms.ru'] = "sms.ru/sms/send?api_id=".uc($key)."&to=".uc($num)."&text=".uc($msg);
$u['bytehand.com'] = "bytehand.com:3800/send?id=".uc($id)."&key=".uc($key)."&to=".uc($num)."&partner=callme&from=".uc($frm)."&text=".uc($msg);
$u['sms-sending.ru'] = "lcab.sms-sending.ru/lcabApi/sendSms.php?login=".uc($sms_login)."&password=".uc($sms_pass)."&txt=".uc($msg)."&to=".uc($num);
$u['infosmska.ru'] = "api.infosmska.ru/interfaces/SendMessages.ashx?login=".uc($sms_login)."&pwd=".uc($sms_pass)."&sender=SMS&phones=".uc($num)."&message=".uc($msg);
$u['smsaero.ru'] = "gate.smsaero.ru/send/?user=".uc($sms_login)."&password=".md5(uc($sms_pass))."&to=".uc($num)."&text=".uc($msg)."&from=".uc($frm);
$r = file_get_contents("http://".$u[$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","Ч"=>"CH","Ш"=>"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","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y","ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya");
return strtr($str,$tr);
}
// translit * ProgrammerZ.Ru
function addToMess($c, $o){
global $mess;
if(strlen($o)>2) {
$mess = $mess.' '.$c.':
'.$o.'
//$mess = $mess."".$c.":
".$o."
";
}
}
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;
if ($o == 1) {
$opts = '
';
foreach ($os as $value) {
if( (strlen($value) != 0) && ($value != "0") ) {
$opts .= "".$cs[$i].":
".$value."
";
}
$i++;
}
$opts .= '
';} else {
foreach ($os as $value) {
if( (strlen($value) != 0) && ($value != "0") ) {
$opts .= $cs[$i]."(".$value.") ";
}
$i++;
}
}
return $opts;
}
//jsAnswer("error", "c_error", "", gF('cs[0]'));
$time = time(); // время отправки
$interval = $time - (gF('ctime'));
if ($interval
jsAnswer("error", "c_error", "", "Сообщение уже было отправлено.");
} else {
//$get_data = gF('os');
$get_data = $_GET["cs"];
if (count($get_data) > 0){ // data to send
$os = $_GET["os"];
$cs = $_GET["cs"];
$ip = $_SERVER['REMOTE_ADDR'];
//get city
$ip = $_SERVER['REMOTE_ADDR'];
$geo = file_get_contents('http://freegeoip.net/json/'.$ip);
$geo = json_decode($geo, true);
$title = "CallMe: обратный звонок с сайта (СкупкаНоутбуков)";
$mess = "";
$mess .= getOptions(1);
addToMess("Откуда запрос",($geo['city']." / ".$geo['country_name']." / ".$ip));
$mess = $mess."
Заказ обратного звонка с сайта - СкупкаНоутбуков.
Спасибо за то, что пользуетесь CallMe.";
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers.= "From: CallMe 1.9.1 \r\n";
$msg_sms = translit("CallMe ".(getOptions(0)));
$msg_sms = substr($msg_sms, 0, 160);
@mail($to, $title, $mess, $headers);
if ( ($id!="") || ($key!="") || ($sms_login!="") ) {
@sendSMS($num, $msg_sms);
}
jsAnswer("success", "c_success", "", "Спасибо, сообщение отправлено");
echo "
";
} else {
jsAnswer("error", "c_error", "", "Ошибка");
}
}
?>
Выбранный исполнитель
Похожие заказы
- Веб-программирование1 заявкаЗакрыт8 лет назад
Есть готовый, уже работающий сайт на битриксе. Задача - сделать на нем отдельную страничку с заполняемой формой заказа, которая высылает указанную форму на email. Всего 14 полей, некоторые поля - ...
Веб-программирование3 заявкиЗакрыт8 лет назадНа главной странице при переходе по турам http://take.ms/J3DLo, имеется галерея http://take.ms/EU0gF, при просмотре картинок в галерее сбивается счетчик фото http://take.ms/I3JAY, сбивается когда мы подгружаем туры при нажатии на "показать еще" http://take.ms/J3DLo. Также не работает кнопка close. Счетчик слайдера работает ...
Веб-программирование2 заявкиЗакрыт8 лет назад- $45
Поправки в админке – добавить возможность банить пользователей. На сайте – некоторые правки в верстке, сделать возможность ограничения подачи объявлений по времени для каждого раздела. В мобильной версии – также правки в верстке. Правки в ...
Веб-программирование2 заявкиЗакрыт8 лет назад 1. Есть список клиентов которым можно присваивать статус на карточке клиента, добавить эту возможность (выбор статуса на панель комментирования) 2. На панели комментирования кроме время и даты выводить также год ...
Веб-программирование3 заявкиЗакрыт8 лет назадЕсть конкретный пример сайта по подбору шин и дисков, пришлю в личку, нужно сделать подобный. Интересует вся функциональная часть, фильтра поиска шин и дисков, корзина, онлайн-запись на монтаж, и возможно личный кабинет для клиента( пока ...
Веб-программирование9 заявокЗакрыт8 лет назадМы ищем fullstack программиста с навыками верстки. Полное описание дизайна docs.google.com/document/... Я бы делал на Django, но вы можете выбирать любую CMSку которая вам подойдет. Основной приоритет ...
Веб-программирование1 заявкаЗакрыт8 лет назадНеобходимо два "свободных" бесплатных скрипта, которые мы можем взять и установить себе: 1) Галерея такого плана, как тут - https://goo.gl/K7XstV (среднего размера картинка вверху, которую можно листать вправо-влево, и превьюшки внизу, на которые можно ...
Веб-программирование1 заявкаЗакрыт8 лет назадДоброго дня! Необходимы доработки по интернет-магазину на Joomla+JoomShopping: Joomla! 2.5.28 JoomShopping Version 3.20.2 На текущий момент: 1) Изменить юр лицо на новое для оплаты через Яндекс.Кассу на сайте ...
Веб-программирование3 заявкиЗакрыт8 лет назадЕсть сайт толегко.рф. Делался на шаблоне диафан. В шаблоне присутствует модуль интернет-магазина, он пока не подключен. Необходимо его подключить, туда будет добавлено около 10 наименований моторных масел. Всего 10 товаров, не больше. Название бренда, объем, ...
Веб-программирование1 исполнительЗакрыт8 лет назад