$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; } } ?>