PDA

Voir la version complète : Espace entre les messages importants et les autres.


CrAsH_Ov3rrid3
18/06/2006, 16h45
Description
Ce hack crée un espace bien important entre les messages "Important" de vos forums et les autres. Conception
Auteur du Hack / Author Of Hack : Cr@sH_Ov3rrid3
Version vBulletin Requise / Version vBulletin Required : 3.6.X
Testé / Tested: oui
Hack Developpé Pour vBulletin-Ressources.com - Tous droits réservésInstallation
Editer le template FORUMDISPLAYChercher :

$threadbits_sticky
En Dessous AJOUTER :

</table><p>
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<if condition="$show['threadicons']">
<td class="thead" colspan="2">&nbsp;</td>
<else />
<td class="thead">&nbsp;</td>
</if>
<td class="thead" width="100%">
<if condition="$show['threadratings']"><span style="float:$stylevar[right]"><a href="$sorturl&amp;order=desc&amp;sort=voteavg">$vbphrase[rating]</a> $sortarrow[voteavg]</span></if>
<a href="$sorturl&amp;order=asc&amp;sort=title">$vbphrase[thread]</a> $sortarrow[title] /
<a href="$sorturl&amp;order=asc&amp;sort=postusername">$vbphrase[thread_starter]</a> $sortarrow[postusername]
</td>
<td class="thead" width="150" align="center" nowrap="nowrap"><a href="$sorturl&amp;order=desc&amp;sort=lastpost">$vbphrase[last_post]</a> $sortarrow[lastpost]</td>
<td class="thead" align="center" nowrap="nowrap"><a href="$sorturl&amp;order=desc&amp;sort=replycount">$vbphrase[replies]</a> $sortarrow[replycount]</td>
<td class="thead" align="center" nowrap="nowrap"><a href="$sorturl&amp;order=desc&amp;sort=views">$vbphrase[views]</a> $sortarrow[views]</td>
</tr>
Et voila c'est terminé, ENJOY ;)


Screenshot :

Fichier attaché.

Bonne installation a vous ;)

Fred
18/06/2006, 16h49
tu en est l'auteur?
car les hacks peuvent etre poster ici seulement si tu en est l'auteur ou l'accord de celui ci

CrAsH_Ov3rrid3
18/06/2006, 16h54
Oui je suis l'auteur j'attend mon changement de pseudo d'ailleurs :D

WrestleMania
18/06/2006, 16h55
Alors c'est ca ton vrai pseudo :) Bravo pour ce hack, mais ou as-tu eu le code de présentation de hack ?

CrAsH_Ov3rrid3
18/06/2006, 17h01
Ben pour le présenter un ti c/c d'un post avec vos hacks et traductions c'est pas dur xD

WrestleMania
18/06/2006, 17h07
Ah mais oui ! j'oublie tout le temps maintenant ca retient les balises et autres avec les copier/coller ! lol

CrAsH_Ov3rrid3
18/06/2006, 17h15
Vi c'est tout bete ^^ Toute façon avec les codes et tout le tralalala j'aurais cliqué sur "citer" et ça aurait été pareil :p

Allan
18/06/2006, 21h05
Bravo et merci du partage ;)

Je me suis permis de mettre l'image en pièce jointe, je préfère (plus visible ^^)

CrAsH_Ov3rrid3
19/06/2006, 09h19
Ah merci ^^
Bah de rien j'l'ai fait en 10 min donc bon ;)

Sasuke31
24/06/2006, 00h30
merci, je vais tester ca.

Tomboss
11/08/2006, 04h40
Merci crash pour ce hack :)

0a$!s
11/08/2006, 11h07
Mci bien je vais test ;)

CrAsH_Ov3rrid3
11/08/2006, 20h25
De rien ^^

Tidus
13/08/2006, 13h08
Je prend :) très bon boulot

pastis
03/09/2006, 21h02
merci pour le hack je trouve ca plus jolie de separer!!!

CrAsH_Ov3rrid3
03/09/2006, 23h51
De rien, de rien lol ^^

pastis
04/09/2006, 12h28
du coup je l'ai desinstaler car avec le style gant ca fait bizzard car ca me separe le style et du coup il me manque un morceau sous un et sur l'autre!!!

je vous met un exemple sur le forum test!!

compte:test
pass:test

http://pacha.s.free.fr/forumdisplay.php?f=7

si quelqu'un aurait une idée la dessus ca serait cool!!!

ps:je n'arrive pas non plus a metre en rouge le mot important!!

je viens de voir que c'est seulement pour l'admin le probleme car en fait c'est au niveau des cases a coche pour moderer il me manque un bout dans l'angle haut droit au post en dessous de celui important!!!

encore merci pour votre aide!!

CrAsH_Ov3rrid3
04/09/2006, 16h16
Vi c'est normal ça ;)
Pour le mot important en rouge c'est un autre hack ^^

pastis
04/09/2006, 16h51
ok merci c'est cool de m'avoir repondu rapidement!!

y aurait il un truc a faire ou pas???

et pour le mot important en rouge je cherche sur vbressource!!

pour le marquage en rouge il y est pour vb 3.5.4 mais pas pour la 3.6 j'ai quand meme tester mais ca ne marche pas car je ne trouve pas la ligne a remplacer!!!!

CrAsH_Ov3rrid3
04/09/2006, 18h08
Ok donc je vais te donner l'astuce ;)
Euh perso je trouve que c'est loin d'etre genant ce que tu vois la c'est tout a fait normal pour la moderation :) Mais bon si ça te gene vraiment je peux regarder ça de plus pres...

Langues & Expressions / Recherche dans les expressions.
Tape "Important"
Trouve :
sticky_thread_prefix Traduction Francais Important : Clique sur EDIT.
Remplace la trad FR par : <b><span style="color:Red">Important : </span></b>
ENJOY & admire :p

