У меня имеется старый самопис движок (2009-11 года).
На странице кнопка, по нажатию которой открывается окно отправки сообщения
<a onclick='showBox("sendMsg", "mail.php", {act: "a_write_box", to: "{$page.user_dat.id}"}, true, true, {title: Sendmsg, progress: "sending_progress", width: 450}); return false;' href='/mail.php?act=write&to={$page.user_dat.id}'>Отправить {$page.user_dat.dname} сообщение</a>
Соответственно идет запрос в mail.php?act=a_write_box
case "a_write_box":
$users = get_user($_POST["to"]);
if(ch_pram($users["privacy_mail_send"], "1", $users["privacy_mail_sendl"], $tid, "2") == "1"){
$page["user"] = $users;
$page["hash"] = md5($users["id"]."send_msg_to".$uid."h78yt087gh8i");
$skin->assign("page", $page);
$rp = array("\n","\r");
$rt = array("\\n","\\n");
$rpj = array("\r\n","\r", '"');
$rtj = array("\\n","\\n", '\"');
$out["html"] = str_replace($rp, "", addslashes($skin->fetch("pagebody/mail/write_box.tpl")));
$out["script"] = str_replace($rpj, $rtj, $skin->fetch("pagebody/mail/js_write_to.tpl"));
}else{
$out["html"] = '<div class=\"msg\" style=\"margin: 0px 2px\">Вы не можете отправить сообщение данному пользователю, так как он ограничивает круг лиц, которые могут присылать ему сообщения.<\/div>';
$out["script"] = "null";
}
echo $json->encode($out);
break;
Должно открытся окошко с вводом темы и сообщения из шаблонов .tpl
Если напрямую перейти по mail.php?act=a_write_box - то грузит. В тех годах все работало. Сейчас нет. В Safari одна ошибка, в Хроме другая..
UPD
Дело вот в этой строчке $out["script"] = str_replace($rpj, $rtj, $skin->fetch("pagebody/mail/js_write_to.tpl"));
В этом tpl шаблоне код и из-за него не открывается..
{literal}
window.submitMessage = function() {
if (isVisible(ge('sending_progress'))) return;
if (trim(ge('write_box_text').value).length) {
hide('to_extended');
show('sending_progress');
var stop = function() {
hide('sending_progress');
}
Ajax.postWithCaptcha('mail.php', {act: 'sent', ajax: 1, chas: '{/literal}{$page.hash}{literal}', to_id: {/literal}{$page.user.id}{literal}, title: ge('write_box_subj').value, message: ge('write_box_text').value, from_box: 1}, {onSuccess: function(obj, text) {
//alert("tut");
winBoxes.sendMsg.content(text);
hide('sending_progress');
setTimeout("winBoxes.sendMsg.hide(400)", 2400);
winBoxes.sendMsg.removeButtons();
winBoxes.sendMsg.addButton({label: 'Закрыть', onClick: winBoxes.sendMsg.hide});
}, onFail: stop, onCaptchaShow: stop, onCaptchaHide: stop});
} else {
ge('write_box_text').focus();
}
}
winBoxes.sendMsg.removeButtons();
winBoxes.sendMsg.addButton({label: global_cancel, style: 'fl_r button_gray', onClick: winBoxes.sendMsg.hide});
winBoxes.sendMsg.addButton({label: 'Отправить', onClick: window.submitMessage});
if (intval('0')) {
window.to_extended = function() {
showBox('im', 'im.php', {act: 'a_box', sel: '{/literal}{$page.user.id}{literal}'}, false, true, {type: 'POPUP', width: 610, hideOnClick: false}, ['css/im.css?97', 'css/ui_controls.css', 'js/lib/ui_controls.js', 'js/sound.js?1']);
}
winBoxes.sendMsg.addControlsText('<span id="to_extended" style="color: #2B587A; cursor: pointer;" onmouseover="this.style.textDecoration=\\'underline\\'" onmouseout="this.style.textDecoration=\\'none\\'" onclick="to_extended()">Перейти в расширенный режим</a>');
}
window.writeFullPage = function() {
if (window.event && (window.event.which == 2 || window.event.button == 1)) {
return true;
}
hide('to_extended');
show('sending_progress');
ge('to_history_form').action = '/mail.php?act=write&to={/literal}{$page.user.id}{literal}';
ge('to_history_form').submit();
return false;
}
setTimeout("ge('write_box_text').focus();", 0);
{/literal}
Что делать?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Лучшими, можно считать географически центральные местаКак получить массив самых центральных мест?
Почему одинаковый код на разных языках работает по-разному? На Python работает корректно, на JS - нетЯ написал "аттакер" на линейно-конгруэнтный...
Вопрос такой - как правильно реализовать Service Worker на Angular 2/4? Меня именно интересуют уведомления, когда приложение не активно (вкладка не открыта),...