Сторінка 251 з 348

Re: Пожелания, предложения и замечания по форуму

Додано: 31 березня 2014, 12:26
Stas_Prime
mykola78 писав:
POOL писав:Ребята, а можно скриншот тех галочек, которые у вас есть? Так будет проще понимать то, что вы видите.


якось так :


Зображення

У меня так же.
И еще один вопрос, можно сделать спойлер в спойлере?

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 16:05
mykola78
POOL писав:Хм... Тогда это действительно технический вопрос. Постараюсь с ним разобраться в ближайшие дни.

Сьогодні, заради інтересу, на Львівському форумі прикрутив цей мод "перше повідомлення на кожній сторінці теми". Так от. Як пише автор цього моду :

1. Кто имеет право закреплять сообщение?
Тот, кто имеет право закрывать тему.

Тобто по суті - це адміни і модератори, оскільки рядові користувачі права закриття, як правило, на форумах не мають (і це, зрештою, правильно).

Як це виглядає програмно... У файлі posting.php (в корені форуму) є такий блок :

// Show/Unshow first post on every page
if(($mode == 'edit' && $post_id == $post_data['topic_first_post_id']) || $mode == 'post')
{
if($mode == 'post')
{
$topic_id = $data['topic_id'];
}

$perm_show_unshow = ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_user_lock', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false;

if($post_data['topic_first_post_show'] != $topic_first_post_show && $perm_show_unshow)
{
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_first_post_show = ' . (($topic_first_post_show) ? 1 : 0) . "
WHERE topic_id = $topic_id";
$db->sql_query($sql);

}
}


Стрічка, виділена червоним, і відповідає за визначення права відображення опції "прикріплення" повідомлення. Зважаючи на свої досить такі поверхові знання в програмуванні php я не ризикнув міняти код. А хто в цьому "шарить" - може подумати :)

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 18:50
mykola78
Шляхом "мозковивихуючих" операцій вроді як знайшов рішення проблеми...
Треба в вищеописаному блоці рядок :

$auth->acl_get('f_user_lock', $forum_id)

поміняти на

$auth->acl_get('f_post', $forum_id)

(тіпа юзеру, який має право створювати теми)

В мене ніби як рабатає :)

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 18:54
Дмитрий 911
mykola78 писав:Шляхом "мозковивихуючих" операцій вроді як знайшов рішення проблеми...
Треба в вищеописаному блоці рядок :

$auth->acl_get('f_user_lock', $forum_id)

поміняти на

$auth->acl_get('f_post', $forum_id)

(тіпа юзеру, який має право створювати теми)

В мене ніби як рабатає :)

Подтверждаю: все работает :beer:

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 18:57
mykola78
Дмитрий 911

ну це в НАС працює, як буде тут - я не знаю :D Це вже від Олексія залежить.

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 19:53
mykola78
mykola78 писав:Шляхом "мозковивихуючих" операцій вроді як знайшов рішення проблеми...
Треба в вищеописаному блоці рядок :

$auth->acl_get('f_user_lock', $forum_id)

поміняти на

$auth->acl_get('f_post', $forum_id)

(тіпа юзеру, який має право створювати теми)

В мене ніби як рабатає :)


Виникла проблемка. Пункт відображає і галочку дає поставити - але при виході з редактора зміни не зберігає (галочка "злітає") :(

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 20:10
mykola78
Тепер я починаю розуміти, чому ця опція доступна тільки модерам. Видать ця функція зачіпає суто "модераторські" операції над темою. Тому і видимість цієї функції в моді доступна тільки модераторам тем.

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 21:13
mykola78
mykola78 писав:[s]Тепер я починаю розуміти, чому ця опція доступна тільки модерам. Видать ця функція зачіпає суто "модераторські" операції над темою. Тому і видимість цієї функції в моді доступна тільки модераторам тем.[/s]

То всьо фігня :D
Насправді все було просто...

У файлі posting.php треба поміняти блок

// Show/Unshow first post on every page
if(($mode == 'edit' && $post_id == $post_data['topic_first_post_id']) || $mode == 'post')
{
if($mode == 'post')
{
$topic_id = $data['topic_id'];
}

$perm_show_unshow = ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_user_lock', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false;

if($post_data['topic_first_post_show'] != $topic_first_post_show && $perm_show_unshow)
{
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_first_post_show = ' . (($topic_first_post_show) ? 1 : 0) . "
WHERE topic_id = $topic_id";
$db->sql_query($sql);

}
}


на

// Show/Unshow first post on every page
if(($mode == 'edit' && $post_id == $post_data['topic_first_post_id']) || $mode == 'post')
{
if($mode == 'post')
{
$topic_id = $data['topic_id'];
}

$perm_show_unshow = ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_post', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false;

if($post_data['topic_first_post_show'] != $topic_first_post_show && $perm_show_unshow)
{
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_first_post_show = ' . (($topic_first_post_show) ? 1 : 0) . "
WHERE topic_id = $topic_id";
$db->sql_query($sql);

}
}


та стрічку

'S_FIRST_POST_SHOW_ALLOWED' => ($first_post_show_allowed && ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_user_lock', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']))) ? true : false,


на

'S_FIRST_POST_SHOW_ALLOWED' => ($first_post_show_allowed && ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_post', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']))) ? true : false,


(після чого бажано почистити кеш стилю)

І все працює. Протестовано на Львівському форумі. :)

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 21:21
alexm206
mykola78
Николай, низкий поклон тебе. :beer:

Re: Пожелания, предложения и замечания по форуму

Додано: 02 квітня 2014, 21:23
mykola78
Та поки нема за шо. Спробуєте тут і получиться - тоді можна і дякувати. :)