deksao
โพสต์ 2008-2-28 15:53:29
รอด้วยคน ขอบคุนมากคับพี่ macc :victory:
powermacc
โพสต์ 2008-2-28 20:31:25
มาต่อกันด้วยshoutbox นะครับ
ให้นำโค้ดนี้ไปสร้างเป็นไฟล์ php ตั้งชื่อไฟล์ว่า chat.php
แล้วอัพไปไว้ที่ root เหมือนเดิม<?php
/*
(C)2001-2007 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: index.php 10486 2007-09-03 06:53:29Z liuqiang $
*/
define('CURSCRIPT', 'index');
require_once './include/common.inc.php';
require_once DISCUZ_ROOT.'./include/forum.func.php';
$discuz_action = 1;
if($cacheindexlife && !$discuz_uid && $showoldetails != 'yes' && (!$_DCACHE['settings']['frameon'] || $_DCACHE['settings']['frameon'] && $_GET['frameon'] != 'yes') && empty($gid)) {
$indexcache = getcacheinfo(0);
if($timestamp - $indexcache['filemtime'] > $cacheindexlife) {
@unlink($indexcache['filename']);
define('CACHE_FILE', $indexcache['filename']);
$styleid = $_DCACHE['settings']['styleid'];
} elseif($indexcache['filename']) {
@readfile($indexcache['filename']);
$debug && debuginfo();
die('<script type="text/javascript">document.getElementById("debuginfo").innerHTML = " '.($debug ? 'Update at '.gmdate("H:i:s", $indexcache['filemtime'] + 3600 * 8).', Processed in '.$debuginfo['time'].' second(s), '.$debuginfo['queries'].' Queries'.($gzipcompress ? ', Gzip enabled' : '') : '').'";</script>');
}
}
$validdays = $discuz_uid && !empty($groupexpiry) && $groupexpiry >= $timestamp ? ceil(($groupexpiry - $timestamp) / 86400) : 0;
if(isset($showoldetails)) {
switch($showoldetails) {
case 'no': dsetcookie('onlineindex', 0, 86400 * 365); break;
case 'yes': dsetcookie('onlineindex', 1, 86400 * 365); break;
}
} else {
$showoldetails = false;
}
$currenttime = gmdate($timeformat, $timestamp + $timeoffset * 3600);
$lastvisittime = gmdate("$dateformat $timeformat", $lastvisit + $timeoffset * 3600);
$memberenc = rawurlencode($lastmember);
$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
//----???????????a?_??
$colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
//???N
$hack_cut_str = 80; //???}????
$hack_cut_strauthor = 9;
$new_post_threadlist = array();
$nthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.dateline DESC LIMIT 0, 10");
while($nthread = $db->fetch_array($query)) {
$nthread['forumname'] = ereg_replace('<[^>]*>','',$nthread['name']);
$nthread['view_subject'] = cutstr($nthread['subject'],$hack_cut_str);
$nthread['view_author'] = cutstr($nthread['author'],$hack_cut_strauthor);
$nthread['date']= gmdate("$dateformat $timeformat", $nthread['dateline'] + $timeoffset * 3600);
$nthread['lastreplytime']= gmdate("$dateformat $timeformat", $nthread + ($timeoffset * 3600));
if($nthread['highlight']) {
$string = sprintf('%02d', $nthread['highlight']);
$stylestr = sprintf('%03b', $string);
$nthread['highlight'] = 'style="';
$nthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
$nthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
$nthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
$nthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
$nthread['highlight'] .= '"';
} else {
$nthread['highlight'] = '';
}
$new_post_threadlist[] = $nthread;
}
//?????
$hack_cut_str = 80; //???}????
$hack_cut_strauthor = 9;
$new_reply_threadlist = array();
$rthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fidAND t.closed NOT LIKE 'moved|%' AND t.replies !=0 AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.lastpost DESC LIMIT 0, 10");
while($rthread = $db->fetch_array($query)) {
$rthread['forumname'] = ereg_replace('<[^>]*>','',$rthread['name']);
$rthread['view_subject'] = cutstr($rthread['subject'],$hack_cut_str);
$rthread['view_lastposter'] = cutstr($rthread['lastposter'],$hack_cut_strauthor);
$rthread['date']= gmdate("$dateformat $timeformat", $rthread['dateline'] + $timeoffset * 3600);
$rthread['lastreplytime']= gmdate("$dateformat $timeformat", $rthread + ($timeoffset * 3600));
if($rthread['highlight']) {
$string = sprintf('%02d', $rthread['highlight']);
$stylestr = sprintf('%03b', $string);
$rthread['highlight'] = 'style="';
$rthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
$rthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
$rthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
$rthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
$rthread['highlight'] .= '"';
} else {
$rthread['highlight'] = '';
}
$new_reply_threadlist[] = $rthread;
}
//????
$hack_cut_str = 80; //???}????
$hack_cut_strauthor = 9;
$new_hot_threadlist = array();
$mthread = array();
$ctime=$timestamp-3600*24*7;//????7????????????
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fidAND t.closed NOT LIKE 'moved|%' AND t.replies !=0 AND t.dateline>$ctime AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.replies DESC LIMIT 0, 10");
while($mthread = $db->fetch_array($query)) {
$mthread['forumname'] = ereg_replace('<[^>]*>','',$mthread['name']);
$mthread['view_subject'] = cutstr($mthread['subject'],$hack_cut_str);
$mthread['view_lastposter'] = cutstr($mthread['lastposter'],$hack_cut_strauthor);
$mthread['date']= gmdate("$dateformat $timeformat", $mthread['dateline'] + $timeoffset * 3600);
$mthread['lastreplytime']= gmdate("$dateformat $timeformat", $mthread + ($timeoffset * 3600));
if($mthread['highlight']) {
$string = sprintf('%02d', $mthread['highlight']);
$stylestr = sprintf('%03b', $string);
$mthread['highlight'] = 'style="';
$mthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
$mthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
$mthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
$mthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
$mthread['highlight'] .= '"';
} else {
$mthread['highlight'] = '';
}
$new_hot_threadlist[] = $mthread;
}
//?????l?N????
$tomonth=date(n);
$todate=date(j);
$toyear=date(Y);
$time=mktime(0,0,0,$tomonth,$todate,$toyear);
$query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,10");
while($result=$db->fetch_array($query)){
$poststar.="<div style=\"overflow: hidden;height: 20px;width: 100%;\"><a href=space.php?uid=".$result.">".cutstr($result,8)."</a><font color=red>[".$result."]</font></div>";
}
//----???????????a?Y??
$rsshead = $rssstatus ? ('<link rel="alternate" type="application/rss+xml" title="'.$bbname.'" href="'.$boardurl.'rss.php?auth='.$rssauth."\" />\n") : '';
$customtopics = '';
if($qihoo['maxtopics']) {
foreach(explode("\t", isset($_DCOOKIE['customkw']) ? $_DCOOKIE['customkw'] : '') as $topic) {
$topic = dhtmlspecialchars(trim(stripslashes($topic)));
$customtopics .= '<a href="topic.php?keyword='.rawurlencode($topic).'" target="_blank">'.$topic.'</a> ';
}
}
$supeitemsstatus = $supe['status'] && $supe['items']['status'] && $_DCACHE['supe_updateitems'];
$hottagstatus = $tagstatus && $hottags && $_DCACHE['tags'];
$shout = unserialize($_DCACHE['settings']['shoutbox']);
$shout['allow'] = sprintf('%03b', $shout['allow']);
for($i = 1; $i <= 3; $i++) {
$shout['allow'][$i] = $shout['allow'] ? '1' : '0';
}
$catlist = $forumlist = $sublist = $pmlist = array();
$threads = $posts = $todayposts = $fids = $announcepm = 0;
$postdata = $historyposts ? explode("\t", $historyposts) : array();
foreach(array('forumlinks', 'birthdays', 'supe_updateusers') as $key) {
if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], $key) === FALSE) {
$collapseimg[$key] = 'collapsed_no.gif';
$collapse[$key] = '';
} else {
$collapseimg[$key] = 'collapsed_yes.gif';
$collapse[$key] = 'display: none';
}
}
$gid = !empty($gid) ? intval($gid) : 0;
if(!$gid) {
$announcements = '';
if($_DCACHE['announcements']) {
$readapmids = !empty($_DCOOKIE['readapmid']) ? explode('D', $_DCOOKIE['readapmid']) : array();
foreach($_DCACHE['announcements'] as $announcement) {
if(empty($announcement['groups']) || in_array($groupid, $announcement['groups'])) {
if(empty($announcement['type'])) {
$announcements .= '<li><a href="announcement.php?id='.$announcement['id'].'#'.$announcement['id'].'">'.$announcement['subject'].
'<em>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</em></a></li>';
} elseif($announcement['type'] == 1) {
$announcements .= '<li><a href="'.$announcement['message'].'" target="_blank">'.$announcement['subject'].
'<em>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</em></a></li>';
} elseif($discuz_uid && $announcement['type'] == 2 && !in_array($announcement['pmid'], $readapmids)) {
$announcement['announce'] = TRUE;
$pmlist[] = $announcement;
$announcepm++;
}
}
}
}
unset($_DCACHE['announcements']);
$sql = !empty($accessmasks) ?
"SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, f.simple, ff.description, ff.moderators, ff.icon, ff.viewperm, ff.redirect, a.allowview FROM {$tablepre}forums f
LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid
LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid
WHERE f.status>0 ORDER BY f.type, f.displayorder"
: "SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, f.simple, ff.description, ff.moderators, ff.icon, ff.viewperm, ff.redirect FROM {$tablepre}forums f
LEFT JOIN {$tablepre}forumfields ff USING(fid)
WHERE f.status>0 ORDER BY f.type, f.displayorder";
$query = $db->query($sql);
while($forum = $db->fetch_array($query)) {
$forumname[$forum['fid']] = strip_tags($forum['name']);
if($forum['type'] != 'group') {
$threads += $forum['threads'];
$posts += $forum['posts'];
$todayposts += $forum['todayposts'];
if($forum['type'] == 'forum') {
if(forum($forum)) {
$catlist[$forum['fup']]['forums'][] = $forum['fid'];
$forum['orderid'] = $catlist[$forum['fup']]['forumscount']++;
$forum['subforums'] = '';
$forumlist[$forum['fid']] = $forum;
}
} elseif(isset($forumlist[$forum['fup']])) {
$forumlist[$forum['fup']]['threads'] += $forum['threads'];
$forumlist[$forum['fup']]['posts'] += $forum['posts'];
$forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
if($subforumsindex && $forumlist[$forum['fup']]['permission'] == 2 && !($forumlist[$forum['fup']]['simple'] & 16) || ($forumlist[$forum['fup']]['simple'] & 8)) {
$forumlist[$forum['fup']]['subforums'] .= '<a href="forumdisplay.php?fid='.$forum['fid'].'">'.$forum['name'].'</a> ';
}
}
} else {
if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_'.$forum['fid']) === FALSE) {
$forum['collapseimg'] = 'collapsed_no.gif';
$collapse['category_'.$forum['fid']] = '';
} else {
$forum['collapseimg'] = 'collapsed_yes.gif';
$collapse['category_'.$forum['fid']] = 'display: none';
}
if($forum['moderators']) {
$forum['moderators'] = moddisplay($forum['moderators'], 'flat');
}
$forum['forumscount'] = 0;
$catlist[$forum['fid']] = $forum;
}
}
foreach($catlist as$catid => $category) {
if($catlist[$catid]['forumscount'] && $category['forumcolumns']) {
$catlist[$catid]['forumcolwidth'] = floor(100 / $category['forumcolumns']).'%';
$catlist[$catid]['endrows'] = '';
if($colspan = $category['forumscount'] % $category['forumcolumns']) {
while(($category['forumcolumns'] - $colspan) > 0) {
$catlist[$catid]['endrows'] .= '<td> </td>';
$colspan ++;
}
$catlist[$catid]['endrows'] .= '</tr>';
}
} elseif(empty($category['forumscount'])) {
unset($catlist[$catid]);
}
}
if(isset($catlist) && $catlist['forumscount']) {
$catlist['fid'] = 0;
$catlist['type'] = 'group';
$catlist['name'] = $bbname;
$catlist['collapseimg'] = 'collapsed_no.gif';
} else {
unset($catlist);
}
if($whosonlinestatus == 1 || $whosonlinestatus == 3) {
$whosonlinestatus = 1;
$onlineinfo = explode("\t", $onlinerecord);
if(empty($_DCOOKIE['onlineusernum'])) {
$onlinenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions"), 0);
if($onlinenum > $onlineinfo) {
$_DCACHE['settings']['onlinerecord'] = $onlinerecord = "$onlinenum\t$timestamp";
$db->query("UPDATE {$tablepre}settings SET value='$onlinerecord' WHERE variable='onlinerecord'");
require_once DISCUZ_ROOT.'./include/cache.func.php';
updatesettings();
$onlineinfo = array($onlinenum, $timestamp);
}
dsetcookie('onlineusernum', intval($onlinenum), 300);
} else {
$onlinenum = intval($_DCOOKIE['onlineusernum']);
}
$onlineinfo = gmdate($dateformat, $onlineinfo + ($timeoffset * 3600));
$detailstatus = $showoldetails == 'yes' || (((!isset($_DCOOKIE['onlineindex']) && !$whosonline_contract) || $_DCOOKIE['onlineindex']) && $onlinenum < 500 && !$showoldetails);
if($detailstatus) {
@include language('actions');
$discuz_uid && updatesession();
$membercount = $invisiblecount = 0;
$whosonline = array();
$maxonlinelist = $maxonlinelist ? $maxonlinelist : 500;
$query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ".(isset($_DCACHE['onlinelist']) ? '' : 'WHERE uid <> 0')." ORDER BY uid DESC LIMIT ".$maxonlinelist);
while($online = $db->fetch_array($query)) {
if($online['uid']) {
$membercount ++;
if($online['invisible']) {
$invisiblecount++;
continue;
} else {
$online['icon'] = isset($_DCACHE['onlinelist'][$online['groupid']]) ? $_DCACHE['onlinelist'][$online['groupid']] : $_DCACHE['onlinelist'];
}
} else {
$online['icon'] = $_DCACHE['onlinelist'];
$online['username'] = $_DCACHE['onlinelist']['guest'];
}
$online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
$online['action'] = $actioncode[$online['action']];
$online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
$whosonline[] = $online;
}
if($onlinenum > $maxonlinelist) {
$membercount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE uid <> '0'"), 0);
$invisiblecount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE invisible = '1'"), 0);
}
if($onlinenum < $membercount) {
$onlinenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions"), 0);
dsetcookie('onlineusernum', intval($onlinenum), 300);
}
$guestcount = $onlinenum - $membercount;
$db->free_result($query);
unset($online);
}
} else {
$whosonlinestatus = 0;
}
if($discuz_uid && $newpm) {
require_once DISCUZ_ROOT.'./include/pmprompt.inc.php';
}
} else {
require_once DISCUZ_ROOT.'./include/category.inc.php';
}
include template('chat');
?>และนำโค้ดนี้ ไปสร้างเป็นไฟล์ htm ตั้งชื่อไฟล์ว่า chat.htm
แล้วอัพไปไว้ที่ สกินที่เราใช้<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=$charset" />
<title>$navtitle $bbname $seotitle - Powered by Discuz!</title>
$seohead
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=$charset" />
<title>$navtitle $bbname $seotitle - Powered by Discuz!</title>
$seohead
<meta name="keywords" content="{$metakeywords}$seokeywords" />
<meta name="description" content="$metadescription $bbname $seodescription - Discuz! Board" />
<meta name="generator" content="Discuz! $version" />
<meta name="author" content="Discuz! Team and Comsenz UI Team" />
<meta name="copyright" content="2001-2007 Comsenz Inc." />
<meta name="MSSmartTagsPreventParsing" content="True" />
<meta http-equiv="MSThemeCompatible" content="Yes" />
<link rel="archives" title="$bbname" href="{$boardurl}archiver/" />
$rsshead
$extrahead
<!--{if $allowcsscache}-->
<link rel="stylesheet" type="text/css" href="forumdata/cache/style_{STYLEID}.css" />
<link rel="stylesheet" type="text/css" href="forumdata/cache/style_{STYLEID}_append.css" />
<!--{else}-->
<style type="text/css">{template css}</style>
<style type="text/css">{template css_append}</style>
<!--{/if}-->
<script type="text/javascript">var IMGDIR = '{IMGDIR}';var attackevasive = '$attackevasive';var gid = 0;<!--{if in_array(CURSCRIPT, array('viewthread', 'forumdisplay'))}-->gid = parseInt('$thisgid');<!--{elseif CURSCRIPT == 'index'}-->gid = parseInt('$gid');<!--{/if}-->var fid = parseInt('$fid');var tid = parseInt('$tid');</script>
<script type="text/javascript" src="include/javascript/common.js"></script>
<script type="text/javascript" src="include/javascript/menu.js"></script>
<script type="text/javascript" src="include/javascript/ajax.js"></script>
</head>
</table>
<table id="Table_01" width="100%" height="" border="0" cellpadding="0" cellspacing="0" align="left">
<tr>
<td width="100%" bgcolor="#FFFFFF" align="left">
{template shoutbox}
</td>
</table>ลองทดสอบเรียกใช้งานดูครับ
ว่าตาออกมาแบบใหน
ขั้นตอนไปนำหน้าแชทนี้ มาสร้างเป็นบล๊อก โชว์หน้าแรกของ phpnuke
นำโค้ดนี้ไปสร้างเป็น บล๊อก แล้วอัพไปไว้ในโฟลเดอบล๊อกบนโฮสเรา แล้วสร้างเป็นบล๊อกได้เลยครับ<?php
#### Generated by Block Creator by Disipal Site (www.disipal.net) ###
#### Enhanced by thainuke (www.thainuke.net) ###
if ( !defined('BLOCK_FILE') ) {
Header("Location: ../index.php");
die();
}
$content="<center><iframe name=\"iFrame1\" width=780 height=337 src=\"http://www.powermacc.com/webbord/chat.php\" scrolling=\"no\" frameborder=\"0\"></iframe></center>";
?>อย่าลืมแก้ไข url ให้ถูกต้องด้วยครับ
mhanoii
โพสต์ 2008-2-28 21:31:20
แหล่มเลยคร๊าฟ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
mhanoii
โพสต์ 2008-2-28 21:34:44
ต่อไปขอ ส่วนแสดงของบอร์ดน๊ะคับจะรอ นั่งรอนอนรอ
อิอิ :victory:
powermacc
โพสต์ 2008-2-28 21:56:15
ใหนขอดูเวบหน่อยทำได้ถึงใหนแล้ว
thaiga
โพสต์ 2008-2-29 00:19:17
ขอบคุณครับ
สุดยอดมากครับ:)
อยากโชว์เวป แต่ยังไม่สวยอ่ะ:)
anampong
โพสต์ 2008-2-29 01:18:56
ผมทำผ่านแต่ shoutboxครับ
แต่ที่งง คือว่า ผมมีคอม 2 เครื่อง
คอมอีกเครื่อง shoutboxไม่แสดง ฟ้องว่า
not Found อะครับ
deksao
โพสต์ 2008-2-29 02:32:51
www.asayhi.com คับบกำลังจะทำ shoutbox อิอิ ขอบคุนมากคร๊าปปปพี่mac
deksao
โพสต์ 2008-2-29 02:34:15
ต้นฉบับโพสโดย anampong เมื่อ 2008-2-29 01:18 http://www.cazdesign.com/forums/images/common/back.gif
ผมทำผ่านแต่ shoutboxครับ
แต่ที่งง คือว่า ผมมีคอม 2 เครื่อง
คอมอีกเครื่อง shoutboxไม่แสดง ฟ้องว่า
not Found อะครับ ...
มันจำค่าเก่าหรือป่าวคับ ลองรีเฟส บ่อยๆๆ
deksao
โพสต์ 2008-2-29 03:23:02
ใส่ shotbox ใช้งานได้แร้วเย่ๆ ติดที่ว่าเปน ifame เวลากดตัวยิ้มมันจะบอกไม่เหนหะๆ
หน้า:
1
2
3
4
5
[6]
7
8
9
10
11
12