После создания новой записи (статьи, новости, файла или другого материала) появляется удобное окно, в котором можно выбрать — отправлять ли сообщение в чат. Скрипт автоматически формирует сообщение с названием материала и ссылкой на него, что позволяет быстро уведомить посетителей сайта о новых публикациях.
Возможности скрипта:
- Автоматическое добавление новых материалов в чат
- Формирование сообщения с названием и ссылкой на материал
- Возможность редактировать шаблон сообщения перед отправкой
- Кнопка быстрого перехода на страницу материала после публикации
- Удобное всплывающее окно без перезагрузки страницы
- Совместимость с системой добавления материалов uCoz
Скрипт отлично подойдет для сайтов, где важно быстро информировать пользователей о новых статьях, новостях, обновлениях файлов или других публикациях.
На страницу. Добавление редактирования материалы. Разместить данный код.
<script>addInfoToChat.init('Только что добавлен новый материал %TITLE%');</script>
Полный код для изучения.
_text: "",
_url: "",
showWindow: function () {
var button = _uButton(null, "button", {
ext: 1,
text: "Добавить в чат",
content: 'id="dwewetew65et5v"'
});
new _uWnd(
"addInfoToChat",
"Добавление данных",
360,
200,
{
autosize: 1,
resize: 1,
modal: 1,
notaskbar: 1,
fadetype: 2,
fadespeed: 200,
fadeclosetype: 1,
fadeclosespeed: 500,
align: "center"
},
'<div class="myWinLoadSD" style="margin-top:20px"></div>' +
'<div style="margin:20px 0">Материал успешно добавлен!</div>' +
'<input type="checkbox" id="ddasdawq" checked>' +
'<label for="ddasdawq">Написать в чат</label>' +
'<a href="javascript:void(0);" id="wsedrtgbhjnmk" style="opacity:.5;margin-left:10px;cursor:pointer">(шаблон)</a>' +
'<textarea style="width: 100%;min-height:50px;margin-top:20px;display:none" id="dwdqwdqwrf">' + this._text + '</textarea>' +
'<div style="margin:20px 0 10px">' + button + '</div>'
);
},
showAlert: function (type, content, name, timeout) {
var iconClass;
if (type) {
iconClass = (type == "load") ? "myWinLoadS" : "myWinLoadSD";
} else {
iconClass = "myWinLoadSF";
}
var defaultText;
if (content) {
defaultText = content;
} else if (type) {
defaultText = (type == "load")
? "Пожалуйста подождите..."
: '<span class="myWinSuccess">Успешно!</span>';
} else {
defaultText = '<span class="myWinError">Ошибка, попробуйте ещё раз!</span>';
}
_uWnd.alert(
'<div style="padding:10px"><div class="' + iconClass + '" style="float:left"></div>' + defaultText + '</div>',
"",
{
header: 0,
close: 1,
w: 280,
h: 90,
tm: timeout ? timeout : 20000,
align: "left",
name: "addInfoToChat_" + (name || "_" + Date.now())
}
);
return type ? 1 : 0;
},
success: function (response) {
var self = this;
var html = $(response).text();
var isSuccess = html.indexOf("myWinSuccess") !== -1 && /href="(.+?)"/.test(html);
if (isSuccess) {
_uWnd.close("addInfoToChat_ww");
self._url = html.match(/href="(.+?)"/i)[1];
this.showWindow();
} else if ($(response)[0]) {
self.showAlert(0, $(response).text(), "ww");
}
},
parse: function (template) {
var self = this;
var title = $('#addEntForm [name="title"]').val() || self._url || false;
var url = self._url || false;
if (!title || !url) {
console.error(title, url);
return self.showAlert(0);
}
return template
.replace("%TITLE%", title)
.replace("%URL%", url);
},
init: function (template) {
var self = this;
var doc = $(document);
self._text = template;
doc.on("click", "#wsedrtgbhjnmk", function () {
self.toggle("toggle");
});
doc.on("change", "#ddasdawq", function () {
if ($(this).attr("checked")) {
self.replace_button(false);
} else {
self.toggle("hide");
self.replace_button(true);
}
});
self.replace_button(false);
$("#addEntForm")
.removeAttr("onsubmit")
.submit(function (e) {
e.preventDefault();
if (window.CKEDITOR) {
CKEDITOR.instances.brief.updateElement();
CKEDITOR.instances.message.updateElement();
}
if (window.uCoz && window.uCoz.uwbb) {
$("[name=message], [name=brief]").sync();
}
_uPostForm("addEntForm", {
success: function (response) {
self.success(response);
}
});
self.showAlert("load", 0, "ww", 0);
});
},
replace_button: function (isDone) {
var self = this;
$(document)
.off("click", "#dwewetew65et5v")
.on("click", "#dwewetew65et5v", function () {
if (isDone) {
document.location.href = self._url;
} else {
self.showAlert("load", 0, "aq");
self.postChat(self.parse(self._text));
}
});
$("#dwewetew65et5v")
.find("a")
.html(isDone ? "Перейти на страницу материала" : "Добавить в чат");
},
postChat: function (message) {
var self = this;
if (!message) {
console.error(message);
return self.showAlert(0);
}
$.post("/mchat/", { mcmessage: message, a: 18, ajax: 1 }, function (response) {
var html = $(response).text();
if (html.indexOf("newEntryT") === -1) {
console.error(html);
return self.showAlert(0);
}
_uWnd.getbyname("addInfoToChat_aq").close();
$("#ddasdawq").before('<div style="margin:0 0 10px">Запись успешно добавлена в чат!</div>');
$("#wsedrtgbhjnmk, #dwdqwdqwrf, #ddasdawq, #ddasdawq + label")
.animate({ opacity: 0, height: 0 }, 300);
$("#dwdqwdqwrf + div").css("margin-top", 0);
self.replace_button(true);
_uWnd.getbyname("addInfoToChat").checksize();
});
},
toggle: function (state) {
state = state || "toggle";
$("#dwdqwdqwrf").animate({ height: state, opacity: state }, 150, function () {
_uWnd.getbyname("addInfoToChat").checksize();
});
}
};
addInfoToChat.init('Только что добавлен новый материал %TITLE% %URL%');

0 комментариев
Присоединиться к обсуждению
Поделитесь мнением об этом материале — комментарий появится в списке слева сразу после отправки.