Powered by CodeIgniter

Баг-трекер

(120)
22
22 голоса
Собираем все баги, которые вы обнаружите.
Итак, косяк первый:
При активизации закрытого режима в модуле инвайтов перестает работать загрузка картинок и вывод kcaptcha.
Решение: В хуках шестеренки инвайтов (gears/invites/_hooks.php) в функцию invite_header добавляем следующее
&& $CI->name != 'kcaptcha' && !in_array('upload',$CI->uri->segments) То есть
было:
if($CI->name != 'user' && !in_array('ajax',$CI->uri->segments)) стало:
if($CI->name != 'user' && !in_array('ajax',$CI->uri->segments) && $CI->name != 'kcaptcha' && !in_array('upload',$CI->uri->segments))
Косяк второй: При регистрации пользователя по инвайту, инвайт не обнуляется.
Возможная причина:
Хук обновления таблицы инвайтов завязан на метод form_save. Но при процедуре регистрации он не вызывается, поскольку добавление пользователя реализовано напрямую в модуле пользователя (gears/user).
Решение: К сожалению, пришлось делать «грязный хак».
В gears/user/index.php в функцию register после кода
if($this->db->insert('users',$user)) были добавлены две строки:
$user_a = $this->db->get_where('users',array('url_name'=>$user['url_name']))->row(); $this->db->update('invites',array('to'=>$user_a->id),array('invite'=>$result['invite'],'to'=>NULL));
Косяк третий: При наделении другого пользователя правами админа кнопку и элементы админки он видит, но доступа к элементам админки не имеет.
Возможная причина:
в gears/acl/_hooks.php в функции acl_header проверяется именно id пользователя (он должен быть равным 1), а не его принадележность к группе админов.
Решение: в функции acl_header
было:
elseif(count($CI->uri->segments) > 1 && $CI->uri->segments[1] == 'admin' && $CI->user->get('id') != 1 ){ стало:
elseif(count($CI->uri->segments) > 1 && $CI->uri->segments[1] == 'admin' && !acl('admin access')){
Ну, и напоследок — not a bug, but a featue: Делаем коды инвайтов проще:
(или вы любите хэши SHA1?)

в gears/invites/_admin.php
строку
$invite = $this->encrypt->sha1(serialize($data)); меняем на
$invite = rand(999999,9999999);
Теперь инвайт это не длинная строка хэша, а простое число, которое можно написать на бумажке или кинуть смс-кой. А от перебора «в лоб» должна (по идее) спасти капча.

P.S. А еще можно сделать доступными rss, это очень легко, но про это потом. ;-)
10:58 ← 05 января 2010 Отправить в Твиттер sudersuder  RSS comments 7

Комментарии (7) ↓

inetlover inetlover time 10:19 ← 06 января 2010 #
Спасибо! +1
Автор
suder suder time 14:41 ← 06 января 2010 #
Да всегда пожалста. ^^
Может это в багтрекер перенести?
Ну, и еще меня несколько занимает вопрос по поводу грязного хака — так не делается же!
dqpb dqpb time 10:35 ← 06 января 2010 #
На утверждение и в Assembla, наверное?

Теперь инвайт это не длинная строка хэша, а простое число, которое можно написать на бумажке или кинуть смс-кой. А от перебора «в лоб» должна (по идее) спасти капча.

А это лучше опционально, а мысль хорошая.

Дмитрий, давно уже поднимал тему насчет, было бы круто выделять фрагмент и при нажатии ctrl+q получать результат в редакторе
Автор
suder suder time 14:39 ← 06 января 2010 #
Дмитрий, давно уже поднимал тему насчет, было бы круто выделять фрагмент и при нажатии ctrl+q получать результат в редакторе
А это к чему, я немного не понял? А, фишка для цитирования?
Ну, по идее, это скриптами решается. Можно орфус поковырять для примера.
shm-valeriy shm-valeriy time 03:21 ← 11 января 2010 #
А все эти исправления будут включенны в сборку ?))
Автор
suder suder time 03:37 ← 11 января 2010 #
Баг с инвайтами вроде бы решен (diff), а про капчу, загрузку картинок и rss я не знаю.
Мне admin предлагал добавлять изменения через svn, но я пока слоупочу.
dqpb dqpb time 09:25 ← 11 января 2010 #
но я пока слоупочу.
ну и зря

А звучит прикольно, я тоже в этом деле слоупочу :)