Diễn Đàn » Hỏi Ðáp Tin Học

Tạo Welcome Panel

0 trả lời, 201 lượt xem — Trang 1 / 1
B1: Mở file Skin/s#/skin_boards.php
với # = 1, 2, 3...
Chí ú: lập lại bước này nếu bạn có nhiều skins templates đựơc cài đặt, bạn sẽ phải chỉnh sữa cho mỗi skin_board.php
Tìm:
-------------------------------------------
<!-- Board Stats -->
<!--IBF.QUICK_LOG_IN-->
<br>
-------------------------------------------

Thay thế bằng:
-------------------------------------------
<!-- Board Stats -->
-------------------------------------------

Tìm:
-------------------------------------------
function PageTop($lastvisit) {
global $ibforums;
return <<<EOF
<table cellpadding=' 4' cellspacing=' 0' border=' 0' width=' <{tbl_width}>' align=' center' >
<tr>
<td align=' left' valign=' bottom' ><!-- IBF.NEWSLINK -->{$ibforums->lang[' welcome_back_text' ]} $lastvisit</td>
<td align=' right' valign=' bottom' > </td>
</tr>
</table>
EOF;
}
-------------------------------------------

Thay thế bằng:
-------------------------------------------

function PageTop($lastvisit) {
global $ibforums;
return <<<EOF
<table cellpadding=' 4' cellspacing=' 0' border=' 0' width=' <{tbl_width}>' align=' center' >
<tr>
<td align=' left' valign=' bottom' ><br><!-- IBF.NEWSLINK --></td>
<td align=' right' valign=' bottom' > </td>
</tr>
</table>
<!-- WELCOMEPANEL -->
EOF;
}
-------------------------------------------

Tìm ở cuối file:
-------------------------------------------
}
?>
-------------------------------------------

Thêm phía trên:
-------------------------------------------
function WelcomePanel($data=" " ) {
global $ibforums, $stats;
return <<<EOF
<table width=" <{tbl_width}>" align=" center" border=" 0" cellspacing=" 1" cellpadding=" 0" bgcolor=" <{tbl_border}>" >
<tr>
<td class=' maintitleback' background=' {$ibforums->vars[' img_url' ]}/tile_back.gif' >
<table width=" 100%" border=" 0" cellspacing=" 0" cellpadding=" 3" >
<tr>
<td class=" maintitle" ><{CAT_IMG}></td>
<td width=" 100%" class=" maintitle" >Welcome Back, {$ibforums->member[' name' ]}</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class=' mainbg' >
<table width=" 100%" border=" 0" cellspacing=" 1" cellpadding=" 4" >
<tr>
<td class=" forum1" >{$data[' avatar' ]}</td>
<td class=" forum2" width=" 45%" >It is now {$data[' time' ]}<br>
Your last visit was on {$data[' lastv' ]}<br>
There has been {$data[' posts_scince' ]} posts in {$data[' topics_scince' ]} topics since your last visit<br>
<a href=" {$ibforums->base_url}&act=Search&CODE=getnew" >View all new posts</a> | <a href=" {$ibforums->base_url}&act=Search&CODE=getactive" >View all new topics</a></td>
<td class=" forum1" width=" 55%" >
Members: {$data[' stats' ][' MEM_COUNT' ]} - Topics: {$data[' stats' ][' TOTAL_TOPICS' ]} - Replies: {$data[' stats' ][' TOTAL_REPLIES' ]} - Total Posts: {$data[' stats' ][' TOTAL_POSTS' ]}<br>
Welcome to our newest member: <a href=" {$ibforums->base_url}&act=Profile&CODE=03&MID={$data[' stats' ][' LAST_MEM_ID' ]}" >{$data[' stats' ][' LAST_MEM_NAME' ]}</a><br>
Top Thread Starter: <a href=" {$ibforums->base_url}&act=Profile&CODE=03&MID={$data[' tt_id' ]}" >{$data[' tt_name' ]}</a> [{$data[' tt_num' ]}]<br>
Top Poster: <a href=" {$ibforums->base_url}&act=Profile&CODE=03&MID={$data[' tp_id' ]}" >{$data[' tp_name' ]}</a> [{$data[' tp_num' ]}]<br>{$ibforums->lang[' most_online' ]}</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
EOF;
}

