Consente di abilitare utenti o gruppi a utilizzare la funzione "bump".
La funzione "bump" consente di portare in evidenza un Topic dimenticato o al quale non c'è stata l'attenzione o la risposta desiderata.
Il "bump", oltre ad essere condizionato da un intervallo di tempo stabilito nella configurazione del PCA, è consentito solamente agli utenti che sono intervenuti nella discussione compreso l'ultimo (last_poster).
Gli Admin e tanto meno i Moderatori non possono utilizzare la funzione "bump" perchè se non sono intervenuti nella discussione non hanno i requisiti per visualizzare il link della funzione "bump".
Con alcune modifiche è possibile abilitare uno o più utenti o un Gruppo di utenti a utilizzare la funzione anche se non sono mai intervenuti.
Ci sono due modifiche da fare nei seguenti file:
1) includes/functions_content.php
2) viewtopic.php
1) il file functions_content.php
Il file functions_content contiene la function bump_topic_allowed che ha lo scopo di controllare se ci siano le condizioni di visualizzare il link "bumped".
Per default questa funzione e consentita agli utenti che sono intervenuti in quel topic.
Questa la parte di codice interessato:
Codice: Seleziona tutto
// Check bumper, only topic poster and last poster are allowed to bump
if ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id'] )
{
return false;
}
Codice: Seleziona tutto
// Check bumper, only topic poster and last poster are allowed to bump
if ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id'] && $user->data['group_id'] != '99' )
{
return false;
}
Questa modifica riguarda la visualizzazione del link che consente di utilizzare la funzione.
La procedura funziona ma non compare il messaggio
"Ultimo bump di xxxxxx effettuato il xxxxxxxxx"
Per fare in modo che compaia il messaggio bisogna agire sul file viewtopic.php.
2) file viewtopic.php
La parte che controlla le condizioni e fa in modo che venga creato e visualizzato il messaggio è la seguente:
Codice: Seleziona tutto
// Bump information
if ($topic_data['topic_bumped'] && $row['post_id'] == $topic_data['topic_last_post_id'] && isset($user_cache[$topic_data['topic_bumper']]))
{
// It is safe to grab the username from the user cache array, we are at the last
// post and only the topic poster and last poster are allowed to bump.
// Admins and mods are bound to the above rules too...
$l_bumped_by = sprintf($user->lang['BUMPED_BY'], $user_cache[$topic_data['topic_bumper']]['username'], $user->format_date($topic_data['topic_last_post_time'], false, true));
}
else
{
$l_bumped_by = '';
}
Per aggirare l'ostacolo inseriamo una nuova condizione che consideri che il messaggio venga creato e visualizzato nel caso sia presente un ID nel campo "topic_bumper", anche se diverso dagli utenti che hanno partecipato alla discussione.
Codice: Seleziona tutto
// Bump information
if ($topic_data['topic_bumped'] && $row['post_id'] == $topic_data['topic_last_post_id'] && isset($user_cache[$topic_data['topic_bumper']]))
{
// It is safe to grab the username from the user cache array, we are at the last
// post and only the topic poster and last poster are allowed to bump.
// Admins and mods are bound to the above rules too...
$l_bumped_by = sprintf($user->lang['BUMPED_BY'], $user_cache[$topic_data['topic_bumper']]['username'], $user->format_date($topic_data['topic_last_post_time'], false, true));
}
elseif ($topic_data['topic_bumped'] && $row['post_id'] == $topic_data['topic_last_post_id'] && isset($topic_data['topic_bumper']))
{
$l_bumped_by = sprintf($user->lang['BUMPED_BY'], $user->data['username'], $user->format_date($topic_data['topic_last_post_time'], false, true));
}
else
{
$l_bumped_by = '';
}