Okay this is what I have so far. I'm looking for a solution here. This is just the beginning. From what I see it should not be that difficult to hack a side block for this right from the variables that are presented in the index_tpl.php file either. Right now it is just a question of getting the variables out of the post nuke and transferred to the variables for the openchat. I just hacking with what side of the equation they are to appear on beneath in the code. Any help is appreciated.
<?
session_start();
$query = "SELECT $sessioninfocolumn[uid],
COUNT(1)
FROM $sessioninfotable
WHERE $sessioninfocolumn[lastused] > $activetime
GROUP BY $sessioninfocolumn[uid]";
$result = $dbconn->Execute($query);
Same in english:
You only need to change index_tpl.php in the way shown above:
Transfer the variables nick, password and entry (=channelname) via a form. Additionaly you have to use
$query = "SELECT $sessioninfocolumn[uid],
COUNT(1)
FROM $sessioninfotable
WHERE $sessioninfocolumn[lastused] > $activetime
GROUP BY $sessioninfocolumn[uid]";
$result = $dbconn->Execute($query);
Okay this is what I have so far. I'm looking for a solution here. This is just the beginning. From what I see it should not be that difficult to hack a side block for this right from the variables that are presented in the index_tpl.php file either. Right now it is just a question of getting the variables out of the post nuke and transferred to the variables for the openchat. I just hacking with what side of the equation they are to appear on beneath in the code. Any help is appreciated.
<?
session_start();
function enterchat($uname, $pass)
{
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
if (!pnUserLoggedIn()) {
// Get user information
$userscolumn = &$pntable['users_column'];
$userstable = $pntable['users'];
$query = "SELECT $userscolumn[uid],
$userscolumn[pass]
FROM $userstable
WHERE $userscolumn[uname] = '$uname'";
$result = $dbconn->Execute($query);
$uname =
$sessioninfocolumn = &$pntable['session_info_column'];
$sessioninfotable = $pntable['session_info'];
$activetime = time() - (pnConfigGetVar('secinactivemins') * 60);
$query = "SELECT $sessioninfocolumn[uid],
COUNT(1)
FROM $sessioninfotable
WHERE $sessioninfocolumn[lastused] > $activetime
GROUP BY $sessioninfocolumn[uid]";
$result = $dbconn->Execute($query);
$sql="select * from TabelleUser where Benutzername='$BN';";
>>> Die Daten des momentanen Users abfragen
$db=mysql_connect ('host','user','passwort');
mysql_select_db (Datenbank',$db);
$result = mysql_query ($sql,$db);
$data=mysql_fetch_array ($result);
$html = "<html>\n";
$html.= "<head></head>\n";
$html.="<body>\n";
$html.= "<p> </p>\n";
$html.= "<p> </p>\n";
$html.= "<p> </p>\n";
$html.= "<p> </p>\n";
$html.= "<form name=\"form1\" method=\"post\">\n";
$html.= "<div align=\"center\">\n";
$html.= "<input type=\"submit\" class=\"button\" name=\"Chat-Start\" value=\"Chat-Start\"></div>\n";
$html.= "<input type=\"hidden\" name=\"nick\" value=\"$data[Benutzername]\">\n";
$html.= "<input type=\"hidden\" name=\"password\" value=\"$data[Passwort]\">\n";
$html.= "<input type=\"hidden\" name=\"entry\" value=\"channelname\">\n";
$html.= "<input type=\"hidden\" name=\"session_name()\" value=\"session_id()\">\n";
$html.= "</form>\n";
$html.= "</body></html>\n";
echo $html;
}
?>
Same in english:
You only need to change index_tpl.php in the way shown above:
Transfer the variables nick, password and entry (=channelname) via a form. Additionaly you have to use
<input type="hidden" name="session_name()" value="session_id()">
list($dbconn) = pnDBGetConn();
function enterchat($html)
{
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
if (!pnUserLoggedIn()) {
return;
}
$sessioninfocolumn = &$pntable['session_info_column'];
$sessioninfotable = $pntable['session_info'];
$activetime = time() - (pnConfigGetVar('secinactivemins') * 60);
$query = "SELECT $sessioninfocolumn[uid],
COUNT(1)
FROM $sessioninfotable
WHERE $sessioninfocolumn[lastused] > $activetime
GROUP BY $sessioninfocolumn[uid]";
$result = $dbconn->Execute($query);
$numusers = 0;
$numguests = 0;
for (; !$result->EOF; $result->MoveNext()) {
list($type, $num) = $result->fields;
if ($type == 0) {
$numguests = $num;
} else {
$numusers++;
}
}
$result->Close();
// Pluralise
if ($numguests == 1) {
$guests = _GUEST;
} else {
$guests = _GUESTS;
}
if ($numusers == 1) {
$users = _MEMBER;
} else {
$users = _MEMBERS;
}
$content = "<span class=\"pn-normal\">"._CURRENTLY." ".pnVarPrepForDisplay($numguests)." ".pnVarPrepForDisplay($guests)." "._AND." ".pnVarPrepForDisplay($numusers)." ".pnVarPrepForDisplay($users)." "._ONLINE."<br />\n";
if (pnUserLoggedIn()) {
$content .= '<br />'._YOUARELOGGED.' <b>' .pnUserGetVar('uname') . '</b>.<br />';
$column = &$pntable['priv_msgs_column'];
$result2 = $dbconn->Execute("SELECT count(*) FROM $pntable[priv_msgs] WHERE $column[to_userid]=" . pnUserGetVar('uid'));
list($numrow) = $result2->fields;
if ($numrow == 0) {
$content .= '<br /></span>';
} else {
$content .= "<br />"._YOUHAVE." <a class=\"pn-normal\" href=\"modules.php?op=modload&name=Messages&file=index\"><b>".pnVarPrepForDisplay($numrow)."</b></a> ";
if ($numrow==1) {
$content .= _PRIVATEMSG ;
}
elseif ($numrow>1) {
$content .= _PRIVATEMSGS ;
}
$content .= "</span><br />";
}
} else {
$content .= '<br />'._YOUAREANON.'</span><br />';
}
if (empty($row['title'])) {
$row['title'] = _WHOSONLINE;
}
$row['content'] = $content;
return themesideblock($row);
}
?>
$users = $prefix . '_users';
$pntable['users'] = $users;
$pntable['users_column'] = array ('uid' => $users . '.pn_uid',
'name' => $users . '.pn_name',
'uname' => $users . '.pn_uname',
'email' => $users . '.pn_email',
'femail' => $users . '.pn_femail',
'url' => $users . '.pn_url',
'user_avatar' => $users . '.pn_user_avatar',
'user_regdate' => $users . '.pn_user_regdate',
'user_icq' => $users . '.pn_user_icq',
'user_occ' => $users . '.pn_user_occ',
'user_from' => $users . '.pn_user_from',
'user_intrest' => $users . '.pn_user_intrest',
'user_sig' => $users . '.pn_user_sig',
'user_viewemail' => $users . '.pn_user_viewemail',
'user_theme' => $users . '.pn_user_theme',
'user_aim' => $users . '.pn_user_aim',
'user_yim' => $users . '.pn_user_yim',
'user_msnm' => $users . '.pn_user_msnm',
'pass' => $users . '.pn_pass',
'storynum' => $users . '.pn_storynum',
'umode' => $users . '.pn_umode',
'uorder' => $users . '.pn_uorder',
'thold' => $users . '.pn_thold',
'noscore' => $users . '.pn_noscore',
'bio' => $users . '.pn_bio',
'ublockon' => $users . '.pn_ublockon',
'ublock' => $users . '.pn_ublock',
'theme' => $users . '.pn_theme',
'commentmax' => $users . '.pn_commentmax',
'counter' => $users . '.pn_counter',
'timezone_offset' => $users . '.pn_timezone_offset');
$session_info = $prefix . '_session_info';
$pntable['session_info'] = $session_info;
$pntable['session_info_column'] = array ('sessid' => $session_info . '.pn_sessid',
'ipaddr' => $session_info . '.pn_ipaddr',
'firstused' => $session_info . '.pn_firstused',
'lastused' => $session_info . '.pn_lastused',
'uid' => $session_info . '.pn_uid',
'vars' => $session_info . '.pn_vars');
<td><?echo $NICK_NAME?>:</td>
<td><input name="nick" type="text" SIZE="<?echo$MAX_NICK_LENGTH?>" MAXLENGTH="<?echo$MAX_NICK_LENGTH?>" VALUE="<?echo $PHPOPENCHAT_USER?>" STYLE="font-size: 10px;"></td>
cho$MAX_NICK_LENGTH?>" VALUE="<?echo $PHPOPENCHAT_USER?>" STYLE="font-size: 10px;"></td>
function pnUserLogIn($uname, $pass, $rememberme)
{
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
if (!pnUserLoggedIn()) {
// Get user information
$userscolumn = &$pntable['users_column'];
$userstable = $pntable['users'];
$query = "SELECT $userscolumn[uid],
$userscolumn[pass]
FROM $userstable
WHERE $userscolumn[uname] = '" . pnVarPrepForStore($uname) ."'";
$result = $dbconn->Execute($query);
if ($result->EOF) {
return false;
}
list($uid, $realpass) = $result->fields;
$result->Close();
// Confirm that passwords match
if (!comparePasswords($pass, $realpass, $uname, substr($realpass, 0, 2))) {
return false;
}
// Set user session information (new table)
$sessioninfocolumn = &$pntable['session_info_column'];
$sessioninfotable = $pntable['session_info'];
$query = "UPDATE $sessioninfotable
SET $sessioninfocolumn[uid] = " . pnVarPrepForStore($uid) . "
WHERE $sessioninfocolumn[sessid] = '" . pnVarPrepForStore(session_id()) . "'";
$dbconn->Execute($query);
// Set session variables
pnSessionSetVar('uid', (int)$uid);
if (!empty($rememberme)) {
pnSessionSetVar('rememberme', 1);
}
}
return true;
}
Okay so I have it to here but still hacking.
<?php
function pnUserLogIn($uname, $pass, $rememberme)
{
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
if (!pnUserLoggedIn()) {
// Get user information
$userscolumn = &$pntable['users_column'];
$userstable = $pntable['users'];
$query = "SELECT $userscolumn[uid],
$userscolumn[pass]
FROM $userstable
WHERE $userscolumn[uname] = '" . pnVarPrepForDisplay($uname) ."'";
$result = $dbconn->Execute($query);
if ($result->EOF) {
return false;
}
$sessioninfocolumn = &$pntable['session_info_column'];
$sessioninfotable = $pntable['session_info'];
$query = "SELECT $sessioninfocolumn[sessid],
FROM $sessioninfotable
WHERE $sessioninfocolumn[uid] = $uid;
$result = $dbconn->Execute($query);
$session_id() = $sessid
return true;
$html = "<html>\n";
$html.= "<head></head>\n";
$html.="<body>\n";
$html.= "<p> </p>\n";
$html.= "<p> </p>\n";
$html.= "<p> </p>\n";
$html.= "<p> </p>\n";
$html.= "<form name=\"action\" method=\"post\">\n";
$html.= "<div align=\"center\">\n";
$html.= "<input type=\"submit\" class=\"button\" name=\"Chat-Start\" value=\"Chat-Start\"></div>\n";
$html.= "<input type=\"hidden\" name=\"nick\" value=\"$data[Benutzername]\">\n";
$html.= "<input type=\"hidden\" name=\"password\" value=\"$data[Passwort]\">\n";
$html.= "<input type=\"hidden\" name=\"entry\" value=\"channelname\">\n";
$html.= "<input type=\"hidden\" name=\"session_name()\" value=\"session_id()\">\n";
$html.= "</form>\n";
$html.= "</body></html>\n";
echo $html;
}
}
?>