function GuestPanel($data=" " ) {
global $ibforums, $stats;
return <<<EOF
<table width=" <{tbl_width}>" align=" center" border=" 0" cellspacing=" 1" cellpadding=" 0" bgcolor=" <{tbl_border}>" >
<tr>
<td class=' maintitleback' background=' {$ibforums->vars[' img_url' ]}/tile_back.gif' >
<table width=" 100%" border=" 0" cellspacing=" 0" cellpadding=" 3" >
<tr>
<td class=" maintitle" ><{CAT_IMG}></td>
<td width=" 100%" class=" maintitle" >Welcome Guest! Please <a href=" {$ibforums->base_url}&act=Login&CODE=00" >login</a> or <a href=" {$ibforums->base_url}&act=Reg&CODE=00" >register</a>!</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class=' mainbg' >
<table width=" 100%" border=" 0" cellspacing=" 1" cellpadding=" 4" >
<tr>
<td class=" forum2" width=" 64" ><img src=' {$ibforums->vars[' board_url' ]}/html/avatars/noavatar.gif' ></td>
<td class=" forum2" width=" 100%" >It is now {$data[' time' ]}<br>
There has been {$data[' posts_scince' ]} posts in {$data[' topics_scince' ]} topics today!<br>
<a href=" {$ibforums->base_url}&act=Search&CODE=getactive" >View all of todays active topics</a><br>
{$ibforums->lang[' most_online' ]}</td>
<td class=" forum2" width=" 30%" align=" right" >
<table border=" 0" cellspacing=" 0" cellpadding=" 1" >
<tr><form action=" index.php" method=" post" name=' LOGIN' ><input type=" hidden" name=" CookieDate" value=" 1" ><input type=' hidden' name=' act' value=' Login' ><input type=' hidden' name=' CODE' value=' 01' >
<td>Username: </td>
<td><input type=' text' class=' forminput' size=' 20' name=' UserName' onFocus=' this.value=" " ' value=' {$ibforums->lang[' qli_name' ]}' maxlength=' 64' ></td>
</tr>
<tr>
<td>Password: </td>
<td><input type=' password' class=' forminput' size=' 20' name=' PassWord' onFocus=' this.value=" " ' value=' ibfrules!' ></td>
</tr>
<tr>
<td></td>
<td><input type=' submit' class=' forminput' name=' submit' value=' Log me in' ></td>
</tr></form>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
EOF;
}
-------------------------------------------

B2: mở file sources/Boards.php
Find:
-------------------------------------------
// Check for news forum.

if ($this->news_title and $this->news_topic_id and $this->news_forum_id)
{
$t_html = $this->html->newslink( $this->news_forum_id, stripslashes($this->news_title) , $this->news_topic_id);
$this->output = preg_replace( " /<!-- IBF\.NEWSLINK -->/" , " $t_html" , $this->output );
}
-------------------------------------------

