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

Перемещение из группы в группу


fadar

Вопрос

Вообщем столкнулся с проблемой, у нас на форуме присутствует две группы - пользователи и старожилы. Раньше при наборе 500 постов и пользователей, юзер становился старожилом, всё бы ничего, да придумали сделать иначе. Теперь пользователь должен иметь 300 сообщений и 4 месяца прибывания на форуме, я поправил код в файлах:

source/lib/post_new_post.php

source/lib/modfunctions.php

source/lib/post_poll.php

source/lib/post_q_replay_post.php

source/lib/post_reply_post.php

source/mod_cp.php

Везде код выглядит теперь примерно так:

  if ($ibforums->member['g_promotion'] != '-1&-1')

  {

    list($gid, $gposts) = explode( '&', $ibforums->member['g_promotion'] );

    $date_join = $ibforums->member['joined'];

    $time_four_month = (4*4*7*24*60*60);

    $ntime = time();

    $alltimereg = $date_join+$time_four_month;

    if ( $gid > 0 and $gposts > 0 and $alltimereg >= $ntime)

    {

    if ( $ibforums->member['posts'] + 1 >= $gposts )

    {

      $mgroup = "mgroup='$gid', ";

     

      if ( USE_MODULES == 1 )

      {

      $class->modules->register_class(&$class);

      $class->modules->on_group_change($ibforums->member['id'], $gid);

      }

    }

                                }

 

Но система не работает, мне кажется какая-то глупая ошибка, подскажите пожалуйста :D

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

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

  • 0

Так неправильно.

Точнее правильно, но пока у тебя только один переход из группы в группу.

Если вдруг ты ещё один сделаешь, то для него также будет работать это правило, а это, по всей видимости, неправильно будет.

 

Надо указать id группы + условие.

 

 if ( $ibforums->member['mgroup'] != id_группы_с_которой идёт_смена or ( $ibforums->member['mgroup'] == id_группы_с_которой идёт_смена and time() - $ibforums->member['joined'] > 60*60*24*30*4 ) ) 
{
...
}

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

  • 0

условие у вас не правильное...

 

например:

пользователь зарегистрирован 24.04.05

сегодня у нас число 24.06.05

 

по вашему условию время проверяется как 24.04.05 + 4-е месяца >= 24.06.05, т.е. 24.08.05 >= 24.06.05, условие срабатывает, что есть не правильно, потому как пользователь не отсидел еще 4-е месяца.

 

те же данные, но сегодняшнее число 25.08.05, те же мысли итог условие 24.08.05 >= 25.08.05 не выполняется.

 

P.S. в месяце не обязательно 4-е недели, лучше считать днями... в среднем в месяце 30 дней.

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

  • 0

Точно, как это я сразу не увидел)

Спасибо всем огромное за помощь :D

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

  • 0
P.S. в месяце не обязательно 4-е недели, лучше считать днями... в среднем в месяце 30 дней.

 

та никто особенной точности и не требует :D

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

  • 0
P.S. в месяце не обязательно 4-е недели, лучше считать днями... в среднем в месяце 30 дней.

 

та никто особенной точности и не требует :D

4 месяца по 28 дней, это не то же что 4-е месяца по 30 дней =)

в первом случае привозим себе 2,5 дня, во втором только пол дня.

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

  • 0

Вообщем поменял скрипт на такой:

$date_join = $ibforums->member['joined'];

        $time_four_month = (4*30*24*60*60);

    $ntime = time();

    $alltimereg = $ntime-$date_join;

    if ( $gid > 0 and $gposts > 0 and $alltimereg >= $time_four_month)

работает, вроде. Во всяком случае время сходится.

Сегодня опять один пассажир перелез в старожилы, хотя по времени он не должен был...(Дата регистрации 5.06.2005)

 

Меня терзают сомнения, что ещё где-то идёт проверка на перемещение группы.

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

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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