کد php:
<?php
/**
* Last Posts Plugin for MyBB
* Copyright © 2005 MyBB Mods
* URL: http://ghasemzadeh.ir
*
* By: Hamed
* Website: http://ghasemzadeh.ir
*/
$plugins->add_hook('global_start','repost');
function repost_info() {
return array('name' => 'Last Posts','description' =>
'Show Last posts in all page','website' => 'http://ghasemzadeh.ir',
'author' => 'Hamed','authorsite' => 'http://ghasemzadeh','version' =>
'1.0.0',);
}
function repost_activate() {
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
global $db;
$query = $db->simple_select("settinggroups","COUNT(*) as rows");
$rows = $db->fetch_field($query,"rows");
$repost_group = array('name' => 'repost','title' => 'Recent post',
'description' => 'Settings for the recent posts plugin.','disporder' =>
$rows + 1,'isdefault' => 'no',);
$db->insert_query('settinggroups',$repost_group);
$gid = $db->insert_id();
$repost_setting_1 = array('name' => 'showrepost','title' =>
'Enable recent post ','description' =>
'Display the recent posts in the forum header?','optionscode' => 'onoff',
'value' => '1','disporder' => 1,'gid' => intval($gid),);
$repost_setting_2 = array('name' => 'countreposts','title' =>
'Count of last posts','description' =>
'Enter how many posts should be show','optionscode' => 'text','value' =>
'10','disporder' => 2,'gid' => intval($gid));
$repost_setting_3 = array('name' => 'show_starter_repost','title' =>
'Show Starter','description' => 'Do you want to display thread starter',
'optionscode' => 'onoff','value' => '1','disporder' => 4,'gid' => intval
($gid));
$repost_setting_4 = array('name' => 'show_lastposter_repost','title' =>
'Show Last poster','description' => 'Do you want to display last poster',
'optionscode' => 'onoff','value' => '1','disporder' => 5,'gid' => intval
($gid));
$repost_setting_5 = array('name' => 'show_replys_repost','title' =>
'Show Replies','description' => 'Do you want to display Replies count',
'optionscode' => 'onoff','value' => '1','disporder' => 6,'gid' => intval
($gid));
$repost_setting_6 = array('name' => 'show_forumname_repost','title' =>
'Show Forum Name','description' => 'Do you want to display Forum name',
'optionscode' => 'onoff','value' => '1','disporder' => 7,'gid' => intval
($gid));
$repost_setting_7 = array('name' => 'show_views_repost','title' =>
'Show Views','description' => 'Do you want to display Views count',
'optionscode' => 'onoff','value' => '1','disporder' => 8,'gid' => intval
($gid));
$repost_setting_8 = array('name' => 'show_time_repost','title' =>
'Show Time','description' => 'Do you want to display time',
'optionscode' => 'onoff','value' => '1','disporder' => 9,'gid' => intval
($gid));
$repost_setting_9 = array('name' => 'not_show_post','title' =>
'Hidden Forums','description' =>
'Enter the forums IDs that we do not show last post of them.Separate them with a comma (,).',
'optionscode' => 'text','value' => '','disporder' => 2,'gid' => intval($gid));
$repost_setting_11 = array('name' => 'show_users','title' =>
'Show Just for user','description' =>
'If this part is active just users can see it','optionscode' => 'onoff',
'value' => '0','disporder' => 11,'gid' => intval($gid));
$db->insert_query('settings',$repost_setting_1);
$db->insert_query('settings',$repost_setting_2);
$db->insert_query('settings',$repost_setting_3);
$db->insert_query('settings',$repost_setting_4);
$db->insert_query('settings',$repost_setting_5);
$db->insert_query('settings',$repost_setting_6);
$db->insert_query('settings',$repost_setting_7);
$db->insert_query('settings',$repost_setting_8);
$db->insert_query('settings',$repost_setting_9);
$db->insert_query('settings',$repost_setting_11);
rebuildsettings();
$new_templates['recent_info_line'] = "<tr><td class=\"trow2\" align=\"left\">
<a href=\"http://ghasemzadeh.ir\" target=\"_blank\">Plugin By Hamed</a>
</td></tr>";
$new_templates['repost'] = "<table class=\"tborder\" style=\"CLEAR: both\" cellSpacing=\"1\" cellPadding=\"4\" border=\"0\">
<thead>
<tr>
<td class=\"thead\">
<div class=\"expcolimage\">
<img src=\"images/collapse.gif\" id=\"last_post_img\" class=\"expander\" alt=\"[-]\" title=\"[-]\" /></div>
<div>
<strong>{\$lang->last_posts}</strong>
</div>
</td>
</tr>
</thead>
<tbody style=\"{$expdisplay}\" id=\"last_post_e\">
<tr>
<td class=\"trow1\">
<marquee onmouseover=\"this.stop()\" onmouseout=\"this.start()\" direction=\"up\" scrollamount=\"1\" scrolldelay=\"1\" height=\"120\">
{\$threadlist}</marquee> </td>
</tr>
</tbody>
{\$hamed_copyright}
</table><br>";
$new_templates['repost_threadsbits'] = "<table>
<tr>
<td id=\"subject\" colspan=\"6\"><strong>
<a target=\"_blank\" href=\"{\$mybb->settings[\'bburl\']}/showthread.php?tid={\$thread[\'tid\']}&action=lastpost\">
{\$read} {\$thread[\'subject\']}</a></strong></td>
</tr>
<tr class=\"smalltext\" id=\"settingchange\">
{\$starter}
{\$lastposter}
{\$replies}
{\$forumname}
{\$views_repost}
{\$time_repost}
</tr>
</table>";
// Insert new templates
foreach($new_templates as $title => $template) {
$db->query("INSERT INTO `".TABLE_PREFIX."templates` VALUES (NULL, '$title', '$template', '-1', '120', '', '1157735635')");
}
find_replace_templatesets('header','#<navigation>#',"{\$repost}\n\t\t\t<navigation>");
}
function repost_deactivate() {
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
global $db;
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('showrepost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('countreposts', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_starter_repost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_lastposter_repost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_replys_repost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_forumname_repost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_views_repost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_time_repost', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('not_show_post', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX.
"settings WHERE name IN('show_users', 'repost')");
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='repost'");
$db->query("DELETE FROM ".TABLE_PREFIX.
"templates WHERE title='recent_info_line'");
$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='repost'");
$db->query("DELETE FROM ".TABLE_PREFIX.
"templates WHERE title='repost_threadsbits'");
find_replace_templatesets('header','#{\$repost}\n\t\t\t#','',0);
}
function repost() {
global $mybb,$templates,$repost,$db,$lang,$expdisplay;
$lang->load("last");
if($mybb->settings['showrepost'] == '1') {
$threadlist = '';
$hiddenforums = explode(',',$mybb->settings['not_show_post']);
if(is_array($hiddenforums)) {
foreach($hiddenforums as $fid) {
$fid_array[] = intval($fid);
}
$hiddenforums = implode(',',$fid_array);
}
$query = $db->simple_select("forums","*","fid IN (".$hiddenforums.")");
while($forumrow = $db->fetch_array($query)) {
$forum[$forumrow['fid']] = $forumrow;
}
if($hiddenforums) {
$query = $db->query("
SELECT t.*, u.username
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)
WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND t.fid NOT IN(".
$hiddenforums.")
ORDER BY t.lastpost DESC
LIMIT 0, ".$mybb->settings['countreposts']);
}
else {
$query = $db->query("
SELECT t.*, u.username
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)
WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
ORDER BY t.lastpost DESC
LIMIT 0, ".$mybb->settings['countreposts']);
}
while($thread = $db->fetch_array($query)) {
if($mybb->user['uid']) {
$read_query = $db->simple_select("threadsread","tid","uid=".$mybb->
user['uid']." AND tid=".$thread['tid']."");
if($db->num_rows($read_query) != '0') {
$read =
'<img src="images/last/post.png" style="vertical-align: middle;">';
}
else {
$read =
'<img src="images/last/GoToPost.png" style="vertical-align: middle;" title="'.
$lang->Not_read.'" alt="'.$lang->Not_read.'">';
}
}
$forum_query = $db->query("SELECT * FROM ".TABLE_PREFIX.
"forums WHERE fid='".$thread['fid']."'");
if($forum = $db->fetch_array($forum_query)) {
$thread_forum = $forum['name'];
}
$lastpostdate = my_date($mybb->settings['dateformat'],$thread['lastpost']);
$lastposttime = my_date($mybb->settings['timeformat'],$thread['lastpost']);
if($thread['lastposteruid'] == 0) {
$lastposterlink = $thread['lastposter'];
}
else {
$lastposterlink =
'<td><img src="images/last/username.png" style="vertical-align: middle;"><a target="_blank" href="'.
$mybb->settings['bburl'].'/member.php?action=profile&uid='.
$thread['lastposteruid'].'">'.$thread['lastposter'].
'</a></td>';
}
$thread['subject'] = htmlspecialchars_uni($thread['subject']);
//checking which part do you want to display
//check show_starter_repost
if($mybb->settings['show_starter_repost'] == "1") {
$starter = '<td>'.$lang->Starter.
':<img src="images/last/username.png" style="vertical-align: middle;"><a target="_blank" href="'.
$mybb->settings['bburl'].'/member.php?action=profile&uid='.
$thread['uid'].'">'.$thread['username'].'</a></td>';
}
//check show_lastposter_repost
if($mybb->settings['show_lastposter_repost'] == "1") {
$lastposter = '<td>'.$lang->latest_threads_lastpost.''.$lastposterlink.
'</td>';
}
//check show_replys_repost
if($mybb->settings['show_replys_repost'] == "1") {
$replies = '<td>'.$lang->latest_threads_replies.''.$thread['replies'].
'</td>';
}
//check show_forumname_repost
if($mybb->settings['show_forumname_repost'] == "1") {
$forumname =
'<td><img src="images/last/forum.png" style="vertical-align: middle;" title="'.
$lang->Forum_Name.'"><a target="_blank" href="'.$mybb->
settings['bburl'].'/forumdisplay.php?fid='.$thread['fid'].
'">'.$thread_forum.'</a></td>';
}
//check show_views_repost
if($mybb->settings['show_views_repost'] == "1") {
$views_repost = '<td>'.$lang->views.''.$thread['views'].'</td>';
}
//check show_time_repost
if($mybb->settings['show_time_repost'] == "1") {
$time_repost =
'<td><img src="images/last/date.png" style="vertical-align: middle;">'.
$lang->re_time.''.$lastpostdate.'</td>';
}
eval("\$threadlist .= \"".$templates->get("repost_threadsbits")."\";");
}
if('1' == '1') {
eval("\$hamed_copyright = \"".$templates->get("recent_info_line")."\";");
}
if($mybb->settings['show_users'] == '1') {
if($mybb->user['uid']) {
eval("\$repost = \"".$templates->get("repost")."\";");
}
else {
return false;
}
}
else {
eval("\$repost = \"".$templates->get("repost")."\";");
}
}
}
?>
تغييرات :
افزودن زمان اخرين ارسال الان فقط تاريخ را نشون ميده