[Ищу] Pinned post 2.2.x- 2.3.x

Статус
В этой теме нельзя размещать новые ответы.

rut-346

Создатель
Регистрация
25 Апр 2008
Сообщения
31
Реакции
1
Для просмотра ссылки Войди или Зарегистрируйся вот он тот самый мод. Вобще6м скачал его, сделал всё по инструкции, а у меня вечно он на что-нибудь да ругается. Причём как на 2.2.2 так и на 2.3.5.
:bc::thenks:

Очень прошу,дайте пожалуйста ваши отредактированные файлы, если у вас работает, желательно чтобы под 2.3.5, он новее ;)

Или же помогите разобраться в ошибках.

1)
Fatal error: Call to undefined method moderate::pin_post() in Z:\home\test1.ru\www\sources\action_public\moderate.php on line 331

собственно злостный код
PHP:
        	case 'editmember':
        		$this->edit_member();
        		break;
			// Vic'er -> Pinned Post in the topic {
        	case 'pinpost':
[U]        		$this->pin_post();[/U]
        		break;
        	case 'unpinpost':
        		$this->unpin_post();
        		break;
			// Vic'er -> Pinned Post in the topic }
           	default:
        		$this->moderate_error();
        		break;
        }
Если будут новые ошибки, я сообщу.

ЗЫ: за мной не заржавеет:)
 
Для просмотра ссылки Войди или Зарегистрируйся вот он тот самый мод. Вобще6м скачал его, сделал всё по инструкции, а у меня вечно он на что-нибудь да ругается. Причём как на 2.2.2 так и на 2.3.5.
:bc::thenks:
Очень прошу,дайте пожалуйста ваши отредактированные файлы, если у вас работает, желательно чтобы под 2.3.5, он новее ;)
Или же помогите разобраться в ошибках.
1)
собственно злостный код
PHP:
        	case 'editmember':
        		$this->edit_member();
        		break;
			// Vic'er -> Pinned Post in the topic {
        	case 'pinpost':
[U]        		$this->pin_post();[/U]
        		break;
        	case 'unpinpost':
        		$this->unpin_post();
        		break;
			// Vic'er -> Pinned Post in the topic }
           	default:
        		$this->moderate_error();
        		break;
        }
Если будут новые ошибки, я сообщу.
ЗЫ: за мной не заржавеет:)

Вот эта строка
PHP:
[U]                $this->pin_post();[/U]
там теги , а так нельзя делать!
Правильно:
PHP:
case 'editmember':
        		$this->edit_member();
        		break;
			// Vic'er -> Pinned Post in the topic {
        	case 'pinpost':
      		        $this->pin_post();
        		break;
        	case 'unpinpost':
        		$this->unpin_post();
        		break;
			// Vic'er -> Pinned Post in the topic }
           	default:
        		$this->moderate_error();
        		break;
 
rut-346: а ты функцию pin_post добавлял?
пункт 3в инструкции.
Или выложи все свои измененные файлы, так проще ошибку искать

Djonikey:
Это не ощибка. Это rut-346 хотел выделить строку, где у него форум выдает ошибку и текст которой Call to undefined method moderate:рin_post()
а не Parse error: syntax error, unexpected '['
но теги не сработали в контейнере php/
 
Ну собственно вот те самые 3 файла в которых явно могут скрываться ошибки. Языковые файлы и groups.php выкладывать не стал,уверен что там всё в полном порядке.
 

Вложения

  • файлы.zip
    40,4 KB · Просмотры: 3
ну собственно все как я и подозревал.
Ты когда вставлял код функций pin_post и unpin_post
затер одну скобку }, парсер выдал ошибку и ты добавил ее, но не там где стер а в конце файла.

Тебе нужно перенести ее в то место где она должна быть,
а именно с конца файла на 612 строку.
Т.е. должно быть
PHP:
			$this->ipsclass->boink_it( $this->ipsclass->base_url.'act=mod&CODE=editmember&auth_key='.$this->ipsclass->return_md5_check().'&mid='.$mid.'&tid='.time() );
		}
	}		
    // Vic'er -> Pinned Post in the topic {
	function pin_post()

.....


	function bash_uploaded_avatars($id)
	{
		foreach( array( 'swf', 'jpg', 'jpeg', 'gif', 'png' ) as $ext )
		{
			if ( @file_exists( $this->ipsclass->vars['upload_dir']."/av-".$id.".".$ext ) )
			{
				@unlink( $this->ipsclass->vars['upload_dir']."/av-".$id.".".$ext );
			}
		}
	}
}
?>
 
Вот тут ещё встретился с одной очень маленькой, но проблемкой. Меня смущает то, что простой модератор может прикреплять сообщения там, где у него нет на это прав. Как это исправить?
 
Для этого надо изменить алгоритм проверки прав.

Сейчас в п.5 инструкции добавляются права на закреплять/откреплять сообщение для группы, причем глобально по всем форумам.

Надо эту настрйку перенести из групп в модераторы (файл sources\action_admin\moderator.php)
аналогично тому как это делается в п.5
При этом не забыть расширить таблицу moderators на один столбец.

Теперь можно и саму проверку менять
Было:
PHP:
			( $this->ipsclass->member['g_is_supmod'] || $this->ipsclass->member['g_pin'] )

Должо быть:
PHP:
			( $this->ipsclass->member['g_is_supmod'] || $this->ipsclass->moderator['g_pin'] )
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху