Изменения

Перейти к навигации Перейти к поиску
м
Admin2 переименовал страницу Шаблон:Галерея преподавателей кафедры в Шаблон:Преподаватели кафедры без оставления перенаправления
Строка 1: Строка 1: −
(function() {
+
== Преподаватели кафедры ==
   −
CommentToVk = function() {
+
{{#ask: [[Категория:Преподаватели по алфавиту]][[Кафедра::{{PAGENAME}}]]  
var instance = this;
+
| ?Фотография
 
+
| ?ФИО
var loginDiv = this.loginDiv = $('<div id="vkLoginStatus" style="float: right;"></div>');
+
| imageproperty=Фотография
var loginLabel = this.loginLabel = $('<h4>Пользователь не авторизован</h4>');
+
| captionproperty=ФИО
loginLabel.appendTo(loginDiv);
+
| redirects=?page name
 
+
| format=gallery
var btnLogin = $("<button>Login</button>");
+
}}
btnLogin.button();
  −
btnLogin.click(function() {
  −
instance.login();
  −
});
  −
loginDiv.append(btnLogin);
  −
 
  −
loginDiv.prependTo($("#bodyContent"));
  −
 
  −
if ($("#vk_api_transport").length == 0) {
  −
$(document.body).append($('<div id="vk_api_transport"></div>'));
  −
 
  −
window.vkAsyncInit = function() {
  −
VK.init({
  −
apiId : 2654830
  −
});
  −
};
  −
 
  −
setTimeout(function() {
  −
var el = document.createElement("script");
  −
el.type = "text/javascript";
  −
el.src = "//vk.com/js/api/openapi.js";
  −
el.async = true;
  −
document.getElementById("vk_api_transport").appendChild(el);
  −
}, 0);
  −
}
  −
 
  −
var publishDialog = this.publishDialog = $('<div id="commentsToVkDialog" title="Добавить комментарий в очередь"></div>')
  −
var publishForm = $('<form></form>')
  −
publishForm.appendTo(publishDialog);
  −
 
  −
var publishFormFieldset = $('<fieldset></fieldset>')
  −
publishFormFieldset.appendTo(publishForm);
  −
 
  −
var publishFormText = this.publishFormText = $('<textarea rows="10" cols="80"></textarea>')
  −
publishFormFieldset.append(publishFormText);
  −
publishFormFieldset.append('<br>');
  −
 
  −
var publishFormLink = this.publishFormLink = $('<input type="url"></input>')
  −
publishFormFieldset.append(publishFormLink);
  −
publishFormFieldset.append('<br>');
  −
 
  −
var publishFormTime = this.publishFormTime = $('<input type="datetime"></input>')
  −
publishFormFieldset.append(publishFormTime);
  −
publishFormFieldset.append('<br>');
  −
 
  −
publishDialog.dialog({
  −
autoOpen : false,
  −
height : 'auto',
  −
width : 'auto',
  −
modal : true,
  −
buttons : {
  −
Submit : function() {
  −
instance.publish();
  −
},
  −
Cancel : function() {
  −
publishDialog.dialog("close");
  −
}
  −
},
  −
});
  −
 
  −
$.datetimepicker.setLocale('ru');
  −
}
  −
 
  −
CommentToVk.prototype.login = function() {
  −
var instance = this;
  −
 
  −
VK.Auth.login(function(result) {
  −
if (result.status === 'connected') {
  −
var user = result.session.user;
  −
instance.loginLabel.text('Авторизован: ' + user.first_name
  −
+ ' ' + user.last_name);
  −
 
  −
instance.appendPublishButtons();
  −
}
  −
});
  −
}
  −
 
  −
CommentToVk.prototype.appendPublishButtons = function() {
  −
var instance = this;
  −
 
  −
$(".c-item").each(function(index, item) {
  −
var container = $(item).find(".c-container");
  −
 
  −
var btnPublish = $("<button>Publish</button>");
  −
btnPublish.button();
  −
btnPublish.click(function() {
  −
instance.dialogPublish($(item));
  −
});
  −
container.append($("<br>"));
  −
container.append(btnPublish);
  −
});
  −
}
  −
 
  −
CommentToVk.prototype.dialogPublish = function(cItem) {
  −
var container = $(cItem).find(".c-container");
  −
var comment = $(cItem).find(".c-comment");
  −
var link = $(container.find("a")[0]).attr('href');
  −
link = link.split('#')[0];
  −
var text = comment.text();
  −
 
  −
this.publishFormText.val(text);
  −
this.publishFormLink.val(link);
  −
this.publishDialog.dialog('open');
  −
 
  −
var lastDate;
  −
if (typeof localStorage['CommentsToVk_lastDate'] === 'undefined') {
  −
lastDate = new Date();
  −
} else {
  −
var lastDate = new Date(1 * localStorage['CommentsToVk_lastDate']);
  −
lastDate = new Date(Math.max(new Date().getTime(), lastDate
  −
.getTime()));
  −
}
  −
nextDate = new Date(
  −
(Math.floor(lastDate.getTime() / 1000.0 / 60 / 60) + 1) * 1000 * 60 * 60);
  −
 
  −
this.publishFormTime.datetimepicker({
  −
format : 'H:i:s d.m.Y',
  −
value : nextDate.toLocaleTimeString("ru-RU") + ' '
  −
+ nextDate.toLocaleDateString("ru-RU")
  −
});
  −
}
  −
 
  −
CommentToVk.prototype.publish = function() {
  −
var instance = this;
  −
var link = this.publishFormLink.val();
  −
var text = this.publishFormText.val();
  −
var date = this.publishFormTime.datetimepicker('getValue');
  −
var timestamp = Math.round(date.getTime() / 1000);
  −
 
  −
VK.Api.call('wall.post', {
  −
owner_id : -47630162,
  −
from_group : 1,
  −
message : text + '\n\n' + link,
  −
signed : 0,
  −
publish_date : Math.floor(date.getTime() / 1000),
  −
}, function(r) {
  −
console.log(r);
  −
if (r.response) {
  −
localStorage['CommentsToVk_lastDate'] = date.getTime();
  −
instance.publishDialog.dialog("close");
  −
return;
  −
}
  −
if (r.error) {
  −
alert(r.error.error_msg);
  −
}
  −
});
  −
}
  −
 
  −
if (wgArticleId == 5168) {
  −
new CommentToVk();
  −
}
  −
})();
 
Анонимный участник

Навигация