Бексайт: РИА 'О'Кей' реклама в МК и других газетах и журналах ИД "Московский Комсомолец"                        var numPressed,adm_session_key,adm_salt,sid,user,paginator_already_set,total_paginator_pages,paginator_helpers,paginator_control_shift,current_record_select,current_record_id,record_editing,currrent_paginator_page,new_record_val; $(function(){ // initialise plugin var example = $('#ok_menu').superfish({ //add options here if required }); $('.box-lid-menu').boxLid(); $('#user_date').datetimepicker( {language: 'ru',autoclose: true, todayBtn: true, format:'dd.mm.yyyy hh:ii'} ); $('#user_date_since').datetimepicker( {language: 'ru',autoclose: true, todayBtn: true, format:'dd.mm.yyyy hh:ii'} ); var GP=parseGetParams(); setted_auth_block(GP); request_department(); request_user_recordset(); }) function parseGetParams() { var $_GT = {}; var __GT = window.location.search.substring(1).split("&"); for(var i=0; i<__GT.length; i++) { var getVar = __GT[i].split("="); $_GT[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1]; } return $_GT; } function setted_auth_block( par ){ if (typeof(par)!='undefined') { $('div[data-sid]').attr('data-sid',par.sid); $('div[data-user]').attr('data-user',par.user); } if (($('div[data-sid]').attr('data-sid')!="") && ($('div[data-user]').attr('data-user')!="")) { sid=$('div[data-sid]').attr('data-sid'); user=$('div[data-user]').attr('data-user'); numPressed=2; onmouseover_authorization(); $('#login').val(user); $('#password').val('unknown'); $('.box-lid-menu').removeClass('hidden_cl'); $('#auth_im').css('display', 'none'); $('#auth_im1').css('display', 'inline-block'); $('#auth_im1').css({opacity: "1"}); } else { sid=undefined; user=undefined; } } function onchange_department(depart){ debugger; var val,val1,val2,i,val3; val1=$('.department_cl').find('div[data-department^="s"]'); $(val1).addClass('hidden_cl'); $('.hr-border-1').addClass('hidden_cl'); val2=$('div[data-manager-info="okey"]').children('div[data-department="'+depart+'"]') val2.each( function( index,el ) { val3=$(this).clone(); val1[index].after(val3[0]); val1[index].remove(); if (index>2) $('.hr-border-1').removeClass('hidden_cl'); }); } function encodedata(data) { var pairs=[]; var regexp=/%20/g; // Закодированный пробел for (var x2 in data) { var value=data[x2]; var pair=encodeURIComponent(value.n).replace(regexp,"+")+'='+encodeURIComponent(value.v).replace(regexp,"+"); pairs.push(pair); } return pairs.join("&"); } function xor_hash(first,second) { var indx1,indx2,i,sl1,sl2,iv1,iv2,rv; indx1=0,indx2=1;rv=''; for (i=0;i<64;i++){ sl1=first.slice(indx1,indx2); sl2=second.slice(indx1,indx2); iv1=parseInt(sl1, 16); iv2=parseInt(sl2, 16); rv=rv+(iv1^iv2).toString(16); indx1+=1;indx2+=1; } return rv; } function answer_close_session(data) { console.log('Получен ответ от сервера на запрос о завершении сессии'); // if (data[0].answer=='ok') { sid=$('div[data-sid]').attr('data-sid',""); user=$('div[data-user]').attr('data-user',""); sid=undefined; user=undefined; numPressed=0; $('#auth_im').css({opacity: "0.025"}); $('.auth_cl').children(':first-child').siblings().addClass('hidden_cl'); $('.box-lid-menu').addClass('hidden_cl'); $('#auth_im1').css('display', 'none'); $('#auth_im1').css({opacity: "0.025"}); $('#auth_im').css('display', 'inline-block'); $('#auth_im').css({opacity: "0.025"}); window.history.back(); } } function answer_validate_session(data){ console.log('Получен ответ от сервера на запрос о сессии'); // Далее рисуем данные в интерфейс var answ; data.forEach( function(val){ answ=val.sid; }); if (answ=='Bad authorization') { alert ('Неверная авторизация!'); console.log('Неверная авторизация!'); } else { sid=answ; user=$('#login').val(); $('div[data-sid]').attr('data-sid',sid); $('div[data-user]').attr('data-user',$('#login').val()); $('.box-lid-menu').removeClass('hidden_cl'); $('#auth_im').css('display', 'none'); $('#auth_im1').css('display', 'inline-block'); $('#auth_im1').css({opacity: "1"}); console.log('Авторизован для внесения изменений в сайт!'); console.log('Подтвержденный номер сессии: '+sid); } } function answer_get_salt(data){ var select_line_manager; var select_line_loader; console.log('Получен ответ от сервера на запрос о соли для сеанса редактирования'); // Далее рисуем данные в интерфейс data.forEach( function(val){ adm_salt=val.salt; console.log('Соль для сеанса редактирования:'+adm_salt); }); var xr= xor_hash(adm_salt,(CryptoJS.SHA256($('#password').val())).toString()); console.log('На подпись HMAC: '+xr); var session_id=CryptoJS.SHA256(xr).toString(); console.log('Вычисленный номер сессии: '+session_id); var d=[]; d[0]={n:'action', v:'validate_session'}; d[1]={n:'user',v:$('#login').val()}; d[2]={n:'salt',v:adm_salt}; d[3]={n:'sid',v:session_id}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_validate_session // Имя функции которое вызовется при ответе }); console.log('Отправлен запрос на проверку сессии'); } function request_salt(){ console.log('Запрашиваем соль для аутенфикации.'); var d=[]; d[0]={n:'action', v:'get_salt'}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_get_salt // Имя функции которое вызовется при ответе }); console.log('Отправлен запрос на получение соли для сеанса аутенфикации'); } function authorization_(type) { switch (type) { case 1: if(typeof numPressed == "undefined") numPressed=0; switch (numPressed) { case 2: { close_session(); numPressed=0; break; } case 1: { numPressed=2; request_salt(); send_authorization(); break; } case 0: { numPressed=1; break; } } /* } if (==2) { close_session(); numPressed=0; } if (numPressed==1) {numPressed=2; request_salt(); send_authorization();} // if (numPressed!=0) numPressed=1; // else numPressed+=1; if (numPressed==0) numPressed=1; break; */ case 2: onmouseover_authorization(); break; case 3: onmouseout_authorization(); break; } } function onmouseover_authorization(){ // $('#auth_im').css({opacity: "1"}); // $('.auth_cl').children().removeClass('hidden_cl'); } function onmouseout_authorization(){ if(typeof numPressed == "undefined") numPressed=0; // if (numPressed==0) // { $('#auth_im').css({opacity: "0.025"}); // $('.auth_cl').children(':first-child').siblings().addClass('hidden_cl'); // $('.box-lid-menu').addClass('hidden_cl'); // } //else $('.box-lid-menu').removeClass('hidden_cl'); } function send_authorization () { alert('Стандартная авторизация'); var single_hash_password=CryptoJS.SHA256($('#password').val()); console.log('Логин:'+$('#login').val()); console.log('Пароль:'+$('#password').val()); console.log('Хэш пароля:'+single_hash_password); } function close_session() { alert('Завершаем сессию'); var d=[]; d[0]={n:'action', v:'close_session'}; d[1]={n:'sid', v:sid}; d[2]={n:'user', v:user}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_close_session // Имя функции которое вызовется при ответе }); } function onclicking(el) { var url; var jel=$(el); var addr=jel.attr('href'); if ((typeof sid!='undefined') && (typeof user!='undefined')) url=addr+"?sid="+sid+"&user="+$('div[data-user]').attr('data-user'); else url=addr; alert ("Строка запроса: "+url); location.replace(url); return false; } // Часть ниже отвечает за интерфейс управления 'атомарными' элементами информации на сайте function shift_paginator_control(dir) { var pe,pa,fv,i,a,a1,a2,y; if ((typeof current_record_id=="undefined")|| (current_record_id==0)) { pe=$('.user_paginator'); pa=pe.children(); if (dir==2) { fv=paginator_control_shift+1; if (fv>(total_paginator_pages-2)) fv=paginator_control_shift; else paginator_control_shift+=1; } if (dir==1) { fv=paginator_control_shift-1; if (fv==0) fv=1 else paginator_control_shift-=1; } pa.each( function( index,el ) { a1=$(this); a2=a1.attr('data-paginator-range'); if ( typeof a2!="undefined" ) { if ((a2>=fv) && ((a2<(fv+3)))) a1.removeClass('hidden_cl'); else a1.addClass('hidden_cl'); } } ); } } function draw_paginator_control() { var i,y,out; $('.user_paginator').children().remove(); if (total_paginator_pages>3) { paginator_helpers=true; i=total_paginator_pages+2; } else { i=total_paginator_pages; paginator_helpers=false; } out=""; for (y=0;y3) && (paginator_helpers==true)) { out+='
'+(y+1)+'
'; continue; } if ((y<=3) && (paginator_helpers==true)) { out+='
'+(y+1)+'
'; continue; } if (paginator_helpers==false) out+='
'+(y+1)+'
'; } $('.user_paginator').append(out); paginator_control_shift=1; } function answer_user_recordset (data) { // alert('Ответ о новостях!'); var out,i,k,z; $('.user_list').children().remove(); out='
Идент.
'; out+='
ФИО сотрудника
'; out+='
Должность
'; out+='
Отдел
'; out+='
Описание
'; out+='
Картинка
'; out+='
'; k=z=1; for (i=0;i'; else out+='
'; out+='
'; out+=data[i].id; out+='
'; out+='
'; out+=data[i].fio; out+='
'; out+='
'; out+=data[i].post; out+='
'; out+='
'; out+=data[i].department; out+='
'; out+='
'; out+=data[i].description; out+='
'; out+='
'; //не найдено! out+='
'+data[i].picture+'
'; out+='не найдено!'; out+='
'; out+='
'; out+='
'; } // Конец for total_paginator_pages=z; draw_paginator_control(); $('.user_list').append(out); if (typeof currrent_paginator_page!='undefined' ) $('[data-paginator-range="'+currrent_paginator_page+'"]').click(); var OH=$('.box-lid-content').outerHeight(); OH=Math.max( document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight ); var addHeight=30; // var OW=document.body.scrollWidth; // var BLW=$('.box-lid-menu nav').outerWidth(); // var addHeight=Math.tan(0.5233); //30 град в радианы // addHeight=BLW*addHeight; // addHeight=Math.round(addHeight); // OH=OH+addHeight; $('.box-lid-content').outerHeight(OH+addHeight); } function answer_department (data) { var i,x; $('#user_department').children().remove();x=''; for (i=0;iОтдел 1 x+='' } $('#user_department').append(x); } function request_department () { // alert('Запрашиваем данные всех новостей!'); var d=[]; d[0]={n:'action', v:'request_department'}; d[1]={n:'sid', v:sid}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_department // Имя функции которое вызовется при ответе }); } function request_user_recordset () { // alert('Запрашиваем данные всех новостей!'); var d=[]; d[0]={n:'action', v:'request_all_user'}; d[1]={n:'sid', v:sid}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_user_recordset // Имя функции которое вызовется при ответе }); } //onmouseover="authorization_(2)" onmouseout="authorization_(3)" function user_recordset(n,action) { if (typeof current_record_select=="undefined") current_record_select=0; console.log('Курсор над записью'); var p; p=$(n); if (current_record_select==0) { if (action==1) p.children().css({'backgroundColor' : '#eee'}); if (action==2) p.children().css({'backgroundColor' : '#fff'}); } } function shift_paginator(el) { console.log('Нажатие на пажинатор'); if ((typeof current_record_id=="undefined")|| (current_record_id==0)) { var p; p=$(el); var v=p.attr('data-paginator-range'); currrent_paginator_page=v; // [name*=”value”] data-id var x=$('[data-id="'+v+'"]'); var y=$('[data-id]'); y.addClass('hidden_cl'); x.removeClass('hidden_cl'); } } function show_edit_interface() { $('.user_editor').removeClass('hidden_cl'); } function hide_edit_interface() { $('.user_editor').addClass('hidden_cl'); } function set_edit_interface_value(el) { var p,i,m; editing=1; p=$(el); $('#user_id').val(p.children('.user_id')[0].innerText); m=p.children('.user_fio')[0].innerText $('#user_FIO').val(m); m=p.children('.user_post')[0].innerText; $('#user_post').val(m); m=p.children('.user_description')[0].innerText; $('#user_description').val(m); m=p.children('.user_picture')[0].children[0].innerText; $('#user_picture').val(m); $('#user_picture_view').attr('src',m); m=p.children('.user_department')[0].innerText; $('#user_department').find('option[value="'+m+'"]').prop("selected", true);; // $("a[rel='nofollow self']") // $('#user_department').find('option:selected').attr('value') // m=p.children('.user_allow')[0].innerText; // if (m=='true') { // $('#news_allow').prop('defaultChecked','checked'); //$('#news_allow').attr("checked","checked"); // $('#user_allow').prop("checked", true); // $('#news_allow').val(true); // } // else { // $('#news_allow').removeProp('defaultChecked'); // $('#news_allow').removeProp('checked'); //$('#news_allow').removeAttr("checked"); // $('#user_allow').prop("checked", false); // $('#news_allow').val(false); //} } function set_current_record(el) { if (typeof current_record_select=="undefined") current_record_select=0; var p=$(el); if (current_record_select==0) // Зажигаем интерфейс редактирования { current_record_select+=1; show_edit_interface(); set_edit_interface_value(el); current_record_id=p.children('.user_id')[0].innerText; } else // Гасим интерфейс редактирования { if (typeof current_record_id=="undefined") current_record_id=0; var current_record_id1=p.children('.user_id')[0].innerText; if ((current_record_id1==current_record_id) && ( confirm("Выйти без сохранения данных?"))) { current_record_select=0;current_record_id=0; hide_edit_interface(); p.children().css({'backgroundColor' : '#fff'}); } } } function answer_edit_user() { console.log('Получили ответ на сохранение записи!'); editing=0; hide_edit_interface(); current_record_select=0;current_record_id=0; request_user_recordset (); // shift_paginator($('[data-paginator-range="'+currrent_paginator_page+'"]')); console.log('Теперь нажимаем нужную кнопку пажинатора'); } function commit_change(ob) { var d=[]; switch(ob) { case 1: // Сохранение данных о новости if (new_record_val) {d[0]={n:'action', v:'add_user'}; new_record_val=false; } else d[0]={n:'action', v:'edit_user'}; d[1]={n:'id',v:$('#user_id').val()}; d[2]={n:'fio',v:$('#user_FIO').val()}; d[3]={n:'description',v:$('#user_description').val()}; //d[4]={n:'department',v:1}; d[4]={n:'post',v:$('#user_post').val()}; d[5]={n:'picture',v:$('#user_picture').val()}; d[6]={n:'department',v:$('#user_department').find('option:selected').attr('value')}; //if ($('#user_allow').prop("checked")==true) // d[6]={n:'user_allow',v:1}; //else // d[6]={n:'user_allow',v:0}; d[7]={n:'sid', v:sid}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_edit_user // Имя функции которое вызовется при ответе }); } } function refresh_recordset(type) { switch(type) { case 1: // Обновление рекордсета currrent_paginator_page=1; request_user_recordset(); } return false; } function answer_delete_user() { console.log('Получили ответ на удаление записи!'); editing=0; hide_edit_interface(); current_record_select=0;current_record_id=0; request_user_recordset (); // shift_paginator($('[data-paginator-range="'+currrent_paginator_page+'"]')); console.log('Теперь нажимаем нужную кнопку пажинатора'); } function delete_record(record_id,type) { var d=[]; if (record_id==0) alert('Необходимо выбрать запись для удаления!'); else{ if (confirm("Вы уверены в удалении этой записи?")) switch(type) { case 1: // Удалить запись d[0]={n:'action', v:'delete_user'}; d[1]={n:'id',v:$('#user_id').val()}; d[2]={n:'sid', v:sid}; var urlD= encodedata(d); var currentUrl=window.location.origin+'/oda'; $.ajax({url: currentUrl, // Передаем запрос async: true, // Асинхронно type: 'POST', // Метод POST data: urlD, // Тело - параметры запроса success: answer_delete_user // Имя функции которое вызовется при ответе }); } } return false; } function clear_edit_fields(type) { var p,i,m; editing=1; // p=$(el); switch(type) { case 1: $('#user_id').val(""); $('#user_FIO').val(""); $('#user_post').val(""); $('#user_description').val(""); $('#user_picture').val(""); $('#user_picture_view').attr('src','images\\user\\not_found.png'); // $("a[rel='nofollow self']") // $('#user_department').find('option:selected').attr('value') // $('#user_allow').prop("checked", false); break; } } function new_record(type) { show_edit_interface(); clear_edit_fields(type); new_record_val=true; return false; }            Бэксайт (CMS)  Содержимое сайта Анонсы Новости Работники Страницы изданий и спецпроектов           РИА 'О'Кей: реклама в МК и других газетах и журналах ИД "Московский Комсомолец"   Редактирование пользователей      Логин:  Пароль:         Обновить набор данных  Новая запись  Удалить                              Идентификатор записи

  ФИО пользователя

 Должность пользователя

  Отдел 1 Отдел 2  Отдел пользователя

     Описание пользователя ( не более 64 знаков )

  Картинка(путь\имя файла):