Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Invision Power Board > Установка Репутации


Автор: Rodman 12.2.2008, 16:18
Дароф.

У меня стоит 2,3,3 версия... хотел установить репу для нее... скачал http://www.invisionmodding.com/index.php?autocom=downloads&showfile=775, но шо то не получается...

с начала добавляю и меняю все че надо, но надо найти строку 
Код

$member['addresscard']     = $member['id'] ? $this->ipsclass->compiled_templates[ $skin_file ]->member_icon_vcard( $member['id'] ) : '';
в файле sources/ipsclass.php

а там такой нету... есть подобная, но не точно такая...
что делать???

и следующие шаги с темплейтами не совсем понятны!..

что делать?

Сенкс

Автор: Sannis 12.2.2008, 17:57
А какая у вас стоит? В 2.3.4 по крайней мере она именно как вы процитировали. Она в этом файле одна, так что можете полюбому заменить.

И куда катится лесная страна...

Автор: Rodman 13.2.2008, 13:32
а вот после окончания изменений в коде РНРшек... требуется еще в шаблонах HTML менять (как я понял)...

как туда корректно зайти и где?

Автор: Sannis 13.2.2008, 18:22
Почитайте http://wiki.iblink.ru/ ;) Зайти нужно в Админцентр -> Внешний вид -> нажать на меню у стиля и там выбрать "Изменить HTML шаблоны". Далее уже выбирать нужный шаблон. И так со всеми стилями.

Автор: 2man 14.2.2008, 02:44
Либо изменения делать напрямую в файлах

Автор: Sannis 14.2.2008, 11:20
2man, не говорите глупостей. Вы хорошо с 2.х.х знакомы?

Автор: 2man 16.2.2008, 03:00
Я достаточно с ним знаком, чтобы говорить то, что я сказал выше. А в чем проблема?

Автор: Sannis 16.2.2008, 10:30
Попробуйте ради развлечения сделать изменения в файлах, а потом поверх этого поставить галерею. А лучше какой-нибудь мод, который добавляет шаблоны в ту же группу, которую вы редактировали. И посмотрите, что будет с вашими изменениями.

До тех пор, пока в 2.х не будет введена снова ресинхронизация шаблонов из кеша, редактировать лучше череж админку, а то можно одним прекрасным утром остаться без визуальной части модов.

Автор: Arhar 16.2.2008, 13:42
Цитата

введена снова ресинхронизация шаблонов из кеша

функцию в admin_cache_functions я нашел, а вот вызова ее нет
вызов напишу наверно, хорошо что напомнил)
потестим

Автор: Rodman 19.2.2008, 17:48
хорошо бы

Автор: Rodman 20.2.2008, 17:49
и вот все равно я пока сижу на одном месте...
пробую на локале
моя версия форума 2.3.3
из мода в атаче делаю:
1. Копирую папки в нужные папки из архива
2. Проинсталил мод из папки reputation + установил компонент ipd_components.xml...
3. Делаю изменения в файле sources/classes/class_display.php. обновляю форум - все ОК
    Делаю изменения в файле sources/classes/class_session.php. обновляю форум - все ОК
    Делаю изменения в файле /sources/sql/mysql_queries.php. обновляю форум - все ОК
    Делаю изменения в файле sources/sql/mysql_queries.php. обновляю форум - все ОК
    Делаю изменения в файле sources/ipsclass.php. сохраняю файл после каждого изменения и обновляю форум - все ОК, но когда делаю последнее изменение и сохраняю - при обновлении форума - белая страница... и вот тут я стал... дальше пока ничего не делаю...

в чем трабла??? или нужно до конца дойти ????

Автор: Sannis 20.2.2008, 22:38
Если вы на локалке делаете, что мешает включить полный показ ошибок PHP? smile

Обычно именно так, нужно все действия сделать. Ясное дело, что если вы добавлили строку вызова функции, а саму функцию ещё не добавили то будет ошибка возникать.

Автор: 2man 20.2.2008, 23:09
В php.ini следует включить вывод ошибок для начала. 
Цитата(Sannis @  20.2.2008,  22:38 Найти цитируемый пост)
Обычно именно так, нужно все действия сделать. Ясное дело, что если вы добавлили строку вызова функции, а саму функцию ещё не добавили то будет ошибка возникать.

Сделай все, что в инструкции, а потом смотри, что получится

