Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Pavel Titov 01.02.2003 20:20
Возможно, кому-то пригодится...@CLASS htpasswd @load[filename][htpass;htpasstext] Загрузить .htpasswd # Загружаем $htpass[^file::load[text;$filename]] $htpasstext[^htpass.text.match[\n][g]{ }] # Преобразовываем в таблицу $passwd[^table::create{login password ^htpasstext.match[:][g]{ }}] @create[] Инициализация без данных $passwd[^table::create{login password}] @save[filename][htpass] Сохранить .htpasswd # Преобразовываем в строку $htpass[^passwd.menu{${passwd.login}:$passwd.password }] # Сохраняем в файл ^htpass.save[$filename] @setpw[login;password][crypted] Добавление пользователя / изменение пароля # Шифруемся $crypted[^math:crypt[$password;^$apr1^$]] ^if(^passwd.locate[login;$login]){ ^rem{ Пользователь уже существует } $passwd.password[$crypted] }{ ^rem{ Пользователя надо добавить } ^passwd.append{$login $crypted} } @delete[login] Удалить юзера ^if(^passwd.locate[login;$login]){ $passwd[^remove[$passwd;^passwd.line[];1]] } # http://parser.ru/forum/?id=3803 ### удаление строк из таблицы # результат - таблица # tbl - имя таблицы # from - начиная с какой строки удалять (!!! нумерация строк с 1) # count - сколько строк удалять # пример: $mytable[^remove[$mytable;1;10]] - удалит первые 10 строк @remove[tbl;from;count] ^if(def $tbl){ $result[^tbl.select((^tbl.line[]<$from) || (^tbl.line[]>=$from+$count))] }