gormarket

gormarket
Рейтинг
47
Регистрация
29.12.2010


//Доработанный скрипт обратного отсчета времени CountDown

var eventstr = "Вже у прокаті"; //Эта строка выводиться по окончанию отсчета
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

function CountDownNew(objCD){
var countdownid = document.getElementById(objCD.id);
yr=objCD.cdyear;
m=objCD.cdmonth;
d=objCD.cdday;

var today=new Date();
var todayy=today.getYear();
if (todayy < 1000)
todayy+=1900;
var todaym=today.getMonth();
var todayd=today.getDate();
var todayh=today.getHours();
var todaymin=today.getMinutes();
var todaysec=today.getSeconds();
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec;
futurestring=montharray[m-1]+" "+d+", "+yr
dd=Date.parse(futurestring)-Date.parse(todaystring);
dday=Math.floor(dd/(60*60*1000*24)*1);
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1){
countdownid.innerHTML=eventstr;
return
}
else {
var lastchar = ""+dsec; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var dsecstr = "секунд";
if (lastchar=="1") { dsecstr = "секунда"; }
if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dsecstr = "секунди"; }

lastchar = ""+dmin; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var dminstr = "хвилин";
if (lastchar=="1") { dminstr = "хвилина"; }
if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dminstr = "хвилини"; }

lastchar = ""+dhour; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var dhourstr = "години";
if (lastchar=="1") { dhourstr = "година"; }
if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { dhourstr = "години"; }

lastchar = ""+dday; lastchar = lastchar.substring(lastchar.length-1,lastchar.length);
var ddaystr = "днів";
if (lastchar=="1") { ddaystr = "день"; }
if ((lastchar=="2")||(lastchar=="3")||(lastchar=="4")) { ddaystr = "дня"; }

countdownid.innerHTML="<b>До прем'єри:</b> <br> "+dday+ " " +ddaystr+", "+dhour+" "+dhourstr+", "+dmin+" "+dminstr+" и "+dsec+" "+dsecstr;
}
setTimeout((function(e) {return function() {CountDownNew(e);}})(objCD), 1000) ;
}

CountDownNew({cdyear: 2010,cdmonth: 5,cdday: 5,id: 'idcd1'});//Дата отсчета и ID элемента в который выводится время
CountDownNew({cdyear: 2014,cdmonth: 7,cdday: 4,id: 'idcd2'});
CountDownNew({cdyear: 2012,cdmonth: 1,cdday: 1,id: 'idcd3'});
umka:
Да шо вы заладили с этим %{HTTP_HOST}
Надо просто слэш в начале ставить, чтоб путь не вклинивался.
Типа так:
RewriteRule ^d/1\.html$ /d/2.html [R=301,L]

Для того чтоб путь не вклинивался, есть универсальное решение

всего одна строка для всего .htaccess

RewriteBase /

(ну для некоторых случаев вместо / другое значение)

А вообще я считаю (это мое личное мнение) что две строки

RewriteEngine On

RewriteBase /

просто обязаны присутствовать среди первых строк .htaccess, если в нем есть RewriteRule

Тогда не нужно начинать строку подстановки с /

siv1987:
gormarket, все таки %{HTTP_HOST}?

Единстрвенный случай, когда при использовании

RewriteBase /

нужен %{HTTP_HOST} в строке подстановки, это когда редирект (именно редиркет внешний, а не реврайт) идет на каталог, в котором находится данный .htaccess (без указания имени файла или подкаталога)

Тогда в строке подстановки по идее ничего не нужно ставить (система сама добавит протокол+домен+RewriteBase), но оставлять строку подстновки пустой не позволяет синтаксис RewriteRule и придется в этом случае вставлять в строку подстановки полный путь "http://%{HTTP_HOST}/" (для корневого каталога сайта)


RewriteCond %{QUERY_STRING} ^id=123$
RewriteRule ^d/1\.html$ d/2.html [R=301,L]

