Перейти к контенту

[2.3.x]Морфологическая обработка числительных


DINI

Рекомендуемые сообщения

ВНИМАНИЕ! В модах версий 1.1.x обнаружен баг.

Из-за него неверно обрабатывалось количество зарегистрированных пользователей, если это количество было кратно 10.

 

Устранение бага для пользователей IPB 1.x.x и 2.0.x:

Откройте файл sources/morph.php и найдите строку:

$reg = ( $num_reg > 1 ) ? $ibforums->lang['many_reg'] : $ibforums->lang['single_reg'];

Замените эту строку на следующую:

$reg = ( $num_reg != 1 ) ? $ibforums->lang['many_reg'] : $ibforums->lang['single_reg'];

Сохраните изменения и закройте файл.

 

Устранение бага для пользователей IPB 2.1.x:

Откройте файл sources/action_public/morph.php и найдите строку:

$reg = ( $num_reg > 1 ) ? $this->ipsclass->lang['many_reg'] : $this->ipsclass->lang['single_reg'];

Замените эту строку на следующую:

$reg = ( $num_reg != 1 ) ? $this->ipsclass->lang['many_reg'] : $this->ipsclass->lang['single_reg'];

Сохраните изменения и закройте файл.

 

 

-------------------------

Архив с модом обновлен.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • Ответы 113
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

планируется ли исправления для этого мода?
Ждите версию мода 1.2. Обработка указанного Вами мода будет добавлена в этой версии. Кроме того, в ней будет добавлена обработка Invision Gallery и Invision Blog.

 

Когда эта новая версия выйдет, я сам не знаю. Учитывая то обстоятельство, что мод этот я делаю исключительно на собственном энтузиазме, то и занимаюсь я им только в случае, когда у меня есть на это время и желание. В ближайшие недели ни того, ни другого у меня точно не предвидится :D

Ссылка на комментарий
Поделиться на других сайтах

function birth( $number, $string )

 

1 - немного непонял ( $number > 10 and $num_posts <= 14 )

так и должно быть?

 

2 - в календаре, например за вчерашнее число, написано "3 именниников"

 

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

Ссылка на комментарий
Поделиться на других сайтах

----------

Линукс ваш отстой и фуфло. Помойка некрасивая.

----------

Есть дистр. вин-хп2 и мандривы, сравнивая их, можно прийти к совершенно противоположным выводам. Все зависит от графической оболочки (можно сделать что линукс выглядел как мак ось или вин-хр). Сравнивая же винду и линукс в техническом плане, могу сказать винда это полное дерьмо, а в линуксе есть все, начиная от текстового редактора, средствами разработки и отладки софта, заканчивая прогами для вещания потокового видео и аудио в сети (а в типичной винде за 90$ акоромя нотепада и калькулятора нихрена нету). :D:);)

Ссылка на комментарий
Поделиться на других сайтах

так и должно быть?
Да
в календаре, например за вчерашнее число, написано "3 именниников"
Вы уверены, что верно установили мод и верно сделали замену в языковых файлах? В моде слово "именинник" вообще не используется :D
Ссылка на комментарий
Поделиться на других сайтах

DINI:

<#users#> за <#last#> 15 <#minutes#>

у меня подобное видно, если под гостем на форуме сидеть, а у залогиненых - всё нормально :D

Ссылка на комментарий
Поделиться на других сайтах

Причины ошибки я уже описывал ранее.

 

Могу только добавить, что для IPB 2.0.x нужно смотреть файл sources/lib/boardstats_functions.php, а для IPB 2.1.x - файл sources/lib/func_boardstats.php.

Ошибка возникает из-за неверного редактирования этих файлов.

Ссылка на комментарий
Поделиться на других сайтах

<#users#> за <#last#> 15 <#minutes#>

 

а у меня такая фишка мод Рут админом, когда гость и пользователь - всё Ок.. устанавливал скрип по мануалу, файл func_boardstats.php смотрел - всё правильно в нём

Ссылка на комментарий
Поделиться на других сайтах

useless, зайди в настройку языков в панели управления и установи повторно русский язык для своего профиля.
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

У меня был такой косяк:

 

Как и у всех не работала замена макросов.

Хотя все видели форум на русском, в базе данных у многих пользователей (база только что сконвертирована из phpbb) стоял английский язык.

 

решилось просто:

 

UPDATE ibf_members SET language='ru';

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
последнее сообщение: "33 минут назад"
Можно поинтересоваться, где конкретно Вы увидели такую строку?
Ссылка на комментарий
Поделиться на других сайтах

последнее сообщение: "33 минут назад"
Можно поинтересоваться, где конкретно Вы увидели такую строку?

Гугл по своему форуму запусти - обнаружишь.

Ссылка на комментарий
Поделиться на других сайтах

Гугл по своему форуму запусти - обнаружишь.
Мои форумы поисковиками не индексируются, так уж получилось :D

Но у себя я таких строк не замечал, иначе исправил бы...

Ссылка на комментарий
Поделиться на других сайтах

последнее сообщение: "33 минут назад"
Можно поинтересоваться, где конкретно Вы увидели такую строку?

