yura3d  |
Отправлено: 11 Марта, 2010 - 00:57:17
|

ExBB Team ExBB Developer ExBB Mods Author

Покинул форум
Сообщений всего: 2757
Дата рег-ции: Февр. 2009
Откуда: БГУИР, Минск

|
Леголегс пишет:Да, там всё сложно. Может, в следующей версии я это сделаю, но обещать не могу. Я расчитывал, что подсистема регистрации не сильно отличается от редактирования профиля, но оказалось, что там всё совсем по другому.
А что именно там так сильно отличается и что не получается реализовать?
В принципе в текущей реализации сделать вывод дополнительных полей в регистрационной форме несложно.
В файле modules/profileplus/profile_edit.php строку:
CODE: $allow_everything = $pfpadminmode || $inuser['status'] == 'ad';
нужно заменить строкой:
CODE: $allow_everything = $pfpadminmode || $fm->user['id'] && $inuser['status'] == 'ad';
И в самом конце этого файла, перед последней строкой:
вставить строки:
CODE:else {
$user = array();
$profileplus = pfpprofileedit($user, 0);
}
При регистрации всё работает без проблем, единственное, не загружаются картинки, но у меня их загрузка не работает и при простом редактировании профиля (мод устанавливался заменой файлов на чистую сборку ExBB FM 1.0 RC1 от 15.07.2009).
Также в последней версии мода (0.1.2) обнаружился небольшой недочёт, проявляющийся, если пользователь первый раз заполняет какое-либо из дополнительный полей:
Цитата:Notice: Undefined index: pfp0 in Z:\home\test1.ru\www\pplus\modules\profileplus\profile_save.php on line 64
Номера строк могут отличаться в зависимости от типа дополнительного поля. Причина видна из этой же строки:
CODE:if ($inuser['pfp'.$pfpitem['id']] != $fm->input['pfp'.$pfpitem['id']])
Не выполняется проверка наличия элемента в массиве $inuser. Решение данной проблемы простое, в файле modules/profileplus/profile_save.php найти строки:
CODE: if($pfpitem['type']!=9 && !isset($fm->input['pfp'.$pfpitem['id']]))
continue;
и после них добавить строки:
CODE: if (!isset($inuser['pfp'.$pfpitem['id']]))
$inuser['pfp'.$pfpitem['id']] = '';
Леголегс пишет:electron пишет:раз уж мод для ExBB FM 1.0 RC1, то пусть он будет и на этом сайте, а то кто знает, сколько еще Твойвеб проживет. надеюсь автор не против.
Вообще-то я против, т.к. архив мне надо время от времени обновлять, проще это делать в одном месте и весьма неплохо будет, если пост будет доступен для редактирования. Пожалуйста сотрите файл, а то кто-нибудь запутается.
Вообще согласен с electron, раз уж мод полностью заточен под ExBB FM 1.0 RC1, то логичнее было бы выкладывать его версии и осуществлять поддержку именно на данном форуме, который и является официальным форумом поддержки всех новых версий ExBB. Сам ресурс Твойвеб де-факто уже никакого отношения к ExBB не имеет, там разве что за много лет собрана полезная информация по неактуальным старым версиям (до ExBB Full Mods 0.1.5 включительно). Есть конечно там и некоторые наработки по ExBB FM 1.0, но большинство из них были написаны мной после ухода Маркуса и так или иначе отразились в RC1 или были перенесены на этот форум.
----- Ответы на часто задаваемые вопросы в ExBB FAQ
Прежде чем задавать вопросы, попробуйте найти ответ через поиск по форуму
Проект ExBB.org помогает Вам. Узнайте, как можете помочь проекту Вы! |
| |
|
| Леголегс |
Отправлено: 11 Марта, 2010 - 01:16:26
|
Junior Member

Покинул форум
Сообщений всего: 91
Дата рег-ции: Март 2010

|
yura3d пишет:А что именно там так сильно отличается и что не получается реализовать? Честно говоря, я особо не смотрел. Раньше, во времена 0.1.5 были реальные проблемы, сейчас не знаю, некогда было.
yura3d пишет: $allow_everything = $pfpadminmode || $fm->user['id'] && $inuser['status'] == 'ad'; Ненененене! $allow_everything===true только для админов! Эта переменная позволяет менять выключенные и readonly-поля, а также игнорировать ограничения. Для нового пользователя она не может быть true, потому что, очевидно, статус у него не 'ad'.
yura3d пишет:не загружаются картинки, но у меня их загрузка не работает и при простом редактировании профиля А нет никаких наработок в этой области? Если я начну допиливать upload.class.php, это потребует много времени. Чтоб и работало надёжно, и ограничения применялись и секурно было.
yura3d пишет:Notice: Undefined index: pfp0 Да, спасибо. Проклятый копипаст, вечно от него косяки потом вылазят.
yura3d пишет:Сам ресурс Твойвеб де-факто уже никакого отношения к ExBB не имеет Простите, я немного сентиментален по отношению к твойвеб.ру Новые моды буду выкладывать тут, а профайл+ уж пусть останется там, где он начался. |
| |
|
yura3d  |
Отправлено: 11 Марта, 2010 - 01:38:25
|

