Веб-интерфейс 2010

Форум для размещения материалов по реализации различных схем использования ПО, решению частых проблем и предупреждению частых ошибок
JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Веб-интерфейс 2010

Сообщение JAO »

Так как веб-интерфейс UTM 5.2.1-006 и 007 страдает отсутствием 2010 года в выпадающих списках выбора даты (там есть только 2000-2009), было придумано следующее решение данной проблемы.

Сначала создаем в каталоге html (корень документов веб-сервера) файл add_years.js следующего содержания:

Код: Выделить всё

var ua = navigator.userAgent.toLowerCase ();
var isOpera = (ua.indexOf ("opera") != -1);
var dt = new Date ();
var obj_s,num_s,obj_e,num_e,j,this_year;

this_year = dt.getFullYear ();
obj_s = document.getElementById ("start_year");
obj_e = document.getElementById ("end_year");
AddYears (obj_s);
AddYears (obj_e);
for &#40;j = 0;j < obj_s.options.length;j++&#41;
&#123; if &#40;obj_s.options&#91;j&#93;.value == this_year&#41;
  &#123; num_s = j;
  &#125;
&#125;
for &#40;j = 0;j < obj_e.options.length;j++&#41;
&#123; if &#40;obj_e.options&#91;j&#93;.value == this_year&#41;
  &#123; num_e = j;
  &#125;
&#125;
if &#40;isOpera&#41;
&#123; window.setTimeout &#40;"SelectYears &#40;&#41;",1&#41;;
&#125;
else
&#123; SelectYears &#40;&#41;;
&#125;

function AddYears &#40;obj&#41;
&#123; var j;

  if &#40;this_year > 2009&#41;
  &#123; for &#40;j = 2010;j <= this_year;j++&#41;
    &#123; obj.options&#91;obj.options.length&#93; = new Option &#40;j,j&#41;;
    &#125;
  &#125;
&#125;

function SelectYears &#40;&#41;
&#123; obj_s.selectedIndex = num_s;
  obj_e.selectedIndex = num_e;
&#125;
Этот скрипт добавляет в списки недостающие годы с 2010 по текущий включительно, и делает автоматический выбор текущего года. Проверен на браузерах Internet Explorer, Mozilla Firefox, Opera, Google Chrome и Konqueror.

Далее открываем файл basic.xslt, находим в нем name="s_year" (это будет SELECT), добавляем ему атрибут id="start_year", затем находим name="e_year" (это тоже SELECT) и здесь добавляем атрибут id="end_year". Потом находим в этом файле строку date_sel (она идет внутри тега xsl:template, это начало шаблона), затем листаем вниз, пока не увидим вот это:

Код: Выделить всё

</TABLE>
</TD>
</TR>
</xsl&#58;template>
И делаем, чтобы оно выглядело вот так:

Код: Выделить всё

</TABLE>
<SCRIPT language="JavaScript" type="text/javascript" src="&#123;$htpath&#125;/add_years.js"></SCRIPT>
</TD>
</TR>
</xsl&#58;template>
Или второй вариант - находим это

Код: Выделить всё

</BODY>
</HTML>
и делаем вот так

Код: Выделить всё

<SCRIPT language="JavaScript" type="text/javascript" src="&#123;$htpath&#125;/add_years.js"></SCRIPT>
</BODY>
</HTML>
Всё.

Belchik
Сообщения: 81
Зарегистрирован: Пн ноя 28, 2005 10:55

Сообщение Belchik »

Спасибо.
На проверил на 5.1-017. работает

Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

На 005 таки заработало, спасибо.

zorg3
Сообщения: 55
Зарегистрирован: Пн окт 13, 2008 15:01

Сообщение zorg3 »

Спасибо JAO! На 006 работает!

alexeyp5
Сообщения: 28
Зарегистрирован: Пт ноя 06, 2009 11:15

Сообщение alexeyp5 »

Спасибо.

Blackmore
Сообщения: 365
Зарегистрирован: Вс фев 06, 2005 09:24
Откуда: подмосковье