Добавлено через 7 минут и 54 секунды
Цитата

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Обработка ошибок и журнализация ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Директива error_reporting должна задаваться в виде битового
; поля. Его значение можно устанавливать с помощью следующих констант,
; объединенных оператором | (OR):
; E_ALL              - Все предупреждения и ошибки.
; E_ERROR            - Критические ошибки времени выполнения.
; E_WARNING          - Предупреждения времени выполнения.
; E_PARSE            - Ошибки трансляции.
; E_NOTICE           - Замечания времени выполнения (это такие
;                      предупреждения, которые, скорее всего, 
;                      свидетельствуют о логических ошибках в 
;                      сценарии, - например, использовании 
;                      неинициализированной переменной).
; E_CORE_ERROR       - Критические ошибки в момент старта PHP.
; E_CORE_WARNING     - Некритические предупреждения во время старта PHP.
; E_COMPILE_ERROR    - Критические ошибки времени трансляции.
; E_COMPILE_WARNING  - Предупреждения времени трансляции.
; E_USER_ERROR       - Сгенерированные пользователем ошибки.
; E_USER_WARNING     - Сгенерированные пользователем предупреждения.
; E_USER_NOTICE      - Сгенерированные пользователем замечания.
; Пример:
; показывать все ошибки, за исключением замечаний
; error_reporting = E_ALL & ~E_NOTICE
; показывать только сообщения об ошибках
; error_reporting=E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
; отображать все ошибки, предупреждения и замечания
error_reporting =       E_ALL ; & ~E_NOTICE

; Печать ошибок и предупреждений прямо в браузер. 
; Для готовых сайтов рекомендуется отключать следующую директиву и
; использовать вместо нее журнализацию (см. ниже). Включенная директива
; display_errors в "рабочих" сайтах может открыть доступ пользователю к
; секретной информации: например, полному пути к документу, используемой
; базе данных и т. д.
display_errors = On

; Даже если display_errors включена, ошибки, возникающие во время старта
; PHP, не отображаются. Рекомендуется устанавливать следующую директиву
; в выключенное состояние, за исключением случая, когда вы применяете 
; ее при отладке.
display_startup_errors = Off

; Сохранять ли сообщения об ошибках в файле журнала. Журнал может
; определяться настройками сервера, быть связанным с потоком stderr 
; или же задаваться директивой error_log, описанной ниже. Как уже было
; сказано, в коммерческих проектах желательно использовать именно
; журнализацию, а не отображать ошибки в браузер.
log_errors = Off



Автор: Arhar 21.2.2008, 20:45
AH23__Reputation_4.6.2 я пробовал ставить
что и сподвигло меня занятся extended версией
ибо это ужасный мод на самом деле
после выполнения всех действий инструкции появились непонятные глюки
пошел в код
так вообще ужас
Код

function mem_stats ( $memid )

сначала
Код

$info   = $this->parse_stat_info($row);

там проверка на возможность удаления комментариев и соответственно кнопка удаления, ну и прочая фигня
Код

                if ( $this->ipsclass->member['g_is_supmod'] or ($row['from_id'] == $this->ipsclass->member['id'] and $this->ipsclass->member['g_edit_posts']) )
                {
                    $info['edit_button'] = $this->ipsclass->compiled_templates['skin_ahreputation']->button_edit( $row['msg_id'], $row['member_id'] );

                    if ( ($this->ipsclass->member['g_edit_cutoff'] > 0 and $this->ipsclass->member['g_is_supmod'] < 1) and ( $row['msg_date'] <= ( time() - ( intval($this->ipsclass->member['g_edit_cutoff']) * 60 ) ) ) )
                    {
                        $info['edit_button'] = "";
                    }
                }

потом еще че-то определяется для инфо
а потом бац
Код

$info = $row;

и все предопределенные кнопки и прочая фигня тупо затирается...
и что делается потом
Код

                if ( $this->ipsclass->vars['reputation_allow_edit'] AND $this->ipsclass->member['id'] == $row['from_id'] OR $this->ipsclass->member['g_is_supmod'] )
                {
                    $info['edit_button']        = $this->ipsclass->compiled_templates['skin_ahreputation']->button_edit( $row['msg_id'], $this->ipsclass->member['id'] );
                } 

опять проверяется то же самое, но уже в других условиях
короче там немало такой глупости в коде

Автор: Arhar 21.2.2008, 21:03
плюс помню такую вещь
Код

            if ( $skin_file == 'skin_topic' )
            {
                $member['reputation'] = $this->compiled_templates[ $skin_file ]->reputation_level( $member['id'], rtrim($member['rep']) );
            }

(ipsclass)
работать не будет в принципе

Код

            $this->load_template('skin_ahreputation' );
            $member['reputation'] = $this->compiled_templates[ 'skin_ahreputation' ]->reputation_level( $member['id'], rtrim($member['rep']) );

еще куда ни шло