ExBB Team ExBB Developer ExBB Mods Author

Покинул форум
Сообщений всего: 2757
Дата рег-ции: Февр. 2009
Откуда: БГУИР, Минск

|
Леголегс пишет:Ненененене! $allow_everything===true только для админов! Эта переменная позволяет менять выключенные и readonly-поля, а также игнорировать ограничения. Для нового пользователя она не может быть true, потому что, очевидно, статус у него не 'ad'.
Так я в этой строке касательно присваивания значения переменной ничего не изменил, только добавил проверку на авторизацию пользователя чтобы избежать вывод notice'ов (поскольку в исходном варианте мода происходит сразу обращение к элементу status массива пользователя, но если пользователь ещё не зерегистрирован, то и соответственно никакого массива нет).
Леголегс пишет:А нет никаких наработок в этой области? Если я начну допиливать upload.class.php, это потребует много времени. Чтоб и работало надёжно, и ограничения применялись и секурно было.
Допиливать его не нужно, ибо это не будет совместимо со всеми остальными наработками, где этот класс используется (в частности, там, где проверяются значения констант, установленных define'ом). А используется он много где, в том числе и самим форумом (прикрепление файлов, загрузка аватаров и т.п.) Для загрузки одного файла достаточно будет использовать текущий вариант (как именно, можно посмотреть в скриптах форума, в частности post.php и postings.php). Если нужна загрузка нескольких файлов - разумнее (уже писал на форуме, почему) и проще с точки зрения совместимости применить загрузку файлов на базе Ajax. Если интересует, могу дать доступ к разделу с уже существующими наработками по этому вопросу (более того, в том разделе также выложена обновлённая версия класса UPLOAD, которая применяется в готовящейся сейчас к выходу версии ExBB FM 1.0 RC2).
----- Ответы на часто задаваемые вопросы в ExBB FAQ
Прежде чем задавать вопросы, попробуйте найти ответ через поиск по форуму
Проект ExBB.org помогает Вам. Узнайте, как можете помочь проекту Вы! |
| |
|
| Леголегс |
Отправлено: 11 Марта, 2010 - 08:28:33
|
Junior Member

Покинул форум
Сообщений всего: 91
Дата рег-ции: Март 2010

|
yura3d пишет:только добавил проверку на авторизацию пользователя чтобы избежать вывод notice'ов Всё, сообразил. Правильно.
yura3d пишет:в частности, там, где проверяются значения констант, установленных define'ом Глобальные переменные - зло.
yura3d пишет:Для загрузки одного файла При редактирования профиля один файл - аватар - есть всегда. Если он не загружен, устанавливается дефайл UP_NOADDED и всё, приплыли, профайл+ в пролёте, сколько бы файлов для него не пришло.
yura3d пишет:Если интересует, могу дать доступ к разделу с уже существующими наработками по этому вопросу (более того, в том разделе также выложена обновлённая версия класса UPLOAD, которая применяется в готовящейся сейчас к выходу версии ExBB FM 1.0 RC2). Это бы очень помогло! |
| |
|
| Леголегс |
Отправлено: 11 Марта, 2010 - 10:26:53
|
Junior Member

Покинул форум
Сообщений всего: 91
Дата рег-ции: Март 2010

|
electron пишет:залил измененные файлы на тестовый форум. в админке модуль включен, но при нажатии на "редактирование" выдает ошибку "не установлен модуль" А содержимое папки copy не забыли скопировать?
electron пишет:и еще. можно сделать нормальную инструкцию по установке мода? что где искать, удалять и вставлять. а то эти минусы/плюсы если честно напрягают Одна из причин трёхлетней остановки разработки мода в том, что меня страшно задолбало писать и постоянно переделывать эти инструкции. Если у вас есть лишние полчаса - можете сделать (и переделывать при каждом релизе). У меня лишнего времени нет, во всяком случае бесплатно. На мой взгляд, формат diff даже намного удобнее, в частности от того, что текстовые редакторы подсвечивают его синтаксис (что невозможно для словесной инструкции).
И, кстати, для установки на чистый форум можно не маяться с правкой, а произвести простую замену файлов из папки replace.(Отредактировано автором: 11 Марта, 2010 - 10:28:46) |
| |
|
|