Сообщение Blackmore »

спасибо большое

stilet
Сообщения: 24
Зарегистрирован: Ср янв 13, 2010 04:18

Re: Веб-интерфейс 2010

Сообщение stilet »

JAO писал(а):Сначала создаем в каталоге html (корень документов веб-сервера)
Подскажи гле этот каталог найти, у ся не нахожу такого, мож /usr/local/www или в апаче ? Начинающий чайник :)

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

/usr/local/www на фре, /var/www/ на Fedora/ASPLinux, а вообще в httpd.conf надо посмотреть директиву DocumentRoot. UTM складывает веб-интерфейс в каталог /usr/local/apache. Его оттуда надо либо руками расселить по нужным каталогам, либо настроить апач, чтобы DocumentRoot был "/usr/local/apache/htdocs" и ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/".

sav
Сообщения: 4
Зарегистрирован: Вт янв 12, 2010 17:04

Сообщение sav »

В 5.1.10-017 не помогло (

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

basic.xslt в 5.1.10-017 мало чем отличается от того, что в 5.2.1-006. Должно все работать. Файл с яваскриптом должен лежать там же, где utm.css и utm.js.

stilet
Сообщения: 24
Зарегистрирован: Ср янв 13, 2010 04:18

Сообщение stilet »

JAO писал(а):/usr/local/www на фре, /var/www/ на Fedora/ASPLinux, а вообще в httpd.conf надо посмотреть директиву DocumentRoot. UTM складывает веб-интерфейс в каталог /usr/local/apache. Его оттуда надо либо руками расселить по нужным каталогам, либо настроить апач, чтобы DocumentRoot был "/usr/local/apache/htdocs" и ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/".
Уменя кароче UTM складывает веб-интерфейс в каталог /usr/local/www так как только тут при изменении XML файлов есть изменения в веб-интерфейс, а если изменяю файлы в каталоге /usr/local/apache то никакого изменения нету. Да и файлы utm.css и utm.js. к которым ты говориш надо поместить add_years.js тоже находитса в каталоге /usr/local/apache. Может в /usr/local/www создать новый каталог /htdocs и поместить туда utm.css utm.js add_years.js ?

Кста 1 вариант помог СПС! Но хотелось бы конеш 2 вариант автоматический.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Если DocumentRoot у апача показывает /usr/local/www/htdocs, тогда его надо создать и туда сложить utm.css, utm.js и add_years.js, а если он /usr/local/www, тогда туда их скопировать.

stilet
Сообщения: 24
Зарегистрирован: Ср янв 13, 2010 04:18

Сообщение stilet »

JAO писал(а):Если DocumentRoot у апача показывает /usr/local/www/htdocs, тогда его надо создать и туда сложить utm.css, utm.js и add_years.js, а если он /usr/local/www, тогда туда их скопировать.
Что-то я не могу найти DocumentRoot, какие строки рядом расположены, мож это оно:
DocumentRoot "/www/назв сайта/назв сайта/www"

Где имено находитса httpd.conf, может не там его нашол и мозги пудрю тебе и себе. (/usr/local/etc/apache)

Да и ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/" , а не как ты написал ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

/htdocs такого в httpd.conf нету :(

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

DocumentRoot, который в главной секции конфига апача (не в VirtualHost). И ScriptAlias из той же секции.

У вас фря или линукс? На фре он находится в /usr/local/etc/apache или apache2, на линуксе (Fedora/ASP) - в /etc/httpd/conf, а подключаемые части конфига - в каталоге /etc/httpd/conf.d

Если у вас несколько сайтов в конфиге, то лучше прописать личный кабинет в секции <VirtualHost>. Полистайте мануал апача, оно полезно.

stilet
Сообщения: 24
Зарегистрирован: Ср янв 13, 2010 04:18

Сообщение stilet »

JAO писал(а):Полистайте мануал апача, оно полезно.
Снова идиотский вопрос, где этот мануел найти ?

Система фря

Закрыто