pastis
04/09/2006, 18h18
hehehehehehe!!!

merci c'est vraiment important!!!! llol

merci pour cette astuce marche nikel!!!!;)

pour le reste ca ne concerne que les admins ou les modo donc c'est pas tellement grave!!

sauf si tu y tiensmeoui llol

CrAsH_Ov3rrid3
04/09/2006, 19h02
De rien content que ça te fasse plaisir :)

myrddin
08/09/2006, 12h45
Merci bien, cool !
++

scorpion
09/11/2006, 02h20
bonsoir moi j'ai installer cet option et sa m'enleve les titre de mes postesmasi sa me separe bien les sujet important qui aurai une idee

Allan
09/11/2006, 06h40
bonsoir moi j'ai installer cet option et sa m'enleve les titre de mes postesmasi sa me separe bien les sujet important qui aurai une idee
Essaie ce mod (http://www.vbulletin-ressources.com/forum/showthread.php?t=651) ^^

scorpion
10/11/2006, 03h01
oki merci allan parfait sa fonctione ;)

CrAsH_Ov3rrid3
22/11/2006, 18h36
Ca marche tres bien pourtant lol (testé sous vB 3.6.4)

bogosdu06
11/02/2007, 13h12
merci c'est encore une modification très réussi !!

cassis2k
16/02/2007, 11h19
Je vais tester voir si mes thèmes supportent.
Merci :)

<!-- Edit:
le thème radio accepte bien cette modification. concept9 aussi..
"Install"
-->

miki21
13/05/2007, 19h19
Bonjour

je m'explique lorsque qu'un moderateur ou administrateur veut modifier un intituler de post, on clique deux fois a cote de l'intitulé, et on modifie.

Mais le soucis dans certaine sections sa fonctionne pas.

une precision, par si un message important dans la sections, l'intitulé de celui-ci peut etre modifier.

Des que j'enleve ce ces lignes du hack, tout refonctionne.

Quelqu'un pourrai revoir ce hack ou trouver la modifications a faire.


Merci d'avance pour votre aide.

@+

cigogne
27/05/2007, 21h04
J'ai un petit soucis avec! Je ne peux pas enregistrer le template apres la modif sous 3.6.7.!

Ombre
27/05/2007, 21h17
C'est peut etre parcequ il n est pas compatible avec la 3.6.7 :) je sais que les template on changer avec la 3.6.7 ...

Mais la confirmation ou infirmation d un autre serait le bienvenue ;)

SatHacker
15/07/2007, 21h55
salut l'ami Crash Merci pour ce HAck mais j'ai fais comme tu es montionné ça marche pas
pas de séparation entres les Les Sticky et Les disussion normaux

voila merci Cheers ;)

NeimadTheHacker
26/07/2007, 13h52
Excellente modif' !! Merci bien :)

jack
26/07/2007, 16h43
Bonjour,

merci déjà pour ce hack, mais j'ai un problème:

Parse error: syntax error, unexpected '<' in /home/studioo/www/forumdisplay.php on line 887

Gaetan
26/07/2007, 16h50
verifie que tu as bien fait l'installation, tu dois avoir un < qui traine a un endroit ou il ne doit pas être

jack
26/07/2007, 17h29
Bonjour si je vous passe mon forumdisplay vous pouvez regardé ?

jack
26/07/2007, 18h28
BonSoir,

personne pour moi ?

Ombre
26/07/2007, 19h49
Met le ici, on regarderas, utilise une balise code par exemple :)

jack
26/07/2007, 20h19
Bonsoir,

Voici tout ce qui il y a dans le fichier forumdisplay avec le codes ci dessus:


// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'forumdisplay');
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array('forumdisplay', 'inlinemod');
// get special data templates from the datastore
$specialtemplates = array(
'iconcache',
'mailqueue'
);
// pre-cache templates used by all actions
$globaltemplates = array();
// pre-cache templates used by specific actions
$actiontemplates = array(
'none' => array(
'FORUMDISPLAY',
'threadbit',
'threadbit_deleted',
'threadbit_announcement',
'forumhome_lastpostby',
'forumhome_forumbit_level1_post',
'forumhome_forumbit_level2_post',
'forumhome_forumbit_level1_nopost',
'forumhome_forumbit_level2_nopost',
'forumhome_subforumbit_nopost',
'forumhome_subforumseparator_nopost',
'forumdisplay_loggedinuser',
'forumhome_moderator',
'forumdisplay_moderator',
'forumdisplay_sortarrow',
'forumhome_subforumbit_post',
'forumhome_subforumseparator_post',
'forumhome_markread_script',
'forumrules',
'threadadmin_imod_menu_thread',
)
);
// ####################### PRE-BACK-END ACTIONS ##########################
function exec_postvar_call_back()
{
global $vbulletin;
$vbulletin->input->clean_array_gpc('r', array(
'forumid' => TYPE_STR,
));
// jump from forumjump
switch ($vbulletin->GPC['forumid'])
{
case 'search': $goto = 'search'; break;
case 'pm': $goto = 'private'; break;
case 'wol': $goto = 'online'; break;
case 'cp': $goto = 'usercp'; break;
case 'subs': $goto = 'subscription'; break;
case 'home':
case '-1': $goto = $vbulletin->options['forumhome']; break;
}
// intval() forumid since having text in it is not expected anywhere else and it can't be "cleaned" a second time
$vbulletin->GPC['forumid'] = intval($vbulletin->GPC['forumid']);
if ($goto != '')
{
if (!empty($vbulletin->session->vars['sessionurl_js']))
{
exec_header_redirect("$goto.php?" . $vbulletin->session->vars['sessionurl_js']);
}
else
{
exec_header_redirect("$goto.php");
}
}
// end forumjump redirects
}
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_forumlist.php');
require_once(DIR . '/includes/functions_bigthree.php');
require_once(DIR . '/includes/functions_forumdisplay.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
($hook = vBulletinHook::fetch_hook('forumdisplay_start')) ? eval($hook) : false;
// ############################### start mark forums read ###############################
if ($_REQUEST['do'] == 'markread')
{
require_once(DIR . '/includes/functions_misc.php');
$mark_read_result = mark_forums_read($foruminfo['forumid']);
$vbulletin->url = $mark_read_result['url'];
eval(print_standard_redirect($mark_read_result['phrase']));
}
// Don't allow access to anything below if an invalid $forumid was specified
if (!$foruminfo['forumid'])
{
eval(standard_error(fetch_error('invalidid', $vbphrase['forum'], $vbulletin->options['contactuslink'])));
}
// ############################### start enter password ###############################
if ($_REQUEST['do'] == 'doenterpwd')
{
$vbulletin->input->clean_array_gpc('r', array(
'newforumpwd' => TYPE_STR,
'url' => TYPE_STR,
'postvars' => TYPE_STR,
));
if ($foruminfo['password'] == $vbulletin->GPC['newforumpwd'])
{
// set a temp cookie for guests
if (!$vbulletin->userinfo['userid'])
{
set_bbarray_cookie('forumpwd', $foruminfo['forumid'], md5($vbulletin->userinfo['userid'] . $vbulletin->GPC['newforumpwd']));
}
else
{
set_bbarray_cookie('forumpwd', $foruminfo['forumid'], md5($vbulletin->userinfo['userid'] . $vbulletin->GPC['newforumpwd']), 1);
}
if ($vbulletin->GPC['url'] == $vbulletin->options['forumhome'] . '.php')
{
$vbulletin->GPC['url'] = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$foruminfo[forumid]";
}
else if ($vbulletin->GPC['url'] != '' AND $vbulletin->GPC['url'] != 'forumdisplay.php')
{
$vbulletin->GPC['url'] = str_replace('"', '', $vbulletin->GPC['url']);
}
else
{
$vbulletin->GPC['url'] = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$foruminfo[forumid]";
}
// Allow POST based redirection...
if ($vbulletin->GPC['postvars'] != '')
{
$temp = unserialize($vbulletin->GPC['postvars']);
if ($temp['do'] != 'doenterpwd')
{ // ...but prevent an infinite loop
require_once(DIR . '/includes/functions_misc.php');
$vbulletin->GPC['postvars'] = construct_hidden_var_fields($vbulletin->GPC['postvars']);
}
else
{
$vbulletin->GPC['postvars'] = '';
}
}
// workaround IIS cookie+location header bug
$forceredirect = (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false);
eval(print_standard_redirect('forumpasswordcorrect ', true, $forceredirect));
}
else
{
require_once(DIR . '/includes/functions_misc.php');
$vbulletin->GPC['url'] = str_replace('&amp;', '&', $vbulletin->GPC['url']);
$postvars = construct_post_vars_html();
eval(standard_error(fetch_error('forumpasswordinco rrect',
$vbulletin->session->vars['sessionhash'],
htmlspecialchars_uni($vbulletin->GPC['url']),
$foruminfo['forumid'],
$postvars,
$stylevar['cellpadding'],
$stylevar['cellspacing']
)));
}
}
// ###### END SPECIAL PATHS
// These $_REQUEST values will get used in the sort template so they are assigned to normal variables
$perpage = $vbulletin->input->clean_gpc('r', 'perpage', TYPE_UINT);
$pagenumber = $vbulletin->input->clean_gpc('r', 'pagenumber', TYPE_UINT);
$daysprune = $vbulletin->input->clean_gpc('r', 'daysprune', TYPE_INT);
$sortfield = $vbulletin->input->clean_gpc('r', 'sortfield', TYPE_STR);
// get permission to view forum
$_permsgetter_ = 'forumdisplay';
$forumperms = fetch_permissions($foruminfo['forumid']);
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']))
{
print_no_permission();
}
// disable thread preview if we can't view threads
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads']))
{
$vbulletin->options['threadpreview'] = 0;
}
// check if there is a forum password and if so, ensure the user has it set
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);
$show['newthreadlink'] = iif(!$show['search_engine'] AND $foruminfo['allowposting'], true, false);
$show['threadicons'] = iif ($foruminfo['allowicons'], true, false);
$show['threadratings'] = iif ($foruminfo['allowratings'], true, false);
// get vbulletin->iforumcache - for use by makeforumjump and forums list
// fetch the forum even if they are invisible since its needed
// for the title but we'll unset that further down
cache_ordered_forums(1, 1);
if (!$daysprune)
{
if ($vbulletin->userinfo['daysprune'])
{
$daysprune = $vbulletin->userinfo['daysprune'];
}
else
{
$daysprune = iif($foruminfo['daysprune'], $foruminfo['daysprune'], 30);
}
}
// ### GET FORUMS, PERMISSIONS, MODERATOR iCACHES ########################
cache_moderators();
// draw nav bar
$navbits = array();
$parentlist = array_reverse(explode(',', substr($foruminfo['parentlist'], 0, -3)));
foreach ($parentlist AS $forumID)
{
$forumTitle = $vbulletin->forumcache["$forumID"]['title'];
$navbits['forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$forumID"] = $forumTitle;
}
// pop the last element off the end of the $nav array so that we can show it without a link
array_pop($navbits);
$navbits[''] = $foruminfo['title'];
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
$moderatorslist = '';
$listexploded = explode(',', $foruminfo['parentlist']);
$showmods = array();
$show['moderators'] = false;
$totalmods = 0;
foreach ($listexploded AS $parentforumid)
{
if (!$imodcache["$parentforumid"] OR $parentforumid == -1)
{
continue;
}
foreach ($imodcache["$parentforumid"] AS $moderator)
{
if ($showmods["$moderator[userid]"] === true)
{
continue;
}
($hook = vBulletinHook::fetch_hook('forumdisplay_moderator' )) ? eval($hook) : false;
$showmods["$moderator[userid]"] = true;
if ($moderatorslist == '')
{
$show['moderators'] = true;
eval('$moderatorslist = "' . fetch_template('forumdisplay_moderator') . '";');
}
else
{
eval('$moderatorslist .= ", ' . fetch_template('forumdisplay_moderator') . '";');
}
$totalmods++;
}
}
// ### BUILD FORUMS LIST #################################################
// get an array of child forum ids for this forum
$foruminfo['childlist'] = explode(',', $foruminfo['childlist']);
$comma = '';
// define max depth for forums display based on $vbulletin->options[forumhomedepth]
define('MAXFORUMDEPTH', $vbulletin->options['forumdisplaydepth']);
if (($vbulletin->options['showforumusers'] == 1 OR $vbulletin->options['showforumusers'] == 2 OR ($vbulletin->options['showforumusers'] > 2 AND $vbulletin->userinfo['userid'])) AND !$show['search_engine'])
{
$datecut = TIMENOW - $vbulletin->options['cookietimeout'];
$forumusers = $db->query_read_slave("
SELECT user.username, (user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
FROM " . TABLE_PREFIX . "session AS session
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > $datecut
ORDER BY" . iif($vbulletin->options['showforumusers'] == 1 OR $vbulletin->options['showforumusers'] == 3, " username ASC,") . " lastactivity DESC
");
$numberregistered = 0;
$numberguest = 0;
$doneuser = array();
if ($vbulletin->userinfo['userid'])
{
// fakes the user being in this forum
$loggedin = array(
'userid' => $vbulletin->userinfo['userid'],
'username' => $vbulletin->userinfo['username'],
'invisible' => $vbulletin->userinfo['invisible'],
'invisiblemark' => $vbulletin->userinfo['invisiblemark'],
'inforum' => $foruminfo['forumid'],
'lastactivity' => TIMENOW,
'musername' => $vbulletin->userinfo['musername'],
);
$numberregistered = 1;
fetch_online_status($loggedin);
($hook = vBulletinHook::fetch_hook('forumdisplay_loggedinus er')) ? eval($hook) : false;
eval('$activeusers = "' . fetch_template('forumdisplay_loggedinuser') . '";');
$doneuser["{$vbulletin->userinfo['userid']}"] = 1;
$comma = ', ';
}
$inforum = array();
// this require the query to have lastactivity ordered by DESC so that the latest location will be the first encountered.
while ($loggedin = $db->fetch_array($forumusers))
{
if (empty($doneuser["$loggedin[userid]"]))
{
if (in_array($loggedin['inforum'], $foruminfo['childlist']) AND $loggedin['inforum'] != -1)
{
if (!$loggedin['userid'])
{
// this is a guest
$numberguest++;
$inforum["$loggedin[inforum]"]++;
}
else
{
$numberregistered++;
$inforum["$loggedin[inforum]"]++;
($hook = vBulletinHook::fetch_hook('forumdisplay_loggedinus er')) ? eval($hook) : false;
if (fetch_online_status($loggedin))
{
fetch_musername($loggedin);
eval('$activeusers .= "' . $comma . fetch_template('forumdisplay_loggedinuser') . '";');
$comma = ', ';
}
}
}
if ($loggedin['userid'])
{
$doneuser["$loggedin[userid]"] = 1;
}
}
}
if (!$vbulletin->userinfo['userid'])
{
$numberguest = ($numberguest == 0) ? 1 : $numberguest;
}
$totalonline = $numberregistered + $numberguest;
unset($joingroupid, $key, $datecut , $comma, $invisibleuser, $userinfo, $userid, $loggedin, $index, $value, $forumusers, $parentarray );
$show['activeusers'] = true;
}
else
{
$show['activeusers'] = false;
}
// ################################################## ###########################
// get read status for this forum and children
$unreadchildforums = 0;
foreach ($foruminfo['childlist'] AS $val)
{
if ($val == -1 OR $val == $foruminfo['forumid'])
{
continue;
}
if ($vbulletin->options['threadmarking'] AND $vbulletin->userinfo['userid'])
{
$lastread_child = max($vbulletin->forumcache["$val"]['forumread'], TIMENOW - ($vbulletin->options['markinglimit'] * 86400));
}
else
{
$lastread_child = max(intval(fetch_bbarray_cookie('forum_view', $val)), $vbulletin->userinfo['lastvisit']);
}
if ($vbulletin->forumcache["$val"]['lastpost'] > $lastread_child)
{
$unreadchildforums = 1;
break;
}
}
$forumbits = construct_forum_bit($foruminfo['forumid']);
// admin tools
$show['adminoptions'] = can_moderate($foruminfo['forumid']);
$show['post_new_announcement'] = can_moderate($foruminfo['forumid'], 'canannounce');
$show['addmoderator'] = ($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']);
$curforumid = $foruminfo['forumid'];
construct_forum_jump();
/////////////////////////////////
if ($foruminfo['cancontainthreads'])
{
/////////////////////////////////
if ($vbulletin->options['threadmarking'] AND $vbulletin->userinfo['userid'])
{
$foruminfo['forumread'] = $vbulletin->forumcache["$foruminfo[forumid]"]['forumread'];
$lastread = max($foruminfo['forumread'], TIMENOW - ($vbulletin->options['markinglimit'] * 86400));
}
else
{
$bbforumview = intval(fetch_bbarray_cookie('forum_view', $foruminfo['forumid']));
$lastread = max($bbforumview, $vbulletin->userinfo['lastvisit']);
}
// Inline Moderation
$show['movethread'] = (can_moderate($forumid, 'canmanagethreads')) ? true : false;
$show['deletethread'] = (can_moderate($forumid, 'candeleteposts') OR can_moderate($forumid, 'canremoveposts')) ? true : false;
$show['approvethread'] = (can_moderate($forumid, 'canmoderateposts')) ? true : false;
$show['openthread'] = (can_moderate($forumid, 'canopenclose')) ? true : false;
$show['inlinemod'] = ($show['movethread'] OR $show['deletethread'] OR $show['approvethread'] OR $show['openthread']) ? true : false;
$url = $show['inlinemod'] ? SCRIPTPATH : '';
// fetch popup menu
if ($show['popups'] AND $show['inlinemod'])
{
eval('$threadadmin_imod_menu_thread = "' . fetch_template('threadadmin_imod_menu_thread') . '";');
}
else
{
$threadadmin_imod_thread_menu = '';
}
// get announcements
$announcebits = '';
if ($show['threadicons'] AND $show['inlinemod'])
{
$announcecolspan = 6;
}
else if (!$show['threadicons'] AND !$show['inlinemod'])
{
$announcecolspan = 4;
}
else
{
$announcecolspan = 5;
}
$mindate = TIMENOW - 2592000; // 30 days
$announcements = $db->query_read_slave("
SELECT
announcement.announcementid, startdate, title, announcement.views,
user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
" . (($vbulletin->userinfo['userid']) ? ", NOT ISNULL(announcementread.announcementid) AS readannounce" : "") . "
FROM " . TABLE_PREFIX . "announcement AS announcement
" . (($vbulletin->userinfo['userid']) ? "LEFT JOIN " . TABLE_PREFIX . "announcementread AS announcementread ON (announcementread.announcementid = announcement.announcementid AND announcementread.userid = " . $vbulletin->userinfo['userid'] . ")" : "") . "
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = announcement.userid)
WHERE startdate <= " . TIMENOW . "
AND enddate >= " . TIMENOW . "
AND " . fetch_forum_clause_sql($foruminfo['forumid'], 'forumid') . "
ORDER BY startdate DESC, announcement.announcementid DESC
" . iif($vbulletin->options['oneannounce'], "LIMIT 1"));
while ($announcement = $db->fetch_array($announcements))
{
fetch_musername($announcement);
$announcement['postdate'] = vbdate($vbulletin->options['dateformat'], $announcement['startdate']);
if ($announcement['readannounce'] OR $announcement['startdate'] <= $mindate)
{
$announcement['statusicon'] = 'old';
}
else
{
$announcement['statusicon'] = 'new';
}
$announcement['views'] = vb_number_format($announcement['views']);
$announcementidlink = iif(!$vbulletin->options['oneannounce'] , "&amp;a=$announcement[announcementid]");
($hook = vBulletinHook::fetch_hook('forumdisplay_announceme nt')) ? eval($hook) : false;
eval('$announcebits .= "' . fetch_template('threadbit_announcement') . '";');
}
// display threads
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']))
{
$limitothers = "AND postuserid = " . $vbulletin->userinfo['userid'] . " AND " . $vbulletin->userinfo['userid'] . " <> 0";
}
else
{
$limitothers = '';
}
if (can_moderate($foruminfo['forumid']))
{
$redirectjoin = "LEFT JOIN " . TABLE_PREFIX . "threadredirect AS threadredirect ON(thread.open = 10 AND thread.threadid = threadredirect.threadid)";
}
else
{
$redirectjoin = '';
}
// filter out deletion notices if can't be seen
if ($forumperms & $vbulletin->bf_ugp_forumpermissions['canseedelnotice'] OR can_moderate($foruminfo['forumid']))
{
$canseedelnotice = true;
$deljoin = "LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND deletionlog.type = 'thread')";
}
else
{
$canseedelnotice = false;
$deljoin = '';
}
// remove threads from users on the global ignore list if user is not a moderator
if ($Coventry = fetch_coventry('string') AND !can_moderate($foruminfo['forumid']))
{
$globalignore = "AND postuserid NOT IN ($Coventry) ";
}
else
{
$globalignore = '';
}
// look at thread limiting options
$stickyids = '';
$stickycount = 0;
if ($daysprune != -1)
{
if ($vbulletin->userinfo['userid'] AND in_coventry($vbulletin->userinfo['userid'], true))
{
$tachyjoin = "LEFT JOIN " . TABLE_PREFIX . "tachythreadpost AS tachythreadpost ON " .
"(tachythreadpost.threadid = thread.threadid AND tachythreadpost.userid = " . $vbulletin->userinfo['userid'] . ")";
$datecut = " AND (thread.lastpost >= " . (TIMENOW - ($daysprune * 86400)) . " OR tachythreadpost.lastpost >= " . (TIMENOW - ($daysprune * 86400)) . ")";
}
else
{
$datecut = "AND lastpost >= " . (TIMENOW - ($daysprune * 86400));
$tachyjoin = "";
}
$show['noposts'] = false;
}
else
{
$tachyjoin = "";
$datecut = "";
$show['noposts'] = true;
}
// complete form fields on page
$daysprunesel = iif($daysprune == -1, 'all', $daysprune);
$daysprunesel = array($daysprunesel => 'selected="selected"');
$vbulletin->input->clean_array_gpc('r', array(
'sortorder' => TYPE_NOHTML,
));
// default sorting methods
if (empty($sortfield))
{
$sortfield = $foruminfo['defaultsortfield'];
}
if (empty($vbulletin->GPC['sortorder']))
{
$vbulletin->GPC['sortorder'] = $foruminfo['defaultsortorder'];
}
// look at sorting options:
if ($vbulletin->GPC['sortorder'] != 'asc')
{
$sqlsortorder = 'DESC';
$order = array('desc' => 'selected="selected"');
$vbulletin->GPC['sortorder'] = 'desc';
}
else
{
$sqlsortorder = '';
$order = array('asc' => 'selected="selected"');
}
switch ($sortfield)
{
case 'title':
$sqlsortfield = 'thread.title';
break;
case 'lastpost':
$sqlsortfield = 'lastpost';
break;
case 'replycount':
case 'views':
case 'postusername':
$sqlsortfield = $sortfield;
break;
case 'voteavg':
if ($foruminfo['allowratings'])
{
$sqlsortfield = 'voteavg';
break;
}
case 'dateline':
$sqlsortfield = 'thread.dateline';
break;
// else, use last post
default:
$handled = false;
($hook = vBulletinHook::fetch_hook('forumdisplay_sort')) ? eval($hook) : false;
if (!$handled)
{
$sqlsortfield = 'lastpost';
$sortfield = 'lastpost';
}
}
$sort = array($sortfield => 'selected="selected"');
if (!can_moderate($forumid, 'canmoderateposts'))
{
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canseedelnotice']))
{
$visiblethreads = " AND visible = 1 ";
}
else
{
$visiblethreads = " AND visible IN (1,2)";
}
}
else
{
$visiblethreads = " AND visible IN (0,1,2)";
}
$hook_query_fields = $hook_query_joins = $hook_query_where = '';
($hook = vBulletinHook::fetch_hook('forumdisplay_query_thre adscount')) ? eval($hook) : false;
# Include visible IN (0,1,2) in order to hit upon the 4 column index
$threadscount = $db->query_first_slave("
SELECT COUNT(*) AS threads, SUM(IF(thread.lastpost > $lastread AND open <> 10, 1, 0)) AS newthread
$hook_query_fields
FROM " . TABLE_PREFIX . "thread AS thread
$tachyjoin
$hook_query_joins
WHERE forumid = $foruminfo[forumid]
AND sticky = 0
$visiblethreads
$globalignore
$limitothers
$datecut
$hook_query_where
");
$totalthreads = $threadscount['threads'];
$newthreads = $threadscount['newthread'];
// set defaults
sanitize_pageresults($totalthreads, $pagenumber, $perpage, 200, $vbulletin->options['maxthreads']);
// get number of sticky threads for the first page
// on the first page there will be the sticky threads PLUS the $perpage other normal threads
// not quite a bug, but a deliberate feature!
if ($pagenumber == 1 OR $vbulletin->options['showstickies'])
{
$stickies = $db->query_read_slave("
SELECT thread.threadid, lastpost, open
FROM " . TABLE_PREFIX . "thread AS thread
WHERE forumid = $foruminfo[forumid]
AND sticky = 1
$visiblethreads
$limitothers
$globalignore
");
while ($thissticky = $db->fetch_array($stickies))
{
$stickycount++;
if ($thissticky['lastpost'] >= $lastread AND $thissticky['open'] <> 10)
{
$newthreads++;
}
$stickyids .= ",$thissticky[threadid]";
}
$db->free_result($stickies);
unset($thissticky, $stickies);
}

$limitlower = ($pagenumber - 1) * $perpage;
$limitupper = ($pagenumber) * $perpage;
if ($limitupper > $totalthreads)
{
$limitupper = $totalthreads;
if ($limitlower > $totalthreads)
{
$limitlower = ($totalthreads - $perpage) - 1;
}
}
if ($limitlower < 0)
{
$limitlower = 0;
}
if ($foruminfo['allowratings'])
{
$vbulletin->options['showvotes'] = intval($vbulletin->options['showvotes']);
$votequery = "
IF(votenum >= " . $vbulletin->options['showvotes'] . ", votenum, 0) AS votenum,
IF(votenum >= " . $vbulletin->options['showvotes'] . " AND votenum > 0, votetotal / votenum, 0) AS voteavg,
";
}
else
{
$votequery = '';
}
if ($vbulletin->options['threadpreview'] > 0)
{
$previewfield = "post.pagetext AS preview,";
$previewjoin = "LEFT JOIN " . TABLE_PREFIX . "post AS post ON(post.postid = thread.firstpostid)";
}
else
{
$previewfield = '';
$previewjoin = '';
}
if ($vbulletin->userinfo['userid'] AND in_coventry($vbulletin->userinfo['userid'], true))
{
$lastpost_info1 = ",IF(tachythreadpost.userid IS NULL, thread.lastpost, tachythreadpost.lastpost) AS lastpost";
$lastpost_info2 = "IF(tachythreadpost.userid IS NULL, thread.lastpost, tachythreadpost.lastpost) AS lastpost, " .
"IF(tachythreadpost.userid IS NULL, thread.lastposter, tachythreadpost.lastposter) AS lastposter, " .
"IF(tachythreadpost.userid IS NULL, thread.lastpostid, tachythreadpost.lastpostid) AS lastpostid";
$tachyjoin = "LEFT JOIN " . TABLE_PREFIX . "tachythreadpost AS tachythreadpost ON " .
"(tachythreadpost.threadid = thread.threadid AND tachythreadpost.userid = " . $vbulletin->userinfo['userid'] . ')';
}
else
{
$lastpost_info1 = "";
$lastpost_info2 = "thread.lastpost, thread.lastposter, thread.lastpostid";
$tachyjoin = "";
}
$hook_query_fields = $hook_query_joins = $hook_query_where = '';
($hook = vBulletinHook::fetch_hook('forumdisplay_query_thre adid')) ? eval($hook) : false;
$getthreadids = $db->query_read_slave("
SELECT " . iif($sortfield == 'voteavg', $votequery) . " thread.threadid
$lastpost_info1
$hook_query_fields
FROM " . TABLE_PREFIX . "thread AS thread
$tachyjoin
$hook_query_joins
WHERE forumid = $foruminfo[forumid]
AND sticky = 0
$visiblethreads
$globalignore
$limitothers
$datecut
$hook_query_where
ORDER BY sticky DESC, $sqlsortfield $sqlsortorder
LIMIT $limitlower, $perpage
");
$ids = '';
while ($thread = $db->fetch_array($getthreadids))
{
$ids .= ',' . $thread['threadid'];
}
$ids .= $stickyids;
$db->free_result($getthreadids);
unset ($thread, $getthreadids);
$hook_query_fields = $hook_query_joins = $hook_query_where = '';
($hook = vBulletinHook::fetch_hook('forumdisplay_query')) ? eval($hook) : false;
$threads = $db->query_read_slave("
SELECT $votequery $previewfield
thread.threadid, thread.title AS threadtitle, thread.forumid, pollid, open, replycount, postusername, postuserid, thread.iconid AS threadiconid,
$lastpost_info2, thread.dateline, IF(views<=replycount, replycount+1, views) AS views, notes, thread.visible, sticky, votetotal, thread.attach,
hiddencount, deletedcount
" . (($vbulletin->options['threadsubscribed'] AND $vbulletin->userinfo['userid']) ? ", NOT ISNULL(subscribethread.subscribethreadid) AS issubscribed" : "") . "
" . ($deljoin ? ", deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason" : "") . "
" . (($vbulletin->options['threadmarking'] AND $vbulletin->userinfo['userid']) ? ", threadread.readtime AS threadread" : "") . "
" . ($redirectjoin ? ", threadredirect.expires" : "") . "
$hook_query_fields
FROM " . TABLE_PREFIX . "thread AS thread
$deljoin
" . (($vbulletin->options['threadsubscribed'] AND $vbulletin->userinfo['userid']) ? " LEFT JOIN " . TABLE_PREFIX . "subscribethread AS subscribethread ON(subscribethread.threadid = thread.threadid AND subscribethread.userid = " . $vbulletin->userinfo['userid'] . " AND canview = 1)" : "") . "
" . (($vbulletin->options['threadmarking'] AND $vbulletin->userinfo['userid']) ? " LEFT JOIN " . TABLE_PREFIX . "threadread AS threadread ON (threadread.threadid = thread.threadid AND threadread.userid = " . $vbulletin->userinfo['userid'] . ")" : "") . "
$previewjoin
$tachyjoin
$redirectjoin
$hook_query_joins
WHERE thread.threadid IN (0$ids) $hook_query_where
ORDER BY sticky DESC, $sqlsortfield $sqlsortorder
");
unset($limitothers, $delthreadlimit, $deljoin, $datecut, $votequery, $sqlsortfield, $sqlsortorder, $threadids);
// Get Dot Threads
$dotthreads = fetch_dot_threads_array($ids);
if ($vbulletin->options['showdots'] AND $vbulletin->userinfo['userid'])
{
$show['dotthreads'] = true;
}
else
{
$show['dotthreads'] = false;
}
unset($ids);
// prepare sort things for column header row:
$sorturl = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$forumid&amp;daysprune=$daysprune";
$oppositesort = iif($vbulletin->GPC['sortorder'] == 'asc', 'desc', 'asc');
if ($totalthreads > 0 OR $stickyids)
{
if ($totalthreads > 0)
{
$limitlower++;
}
// check to see if there are any threads to display. If there are, do so, otherwise, show message
if ($vbulletin->options['threadpreview'] > 0)
{
// Get Buddy List
$buddy = array();
if (trim($vbulletin->userinfo['buddylist']))
{
$buddylist = preg_split('/( )+/', trim($vbulletin->userinfo['buddylist']), -1, PREG_SPLIT_NO_EMPTY);
foreach ($buddylist AS $buddyuserid)
{
$buddy["$buddyuserid"] = 1;
}
}
DEVDEBUG('buddies: ' . implode(', ', array_keys($buddy)));
// Get Ignore Users
$ignore = array();
if (trim($vbulletin->userinfo['ignorelist']))
{
$ignorelist = preg_split('/( )+/', trim($vbulletin->userinfo['ignorelist']), -1, PREG_SPLIT_NO_EMPTY);
foreach ($ignorelist AS $ignoreuserid)
{
if (!$buddy["$ignoreuserid"])
{
$ignore["$ignoreuserid"] = 1;
}
}
}
DEVDEBUG('ignored users: ' . implode(', ', array_keys($ignore)));
}
$show['threads'] = true;
$threadbits = '';
$threadbits_sticky = '';
</table><p>
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<if condition="$show['threadicons']">
<td class="thead" colspan="2">&nbsp;</td>
<else />
<td class="thead">&nbsp;</td>
</if>
<td class="thead" width="100%">
<if condition="$show['threadratings']"><span style="float:$stylevar[right]"><a href="$sorturl&amp;order=desc&amp;sort=voteavg">$vbphrase[rating]</a> $sortarrow[voteavg]</span></if>
<a href="$sorturl&amp;order=asc&amp;sort=title">$vbphrase[thread]</a> $sortarrow[title] /
<a href="$sorturl&amp;order=asc&amp;sort=postusername">$vbphrase[thread_starter]</a> $sortarrow[postusername]
</td>
<td class="thead" width="150" align="center" nowrap="nowrap"><a href="$sorturl&amp;order=desc&amp;sort=lastpost">$vbphrase[last_post]</a> $sortarrow[lastpost]</td>
<td class="thead" align="center" nowrap="nowrap"><a href="$sorturl&amp;order=desc&amp;sort=replycount">$vbphrase[replies]</a> $sortarrow[replycount]</td>
<td class="thead" align="center" nowrap="nowrap"><a href="$sorturl&amp;order=desc&amp;sort=views">$vbphrase[views]</a> $sortarrow[views]</td>
</tr>
$counter = 0;
$toread = 0;
while ($thread = $db->fetch_array($threads))
{ // AND $counter++ < $perpage)
// build thread data
$thread = process_thread_array($thread, $lastread, $foruminfo['allowicons']);
$realthreadid = $thread['realthreadid'];
if ($thread['sticky'])
{
$threadbit =& $threadbits_sticky;
}
else
{
$threadbit =& $threadbits;
}
($hook = vBulletinHook::fetch_hook('threadbit_display')) ? eval($hook) : false;
// Soft Deleted Thread
if ($thread['visible'] == 2)
{
$thread['deletedcount']++;
$show['threadtitle'] = (can_moderate($forumid) OR ($vbulletin->userinfo['userid'] != 0 AND $vbulletin->userinfo['userid'] == $thread['postuserid'])) ? true : false;
$show['deletereason'] = (!empty($thread['del_reason'])) ? true : false;
$show['viewthread'] = (can_moderate($forumid)) ? true : false;
$show['managethread'] = (can_moderate($forumid, 'candeleteposts') OR can_moderate($forumid, 'canremoveposts')) ? true : false;
$show['moderated'] = ($thread['hiddencount'] > 0 AND can_moderate($forumid, 'canmoderateposts')) ? true : false;
$show['deletedthread'] = $canseedelnotice;
eval('$threadbit .= "' . fetch_template('threadbit_deleted') . '";');
}
else
{
if (!$thread['visible'])
{
$thread['hiddencount']++;
}
$show['moderated'] = ($thread['hiddencount'] > 0 AND can_moderate($forumid, 'canmoderateposts')) ? true : false;
$show['deletedthread'] = ($thread['deletedcount'] > 0 AND $canseedelnotice) ? true : false;
eval('$threadbit .= "' . fetch_template('threadbit') . '";');
}
}
$db->free_result($threads);
unset($thread, $counter);
$pagenav = construct_page_nav($pagenumber, $perpage, $totalthreads, 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$forumid", ""
. (!empty($vbulletin->GPC['perpage']) ? "&amp;pp=$perpage" : "")
. (!empty($vbulletin->GPC['sortfield']) ? "&amp;sort=$sortfield" : "")
. (!empty($vbulletin->GPC['sortorder']) ? "&amp;order=" . $vbulletin->GPC['sortorder'] : "")
. (!empty($vbulletin->GPC['daysprune']) ? "&amp;daysprune=$daysprune" : "")
);
eval('$sortarrow[' . $sortfield . '] = "' . fetch_template('forumdisplay_sortarrow') . '";');
}
unset($threads, $dotthreads);
// get colspan for bottom bar
$foruminfo['bottomcolspan'] = 6;
if ($foruminfo['allowicons'])
{
$foruminfo['bottomcolspan']++;
}
if ($foruminfo['allowratings'])
{
$foruminfo['bottomcolspan']++;
}
$show['threadslist'] = true;
/////////////////////////////////
} // end forum can contain threads
else
{
$show['threadslist'] = false;
}
/////////////////////////////////
if ($newthreads < 1 AND $unreadchildforums < 1)
{
mark_forum_read($foruminfo, $vbulletin->userinfo['userid'], TIMENOW);
}
eval('$forumhome_markread_script = "' . fetch_template('forumhome_markread_script') . '";');
construct_forum_rules($foruminfo, $forumperms);
$show['forumsearch'] = iif (!$show['search_engine'] AND $forumperms & $vbulletin->bf_ugp_forumpermissions['cansearch'] AND $vbulletin->options['enablesearches'], true, false);
$show['forumslist'] = iif ($forumshown, true, false);
$show['stickies'] = iif ($threadbits_sticky != '', true, false);
($hook = vBulletinHook::fetch_hook('forumdisplay_complete') ) ? eval($hook) : false;
eval('print_output("' . fetch_template('FORUMDISPLAY') . '");');

jack
26/07/2007, 22h24
Bonsoir,

Ombre, personne pour moi

jack
29/07/2007, 22h12
Bonsoir,

Je rémonte le sujet, parce je voudrais savoir comment résoudre mon problème

Ombre
29/07/2007, 22h51
Désolé mais je ne suis pas codeur, attend qu'un gentil codeur vienne t'aider ;)
j'ai regarder ton fichier deja il a pas 887 ligne il en a moins, vu que l erreur qui apparemment est un crochet en trop se trouve a cette 887ligne , je n'est rien pu faire :(

Ombre
30/07/2007, 05h47
D'apres un codeur, ton probleme viens probablement d un produit, suffitde desactiver 1 par 1 les hack (enfin seulement qui s'execute dans le forumdisplay a savoir forumdisplay_* , threadbit_* ....) et de vérifiais au fure et a mesure ;)

Tiens nous au courant.

jack
30/07/2007, 19h55
Bonsoir,

Comment ça, j'ai pas de hack d'installé, vous pouvez me dire ce que je doit supprimé,

Merci,

Ombre
30/07/2007, 21h40
Tu n as pas de hack d'installer mais pourtant tu as un soucis avec un hack? ...

jack
02/08/2007, 20h45
bonsoir,

désolé de mon retard, j'ai aucun hack d'installer cordialement,

comment résoudre ce problème

jack
05/08/2007, 21h59
Bonsoir,

Personne ?

loriental
25/09/2007, 22h28
Salut,

Sympa cette modif que je trouve utile pour départager...

parcontre dans le code de crash il ya l'oubli de menu_open.gif, ce qui est visible dans le screenshot.

comment l'ajouter dans le code de crash ?

@+

rilou
17/10/2007, 19h29
super merci :)

aminos
27/12/2007, 12h23
je le trouve plus en telechargement

Zypo
27/12/2007, 13h08
ya pas fichier lol,ouvre ton template et colle le code du dessu ^^

amorino
29/05/2008, 00h33
Bonjour

je m'explique lorsque qu'un moderateur ou administrateur veut modifier un intituler de post, on clique deux fois a cote de l'intitulé, et on modifie.

Mais le soucis dans certaine sections sa fonctionne pas.

une precision, par si un message important dans la sections, l'intitulé de celui-ci peut etre modifier.

Des que j'enleve ce ces lignes du hack, tout refonctionne.

Quelqu'un pourrai revoir ce hack ou trouver la modifications a faire.


Merci d'avance pour votre aide.

@+
Vbup les amis j'ai le même epronbmème des idées?