• Автор:

    Flesha
  • Добавлено:

    апр 21, 2014
  • Комментариев:

    1
  • Просмотров:

    1368

Хак Запись вводимых данных

Хак Запись вводимых данных

Запись вводимых данных при добавлении новостей для dle.

Когда, при добавление новости пишешь большую новость в текстовом виде, бывает такой форс-мажор и ты случайно закрываешь эту вкладку и все пропадает, приходиться писать все заново. Для этого придуман данный хак.

Небольшой хак который поможет вам сохранить введенные данные если при добавлении новости у вас вдруг отключат электричество или вы случайно закроете окно с формой добавления новостей в админ панели.

Установка:

Идем в engine/inc/addnews.php над строкой:
echo "<form method=post name=\"addnews\" id=\"addnews\" onsubmit=\"if(checkxf()=='fail') return false;\" action=\"$PHP_SELF\">";


Вставить:
echo '<script type="text/javascript">

$(document).ready(function() {

var olddatathisform = JSON.parse(localStorage.getItem(\'addnews_form\')); //получаем данные записи

if(olddatathisform){

$("#data_get,#data_del").show();

}

$(\'#data_del\').click(function() {

localStorage.removeItem(\'addnews_form\');

$("#data_get,#data_del").hide();

});

$(\'#data_get\').click(function() {

$.each(olddatathisform, function(i, val) {

document.addnews.elements[\'\'+val.name+\'\'].value = \'\'+val.value+\'\';

});

});



$(\'#data_recording\').click(function() {

setInterval(data_recording, 1000);

});

});

function data_recording(){

localStorage.removeItem(\'addnews_form\');

var info = $(\'#addnews\').serializeArray();

localStorage.setItem(\'addnews_form\',JSON.stringify(info));

$(\'#data_recording\').html("Идет запись...");

}

</script>';


После:
{$lang['addnews_news']}


Вставить:
<b><a href="javascript:void();" style="float:right;padding-right:10px;" id="data_recording">Начать запись</a></b>

<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_get">Получить данные</a>

<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_del">Удалить запись</a>



Если вы хотите что бы и пользователи могли использовать данный хак открываем файл addnews.tpl вашего шаблона вставить:
<script type="text/javascript">

$(document).ready(function() {

var olddatathisform = JSON.parse(localStorage.getItem('addnews_form')); //получаем данные записи

if(olddatathisform){

$("#data_get,#data_del").show();

}

$('#data_del').click(function() {

localStorage.removeItem('addnews_form');

$("#data_get,#data_del").hide();

});

$('#data_get').click(function() {

$.each(olddatathisform, function(i, val) {

document.entryform.elements[''+val.name+''].value = ''+val.value+'';

});

});



$('#data_recording').click(function() {

setInterval(data_recording, 1000);

});

});

function data_recording(){

localStorage.removeItem('addnews_form');

var info = $('#entryform').serializeArray();

localStorage.setItem('addnews_form',JSON.stringify(info));

$('#data_recording').html("Идет запись...");

}

</script>


<b><a href="javascript:void();" style="float:right;padding-right:10px;" id="data_recording">Начать запись</a></b>

<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_get">Получить данные</a>

<a href="javascript:void();" style="float:right;padding-right:10px;display:none;" id="data_del">Удалить запись</a>



entryform ID Вашей формы

Автор: rocksmart
Версия DLE:10.x
Вернуться

Комментарии:


  1. Alexzk → 30 июня 2014 17:58
    В первом файле нет таких строк... HELP
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.