Автор Тема: Нужна помощь с Links 2  (Прочитано 16359 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Нужна помощь с Links 2
« Ответ #15 : 15 Марта 2002, 06:35:30 »
скрипт ищет только в нижнем регистре!наро-о-од!!!помогите!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Нужна помощь с Links 2
« Ответ #16 : 15 Марта 2002, 11:29:21 »
Цитировать
скрипт ищет только в нижнем регистре!

Links2? Ищи скрипт поиска и в регулярном выражениии убери буквочку "i".
The documentations is your friend

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Нужна помощь с Links 2
« Ответ #17 : 15 Марта 2002, 13:19:34 »
Цитировать
Links2? Ищи скрипт поиска и в регулярном выражениии убери буквочку "i".

эээ что-то ты не то предлагаешь. Буквочку i стоит оставить, т.к. она отвечает за регистронезависимость
Надо посмотреть в CHs FAQ и сделать так, как там рекомендуется (вписать в начало скрипта search.cgi):

Q: Как не учитывать регистр в русском тексте? С английским регекспы с ключом i работают, а с русским - нет.
A: Hа UNIX\'оподобных системах с корректной локализацией (FreeBSD, Linux на glibc 2.1) это делается так:
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, \'ru_RU.KOI8-R\');
 (можно еще выставить переменную окружения export LANG=ru_RU.KOI8-R тогда будет достаточно вызова use locale; в Perl-скрипте)
 Под Windows это делается так:
 use locale;
 use POSIX qw (locale_h);
setlocale(LC_CTYPE, "Russian_Russia.1251");
 в исканиях.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Нужна помощь с Links 2
« Ответ #18 : 15 Марта 2002, 13:26:35 »
Цитировать
эээ что-то ты не то предлагаешь.

угу. не проснулся %(
The documentations is your friend

  • Гость
Нужна помощь с Links 2
« Ответ #19 : 15 Марта 2002, 17:57:36 »
Если можно поподробнее ,будьте так любезны....

Где и что и как ?в скриптах я  чайник.

  • Гость
Нужна помощь с Links 2
« Ответ #20 : 15 Марта 2002, 18:12:17 »
Все заработал по описаному методу:

use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, \'ru_RU.KOI8-R\');

Большое СПАСИБО!!!

Скажите за одно как меню категорий на русском сделать?

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Нужна помощь с Links 2
« Ответ #21 : 15 Марта 2002, 18:58:11 »
Цитировать
Скажите за одно как меню категорий на русском сделать?

ты про drop-list?
 в исканиях.

  • Гость
Нужна помощь с Links 2
« Ответ #22 : 15 Марта 2002, 19:58:45 »
я про выбор категории,в которую пользователь при регистрации добавляет свою ссылку,и если можно еще чтоб они сами на русском создовались.(я иммею ввиду категории в меню на русском)....

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Нужна помощь с Links 2
« Ответ #23 : 16 Марта 2002, 02:54:08 »
Вот, небольшой мод от Green Kakadu :super: (обидно будет если уже такой в природе есть).

Берем файл db_utils.pl
Отыскиваем подпрограмму sub build_select_field (это примерно 203 строка)

и заменяем ее на такой вариант:

sub build_select_field {
# --------------------------------------------------------
# Builds a SELECT field based on information found
# in the database definition.
#
    my ($column, $value, $name, $mult) = @_;    
    my ($size, $gkflag, %values, %gkcat);
       
    $name || ($name = $column);
    $size || ($size = 1);  
   
    if (! exists $db_select_fields{$column}) {
        %gkcat= &GK_category_list;
        $db_select_fields{$db_cols[$db_category]} =  join (",", sort {$gkcat{$a} cmp $gkcat{$b}} keys %gkcat);
        $gkflag=1;
    }
    if ($mult) {
        @fields = split (/\\,/, $db_select_fields{"Mult-$column"});
        %values = map { $_ => 1 } split (/\\Q$db_delim\\E/, $value);
    }
    else {
        @fields = split (/\\,/, $db_select_fields{$column});
        $values{$value}++;
    }
    ($#fields >= 0) or return "error building select field: no select fields specified in config for field \'$column\'!";

    $output = qq|";
    return $output;
}


Ну а теперь надо добавить еще одну подпрограмму (можно ее под этой написать или в конец файла):


sub GK_category_list {
# --------------------------------------------------------
# Green Kakadu edit
# Returns a hash of all categories (and its nonenglish names) in the database.

    my (%categories, @fields);  

# Otherwise pull the list from the database.
    open (DB, "<$db_category_name") or &cgierr("unable to open $db_file_name. Reason: $!");
    if ($db_use_flock) { flock(DB, 1); }    
    LINE: while () {
        (/^#/)      and next LINE;
        (/^\\s*$/)   and next LINE;
        @fields = &split_decode ($_);
        $categories{$fields[$db_main_category]}=$fields[8];#см!
    }
    close DB;
     return %categories;
}


Внимание! Перед тем как что-то править, сохраните копию редактируемого файла - вдруг не получится, хотя у меня получилось :)
Чтоб был полный тип-топ, то в начале add.cgi включите

use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, \'ru_RU.KOI8-R\');

Я там добавил сортировку категорий в алфавитном порядке по русским названиям.

Еще: обратите внимание на строку в вышеприведенном коде sub GK_category_list, вот эту:
$categories{$fields[$db_main_category]}=$fields[8];# Green: 8 - Num of Nonenglish Field in category.def

суть такая, что $fields[8]; это поле с русским названием, у меня в category.def оно значилось как 8-е, у кого то это иначе (хотя автор мода впихнул это по умолчанию)

Вот. Эта модификация делает список русских категорий в выпадающем меню лишь при добавлении ссылки посетителями, т.е. в админстве - ничего не изменится, останется все как бло. Если и там хотите (а надо бы), то  похоже надо аналогично подкорректировать sub build_select_field_from_db из того же файла.
« Последнее редактирование: 16 Марта 2002, 02:59:24 от Green Kakadu »
 в исканиях.

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
об авторизации
« Ответ #24 : 16 Марта 2002, 03:20:23 »
По идее, для тех у кого нет htaccess ,для хзащиты admin.cgi вполне возможно использовать AUTH-MOD написанный для Sanitarium WebLoG, модификации нужны незначительные.
Форум по Sanitarium : http://forums.webscript.ru/forumdisplay.php?s=&forumid=45
 в исканиях.

Оффлайн alexxmfk

  • Я здесь никогда не бываю!
  • Постоялец
  • ***
  • Сообщений: 124
  • +0/-0
  • 2
    • Просмотр профиля
cool
« Ответ #25 : 16 Марта 2002, 03:22:31 »
Цитировать
Вот, небольшой мод от Green Kakadu

Круто, всё работает
Цитировать
Чтоб был полный тип-топ, то в начале add.cgi включите

А вот это мне не понятно, для чего это? Эти строки в самое-самое начало вставлять?
Цитировать
Я там добавил сортировку категорий в алфавитном порядке по русским названиям

Чё то не сортируются они...

P.S.
И всё же мне кто-нить работающий пассворд-мод даст?
ICQ: 774334

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Нужна помощь с Links 2
« Ответ #26 : 16 Марта 2002, 03:28:03 »
Цитировать
А вот это мне не понятно, для чего это? Эти строки в самое-самое начало вставлять?

ну да, куда-нибудь после #!/usr/bin/perl
для того, чтоб нормально Perl работал с русскоязычными символами (т.е. сортировка по алфавиту).
И поиск без этого искал с учетом регистра, хотя должен был без учета (и тратил на это время и ресурсы).
 в исканиях.

Оффлайн alexxmfk

  • Я здесь никогда не бываю!
  • Постоялец
  • ***
  • Сообщений: 124
  • +0/-0
  • 2
    • Просмотр профиля
Нужна помощь с Links 2
« Ответ #27 : 16 Марта 2002, 03:31:24 »
Цитировать
ну да, куда-нибудь после #!/usr/bin/perl

Отлично, я так и сделал.
ICQ: 774334

  • Гость
Нужна помощь с Links 2
« Ответ #28 : 19 Марта 2002, 22:34:18 »
Ни чего не получается,и так и сяк но просто ни чего не просходит!Тестирую я на локале под «винду» !если можно, прошу выслать мне готовый файл для руссификации разделов ,так мне будет легче разобаться.Мое мыло:

 deegorov@yandex.ru

и еще.
Как можно изменить параметры сортировки ссылок?
(что б по рейтингу сортировал)

А нужен ли в таком  случае ноне-инглиш?????

С нетерпением жду ответа…..

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Нужна помощь с Links 2
« Ответ #29 : 20 Марта 2002, 01:13:01 »
Цитировать
Тестирую я на локале под «винду»

под win вместо извратов с setlocale и т.д.
пишем просто:
use locale;

Цитировать
Ни чего не получается,

а что не получается
Цитировать
Как можно изменить параметры сортировки ссылок?
(что б по рейтингу сортировал)

а вроде б по умолчанию сортирует так:
- по рейтингу + новые наверху.
 в исканиях.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28