Перейти к публикации
Дизайн и модификация Invision Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Reason

Выдать модератора форума через MySQL

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

06/26/12 16:55 (изменено)

Здравствуйте, вот возник такой вопрос.

Нужно реализовать на форуме выдачу модераторов форума не через админку, а через MySQL. То есть я написал PHP скрипт, который коннектится к БД и делает Insert в таблицу moderators. Но после этого в Админпанели отображается что у человека есть модераторские права, а вот в самом форуме не отображается. И пользователь не может редактировать темы.

 

Подскажите, если знаете, может быть в этом задействованы еще какие либо таблицы в базе данных?

Изменено пользователем Reason

Поделиться сообщением


Ссылка на сообщение

И пользователь не может редактировать темы.

А нужные права в запросе расставлены?

 

По мимо всего, еще создается запись в кэше ibf_cache_store из следующих запросов

 

SELECT moderator.*,m.members_display_name, m.members_seo_name FROM ibf_moderators moderator  LEFT JOIN ibf_members m ON ( m.member_id=moderator.member_id )

INSERT INTO ibf_cache_store (`cs_array`,`cs_key`,`cs_value`,`cs_updated`) VALUES(1,'moderators','a:1:{i:0;a:38:{s:3:\"mid\";s:1:\"2\";s:8:\"forum_id\";s:1:\"2\";s:11:\"member_name\";s:4:\"test\";s:9:\"member_id\";s:1:\"2\";s:9:\"edit_post\";s:1:\"1\";s:10:\"edit_topic\";s:1:\"1\";s:11:\"delete_post\";s:1:\"1\";s:12:\"delete_topic\";s:1:\"1\";s:7:\"view_ip\";s:1:\"0\";s:10:\"open_topic\";s:1:\"0\";s:11:\"close_topic\";s:1:\"0\";s:9:\"mass_move\";s:1:\"0\";s:10:\"mass_prune\";s:1:\"0\";s:10:\"move_topic\";s:1:\"0\";s:9:\"pin_topic\";s:1:\"0\";s:11:\"unpin_topic\";s:1:\"0\";s:6:\"post_q\";s:1:\"0\";s:7:\"topic_q\";s:1:\"0\";s:10:\"allow_warn\";s:1:\"0\";s:8:\"is_group\";s:1:\"0\";s:8:\"group_id\";N;s:10:\"group_name\";N;s:11:\"split_merge\";s:1:\"0\";s:6:\"can_mm\";s:1:\"0\";s:21:\"mod_can_set_open_time\";s:1:\"0\";s:22:\"mod_can_set_close_time\";s:1:\"0\";s:14:\"mod_bitoptions\";s:1:\"0\";s:20:\"members_display_name\";s:4:\"test\";s:16:\"members_seo_name\";s:4:\"test\";s:16:\"bw_flag_spammers\";i:0;s:18:\"bw_mod_soft_delete\";i:0;s:21:\"bw_mod_un_soft_delete\";i:0;s:22:\"bw_mod_soft_delete_see\";i:0;s:24:\"bw_mod_soft_delete_topic\";i:0;s:27:\"bw_mod_un_soft_delete_topic\";i:0;s:28:\"bw_mod_soft_delete_topic_see\";i:0;s:25:\"bw_mod_soft_delete_reason\";i:0;s:27:\"bw_mod_soft_delete_see_post\";i:0;}}',1340731687) ON DUPLICATE KEY UPDATE cs_array=VALUES(cs_array),cs_key=VALUES(cs_key),cs_value=VALUES(cs_value),cs_updated=VALUES(cs_updated)

 

Если вы не используете ядро форума, разбирайте INSERT.

Поделиться сообщением


Ссылка на сообщение

Ядро используется. Значит мне в скрипт требуется еще добавить данные 2 запроса верно? Эти запросы корректировать не требуется? все так и вставлять?

Поделиться сообщением


Ссылка на сообщение

Эти запросы корректировать не требуется?

Лол. Это рабочие запросы, я их привел вам как пример в каком формате и что заносится. Вам нужно разобрать сериализованный массив cs_value и по аналогии создать свой для инсерта. К тому же не забывайте что здесь хранятся все модераторы, поэтому в массиве должны быть все не только последний.

 

Если используется ядро форума, то просто после вашего запроса обновите кеш модераторов

 

$registry->cache()->rebuildCache( 'moderators', 'forums' );

Поделиться сообщением


Ссылка на сообщение

Понятно - работать с кешем мне еще рано. Еще не все освоил. Спасибо за разъяснения будем разбираться

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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