$v) {
if (strtolower($k) == $key) {
return $k;
}
}
return false;
}
function get_user_list() {
global $config, $ccache;
// Open URL to userlist
// erzeuge einen neuen cURL-Handle
$ch = curl_init();
// setze die URL und andere Optionen
curl_setopt($ch, CURLOPT_URL, "https://chat.funch.at/info");
//curl_setopt($ch, CURLOPT_URL, "https://46.4.58.184/info");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// f�hre die Aktion aus und gebe die Daten an den Browser weiter
$fh=curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//var_dump(curl_getinfo($ch));
// schlie�e den cURL-Handle und gebe die Systemresourcen frei
curl_close($ch);
if($httpCode >= 200 && $httpCode < 300){
//$content = $ccache->get('roomdata');
$content = json_decode($fh,true);
$userlist = array();
foreach($content as $room) {
$room_name = $room['room'];
$userlist[$room_name]['s'] = $room_state;
$userlist[$room_name]['u'] = array();
$userlist[$room_name]['g'] = $type;
if(!is_array($room['users'])){
unset($userlist[$room_name]);
continue;
}
foreach($room['users'] as $user) {
$userlist[$room_name]['u'][$user['nick']] = $user['color'];
}
}
// Return userlist
return $userlist;
}else{
return false;
}
}
function get_user_room($username) {
global $config, $ccache;
// Open URL to userlist
// erzeuge einen neuen cURL-Handle
$ch = curl_init();
// setze die URL und andere Optionen
curl_setopt($ch, CURLOPT_URL, "https://chat.funch.at/info/".$username);
//curl_setopt($ch, CURLOPT_URL, "https://46.4.58.184/info");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// f�hre die Aktion aus und gebe die Daten an den Browser weiter
$fh=curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpCode >= 200 && $httpCode < 300){
//$content = $ccache->get('roomdata');
if($content = ""){
return false;
}
$content = json_decode($fh,true);
// Return userlist
return $content;
}else{
return false;
}
}
function chat_online(){
global $session, $config;
$online=get_user_list();
if($online!==FALSE){
$rooms=array_keys($online);
$i=0;
$data["usercount"]=0;
$data["gdusercount"]=0;
if(!isset($online[""])){
foreach($rooms as $room){
if(($session->userdata['allow_grimdark']==0 || $session->userdata['uid']==0) && $online[$room]['g']=='grimdark'){
continue;
}
if($online[$room]["s"]=="locked"){
$data[$i]["room"]=$room . " [abgeschlossen]";
}elseif($online[$room]["s"]=="password"){
$data[$i]["room"]=$room . " [password]";
}else{
$data[$i]["room"]=$room . " [offen]";
}
$users=array_keys($online[$room]["u"]);
foreach($users as $user){
if($data[$i]["users"]){
$data[$i]["users"].=', ';
}
if($online[$room]['g']=='grimdark'){
$data['gdusercount']++;
}else{
$data['usercount']++;
}
$data[$i]["users"].=''.$user.'';
}
$i++;
}
}
return $data;
}else{
$data["chat_offline"]=true;
$data["usercount"]=0;
return $data;
}
}
function chat_data(){
$online=get_user_list();
if($online!==FALSE){
$rooms=array_keys($online);
$i=0;
if(!isset($online[""])){
foreach($rooms as $room){
$users=array_keys($online[$room]["u"]);
foreach($users as $user){
$data[$i]["user"]=$user;
$data[$i]["room"]=$room;
$i++;
}
}
}
foreach($data as $user){
echo "(".$user["user"].") (".$user["room"].")\n";
}
}else{
$data["chat_offline"]=true;
$data["usercount"]=0;
return $data;
}
}
?>