Посмотрите опытным глазом, почему не хочет работать, по идее скрипт должен поднимать объявления модуля доска объявлений
<script type="text/javascript"> timeDiff=Math.round(((new Date($YEAR$,parseInt('$MONTH$')-1,parseInt('$DAY$'),parseInt('<?substr($TIME$,0,2)?>'),parseInt('<?substr($TIME$,3)?>'))).getTime() - (new Date()).getTime())/1000)+30;
function currTime(){ var time=Math.round((new Date()).getTime()/1000); if(window.timeDiff) time+=window.timeDiff; return time;}
function n2(num){ return (num<10 ? '0' : '') + num;}
function up(id,lastModTS,addTS,oLink){ var dMod=new Date(); dMod.setTime(lastModTS*1000); var nextTS=lastModTS+7*24*60*60+50; var secLeft=nextTS - currTime();
if(secLeft > 0) { var minutes=secLeft/60; var hours=minutes/60; var days=hours/24; var nextD=new Date(); nextD.setTime(nextTS*1000); var nextDay=n2(nextD.getDate())+'.'+n2(nextD.getMonth()+1)+'.'+nextD.getFullYear(); var nextTime=nextD.toTimeString().substr(0,5); var txt='Поднимать объявление можно не чаще чем раз в неделю.\n\n'+ 'Это объявление можно будет поднять через ' + (days >= 1 ? '' + Math.round(days) + (days < 1.5 ? ' день' : (days<4.5 ? ' дня' : ' дней')) + ', ' + nextDay + ',': (hours > 0.8 ? '' + Math.round(hours) + ' час.,' : '' + (Math.round(minutes)+1) + ' мин.,')) + ' после ' + nextTime ; alert( txt ); return;}
Добавлено (18.12.2011, 16:16) --------------------------------------------- Вобщем сам скрипт допилил, вот работоспособная версия
внутри <?if($MODER_PANEL$)?> ) ставим код кнопки
<a href="javascript://" onclick="up($ID$,$LASTMOD$,$TIMESTAMP$,this);" title="Поднять в начало списка"><img src="http://s21.ucoz.net/img/fr/bt/39/p_up.gif" border=0 alt="Поднять"></a>
А на странице сам скрипт:
<script type="text/javascript"> timeDiff=Math.round(((new Date($YEAR$,parseInt('$MONTH$')-1,parseInt('$DAY$'),parseInt('<?substr($TIME$,0,2)?>'),parseInt('<?substr($TIME$,3)?>'))).getTime() - (new Date()).getTime())/1000)+30;
function currTime(){ var time=Math.round((new Date()).getTime()/1000); if(window.timeDiff) time+=window.timeDiff; return time;}
function n2(num){ return (num<10 ? '0' : '') + num;}
function up(id,lastModTS,addTS,oLink){ var dMod=new Date(); dMod.setTime(lastModTS*1000); var nextTS=lastModTS+7*24*60*60+50; var secLeft=nextTS - currTime();
if(secLeft > 0) { var minutes=secLeft/60; var hours=minutes/60; var days=hours/24; var nextD=new Date(); nextD.setTime(nextTS*1000); var nextDay=n2(nextD.getDate())+'.'+n2(nextD.getMonth()+1)+'.'+nextD.getFullYear(); var nextTime=nextD.toTimeString().substr(0,5); var txt='Поднимать объявление можно не чаще чем раз в неделю.\n\n'+ 'Это объявление можно будет поднять через ' + (days >= 1 ? '' + Math.round(days) + (days < 1.5 ? ' день' : (days<4.5 ? ' дня' : ' дней')) + ', ' + nextDay + ',': (hours > 0.8 ? '' + Math.round(hours) + ' час.,' : '' + (Math.round(minutes)+1) + ' мин.,')) + ' после ' + nextTime ; alert( txt ); return;}
var btnSrc; var oBtn; if(oLink){ oLink.onclick=''; oBtn=oLink.firstChild; btnSrc=oBtn.src; oBtn.src='/ajax-load.gif'; } $.get('/board/0-0-0-' + id + '-13', function(data){var form=$('#addEntForm', data); _uPostForm(form, {success: function(){if(oBtn) oBtn.scr=btnSrc; alert("Объявление поднято"); window.location.href='/board/0-0-$USER_ID$-0-17';}});}) } </script>
Но возникает следующая проблема, скрипт не поднимает объявление если поле "Размещено до" меньше текущей даты. Кто поможет допилить его чтобы при выполнении скрипта не только поднимало объявление, но и меняло поле "Размещен до" на текущую дату + 7 дней.
Сообщение отредактировал rekrutua - Пятница, 16.12.2011, 18:15
Но возникает следующая проблема, скрипт не поднимает объявление если поле "Размещено до" меньше текущей даты.
Логично ...
Quote (rekrutua)
Кто поможет допилить его чтобы при выполнении скрипта не только поднимало объявление, но и меняло поле "Размещен до" на текущую дату + 7 дней.
Я так понял, что «текущая дата + 7 дней» - это дата добавления, плюс семь дней? В таком случае, нужно изменять дату добавления, естественно, это должно быть разрешено в настройках. Изменяется это post запросом на страницу редактирования,. .... ща поищу, где-то были данные post-запросов ... ...