Если вставить только вторую строку, то будет редирект при любой строке запроса, а не только "id=123"

juniorspecialistphp,

примените команду

imagecolortransparent($image, $bg);

в любом месте кода (после того как инициализированы $image и $bg)

но, до строки

imagetruecolortopalette($image, true, 255);

Похоже Ваша проблема в том, что Вы используете на одной странице HTML-элементы с одинаковым id, что недопустимо.

У Вас несколько форм с id="myForm" и в каждой есть элемент с id="output".

Замените для myForm и output id на class

jQuery('.pane #myForm').submit(function() {

на

jQuery('.pane .myForm').submit(function() {

jQuery('#output').attr('value', responseText);

на

jQuery(this).find('.output').attr('value', responseText);

Не знаю, сработает ли последняя строка ( будет ли в данном контексте this ссылкой на форму ), но если не сработает, то можно вместо нее попробовать такую строку

jQuery(objForm).find('.output').attr('value', responseText);

но тогда объявить в начале переменную

var objForm;

jQuery(document).ready(function(){

....

и в

jQuery('.pane .myForm').submit(function() {

добавить строку

objForm=this;

Infinity7, попробуйте так:


RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^papers.php$ papers/? [L,R=301]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^papers/?$ papers.php [QSA,L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^papers/([0-9]+)/?$ papers.php?id=$1 [QSA,L]

строки

RewriteCond %{ENV:REDIRECT_STATUS} ^$

нужны чтобы не происходило зацикливание (чтоб следующее правило не применялось, если преобразование уже сделано на последнем проходе по .htaccess)

Первые 2 строки не нужны, если выше в .htaccess они уже есть

Вторые 2 строки делают 301 редирект при обращении к papers.php на papers/ , с удалением строки запроса: именно так я понял пункт 1) в топике

Третья и четвертая пары строк делают реврайт на papers.php (без id третья и с id четвертая) при запросе "papers" и "papers/любое_число" с возможным завершающим слешем. При таких обращениях строка запроса добавляется к новому адресу.

'[umka:
;8877970']Ведь можно просто написать "/" и сэкономить ~0.0001% вычислительных ресурсов

Наверно все-таки не "/" а "/?" , но в принципе думаю Вы правы, подстановку в этом случае аппчу все равно придется делать, а вот размер .htaccess будет меньше на ~0.00001%.

:)

Так что в свое оправдание могу привести только следующее:

1. как спросили так и ответил (в топике было "http://...", я так и сделал, только универсальнее.)

2. с "http://%{HTTP_HOST}" (как мне кажется) более наглядно, что это редирект, а не реврайт (что может быть сомнительно с учетом наличия еще и "R=301")

3. под руку в нужный момент попался кусок кода с "http://%{HTTP_HOST}" (скопировал, вставил, подправил под текущие нужды)

Я же не знал, что у Вас есть в .htaccess еще реврайты на index.php.

Поставьте перед новым правилом условие, чтобы оно не примерялось к адресам, к которым уже применен реврайт, чтобы стало так:


RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php$ http://%{HTTP_HOST}/? [R=301,L]
Angelys:
надо перенести test.ru/index.php?тут_все_что_было_после_знака_вопроса

на test.ru

Тогда, чтобы сделать редирект, убрав из адреса index.php и строку запроса (все что после ?) сделайте так:


RewriteRule ^index\.php$ http://%{HTTP_HOST}/? [R=301,L]

по этому правилу например

test.ru/index.php?тут_что_угодно

переадресуется на

test.ru/

Angelys, редирект

test.ru/index.php?тут_что_угодно

на

test.ru/?тут_все_что_было_после_знака_вопроса

делается проще:


RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,QSA,L]

Если хотите обработать тем же правилом и вложенные каталоги, а не только корневой, то можно так


RewriteRule ^(.*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,QSA,L]

по этому правилу например

test.ru/folder/index.php?тут_что_угодно

переадресуется на

test.ru/folder/?тут_все_что_было_после_знака_вопроса

Всего: 437