Re: اضف ازرار المحرر والإبتسامات بالرد السريع - bahaa87 - 2008-05-26
هذا هو التمبليتس الخاص بالرد السريع الذي لدي showthread_quickreply
طبعاً بدون التعديلات الخاصة بهذا الموضوع
PHP كود : <br /> <form method="post" action="newreply.php" name="input"{$ajaxqr_event}> <input type="hidden" name="my_post_key" value="{$mybb->post_code}" /> <input type="hidden" name="subject" value="RE: {$thread['subject']}" /> <input type="hidden" name="action" value="do_newreply" /> <input type="hidden" name="tid" value="{$tid}" /> <input type="hidden" name="posthash" value="{$posthash}" /><input type="hidden" name="time" value="{$time}" /> <input type="hidden" name="page" value="{$page}" /> <input type="hidden" name="postcount" value="{$postcounter}" /> <input type="hidden" name="quoted_ids" value="" /> <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder"> <thead> <tr> <td colspan="2" class="thead"> <div class="expcolimage"><img src="{$theme['imgdir']}/collapse{$collapsedimg['quickreply']}.gif" id="quickreply_img" class="expander" alt="[-]"/></div> <div><strong>{$lang->quick_reply}</strong></div> </td> </tr> </thead> <tbody style="{$collapsed['quickreply_e']}" id="quickreply_e"> <tr> <td class="trow1" valign="top" width="22%"> <strong>{$lang->message}</strong><br /> <span class="smalltext">{$lang->message_note}<br /><br /> <label><input type="checkbox" class="checkbox" name="postoptions[signature]" value="yes" {$postoptionschecked['signature']} /> <strong>{$lang->signature}</strong></label><br /> <label><input type="checkbox" class="checkbox" name="postoptions[emailnotify]" value="yes" {$postoptionschecked['emailnotify']} /> <strong>{$lang->email_notify}</strong></label><br /> <label><input type="checkbox" class="checkbox" name="postoptions[disablesmilies]" value="yes" /> <strong>{$lang->disable_smilies}</strong></label>{$closeoption}</span> </td> <td class="trow1"> <div> <textarea style="width: 90%; margin: 0;" rows="8" cols="80" name="message" id="message" tabindex="1"></textarea> </div> <script type="text/javascript">document.write('<div class="editor_control_bar" style="width: 90%; padding: 4px; margin-top: 3px; display: none;" id="quickreply_multiquote"><span class="smalltext">{$lang->quickreply_multiquote_selected} <a href="javascript:Thread.loadMultiQuoted();">{$lang->quickreply_multiquote_now}<\/a> {$lang->or} <a href="javascript:Thread.clearMultiQuoted();">{$lang->quickreply_multiquote_deselect}<\/a>.<\/span><\/div>');</script> </td> </tr> {$captcha} <tr> <td colspan="2" align="center" class="tfoot"><input type="submit" class="button" value="{$lang->post_reply}" tabindex="2" accesskey="s" onClick="this.form.preview = false;" /> <input type="submit" class="button" name="previewpost" value="{$lang->preview_post}" tabindex="3" onClick="this.form.preview = true;" /></td> </tr> </tbody> </table> </form>
حتى عند استبدالها بشكل كامل بالذي قد وضعته يا اخ بيبو لم يفلح الأمر فما الحل؟؟؟
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - bahaa87 - 2008-06-05
ياشباب ماهي المشكلة التي لدي
أرجو ان يقوم احد ويسعفني
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - Pepo - 2008-06-05
جرب إستخدام التالى
كود : <br />
<form method="post" action="newreply.php" name="input">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<input type="hidden" name="subject" value="Re: {$thread['subject']}" />
<input type="hidden" name="action" value="do_newreply" />
<input type="hidden" name="tid" value="{$tid}" />
<input type="hidden" name="posthash" value="{$posthash}" />
<input type="hidden" name="quoted_ids" value="" />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<thead>
<tr>
<td colspan="3" class="thead">
<div class="expcolimage"><img src="{$theme['imgdir']}/collapse{$collapsedimg['quickreply']}.gif" id="quickreply_img" class="expander" alt="[-]"/></div>
<div><strong>{$lang->quick_reply}</strong> <span style="color:#990000; size:14;">لا تنسى ان الله يراك</span></div>
</td>
</tr>
</thead>
<tbody style="{$collapsed['quickreply_e']}" id="quickreply_e">
<tr>
<td class="trow1" valign="top" width="16%">
<strong>{$lang->message}</strong><br />
<span class="smalltext">{$lang->message_note}<br /><br />
<label><input type="checkbox" class="checkbox" name="postoptions[signature]" value="yes" {$postoptionschecked['signature']} /> <strong>{$lang->signature}</strong></label><br />
<label><input type="checkbox" class="checkbox" name="postoptions[emailnotify]" value="yes" {$postoptionschecked['emailnotify']} checked="checked" /> <strong>{$lang->email_notify}</strong></label><br />
<label><input name="postoptions[disablesmilies]" type="checkbox" class="checkbox" value="yes" />
<strong>{$lang->disable_smilies}</strong></label>{$closeoption}</span>
</td>
<td class="trow1">
<div>
{$codebuttons}
<textarea id="message" name="message" rows="10" cols="80" tabindex="2" >{$message}</textarea>
</div>
<script type="text/javascript">document.write('<div class="editor_control_bar" style="width: 90%; padding: 4px; margin-top: 3px; display: none;" id="quickreply_multiquote"><span class="smalltext">{$lang->quickreply_multiquote_selected} <a href="javascript:Thread.loadMultiQuoted();">{$lang->quickreply_multiquote_now}<\/a> {$lang->or} <a href="javascript:Thread.clearMultiQuoted();">{$lang->quickreply_multiquote_deselect}<\/a>.<\/span><\/div>');</script>
</td>
</tr>
<tr>
<td colspan="3" align="center" class="tfoot"><input type="submit" class="button" value="{$lang->post_reply}" tabindex="2" accesskey="s" /> <input type="submit" class="button" name="previewpost" value="{$lang->preview_post}" tabindex="3" /></td>
</tr>
</tbody>
</table>
</form>
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - bahaa87 - 2008-06-05
للأسف أخي بيبو لم تنفع معي ولا ادري ما السبب؟؟؟؟
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - Pepo - 2008-06-06
اذا المشكلة ليست فى هذا التعديل.. المشكلة بقالب showthread نفسه
او بملف showthread.php و ملف global.php تأكد ان كل ماذكر يستخدم الإفتراضى..
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - bahaa87 - 2008-06-06
حسنا اخي إليك كل ماطلبته وأعتذر عن التأخير
هذا ملف showthread.php:
PHP كود : <?php /** * MyBB 1.2 * Copyright © 2006 MyBB Group, All Rights Reserved * * Website: http://www.mybboard.net * License: http://www.mybboard.net/eula.html * * $Id: showthread.php 3595 2008-01-09 00:10:57Z Tikitiki $ */
define("IN_MYBB", 1);
$templatelist = "showthread,postbit,postbit_author_user,postbit_author_guest,showthread_newthread,showthread_newreply,showthread_newreply_closed,postbit_sig,showthread_newpoll,postbit_avatar,postbit_profile,postbit_find,postbit_pm,postbit_www,postbit_email,postbit_edit,postbit_quote,postbit_report,postbit_signature, postbit_online,postbit_offline,postbit_away,showthread_ratingdisplay,showthread_ratethread,showthread_moderationoptions"; $templatelist .= ",multipage_prevpage,multipage_nextpage,multipage_page_current,multipage_page,multipage_start,multipage_end,multipage"; $templatelist .= ",postbit_editedby,showthread_similarthreads,showthread_similarthreads_bit,postbit_iplogged_show,postbit_iplogged_hiden,showthread_quickreply"; $templatelist .= ",forumjump_advanced,forumjump_special,forumjump_bit,showthread_multipage,postbit_reputation,postbit_quickdelete,postbit_attachments,thumbnails_thumbnail,postbit_attachments_attachment,postbit_attachments_thumbnails,postbit_attachments_images_image,postbit_attachments_images,postbit_posturl"; $templatelist .= ",postbit_inlinecheck,showthread_inlinemoderation,postbit_attachments_thumbnails_thumbnail,postbit_quickquote,postbit_qqmessage,postbit_seperator,postbit_groupimage,postbit_multiquote";
require_once "./global.php"; require_once MYBB_ROOT."inc/functions_post.php"; require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
// Load global language phrases $lang->load("showthread");
// If there is no tid but a pid, trick the system into thinking there was a tid anyway. if($mybb->input['pid'] && !$mybb->input['tid']) { $options = array( "limit" => 1 ); $query = $db->simple_select(TABLE_PREFIX."posts", "tid", "pid=".$mybb->input['pid'], $options); $post = $db->fetch_array($query); $pid = $mybb->input['pid']; $mybb->input['tid'] = $post['tid']; }
// Get the thread details from the database. $options = array( "limit" => 1 ); $query = $db->simple_select(TABLE_PREFIX."threads", "*", "tid='".$mybb->input['tid']."' AND closed NOT LIKE 'moved|%'"); $thread = $db->fetch_array($query); $thread['subject'] = htmlspecialchars_uni($parser->parse_badwords($thread['subject'])); $tid = $thread['tid']; $fid = $thread['fid'];
if(!$thread['username']) { $thread['username'] = $lang->guest; }
// Is the currently logged in user a moderator of this forum? if(is_moderator($fid) == "yes") { $ismod = true; } else { $ismod = false; }
// Make sure we are looking at a real thread here. if(!$thread['tid'] || ($thread['visible'] == 0 && $ismod == false) || ($thread['visible'] > 1 && $ismod == true)) { error($lang->error_invalidthread); }
$archive_url = build_archive_link("thread", $tid);
// Build the navigation. build_forum_breadcrumb($fid); add_breadcrumb($thread['subject'], "showthread.php?tid=$tid");
// Does the thread belong to a valid forum? $forum = get_forum($fid); if(!$forum || $forum['type'] != "f") { error($lang->error_invalidforum); }
// Does the user have permission to view this thread? $forumpermissions = forum_permissions($forum['fid']);
if($forumpermissions['canview'] != "yes" || $forumpermissions['canviewthreads'] != "yes") { error_no_permission(); }
// Check if this forum is password protected and we have a valid password check_forum_password($forum['fid']);
// If there is no specific action, we must be looking at the thread. if(!$mybb->input['action']) { $mybb->input['action'] = "thread"; }
// Jump to the last post. if($mybb->input['action'] == "lastpost") { if(strstr($thread['closed'], "moved|")) { $query = $db->query(" SELECT p.pid FROM ".TABLE_PREFIX."posts p, ".TABLE_PREFIX."threads t WHERE t.fid='".$thread['fid']."' AND t.closed NOT LIKE 'moved|%' AND p.tid=t.tid ORDER BY p.dateline DESC LIMIT 0, 1 "); $pid = $db->fetch_field($query, "pid"); } else { $options = array( 'order_by' => 'dateline', 'order_dir' => 'desc', 'limit_start' => 0, 'limit' => 1 ); $query = $db->simple_select(TABLE_PREFIX.'posts', 'pid', "tid={$tid}", $options); $pid = $db->fetch_field($query, "pid"); } header("Location:showthread.php?tid={$tid}&pid={$pid}#pid{$pid}"); exit; }
// Jump to the next newest posts. if($mybb->input['action'] == "nextnewest") { $options = array( "limit_start" => 0, "limit" => 1, "order_by" => "lastpost" ); $query = $db->simple_select(TABLE_PREFIX.'threads', '*', "fid={$thread['fid']} AND lastpost > {$thread['lastpost']} AND visible=1 AND closed NOT LIKE 'moved|%'", $options); $nextthread = $db->fetch_array($query);
// Are there actually next newest posts? if(!$nextthread['tid']) { error($lang->error_nonextnewest); } $options = array( "limit_start" => 0, "limit" => 1, "order_by" => "dateline", "order_dir" => "desc" ); $query = $db->simple_select(TABLE_PREFIX.'posts', 'pid', "tid={$nextthread['tid']}");
// Redirect to the proper page. $pid = $db->fetch_field($query, "pid"); header("Location:showthread.php?tid={$nextthread['tid']}&pid={$pid}#pid{$pid}"); }
// Jump to the next oldest posts. if($mybb->input['action'] == "nextoldest") { $options = array( "limit" => 1, "limit_start" => 0, "order_by" => "lastpost", "order_dir" => "desc" ); $query = $db->simple_select(TABLE_PREFIX."threads", "*", "fid=".$thread['fid']." AND lastpost < ".$thread['lastpost']." AND visible=1 AND closed NOT LIKE 'moved|%'", $options); $nextthread = $db->fetch_array($query);
// Are there actually next oldest posts? if(!$nextthread['tid']) { error($lang->error_nonextoldest); } $options = array( "limit_start" => 0, "limit" => 1, "order_by" => "dateline", "order_dir" => "desc" ); $query = $db->simple_select(TABLE_PREFIX."posts", "pid", "tid=".$nextthread['tid']);
// Redirect to the proper page. $pid = $db->fetch_field($query, "pid"); header("Location:showthread.php?tid=$nextthread[tid]&pid=$pid#pid$pid"); }
// Jump to the unread posts. if($mybb->input['action'] == "newpost") { // First, figure out what time the thread or forum were last read $query = $db->simple_select(TABLE_PREFIX."threadsread", "dateline", "uid='{$mybb->user['uid']}' AND tid='{$thread['tid']}'"); $thread_read = $db->fetch_field($query, "dateline");
// Get forum read date $forumread = my_get_array_cookie("forumread", $fid);
// If last visit is greater than forum read, change forum read date if($mybb->user['lastvisit'] > $forumread) { $forumread = $mybb->user['lastvisit']; } if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'] && $thread['lastpost'] > $forumread) { $cutoff = time()-$mybb->settings['threadreadcut']*60*60*24; if($thread['lastpost'] > $cutoff) { if($thread_read) { $lastread = $thread_read; } else { $lastread = 1; } } } if(!$lastread) { $readcookie = $threadread = my_get_array_cookie("threadread", $thread['tid']); if($readcookie > $forumread) { $lastread = $readcookie; } else { $lastread = $forumread; } } // Next, find the proper pid to link to. $options = array( "limit_start" => 0, "limit" => 1, "order_by" => "dateline", "order_dir" => "asc" ); $query = $db->simple_select(TABLE_PREFIX."posts", "pid", "tid=".$tid." AND dateline > '{$lastread}'", $options); $newpost = $db->fetch_array($query); if($newpost['pid']) { header("Location:showthread.php?tid={$tid}&pid={$newpost['pid']}#pid{$newpost['pid']}"); } else { header("Location:showthread.php?action=lastpost&tid={$tid}"); } }
if($mybb->input['pid']) { $pid = $mybb->input['pid']; }
$plugins->run_hooks("showthread_start");
// Show the entire thread (taking into account pagination). if($mybb->input['action'] == "thread") { if($thread['firstpost'] == 0) { update_first_post($tid); } // Does this thread have a poll? if($thread['poll']) { $options = array( "limit" => 1 ); $query = $db->simple_select(TABLE_PREFIX."polls", "*", "pid='".$thread['poll']."'"); $poll = $db->fetch_array($query); $poll['timeout'] = $poll['timeout']*60*60*24; $expiretime = $poll['dateline'] + $poll['timeout']; $now = time();
// If the poll or the thread is closed or if the poll is expired, show the results. if($poll['closed'] == "yes" || $thread['closed'] == "yes" || ($expiretime < $now && $poll['timeout'] > 0)) { $showresults = 1; }
// If the user is not a guest, check if he already voted. if($mybb->user['uid'] != 0) { $query = $db->simple_select(TABLE_PREFIX."pollvotes", "*", "uid='".$mybb->user['uid']."' AND pid='".$poll['pid']."'"); while($votecheck = $db->fetch_array($query)) { $alreadyvoted = 1; $votedfor[$votecheck['voteoption']] = 1; } } else { if($_COOKIE['pollvotes'][$poll['pid']]) { $alreadyvoted = 1; } } $optionsarray = explode("||~|~||", $poll['options']); $votesarray = explode("||~|~||", $poll['votes']); $poll['question'] = htmlspecialchars_uni($poll['question']); $polloptions = ''; $totalvotes = 0;
for($i = 1; $i <= $poll['numoptions']; $i++) { $poll['totvotes'] = $poll['totvotes'] + $votesarray[$i-1]; }
// Loop through the poll options. for($i = 1; $i <= $poll['numoptions']; ++$i) { // Set up the parser options. $parser_options = array( "allow_html" => $forum['allowhtml'], "allow_mycode" => $forum['allowmycode'], "allow_smilies" => $forum['allowsmilies'], "allow_imgcode" => $forum['allowimgcode'] );
$option = $parser->parse_message($optionsarray[$i-1], $parser_options); $votes = $votesarray[$i-1]; $totalvotes += $votes; $number = $i;
// Mark the option the user voted for. if($votedfor[$number]) { $optionbg = "trow2"; $votestar = "*"; } else { $optionbg = "trow1"; $votestar = ""; }
// If the user already voted or if the results need to be shown, do so; else show voting screen. if($alreadyvoted || $showresults) { if(intval($votes) == "0") { $percent = "0"; } else { $percent = number_format($votes / $poll['totvotes'] * 100, 2); } $imagewidth = round(($percent/3) * 5); eval("\$polloptions .= \"".$templates->get("showthread_poll_resultbit")."\";"); } else { if($poll['multiple'] == "yes") { eval("\$polloptions .= \"".$templates->get("showthread_poll_option_multiple")."\";"); } else { eval("\$polloptions .= \"".$templates->get("showthread_poll_option")."\";"); } } }
// If there are any votes at all, all votes together will be 100%; if there are no votes, all votes together will be 0%. if($poll['totvotes']) { $totpercent = "100%"; } else { $totpercent = "0%"; }
// Check if user is allowed to edit posts; if so, show "edit poll" link. if(is_moderator($fid, 'caneditposts') != 'yes') { $edit_poll = ''; } else { $edit_poll = "| <a href=\"polls.php?action=editpoll&pid={$poll['pid']}\">{$lang->edit_poll}</a>"; }
// Decide what poll status to show depending on the status of the poll and whether or not the user voted already. if($alreadyvoted || $showresults) { if($alreadyvoted) { $pollstatus = $lang->already_voted; } else { $pollstatus = $lang->poll_closed; } $lang->total_votes = sprintf($lang->total_votes, $totalvotes); eval("\$pollbox = \"".$templates->get("showthread_poll_results")."\";"); $plugins->run_hooks("showthread_poll_results"); } else { $publicnote = ' '; if($poll['public'] == "yes") { $publicnote = $lang->public_note; } eval("\$pollbox = \"".$templates->get("showthread_poll")."\";"); $plugins->run_hooks("showthread_poll"); }
} else { $pollbox = ""; }
// Create the forum jump dropdown box. if($mybb->settings['enableforumjump'] != "no") { $forumjump = build_forum_jump("", $fid, 1); }
// Mark this thread read for the currently logged in user. if($mybb->settings['threadreadcut'] && ($mybb->user['uid'] != 0)) { // For registered users, store the information in the database. $db->shutdown_query(" REPLACE INTO ".TABLE_PREFIX."threadsread SET tid='$tid', uid='".$mybb->user['uid']."', dateline='".time()."' "); } else { // For guests, store the information in a cookie. my_set_array_cookie("threadread", $tid, time()); }
// If the forum is not open, show closed newreply button unless the user is a moderator of this forum. if($forum['open'] != "no") { eval("\$newthread = \"".$templates->get("showthread_newthread")."\";");
// Show the appropriate reply button if this thread is open or closed if($thread['closed'] == "yes") { eval("\$newreply = \"".$templates->get("showthread_newreply_closed")."\";"); } else { eval("\$newreply = \"".$templates->get("showthread_newreply")."\";"); } }
// Create the admin tools dropdown box. if($ismod == true) { if($pollbox) { $adminpolloptions = "<option value=\"deletepoll\">".$lang->delete_poll."</option>"; } if($thread['visible'] != 1) { $approveunapprovethread = "<option value=\"approvethread\">".$lang->approve_thread."</option>"; } else { $approveunapprovethread = "<option value=\"unapprovethread\">".$lang->unapprove_thread."</option>"; } if($thread['closed'] == "yes") { $closelinkch = "checked"; } if($thread['sticky']) { $stickch = "checked"; } $closeoption = "<br /><label><input type=\"checkbox\" class=\"checkbox\" name=\"modoptions[closethread]\" value=\"yes\" $closelinkch /> <strong>".$lang->close_thread."</strong></label>"; $closeoption .= "<br /><label><input type=\"checkbox\" class=\"checkbox\" name=\"modoptions[stickthread]\" value=\"yes\" $stickch /> <strong>".$lang->stick_thread."</strong></label>"; $inlinecount = "0"; $inlinecookie = "inlinemod_thread".$tid; $plugins->run_hooks("showthread_ismod"); } else { $adminoptions = " "; $inlinemod = ""; }
// Decide whether or not to include signatures. if($forumpermissions['canpostreplys'] != "no" && ($thread['closed'] != "yes" || is_moderator($fid) == "yes") && $mybb->settings['quickreply'] != "off" && $mybb->user['showquickreply'] != "no" && $forum['open'] != "no") { // Show captcha image for guests if enabled if($mybb->settings['captchaimage'] == "on" && function_exists("imagepng") && !$mybb->user['uid']) { $randomstr = random_str(5); $imagehash = md5($randomstr); $imagearray = array( "imagehash" => $imagehash, "imagestring" => $randomstr, "dateline" => time() ); $db->insert_query(TABLE_PREFIX."captcha", $imagearray); eval("\$captcha = \"".$templates->get("post_captcha")."\";"); } if($mybb->user['signature']) { $postoptionschecked['signature'] = "checked"; } if($mybb->user['emailnotify'] == "yes") { $postoptionschecked['emailnotify'] = "checked"; } mt_srand ((double) microtime() * 1000000); $posthash = md5($mybb->user['uid'].mt_rand()); $codebuttons = build_mycode_inserter(); $smilieinserter = build_clickable_smilies(); eval("\$quickreply = \"".$templates->get("showthread_quickreply")."\";"); } else { $quickreply = ""; }
// Increment the thread view. $db->shutdown_query("UPDATE ".TABLE_PREFIX."threads SET views=views+1 WHERE tid='$tid'"); ++$thread['views'];
// Work out the thread rating for this thread. if($forum['allowtratings'] != "no" && $thread['numratings'] > 0) { $thread['averagerating'] = round(($thread['totalratings']/$thread['numratings']), 2); $rateimg = intval(round($thread['averagerating'])); $thread['rating'] = $rateimg."stars.gif"; $thread['numratings'] = intval($thread['numratings']); $ratingav = sprintf($lang->rating_average, $thread['numratings'], $thread['averagerating']); eval("\$rating = \"".$templates->get("showthread_ratingdisplay")."\";"); } else { $rating = ""; } if($forum['allowtratings'] == "yes" && $forumpermissions['canratethreads'] == "yes") { eval("\$ratethread = \"".$templates->get("showthread_ratethread")."\";"); } // Work out if we are showing unapproved posts as well (if the user is a moderator etc.) if($ismod) { $visible = "AND (p.visible='0' OR p.visible='1')"; } else { $visible = "AND p.visible='1'"; }
// Threaded or lineair display? if($mybb->input['mode'] == "threaded") { $isfirst = 1;
// Are we linked to a specific pid? if($mybb->input['pid']) { $where = "AND p.pid='".$mybb->input['pid']."'"; } else { $where = " ORDER BY dateline ASC LIMIT 0, 1"; } $query = $db->query(" SELECT u.*, u.username AS userusername, p.*, f.*, eu.username AS editusername FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid) LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid) LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid) WHERE p.tid='$tid' $visible $where "); $showpost = $db->fetch_array($query);
// Choose what pid to display. if(!$mybb->input['pid']) { $mybb->input['pid'] = $showpost['pid']; }
// Is there actually a pid to display? if(!$showpost['pid']) { error($lang->error_invalidpost); }
// Get the attachments for this post. $query = $db->simple_select(TABLE_PREFIX."attachments", "*", "pid=".$mybb->input['pid']); while($attachment = $db->fetch_array($query)) { $attachcache[$attachment['pid']][$attachment['aid']] = $attachment; }
// Build the threaded post display tree. $query = $db->query(" SELECT p.username, p.uid, p.pid, p.replyto, p.subject, p.dateline FROM ".TABLE_PREFIX."posts p WHERE p.tid='$tid' $visible ORDER BY p.dateline "); while($post = $db->fetch_array($query)) { if(!$postsdone[$post['pid']]) { if($post['pid'] == $mybb->input['pid'] || ($isfirst && !$mybb->input['pid'])) { $isfirst = 0; } $tree[$post['replyto']][$post['pid']] = $post; $postsdone[$post['pid']] = 1; } } $threadedbits = buildtree(); $posts = build_postbit($showpost); eval("\$threadexbox = \"".$templates->get("showthread_threadedbox")."\";"); $plugins->run_hooks("showthread_threaded"); } else // Linear display { // Figure out if we need to display multiple pages. $perpage = $mybb->settings['postsperpage']; if($mybb->input['page'] != "last") { $page = intval($mybb->input['page']); } if($mybb->input['pid']) { $query = $db->query(" SELECT COUNT(p.pid) AS count FROM ".TABLE_PREFIX."posts p WHERE p.tid='$tid' AND p.pid <= '".$mybb->input['pid']."' $visible "); $result = $db->fetch_field($query, "count"); if(($result % $perpage) == 0) { $page = $result / $perpage; } else { $page = intval($result / $perpage) + 1; } } // Recount replies if user is a moderator to take into account unapproved posts. if($ismod) { $query = $db->simple_select(TABLE_PREFIX."posts p", "COUNT(*) AS replies", "p.tid='$tid' $visible"); $thread['replies'] = $db->fetch_field($query, 'replies')-1; } $postcount = intval($thread['replies'])+1; $pages = $postcount / $perpage; $pages = ceil($pages);
if($mybb->input['page'] == "last") { $page = $pages; }
if($page > $pages) { $page = 1; }
if($page) { $start = ($page-1) * $perpage; } else { $start = 0; $page = 1; } $upper = $start+$perpage;
$multipage = multipage($postcount, $perpage, $page, "showthread.php?tid=$tid"); if($postcount > $perpage) { eval("\$threadpages = \"".$templates->get("showthread_multipage")."\";"); }
// Lets get the pids of the posts on this page. $pids = ""; $comma = ''; $query = $db->simple_select(TABLE_PREFIX."posts p", "p.pid", "p.tid='$tid' $visible", array('order_by' => 'p.dateline', 'limit_start' => $start, 'limit' => $perpage)); while($getid = $db->fetch_array($query)) { $pids .= "$comma'$getid[pid]'"; $comma = ","; } if($pids) { $pids = "pid IN($pids)"; // Now lets fetch all of the attachments for these posts. $query = $db->simple_select(TABLE_PREFIX."attachments", "*", $pids); while($attachment = $db->fetch_array($query)) { $attachcache[$attachment['pid']][$attachment['aid']] = $attachment; } } else { // If there are no pid's the thread is probably awaiting approval. error($lang->error_invalidthread); }
// Get the actual posts from the database here. $pfirst = true; $posts = ''; $query = $db->query(" SELECT u.*, u.username AS userusername, p.*, f.*, eu.username AS editusername FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid) LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid) LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid) WHERE $pids ORDER BY p.dateline "); while($post = $db->fetch_array($query)) { if($pfirst && $thread['visible'] == 0) { $post['visible'] = 0; } $posts .= build_postbit($post); $post = ''; $pfirst = false; } $plugins->run_hooks("showthread_linear"); }
// Show the similar threads table if wanted. if($mybb->settings['showsimilarthreads'] != "no") { $query = $db->query(" SELECT t.*, t.username AS threadusername, u.username, MATCH (t.subject) AGAINST ('".$db->escape_string($thread['subject'])."') AS relevance FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid) WHERE t.fid='{$thread['fid']}' AND t.tid!='{$thread['tid']}' AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND MATCH (t.subject) AGAINST ('".$db->escape_string($thread['subject'])."') >= '{$mybb->settings['similarityrating']}' ORDER BY t.lastpost DESC LIMIT 0, {$mybb->settings['similarlimit']} "); $count = 0; $similarthreadbits = ''; $icon_cache = $cache->read("posticons"); while($similar_thread = $db->fetch_array($query)) { ++$count; $trow = alt_trow(); if($similar_thread['icon'] > 0 && $icon_cache[$similar_thread['icon']]) { $icon = $icon_cache[$similar_thread['icon']]; $icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" />"; } else { $icon = " "; } if(!$similar_thread['username']) { $similar_thread['username'] = $similar_thread['threadusername']; $similar_thread['profilelink'] = $similar_thread['threadusername']; } else { $similar_thread['profilelink'] = build_profile_link($similar_thread['username'], $similar_thread['uid']); } $similar_thread['subject'] = $parser->parse_badwords($similar_thread['subject']); $similar_thread['subject'] = htmlspecialchars_uni($similar_thread['subject']);
$lastpostdate = my_date($mybb->settings['dateformat'], $similar_thread['lastpost']); $lastposttime = my_date($mybb->settings['timeformat'], $similar_thread['lastpost']); $lastposter = $similar_thread['lastposter']; $lastposteruid = $similar_thread['lastposteruid'];
// Don't link to guest's profiles (they have no profile). if($lastposteruid == 0) { $lastposterlink = $lastposter; } else { $lastposterlink = build_profile_link($lastposter, $lastposteruid); } $similar_thread['replies'] = my_number_format($similar_thread['replies']); $similar_thread['views'] = my_number_format($similar_thread['views']); eval("\$similarthreadbits .= \"".$templates->get("showthread_similarthreads_bit")."\";"); } if($count) { eval("\$similarthreads = \"".$templates->get("showthread_similarthreads")."\";"); } }
// If the user is a moderator, show the moderation tools. if($ismod) { $customthreadtools = $customposttools = ''; $query = $db->simple_select(TABLE_PREFIX."modtools", "tid, name, type", "CONCAT(',',forums,',') LIKE '%,$fid,%' OR CONCAT(',',forums,',') LIKE '%,-1,%'"); while($tool = $db->fetch_array($query)) { if($tool['type'] == 'p') { eval("\$customposttools .= \"".$templates->get("showthread_inlinemoderation_custom_tool")."\";"); } else { eval("\$customthreadtools .= \"".$templates->get("showthread_moderationoptions_custom_tool")."\";"); } } // Build inline moderation dropdown if(!empty($customposttools)) { eval("\$customposttools = \"".$templates->get("showthread_inlinemoderation_custom")."\";"); } eval("\$inlinemod = \"".$templates->get("showthread_inlinemoderation")."\";");
// Build thread moderation dropdown if(!empty($customthreadtools)) { eval("\$customthreadtools = \"".$templates->get("showthread_moderationoptions_custom")."\";"); } eval("\$moderationoptions = \"".$templates->get("showthread_moderationoptions")."\";"); } $lang->newthread_in = sprintf($lang->newthread_in, $forum['name']); eval("\$showthread = \"".$templates->get("showthread")."\";"); $plugins->run_hooks("showthread_end"); output_page($showthread); }
/** * Build a navigation tree for threaded display. * * @param unknown_type $replyto * @param unknown_type $indent * @return unknown */ function buildtree($replyto="0", $indent="0") { global $tree, $mybb, $theme, $mybb, $pid, $tid, $templates, $parser; if($indent) { $indentsize = 13 * $indent; } else { $indentsize = 0; } ++$indent; if(is_array($tree[$replyto])) { foreach($tree[$replyto] as $key => $post) { $postdate = my_date($mybb->settings['dateformat'], $post['dateline']); $posttime = my_date($mybb->settings['timeformat'], $post['dateline']); $post['subject'] = htmlspecialchars_uni($parser->parse_badwords($post['subject'])); if(!$post['subject']) { $post['subject'] = "[".$lang->no_subject."]"; } $post['profilelink'] = build_profile_link($post['username'], $post['uid']); if($mybb->input['pid'] == $post['pid']) { eval("\$posts .= \"".$templates->get("showthread_threaded_bitactive")."\";"); } else { eval("\$posts .= \"".$templates->get("showthread_threaded_bit")."\";"); } if($tree[$post['pid']]) { $posts .= buildtree($post['pid'], $indent); } } --$indent; } return $posts; }
?>
وهذا ملف global.php:
PHP كود : <?php /** * MyBB 1.2 * Copyright © 2006 MyBB Group, All Rights Reserved * * Website: http://www.mybboard.com * License: http://www.mybboard.com/eula.html * * $Id: global.php 2791 2007-02-14 02:31:03Z chris $ */
// Load main MyBB core file which begins all of the magic require_once dirname(__FILE__)."/inc/init.php";
$shutdown_queries = array();
// Read the usergroups cache as well as the moderators cache $groupscache = $cache->read("usergroups"); $mcache = $cache->read("moderators");
// If the groups cache doesn't exist, update it and re-read it if(!is_array($groupscache)) { $cache->updateusergroups(); $groupscache = $cache->read("usergroups"); }
// Read forum permissions cache $fpermissioncache = $cache->read("forumpermissions");
// Send page headers send_page_headers();
// Trigger an error if the installation directory exists if(is_dir(MYBB_ROOT."install") && !file_exists(MYBB_ROOT."install/lock")) { $mybb->trigger_generic_error("install_directory", true); }
// Do not use session system for defined pages if((isset($mybb->input['action']) && isset($nosession[$mybb->input['action']])) || (isset($mybb->input['thumbnail']) && strstr($_SERVER["PHP_SELF"], 'attachment.php'))) { define("NO_ONLINE", 1); }
// Create session for this user require_once MYBB_ROOT."inc/class_session.php"; $session = new session; $session->init();
// Set our POST validation code here $mybb->post_code = generate_post_check();
// Set and load the language if(!isset($mybb->settings['bblanguage'])) { $mybb->settings['bblanguage'] = "english"; }
// Load language $lang->set_language($mybb->settings['bblanguage']); $lang->load("global"); $lang->load("messages");
if(function_exists('mb_internal_encoding') && !empty($lang->settings['charset'])) { @mb_internal_encoding($lang->settings['charset']); }
// Which thread mode is our user using? if(!isset($mybb->input['mode'])) { if(isset($mybb->user['threadmode'])) { $mybb->input['mode'] = $mybb->user['threadmode']; } else if($mybb->settings['threadusenetstyle'] == "yes") { $mybb->input['mode'] = "threaded"; } else { $mybb->input['mode'] = "linear"; } }
// Select the board theme to use. $loadstyle = ''; $load_from_forum = 0; $style = array();
$valid = array( "showthread.php", "forumdisplay.php", "newthread.php", "newreply.php", "ratethread.php", "editpost.php", "polls.php", "sendthread.php", "printthread.php", "moderation.php" );
// This user has a custom theme set in their profile if(isset($mybb->user['style']) && intval($mybb->user['style']) != 0) { $loadstyle = "tid='".$mybb->user['style']."'"; } if(in_array(strtolower(basename($_SERVER['PHP_SELF'])), $valid)) { // If we're accessing a post, fetch the forum theme for it and if we're overriding it if(isset($mybb->input['pid'])) { $query = $db->simple_select(TABLE_PREFIX."forums f, ".TABLE_PREFIX."posts p", "f.style, f.overridestyle", "f.fid=p.fid AND p.pid='".intval($mybb->input['pid'])."'"); $style = $db->fetch_array($query); $load_from_forum = 1; } // We have a thread id and a forum id, we can easily fetch the theme for this forum else if(isset($mybb->input['tid'])) { $query = $db->simple_select(TABLE_PREFIX."forums f, ".TABLE_PREFIX."threads t", "f.style, f.overridestyle", "f.fid=t.fid AND t.tid='".intval($mybb->input['tid'])."'"); $style = $db->fetch_array($query); $load_from_forum = 1; } // We have a forum id - simply load the theme from it else if(isset($mybb->input['fid'])) { $query = $db->simple_select(TABLE_PREFIX."forums", "style, overridestyle", "fid='".intval($mybb->input['fid'])."'"); $style = $db->fetch_array($query); $load_from_forum = 1; } }
// From all of the above, a theme was found if(isset($style['style']) && $style['style'] > 0) { // This theme is forced upon the user, overriding their selection if($style['overridestyle'] == "yes" || !isset($mybb->user['style'])) { $loadstyle = "tid='".intval($style['style'])."'"; } }
// After all of that no theme? Load the board default if(empty($loadstyle)) { $loadstyle = "def='1'"; }
// Fetch the theme to load from the database $query = $db->simple_select(TABLE_PREFIX."themes", "name, tid, themebits, csscached", $loadstyle); $theme = $db->fetch_array($query);
// No theme was found - we attempt to load the master or any other theme if(!$theme['tid']) { // Missing theme was from a forum, run a query to set any forums using the theme to the default if($load_from_forum == 1) { $db->update_query(TABLE_PREFIX."forums", array("style" => 0), "style='{$style['style']}'"); } // Missing theme was from a user, run a query to set any users using the theme to the default else if($load_from_user == 1) { $db->update_query(TABLE_PREFIX."users", array("style" => 0), "style='{$style['style']}'"); } // Attempt to load the master or any other theme if the master is not available $query = $db->simple_select(TABLE_PREFIX."themes", "name, tid, themebits, csscached", "", array("order_by" => "tid", "limit" => 1)); $theme = $db->fetch_array($query); }
$theme = @array_merge($theme, unserialize($theme['themebits']));
// Loading CSS from a file or from the server? if($theme['csscached'] > 0 && $mybb->settings['cssmedium'] == 'file') { $theme['css_url'] = $mybb->settings['bburl']."/css/theme_{$theme['tid']}.css"; } else { $theme['css_url'] = $mybb->settings['bburl']."/css.php?theme={$theme['tid']}"; }
// If a language directory for the current language exists within the theme - we use it if(!empty($mybb->user['language']) && is_dir($theme['imgdir'].'/'.$mybb->user['language'])) { $theme['imglangdir'] = $theme['imgdir'].'/'.$mybb->user['language']; } else { // Check if a custom language directory exists for this theme if(is_dir($theme['imgdir'].'/'.$mybb->settings['bblanguage'])) { $theme['imglangdir'] = $theme['imgdir'].'/'.$mybb->settings['bblanguage']; } // Otherwise, the image language directory is the same as the language directory for the theme else { $theme['imglangdir'] = $theme['imgdir']; } }
// Theme logo - is it a relative URL to the forum root? Append bburl if(!preg_match("#^(\/|\.\.|\.|([a-z0-9]+)://)#i", $theme['logo'])) { $theme['logo'] = $mybb->settings['bburl']."/".$theme['logo']; }
// Load Main Templates and Cached Templates if(isset($templatelist)) { $templatelist .= ','; } $templatelist .= "css,headerinclude,header,footer,gobutton,htmldoctype,header_welcomeblock_member,header_welcomeblock_guest,header_welcomeblock_member_admin"; $templatelist .= ",nav,nav_sep,nav_bit,nav_sep_active,nav_bit_active"; $templates->cache($db->escape_string($templatelist));
// Set the current date and time now $datenow = my_date($mybb->settings['dateformat'], time(), '', false); $timenow = my_date($mybb->settings['timeformat'], time()); $lang->welcome_current_time = sprintf($lang->welcome_current_time, $datenow.', '.$timenow);
// Format the last visit date of this user appropriately if(isset($mybb->user['lastvisit'])) { $lastvisit = my_date($mybb->settings['dateformat'], $mybb->user['lastvisit']) . ', ' . my_date($mybb->settings['timeformat'], $mybb->user['lastvisit']); }
// Otherwise, they've never visited before else { $lastvisit = $lang->lastvisit_never; }
// If the board is closed and we have an Administrator, show board closed warning $bbclosedwarning = ''; if($mybb->settings['boardclosed'] == "yes" && $mybb->usergroup['cancp'] == "yes") { eval("\$bbclosedwarning = \"".$templates->get("global_boardclosed_warning")."\";"); }
// Prepare the main templates for use unset($admincplink);
// Load appropriate welcome block for the current logged in user if($mybb->user['uid'] != 0) { // User can access the admin cp and we're not hiding admin cp links, fetch it if($mybb->usergroup['cancp'] == "yes" && $mybb->config['hide_admin_links'] != 1) { eval("\$admincplink = \"".$templates->get("header_welcomeblock_member_admin")."\";"); } // Format the welcome back message $lang->welcome_back = sprintf($lang->welcome_back, $mybb->user['username'], $lastvisit);
// Tell the user their PM usage $lang->welcome_pms_usage = sprintf($lang->welcome_pms_usage, my_number_format($mybb->user['pms_new']), my_number_format($mybb->user['pms_unread']), my_number_format($mybb->user['pms_total'])); eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_member")."\";"); } // Otherwise, we have a guest else { eval("\$welcomeblock = \"".$templates->get("header_welcomeblock_guest")."\";"); }
$unreadreports = ''; // This user is a moderator, super moderator or administrator if($mybb->usergroup['cancp'] == "yes" || $mybb->usergroup['issupermod'] == "yes" || $mybb->user['usergroup'] == 6) { // Read the reported posts cache $reported = $cache->read("reportedposts");
// 0 or more reported posts currently exist if($reported['unread'] > 0) { if($reported['unread'] == 1) { $lang->unread_reports = $lang->unread_report; } else { $lang->unread_reports = sprintf($lang->unread_reports, $reported['unread']); } eval("\$unreadreports = \"".$templates->get("global_unreadreports")."\";"); } }
// Got a character set? if($lang->settings['charset']) { $charset = $lang->settings['charset']; } // If not, revert to UTF-8 else { $charset = "UTF-8"; }
// Is this user apart of a banned group? $bannedwarning = ''; if($mybb->usergroup['isbannedgroup'] == "yes") { // Fetch details on their ban $query = $db->simple_select(TABLE_PREFIX."banned", "*", "uid='{$mybb->user['uid']}'"); $ban = $db->fetch_array($query); if($ban['uid']) { // Format their ban lift date and reason appropriately if($ban['lifted'] > 0) { $banlift = my_date($mybb->settings['dateformat'], $ban['lifted']) . ", " . my_date($mybb->settings['timeformat'], $ban['lifted']); } else { $banlift = $lang->banned_lifted_never; } $reason = htmlspecialchars_uni($ban['reason']); } if(empty($reason)) { $reason = $lang->unknown; } if(empty($banlift)) { $banlift = $lang->unknown; } if($ban['uid']) { // Display a nice warning to the user } eval("\$bannedwarning = \"".$templates->get("global_bannedwarning")."\";"); }
$lang->ajax_loading = str_replace("'", "\\'", $lang->ajax_loading);
// Set up some of the default templates $query = $db->query("SELECT tid, subject, lastposter, lastposteruid FROM ".TABLE_PREFIX."threads ORDER BY lastpost DESC LIMIT 0, 10"); $latest_threads = '<marquee direction="right" scrollamount="2" scrolldelay="5" onmouseover="this.setAttribute(\'scrollamount\', 0)" onmouseout="this.setAttribute(\'scrollamount\', 2)">'; $sep = ''; while($row = $db->fetch_array($query)) { $row['subject'] = htmlspecialchars_uni($row['subject']); $profile_url = str_replace('{uid}', $row['lastposteruid'], PROFILE_URL); $thread_url = str_replace('{tid}', $row['tid'], THREAD_URL); $latest_threads .= " {$sep} <a href=\"{$thread_url}\">{$row['subject']}</a> بواسطة: <a rel=\"nofollow\" href=\"{$profile_url}\">{$row['lastposter']}</a>"; $sep = '|'; } $latest_threads .= '</marquee>'; $query = $db->query("SELECT tid, subject, username, uid FROM ".TABLE_PREFIX."threads ORDER BY tid DESC LIMIT 0, 10"); $latest_threads2 = '<marquee direction="right" scrollamount="2" scrolldelay="5" onmouseover="this.setAttribute(\'scrollamount\', 0)" onmouseout="this.setAttribute(\'scrollamount\', 2)">'; $sep = ''; while($row = $db->fetch_array($query)) {
$row['subject'] = htmlspecialchars_uni($row['subject']); $profile_url = str_replace('{uid}', $row['uid'], PROFILE_URL); $thread_url = str_replace('{tid}', $row['tid'], THREAD_URL); $latest_threads2 .= " {$sep} <a href=\"{$thread_url}\">{$row['subject']}</a> بواسطة: <a rel=\"nofollow\" href=\"{$profile_url}\">{$row['username']}</a>"; $sep = '|'; } eval("\$headerinclude = \"".$templates->get("headerinclude")."\";"); eval("\$gobutton = \"".$templates->get("gobutton")."\";"); eval("\$htmldoctype = \"".$templates->get("htmldoctype", 1, 0)."\";"); eval("\$header = \"".$templates->get("header")."\";");
$copy_year = my_date("Y", time());
// Are we showing version numbers in the footer? if($mybb->settings['showvernum'] == "on") { $mybbversion = $mybb->version; } else { $mybbversion = ''; } eval("\$footer = \"".$templates->get("footer")."\";");
// Add our main parts to the navigation $navbits = array(); $navbits[0]['name'] = $mybb->settings['bbname']; $navbits[0]['url'] = $mybb->settings['bburl']."/index.php";
// Check banned ip addresses if(is_banned_ip($session->ipaddress)) { $db->delete_query(TABLE_PREFIX."sessions", "ip='".$db->escape_string($session->ipaddress)."' OR uid='{$mybb->user['uid']}'"); error($lang->error_banned); } // If the board is closed, the user is not an administrator and they're not trying to login, show the board closed message if($mybb->settings['boardclosed'] == "yes" && $mybb->usergroup['cancp'] != "yes" && !(basename($_SERVER['PHP_SELF']) == "member.php" && ($mybb->input['action'] == "login" || $mybb->input['action'] == "do_login" || $mybb->input['action'] == "logout"))) { // Show error $lang->error_boardclosed .= "<blockquote>{$mybb->settings['boardclosed_reason']}</blockquote>"; error($lang->error_boardclosed); exit; }
// Load Limiting if(strtolower(substr(PHP_OS, 0, 3)) !== 'win') { if($uptime = @exec('uptime')) { preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/", $uptime, $regs); $load = $regs[1]; // User is not an administrator and the load limit is higher than the limit, show an error if($mybb->usergroup['cancp'] != "yes" && $load > $mybb->settings['load'] && $mybb->settings['load'] > 0) { error($lang->error_loadlimit); } } }
// If there is a valid referrer in the URL, cookie it if(!$mybb->user['uid'] && $mybb->settings['usereferrals'] == "yes" && (isset($mybb->input['referrer']) || isset($mybb->input['referrername']))) { if(isset($mybb->input['referrername'])) { $condition = "username='".$db->escape_string($mybb->input['referrername'])."'"; } else { $condition = "uid='".intval($mybb->input['referrer'])."'"; } $query = $db->simple_select(TABLE_PREFIX."users", "uid", $condition); $referrer = $db->fetch_array($query); if($referrer['uid']) { my_setcookie("mybb[referrer]", $referrer['uid']); } }
// Check pages allowable even when not allowed to view board $allowable_actions = array( "member.php" => array( "register", "do_register", "login", "do_login", "logout", "lostpw", "do_lostpw", "activate", "resendactivation", "do_resendactivation", "resetpassword" ), ); if($mybb->usergroup['canview'] != "yes" && !(strtolower(basename($_SERVER['PHP_SELF'])) == "member.php" && in_array($mybb->input['action'], $allowable_actions['member.php'])) && strtolower(basename($_SERVER['PHP_SELF'])) != "captcha.php") { error_no_permission(); }
// work out which items the user has collapsed $colcookie = $_COOKIE['collapsed']; // set up collapsable items (to automatically show them us expanded) if($_COOKIE['collapsed']) { $col = explode("|", $colcookie); if(!is_array($col)) { $col[0] = $colcookie; // only one item } unset($collapsed); foreach($col as $key => $val) { $ex = $val."_e"; $co = $val."_c"; $collapsed[$co] = "display: show;"; $collapsed[$ex] = "display: none;"; $collapsedimg[$val] = "_collapsed"; } }
// Randomly expire threads if($rand > 8 || isset($mybb->input['force_thread_expiry'])) { $db->delete_query(TABLE_PREFIX."threads", "deletetime != '0' AND deletetime < '".time()."'"); }
// Randomly clear out old guest sessions (older than 24 hours) if($rand > 4 && $rand < 8) { $timecut = time()-60*60*24; $db->delete_query(TABLE_PREFIX."sessions", "uid=0 AND time<='$timecut'"); }
// Set the link to the archive. $archive_url = $mybb->settings['bburl']."/archive/index.php";
// Run hooks for end of global.php $plugins->run_hooks("global_end");
$globaltime = $maintimer->gettime(); ?>
وهذا قالب showthread:
PHP كود : <html> <head> <title>{$thread['subject']}</title> {$headerinclude} <script type="text/javascript"> var quickdelete_confirm = "{$lang->quickdelete_confirm}"; </script> <script type="text/javascript" src="jscripts/thread.js?ver=1212"></script><script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/ajaxqr.js"></script> </head> <body> {$header} {$pollbox} <div style="float: right; padding-bottom: 4px;"> {$newreply}{$newthread} </div> {$multipage} <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="clear: both;"> <tr> <td class="thead" colspan="2"> <div style="float: right;"> <span class="smalltext"><strong><a href="showthread.php?mode=threaded&tid={$tid}&pid={$pid}#pid{$pid}">{$lang->threaded}</a> | <a href="showthread.php?mode=linear&tid={$tid}&pid={$pid}#pid{$pid}">{$lang->linear}</a></strong></span> </div> <div> <strong>{$rating} {$thread['subject']}</strong> </div> </td> </tr> <tr> <td class="tcat" width="15%"><span class="smalltext"><strong>{$lang->author}</strong></span></td> <td class="tcat" width="85%"><span class="smalltext"><strong>{$lang->message}</strong></span></td> </tr> {$posts} <tbody id="ajaxqr"></tbody> {$threadpages} <tr> <td colspan="2" class="tfoot"> <div><strong>« <a href="showthread.php?tid={$tid}&action=nextoldest">{$lang->next_oldest}</a> | <a href="showthread.php?tid={$tid}&action=nextnewest">{$lang->next_newest}</a> »</strong></div> </td> </tr> </table> <div style="padding-top: 4px;"> {$newreply}{$newthread} </div> {$threadexbox} {$quickreply} {$moderationoptions} {$similarthreads} <br /> <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="clear: both;"> <tr> <td class="trow1"> <table width="100%"> <tr> <td> <span class="smalltext"> <a href="printthread.php?tid={$tid}">{$lang->view_printable}</a><br /> <a href="sendthread.php?tid={$tid}">{$lang->send_thread}</a><br /> <a href="usercp2.php?action=addsubscription&tid={$tid}">{$lang->subscribe_thread}</a> | <a href="usercp2.php?action=addfavorite&tid={$tid}">{$lang->add_favorites}</a> </span> </td> <td align="right"> {$ratethread} <br /> {$forumjump} </td> </tr> </table> </td> </tr> </table> {$footer} </body> </html>
وشكرا جزيلاً لك والله يعطيك العافية
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - Pepo - 2008-06-07
يا طيب.. انا لا استطيع ان اقرأ محتويات الملف بالكامل ومقارنتها بالملف الأصلى..
قصدى كان ان تتأكد ان الملفات الموجودة لديك ليس بها تعديل.. واذا كان بها تعديل تجرب تستخدم الملفات الأصلية للتأكد ان المشكلة ليست من الملفات نفسها..
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - bahaa87 - 2008-06-07
أخي الكريم بعد إعادة جميع الملفات إلى الافتراضيات وتطبيق التعديل المطلوب على ملف showthread.php لم أفلح للأسف
فماذا يمكن أن تكون المشكلة؟؟؟؟
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - Pepo - 2008-06-07
يمكن ان تكون المشكلة بكثرة الهاكات التى تظهر فى صفحات المواضيع
تتسبب بتضارب بين الأكواد!
Re: اضف ازرار المحرر والإبتسامات بالرد السريع - bahaa87 - 2008-06-07
يعني شو ساوي انسى موضوع هالزرار ولا شو
وبالنسبة لصفحة المواضيع بتقصد فيها الصفحة اللي بينعرض فيها عناوين المواضيع ولا صفحة عرض الموضوع نفسو....
ارجو الافادة..
|