да повсеместно, где указывается время. Например на главной странице форума в колонке "последнее сообщение"

Ссылка на комментарий
Поделиться на других сайтах

да повсеместно, где указывается время. Например на главной странице форума в колонке "последнее сообщение"
Тогда понятно. Обработку дат я делал только для статистики посещения. Просто не думал, что даты типа "N минут назад" будут использоваться где-то еще.

Постараюсь исправить в ближайшее время.

 

P.S. А новой версии пока не ждите. У меня на нее времени вообще нет пока :D

Ссылка на комментарий
Поделиться на других сайтах

ВНИМАНИЕ: мод обновлен до версии 1.1.2.

В ней добавлена обработка относительных дат, используемых в форумах IPB 2.1.x

 

Инструкции по обновлению читайте в файле IPB 2.1.x/Fix.txt в архиве с модом.

Ссылка на комментарий
Поделиться на других сайтах

Проапдейтил. Спасибо. :D

 

В режиме №3 и в остальных все работает великолепно! Но вот режим №2....

не работает - вот такая красота на экране:

37 <#minutes#> назад
.

 

Полез в код.... Все нашел.

 

В блоке:

			//-----------------------------------------
		// Use level 2 relative?
		//-----------------------------------------

Если

$this->vars['time_use_relative'] == 2

то условие

$use_morph ?

не выполнится никогда, т.к.

 

			if ( $full_relative and ( $norelative != 1 ) )
.............
			$use_morph = 1;
		}

 

Исправьте пожалуйста, как нужно, а то я на ночь глядя совсем не соображаю, как править чужой мод ;)

 

Хм... думаю фиксить надо так:

 

 

		//-----------------------------------------
	// Full relative?
	//-----------------------------------------

	if ( $this->vars['time_use_relative'] == 3 )
	{
	  $full_relative = 1;
	}
		//-----------------------------------------
		// FULL Relative
		//-----------------------------------------

		if ( $full_relative and ( $norelative != 1 ) )
	{
		if( ( $this->member['id'] and $this->member['language'] == 'ru' ) or ( !$this->member['id'] and $this->vars['default_language'] == 'ru' ) )
		{
			require_once( ROOT_PATH.'sources/action_public/morph.php' );
			$morph = new morph;
			$morph->ipsclass =& $this;

			$use_morph = 1;
		}

меняем на

 

			if( ( $this->member['id'] and $this->member['language'] == 'ru' ) or ( !$this->member['id'] and $this->vars['default_language'] == 'ru' ) )
		{
			require_once( ROOT_PATH.'sources/action_public/morph.php' );
			$morph = new morph;
			$morph->ipsclass =& $this;

			$use_morph = 1;
		}

	//-----------------------------------------
	// Full relative?
	//-----------------------------------------

	if ( $this->vars['time_use_relative'] == 3 )
	{
	  $full_relative = 1;
	}
		//-----------------------------------------
		// FULL Relative
		//-----------------------------------------

		if ( $full_relative and ( $norelative != 1 ) )
	{

 

У меня заработало. :)

Ссылка на комментарий
Поделиться на других сайтах

Digy, да, Вы правы: у меня в коде присутствует ошибка. Инструкции по исправлению Вы привели почти правильные, но, все же, оптимальное решение выглядет так:

 

Код

			if( ( $this->member['id'] and $this->member['language'] == 2 ) or ( !$this->member['id'] and $this->vars['default_language'] == 2 ) )
		{
			require_once( ROOT_PATH.'sources/action_public/morph.php' );
			$morph = new morph;
			$morph->ipsclass =& $this;

			$use_morph = 1;
		}

нужно удалить.

 

Далее найдите строки

		//-----------------------------------------
	// Full relative?
	//-----------------------------------------

	if ( $this->vars['time_use_relative'] == 3 )
	{
		$full_relative = 1;
	}

После них добавьте:

		//-----------------------------------------
	// Use morph mod?
	//-----------------------------------------

	if( $this->vars['time_use_relative'] and ( ( $this->member['id'] and $this->member['language'] == 2 ) or ( !$this->member['id'] and $this->vars['default_language'] == 2 ) ) )
	{
		require_once( ROOT_PATH.'sources/action_public/morph.php' );
		$morph = new morph;
		$morph->ipsclass =& $this;

		$use_morph = 1;
	}

При использовании этого варианта кода вызов файла morph.php производится только если используется действительно относительный формат представления дат, а язык пользователя - русский.

При использовании варианта исправления, который предложил Digy, файл вызывается независимо от того, используется ли относительный формат или нет.

 

Инструкции по обновлению мода в архиве были обновлены. Спасибо Digy за наводку!

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
DINI, помогите, пожалуйста. Мод почему-то не хочет обрабатывать команду <#pages#>. То есть вместо надписи "17 страниц" отображается "17 <#pages#>". При этом всё остальное работает.
Ссылка на комментарий
Поделиться на других сайтах

Во-первых, если у Вас возникают проблемы, то пишите хотя бы версию форума: мод написан под все версии, и в какой именно версии есть ошибка, я гадать не собираюсь.

Кроме того, попробуйте перечитать инструкции по установке: возможно, Вы где-то допустили ошибку при установке мода.

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.