Icy Phoenix

     
 


Post new topic  This topic is locked: you cannot edit posts or make replies. 
Page 1 of 1
 
 
Reply with quote Download Post 
Post FlashChat - Ok Got All It Working Need Some Code Help Pls 
 
Hey Everyone

Got FlashChat working great in ICY portal now I wanted to do a bit more but I am unsure how to do it and maybe the ICY programming gods can help me

As you notice with this screenshot:

 flashchat_fix_1_1177680484_809331

First question: How do I make the users in this list have the same color or color designation that they would have if shown in the forum who is online. For instance i'm the admin and I show up in red. Not sure if I would have to add code to the block/index_body.php or the info_embedded.php in FC.

Here is the info_embedded.php file:

Code: [Download] [Hide] [Select]
<?php

    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");


/**
If this file is not in the FlashChat root folder, then change this
path to the location of the inc/common.php file.
*/
require_once('inc/common.php');

ChatServer::purgeExpired();

/**
Retrieves the number of users who are chatting in any room.
Leave the $room parameter empty to return the number of users in all room.
*/
function numusers( $room = "" )
{
    if($room) {
        $stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ? AND roomid=?");
        $rs = $stmt->process(SPY_USERID, $room);
    } else {
        $stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections,{$GLOBALS['fc_config']['db']['pref']}rooms
                              WHERE userid IS NOT NULL AND userid <> ? AND ispublic IS NOT NULL
                              AND {$GLOBALS['fc_config']['db']['pref']}connections.roomid = {$GLOBALS['fc_config']['db']['pref']}rooms.id");
        $rs = $stmt->process(SPY_USERID);
    }

    $rec = $rs->next();

    return $rec?$rec['numb']:0;
}

/**
Retrieves a list of the users (by login ID) who are in $room.
Leave the $room parameter empty to return a list of all users in all rooms.
*/
function usersinroom( $room = "" )
{
    $list = array();

    if($room) {
        $stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ? AND roomid=?");
        $rs = $stmt->process(SPY_USERID, $room);
    } else {
        $stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ?");
        $rs = $stmt->process(SPY_USERID);
    }

    while($rec = $rs->next())
    {
        $usr = ChatServer::getUser($rec['userid']);
        if($usr == null && $GLOBALS['fc_config']['enableBots']) $usr = $GLOBALS['fc_config']['bot']->getUser($rec['userid']);
        $list[] = array_merge($usr, $rec);
    }

    return $list;
}

/**
Retrieves a list of all available rooms, as an array.
*/
function roomlist()
{
    $list = array();

    // populate $list with the names of all available rooms
    $stmt = new Statement("SELECT * FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE ispublic IS NOT NULL order by ispermanent");
    $rs = $stmt->process();

    while($rec = $rs->next()) $list[] = $rec;

    //result will be an array of arrays like ('id' => <room id>, 'updated' = <timestamp>, 'created' => <timestamp>, 'name' => <room name>, 'ispublic' => <public flag>, 'ispermanent' => <autoclose flag>)
    return $list;
}


$rooms = roomlist();
$roomnumb = sizeof($rooms);
$usernumb = numusers();
?>
<html>
<head>
<title>Who's in the chat?</title>
<meta http-equiv=Content-Type content="text/html;  charset=UTF-8">
<style type="text/css">
<!--

body { background-color: transparent; margin: 0; padding: 0; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; font-size: 10px;}
....normal {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: normal;
    margin: 0; padding: 0;
        text-align: center;
}

#roomList { margin: 0; padding: 0; }
#roomList a { color: black; text-decoration: none; } #roomList a:hover { text-decoration: underline; }
....userList { margin-left: 7px; margin-right: 0; margin-bottom: 0; margin-top: 0;  padding: 0; }

-->
</style>
<script type="text/javascript">
function toggleUserList(id) {
   if (l = document.getElementById(id)) {
      if (l.style.display == '' || l.style.display == 'block') l.style.display = 'none';
      else l.style.display = 'block';
   }
   return false;
}

</script>
</head>
<body>
<p class=normal><?php echo $usernumb ?> user<?php if ($usernumb != 1) echo "s" ?> in all <?php echo $roomnumb ?> room<?php if ($roomnumb != 1) echo "s"; ?>.</p>
<ul id="roomList">
<?php if($roomnumb) { ?>
        <?php foreach($rooms as $room) { ?>
                <li><strong><a href="#" onclick="javascript:toggleUserList('room_<?php echo $room['id']?>')"><?php echo $room['name']?> (<?php echo numusers($room['id']) ?>)</a></strong>
                <?php

                    $users = usersinroom($room['id']);
                                        if ($users) {
                                          echo "<ul class="userList" id="room_".$room['id']."">";
                                          foreach( $users as $user ) {
                        echo "<li>".$user['login'] . "</li>";
                      }
                                          echo "</ul>";
                                        }

                ?> </li>
        <?php } ?>
<?php } ?>
</ul>

</body>
</html>


Second question: In my main bar near the top of the screen in ICY you have the 'HOME, FORUM, PROFILE, REGISTER' menu selections on the screen. I have inserted a 'Live Chat' option in the 'Overall_Header_sq.tpl' file and want to next to the 'Live Chat' I want it too look like this 'Live Chat (0)' with (0) be linked to the amount of users in chat in total.

From looking at the info_embedded.php code I see this piece right here which gets the value and puts it into a variable. How do I use this and insert it into my code in the overall_header_sq.tpl?

Code: [Download] [Hide] [Select]
function numusers( $room = "" )
{
    if($room) {
        $stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND userid <> ? AND roomid=?");
        $rs = $stmt->process(SPY_USERID, $room);
    } else {
        $stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections,{$GLOBALS['fc_config']['db']['pref']}rooms
                              WHERE userid IS NOT NULL AND userid <> ? AND ispublic IS NOT NULL
                              AND {$GLOBALS['fc_config']['db']['pref']}connections.roomid = {$GLOBALS['fc_config']['db']['pref']}rooms.id");
        $rs = $stmt->process(SPY_USERID);
    }

    $rec = $rs->next();

    return $rec?$rec['numb']:0;
}



If anyone can help me that would be great I think this would pretty much finish off all the questions people would have about integrating FlashChat into ICY and it would look and act perfectly. So can any programmers help me out with this one. I can provide more info on files etc.. if you need it.

Thanks

-D1-
 




____________
Check out my new website:
Adult Forums - A place where everyone can fit in.
Currently running v1.1.10.25 RC3
 
Edited by darkone, Fri 27 Apr, 2007 15:28: Posted better screenshot
darkoneSend private message  
Back to topPage bottom
Icy Phoenix is an open source project, you can show your appreciation and support future development by donating to the project.

Support us
 
Reply with quote Download Post 
Post Re: FlashChat - Ok Got All It Working Need Some Code Help Pl 
 
Good you got it working.

For what you need, I currently don't have the time, but me or someone else I think will try to help you when the final release is out... and now we are really near the release.
 




____________
Luca
SEARCH is the quickest way to get support.
Icy Phoenix ColorizeIt - CustomIcy - HON
 
Mighty GorgonSend private messageSend e-mail to userVisit poster's website  
Back to topPage bottom
Post new topic  This topic is locked: you cannot edit posts or make replies.  Page 1 of 1
 


Display posts from previous:    

HideWas this topic useful?

Link this topic
URL
BBCode
HTML




 
Permissions List
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events


  

 

  cron