Автор: Arhar 21.2.2008, 21:26
Цитата

Сделай все, что в инструкции, а потом смотри, что получится

на эту реплику могу сказать, что как минимум некультурно отвечать так небрежно человеку, который специализируется в ipb, написал для него кучу полезнейших модов и явно разбирается в этом движке лучше многих

Автор: Sannis 22.2.2008, 01:35
Да я не гордый. Другое дело, что 2man предлагает всё в кеш-файлах редактировать, вот это уже требует определённой реакции. Некрасиво отвечать на вырванные из контекста фразы, не понимая к чему они были сказаны, и при этом не отвечать на прямо поставленный вопрос уровня "ликбез".

Автор: Rodman 22.2.2008, 11:55
Прекращайте ругаться...

все будет хорошо!

и все таки какой мод может подойти на мою версию... лучше если будет выбор!

Автор: Sannis 22.2.2008, 12:25
Может подойти и этот, если посидеть вечерок и исправить глюки. Поверьте, если не говорить о расширении функционала, если в нём что-то не устраивает, то это и вправду можно за вечер сделать.

Наиболее продвинутая версия репутации для 2.3 - http://www.ibresource.ru/forums/index.php?s=&showtopic=43083&view=findpost&p=293755. В данный момент она также http://www.ibresource.ru/forums/index.php?showtopic=51598. Есть вышеобсуждаемая репутация от AH Modding. Плюс Simple Reputation System, но она очень простая, её под 2.3 даже никто не адаптировал вроде, не используют её.

Автор: Akmal 3.9.2008, 11:38
Всем привет. Поставил себе на IPB 2.3.5 мод Xtended Reputation System. все работает,глюков не замечал..но одно раздрожает-смтореть историю изменения репутации можно нажав на количество репутации. Можна ли сделать чтоб историю изменения репутации пользователя можна было смтореть нажав на слово *репутация* или, *Respect:
___
Оригинал:
==========================
Respect: http://aaa Голосов
==========================
То,что я хочу:
==========================
http://aaa x Голосов
==========================

Автор: 2man 4.9.2008, 13:44
Попробуй в skin_topic (Render Row) заменить:
Код

<br/> <br/>{$author['reputation_text']}{$author['reputation_minus']}&nbsp;&nbsp;<b><span id="ajaxrep-{$author['id']}">{$author['reputation_scores']}</span></b>&nbsp;&nbsp;{$author['reputation_add']}

На:
Код

<br/> <br/><b><span id="ajaxrep-{$author['id']}"><a href='{$this->ipsclass->base_url}act=rep&amp;type=history&amp;mid={$author['id']}' title='{$this->ipsclass->lang['view_rep']}'>{$author['reputation_text']}</a></span></b>{$author['reputation_minus']}&nbsp;&nbsp;{$author['reputation_scores']}&nbsp;&nbsp;{$author['reputation_add']}

Автор: Akmal 4.9.2008, 15:10
Спасибо большое  smile  работает  smile ..а теперь как убрать ссылку с количеств репы? (то есть када тыкаеш на кол.репы не переходиш по ссылке где показываетса репа) smile 

Автор: 2man 4.9.2008, 20:48
Тогда нужно заменить на вот это:
Код

<br/> <br/><b><span id="ajaxrep-{$author['id']}"><a href='{$this->ipsclass->base_url}act=rep&amp;type=history&amp;mid={$author['id']}' title='{$this->ipsclass->lang['view_rep']}'>{$author['reputation_text']}</a></span></b>{$author['reputation_minus']}&nbsp;&nbsp;{$author['reputation']}&nbsp;&nbsp;{$author['reputation_add']}

Автор: Rodman 5.9.2008, 12:10
Возможно ли мою 2.3.3 версию обновить до 2.3.5 без потери данных?.. 
а то репа у меня не хочет ставиться никак

Автор: 2man 5.9.2008, 12:20
Цитата(Rodman @  5.9.2008,  12:10 Найти цитируемый пост)
Возможно ли мою 2.3.3 версию обновить до 2.3.5 без потери данных?.. 

Ну конечно можно. База конвертируется и все посты сохранятся. Сделай на всякий случай копию перед обновлением.
А репутацию я бы посоветовал ставить: http://www.ibresource.ru/db/1031/
Должна стать

Автор: Rodman 5.9.2008, 13:50
Цитата(2man @  5.9.2008,  12:20 Найти цитируемый пост)
Сделай на всякий случай копию перед обновлением.

а в движке есть механизм для этого?

Автор: 2man 5.9.2008, 15:22
АЦ - Прочее - Управление SQL- Рерервное копирование

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)