Below that add:
-------------------------------------------
if ($ibforums->member[' id' ]) {
$DB->query(" SELECT `avatar_size`,`avatar` FROM ibf_members WHERE id=' " .$ibforums->member[' id' ]." ' " );
$member = $DB->fetch_row();
$DB->query(" SELECT `starter_id` AS id, `starter_name` AS name, COUNT(*) AS `num` FROM `ibf_topics` WHERE starter_id > 0 GROUP BY id ORDER BY num DESC LIMIT 1" );
$row = $DB->fetch_row();
$data[' tt_id' ] = $row[id];
$data[' tt_name' ] = $row[name];
$data[' tt_num' ] = $row[num];
$DB->query(" SELECT `id`,`name`,`posts` FROM `ibf_members` WHERE 1 AND id > 0 ORDER BY `posts` DESC LIMIT 1" );
$row = $DB->fetch_row();
$data[' tp_id' ] = $row[id];
$data[' tp_name' ] = $row[name];
$data[' tp_num' ] = $row[posts];
$DB->query(" SELECT COUNT(DISTINCT(t.tid)) as tcnt, COUNT(DISTINCT(p.pid)) as pcnt FROM ibf_posts p, ibf_topics t WHERE p.post_date < " .time()." AND p.post_date > " .$ibforums->member[' last_visit' ]." AND p.topic_id=t.tid" );
$row = $DB->fetch_row();
$data[' topics_scince' ] = $row[tcnt];
$data[' posts_scince' ] = $row[pcnt];
if ($ibforums->vars[' show_totals' ]) {
$data[' stats' ] = $stats;
}
else {
$DB->query(" SELECT * FROM ibf_stats" );
$data[' stats' ] = $DB->fetch_row();
// Update the most active count if needed

if ($active[' TOTAL' ] > $data[' stats' ][' MOST_COUNT' ]) {
$DB->query(" UPDATE ibf_stats SET MOST_DATE=' " .time()." ' , MOST_COUNT=' " .$active[TOTAL]." ' " );
$data[' stats' ][' MOST_COUNT' ] = $active[TOTAL];
$data[' stats' ][' MOST_DATE' ] = time();
}

$most_time = $std->get_date( $data[' stats' ][' MOST_DATE' ], ' LONG' );

$ibforums->lang[' most_online' ] = str_replace( " <#NUM#>" , $data[' stats' ][' MOST_COUNT' ] , $ibforums->lang[' most_online' ] );
$ibforums->lang[' most_online' ] = str_replace( " <#DATE#>" , $most_time , $ibforums->lang[' most_online' ] );
}
$data[' stats' ][' TOTAL_POSTS' ] = $data[' stats' ][' TOTAL_TOPICS' ] + $data[' stats' ][' TOTAL_REPLIES' ];
$data[' lastv' ] = $std->get_date($ibforums->member[' last_visit' ], LONG);
$data[' time' ] = $std->get_date(time(), LONG);
if (!$data[' avatar' ] = $std->get_avatar( $member[' avatar' ], 1, $member[' avatar_size' ] )) {
$data[' avatar' ] = " <img src=' {$ibforums->vars[' html_url' ]}/avatars/noavatar.gif' >" ;
}
$t_html = $this->html->welcomepanel($data);
$this->output = preg_replace( " /<!-- WELCOMEPANEL -->/" , " $t_html" , $this->output );
}
else {
if ($ibforums->vars[' show_totals' ]) {
$data[' stats' ] = $stats;
}
else {
$DB->query(" SELECT * FROM ibf_stats" );
$data[' stats' ] = $DB->fetch_row();
// Update the most active count if needed

if ($active[' TOTAL' ] > $data[' stats' ][' MOST_COUNT' ]) {
$DB->query(" UPDATE ibf_stats SET MOST_DATE=' " .time()." ' , MOST_COUNT=' " .$active[TOTAL]." ' " );
$data[' stats' ][' MOST_COUNT' ] = $active[TOTAL];
$data[' stats' ][' MOST_DATE' ] = time();
}

$most_time = $std->get_date( $data[' stats' ][' MOST_DATE' ], ' LONG' );

$ibforums->lang[' most_online' ] = str_replace( " <#NUM#>" , $data[' stats' ][' MOST_COUNT' ] , $ibforums->lang[' most_online' ] );
$ibforums->lang[' most_online' ] = str_replace( " <#DATE#>" , $most_time , $ibforums->lang[' most_online' ] );
}
$data[' time' ] = $std->get_date(time(), LONG);
$today = mktime(0,0,0,$date[' mon' ], $date[' mday' ], $date[' year' ]);
$DB->query(" SELECT COUNT(DISTINCT(t.tid)) as tcnt, COUNT(DISTINCT(p.pid)) as pcnt FROM ibf_posts p, ibf_topics t WHERE p.post_date > " .$today." AND p.topic_id=t.tid" );
$row = $DB->fetch_row();
$data[' topics_scince' ] = $row[tcnt];
$data[' posts_scince' ] = $row[pcnt];
$t_html = $this->html->guestpanel($data);
$this->output = preg_replace( " /<!-- WELCOMEPANEL -->/" , " $t_html" , $this->output );
}
------------------------------------------------
Thế là xong! (cái này áp dụng khi bạn chỉ sử dụng một template thui à nha, còn nếu dùng nhiều thì
Thêm cái này ở cuối bước 1 nha
------------------------------------------------
đóng Skin/s#/skin_boards.php & vào ACP:
->Skins & Templates >Manage HTML Templates >Template Tools: " Resynchronise the database templates FROM the PHP skin files"
/ Run it on every template sets you have edited in step 1 (tự dịch nha)
vietdiscover.com la nha cua minh .


quyjupiter
Đăng nhập để trả lời
0