phpmychat/0040755000175600010010000000000010201467201012270 5ustar NicolasAucunphpmychat/chat/0040755000175600010010000000000010201467160013213 5ustar NicolasAucunphpmychat/chat/admin/0040755000175600010010000000000010201467156014310 5ustar NicolasAucunphpmychat/chat/admin/admin1.php0100644000175600010010000003111410032755624016171 0ustar NicolasAucunquery("SELECT username,perms FROM ".C_REG_TBL." WHERE perms != 'admin'"); $users = Array(); while (list($username, $perms) = $DbLink->next_record()) { $users[] = $username; } $DbLink->clean_results(); for (reset($users); $username=current($users); next($users)) { $usrHash = md5($username); $VarName = "user_".$usrHash; if (!isset($$VarName)) continue; // Delete a profile after having sent a message to the user if he is connected if ($DELETE_MODE) { $VarName = "selected_".$usrHash; if (isset($$VarName)) { $uuu = addslashes($username); $DbLink->query("DELETE FROM ".C_REG_TBL." WHERE username='$uuu'"); $DbLink->query("SELECT room FROM ".C_USR_TBL." WHERE username='$uuu' LIMIT 1"); $in_room = ($DbLink->num_rows() != 0); if ($in_room) { list($room) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("SELECT type FROM ".C_MSG_TBL." WHERE room='".addslashes($room)."' LIMIT 1"); list($type) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("UPDATE ".C_USR_TBL." SET status='u' WHERE username='$uuu'"); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ('$type', '".addslashes($room)."', 'SYS delreg', '', ".time().", '$uuu', 'L_ADM_2')"); }; // Optimize the registered users table when a MySQL DB is used $DbLink->optimize(C_REG_TBL); }; } // Banish an user elseif ($BANISH_MODE) { $VarName = "selected_".$usrHash; if (isset($$VarName)) { $uuu = addslashes($username); $DbLink->query("SELECT latin1,ip FROM ".C_REG_TBL." WHERE username='$uuu' LIMIT 1"); list($Latin1, $IP) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("SELECT count(*) FROM ".C_BAN_TBL." WHERE username='$uuu' LIMIT 1"); list($Nb) = $DbLink->next_record(); $DbLink->clean_results(); if ($Nb == "0") { $Until = time() + round(C_BANISH * 60 * 60 * 24); if ($Until > 2147483647) $Until = "2147483647"; $DbLink->query("INSERT INTO ".C_BAN_TBL." VALUES ('$uuu','$Latin1','$IP','**ToDefine**','$Until')"); }; $Warning = A_SHEET1_10; }; } // Modify perms for a registered user and send him a message if he is connected else { $VarName = "perms_".$usrHash; $ppp = $$VarName; $VarName = "rooms_".$usrHash; $rrr = $$VarName; $VarName = "old_perms_".$usrHash; $old_ppp = $$VarName; $VarName = "old_rooms_".$usrHash; $old_rrr = $$VarName; if ($ppp == $old_ppp && $rrr == $old_rrr) continue; $uuu = addslashes($username); $DbLink->query("UPDATE ".C_REG_TBL." SET perms='$ppp', rooms='$rrr' WHERE username='$uuu'"); $DbLink->query("SELECT room FROM ".C_USR_TBL." WHERE username='$uuu' LIMIT 1"); $in_room = ($DbLink->num_rows() != 0); if ($in_room) { list($room) = $DbLink->next_record(); $DbLink->clean_results(); // Find the changes in moderated rooms list if ($ppp != $old_ppp) { if ($ppp == 'user') $diff_rooms = explode(",", $old_rrr); else $diff_rooms = explode(",", $rrr); } else { $old_rooms_Tab = explode(",",$old_rrr); $new_rooms_Tab = explode(",",$rrr); $diff_rooms_Tab = array(); for (reset($old_rooms_Tab); $room2Check=current($old_rooms_Tab); next($old_rooms_Tab)) { if ($room2Check == "") continue; if (!room_in($room2Check, $rrr)) $diff_rooms_Tab[] = $room2Check; } for (reset($new_rooms_Tab); $room2Check=current($new_rooms_Tab); next($new_rooms_Tab)) { if ($room2Check == "") continue; if (!room_in($room2Check, $old_rrr)) $diff_rooms_Tab[] = $room2Check; } unset($old_rooms_Tab); unset($new_rooms_Tab); if (count($diff_rooms_Tab) > 0) $diff_rooms = str_replace(",,",",",ereg_replace("^,|,$","",implode(",",$diff_rooms_Tab))); unset($diff_rooms_Tab); } // Send a message to the user if he chats into one of the 'diff' rooms if (room_in(addslashes($room), $diff_rooms)) { if ($ppp == 'moderator' && room_in(addslashes($room), $rrr)) // user becomes moderator for the room he chats into { $status = "m"; $message = "sprintf(L_MODERATOR, \"".addslashes(htmlspecialchars(stripslashes($uuu)))."\")"; } else // user becomes user for the room he chats into { $status = "r"; $message = "sprintf(L_ADM_1, \"".addslashes(htmlspecialchars(stripslashes($uuu)))."\")"; }; $DbLink->query("UPDATE ".C_USR_TBL." SET status='$status' WHERE username='$uuu'"); $DbLink->query("SELECT type FROM ".C_MSG_TBL." WHERE room='".addslashes($room)."' LIMIT 1"); list($type) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ('$type', '".addslashes($room)."', 'SYS promote', '', ".time().", '', '$message')"); }; } else { $DbLink->clean_results(); }; }; }; }; // Remove profiles of users that have not been chatting for a time > C_REG_DEL if (!isset($FORM_SEND) && C_REG_DEL != 0) $DbLink->query("DELETE FROM ".C_REG_TBL." WHERE reg_time < ".(time() - C_REG_DEL * 60 * 60 * 24)." AND perms != 'admin'"); // Remove moderator status if no room is specified $DbLink->query("UPDATE ".C_REG_TBL." SET perms='user' WHERE perms='moderator' AND rooms=''"); ?>

$Warning


\n"); ?> query("SELECT COUNT(*) FROM ".C_REG_TBL." WHERE perms != 'admin' LIMIT 1"); list($count_RegUsers) = $DbLink->next_record(); $DbLink->clean_results(); if ($count_RegUsers != 0) { ?>
" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Form1"> $lastPage_startReg) $startReg = $lastPage_startReg; if (C_DB_TYPE == "mysql") $limits = " LIMIT $startReg,10"; elseif (C_DB_TYPE == "pgsql") $limits = " LIMIT 10 OFFSET $startReg"; else $limits = ""; $DbLink->query("SELECT username,latin1,perms,rooms,reg_time,ip FROM ".C_REG_TBL." WHERE perms != 'admin' ORDER BY $sortBy $sortOrder".$limits); while (list($username,$Latin1,$perms,$rooms,$lastTime,$IP) = $DbLink->next_record()) { $usrHash = md5($username); ?> clean_results(); ?>
  "> "> "> "> *
*
 


0) { $downReg = $startReg - 10; if ($downReg < 0) $downReg = "0"; ?>  ">    ">  ">    ">
phpmychat/chat/admin/admin2.php0100644000175600010010000002042510032755624016175 0ustar NicolasAucunquery("SELECT username FROM ".C_BAN_TBL); $users = Array(); while (list($username) = $DbLink->next_record()) { $ban_users[] = $username; }; $DbLink->clean_results(); for (reset($ban_users); $username=current($ban_users); next($ban_users)) { $usrHash = md5($username); $VarName = "user_".$usrHash; if (!isset($$VarName)) continue; // Remove banishment if ($DELETE_MODE) { $VarName = "delete_".$usrHash; if (isset($$VarName)) { $uuu = addslashes($username); $DbLink->query("DELETE FROM ".C_BAN_TBL." WHERE username='$uuu'"); // Optimize the registered users table when a MySQL DB is used $DbLink->optimize(C_BAN_TBL); } } // Modify list of banished rooms for an user else { $VarName = "rooms_".$usrHash; $rrr = $$VarName; $VarName = "until_".$usrHash; $ttt = $$VarName; $VarName = "old_rooms_".$usrHash; $old_rrr = $$VarName; $VarName = "old_until_".$usrHash; $old_ttt = $$VarName; if ($rrr == $old_rrr && $ttt == $old_ttt) continue; $AddUntil = ($ttt == "forever" ? ", ban_until='2147483647'" : ""); $uuu = addslashes($username); $DbLink->query("UPDATE ".C_BAN_TBL." SET rooms='$rrr'".$AddUntil." WHERE username='$uuu'"); // banish the user if he's currently chatting if ($rrr == "*") { $DbLink->query("UPDATE ".C_USR_TBL." SET status='b' WHERE username='$uuu'"); } else { $DbLink->query("SELECT room FROM ".C_USR_TBL." WHERE username='$uuu' LIMIT 1"); $in_room = ($DbLink->num_rows() != 0); if ($in_room) { list($room) = $DbLink->next_record(); $DbLink->clean_results(); if (room_in(addslashes($room), $rrr)) $DbLink->query("UPDATE ".C_USR_TBL." SET status='b' WHERE username='$uuu'"); } else { $DbLink->clean_results(); }; }; }; }; }; // Remove banishment of users when necessary (time for banishment expire or no room) $ToCheck = "rooms = ''"; if (!isset($FORM_SEND)) $ToCheck = "ban_until < ".time()." OR ".$ToCheck; $DbLink->query("DELETE FROM ".C_BAN_TBL." WHERE ".$ToCheck); ?>

query("SELECT COUNT(*) FROM ".C_BAN_TBL." LIMIT 1"); list($count_BanUsers) = $DbLink->next_record(); $DbLink->clean_results(); if ($count_BanUsers != 0) { ?>
" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Form2"> $lastPage_startReg) $startReg = $lastPage_startReg; if (C_DB_TYPE == "mysql") $limits = " LIMIT $startReg,10"; elseif (C_DB_TYPE == "pgsql") $limits = " LIMIT 10 OFFSET $startReg"; else $limits = ""; $DbLink->query("SELECT username,latin1,ip,rooms,ban_until FROM ".C_BAN_TBL." ORDER BY $sortBy $sortOrder".$limits); while (list($username,$Latin1,$ip,$rooms,$until) = $DbLink->next_record()) { $usrHash = md5($username); ?> clean_results(); ?>
  "> "> *
">
*
 
0) { $downReg = $startReg - 10; if ($downReg < 0) $downReg = "0"; ?>  ">    ">  ">    ">
phpmychat/chat/admin/admin3.php0100644000175600010010000000654710032755624016207 0ustar NicolasAucunquery("UPDATE ".C_USR_TBL." SET status='d' WHERE room='$room'"); $DbLink->query("SELECT COUNT(*) FROM ".C_USR_TBL." WHERE room='$room'"); list($anybody) = $DbLink->next_record(); $DbLink->clean_results(); $i = time() + 20; // let the time to users to be 'kicked' (max=20 sec) while ($anybody != 0 && time() < $i) { $DbLink->query("SELECT COUNT(*) FROM ".C_USR_TBL." WHERE room='$room'"); list($anybody) = $DbLink->next_record(); $DbLink->clean_results(); sleep(2); } // Remove permissions for that room when it's not a default one (define in config.lib.php) if (!room_in(stripslashes($room), $DefaultChatRooms)) { $UpdLink = new DB; $DbLink->query("SELECT username,rooms FROM ".C_REG_TBL." WHERE perms='moderator'"); while (list($mod_un,$mod_rooms) = $DbLink->next_record()) { $changed = false; $roomTab = explode(",",$mod_rooms); for ($i = 0; $i < count($roomTab); $i++) { if (strcasecmp(stripslashes($room), $roomTab[$i]) == 0) { $roomTab[$i] = ""; $changed = true; break; }; }; if ($changed) { $mod_rooms = str_replace(",,",",",ereg_replace("^,|,$","",implode(",",$roomTab))); $UpdLink->query("UPDATE ".C_REG_TBL." SET rooms='".addslashes($mod_rooms)."' WHERE username='".addslashes($mod_un)."'"); }; unset($roomTab); }; $DbLink->clean_results(); }; // Clean the room; $DbLink->query("DELETE FROM ".C_USR_TBL." WHERE room='$room'"); $DbLink->query("DELETE FROM ".C_MSG_TBL." WHERE room='$room'"); }; // Optimize the messages table when a MySQL DB is used $DbLink->optimize(C_MSG_TBL); }; ?>

query("SELECT COUNT(*) FROM ".C_MSG_TBL." LIMIT 1"); list($count_Rooms) = $DbLink->next_record(); $DbLink->clean_results(); if ($count_Rooms != 0) { ?>
" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Form2">

phpmychat/chat/admin/admin4.php0100644000175600010010000000755410032755624016207 0ustar NicolasAucun // The admin has required an action to be done if (isset($FORM_SEND) && $FORM_SEND == 4) { // Sending the mails when at least an user has been selected and subject and message // have been filled if (count($SendTo) > 0 && trim($subject) != "" && trim($message) != "") { include('./admin/mail4admin.lib.php'); for (reset($SendTo); $mailTo=current($SendTo); next($SendTo)) { $Send = send_email($mailTo,$subject,$message); if (!$Send) break; }; $Message = ($Send ? A_SHEET4_7 : A_SHEET4_8); $MsgStyle = ($Send ? "success" : "error"); } else { $Message = A_SHEET4_9; $MsgStyle = "error"; }; }; ?>

$Message


\n"); ?> query("SELECT COUNT(*) FROM ".C_REG_TBL." WHERE perms != 'admin' LIMIT 1"); list($count_RegUsers) = $DbLink->next_record(); $DbLink->clean_results(); if ($count_RegUsers != 0) { ?>
" METHOD="POST" AUTOCOMPLETE="OFF" NAME="MailForm">
 
 
">
 
 
phpmychat/chat/admin/adminBody.php0100644000175600010010000000503310032755624016727 0ustar NicolasAucunoptimize(C_MSG_TBL); $DbLink->optimize(C_USR_TBL); $DbLink->optimize(C_REG_TBL); $DbLink->optimize(C_BAN_TBL); }; if ($sheet < 3) { // Inverse sort order if (!isset($sortBy)) $sortBy = "username"; if (!isset($sortOrder)) $sortOrder = "ASC"; $New_sortOrder = ($sortOrder == "ASC") ? "DESC" : "ASC"; // Define the lower bound to be displayed for registered users table if (!isset($startReg)) $startReg = "0"; }; // Remove some var from the url query $URLQueryBody = "What=Body&L=$L&sheet=$sheet"; if ($sheet < 3) { $URLQueryBody_Links = "From=$From&".$URLQueryBody."&pmc_username=".urlencode($pmc_username)."&pmc_password=$pmc_password"; $URLQueryBody_SortLinks = $URLQueryBody_Links."&startReg=$startReg"; $URLQueryBody_MoveLinks = $URLQueryBody_Links."&sortBy=$sortBy&sortOrder=$sortOrder"; }; // Horizontal alignement for cells topic and gifs names if ($Charset == "windows-1256") // Arabic { $CellAlign = "RIGHT"; $InvCellAlign = "LEFT"; $BeginGif = "end.gif"; $DownGif = "up.gif"; $EndGif = "begin.gif"; $UpGif = "down.gif"; } else { $CellAlign = "LEFT"; $InvCellAlign = "RIGHT"; $BeginGif = "begin.gif"; $DownGif = "down.gif"; $EndGif = "end.gif"; $UpGif = "up.gif"; }; ?> "> <?php echo(APP_NAME); ?> " TYPE="text/css">
close(); exit(); ?>phpmychat/chat/admin/adminTop.php0100644000175600010010000000413610032755624016577 0ustar NicolasAucun "> " TYPE="text/css">

phpmychat/chat/admin/mail4admin.lib.php0100644000175600010010000000520710032755624017610 0ustar NicolasAucun // It can be found at the URL: http://www.zend.com/codex.php?id=307&single=1 function rfcDate() { // Translated from imap-4.7c/src/osdep/unix/env_unix.c // env-unix.c is Copyright 2000 by the University of Washington // localtime() not available in php... $tn = time(0); $zone = gmdate("H", $tn) * 60 + gmdate("i", $tn); $julian = gmdate("z", $tn); $t = getdate($tn); $zone = $t["hours"] * 60 + $t["minutes"] - $zone; // julian can be one of: // 36x local time is December 31, UTC is January 1, offset -24 hours // 1 local time is 1 day ahead of UTC, offset +24 hours // 0 local time is same day as UTC, no offset // -1 local time is 1 day behind UTC, offset -24 hours // -36x local time is January 1, UTC is December 31, offset +24 hours if ($julian = $t["yday"] - $julian) { $zone += (($julian < 0) == (abs($julian) == 1)) ? -24*60 : 24*60; }; $zone_sign = ($zone > 0 ? "+" : "-"); return date('D, d M Y H:i:s ', $tn).$zone_sign.sprintf("%02d%02d", abs($zone)/60, abs($zone)%60)." (".strftime("%Z").")"; } $Sender_Name = quote_printable($Sender_Name,$Charset); $mail_date = rfcDate(); function send_email($To,$Subject,$Body) { global $Charset; global $Sender_Name, $Sender_email; global $mail_date; $Subject = quote_printable($Subject,$Charset); $Headers = "From: ${Sender_Name} <${Sender_email}> \r\n"; $Headers .= "X-Sender: <${Sender_email}> \r\n"; $Headers .= "X-Mailer: PHP/".phpversion()." \r\n"; $Headers .= "Return-Path: <${Sender_email}> \r\n"; $Headers .= "Date: ${mail_date} \r\n"; $Headers .= "Mime-Version: 1.0 \r\n"; $Headers .= "Content-Type: text/plain; charset=${Charset} \r\n"; $Headers .= "Content-Transfer-Encoding: 8bit \r\n"; return @mail($To, $Subject, stripslashes($Body), $Headers); }; }; ?>phpmychat/chat/admin.php0100644000175600010010000001016010032755617015020 0ustar NicolasAucun "> <?php echo(APP_NAME); ?> " NAME="adminTop" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH="3" MARGINHEIGHT="3" SCROLLING="NO"> " NAME="adminBody" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH=0 MARGINHEIGHT=0 NORESIZE> phpmychat/chat/blank.php0100644000175600010010000000075410032755617015027 0ustar NicolasAucun "> Blank title phpmychat/chat/config/0040755000175600010010000000000010201467156014465 5ustar NicolasAucunphpmychat/chat/config/admin.css.php0100644000175600010010000000440410032755624017056 0ustar NicolasAucun * {font-family: , sans-serif;} * {font-family: helvetica, arial, geneva, sans-serif;} BODY { margin: 5px; background-color: #666699; color: #000000; font-size: pt; font-weight: 400; text-indent: 0; } TABLE, TR, TD, TH { color: #000000; font-size: pt; font-weight: 400; } TH, B { font-weight: 800; } .menu { font-size: pt; font-weight: 600; background-color: #666699; color: #FFFFFF; border-bottom: 1pt solid #FFFFFF; }; .menuTitle { font-size: pt; font-weight: 600; background-color: #666699; color: #CCCCFF; }; A { text-decoration: underline; color: #FFFFFF; font-weight: 600; }; A:hover, A:active { color: #FF9900; text-decoration: none; }; .thumbIndex { font-size: pt; font-weight: 600; background-color: #9999CC; color: #FFFFFF; border-top: 1pt solid #FFFFFF; border-left: 1pt solid #FFFFFF; border-right: 1pt solid #FFFFFF; }; .thumbIndex A { text-decoration: none; color: #FFFFFF; font-weight: 600; } .thumbIndex A.selected { text-decoration: none; color: #CCCCFF; font-weight: 600; } .thumbIndex A:hover, .thumbIndex A:active { text-decoration: none; background: #666699; color: #FF9933; } INPUT, SELECT, TEXTAREA { background: #EEEEFF; } .title { color: #CCCCFF; font-size: pt; font-weight: 800; } .table { background-color: #CCCCFF; color: #000000; font-size: pt; font-weight: 400; } .tabtitle { background-color: #666699; color: #FFFFFF; font-size: pt; font-weight: 800; } .error { font-weight: 800; color: #FF0000; } .success { font-weight: 800; color: #CCCCFF; } .small { color: #FFFFFF; font-size: pt; }phpmychat/chat/config/config.lib.php0100644000175600010010000001033710032755624017213 0ustar NicolasAucunphpmychat/chat/config/start_page.css.php0100644000175600010010000000622510032755624020122 0ustar NicolasAucun .ChatBody { background-color: #666699; color: #FFFFFF; font-size: pt; font-weight: 400; margin: 5px; text-indent: 0; } .ChatTable { background-color: #CCCCFF; color: #000000; font-size: pt; font-weight: 400; } .ChatTabTitle { background-color: #666699; color: #FFFFFF; font-size: pt; font-weight: 800; } TR.ChatCell, TD.ChatCell, TH.ChatCell { color: #000000; font-size: pt; font-weight: 400; } TH.ChatCell { font-weight: 800; } A.ChatFonts { text-decoration: underline; color: #FF0000; font-weight: 600; } A.ChatFonts:hover, A.ChatFonts:active { color: #FF0000; text-decoration: none; } A.ChatLink { text-decoration: underline; color: #FFFFFF; font-weight: 600; } A.ChatLink:hover, A.ChatLink:active { color: #FF9900; text-decoration: none; } A.ChatReg { text-decoration: underline; color: #0000C0; font-weight: 800; } A.ChatReg:hover,A.ChatReg:active { color: #0000C0; text-decoration: none; } INPUT.ChatBox, SELECT.ChatBox, TEXTAREA.ChatBox { background: #EEEEFF; } .ChatTitle { color: #CCCCFF; font-size: pt; font-weight: 800; } .ChatError { font-size: pt; font-weight: 800; color: #FF0000; } .ChatCopy { font-family: helvetica, arial, geneva, sans-serif; unicode-bidi: embed; color: #CCCCFF; font-size: 8pt; } A.ChatCopy, A.ChatCopy:active { font-family: helvetica, arial, geneva, sans-serif; color: #FFFFFF; } .ChatP1 { font-size: pt; color: #FFFFFF; } .ChatP2 { font-size: pt; color: #000000; } .ChatFlags { color: #000000; font-size: 10pt; font-weight: 400; }phpmychat/chat/config/style.css.php0100644000175600010010000000456510032755624017136 0ustar NicolasAucun * {font-family: , sans-serif;} * {font-family: helvetica, arial, geneva, sans-serif;} BODY { background-color: #666699; color: #FFFFFF; font-size: pt; font-weight: 400; margin: 5px; text-indent: 0; } BODY.frame { background-color: #666699; color: #CCCCFF; font-size: pt; font-weight: 400; margin: 5px; text-indent: 0; } BODY.mainframe { background-color: #CCCCFF; color: #000000; font-size: pt; font-weight: 400; margin: 5px; } TABLE, TR, TD, TH { color: #000000; font-size: pt; font-weight: 400; } TD.whois, .whois { color: #CCCCFF; font-size: pt; font-weight: 600; } TH, B { font-weight: 800; } A { text-decoration: underline; color: #FFFFFF; font-weight: 600; } A:hover, A:active { color: #FF9900; text-decoration: none; } A.user, A.user:active { text-decoration: none; color: #CCCCFF; font-weight: 400; } INPUT, SELECT, TEXTAREA { background: #EEEEFF; } A.sender, A.sender:active { text-decoration: none; color: #000000; font-weight: 600; } .msg { margin-top: 0px; margin-bottom: 2px; margin-left: px; margin-right: px; text-indent: -50px; } .title { color: #CCCCFF; font-size: pt; font-weight: 800; } .table { background-color: #CCCCFF; color: #000000; font-size: pt; font-weight: 400; } .tabtitle { background-color: #666699; color: #FFFFFF; font-size: pt; font-weight: 800; } .error { font-weight: 800; color: #FF0000; } .small { color: #FFFFFF; font-size: pt; } .time { unicode-bidi: embed; color: #000000; font-size: 8pt; } .notify { color: #666699; font-size: pt; font-weight: 600; }phpmychat/chat/deluser.php0100644000175600010010000000617410032755617015405 0ustar NicolasAucunquery("DELETE FROM ".C_REG_TBL." WHERE username='$pmc_username'"); $Msg = L_REG_21; $DbLink->close(); }; // For translations with an explicit charset (not the 'x-user-defined' one) if (!isset($FontName)) $FontName = ""; ?> "> <?php echo(APP_NAME); ?> " TYPE="text/css">

$Error

"); } ?>

phpmychat/chat/edituser.php0100644000175600010010000002213510032755617015561 0ustar NicolasAucunquery("SELECT count(*) FROM ".C_REG_TBL." WHERE username='$U'"); list($rows) = $DbLink->next_record(); $DbLink->clean_results(); if ($rows != 0) $Error = L_ERR_USR_9; } if (!isset($Error)) { $Latin1 = ($Charset == "iso-8859-1"); $PWD_Hash = md5(stripslashes($prev_PASSWORD)); if (!isset($GENDER)) $GENDER = ""; $showemail = (isset($SHOWEMAIL) && $SHOWEMAIL)? 1:0; include("./lib/get_IP.lib.php"); // Set the $IP var $DbLink->query("UPDATE ".C_REG_TBL." SET username='$U', latin1='$Latin1', password='$PWD_Hash', firstname='$FIRSTNAME', lastname='$LASTNAME', country='$COUNTRY', website='$WEBSITE', email='$EMAIL', showemail=$showemail, reg_time=".time().", ip='$IP', gender='$GENDER' WHERE username='$pmc_username'"); if ($pmc_username != $U) $pmc_username = $U; if ($pmc_password != $prev_PASSWORD) $pmc_password = $prev_PASSWORD; $Message = L_REG_17; } } // Else initialize var that will be displayed in the form else { $U = $pmc_username; $prev_PASSWORD = $pmc_password; $DbLink->query("SELECT firstname,lastname,country,website,email,showemail,gender FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); if ($DbLink->num_rows() != 0) { list($FIRSTNAME, $LASTNAME, $COUNTRY, $WEBSITE, $EMAIL, $SHOWEMAIL, $GENDER) = $DbLink->next_record(); } $DbLink->clean_results(); } $DbLink->close(); // Modifications have been done ? $done = (isset($Message) && $Message == L_REG_17); // For translations with an explicit charset (not the 'x-user-defined' one) if (!isset($FontName)) $FontName = ""; ?> "> <?php echo(APP_NAME); ?> " TYPE="text/css">

$Error

"); } ?>
 
: > *
: > *
: > *
: > *
:
: >
: >
: > *
>  

phpmychat/chat/exit.php0100644000175600010010000000604010032755617014703 0ustar NicolasAucun "> Exit frame " TYPE="text/css">
" TARGET="_parent">
"); if ($Ver == "H") { ?> <?php echo(L_EXPCOL_ALL); ?>   " onClick="users_popup(); return false" TARGET="_blank"><?php echo(L_DETACH); ?>       <?php echo(L_CONN_STATE); ?>
phpmychat/chat/export.php0100644000175600010010000001130310032755617015251 0ustar NicolasAucunquery("SELECT count(*) FROM ".C_USR_TBL." WHERE username = '$U' AND ip = '$IP' LIMIT 1"); list($isNotHack) = $DbLink->next_record(); if (!$isNotHack) { $DbLink->close(); exit(); } else { $DbLink->clean_results(); } // Translate to html special characters, and entities if message was sent with a latin 1 charset $Latin1 = ($Charset == "iso-8859-1"); function special_char($str,$lang) { return ($lang ? htmlentities(stripslashes($str)) : htmlspecialchars(stripslashes($str))); } // ** Get messages ** // Define the SQL query (depends on values for ignored users list and on whether to display // notification messages or not $CondForQuery = "username NOT LIKE 'SYS %' AND "; if (isset($Ign)) { $IgnoreList = "'".str_replace(",","','",addslashes(urldecode($Ign)))."'"; $CondForQuery .= "username NOT IN (${IgnoreList}) AND "; }; $CondForQuery .= "(address = ' *' OR (room = '$R' AND (address IN ('$U','') OR username = '$U')))"; $LimitForQuery = (isset($Limit) && $Limit != "") ? " LIMIT ".$Limit : ""; $DbLink = new DB; $DbLink->query("SELECT m_time, username, latin1, address, message FROM ".C_MSG_TBL." WHERE ".$CondForQuery." ORDER BY m_time DESC".$LimitForQuery); // Format and display new messages if($DbLink->num_rows() > 0) { $MessagesString = ""; while(list($Time, $User, $Latin1, $Dest, $Message) = $DbLink->next_record()) { $NewMsg = "

"; if ($ST == 1) $NewMsg .= "".date("H:i:s", $Time + C_TMZ_OFFSET*60*60)." "; if ($Dest != " *") { $User = special_char($User,$Latin1); if ($Dest != "") $Dest = "]>[".htmlspecialchars(stripslashes($Dest)); $NewMsg .= "[${User}${Dest}] $Message

"; } else { $NewMsg .= " [".L_ANNOUNCE."] $Message"; }; // Separator between messages sent before today and other ones if (!isset($day_separator) && date("j", $Time + C_TMZ_OFFSET*60*60) != date("j", time() + C_TMZ_OFFSET*60*60)) { $day_separator = "

--------- ".($O == 0 ? L_TODAY_UP : L_TODAY_DWN)." ---------

"; }; $MessagesString = $NewMsg.((isset($day_separator) && $day_separator != "") ? "\n".$day_separator : "")."\n".$MessagesString; if (isset($day_separator)) $day_separator = ""; // Today separator already printed }; }; $DbLink->clean_results(); $DbLink->close(); if (isset($MessagesString) && $MessagesString != "") { // Save messages to a file header("Content-Type: application/octetstream"); header("Content-Disposition: attachement; filename=\"chat_save_".date("mdY").".htm\""); ?> "> <?php echo(APP_NAME." - ".htmlspecialchars(stripslashes($R))." - ".date("F j, Y")); ?> phpmychat/chat/favicon.ico0100644000175600010010000000257610032755617015354 0ustar NicolasAucunh( @¶¶¶’’’ّ‍!ٍگ!ùڈ)ُڈ%ôڑى‘ه‹ل‡ف„ع€ض}دu تqبmأj¹d–Q-ئü)½ù%´ُ#¨ü!¬ٍ!¥ّ £ِ¢َ£ي‌ë™ه–ل“ـ‘ع چش ٹد‡ة‚أyزWuرRsذOpدLnدIjحDdث<\أ5X؛2V·1R®/M¤,Jœ*E‘'z¹b–zzznnnJJJ8v ےےے‏‏‏‏‏‏99999‏‏‏‏‏‏‏‏‏‏‏9$4#9‏‏‏‏‏‏‏99999#4!99999‏‏‏99"391809‏‏‏999!998/9‏‏‏9 9 92.9‏‏99 99-,99‏9 99,++9‏9 99+*)9‏999999+*)'9‏995679*(&%9‏‏99999699999‏‏‏95679595679‏‏‏969999969‏‏‏959‏‏‏959‏‏‏‏999‏‏‏‏‏999‏‏üےےüےےہےےہےےہےےہےے€ےے€ےے€ےے€ےے€ےےہےےہےےہےےءءےےممےےphpmychat/chat/handle_inputH.php0100644000175600010010000002767310032755617016533 0ustar NicolasAucunquery( 'SELECT ' . C_USR_TBL . '.room, ' . C_USR_TBL . '.status, ' . C_USR_TBL. '.ip' . ' FROM ' . C_USR_TBL . ', ' . C_REG_TBL . ' WHERE ' . C_USR_TBL . '.username = \'' . $U . '\'' . ' AND ' . C_REG_TBL . '.username = \'' . $U . '\'' . ' AND ' . C_REG_TBL . '.password = \'' . $PWD_Hash . '\'' . ' LIMIT 1'); } else // C_REQUIRE_REGISTER == 0 && $PWD_Hash is empty { $DbLink->query('SELECT username FROM ' . C_REG_TBL . ' WHERE username = \'' . $U . '\' LIMIT 1'); if ($DbLink->num_rows() == 0) { $DbLink->query('SELECT room, status, ip FROM ' . C_USR_TBL . ' WHERE username = \'' . $U . '\' LIMIT 1'); } else { $DbLink->clean_results(); $DbLink->close(); exit(); // hack attack } } // End of SeazoN Fix if ($DbLink->num_rows() != 0) { list($room, $status, $knownIp) = $DbLink->next_record(); $DbLink->clean_results(); $kicked = 0; // Security issue include("./lib/get_IP.lib.php"); if ($knownIp != $IP) { $kicked = 5; } // Update users info elseif ($room != stripslashes($R)) // Same nick in another room { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_EXIT_ROM, \"".special_char($U,$Latin1)."\")')"); $kicked = 3; } elseif ($status == "k") // Kicked by a moderator or the admin. { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_KICKED, \"".special_char($U,$Latin1)."\")')"); $kicked = 1; } elseif ($status == "d") // The admin just deleted the room { $kicked = 2; } elseif ($status == "b") // Banished by a moderator or the admin. { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_BANISHED, \"".special_char($U,$Latin1)."\")')"); $kicked = 4; }; if ($kicked > 0) { // Kick the user from the current room $kickedUrl = ($kicked < 5) ? "$From?L=$L&U=".urlencode(stripslashes($U))."&E=".urlencode(stripslashes($R))."&KICKED=$kicked" : "$From?L=$L"; ?> close(); exit; } } else { $DbLink->clean_results(); // Fix a security issue ?> close(); exit; } // ** Send formated messages to the message table ** function AddMessage($M, $T, $R, $U, $C, $Private) { global $DbLink; global $Latin1; global $status; // Text formating tags if(C_HTML_TAGS_KEEP == "none") { if(C_HTML_TAGS_SHOW == 0) { // eliminates every HTML like tags $M = ereg_replace("<[^>]+>", "", $M); } else { // or keep it without effect $M = str_replace("<", "<", $M); $M = str_replace(">", ">", $M); } } else { // then C_HTML_TAGS_KEEP == "simple", we keep U, B and I tags $M = str_replace("<", "<", $M); $M = str_replace(">", ">", $M); if(function_exists("preg_match")) { while(preg_match("/<([ubi]?)>(.*?)<(\/\\1)>/i",$M)) { $M = preg_replace("/<([ubi]?)>(.*?)<(\/\\1)>/i","<\\1>\\2<\\3>",$M); } if(C_HTML_TAGS_SHOW == 0) { $M = preg_replace("/<\/?[ubi]?>/i","",$M); } } } // URL $M = eregi_replace('([[:space:]]|^)(www[.])', '\\1http://\\2', $M); // no prefix (www.myurl.ext) $prefix = '(http|https|ftp|telnet|news|gopher|file|wais)://'; $pureUrl = '([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)'; $M = eregi_replace($prefix . $pureUrl, '\\1://\\2', $M); // e-mail addresses $M = eregi_replace('([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)', '\\1', $M); // Smilies if (C_USE_SMILIES == 1) { include("./lib/smilies.lib.php"); Check4Smilies($M,$SmiliesTbl); unset($SmiliesTbl); }; // transform ISO-8859-1 special characters if ($Latin1) { global $MsgTo; ereg("(.*)(".$MsgTo."(>)?)(.*)",$M,$Regs); if ($MsgTo != "" && ($Regs[1] == "" && $Regs[4] == "")) $Regs[4] = $M; if (!ereg("&[[:alnum:]]{1,10};",$Regs[1]) && !ereg("&[[:alnum:]]{1,10};",$Regs[4])) { for ($i = 1; $i <= 4; $i++) { if (($i != 1 && $i != 4) || $Regs[$i] == "") continue; $part = $Regs[$i]; $part = htmlentities($part); $part = str_replace("<", "<", $part); $part = str_replace(">", ">", $part); $part = str_replace("&lt;", "<", $part); $part = str_replace("&gt;", ">", $part); $part = str_replace(""","\"", $part); $part = ereg_replace("&(#[[:digit:]]{2,5};)", "&\\1", $part); $Regs[$i] = $part; } $M = $Regs[1].$Regs[2].$Regs[4]; } } if (isset($C) and $C != "") { // Red colors are reserved to the admin or a moderator for the current room if ((ereg('#(FF0000|fc403f|fc4b34|fa582a|f66421|f27119|ec7e11|ec117f|f21971|f62164|fa2a58|fc344b)', $C)) && !($status == "a" || $status == "m")) $C = "#000000"; $M = "".$M.""; }; $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', '".addslashes($U)."', '$Latin1', ".time().", '$Private', '".addslashes($M)."')"); } // ** Define the default color that will be used for messages ** if (isset($HTTP_COOKIE_VARS["CookieColor"])) $CookieColor = $HTTP_COOKIE_VARS["CookieColor"]; if(!isset($C)) { if(!isset($CookieColor)) { // set default color to black $C = "#000000"; } elseif (ereg('#(FF0000|fc403f|fc4b34|fa582a|f66421|f27119|ec7e11|ec117f|f21971|f62164|fa2a58|fc344b)', $CookieColor)) { // Red colors are reserved to the admin or a moderator for the current room if (!(isset($status) && ($status == "a" || $status == "m"))) $C = "#000000"; } if (!isset($C)) { $C = $CookieColor; } } setcookie("CookieColor", $C, time() + 60*60*24*365); // cookie expires in one year // ** Test for online commands and swear words ** $IsCommand = false; $RefreshMessages = false; $IsPopup = false; $IsM = false; if (isset($M) && trim($M) != "" && ereg("^\/", $M)) include("./lib/commands.lib.php"); if (isset($M) && ereg("^\/", $M) && !($IsCommand) && !isset($Error)) $Error = L_BAD_CMD; if (isset($M) && trim($M) != "" && (!isset($M0) || ($M != $M0)) && !($IsCommand || isset($Error))) { if (C_NO_SWEAR == 1) { include("./lib/swearing.lib.php"); $M = checkwords($M, false); } AddMessage(stripslashes($M), $T, $R, $U, $C, ""); $RefreshMessages = true; } $DbLink->close(); ?> "> Hidden Input frame \n"); }; ?> phpmychat/chat/help_popup.php0100644000175600010010000002303410032755620016101 0ustar NicolasAucun <?php echo(L_HLP); ?> " TYPE="text/css">
0) echo("\t"); echo("\n"); echo("$ResultTbl[$i]"); echo("\t\n\t\n"); $i++; echo("$ResultTbl[$i]"); echo("\t\n"); $i++; }; unset($ResultTbl); ?>
>


0) { ?>
/!
 
/announce {}
 
/ban [*] {}
 
/clear
 
/ignore [-]
 
/invite {}
 
/join [n] {#}
 
/kick {}
 
/me
 
/msg
/to
 
/notify
 
/order
 
/profile
 
/promote {}
 
/quit []
/exit []
/bye []
 
/refresh [n]
 
/save [n]
 
/show [n]
/last [n]
 
/timestamp
 
/whois {}
 
phpmychat/chat/ignore_popup.php0100644000175600010010000000375310032755620016442 0ustar NicolasAucun "> <?php echo(L_IGNOR_TIT); ?> " TYPE="text/css">
"); } } else { echo(L_IGNOR_NON); } ?>
phpmychat/chat/images/0040755000175600010010000000000010201467156014465 5ustar NicolasAucunphpmychat/chat/images/admin/0040755000175600010010000000000010201467156015555 5ustar NicolasAucunphpmychat/chat/images/admin/begin.gif0100644000175600010010000000016110032755625017326 0ustar NicolasAucunGIF89a‘ےہہہجخüےےے!ù,@B”ڈ©قk´ڑٹ³ejG]%yکّ¥èT•'¹)°ڑ­آs†î¯¯©id4+vـگˆ!َ7؛%‹ث™©l,¶‹;phpmychat/chat/images/admin/down.gif0100644000175600010010000000015010032755625017207 0ustar NicolasAucunGIF89a‘ےہہہجخüےےے!ù,@9”ڈ©ہڑdfع[¯چT\بM™¦چ$zJوا؛jk½tw׳66ذس5‚¤Qب‹لr،Mچ;phpmychat/chat/images/admin/end.gif0100644000175600010010000000016110032755625017010 0ustar NicolasAucunGIF89a‘ےہہہجخüےےے!ù,@B”ڈ©يbر™‡َ»mêî&…U3~_JIdبf%ج€çkصêھïYىCéJڑگتùfترطkف’Bبش,¶‹;phpmychat/chat/images/admin/up.gif0100644000175600010010000000015010032755625016664 0ustar NicolasAucunGIF89a‘ےہہہجخüےےے!ù,@9”ڈ©ہفƒfع[™¼6د¸M‡ _Dژطx,I™p9سµ(oڑ;»£²ى‚°§3عt·Xَ¨ˆ* ;phpmychat/chat/images/beep.wav0100644000175600010010000001775610032755625016137 0ustar NicolasAucunRIFFوWAVEfmt ++dataآ€€€€€}€}{z{}{z{~}{||{zz{~~{|€پ‚€}}{z~~||}~~}~~~|}~||}‚پ~€„ƒ€€{|}‚€|zxy|}€€€ƒƒپ|{{z}~پ€پƒ„€€€پپ~}}{y|}}پ‚‚‚„€{}~}{xxz|{{|{~†ڈ’ژƒvkihjuƒڈ“گژ‡wohjwƒŒٹwvutz„چ“چsnsx}…€zƒ‹ژژ…zpiq~پ~}‚Œ‘ڈ†uihlyŒ’…{€‡„پ†…€z{…چ‡|tlp‡…„‡€{}ysssu€†ƒ††wnr|„…ƒ‰‚lac{ک‍گ~ojt}‚…u|ڈڑœŒxref‰ں–پof`kٹکٹ{گڑ“‡ydSYh‌کszŒ‹‡|wp_Wo‘•‰…‚€‚‚‡„madq„’“ˆ…„~t~‡x{z~ytr…‰„’“z„xigh}گ€ƒں¢Œwsqhifxگڑژ‡ڈ‹tXf{rf`}£ڑچکک|jolmyuq”§ڑچڈ‚^P]{چxl‰ھ“گ~jmlesŒ‡پˆ”ڑƒswrnek…“چˆچ‰ٹ~kfguwsx‹—پxŒ—‘„|…{lgowwuu€گک™گچƒrfb_fhhqپ‰ڈ““ژˆtck}‹› ™œ•ˆ‚پŒ‡ndfs}]2.Hw أظعةںoU=' (7AOt¢ؤجئء؛¦گx[NTLI|؛ةةة½ {]ORK>Oiuٹ•ک•گmQiv`op`bb^eo‡xW1W«ئضâفآ™xC0 !9UNY~¦خصصہ®کtP.:evƒ،¹¹¸­™‰nUNYVOXw…ں‍§¤–†psu\7)XکزâكصؤڑmQ?((Dx³فéهعج¬uE.*)2P{¤»إتا·œƒm]KANgtƒ–§²±°¤„R"?u´علفسأ،zZ91U|§جغعرأ¬†]@3/6Gb†،¶ءؤ½®—„sd[W]l}ژ¥¯™nK=DUn‘´ء´‌ڈڈگ‰xdN3#"6Wvژ¥؟ثبأآ¶—uXIE?ASn„”¨؛آ؛«‌ڈپqfdm{‚x[<3Gd‚،ءخئ¨ٹƒ‚wcRE3#"5Y}–§¸أ¾³´¸©‰j]ZPHOdstz’ھ²°­­«›‰‚ƒ}iL/!%9\ƒ©ؤحة¶œگˆx`F4&.Mnٹ£¸ءہ¹»ء½«•‚s]HCLVW\k‚‘ڑ§¸ہ¼°¨¦œ†f@%#2Jhچ§¯¬¦ھ­§ک†qX=(",:K`u†ڈ• ھ°´·¹µھœ”ڈٹtldb\[`ipt{‰•‌ںک‹yeZY_goxپ„„…ڈ›œ”چ„wcNFKRV[hw|{}ٹک‌ں¦¯¶´°±²ھ›گٹ€rf_][Y_lyپƒ……}ma_cjozٹ•ک”’—›–چ‰…{jYU\^`dmuurtٹ’–œ¦®°²¶½»±¨ں—‹}urlc_`cdcekpl`WXbjr‚ک¬°¦ڑ””‘‰…†„{j^]`dhox|wv{‚‰ژ•œں ¤ھ²··¶´®،•‹†}oaXQIBAM^kswskcdrƒڈ™ں£ں“چ“‍ ™‘ژ‰zf]dkjfjrunfoپگ•™،©ھ¢ ©´·°ھ§¢•‰ƒƒپvjfgaUNOSQKLZmwxvx‚‚†‘ ¬°ھ کک–چ‡ٹژٹygbcccgu„ƒxt{…ٹŒ“‌¢ڑڈٹژ“““ک‍‍—ڈژڈٹ€xurgYNOPOLP_iotگœ™‹‡ˆٹˆ‚…’  ’ٹچ••ژ‹•ںڑ†ww|refsyhbn{~}‡–‍“‚}„ٹ‡„ˆگڈƒx}†vƒˆگ¢—ژ{wٹ~\NHG5'4^sioŒ°آ¶uXe{ٹrˆاغذœ{،ئ·چ’؛´|28ACک§_Bv³³‘­فâؤپtک‘\Crھ—S8\}dJo·ذ±ˆ—´‍dGamC)<1=p­ؤµ»ضàش¾ہµr!(EM[‹بش±ٹ،·—ea‡yL5<:Yˆئح ¨خحœsœ؛ک\)8G+)Nپ´¥“·ذہچ~§¯†Q?QE%#M…ڈtz ±™“²¥uUarfUeچ¢”ˆں،g2:gژœ²عه×؛’‌“f25fU!/[jp—حو×µ³¶ژL+]|L")Wn_pœحغأµء°}@Wm‹¹فكت´°œl75]O )PRWپ½مطہإأ•N(TnB$AH[{‌¼زكâـة¥}Z8&&1BWm€گ‍«»ؤبثت½£‰kJ/!%5Lfپک¬؛¼¹·´§‘yfUE<@Mb|“¤¶ئتأ±‹eRKDFaژ¸ئؤاا¬€^OIA9>MVTQVi†،µةظـس½›{Z9(.?Qey‹—›› §­³³ھ،•zX@769?Rq‰‘— §§¤¢،œ‘پm]ROQ[n„›±؟ئ¹گkef]a‚´ذذةئ¼—eA42..=Q^]]ctٹœ¯ئضعصئھˆ`9!':To‡œ§§¤¤¨®°¯¯©•wZA.%&4Kbz“¦±¶¼»´«£›‡nXMGDKaƒ¥»؛©—ژ†zwگ؛ذذةؤ¶گ\5'$!#6Ukpow…گ–£¸ةردئ³™wQ2#%2DZu–®²¬§¦¤‌—‌©ھ™‚sbI0(3DO\u‘£§§­°¬¦ کŒ}na]`jz‹‹|wپˆƒ†¥جـظصشة¢mC0!3JMSj‡““¤أ×غطشخ¹گdA+!!(<[z’،«°¯ھ¤¢©°­£کچ{Z:*)+,8Rtڈں°ہةئ¾´®£ڈzjd^Z\[QLVizˆ¤تمêçمـبڑgA*0=BU}™œ »صـطزرب¦vO6',Hf~—«°¬ں”ڈچ‹“‌‍™’…lP;478=Rtگں¤®؛½±¥¥¨¢چ{yxePDEMQ^y‍ؤعنèçكت،uS3)0;Okƒ‘ں¹ذظطشدا°†^A1' &=`z‹‍°³¦”گ™ ‌ک‌ “wZIA6,2Fdx†™­¶¯¥،¥ ™”ڈ‹„}yt_H@JV]mگ¾ظقكâكث‍qYF)+<62Cctr~§جضشصعص¼ڈqaI+!,FYdvگ،ں—–ڑ‍‍‍¢¢ڑˆrXD9318Ifپڈڑ¦±±§ ںںکŒˆژ’گ‡u^OHHKWt اصظففد©y\M6! 3IMDJcqfc{¤؟ؤتصعذ¯ŒxfI01DV[`q„ژ‹ٹ•¢¤ ‍ ں”€jVH?;:F]vٹ”‍©­¦›—››’‡…Œژ‰zj_WSQWj‹®ئرض×ذµ‹hP>/)2FXYV_ouqsˆ£±´؛إة» ‰{nYGGWeiluƒ†~w€’ڑ›› ¢—|dZULBEWmy~‹ں®­£ں¦§›Œˆڈ“چ‚vi\SQUb{‍؟ذض×سإںrP<+/JZ\bu„€w€™°¶´؛آ؛‍€pi]MIYnwxٹ’‹€}†چ‰ƒ„Œٹ}lhlh`\fw‚„ˆ’‌،›کڑœ–‹†‹‘‘‹‚wgXRRXg…¨أحذدت²ٹdM@2&(=T[[j‚ٹپ|ژ¥¯®³آا¶–}o^G:E\mv€’œ–‡‚…پ{~‡‹„wnlidcjv„Œ‘—›™“ژ‹Œڈگڈڈ”ک—ٹwh`ZVUd‚¢؛إتحب³گmVE5+/BV]^gt{xv„ڑ­·½أؤ¸¢ٹubPDBK[lxƒŒ“‘‰ƒ„ˆ‡…†‹‹€qigbZVbt…چ“‍©¨‍——™“چگ—ک‹vdYPIIWr“±ئرشرؤ¨†gN:/.6DQ[doz€†’£±؛آئأ¶‌ƒkUE;>L[iu„گ’‹‡‡‰‡……‰‰پvkea]]dq~‰گ•›‍œ–““’ڈ‹‹ژگŒپsfZSPS^t’±ؤحدح¾ ~aL=42† vٹ¸J·KM;phpmychat/chat/images/gender_girl.gif0100644000175600010010000000024610032755625017437 0ustar NicolasAucunGIF89a³1œ11cc1ccخœc1œœےخœcےخœےےےےخےےے!ù ,Spةھ‌(•vهuI N@9¬ƒ™%rE{RiŒ ُ¦ھ­e¶Cک«bZ+پ€fvىىگ 3آ p8uپگFڑپ´ـ(/";phpmychat/chat/images/gender_none.gif0100644000175600010010000000006510032755625017440 0ustar NicolasAucunGIF89a€ےےے!ù, Œڈ©ثي£œ´ع« ;phpmychat/chat/images/gender_undefined.gif0100644000175600010010000000023210032755625020436 0ustar NicolasAucunGIF89a³ŒŒŒ½Œے½½ïlïïےے¥Œے­Œ‏‏‏ےےŒےےےےےےےےے!ù ,G0ةھ‌œ1خA&\‡œaضm*’‍צY¼پô´ق®z· Iإ° hڑCء¨ش âAàA–"a•زHظ،«´1ا‰;phpmychat/chat/images/helpOff.gif0100644000175600010010000000010710032755625016535 0ustar NicolasAucunGIF89a€ےےے!ù,@„ڈ™ء­¾طƒ³Y©"خ¼÷» (…ŒgبYà&;phpmychat/chat/images/helpOn.gif0100644000175600010010000000016510032755625016403 0ustar NicolasAucunGIF89a³ü’¼¾شّ!ù,C"0بIk8[}ٌو_&zVG–hڑژçؤ².P‚ش;·¨¨z;phpmychat/chat/images/icon.gif0100644000175600010010000000110310032755625016077 0ustar NicolasAucunGIF89aX³33f p?oooUںrجff™ffج=آbچëںjهڑےہ/’’´‌‌تùùû,X‏بI«½8ëح÷ù`(ژdi‍hZJ‡ل¾p,دtmك¸°yïےہعذ ڈ.L ‘P3tF_ت©ƒة¥¶شئWû]– bWzf½ژYھ²A/w·p9|ْ‍‹ë4m/1„5waec`\[qg^ˆB<ƒ[–ک‡rau f‘g|]h€پ•.،ک®™4xگ~¢v’_{K،Zkl«;—ؤئ²3گcj؟I§خ‍X¤|ءD0±‌nFہطO ه ة;êث1×ك9ï:«نوëى69û/‏³ٌِ3°Fƒپ.ص;· !ضµ“QPآٹKlرH!چٹù ي5\ً0¢؛eûL¹O ث‹‏ّ›9°eاژ*c¢ک³ Bژ\`Rآ?چ*•´<ب/eR)؟ذd صcG:Siآ4¬@C‰ بw´êح›+krج)ُéظ²oرzن ”€„‘ئ¶K{Vk_¤lھLƒ‘¯T؟ …ص‎؛@Qzaً‌¬¶jز´0حR¦ R1…ئD»ف¨´²SژWcbئ‚”مfؤ¸jSàxâhأ4ظj‏ë1'¾=ùéژ-L›hٹVg`´ل‍ىث‘ûˆهùôنزûa؟b‍w(ف؟‹oR|¼ùN¨_د¾½û÷ًمثںOے}‡ûَّë؟;phpmychat/chat/images/nosound.gif0100644000175600010010000000013410032755625016637 0ustar NicolasAucunGIF89a ‘ےdfœجخüےےےہہہ!ù, @-ش~b¨à‚Z*ت8سb{PHIZتّ دب‚ص`ق¬ڑ"]c·ء7!? ؛ƒ;phpmychat/chat/images/open.gif0100644000175600010010000000007110032755625016113 0ustar NicolasAucunGIF89a €ےےےےہہہ!ù, @„ڈ‰‘ £“رPho¦[‚;phpmychat/chat/images/open_big.gif0100644000175600010010000000010410032755625016731 0ustar NicolasAucunGIF89a €ےہہہےےے!ù, @Œڈث وbڑ*6ّوآv‡خp‌h‘زféS;;phpmychat/chat/images/popup.gif0100644000175600010010000000012410032755625016314 0ustar NicolasAucunGIF89a ‘ےdfœجخüےےےہہہ!ù, @%ـ$¦ث’B/H†›ًfمpœ· à4~[d}`…گSeN$«C;phpmychat/chat/images/selColor.gif0100644000175600010010000000005210032755625016733 0ustar NicolasAucunGIF89a€ےےے!ù,@L;phpmychat/chat/images/smilies/0040755000175600010010000000000010201467156016132 5ustar NicolasAucunphpmychat/chat/images/smilies/smile1.gif0100644000175600010010000000013510032755625020012 0ustar NicolasAucunGIF89a‘؟؟؟ےے!ù,.Œ ™ا‘لb Zyê½I-<،‰!hnVھ~-§پ+sù)eِv”|jd¾C;phpmychat/chat/images/smilies/smile2.gif0100644000175600010010000000023010032755625020007 0ustar NicolasAucunGIF89a¢ےےے½½½Yےبc„ے!ù ,@]H `ءپ`!C‡ˆQ،E‹V4XP€DچCٹج8Q!ا“K.tط°لG„'آ¬ٍ H“57–ة3§آ‡ [؛ى1(D‰Yv|9‘¦G›;phpmychat/chat/images/smilies/smile3.gif0100644000175600010010000000021010032755625020006 0ustar NicolasAucunGIF89a³خخخےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے!ù,50H j‌8Tءùإ@'zS8ژ%ک!»jفو™+}ٹrœدxŒغ4 جم# gBصي²ص2%K ;phpmychat/chat/images/smilies/smile4.gif0100644000175600010010000000013610032755625020016 0ustar NicolasAucunGIF89a‘½½½Œ­ے½½½!ù,/œ ™ا“لb@ئ*ہءّJ”Eb¥uڈd¦—*¶« ں¨2:ضّظًµيY#C56 £;phpmychat/chat/images/smilies/smile5.gif0100644000175600010010000000020710032755625020016 0ustar NicolasAucunGIF89a³؟؟؟ےے!ù,40H j‌8Tءùإ@'zS8ژ%کëj¦¬هإى)n6Zç®g؟كچœةˆإ_×ùd4–&;phpmychat/chat/images/smilies/smile6.gif0100644000175600010010000000156110032755625020023 0ustar NicolasAucunGIF89a÷@€ے @ € ے@@@@€@ے``@`€`ے€€@€€€ے  @ € ےہہ@ہ€ہےےے@ے€ےے @ € ے @ € ے @ @@ @€ @ے ` `@ `€ `ے € €@ €€ €ے    @  €  ے ہ ہ@ ہ€ ہے ے ے@ ے€ ےے@@@@€@ے@ @ @@ €@ ے@@@@@@@€@@ے@`@`@@`€@`ے@€@€@@€€@€ے@ @ @@ €@ ے@ہ@ہ@@ہ€@ہے@ے@ے@@ے€@ےے``@`€`ے` ` @` €` ے`@`@@`@€`@ے````@``€``ے`€`€@`€€`€ے` ` @` €` ے`ہ`ہ@`ہ€`ہے`ے`ے@`ے€`ےے€€@€€€ے€ € @€ €€ ے€@€@@€@€€@ے€`€`@€`€€`ے€€€€@€€€€€ے€ € @€ €€ ے€ہ€ہ@€ہ€€ہے€ے€ے@€ے€€ےے  @ € ے    @  €  ے @ @@ @€ @ے ` `@ `€ `ے € €@ €€ €ے    @  €  ے ہ ہ@ ہ€ ہے ے ے@ ے€ ےےہہ@ہ€ہےہ ہ @ہ €ہ ےہ@ہ@@ہ@€ہ@ےہ`ہ`@ہ`€ہ`ےہ€ہ€@ہ€€ہ€ےہ ہ @ہ €ہ ےہہہہ@ہہ€ہہےہےہے@ہے€ہےےےے@ے€ےےے ے @ے €ے ےے@ے@@ے@€ے@ےے`ے`@ے`€ے`ےے€ے€@ے€€ے€ےے ے @ے €ے ےےہےہ@ےہ€ےہےےےےے@ےے€ےےے!ùے,Nے  `ءپےناگلA„Jt80âؤ‰:´بoaG… =vن(ٍ¢ؤ’&7:L©r£Aƒ9vژ¤ئگ4mقlù¢ج‘ +¾L;phpmychat/chat/images/smilies/smile7.gif0100644000175600010010000000017410032755625020023 0ustar NicolasAucunGIF89a‘ےخs½½½!ù ,@M( `ءپ(\بp،€tہأ„ "¬کر"Fƒ 'z¬بQ¢D„A¢(’âئژ †œ8³¥Mژ-a‍ؤ R#ث’/;phpmychat/chat/images/smilies/smile8.gif0100644000175600010010000000023210032755625020017 0ustar NicolasAucunGIF89a¢ےےے½½½ےccے!ù ,_H `ءپہگلA„6Œ8€ہ@ٹ1V$è0¢Gٹ1.ى81¢€“ ‍Pر$ت”+[8i°&ت‘نـ©س،آٹ:ƒîـّ³eMگS*µQcث„k& ;phpmychat/chat/images/smilies/smile9.gif0100644000175600010010000001707310032755625020033 0ustar NicolasAucunGIF89a2³1ےخccccےخœےخخخےے1ےœےےےے1ےےcےےخ777«««!ے NETSCAPE2.0!ù ô,2‘Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤lO# L„–ج&&¨ tqؤ*وسضآ‍txـ3o‰ ئ#.ڈ?•iOض‎´سçrkVcxng€€uپ:x1…†‡ٹuO/I#eگP‰E-;l™گTFFbV،¢TC,.[«@±!ù ,2،Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤lO# L„–ج&&¨ tqؤ*وسضآ‍txـ3o‰ ئ#.ڈ?•iOض‎´سçrkVcxnTpu~پ:x1 ‘’ˆp€uO/I “ ‡ˆPکE-;l:‘•‰hES[bV> ­TC,.²‘¢­i!ù ,2¤Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤lO# L„–ج&&¨ tqؤ*وسضآ‍txـ3o‰ ئ#.ڈ?•iةل¦ہëvvkVcJ}TsپrSx1† ˆ‰O€uO/I ‍‍”nPŒrAeb#“ •FF¨|­“¶ZE+BN¸ »fi!ù ,2¦Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤lO# L„–ج&&¨ tqؤ*وسضآ‍txـsکد#.§?•i©ٌ¦ërsukVcJ nZO€ڈOT$1x‰–‹Œ3ژt‚‘’I"ٹ‹ˆ–ڑ'P‌E-;lˆ©چFFbV:©¾›C,.[}4i!ù ,2ڑHùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤lO# L„–ج&&¨ tqؤ*وسضآ‍txجkhـ´'ƒٌکسçOeع#jّے~?rwxxkVcJ€€‚D…ڈOT$1zپfguu…‘’I#–—FڑtAeb”،¢T¤F©.¬5C,³µ´'i!ù ,2£Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤lO# L„–ج&&¨ tqؤ*وغ0NOڈ:=و54ï3ڑب`<êِ:غ؛¾6‏€ rNtyzza$cJپپ. ‡w‰vSJbV$ƒ…’w”yO/I#œں@F¢E-;m©Z­F™‘µ؛+,¼½?j!ù ,2²Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRvZœR¢…P&BK¦ئùؤTك¯رتƒù2N'ƒ’zقز2¯،،#lt‎X3ْqWo" ‡ˆ‡ l.5D|~€PJd#J‰‰xy{’|T•1•‡Œy‍{€،P/I…†t[j@c’Ag–f¨&\؛nET­–ژ?zC,تثزUر!ù ,2¬Hùj‌8ë‌يفU"ٹg‚د AIچ0yخSتقëSا¼N›©–mPQù$dRِم¤;©cدهƒ™]ق!­¨ءy”ث8z«¦54چp5nلoA€$ ƒ„ƒTHs ‹}@&j[……‡VٹٹŒŒM5†‡V —¢¢MH] %‍ں,s‹¢IBu«¬J€h,tQ¶Up02· ¾”ؤ!ù ,2›Hùj‌8§»÷U"ٹ×·9œ©bدè’j؛Vة¾ّ3›G5ü?چش"آ<¨صب RF!م1“T-ƒہë@Wؤ½t;جپ†=d‌]ï¨،iب>ثƒ¹ةŒض~¯ں]çMv^E||3s[ Œ>h$_$}a,= ‹چ—[ODkl”,Aک—W`Cj“،ZپN,i B¬=Z£ 5µV»!ù ,2ڑHùj‌8O¸‏àT%$y…ک‡®Téڑ«ت®دk?¨جa‌Œ&.7T'Q َّ‎@؛ ڈbX­I§ح5,fگ×أغع¾ڑFôَ غX8Nh©ûّ<~w[«q&[wzy3bٹcŒFƒ\&{^"H ™}ڈNv%”•–Œ ¤¤de„ ،qچڈLA¬ ژIv´4u!ù ,2 Hùj‌8§ء™ا×چUbڑ×8qکھعsخ¨تآ.Lرücë-‌,QB }ہ .‌Eâ膓„H¼,29ْ,غ]–ضذ”—¢ت`½N5چ`‹©A¯سپ،ت÷0à«/GZsvuUM}ˆ|ll>پ3Gw\!•_ˆچ'q'‘’|! ¤¥mbZ‍ں•m¦°nMNFں"¥$`·*.q!ù ,2ˆHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸قٌژpê4`c¶'·س]Bà-›ُZ؟SشذTںجآف5¾à/¶³eآآل–Ab0pQ#ظH إ‡ٹ›ر¥ˆ؛TW'x?m ‹mNR2t&„xmچˆ›E8=•ڈ]o(¦cvl!ù ,2‚Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإTCق،e<†(q³Xuچ¬6;ح,«Gطv«9,1†´عjثةFـ^عbx0®”ںUw©ےv syN}5iپگ‚$M“-gWx(l.ff™hj!ù ,2چHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ کkMmâ؛pâ4>.&rجٹچ(زth-™‰¢QêH*o–p(عèz;Uطu2NرUŒaNغr²‘£—œ[  a3"ƒ†F4t‹پ ~X;E}‹’چœA75q‹ƒƒ§.«U£‹!ù ,2‹Hùj‌8ëح;¨I^^ijڈ¨ژ™s¾Y؛®ضp.ƒم> چ†+g’%xGc ($‍Œ3صƒ9|^ذ¨C@ub{–p¢ë-]wQç9\1†¸<ŒرX7oـbx0آ5"€ƒA0r‰~ {Q,[N‰q‹›Œ$Y‍Vps€t(¦VnWo‰!ù ,2چHùj‌8ëح;¨I^^ijڈ¨ژ€ 8g¼¥ëْM#ï ژ>ACہغر?ن1+ئژ5‘cè<<£+aسyٍY¾acثيX}ر‡کX:X1†¸ü‹ظFسW1n1<_7"پ„8:1rٹ |XHeٹqŒ›چ$PJMé‌hِˆlh¦p·¶ىكط ژ«چك³ؤNطk<~¸ حeD0ه²شpئt–,•jُ@uK‌os€b ètVfé؛h‹لءب?"{‏—ît qK#p}„چC<8f}vvک1eeOgi!ù ,2ٹHùj‌8ëح;¨I^^ijڈ¨&خs¾e؛&Bس$.¬g2:µضnّùpژ†Gشةf!›گxx=،5A®yêY¾I›@ہُT{ذGM©4W1†¸ü‹­ہ-1n1<_9OپFCr‡ |P#e‡q‰—ٹ$W8z'o‡پپ¤0¨U ‡!ù ,2‹Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ‰دuڈƒ Aأ!âُ\8‘£ء$&ŒµC+" ‡O€م8½Y*W‡@(àz¤»Xگة.¤ƒ|‏µ=eë2Wn1<_ہ{حج ن oO;R|e~Œ$Nڈ-c|ttک.bb”|!ù ,2‰Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9œہرsلbھ† wh‘،±x‚Y® پ’ZjZ‘Gcl:41†´ْjث©ع±`طK[ –ٍ«ؤ•SS'j„y v|*ZC3T„i†–‡$G ™-g„X{(l.ffں„!ù ,2†Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9کہر£لb¢F£xh‘ ء²è¼Y®ر†€Zjآ‍£„C¹ُڑƒz}µهdbٍگ§¶Œëجgچµ5k‚x uHe=‚j„“…$Gژ4h‚zzzR-gg›‚!ù ,2ŒHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإBچئگwhcAأA,ق,ط„´!¨zڑ°ç(لH ¨‌Cch»±¶œ,Tîِعأƒپ ³!Rh-n…{ xGtID…m‡–ˆ$ORv&k…}}¤’%jj …!ù ,2‚Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإچئ®whcةhƒx‚Y® (µش´aIس،‰1کدW[N6 ÷جأƒپ¥ü®?wëج و pvG;z4|f~چ$O$‰d|Xu(iZcc–|!ù ,2‰Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإTCق،e<ژâ f© W¬´´¤ظFشsXb ètص–“=µ<´إً`T‡آêدرh¸ز€u rN;Wc€‡‚“@7|Pdgjwk( }eef€!ù ,2گHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإTGïذ2C±y³X‚†têaآœ،†X¼يکƒzmµهVظ¨ƒجS[ †u(¼:vsZJk†y vO;پ „&†jˆڑ‰$N‌“‚h†{{¨–gg¤†!ù ,2ژHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإTâ،e<†ؤâحBM A2تYآڑ£v¬l1‡%ئہnSm9™#«½ژد%¶إً`P‡BUWxymm} zN x–‰l‹œŒ$Mں-j‰¨.ii¤‰!ù ,2‚Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإTCق،e<†(q³Xuچ¬6;ح,«Gطv«9,1†´عjثةFـ^عbx0®”ںUw©ےv syN}5iپگ‚$M“-gWx(l.ff™hj!ù ,2چHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ کkMmâ؛pâ4>.&rجٹچ(زth-™‰¢QêH*o–p(عèz;Uطu2NرUŒaNغr²‘£—œ[  a3"ƒ†F4t‹پ ~X;E}‹’چœA75q‹ƒƒ§.«U£‹!ù ,2‹Hùj‌8ëح;¨I^^ijڈ¨ژ™s¾Y؛®ضp.ƒم> چ†+g’%xGc ($‍Œ3صƒ9|^ذ¨C@ub{–p¢ë-]wQç9\1†¸<ŒرX7oـbx0آ5"€ƒA0r‰~ {Q,[N‰q‹›Œ$Y‍Vps€t(¦VnWo‰!ù ,2چHùj‌8ëح;¨I^^ijڈ¨ژ€ 8g¼¥ëْM#ï ژ>ACہغر?ن1+ئژ5‘cè<<£+aسyٍY¾acثيX}ر‡کX:X1†¸ü‹ظFسW1n1<_7"پ„8:1rٹ |XHeٹqŒ›چ$PJMé‌hِˆlh¦p·¶ىكط ژ«چك³ؤNطk<~¸ حeD0ه²شpئt–,•jُ@uK‌os€b ètVfé؛h‹لءب?"{‏—ît qK#p}„چC<8f}vvک1eeOgi!ù ,2ٹHùj‌8ëح;¨I^^ijڈ¨&خs¾e؛&Bس$.¬g2:µضnّùpژ†Gشةf!›گxx=،5A®yêY¾I›@ہُT{ذGM©4W1†¸ü‹­ہ-1n1<_9OپFCr‡ |P#e‡q‰—ٹ$W8z'o‡پپ¤0¨U ‡!ù ,2‹Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ‰دuڈƒ Aأ!âُ\8‘£ء$&ŒµC+" ‡O€م8½Y*W‡@(àz¤»Xگة.¤ƒ|‏µ=eë2Wn1<_ہ{حج ن oO;R|e~Œ$Nڈ-c|ttک.bb”|!ù ,2‰Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9œہرsلbھ† wh‘،±x‚Y® پ’ZjZ‘Gcl:41†´ْjث©ع±`طK[ –ٍ«ؤ•SS'j„y v|*ZC3T„i†–‡$G ™-g„X{(l.ffں„!ù ,2†Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9کہر£لb¢F£xh‘ ء²è¼Y®ر†€Zjآ‍£„C¹ُڑƒz}µهdbٍگ§¶Œëجgچµ5k‚x uHe=‚j„“…$Gژ4h‚zzzR-gg›‚!ù ,2ŒHùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإBچئگwhcAأA,ق,ط„´!¨zڑ°ç(لH ¨‌Cch»±¶œ,Tîِعأƒپ ³!Rh-n…{ xGtID…m‡–ˆ$ORv&k…}}¤’%jj …!ù ,2‚Hùj‌8ëح;¨I^^ijڈ¨ژg[¦ëْ¸4:آ ک×ü'ê9ـ¬çآإچئ®whcةhƒx‚Y® (µش´aIس،‰1کدW[N6 ÷جأƒپ¥ü®?wëج و pvG;z4|f~چ$O$‰d|Xu(iZcc–|!ù ,2‚Hùj‌8ëح;¨I^^ijڈ¨ژg[¦«ع4nچژpخ™G’^ژ+ Pھ´’’eآ!1 0 A™eًـRإ“ç8x%ƒ±4 fô®èة´iS3N£:4­j i¬f½؛ص،×چآ2ت!¶l ²fإ¢Mغh-غEnك:"w,ف؛„ââص[—¯ـ¯€ L¸°لأˆaئèi ¥¤‍1„حٍA´dخ!”ک…´“يضµ+’ںح¢ِ™sژ5¨غP2#©µë×‌َˆêه‡ô2|ہBO‏َhN$H¥‍جٍ¬t½غ~™R ھùچ»èقY.a†€iدnH7کb:­#S2Z´fو‹œژ‹5مل÷ـFxًىک_غypç=D‌v²ِعے€®U†‰&B uٹ=ث€³\bأiء€8€ہj9¤TAc`ٌF Aؤ&ؤDa[c+µنزKO 2Z|yDهKv'b{ء!Dكjرٌ`à=%G„6Vل‘ىèل*b“ƒ]¤@”ش¤لG´4R%ز"bڈüµت‹CنصO÷پ™OڑZک–ڑavءIگ ضXنƒHو©ç‍|ِé'ںxء5پپخُD،ف…¨_o1ت–£iAj–¤eQھ–¢…Z–¦ma(§vYً‚ ©¬2‡*ط KھDW$،ؤeOہ¹و‍ة^­>|Gئ–d>a¨،لFCâhإ{ںUwOے8v:ه/µپ*èM¢H`k?تSç‚ب¹پ¦¨2ôنڑ<ظ—` ‍²ؤ…a™ضQ«]´9©+‹•fboغnëlƒ3قع…½¸‰c°يf(€† <,qؤOü°»؟‚+أlذb0ھs©:‡1­أY‌x؛è´_ء{×e,0¢œr{Eة[‚ë5c³Jإ¼ }”‌آِîGخھƒNrèt‡PCـ-‚ك2·±¸شâùçض\wي±A@kيُطˆ)¹ï®]8گ€5 ہvaرلچ¼‏@"ةf_“-عدlf:E[œyëٹ/hˆ+¥وڈt ُ آD'Bvay#ہ„ڈWhإے…SâGJ X¨%»_…÷ظNZ=س°ق:جôî$8ث? é Pٍ‚± '…W"صïي¥DمAQµ•Uب¯üن„هإ…FVtˆ`¤€ض¤6و¤َp7ىu7¬z¯؟>ผ™µً¶َژû— •وہU‎Rںü‏تOأü`½³‘%ضو6¸ء ّHêآW؛—I§{شرک ‏–•ô9e\%['3²َلؤ+ة+"¹8‎ï„(L، Wبآ؛ً…0Œ، gHأعً†8ج،;ذ7çˆlƒT‚Md5+عêpحê^J(xؤس ٌ‰CTXwôإ³yل ³…"ق„ںـےX+/C€Dk*Fئ‰MM~ژ[Pب`p-zج9Liژ0ذ#¢$VGˆںM¦ش¹Œ‰|‰›HcgہIbى´پ57zj%\¢ىَگ–4-`t8مîز“گ…,9^¼@Ke*V J²h«x`> ‘€zü¼œa”حˆ}¹تWڑ¼ç@/حزpNdµ# ُ ز7ًY¤|عن }iae’غeض:ىچ{Cˆص8)¦¬±چ½ہساک±:”3ژکN+]”س-£–Vؤه1ùشٌ+€؛–0‡ˆ7L جgسدمI،IسUشô'·€ّ.1­1·q$¹fہ“ضًنے9چ`F9èج£ذS‍·`ظ(ھuP_¹س‍#ى"/MF…آ mْC!RJذڑvP–ُD©3‹َرx’چ‌¢(لW04c¥ جئp ®`l(H—ھڑjئج¨آw¬گ¬œ.+‘=S¦lوسچ…•ذ©سZطضڑ´ب¥ حو%¼إح.ؤà›A5،ص|(ا£â­‰b¥ھےت4ز¢ظ+ھH½¢`gV«­Sورj&ژ9‰‍وb6@[XZ ‹ڈh>ل-[فپ¢¦™¶´¨ص¤گژsµکJ´“¤dbûECحv’µMش،pûب¾ôِ/؟mTpأ¶³ؤv‹™n¤”;)وVj‡ذے­!ذہ†¶èZ÷¶‹rî¥v›]î&×»ںزî¦ؤغ)ً·>œéFw±û]ِ†÷؛$ہg2Gآ6µظw¨ظوH· ِتt\ر¾X;A©VPvMظڈAsڑ­كR¾‰“/أ4:ٍdµC+hثà[‚آu¤Wط|‚F,¢€ذA©BWْبè6ْ=œِK§{%ںLض „ê¨ڈ6H kNيV‰لo*ىز…«وص³‰چأب[v|½ج›»‍4rˆ¸5)Zْچ'„ul×»I`ق×”üش®}]•€Kا»f‎ب‎yَS¨ذ؟:َïبH‏qک e'Bت]•êâk!ث,e حBاوˆظƒdf nخـ>¢8p“‍Pٹœ™r؟Mَ¤[±3W’‡ç<‹J –رƒ5’%–t¤Bn‌…ْ;aï­ظ—ٹ¦p—e0c?0°2jfR ¼M%ô2œٌtO7ن؛n9‍¦و،&Db-£ِ´²P“·شb\ûwڑ1†پR-Xfaçڑ£ز4é_Yلل5»xOزpآJي_ق os[غط‘+o°غ5ِ«›3nKعـك^ô¹©A¹؛[¾ Jïz[üâد¸ئ7خqD;phpmychat/chat/images/tutorials/usersList.gif0100644000175600010010000000401010032755625021172 0ustar NicolasAucunGIF89a€‘÷ج‍dŒژŒüخœœڑج4œœb4œجخü´²نü®Œ¼ژüü‏ج42dü–„dfœü‏d2ü‏Œىîüü"dbجœ‍üج"ى¾Œü¦Œü‏ü¤¦ـ¼¾ىcيS!ù,€‘ےH° ءƒ*\ب°،أ‡#JœH±¢إ‹3jـب±£اڈ CٹI²¤ة“(Sھ\ة²¥ث—0cتœI³¦ح›8sêـة³§دں@ƒ J´¨ر£H“*]تش%ںB(ua© ¨NmJً©CO < P5لU±d³zmH «ذµ ¥nx°،ىA²b آ]¸W ؟?ّ»ٍi]·آ†صzxàسY!{]Lêصƒ† l+U¬ش­ƒ]A‚´ء‍^ûubd×…ZWlي×کMWxz,kذ£Gnٍ·ضم¸“+ئëُظنء"ثyêقàپ…/i\¹ُïا«‏ےق ½«u“؟~0¸تîk¥{ïU‏صû›a„¾üِذ~½§›iب‎–@c¸ل·Veْi…ضd‎…µp¤h!Jٹ!&_|°xYsءصAWµ6ںoج–bع V!† )شWCّ‰ôك…0F#C•ح5ز7’„z ح(مb\9$ہ’L&©’`€A`à$JH9¥\ZyeIY&e—_‚©@vQVUeNevTé%_mZ4¥ک\ھ¹‘u؛9¥ؤ©§y|Zçکˆهµ¹dQ ذهœژEڑ›ًI$k}¾ة¨ ,¥†‚*i™Pf ہ™p¤وa:ékemےµc’d°é™ـةꫯNué~£~ %ھL ¦»ْj¨½ؤ§°lٹوبوِê¯ZYlںـvëي·à ہ¸„û¹نڑغ€هھ»» ï§=›ي¬=رûn¼2z#hüٍء»)pہCA3 ë،vظُZ،غٍْس¸ط{ء¸tٍ:ً¨ج.‹YP8àہ p€ت+²^$Sع•ئï”ٍPànد/اLذ¥CîEpر¾î'كح(ً²=«ىtج²عجtئ;2‹³OىR ٍ×P@µ¤U[=َظ%إîس`û,´إƒ5$إ­ضü™‘ٍو­÷ق|÷ےي÷ك€;Ypءپ_mگ¾…ںŒل‰‹Œ¨VŒ÷‌v³f‍tj¢Vّن—o½¹ح&k8ç 7N2\…خmْꬷ‍؛ »ژ 0Aي-;ي¶كءï؛·ہï? ¼ى A»ç‍ذSˆ?/sبâ*_¯½ن®{ظE^iأ؟C°|»d¼ل‍7‎ô@ /¾ّح›?ِâˆB%«‎tڑ>Oمے°û±عâب*¢ظ [xم*`¯گf!+÷ب–3®ص«t×ِ‍+ ‚®ƒ¢م_»"PwU ہغ ˆ1´9«tكأ\أ X X€¶Aئاƒ”sص‏هt6€طًˆ(€ é70¨`+†°’zî—@نYٌٹXـ]؛²Hطyىr×½¸(zظë‹V› ¾¾ن¯1>¯…ٌRV>:©ٌ!r<ٹأ fGN,P„[û€ژàc_ؤں 3Cز…گR‍¼¤meٹىس¥–¦¶•ُىgڑâ9©¬1ي;r«[أœ¦²¨­ى+dSè g( ¢ocًطآثR2ز‘¶¬ ظِ5·eٍtGمقg(–G2:َ™ذŒ¦4§IحjZَڑطج¦6·ةحnzَ›à §8اIخrڑ³%;phpmychat/chat/images/unselColor.gif0100644000175600010010000000006610032755625017303 0ustar NicolasAucunGIF89a€ےجخüہہہ!ù,@ Œo €ثxœ\°ع4َ,;phpmychat/chat/index.php0100644000175600010010000000345110032755620015036 0ustar NicolasAucun "> " tag. // Both values are boolean. See explanations in 'index.lib.php' file. send_headers(1,1); ?> ' // You can put html statements right after the "" tag or add // php code here. $Is_Error = (isset($Error)); if (isset($HTTP_COOKIE_VARS)) { if (isset($HTTP_COOKIE_VARS["CookieUsername"])) $CookieUsername = $HTTP_COOKIE_VARS["CookieUsername"]; if (isset($HTTP_COOKIE_VARS["CookieRoom"])) $CookieRoom = $HTTP_COOKIE_VARS["CookieRoom"]; if (isset($HTTP_COOKIE_VARS["CookieRoomType"])) $CookieRoomType = $HTTP_COOKIE_VARS["CookieRoomType"]; }; $Username = (isset($CookieUsername) ? $CookieUsername : ""); $Room_name = (isset($CookieRoom) ? $CookieRoom : ""); $Room_type = (isset($CookieRoomType) ? $CookieRoomType : ""); layout($Is_Error,$Username,$Room_name,$Room_type); // You can add php code here, or add html statements before the "" tag. ?> close(); ?>phpmychat/chat/input.php0100644000175600010010000003660510032755621015076 0ustar NicolasAucunquery( 'SELECT ' . C_USR_TBL . '.room, ' . C_USR_TBL . '.status, ' . C_USR_TBL. '.ip' . ' FROM ' . C_USR_TBL . ', ' . C_REG_TBL . ' WHERE ' . C_USR_TBL . '.username = \'' . $U . '\'' . ' AND ' . C_REG_TBL . '.username = \'' . $U . '\'' . ' AND ' . C_REG_TBL . '.password = \'' . $PWD_Hash . '\'' . ' LIMIT 1'); } else // C_REQUIRE_REGISTER == 0 && $PWD_Hash is empty { $DbLink->query('SELECT username FROM ' . C_REG_TBL . ' WHERE username = \'' . $U . '\' LIMIT 1'); if ($DbLink->num_rows() == 0) { $DbLink->query('SELECT room, status, ip FROM ' . C_USR_TBL . ' WHERE username = \'' . $U . '\' LIMIT 1'); } else { $DbLink->clean_results(); $DbLink->close(); exit(); // hack attack } } // End of SeazoN Fix if ($DbLink->num_rows() != 0) { list($room, $status, $knownIp) = $DbLink->next_record(); $DbLink->clean_results(); $kicked = 0; // Security issue include("./lib/get_IP.lib.php"); if ($knownIp != $IP) { $kicked = 5; } // Update users info if ($room != stripslashes($R)) // Same nick in another room { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_EXIT_ROM, \"".special_char($U,$Latin1)."\")')"); $kicked = 3; } elseif ($status == "k") // Kicked by a moderator or the admin. { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_KICKED, \"".special_char($U,$Latin1)."\")')"); $kicked = 1; } elseif ($status == "d") // The admin just deleted the room { $kicked = 2; } elseif ($status == "b") // Banished by a moderator or the admin. { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_BANISHED, \"".special_char($U,$Latin1)."\")')"); $kicked = 4; }; if ($kicked > 0) { // Kick the user from the current room $kickedUrl = ($kicked < 5) ? "$From?L=$L&U=".urlencode(stripslashes($U))."&E=".urlencode(stripslashes($R))."&KICKED=$kicked" : "$From?L=$L"; ?> close(); exit; } } else { $DbLink->clean_results(); // Fix a security issue ?> close(); exit; }; // ** Send formated messages to the message table ** function AddMessage($M, $T, $R, $U, $C, $Private) { global $DbLink; global $Latin1; global $status; // Text formating tags if(C_HTML_TAGS_KEEP == "none") { if(C_HTML_TAGS_SHOW == 0) { // eliminates every HTML like tags $M = ereg_replace("<[^>]+>", "", $M); } else { // or keep it without effect $M = str_replace("<", "<", $M); $M = str_replace(">", ">", $M); } } else { // then C_HTML_TAGS_KEEP == "simple", we keep U, B and I tags $M = str_replace("<", "<", $M); $M = str_replace(">", ">", $M); if(function_exists("preg_match")) { while(preg_match("/<([ubi]?)>(.*?)<(\/\\1)>/i",$M)) { $M = preg_replace("/<([ubi]?)>(.*?)<(\/\\1)>/i","<\\1>\\2<\\3>",$M); } if(C_HTML_TAGS_SHOW == 0) { $M = preg_replace("/<\/?[ubi]?>/i","",$M); } } } // URL $M = eregi_replace('([[:space:]]|^)(www[.])', '\\1http://\\2', $M); // no prefix (www.myurl.ext) $prefix = '(http|https|ftp|telnet|news|gopher|file|wais)://'; $pureUrl = '([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)'; $M = eregi_replace($prefix . $pureUrl, '\\1://\\2', $M); // e-mail addresses $M = eregi_replace('([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)', '\\1', $M); // Smilies if (C_USE_SMILIES == 1) { include("./lib/smilies.lib.php"); Check4Smilies($M,$SmiliesTbl); unset($SmiliesTbl); }; // transform ISO-8859-1 special characters if ($Latin1) { global $MsgTo; ereg("(.*)(".$MsgTo."(>)?)(.*)",$M,$Regs); if ($MsgTo != "" && ($Regs[1] == "" && $Regs[4] == "")) $Regs[4] = $M; if (!ereg("&[[:alnum:]]{1,10};",$Regs[1]) && !ereg("&[[:alnum:]]{1,10};",$Regs[4])) { for ($i = 1; $i <= 4; $i++) { if (($i != 1 && $i != 4) || $Regs[$i] == "") continue; $part = $Regs[$i]; $part = htmlentities($part); $part = str_replace("<", "<", $part); $part = str_replace(">", ">", $part); $part = str_replace("&lt;", "<", $part); $part = str_replace("&gt;", ">", $part); $part = str_replace(""","\"", $part); $part = ereg_replace("&(#[[:digit:]]{2,5};)", "&\\1", $part); $Regs[$i] = $part; } $M = $Regs[1].$Regs[2].$Regs[4]; } } if (isset($C) and $C != "") { // Red colors are reserved to the admin or a moderator for the current room if ((ereg('#(FF0000|fc403f|fc4b34|fa582a|f66421|f27119|ec7e11|ec117f|f21971|f62164|fa2a58|fc344b)', $C)) && !($status == "a" || $status == "m")) $C = "#000000"; $M = "".$M.""; }; $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', '".addslashes($U)."', '$Latin1', ".time().", '$Private', '".addslashes($M)."')"); } // ** Define the default color that will be used for messages ** if (isset($HTTP_COOKIE_VARS["CookieColor"])) $CookieColor = $HTTP_COOKIE_VARS["CookieColor"]; if(!isset($C)) { if(!isset($CookieColor)) { // set default color to black $C = "#000000"; } elseif (ereg('#(FF0000|fc403f|fc4b34|fa582a|f66421|f27119|ec7e11|ec117f|f21971|f62164|fa2a58|fc344b)', $CookieColor)) { // Red colors are reserved to the admin or a moderator for the current room if (!(isset($status) && ($status == "a" || $status == "m"))) $C = "#000000"; } if (!isset($C)) { $C = $CookieColor; } }; setcookie("CookieColor", $C, time() + 60*60*24*365); // cookie expires in one year // ** Test for online commands and swear words ** $IsCommand = false; $RefreshMessages = false; $IsPopup = false; $IsM = false; if (isset($M) && trim($M) != "" && ereg("^\/", $M)) include("./lib/commands.lib.php"); if (isset($M) && ereg("^\/", $M) && !($IsCommand) && !isset($Error)) $Error = L_BAD_CMD; if (isset($M) && trim($M) != "" && (!isset($M0) || ($M != $M0)) && !($IsCommand || isset($Error))) { if (C_NO_SWEAR == 1) { include("./lib/swearing.lib.php"); $M = checkwords($M, false); } AddMessage(stripslashes($M), $T, $R, $U, $C, ""); $RefreshMessages = true; } $DbLink->close(); // For translations with an explicit charset (not the 'x-user-defined' one) if (!isset($FontName)) $FontName = ""; ?> "> Input frame " TYPE="text/css"> > 128 && $g < 128 && $b < 128 && !(isset($status) && ($status == "a" || $status == "m")))) { $TextColors[] = '#'.substr('0'.dechex($r), -2).substr('0'.dechex($g), -2).substr('0'.dechex($b), -2); } } ?>
"> "> " onClick="window.parent.help_popup(); return false" TARGET="_blank" onmouseover="document.images['helpImg'].src = window.parent.imgHelpOn.src" onmouseout="document.images['helpImg'].src = window.parent.imgHelpOff.src"><?php echo(L_HLP); ?>  \n"); while(list($ColorName, $ColorCode) = each($TextColors)) { // Red color is reserved to the admin or a moderator for the current room if ($ColorCode == "#FF0000" && !(isset($status) && ($status == "a" || $status == "m"))) continue; echo(""); } echo("\n \n"); } else { ?>
   ' . $ColorCode . ''); }; unset($TextColors); echo("\n"); ?>
phpmychat/chat/install/0040755000175600010010000000000010201467157014667 5ustar NicolasAucunphpmychat/chat/install/database/0040755000175600010010000000000010201467157016433 5ustar NicolasAucunphpmychat/chat/install/database/mysql.dump.php0100644000175600010010000000633310032755627021263 0ustar NicolasAucunphpmychat/chat/install/database/mysql.sql0100644000175600010010000000276710032755627020336 0ustar NicolasAucunDROP TABLE IF EXISTS c_messages; CREATE TABLE c_messages ( type tinyint(1) DEFAULT '0' NOT NULL, room varchar(30) NOT NULL, username varchar(30) NOT NULL, latin1 tinyint(1) DEFAULT '0' NOT NULL, m_time int(11) DEFAULT '0' NOT NULL, address varchar(30) NOT NULL, message text NOT NULL ); DROP TABLE IF EXISTS c_users; CREATE TABLE c_users ( room varchar(30) NOT NULL, username varchar(30) NOT NULL, latin1 tinyint(1) DEFAULT '0' NOT NULL, u_time int(11) DEFAULT '0' NOT NULL, status varchar(1) NOT NULL, ip varchar(16) NOT NULL, UNIQUE room (room, username) ); DROP TABLE IF EXISTS c_reg_users; CREATE TABLE c_reg_users ( username varchar(30) NOT NULL, latin1 tinyint(1) DEFAULT '0' NOT NULL, password varchar(32) NOT NULL, firstname varchar(64) NOT NULL, lastname varchar(64) NOT NULL, country varchar(64) NOT NULL, website varchar(64) NOT NULL, email varchar(64) NOT NULL, showemail tinyint(1) NOT NULL, perms varchar(9) NOT NULL, rooms varchar(128) NOT NULL, reg_time int(11) DEFAULT '0' NOT NULL, ip varchar(16) NOT NULL, gender tinyint(1) DEFAULT '0' NOT NULL ); INSERT INTO c_reg_users VALUES('admin', '', '21232f297a57a5a743894a0e4a801fc3', '', '', '', '', '', 0, 'admin', '', '', '', ''); DROP TABLE IF EXISTS c_ban_users; CREATE TABLE c_ban_users ( username varchar(30) NOT NULL, latin1 tinyint(1) DEFAULT '0' NOT NULL, ip varchar(16) NOT NULL, rooms varchar(100) NOT NULL, ban_until int(11) DEFAULT '0' NOT NULL );phpmychat/chat/install/database/pgsql.dump.php0100644000175600010010000001114310032755627021237 0ustar NicolasAucunphpmychat/chat/install/database/pgsql.sql0100644000175600010010000000244510032755627020310 0ustar NicolasAucunCREATE TABLE c_messages ( type int2 DEFAULT '0' NOT NULL, room varchar(30) NOT NULL, username varchar(30) NOT NULL, latin1 int2 DEFAULT '0' NOT NULL, m_time int4 DEFAULT '0' NOT NULL, address varchar(30) NOT NULL, message text NOT NULL ); CREATE TABLE c_users ( room varchar(30) NOT NULL, username varchar(30) NOT NULL, latin1 int2 DEFAULT '0' NOT NULL, u_time int4 DEFAULT '0' NOT NULL, status varchar(1) NOT NULL, ip varchar(16) NOT NULL ); CREATE TABLE c_reg_users ( username varchar(30) NOT NULL UNIQUE, latin1 int2 DEFAULT '0' NOT NULL, password varchar(32) NOT NULL, firstname varchar(64) NOT NULL, lastname varchar(64) NOT NULL, country varchar(64) NOT NULL, website varchar(64) NOT NULL, email varchar(64) NOT NULL, showemail int2 NOT NULL, perms varchar(9) NOT NULL, rooms varchar(128) NOT NULL, reg_time int4 DEFAULT '0' NOT NULL, ip varchar(16) NOT NULL, gender int2 DEFAULT '0' NOT NULL ); INSERT INTO c_reg_users VALUES('admin', '', '21232f297a57a5a743894a0e4a801fc3', '', '', '', '', '', 0, 'admin', '', '', '', ''); CREATE TABLE c_ban_users ( username varchar(30) NOT NULL, latin1 int2 DEFAULT '0' NOT NULL, ip varchar(16) NOT NULL, rooms varchar(100) NOT NULL, ban_until int4 DEFAULT '0' NOT NULL );phpmychat/chat/install/languages/0040755000175600010010000000000010201467157016635 5ustar NicolasAucunphpmychat/chat/install/languages/argentinian_spanish.setup.php0100644000175600010010000002471510032755627024543 0ustar NicolasAucun // extra header for charset $S_Charset = "iso-8859-1"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1","Las tablas serلn creadas/subidas al servidor local."); define("S_MAIN_2","Paso 1 completado: las tablas han sido creadas/subidas."); define("S_MAIN_3","Paso 1 Salteado por el usuario."); define("S_MAIN_4","Encuentra seteo(s) perdidos o invلlido(s)."); define("S_MAIN_5","Al menos uno estل perdido."); define("S_MAIN_6","Se requiere por lo menos un canal."); define("S_MAIN_7","El nombre del canal no puede contener barras (\\)."); define("S_MAIN_8","La hora del lugar por omisiَn, se ha perdido."); define("S_MAIN_9","El nْmero de mensajes para mostrar y/o el timeout por defecto entre cada actualizaciَn se ha perdido."); define("S_MAIN_11","Paso 2 completado: la configuraciَn para el fine tunning (ajuste fino) ha sido registrada."); define("S_MAIN_12","Debés ingresar tu nombre de usuario."); define("S_MAIN_13","Tu nombre de usuario no puede tener espacios, comas o barras (\\)."); define("S_MAIN_14","Debés ingresar tu contraseٌa."); define("S_MAIN_15","Tu nick o alias (%s) ha sido registrado por otro usuario y la contraseٌa que ingresaste es incorrecta."); define("S_MAIN_16","Paso 3 completado: Tus datos como administrador han sido registrados."); define("S_MAIN_17","Paso 3 Salteado por el usuario."); define("S_MAIN_18","- Configuraciَn"); // Settings for setup0.php file define("S_SETUP0_1","Este script te permitirل una fلcil instalaciَn de %s."); define("S_SETUP0_2","Si querés, podés hacerlo en forma manual. Si preferيs hacerlo asي, entonces tenés que:"); define("S_SETUP0_3","Crear tablas para %s utilizando archivos dump localizados en el directorio: 'chat/install/database';"); define("S_SETUP0_4","Editar el archivo config.lib.php ubicado en el directorio 'chat/config' para definir las configuraciones de %s;"); define("S_SETUP0_5","El proceso Manual requiere informaciَn adicional para el Administrador en la tabla de usuarios registrados (c_reg_users): debés ingresar tu nick en la columna username, la contraseٌa en password usando encriptaciَn MD5, y la palabra 'admin' (sin comillas) en perms. Si querés, podés aٌadir informaciَn adicional en otras columnas pero esto no es obligatorio;"); define("S_SETUP0_5m","Configurar tres variables en el inicio del archivo/script 'chat/admin/mail4admin.lib.php'."); define("S_SETUP0_6","Para continuar con la configuraciَn automلtica hacé click en el botَn de abajo."); define("S_SETUP0_7"," Continuar "); define("S_SETUP0_8","Antes de actualizar desde una versiَn anterior de %s deberيas vaciar la tabla de mensajes (utilizando el script 'chat/admin.php' de esa versiَn)."); // Settings for setup1.php file define("S_SETUP1_1","Primer paso: Configuraciَn de tablas"); define("S_SETUP1_2","Configuraciَn de la base de datos"); define("S_SETUP1_3","Seleccionل el tipo de servidor SQL:"); define("S_SETUP1_4","Nombre de Host de tu servidor SQL:"); define("S_SETUP1_5","Nombre de la base de datos del servidor:"); define("S_SETUP1_6","(debe existir)"); define("S_SETUP1_7","Usuario de Login de la base de datos:"); define("S_SETUP1_8","Contraseٌa del usuario de la base de datos:"); define("S_SETUP1_9","Creaciَn de tablas/actualizaciَn"); define("S_SETUP1_10","Que querés que haga este script?"); define("S_SETUP1_11","Crear tablas para %s"); define("S_SETUP1_12","Actualizar las existentes creadas para versiones 0.12.0 َ 0.12.1"); define("S_SETUP1_13","Nada, las tablas han sido creadas (para versiones 0.13.4 y 0.14.?)"); define("S_SETUP1_14","Nombre de las tablas* donde..."); define("S_SETUP1_15","serلn almacenados los mensajes:"); define("S_SETUP1_16","serلn almacenados los datos de los usuarios registrados:"); define("S_SETUP1_17","serلn almacenados el historial de acceso de los usuarios:"); define("S_SETUP1_18","*Los nombres que ingreses para las tablas deben corresponder a tablas existentes si estلs eligiendo
actualizaciَn. Si querés crear nuevas tablas los nombres no deben ser los
mismos que los de las tablas existentes!
Todos los campos deben ser rellenados, si no querés que el script lo haga
serل necesario hacerlo mلs adelante cuando creés el Administrador."); define("S_SETUP1_19"," Continuar "); define("S_SETUP1_20","Actualizaciَn de las existentes creadas para versiones 0.13.0 a 0.13.3"); define("S_SETUP1_21","serلn almacenados los nombres de usuarios bloqueados:"); // Settings for setup2.php file define("S_SETUP2_1","Segundo paso: Opciones mلs especيficas"); define("S_SETUP2_2","Depuraciَn de mensajes y usuarios"); define("S_SETUP2_3","Nْmero de horas para que los mensajes sean borrados:"); define("S_SETUP2_4","Nْmero de minutos para que los usuarios inactivos sean borrados:"); define("S_SETUP2_5","Nْmero de dيas para que los usuarios inactivos sean borrados   
de la tabla de usuarios registrados (0 para nunca):"); define("S_SETUP2_6","Salones predeterminados, a crear"); define("S_SETUP2_7","Separado con coma (,) no espacios."); define("S_SETUP2_8","Configuraciَn de idioma"); define("S_SETUP2_9","Permitir soporte de caracteres multi-idiomas?"); define("S_SETUP2_10","Idioma predeterminado:"); define("S_SETUP2_11","Seguridad y restricciones"); define("S_SETUP2_12","Mostrar un enlace para administraciَn cuando aparece la pantalla inicial?"); define("S_SETUP2_13","Mostrar un enlace que le permita a los usuarios borrar sus datos ?"); define("S_SETUP2_14","Se requiere registraciَn obligatoria para usar el chat?"); define("S_SETUP2_15","Los Usuarios pueden acceder..."); define("S_SETUP2_16","...solamente la primer sala de las predeterminadas"); define("S_SETUP2_17","...a todas las salas predeterminadas, pero no pueden crear una sala"); define("S_SETUP2_18","...a todas las salas y ademلs pueden crear nuevas"); define("S_SETUP2_19","Estética de los mensajes"); define("S_SETUP2_20","Utilizar caritas (emoticons)(ver 'chat/lib/smilies.lib.php')?"); define("S_SETUP2_21","Permitir efectos de negrita, itلlica y subrayado en mensajes ?"); define("S_SETUP2_22","Mostrar los tags HTML descartados?"); define("S_SETUP2_23","Configuraciَn de presentaciَn predeterminada"); define("S_SETUP2_24","Zona horaria medida en horas entre el tiempo de tu servidor y el de tu paيs:"); define("S_SETUP2_25","Orden de presentaciَn de los mensajes:"); define("S_SETUP2_26","ْltimo al principio"); define("S_SETUP2_27","ْltimo al final"); define("S_SETUP2_28","Nْmero de mensajes a mostrar:"); define("S_SETUP2_29","Tiempo para la actualizaciَn de mensajes en pantalla (en segundos):"); define("S_SETUP2_30","Mostrar la hora (timestamp)?."); define("S_SETUP2_31","Mostrar las notificaciones de entrada y/o salida de usuarios?"); define("S_SETUP2_36","Verificar malas palabras (ver 'chat/lib/swearing.lib.php') ?"); define("S_SETUP2_41","Nْmero mلximo de mensajes que un usuario tiene permitido exportar a un archivo HTML (0 para ninguno -el comando estل desactivado-, '*' para todos los mensajes posibles, o un valor, para para no sobrecargar al servidor)?"); define("S_SETUP2_42","Activar las posibilidades de bloqueo?
0 para no, un nْmero positivo para definir el nْmero de dيa/s a bloquear
(2000000 para *siempre*, 0.02 para aprox. media hora...)"); define("S_SETUP2_43","Registraciَn de usuarios"); define("S_SETUP2_44","Generar una clave y enviarla a la direcciَn de e-mail del usuario?
Esta opciَn requiere la funciَn 'mail()' de PHP activada, (asegurلte con el administrador del server, que podés usarla).
Mلs aْn, para hacer que funcione tenés que definir cuatro variables en el archivo script 'chat/lib/mail_validation.lib.php'."); define("S_SETUP2_45","La configuraciَn del PHP que estلs usando no parece permitir el uso de la funciَn 'mail()'. En consecuencia, no podés elegir que la contraseٌa se genere automلticamente y se envيe por email al usuario."); define("S_SETUP2_46","pْblicos:"); define("S_SETUP2_47","privados:"); define("S_SETUP2_48","Enviar un mensaje de bienvenida al usuario que ingresa al chat (ver 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1","Los datos del Administrador estلn definidos, y solamente un
administrador puede existir. Modificar los campos, por favor
abajo del update los datos existentes."); define("S_SETUP3_2","Tercer paso: Registraciَn del administrador"); define("S_SETUP3_3","Los datos con * son de ingreso obligatorios."); define("S_SETUP3_4","login (nick):"); define("S_SETUP3_5","contraseٌa:"); define("S_SETUP3_6","nombre:"); define("S_SETUP3_7","apellido:"); define("S_SETUP3_8","idiomas:"); define("S_SETUP3_9","sitioweb:"); define("S_SETUP3_10","e-mail:"); define("S_SETUP3_11","mostrar e-mail en el comando /whois"); define("S_SETUP3_12","Pasar por alto >>"); define("S_SETUP3_13","Podrلs modificar tus datos posteriormente haciendo click en edit
datos (perfil) en la pلgina de comienzo de %s."); define("S_SETUP3_14", "Sexo"); define("S_SETUP3_15", "masculino"); define("S_SETUP3_16", "femenino"); // Settings for setup4.php file define("S_SETUP4_1","Cuarto paso: El archivo config"); define("S_SETUP4_2","Aquي estل el archivo config, de acuerdo con la informaciَn que ingresaste.

Copiل todo, incluyendo las primeras y ْltimas lيneas, y luego pegalas en tu editor de texto favorito (Notepad, Vi...). Después, *tenés que cambiar* la contraseٌa de tu base de datos en la linea 7 y guardar el archivo como config.lib.php.

Asegurلte que no haya ni lineas en blanco, ni espacios antes del tag de apertura de php, ni del de cierre (<?php ... ?>). Finalmente, podés subir (upload) el archivo config al directorio config del servidor (reemplazando el existente). (ver install.txt en el directorio docs para mلs informaciَn sobre esto).

No dejés de mirar el mensaje de advertencia al final de esta pلgina."); define("S_SETUP4_3","Seleccionar todo"); define("S_SETUP4_4","Una vez que completaste los pasos de abajo, %s estل casi listo para correr.
"); define("S_SETUP4_4m","Deberلs configurar manualmente tres variables al principio del archivo 'chat/admin/mail4admin.lib.php'
y... ،a tener interesantes discusiones en tu chat!."); define("S_SETUP4_5","Después que %s esté instalado y funcionando podrيas remover el archivo
setup.php y el directorio 'chat/install' en tu servidor."); ?>phpmychat/chat/install/languages/chinese_simplified.setup.php0100644000175600010010000001642210032755627024336 0ustar NicolasAucun // extra header for charset $S_Charset = "gb2312"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1", "½«شع±¾»ْةد´´½¨/¸üذآ ت‎¾ف±ي."); define("S_MAIN_2", "²½ضè 1 حê³ة: زر¾­´´½¨/¸üذآ ت‎¾ف±ي."); define("S_MAIN_3", "²½ضè 1 ±»سأ»§جّ¹‎."); define("S_MAIN_4", "·¢دضزإآ©»ٍ·ا·¨ة趨."); define("S_MAIN_5", "ضءةظزإآ©ز»´¦اه³‎دûد¢؛حسأ»§أûµؤرست±ةèضأ."); define("S_MAIN_6", "ضءةظسذز»¸ِؤ¬بدµؤئµµہ."); define("S_MAIN_7", "ئµµہأû×ض²»ؤـ؛¬سذ·´ذ±¸ـ (\\)."); define("S_MAIN_8", "زإآ©ت±اّةèضأ."); define("S_MAIN_9", "زإآ©ؤ¬بددشت¾دûد¢جُت‎»ٍصكزإآ©ؤ¬بدث¢ذآدûد¢؟ٍت±¼ن¼ن¸ôةèضأ."); define("S_MAIN_11", "²½ضè 2 حê³ة: د¸½عµ÷صûةèضأزرµا¼ا"); define("S_MAIN_12", "±طذëتنبëµاآ¼أû."); define("S_MAIN_13", "أû×ضضذ²»ؤـ؛¬سذ؟ص¸ٌ£¬¶؛؛إ»ٍصك·´ذ±¸ـ (\\)."); define("S_MAIN_14", "±طذëتنبëأـآë."); define("S_MAIN_15", "%s µؤnickname زر×¢²ل²¢ازؤمتنبëµؤأـآë´يخَ."); define("S_MAIN_16", "²½ضè 3 حê³ة: ؤمµؤ¹ـہيش±ةèضأزر¾­´´½¨."); define("S_MAIN_17", "²½ضè 3 ±»سأ»§جّ¹‎."); define("S_MAIN_18", "- ةèضأ Setup"); // Settings for setup0.php file define("S_SETUP0_1", "صâ¸ِ½إ±¾؟ةزشبأؤم·½±مµط°²×° %s."); define("S_SETUP0_2", "بç¹ûؤمش¸ز⣬ؤم؟ةزشتض¹¤حê³ة. بç¹ûؤمر،شٌصâرù×ِ£¬ؤم±طذëزھ:"); define("S_SETUP0_3", "ت¹سأشع 'chat/install/database' ؤ؟آ¼ضذµؤdumpخؤ¼‏خھ %s ´´½¨ت‎¾ف±ي;"); define("S_SETUP0_4", "±à¼­'chat/config' ؤ؟آ¼ضذµؤ config.lib.php ہ´¶¨زه %s ةèضأ;"); define("S_SETUP0_5", "خھ¹ـہيش±¼سبë×¢²لسأ»§±ي(c_reg_users),تض¹¤جي¼سثùذèµؤذإد¢:ؤمµؤnickشعusernameءذ, أـآëµؤMD5 hash ضµشعpasswordءذ£¬²¢ازشعpermsءذ¼سبë 'admin' ز»´ت(أ»سذز‎؛إ),بç¹ûؤمش¸زâ,ؤم؟ةزششعبخ؛خت±؛ٍشعئنثûءذ¼سبë¶îحâذإد¢,µ«صâ²»تا±طزھµؤ;"); define("S_SETUP0_5m", "شع 'chat/admin/mail4admin.lib.php' ½إ±¾µؤ¶¥²؟ةèضأب‎¸ِ±نء؟."); define("S_SETUP0_6", "µم»÷دآأوµؤ°´إ¥½ّذذ×ش¶¯°²×°."); define("S_SETUP0_7", " ؟ھت¼°²×° "); define("S_SETUP0_8", "´س¾ة°و±¾µؤ %s ¸üذآض®ا°ؤم×î؛أت¹سأ¾ة°وµؤ 'chat/admin.php' اه؟صدûد¢±ي."); // Settings for setup1.php file define("S_SETUP1_1", "µعز»²½: ت‎¾ف±يإنضأ"); define("S_SETUP1_2", "ت‎¾ف؟âةèضأ"); define("S_SETUP1_3", "ر،شٌؤمµؤ SQL ·‏خٌئ÷ہàذح:"); define("S_SETUP1_4", "ؤمµؤ SQL ·‏خٌئ÷µؤ Hostname(ض÷»ْأû):"); define("S_SETUP1_5", "·‏خٌئ÷µؤآك¼­ت‎¾ف؟âأû:"); define("S_SETUP1_6", "(±طذëجîذ´)"); define("S_SETUP1_7", "ت‎¾ف؟âسأ»§µؤµاآ¼أû:"); define("S_SETUP1_8", "ت‎¾ف؟âسأ»§µؤأـآë:"); define("S_SETUP1_9", "´´½¨/¸üذآت‎¾ف±ي"); define("S_SETUP1_10", "ؤمد£حûصâ¸ِ½إ±¾×ِت²أ´?"); define("S_SETUP1_11", "خھ %s ´´½¨ت‎¾ف±ي"); define("S_SETUP1_12", "¸üذآ 0.12.0 »ٍصك0.12.1 °و´´½¨µؤؤعبف"); define("S_SETUP1_13", "²»½ّذذ,ت‎¾ف±يزر¾­تا×îذآ°و±¾ءث( 0.13.4 »ٍ 0.14.? °و)"); define("S_SETUP1_14", "دà¹طسأح¾µؤ tables* أû"); define("S_SETUP1_15", "سأسع±£´ودûد¢:"); define("S_SETUP1_16", "سأسع±£´و×¢²لسأ»§µؤةèضأ:"); define("S_SETUP1_17", "سأسع±£´وزرµاآ¼سأ»§:"); define("S_SETUP1_18", "*بç¹ûؤمر،شٌ¸üذآ,ؤمتنبëµؤت‎¾ف±يأû×ض±طذë؛حزرسذµؤ±يدàح¬.
بç¹ûؤمر،شٌ´´½¨ذآ±ي,شٍ²»ؤـت¹سأزرسذµؤ±يµؤأû×ض.
ثùسذؤعبف±طذëجîذ´حêصû,¼´ت¹ؤم²»د£حû´ث½إ±¾¶شت‎¾ف؟â×ِبخ؛خذق¸ؤ,µ«تاصâذ©ذإد¢½«سذضْسع´´½¨¹ـہيش±ةèضأ."); define("S_SETUP1_19", "OK"); define("S_SETUP1_20", "¸üذآ 0.13.0 to 0.13.3 °و±¾´´½¨µؤت‎¾ف±ي"); define("S_SETUP1_21", "سأسع±£´و×èµ²سأ»§:"); // Settings for setup2.php file define("S_SETUP2_1", "µع¶‏²½: د¸½عµ÷صû"); define("S_SETUP2_2", "اه³‎دûد¢؛حسأ»§أûةèضأ"); define("S_SETUP2_3", "دûد¢ة¾³‎ا°½«±£ءô¶àةظذ،ت±:"); define("S_SETUP2_4", "·ا»î¶¯سأ»§¶àةظ·ضضس؛َ±»ة¾³‎:"); define("S_SETUP2_5", "·ا»î¶¯سأ»§¶àةظجى؛َ´س×¢²لسأ»§±يضذة¾³‎(0 ±يت¾²»ة¾³‎):"); define("S_SETUP2_6", "´´½¨ؤ¬بدئµµہ"); define("S_SETUP2_7", "سأ¶؛؛إ (,) ·ض¸ô,²»زھءô؟ص¸ٌ."); define("S_SETUP2_8", "سïرشةèضأ"); define("S_SETUP2_9", "ت¹سأ¶àسïرش/×ض·û¼¯ض§³ض?"); define("S_SETUP2_10", "ؤ¬بدسïرش:"); define("S_SETUP2_11", "°²ب«؛حدقضئ"); define("S_SETUP2_12", "شعئô¶¯»­أودشت¾¹ـہيذإد¢"); define("S_SETUP2_13", "دشت¾شتذيسأ»§ة¾³‎¸÷×شµؤ¸ِبثةèضأµؤء´½س"); define("S_SETUP2_15", "سأ»§؟ةزش·أخت..."); define("S_SETUP2_16", "...ض»ؤـ·أختؤ¬بدةèضأدآµؤµعز»¸ِئµµہ"); define("S_SETUP2_17", "...؟ةزش·أخت¶¨زهخھؤ¬بدضµµؤثùسذئµµہµ«²»ؤـ´´½¨ذآئµµہ"); define("S_SETUP2_18", "...؟ةزش·أختثùسذئµµہ²¢´´½¨ذآئµµہ"); define("S_SETUP2_19", "دûد¢ذقتخ"); define("S_SETUP2_20", "ت¹سأح¼ذخ±ياé·û؛إ (²خ؟¼ 'chat/lib/smilies.lib.php')?"); define("S_SETUP2_21", "شعدûد¢ضذ؟ةزشت¹سأ´ضجه(bold), ذ±جه(italic) ؛ح دآ»®دك(underline) ±êا©"); define("S_SETUP2_22", "دشت¾؛ِآشµؤ HTML ±êا©"); define("S_SETUP2_23", "ؤ¬بددشت¾ةèضأ"); define("S_SETUP2_24", "·‏خٌئ÷؛حؤمثùشعµطاّµؤت±²î:"); define("S_SETUP2_25", "ؤ¬بددûد¢ث³ذٍ:"); define("S_SETUP2_26", "×شدآ¶ّةد"); define("S_SETUP2_27", "×شةد¶ّدآ"); define("S_SETUP2_28", "ؤ¬بددشت¾دûد¢جُت‎:"); define("S_SETUP2_29", "ؤ¬بدث¢ذآدûد¢؟ٍت±¼ن¼ن¸ô(سأأëت‎±يت¾):"); define("S_SETUP2_30", "ؤ¬بددشت¾ت±¼ن´ء."); define("S_SETUP2_31", "ؤ¬بددشت¾سأ»§½ّبë/ہë؟ھح¨¸و."); define("S_SETUP2_36", "¼ى²é½ûسأ´تسï (²خ؟¼ 'chat/lib/swearing.lib.php') ?"); define("S_SETUP2_41", "شتذيسأ»§تن³ِµ½HTMLخؤ¼‏µؤ×î´َدûد¢ت‎ء؟(0 ±يت¾ ½ûض¹ -½ûسأ±£´وأüءî-, '*' ±يت¾ثùسذ؟ةسأدûد¢, »ٍسأز»¸ِصûت‎¾ِ¶¨دûد¢ت‎)?"); define("S_SETUP2_42", "ئôسأ×èµ²¹¦ؤـ?
0 ±يت¾²»ت¹سأ, »ٍصكسأز»¸ِت‎×ض±يت¾×èµ²جىت‎
(2000000 ±يت¾سہ¾أ, 0.02 ±يت¾°ë¸ِذ،ت±....))"); define("S_SETUP2_43", "سأ»§×¢²ل"); define("S_SETUP2_14", "ذèزھ×¢²ل"); define("S_SETUP2_44", "ةْ³ةأـآë²¢·¢ثحµ½سأ»§تنبëµؤemailµطض·ضذب¥?
صâ¸ِ¹¦ؤـذèزھ 'mail()' PHP؛¯ت‎µؤض§³ض, دٍؤمµؤPHP·‏خٌئ÷¹ـہيش±ب·بدؤم؟ةزشت¹سأ¸أ؛¯ت‎.
»¹سذ, زھبأثüشثذذؤم»¹±طذëشع 'chat/lib/mail_validation.lib.php' ½إ±¾ہïأو¶¨زه4دîةèضأ"); define("S_SETUP2_45", "ؤمµؤPHPةèضأ؛أدٌ²»شتذيت¹سأ 'mail()' ؛¯ت‎. ثùزشؤم²»ؤـر،شٌت¹سأ'ةْ³ةأـآë²¢سأemail·¢ثح'µؤ¹¦ؤـ."); define("S_SETUP2_46", "¹«¹²:"); define("S_SETUP2_47", "ث½سذ:"); define("S_SETUP2_48", "µ±سأ»§µاآ¼ءؤجىت±·¢ثح»¶س­ذإد¢ (²خ؟¼ 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1", "زر¾­¶¨زهز»¸ِ¹ـہيش±µؤةèضأ²¢ازض»ؤـسذز»¸ِ¹ـہيش±.
اëذق¸ؤدآأوµؤؤعبفزش¸üذآزرسذµؤةèضأ."); define("S_SETUP3_2", "²½ضè 3: ¹ـہيش±×¢²ل"); define("S_SETUP3_3", "؛¬سذ*µؤؤعبف±طذëجîذ´."); define("S_SETUP3_4", "µاآ¼أû(nick):"); define("S_SETUP3_5", "أـآë:"); define("S_SETUP3_6", "أû×ض:"); define("S_SETUP3_7", "ذصتد:"); define("S_SETUP3_8", "ت¹سأسïرش:"); define("S_SETUP3_9", "¸ِبثحّص¾:"); define("S_SETUP3_10", "e-mail µطض·:"); define("S_SETUP3_11", "شعت¹سأ/whoisأüءîت±دشت¾e-mail"); define("S_SETUP3_12", "جّ¹‎ >>"); define("S_SETUP3_13", "ؤم؟ةزشزش؛َشع %s µؤت×ز³ةدµم»÷'±à¼­¸ِبثةèضأ'ہ´ذق¸ؤؤمµؤةèضأ."); define("S_SETUP3_14", "ذش±ً"); define("S_SETUP3_15", "ؤذ"); define("S_SETUP3_16", "إ®"); // Settings for setup4.php file define("S_SETUP4_1", "²½ضè 4: إنضأخؤ¼‏"); define("S_SETUP4_2", "دآأوتا¸ù¾فؤمتنبëµؤذإد¢ثù´´½¨µؤإنضأخؤ¼‏

¸´ضئثùسذµؤؤعبف,°üہ¨µعز»ذذ؛ح×î؛َز»ذذ,²¢ازص³جùµ½ؤمµؤخؤ±¾±à¼­ئ÷ہïأو(ضîبçnotpad, vi...).ب»؛َؤم *±طذë* شعµع7ذذتنبëت‎¾ف؟âµؤأـآë²¢±£´وخھconfig.lib.php.

ب·ذإزر¾­أ»سذ؟صذذ,أ»سذ؟ص¸ٌ×ض·û,شعPHP؟ھت¼±êا©ض®ا°؛ح½لتّ±êا©ض®؛َأ»سذئنثû×ض·û,ب»؛َؤم؟ةزش°رصâ¸ِإنضأخؤ¼‏ةد´«µ½·‏خٌئ÷ةدµؤconfigؤ؟آ¼(جو»»ش­ہ´µؤخؤ¼‏)²¢از×ِز»ذ©°²ب«ةèضأ(²خ؟¼docsؤ؟آ¼دآµؤinstall.txtخؤ¼‏,ہïأوسذ¸ü¶àµؤ²ظ×÷ذإد¢)

اëخًزإحü؟´ز»±éدآأوµؤ¾¯¸وذإد¢."); define("S_SETUP4_3", "ر،شٌب«²؟"); define("S_SETUP4_4", "ز»µ©ؤمحê³ةءثزشةدµؤ²½ضè, %s زر¾­آيةد؟ةزششثذذءث.
"); define("S_SETUP4_4m", " تض¹¤ةèضأ 'chat/admin/mail4admin.lib.php'خؤ¼‏ح·²؟µؤب‎¸ِ±نء؟
²¢×£ءؤجىسن؟ى."); define("S_SETUP4_5", "·‏خٌئ÷ %s ئô¶¯²¢شثذذ؛َؤمس¦¸أ´س·‏خٌئ÷ةد
ة¾³‎setup.php خؤ¼‏؛حصû¸ِ 'chat/install' ؤ؟آ¼."); ?>phpmychat/chat/install/languages/czech.setup.php0100644000175600010010000002356110032755632021605 0ustar NicolasAucun // extra header for charset $S_Charset = "iso-8859-2"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1","Tabulky budou vytvoّeny/aktualizovلny na lokلlnيm serveru."); define("S_MAIN_2","Krok 1 hotov: tabulky byly vytvoّeny/aktualizovلny."); define("S_MAIN_3","Krok 1 byl u¾ivatelem zru¹en."); define("S_MAIN_4","Nalezeno chybىjيcي nebo ¹patné nastavenي."); define("S_MAIN_5","Chybي alespoٍ jedno ze zpo¾dىnي pro èi¹tىnي databلze."); define("S_MAIN_6","Je vy¾adovلna alespoٍ jedna defaultnي mيstnost."); define("S_MAIN_7","Jméno mيstnosti nemù¾e obsahovat zpىtnل lomيtka (\\)."); define("S_MAIN_8","Chybي nastavenي èasového pلsma."); define("S_MAIN_9","Chybي defaultnي poèet zobrazovan‎ch zprلv a/nebo defaultnي zpo¾dىnي mezi ka¾d‎m obnovenيm zprلv."); define("S_MAIN_11","Krok 2 hotov: nastavenي pro vyladىnي chatu bylo registrovلno."); define("S_MAIN_12","Musيte napsat va¹e pّihla¹ovacي jméno."); define("S_MAIN_13","Va¹e jméno nemù¾e obsahovat mezery, èلrky ani zpىtnل lomيtka (\\)."); define("S_MAIN_14","Musيte napsat va¹e heslo."); define("S_MAIN_15","Pّezdيvka %s je u¾ registrovلna a vy jste napsal ¹patné heslo."); define("S_MAIN_16","Krok 3 hotov: vل¹ profil administrلtora byl registrovلn."); define("S_MAIN_17","Krok 3 byl u¾ivatelem zru¹en."); define("S_MAIN_18","- Instalace"); // Settings for setup0.php file define("S_SETUP0_1","Tento skript vلm slou¾ي k velmi lehké a rychlé instalaci skriptu %s."); define("S_SETUP0_2","Mù¾ete jej samozّejmى nainstalovat i ruènى, jestli chcete. Pokud preferujete tuto cestu, musيte udىlat toto:"); define("S_SETUP0_3","Vytvoّit tabulky pro %s pou¾itيm \"dump\" souborù, je¾ naleznete v adresلّi 'chat/install/database';"); define("S_SETUP0_4","Upravit soubor config.lib.php umيstىn‎ v adresلّi 'chat/config' pro nastavenي konfigurace;"); define("S_SETUP0_5","Manuلlnى pّidat vy¾adované informace o administrلtorovi do tabulky pro regisrované u¾ivatele (c_reg_users): va¹e pّezdيvka ve sloupci username, va¹e heslo v MD5 hash formى ve sloupci password a slovo 'admin' (bez uvozovek) ve sloupeèku perms. Jestli chcete, mù¾ete kdykoli pّidat dal¹ي informace do ostatnيch sloupeèkù, ale nenي to potّeba;"); define("S_SETUP0_5m","Sets three variables at the top of the 'chat/admin/mail4admin.lib.php' script."); define("S_SETUP0_6","Pro zahلjenي automatické instalace, kliknىte prosيm na spodnي tlaèيtko."); define("S_SETUP0_7"," Nainstalovat "); define("S_SETUP0_8","Doporuèujeme pّed aktualizacي ze star¹ي verze %s vyèistit tabulku se zprلvami (napّ. pomocي skriptu 'chat/admin.php' staré verze)."); // Settings for setup1.php file define("S_SETUP1_1","Prvnي krok: Konfigurace tabulek"); define("S_SETUP1_2","Nastavenي databلze"); define("S_SETUP1_3","Vyberte si vل¹ SQL server:"); define("S_SETUP1_4","Adresa (hostname) va¹eho SQL serveru:"); define("S_SETUP1_5","Logické jméno databلze na tomto serveru:"); define("S_SETUP1_6","(musي existovat)"); define("S_SETUP1_7","Pّihla¹ovacي jméno do databلze:"); define("S_SETUP1_8","Pّihla¹ovacي heslo do databلze:"); define("S_SETUP1_9","Vytvلّenي/Aktualizace tabulek"); define("S_SETUP1_10","Co chcete, aby tento skript udىlal?"); define("S_SETUP1_11","Vytvoّit tabulky pro %s"); //define("S_SETUP1_12","Updatovat u¾ existujيcي (jen z verzي 0.12.0 a 0.12.1)"); define("S_SETUP1_12","Aktualizovat u¾ existujيcي z verze 0.12.0 nebo 0.12.1"); //define("S_SETUP1_13","Neudىlat nic, tabulky jsou u¾ hotovy (napّ. z verzي 0.13.?)"); define("S_SETUP1_13","Neudىlat nic, tabulky jsou u¾ hotovy (z verzي 0.13.4 a 0.14.?)"); define("S_SETUP1_14","Jména tabulek*, kde..."); define("S_SETUP1_15","budou uklلdلny zprلvy:"); define("S_SETUP1_16","budou ulo¾eny profily registerovan‎ch u¾ivatelù:"); define("S_SETUP1_17","budou ulo¾eny jména neregistrovan‎ch u¾ivatelù:"); define("S_SETUP1_18","*Jména, je¾ napي¹ete, musي b‎t shodnل s existujيcيmy tabulky, pokud jste zvolili jejich
aktualizaci. Pokud chcete vytvoّit nové tabulky, jména se musejي li¹it
od u¾ existujيcيch tabulek!
V¹echny polيèka musejي b‎t vyplnىna, ikdy¾ nechcete ¾لdné tabulky vytvoّit,
proto¾e informace budou potّeba pozdىji pّi vytvلّenي profilu administrلtora."); define("S_SETUP1_19","OK"); define("S_SETUP1_20","Aktualizovat u¾ existujيcي z verzي od 0.13.0 do 0.13.3"); define("S_SETUP1_21","budou ulo¾eny zakلzلnي u¾ivatelé:"); // Settings for setup2.php file define("S_SETUP2_1","Druh‎ krok: Vylaïovلnي nastavenي"); define("S_SETUP2_2","Nastavenي pro èi¹tىnي zprلv a jmen u¾ivatelù"); define("S_SETUP2_3","Za kolik hodin mazat zprلvy:"); define("S_SETUP2_4","Za kolik minut mazat neaktivnي u¾ivatele:"); define("S_SETUP2_5","Za kolik dnù mazat neaktivnي u¾ivatele, kteّي byly smazلni   
z tabulky s registrovan‎mi u¾ivateli (0 = nikdy):"); define("S_SETUP2_6","Defaultnي mيstnosti"); define("S_SETUP2_7","Mيstnosti jsou oddىleny èلrkou (,) bez mezer."); define("S_SETUP2_8","Nastavenي jazyka"); define("S_SETUP2_9","Povolit vيce jazykù/znakov‎ch sad?"); define("S_SETUP2_10","Defaultnي jazyk:"); define("S_SETUP2_11","Nastavenي bezpeènosti a omezenي"); define("S_SETUP2_12","Zobrazit odkaz pro administraci u¾ivatelù na prvnي strلnce chatu?"); define("S_SETUP2_13","Zobrazit odkaz, je¾ umo¾ٍuje u¾ivatelùm mazat jejich vlastnي porfily?"); define("S_SETUP2_15","U¾ivatelé mohou pّistupovat..."); define("S_SETUP2_16","...jen do prvnي defaultnي mيstnosti"); define("S_SETUP2_17","...do v¹ech defaultnيch mيstnostي, ale bez mo¾nosti vytvلّet vlasnي"); define("S_SETUP2_18","...do v¹ech mيstnostي a vytvلّet nové"); define("S_SETUP2_19","Vylep¹enي zprلv"); define("S_SETUP2_20","Pou¾يvat grafické smailيky (viz 'chat/lib/smilies.lib.php')?"); define("S_SETUP2_21","Nechat ْèinek tagù pro tuèn‎, sklonىn‎ a podtr¾en‎ text ve zprلvلch?"); define("S_SETUP2_22","Zobrazovat neplatné HTML tagy?"); define("S_SETUP2_23","Defaultnي zobrazenي"); define("S_SETUP2_24","Posun èasu v hodinلch mezi èasem serveru a va¹ي zemي:"); define("S_SETUP2_25","Defaultnي poّadي zprلv:"); define("S_SETUP2_26","poslednي nahoّe"); define("S_SETUP2_27","poslednي dole"); define("S_SETUP2_28","Defaultnي poèet zobrazovan‎ch zprلv:"); define("S_SETUP2_29","Defaultnي prodleva mezi obnovovلnيm zprلv (v sekundلch):"); define("S_SETUP2_30","Zobrazovat defaultnى èas u zprلv."); define("S_SETUP2_31","Zobrazovat defaultnى notifikace, kdy¾ u¾ivatel vstoupي/odejde."); define("S_SETUP2_36","Zakلzat ¹patnل slova (viz 'chat/lib/swearing.lib.php')?"); define("S_SETUP2_41","Maximلlnي poèet zprلv, které mل u¾ivatel dovoleno exportovat do HTML souboru (0 pro ¾لdné -pّيkaz save je zakلzلn-, '*' pro v¹echny dostupné zprلvy, nebo èيslo pro omezenي zatي¾enي serveru)?"); define("S_SETUP2_42","Povolit zakazovلnي u¾ivatelù?
0 pro zakلzلnي, jinak kladné èيslo pro definici poètu dnù pro zلkazy
(2000000 pro absolutnي zلkaz, 0.02 pro zلkaz pّibli¾nى na pùl hodiny....))"); define("S_SETUP2_43","Registrace u¾ivatelù"); define("S_SETUP2_14","Vy¾adovat registraci u¾ivatelù?"); define("S_SETUP2_44","Generovat automaticky pّi registraci heslo a posيlat ho na e-mail, kter‎ zadل u¾ivatel do registrace?
Tato volba vy¾aduje zapnutou PHP funkci 'mail()', zjistىte od administrلtora serveru jestli ji mù¾ete pou¾يvat.
Mimo to musيte mيt nastavené 4 volby v souboru 'chat/lib/mail_validation.lib.php', aby tato volba sprلvnى pracovala."); define("S_SETUP2_45","Va¹e konfigurace PHP zّejmى neumo¾ٍuje pou¾يt PHP funkci 'mail()', tak¾e nemù¾ete nechat povolenou volbu pro automatické generovلnي a poslلnي hesla pّes e-mail pّi registraci nov‎ch u¾ivatelù."); define("S_SETUP2_46","veّejnou:"); define("S_SETUP2_47","soukromou:"); define("S_SETUP2_48","Poslat uvيtacي zprلvu pّيchozيm u¾ivatelùm (viz 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1","Profil administrلtora je u¾ definovلn a v chatu mù¾e b‎t
pouze jeden administrلtor. Modifikujte, prosيm, spodnي polيèka
pro updatovلnي existujيcيhi profilu."); define("S_SETUP3_2","Tّetي krok: Registrace administrلtora"); define("S_SETUP3_3","Polيèka s * jsou vy¾adovلna."); define("S_SETUP3_4","jméno (pّezdيvka):"); define("S_SETUP3_5","heslo:"); define("S_SETUP3_6","kّestnي jmené:"); define("S_SETUP3_7","pّيjmenي:"); define("S_SETUP3_8","ovlلdané jazyky:"); define("S_SETUP3_9","domovskل strلnka:"); define("S_SETUP3_10","e-mailovل adresa:"); define("S_SETUP3_11","zobrazovat e-mail pomocي pّيkazu /whois"); define("S_SETUP3_12","Vynechat >>"); define("S_SETUP3_13","Vل¹ profil mù¾ete upravit kdykoli po instalaci kliknutيm na odkaz
pro editaci profilu na prvnي stranى chatu."); define("S_SETUP3_14", "pohlavي"); define("S_SETUP3_15", "mu¾ské"); define("S_SETUP3_16", "¾enské"); // Settings for setup4.php file define("S_SETUP4_1","بtvrt‎ krok: Konfiguraènي soubor"); define("S_SETUP4_2","Tady je konfiguraènي soubor vytvoّen‎ podle v‎mi zadan‎ch ْdajù.

Okopيrujte cel‎ obsah vèetnى prvnي a poslednي ّadky, a vlo¾te jej do va¹eho oblيbeného textového editoru (notepad èi vi). Poté *musيte* vyplnit heslo do databلze na 7. ّلdce a ulo¾it soubor jako config.lib.php.

Dùkladnى zkontrolujte jestli nenي ¾لdnل prلzdnل ّلdka ani mezera, ani pّed otevيracيm tagem PHP kَdu ani po ukonèovacيm, poté nahrajte konfiguraènي soubor na vل¹ server do adresلّe config (pّepsلnيm u¾ existujيcيho souboru) a stّe¾te jej (viz soubor install.txt v adresلّi docs pro vيce informacي).

Nezapomeٍte se podيvat na varovnou zprلvu dole."); define("S_SETUP4_3","Oznaèit v¹e"); define("S_SETUP4_4","Jakmile udىlلte v¹echny v‎¹e uvedené kroky, %s bude skoro pّipraven."); define("S_SETUP4_4m"," Jen nastavte manuلlnى tّi promىnné na zaèلtku souboru 'chat/admin/mail4admin.lib.php'..."); define("S_SETUP4_5","Po ْspى¹ném rozbىhnutي %su byste mىli odstranit soubor
setup.php a cel‎ adresلّ 'chat/install' z va¹eho serveru."); ?>phpmychat/chat/install/languages/english.setup.php0100644000175600010010000002312610032755632022137 0ustar NicolasAucun and Martin Edelius // extra header for charset $S_Charset = "iso-8859-1"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1","Tables will be created/updated on a local server."); define("S_MAIN_2","Step 1 completed: tables have been created/updated."); define("S_MAIN_3","Step 1 bypassed by user."); define("S_MAIN_4","Found missing or invalid setting(s)."); define("S_MAIN_5","At least one of the cleaning delays is missing."); define("S_MAIN_6","At least one default room is required."); define("S_MAIN_7","The name of a room cannot contain backslashes (\\)."); define("S_MAIN_8","The timezone offset is missing."); define("S_MAIN_9","The default number of messages to display and/or the default timeout between each update is/are missing."); define("S_MAIN_11","Step 2 completed: settings for fine tunning have been registered."); define("S_MAIN_12","You must enter a login name."); define("S_MAIN_13","Your name cannot contain a space, comma or backslash (\\)."); define("S_MAIN_14","You must enter your password."); define("S_MAIN_15","The %s nick is already registered and the password you entered is wrong."); define("S_MAIN_16","Step 3 completed: your administrator profile has been registered."); define("S_MAIN_17","Step 3 bypassed by user."); define("S_MAIN_18","- Setup"); // Settings for setup0.php file define("S_SETUP0_1","This script allows you to easily install %s."); define("S_SETUP0_2","You can also do this manually if you wish. If you prefer to do it this way, you have to:"); define("S_SETUP0_3","Create tables for %s using the dump files located in 'chat/install/database' dir;"); define("S_SETUP0_4","Edit the config.lib.php file located in the 'chat/config' dir to define %s settings;"); define("S_SETUP0_5","Manually add required information for the Administrator into the registered users table (c_reg_users): your nick in the username column, MD5 hash of the actual password in the password column and the word 'admin' (without quotes) in the perms column. If you want to you can always add additional information in the other columns but it is not required;"); define("S_SETUP0_5m","Sets three variables at the top of the 'chat/admin/mail4admin.lib.php' script."); define("S_SETUP0_6","To continue with the automated setup please click the button below."); define("S_SETUP0_7"," Go "); define("S_SETUP0_8","Before updating from an older version of %s you'd better clean the messages table (using the 'chat/admin.php' script of this old version for example)."); // Settings for setup1.php file define("S_SETUP1_1","First step: Tables configuration"); define("S_SETUP1_2","Database settings"); define("S_SETUP1_3","Select your SQL server type:"); define("S_SETUP1_4","Hostname of your SQL server:"); define("S_SETUP1_5","Logical database name on that server:"); define("S_SETUP1_6","(must exist)"); define("S_SETUP1_7","Database user's login:"); define("S_SETUP1_8","Database user's password:"); define("S_SETUP1_9","Tables creation/update"); define("S_SETUP1_10","What do you want this script to do ?"); define("S_SETUP1_11","Create tables for %s"); define("S_SETUP1_12","Update existing ones created for 0.12.0 or 0.12.1 releases"); define("S_SETUP1_13","Do nothing, tables are already up to date (for 0.13.4 and 0.14.? releases)"); define("S_SETUP1_14","Names of the tables* where..."); define("S_SETUP1_15","messages will be stored:"); define("S_SETUP1_16","registered users profiles will be stored:"); define("S_SETUP1_17","logged users will be stored:"); define("S_SETUP1_18","*Names you enter for tables must correspond to existing tables if you choose to
update them. If you want to create new tables the names must not be the
same as those of existing tables!
All of the fields must be completed, even if you don't want the script to do
anything as the information will be necessary when creating the administrator
profile later."); define("S_SETUP1_19","OK"); define("S_SETUP1_20","Update existing ones created for 0.13.0 to 0.13.3 releases"); define("S_SETUP1_21","banished users will be stored:"); // Settings for setup2.php file define("S_SETUP2_1","Second step: Fine tuning options"); define("S_SETUP2_2","Clean up settings for messages and usernames"); define("S_SETUP2_3","Number of hours until messages are deleted:"); define("S_SETUP2_4","Number of minutes until inactive users are deleted:"); define("S_SETUP2_5","Number of days until inactive users are deleted   
from registration table (0 for never):"); define("S_SETUP2_6","Default rooms to create"); define("S_SETUP2_7","Separated with comma (,) no spaces."); define("S_SETUP2_8","Language settings"); define("S_SETUP2_9","Allow multi-languages/charset support ?"); define("S_SETUP2_10","Default language:"); define("S_SETUP2_11","Security and restrictions"); define("S_SETUP2_12","Show link for admin resources at startup screen ?"); define("S_SETUP2_13","Show link that allows users to delete their own profile ?"); define("S_SETUP2_15","Users can access..."); define("S_SETUP2_16","...only the first room within the default ones"); define("S_SETUP2_17","...all the rooms defined as default ones but not create a room"); define("S_SETUP2_18","...all the rooms and create new ones"); define("S_SETUP2_19","Messages enhancements"); define("S_SETUP2_20","Use graphical smilies (see 'chat/lib/smilies.lib.php')?"); define("S_SETUP2_21","Keep effect of bold, italic and underline tags in messages ?"); define("S_SETUP2_22","Show discarded HTML tags ?"); define("S_SETUP2_23","Default display seetings"); define("S_SETUP2_24","Timezone offset in hours between the server time and your country:"); define("S_SETUP2_25","Default message order:"); define("S_SETUP2_26","last on top"); define("S_SETUP2_27","last on bottom"); define("S_SETUP2_28","Default number of messages to display:"); define("S_SETUP2_29","Default timeout between refreshing messages frame (in seconds):"); define("S_SETUP2_30","Show timestamp as default."); define("S_SETUP2_31","Show nofications of user entrance/exit as default."); define("S_SETUP2_36","Check for swear words (see 'chat/lib/swearing.lib.php') ?"); define("S_SETUP2_41","Maximum number of messages that an user is allowed to export to an HTML file (0 for none -save command is disabled-, '*' for all available messages, or an integer to limit server charge)?"); define("S_SETUP2_42","Enable the banishment feature?
0 for no, else a positive number to define the number of banishment
day(s) (2000000 for no end, 0.02 for ~half an hour....))"); define("S_SETUP2_43","Registration of users"); define("S_SETUP2_14","Require registration?"); define("S_SETUP2_44","Generate a password and send it to the e-mail address the user enter in?
This option require the 'mail()' PHP function to be enabled, ensure you can use it with the administrator of your PHP server.
Moreover, to have it running you must define 4 settings in the 'chat/lib/mail_validation.lib.php' script."); define("S_SETUP2_45","Your PHP configuration seems not to allow the use of the 'mail()' function. So you can't choose to generate a password and send it to the user by e-mail."); define("S_SETUP2_46","publics:"); define("S_SETUP2_47","privates:"); define("S_SETUP2_48","Send a welcome message to an user logging into the chat (see 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1","An administrator profile is already defined and only one
administrator can exist. Please modify the fields
below to update the existing profile."); define("S_SETUP3_2","Third step: Administrator registration"); define("S_SETUP3_3","Fields with a * are required."); define("S_SETUP3_4","login (nick):"); define("S_SETUP3_5","password:"); define("S_SETUP3_6","firstname:"); define("S_SETUP3_7","lastname:"); define("S_SETUP3_8","spoken languages:"); define("S_SETUP3_9","website:"); define("S_SETUP3_10","e-mail address:"); define("S_SETUP3_11","show e-mail by /whois command"); define("S_SETUP3_12","Skip >>"); define("S_SETUP3_13","You may modify your profile later by clicking on the edit
profile link at the start page of %s."); define("S_SETUP3_14", "gender"); define("S_SETUP3_15", "male"); define("S_SETUP3_16", "female"); // Settings for setup4.php file define("S_SETUP4_1","Fourth step: The config file"); define("S_SETUP4_2","Here's the config file created according to the information you have entered.

Copy all of it, including the first and last lines, and then paste it into your favourite text-editor (Notepad, Vi...). After this you *must* enter the database users password on line 7 and save the file as config.lib.php.

Ensure that there is neither empty line neither space character, neither before the php opening tag neither after the closing one, then you can upload the config file to your server in the config dir (replace the existing one) and secure it (see the install.txt file in the docs dir for more information on this).

Don't forget to have a look at the warning message bellow."); define("S_SETUP4_3","Highlight all"); define("S_SETUP4_4","Once you have completed the steps above, %s is near ready to run.
"); define("S_SETUP4_4m"," Just sets manually three variables at the top of the 'chat/admin/mail4admin.lib.php'
script... and have some nice chat discussions."); define("S_SETUP4_5","After you have got %s up and running you should remove the
setup.php file and the whole 'chat/install' dir from your server."); ?>phpmychat/chat/install/languages/french.setup.php0100644000175600010010000002572010032755632021755 0ustar NicolasAucun // extra header for charset $S_Charset = "iso-8859-1"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1","Les tables seront créées/mises à jour sur un serveur local."); define("S_MAIN_2","Etape 1 achevée : les tables ont été créées/mises à jour."); define("S_MAIN_3","Etape 1 ignorée conformément à votre choix."); define("S_MAIN_4","Certaines réponses sont manquantes ou invalides."); define("S_MAIN_5","Au moins l'un des délais avant effacement des données est manquant."); define("S_MAIN_6","Il vous faut définir au moins un salon par défaut."); define("S_MAIN_7","Un nom de salon ne peut contenir d'anti-slash (\\)."); define("S_MAIN_8","Le décalage entre l'heure serveur et votre fuseau horaire est manquant."); define("S_MAIN_9","Le nombre de messages à afficher par défaut et/ou le délai entre deux rafraîchissements est(sont) manquants."); define("S_MAIN_11","Etape 2 achevée : vos choix concernant le fonctionnement du chat ont été enregistrés."); define("S_MAIN_12","Vous devez choisir un pseudo."); define("S_MAIN_13","Votre pseudo ne peu contenir ni espace, ni virgule, ni anti-slash (\\)."); define("S_MAIN_14","Vous devez choisir un mot de passe."); define("S_MAIN_15","Le pseudo %s est déjà réservé et vous n'avez pas entré le mot de passe qui lui est associé."); define("S_MAIN_16","Etape 3 achevée : votre profil a été enregistré comme celui de l'administrateur."); define("S_MAIN_17","Etape 4 ignorée conformément à votre choix."); define("S_MAIN_18","- Installation"); // Settings for setup0.php file define("S_SETUP0_1","Ce script a pour but de faciliter l'installation de %s sur votre site."); define("S_SETUP0_2","Mais tout cela peut aussi être fait manuellement. Dans le cas où vous préfèreriez cette méthode, il vous faudrait :"); define("S_SETUP0_3","Créer les tables nécessaires à %s en vous aidant des \"dump files\" situées dans le sous-répertoire 'chat/install/database' ;"); define("S_SETUP0_4","Compléter le fichier config.lib.php situé dans le sous-répertoire 'chat/config' afin de définir les paramètres de %s ;"); define("S_SETUP0_5","Créer le profil de l'administrateur dans la table des utilisateurs enregistrés (c_reg_users) : votre pseudo dans la colonne username, le MD5 hash de votre mot de passe dans la colonne password et le mot 'admin' (sans quotes) dans la colonne perms. Vous pouvez bien sûr compléter le reste de l'enregistrement mais ce n'est pas obligatoire ;"); define("S_SETUP0_5m","Renseigner trois variables au début du script 'chat/admin/mail4admin.lib.php'."); define("S_SETUP0_6","Pour poursuivre l'installation avec ce script cliquez sur le bouton ci-dessous."); define("S_SETUP0_7"," Continuer "); define("S_SETUP0_8","Avant de mettre à jour une ancienne version de %s il est conseillé de vider la table contenant les messages (à l'aide du script 'chat/admin.php' de cette ancienne version par exemple)."); // Settings for setup1.php file define("S_SETUP1_1","Première étape : Configuration des tables"); define("S_SETUP1_2","Paramètres d'accès à la base"); define("S_SETUP1_3","Sélectionnez votre type de serveur SQL :"); define("S_SETUP1_4","\"Hostname\" de votre serveur SQL :"); define("S_SETUP1_5","Nom de la base sur ce serveur :"); define("S_SETUP1_6","(elle doit exister)"); define("S_SETUP1_7","Votre login pour accéder à cette base :"); define("S_SETUP1_8","Votre mot de passe pour accéder à cette base :"); define("S_SETUP1_9","Création/mise à jour des tables"); define("S_SETUP1_10","Que voulez-vous faire ?"); define("S_SETUP1_11","Créer les tables nécessaires à %s"); define("S_SETUP1_12","Mettre à jour des tables créées pour les versions 0.12.0 et 0.12.1"); define("S_SETUP1_13","Ne rien faire, les tables sont déjà à jour (pour les version 0.13.4 et 0.14.?)"); define("S_SETUP1_14","Noms des tables* dans lesquelles seront stockés..."); define("S_SETUP1_15","les messages :"); define("S_SETUP1_16","les profils des utilisateurs enregistrés :"); define("S_SETUP1_17","les utilisateurs connectés :"); define("S_SETUP1_18","*Les noms des tables que vous entrez doivent (ne doivent pas) correspondre à des tables existantes
si vous avez choisi de les mettre à jour (de les créer).
Tous ces champs doivent impérativement être complétés, même si vous choisissez de ne rien faire
faire par le script : les noms des tables seront nécessaires pour créer le profil de l'administrateur
un peu plus tard."); define("S_SETUP1_19","OK"); define("S_SETUP1_20","Mettre à jour des tables créées pour les versions 0.13.0 à 0.13.3"); define("S_SETUP1_21","les utilisateurs bannis :"); // Settings for setup2.php file define("S_SETUP2_1","Deuxième étape : configuration avancée du chat"); define("S_SETUP2_2","Dépoussiérage des tables"); define("S_SETUP2_3","Délai en heure au bout duquel les messages seront effacés :"); define("S_SETUP2_4","Délai en minutes au bout duquel les utilisateurs inactifs   
seront déconnectés :"); define("S_SETUP2_5","Nombre de jours avant que les utilisateurs enregistrés   
inactifs voient leur profil détruit (0 pour jamais) :"); define("S_SETUP2_6","Salons par défaut à créer"); define("S_SETUP2_7","Séparez-les avec une virgule sans espace (,)."); define("S_SETUP2_8","Paramètres linguistiques"); define("S_SETUP2_9","Version multilingue ?"); define("S_SETUP2_10","Langue par défaut :"); define("S_SETUP2_11","Sécurisation et restrictions"); define("S_SETUP2_12","Mettre un lien vers le script d'administration sur la page d'accueil ?"); define("S_SETUP2_13","Permettre aux utilisateurs d'effacer leur profil ?"); define("S_SETUP2_15","Un utilisateur aura accès..."); define("S_SETUP2_16","... au premier des salons par défaut seulement"); define("S_SETUP2_17","... à tous les salons par défaut mais ne pourra en créer un"); define("S_SETUP2_18","... à tous les salons par défaut et pourra de plus en créer"); define("S_SETUP2_19","Options concernant les messages"); define("S_SETUP2_20","Utiliser des smilies graphiques (voir 'chat/lib/smilies.lib.php') ?"); define("S_SETUP2_21","Tenir compte des tags gras, italique et souligné dans les messages ?"); define("S_SETUP2_22","Afficher les tags HTML en clair lorsqu'ils sont sans effet ?"); define("S_SETUP2_23","Affichage par défaut"); define("S_SETUP2_24","Ecart en heures pleines entre le temps serveur et votre fuseau horaire :"); define("S_SETUP2_25","Ordre d'affichage des messages par défaut :"); define("S_SETUP2_26","le dernier en haut de la page"); define("S_SETUP2_27","le dernier en bas de la page"); define("S_SETUP2_28","Nombre de messages à afficher par défaut :"); define("S_SETUP2_29","Délai de rafraîchissement du cadre contenant les messages par défaut :"); define("S_SETUP2_30","Par défaut, afficher l'heure d'émission des messages."); define("S_SETUP2_31","Par défaut, afficher les notifications d'entrée/sortie d'utilisateurs."); define("S_SETUP2_36","Interdire certains mots (voir 'chat/lib/swearing.lib.php') ?"); define("S_SETUP2_41","Nombre maximal de messages qu'un utilisateur pourra sauvegarder dans un fichier HTML (0 pour aucun -la commande save devient indisponible-, '*' pour tous les messages disponibles, ou bien une valeur quelconque pour limiter la charge du serveur) ?"); define("S_SETUP2_42","Activer la fonctionnalité qui permet de bannir un utiliseur ?
0 pour non, sinon un nombre strictement positif pour définir le nombre
de jour de bannissement (2000000 pour indiquer qu'il n'a pas de terme,
0.01 pour ~1/4 d'heure....)"); define("S_SETUP2_43","Enregistrement des utilisateurs"); define("S_SETUP2_14","Enregistrement des utilisateurs requis ?"); define("S_SETUP2_44","Choisir l'option qui consiste à générer un mot de passe et à l'envoyer à l'adresse e-mail spécifiée par l'utilisateur ?
Cette option fait appel à la fonction 'mail()' de PHP, assurez-vous d'y avoir accès auprès du gestionnaire de votre serveur PHP avant de la retenir.
De plus son utilisation nécessite de votre part la définition de 4 paramètres au début du script 'chat/lib/mail_validation.lib.php'."); define("S_SETUP2_45","La configuration de votre serveur PHP ne semble pas permettre l'utilisation de la fonction mail(). En conséquence vous ne pouvez choisir l'option qui consiste à générer un mot de passe et à l'envoyer à l'adresse e-mail spécifiée par l'utilisateur."); define("S_SETUP2_46","publics :"); define("S_SETUP2_47","privés :"); define("S_SETUP2_48","Envoyer un message d'accueil à un utilisateur entrant sur le chat (voir 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1","Un administrateur existe déjà et il ne peut y en avoir
qu'un. Si vous modifiez les champs ci-dessous, le profil
existant sera mis à jour."); define("S_SETUP3_2","Troisième étape: Enregistrement du profil de l'administrateur"); define("S_SETUP3_3","Les champs suivis d'une * doivent être renseignés."); define("S_SETUP3_4","login (pseudo) :"); define("S_SETUP3_5","mot de passe :"); define("S_SETUP3_6","prénom :"); define("S_SETUP3_7","nom :"); define("S_SETUP3_8","langues parlées :"); define("S_SETUP3_9","site web :"); define("S_SETUP3_10","addresse e-mail :"); define("S_SETUP3_11","e-mail visible via la commande /whois"); define("S_SETUP3_12","Ignorer >>"); define("S_SETUP3_13","Au même titre que n'importe quel utilisateur, vous pourrez
modifier ce profil plus tard en cliquant sur le lien idoine
situé sur la page d'accueil de %s."); define("S_SETUP3_14", "sexe"); define("S_SETUP3_15", "masculin"); define("S_SETUP3_16", "féminin"); // Settings for setup4.php file define("S_SETUP4_1","Quatrième étape : Le fichier de configuration"); define("S_SETUP4_2","Voici votre fichier de configuration personnalisé.

Il vous suffit maintenant de copier entièrement le contenu de la boite ci-dessous dans votre éditeur de texte préféré (NotePad, Vi...), de compléter le mot de passe pour l'accès à la base (ligne 7), et d'enregistrer ce fichier sous le nom config.lib.php.

Assurez-vous qu'il n'y a ni ligne vide ni espace, ni avant le tag php ouvrant ni après le tag php fermant, puis transférez le fichier de configuration sur votre serveur dans le répertoire config (écrasez le fichier existant) et sécurisez son accès (cf. le fichier install.txt dans le sous-répertoire docs pour des informations plus complètes).

Enfin n'oubliez pas de lire l'avertissement plus bas."); define("S_SETUP4_3","Selectionner tout"); define("S_SETUP4_4","Une fois tout ceci fait, %s sera presque prêt à l'emploi.
"); define("S_SETUP4_4m","Il ne vous restera qu'à renseigner trois variables au début du script
'chat/admin/mail4admin.lib.php'... et à vous lancer dans quelque
passionnante discussion."); define("S_SETUP4_5","Après vous être assuré du bon fonctionnement de %s, il vous est
conseillé de détruire le fichier setup.php ainsi que tout le sous-répertoire
'chat/install' de votre serveur."); ?>phpmychat/chat/install/languages/italian.setup.php0100644000175600010010000002502310032755633022126 0ustar NicolasAucun & Silvia M. Carrassi // extra header for charset $S_Charset = "iso-8859-1"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1","Le tabelle saranno create/aggiornate su un server locale."); define("S_MAIN_2","Step 1 completato: Le tabelle sono state create/aggiornate."); define("S_MAIN_3","Step 1 saltato dall'utente."); define("S_MAIN_4","Trovati settaggi mancanti o invalidi."); define("S_MAIN_5","Manca almeno uno dei ritardi di pulizia delle tabelle."); define("S_MAIN_6","E' richiesta almeno un'area di Default."); define("S_MAIN_7","Il nome dell'area non puٍ contenere backslashes (\\)."); define("S_MAIN_8","Manca l'offset della zona oraria."); define("S_MAIN_9","Il numero dei messaggi di default da mostrare e/o il timeout di default tra un aggiornamento e l'altro sono mancanti."); define("S_MAIN_11","Step 2 completato: le impostazioni sono state registrate."); define("S_MAIN_12","Dovete inserire un nome di login."); define("S_MAIN_13","Il tuo nome non puٍ contenere spazi, virgole o backslash (\\)."); define("S_MAIN_14","Dovete inserire la vostra password."); define("S_MAIN_15","Il nick %s è già registrato e la password che avete inserito è errata."); define("S_MAIN_16","Step 3 completato: il vostro profilo d'amministratore è stato registrato."); define("S_MAIN_17","Step 3 saltato dall'utente."); define("S_MAIN_18","- Setup"); // Settings for setup0.php file define("S_SETUP0_1","Questo script vi permette di installare facilmente %s."); define("S_SETUP0_2","Potete fare questo anche manualmente se lo desiderate. Se preferite farlo in questo modo dovete:"); define("S_SETUP0_3","Creare le tabelle per %s utilizzando i files dump allocati nella directory 'chat/install/database';"); define("S_SETUP0_4","Editate il file config.lib.php allocato nella directory 'chat/config'per definirne le impostazioni %s;"); define("S_SETUP0_5","Aggiungete manualmente le informazioni richieste per l'Admin dentro la tabella degli utenti registrati (c_reg_users): Il vostro nick nella colonna username, MD5 hash della password attuale nella colonna password e la parola 'admin' (senza apici) nella colonna perms. Se volete potete aggiungere informazioni supplementari nelle altre colonne ma non è obbligatorio;"); define("S_SETUP0_5m","Sets three variables at the top of the 'chat/admin/mail4admin.lib.php' script."); define("S_SETUP0_6","Per continuare con il setup automatizzato cliccate il pulsante sotto, grazie."); define("S_SETUP0_7"," Vai "); define("S_SETUP0_8","Prima di aggiornare da una versione più vecchia di %s sarebbe meglio svuotare la tabella dei messaggi (utilizzando lo script 'chat/admin.php' della versione più vecchia per esempio.)."); // Settings for setup1.php file define("S_SETUP1_1","Primo step: Configurazione tabelle"); define("S_SETUP1_2","Impostazioni Database"); define("S_SETUP1_3","Scegliete il vostro gestore DBMS:"); define("S_SETUP1_4","Nome host del vostro server SQL:"); define("S_SETUP1_5","Nome del database sul server:"); define("S_SETUP1_6","(deve esistere)"); define("S_SETUP1_7","Nome utente del database:"); define("S_SETUP1_8","Password utente del database:"); define("S_SETUP1_9","Creazione/Aggiornamento Tabelle"); define("S_SETUP1_10","Cosa vuoi che faccia questo script ?"); define("S_SETUP1_11","Crea le tabelle per %s"); define("S_SETUP1_12","Aggiorna le tabelle esistenti create per le versioni 0.12.0 o 0.12.1"); define("S_SETUP1_13","Non fare nulla le tabelle sono già aggiornate (per le versioni 0.13.4 e 0.14.?)"); define("S_SETUP1_14","Nome delle tabelle* dove..."); define("S_SETUP1_15","i messaggi saranno depositati:"); define("S_SETUP1_16","i profili degli utenti registrati saranno depositati:"); define("S_SETUP1_17","i dati degli utenti loggati saranno depositati:"); define("S_SETUP1_18","*Nomi delle tabelle che inserisci devono corrispondere alle tabelle esistenti se scegli di
aggiornarle
. Se vuoi creare delle nuove tabelle il nome non deve essere lo
stesso di quelle esistenti!
Tutti i campi devono essere completati, anche se non vuoi che lo script faccia
nulla poichè tutte le informazioni saranno necessarie quando più tardi dovrai creare
il profilo dell'amministratore."); define("S_SETUP1_19","OK"); define("S_SETUP1_20","Aggiorna le tabelle esistenti create per le versioni dalla 0.13.0 alla 0.13.3"); define("S_SETUP1_21","i dati degli utenti banditi (bannati) saranno depositati:"); // Settings for setup2.php file define("S_SETUP2_1","Secondo step: Opzioni accurate"); define("S_SETUP2_2","Pulisci impostazioni per messaggi e nomi utente"); define("S_SETUP2_3","Numero di ore prima che i messaggi vengano cancellati:"); define("S_SETUP2_4","Numero di minuti prima che gli utenti inattivi vengano cancellati:"); define("S_SETUP2_5","Numero di giorni prima che gli utenti non attivi vengano cancellati    
dalla tabella di registrazione (0 per disabilitare):"); define("S_SETUP2_6","Aree di default da creare"); define("S_SETUP2_7","Separate da virgola (,) senza spazi."); define("S_SETUP2_8","Impostazioni di linguaggio"); define("S_SETUP2_9","Consenti il supporto multi-languages/charset ?"); define("S_SETUP2_10","Linguaggio di Default:"); define("S_SETUP2_11","Sicurezza e restrizioni"); define("S_SETUP2_12","Mostra link per le risorse d'amministrazione nella schermata di avvio ?"); define("S_SETUP2_13","Mostra link che consente all'utente di cancellare il proprio profilo ?"); define("S_SETUP2_15","L'utente puٍ accedere..."); define("S_SETUP2_16","...solamente alla prima area all'interno di quelle di default"); define("S_SETUP2_17","...tutte le aree definite come default ma non puٍ creare un'area"); define("S_SETUP2_18","...tutte le aree e puٍ crearne nuove"); define("S_SETUP2_19","Opzioni messaggi"); define("S_SETUP2_20","Usa gli smilies grafici (vedi 'chat/lib/smilies.lib.php') ?"); define("S_SETUP2_21","Possibile utilizzo dei tag per grassetto, corsivo e sottolineato nei messaggi ?"); define("S_SETUP2_22","Mostra tags HTML scartati ?"); define("S_SETUP2_23","Impostazioni di visualizzazione di Default"); define("S_SETUP2_24","Differenza, in ore, fra l'ora del server e quella del posto in cui vi trovate."); define("S_SETUP2_25","Ordine di default dei messaggi:"); define("S_SETUP2_26","Ultimo in cima"); define("S_SETUP2_27","Ultimo in basso"); define("S_SETUP2_28","Numero di default di messaggi da visualizzare:"); define("S_SETUP2_29","Timeout di default durante l'aggiornamento del frame dei messaggi (in secondi):"); define("S_SETUP2_30","Mostra data e ora per default."); define("S_SETUP2_31","Mostra di default notifiche sull'arrivo/uscita degli utenti."); define("S_SETUP2_36","Controlla per le parolacce (vedi 'chat/lib/swearing.lib.php') ?"); define("S_SETUP2_41","Numero massimo di messaggi che a un utente è consentito esportare su un file HTML (0 per nessuno -Il comando save viene disabilitato-, '*' per tutti i messaggi disponibili, o un numero intero per limitare il carico del server)?"); define("S_SETUP2_42","Abilita l'opzione di banditura?
0 per no, altrimenti un numero positivo per definire il numero dei giorni di bandita
(2000000 per infinito, 0.02 per mezz'ora....))"); define("S_SETUP2_43","Registrazione degli utenti"); define("S_SETUP2_14","Richiedi registrazione?"); define("S_SETUP2_44","Genera una password e inviala all'indirizzo email che l'utente ha inserirto?
Questa opzione richiede che la funzione PHP 'mail()' sia abilitata , assicurati di poterla utilizzare chiedendo magari all'amministratore del tuo server.
Inoltre per farla funzionare dovete definire 4 parametri nello script 'chat/lib/mail_validation.lib.php'."); define("S_SETUP2_45","La Vostra configurazione di PHP non sembra consentire l'uso della funzione 'mail()'. Cosى non puoi scegliere di generare una password e mandarla all'utente via e-mail."); define("S_SETUP2_46","pubbliche:"); define("S_SETUP2_47","private:"); define("S_SETUP2_48","Send a welcome message to an user logging into the chat (see 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1","E' stato già definito un profilo per l'Amministratore e soltanto
un amministratore puٍ esistere. Per favore modificate i campi
sotto per aggiornare il profilo esistente."); define("S_SETUP3_2","Terzo step: Registrazione Amministratore"); define("S_SETUP3_3","I campi contrassegnati con un * sono obbligatori."); define("S_SETUP3_4","login (nick):"); define("S_SETUP3_5","password:"); define("S_SETUP3_6","Nome:"); define("S_SETUP3_7","Cognome:"); define("S_SETUP3_8","Lingue parlate:"); define("S_SETUP3_9","Sito web:"); define("S_SETUP3_10","Indirizzo e-mail:"); define("S_SETUP3_11","Mostra e-mail tramite il comando /whois"); define("S_SETUP3_12","Salta >>"); define("S_SETUP3_13","Potrete modificare in seguito il Vostro profilo cliccando sul link per l'editing dei profili
profile nella pagina di inizio di %s."); define("S_SETUP3_14", "Sesso"); define("S_SETUP3_15", "maschio"); define("S_SETUP3_16", "femmina"); // Settings for setup4.php file define("S_SETUP4_1","Quarto step: Il file di configurazione"); define("S_SETUP4_2","Qui c'è il file di configurazione creato in base alle informazioni che avete inserito.

Copiatelo tutto, inclusa la prima e l'ultima linea, poi incollatele nel vostro editor di testo preferito (Notepad, Vi...). Dopo *dovete* inserire la password del database nella riga 7 e salvate il file come config.lib.php.

Assicuratevi che non ci sia nessuna linea vuota nessun carattere di spazio, niente prima del tag di apertura del php niente dopo averlo chiuso, poi potrete uploadare il file di configurazione sul Vostro server nella directory config (rimpiazza quello esistente) e rendetelo sicuro (vedi il file install.txt nella directory docs per maggiori informazioni a riguardo).

Non dimenticate di guardare il mesaggio di avviso riportato sotto."); define("S_SETUP4_3","Seleziona tutto"); //define("S_SETUP4_4","Appena avrete completato i passi sopra citati, %s è pronta a partire."); define("S_SETUP4_4","Once you have completed the steps above, %s is near ready to run.
"); define("S_SETUP4_4m"," Just sets manually three variables at the top of the 'chat/admin/mail4admin.lib.php'
script... and have some nice chat discussions."); define("S_SETUP4_5","Dopo aver messo in funzione %s dovreste rimuovere il file
setup.php e tutta la directory 'chat/install' dal Vostro server."); ?>phpmychat/chat/install/languages/languages.setup.php0100644000175600010010000000240210032755633022447 0ustar NicolasAucun "czech", "en([-_][[:alpha:]]{2})?|english" => "english", "fr([-_][[:alpha:]]{2})?|french" => "french", "it|italian" => "italian", "es[-_]ar" => "argentinian_spanish", "es([-_][[:alpha:]]{2})?|spanish" => "spanish", "zh([-_][[:alpha:]]{2})?|chinese" => "chinese_simplified" ); function Detect($Str,$From) { global $AvailableLanguages; global $Lang; $NotFound = true; reset($AvailableLanguages); while(list($key, $name) = each($AvailableLanguages)) { if (($From == 1 && eregi("^".$key."$",$Str)) || ($From == 2 && eregi("(\(|\[|;[[:space:]])".$key."(;|\]|\))",$Str))) { $Lang = $AvailableLanguages[$key]; break; }; }; }; if (!isset($HTTP_ACCEPT_LANGUAGE)) $HTTP_ACCEPT_LANGUAGE = getenv("HTTP_ACCEPT_LANGUAGE"); if (!isset($HTTP_USER_AGENT)) $HTTP_USER_AGENT = getenv("HTTP_USER_AGENT"); if ($HTTP_ACCEPT_LANGUAGE != "") { $Accepted = explode(",", $HTTP_ACCEPT_LANGUAGE); Detect($Accepted[0],1); } elseif ($HTTP_USER_AGENT != "") { Detect($HTTP_USER_AGENT,2); }; //if no language detected set default one if (!isset($Lang)) $Lang = "english"; }; ?>phpmychat/chat/install/languages/spanish.setup.php0100644000175600010010000002441210032755633022153 0ustar NicolasAucun && Leَn Del Rيo // extra header for charset $S_Charset = "iso-8859-1"; $S_FontSize = "10"; // Settings for setup.php file define("S_MAIN_1","Las tablas serلn creadas/subidas al servidor local."); define("S_MAIN_2","Paso 1 completado: las tablas han sido creadas/subidas."); define("S_MAIN_3","Paso 1 omitido por el usuario."); define("S_MAIN_4","Encuentra ajuste(s) perdido(s) o invلlido(s)."); define("S_MAIN_5","Al menos uno de los ajustes del tiempo de depuraciَn estل perdido."); define("S_MAIN_6","Al menos debe haber una sala."); define("S_MAIN_7","El nombre de la sala no puede contener diagonales invertidas o barras (\\)."); define("S_MAIN_8","El ajuste de zona horaria se ha perdido."); define("S_MAIN_9","El nْmero de mensajes para mostrar y/o el timeout por defecto entre cada actualizaciَn se ha perdido."); define("S_MAIN_11","Paso 2 completado: los ajustes finos han sido registrados."); define("S_MAIN_12","Usted debe ingresar su nombre de usuario."); define("S_MAIN_13","Su nombre de usuario no puede tener espacios, comas o barras (\\)."); define("S_MAIN_14","Usted debe ingresar su clave."); define("S_MAIN_15","El alias %s ya ha sido registrado y la clave es incorrecta."); define("S_MAIN_16","Paso 3 completado: Su perfil como administrador ha sido registrado."); define("S_MAIN_17","Paso 3 omitido por el usuario."); define("S_MAIN_18","- Ajuste"); // Settings for setup0.php file define("S_SETUP0_1","Este script permite una fلcil instalaciَn %s."); define("S_SETUP0_2","Usted puede hacerlo en forma manual, si lo desea. Si usted prefiere hacerlo, entonces debe:"); define("S_SETUP0_3","Crear las tablas para %s utilizando los archivos dump localizados en el directorio 'chat/install/database';"); define("S_SETUP0_4","Editar el archivo config.lib.php localizado en el directorio 'chat/config' para definir los ajustes a %s;"); define("S_SETUP0_5","Manualmente se requiere informaciَn adicional para el Administrador en la tabla de usuarios registrados (c_reg_users),
su alias en la columna username,
el MD5 hash de su clave en la columna password
y la palabra 'admin' (sin comillas) en la columna perms.
Si usted quiere, puede aٌadir informaciَn adicional en otras columnas pero esto no es requerido;"); define("S_SETUP0_5m","Ajustar tres variables en la parte de arriba de 'chat/admin/mail4admin.lib.php' script."); define("S_SETUP0_6","Para continuar con el setup automلtico haga click en el botَn de abajo."); define("S_SETUP0_7"," Ir "); define("S_SETUP0_8","Antes de actualizar una versiَn anterior de %s usted debe vaciar la tabla de mensajes (utilizando el script 'chat/admin.php' de la versiَn anterior)."); // Settings for setup1.php file define("S_SETUP1_1","Primer paso: Configuraciَn de tablas"); define("S_SETUP1_2","Ajuste de la base de datos"); define("S_SETUP1_3","Seleccione su tipo de servidor SQL:"); define("S_SETUP1_4","Nombre del servidor SQL:"); define("S_SETUP1_5","Nombre de la base de datos en el servidor:"); define("S_SETUP1_6","(ya debe existir)"); define("S_SETUP1_7","Nombre de usuario de la base de datos:"); define("S_SETUP1_8","Contraseٌa del usuario de la base de datos:"); define("S_SETUP1_9","Creaciَn/actualizaciَn de tablas"); define("S_SETUP1_10","Qué quiere usted que haga este script?"); define("S_SETUP1_11","Crear las tablas para %s"); define("S_SETUP1_12","Actualizar las tablas existentes creadas para las versiones 0.12.0 or 0.12.1"); define("S_SETUP1_13","Nada, las tablas han ya sido creadas (para versiones 0.13.4 y 0.14.?)"); define("S_SETUP1_14","Nombre de las tablas* donde..."); define("S_SETUP1_15","los mensajes serلn almacenados:"); define("S_SETUP1_16","los perfiles de los usuarios registrados serلn almacenados:"); define("S_SETUP1_17","los usuarios activos serلn almacenados:"); define("S_SETUP1_18","*Los nombres que usted asigna a las tablas deben corresponder a los existentes si usted elige actualizar.
Si usted quiere crear nuevas tablas los nombres no deben ser los mismos que los de las tablas existentes!
Todos los campos deben ser completados, si usted no quiere que el script lo haga serل necesario hacerlo cuando cree al Administrador mلs adelante."); define("S_SETUP1_19","OK"); define("S_SETUP1_20","Actualizar las tablas existentes creadas para versiones 0.13.0 to 0.13.3"); define("S_SETUP1_21","los usuarios expulsados serلn almacenados en:"); // Settings for setup2.php file define("S_SETUP2_1","Segundo paso: Opciones de ajustes finos"); define("S_SETUP2_2","Quitar los ajustes para mensajes y usuarios"); define("S_SETUP2_3","Nْmero de horas hasta que los mensajes son borrados:"); define("S_SETUP2_4","Nْmero de minutos hasta que los usuarios inactivos son borrados:"); define("S_SETUP2_5","Nْmero de dيas hasta que los usuarios inactivos son borrados   
de la tabla de registro (0 para nunca):"); define("S_SETUP2_6","Salas a crear por defecto"); define("S_SETUP2_7","Separados con coma (,) sin espacios."); define("S_SETUP2_8","Ajuste de idioma"); define("S_SETUP2_9","؟Permitir soporte de caracteres multi-idiomas?"); define("S_SETUP2_10","Idioma por defecto:"); define("S_SETUP2_11","Seguridad y restricciones"); define("S_SETUP2_12","؟Mostrar las ligas para administraciَn de recursos en la pantalla incial?"); define("S_SETUP2_13","؟Mostrar las ligas que permiten a los usuarios borrar su perfil?"); define("S_SETUP2_14","؟Requieren registro?"); define("S_SETUP2_15","Los usuarios pueden acceder..."); define("S_SETUP2_16","... solamente a la primera sala con los valores por defecto"); define("S_SETUP2_17","... a todas las salas definidas por defecto, pero no crear una sala"); define("S_SETUP2_18","... a todas las salas y con la posiblidad de crear nuevas"); define("S_SETUP2_19","Enriquecimiento de mensajes"); define("S_SETUP2_20","؟Utilizar grلficos sonrisas (ver 'chat/lib/smilies.lib.php')?"); define("S_SETUP2_21","؟Conservar el efecto de negrita, itلlica y subrayado en mensajes?"); define("S_SETUP2_22","؟Mostrar etiquetas HTML descartadas?"); define("S_SETUP2_23","Mostrar ajustes por defecto"); define("S_SETUP2_24","Desplazamiento de Zona Horaria (en horas) entre el tiempo de su servidor y su localidad:"); define("S_SETUP2_25","Orden por defecto de los mensajes:"); define("S_SETUP2_26","el mلs reciente arriba"); define("S_SETUP2_27","el mلs reciente abajo"); define("S_SETUP2_28","Nْmero de mensajes por defecto a mostrar:"); define("S_SETUP2_29","Intervalo de tiempo de actualizaciَn del marco de mensajes (en segundos):"); define("S_SETUP2_30","Mostrar sello de hora por defecto."); define("S_SETUP2_31","Mostrar avisos de usuario entrante/salida por defecto."); define("S_SETUP2_36","؟Verificar palabras obscenas (ver 'chat/lib/swearing.lib.php') ?"); define("S_SETUP2_41","Nْmero mلximo de mensajes que se le permite exportar a un usuario a un archivo HTML (0 para no -el comando estل desactivado-, '*' para todos los mensajes posibles, o un lيmite para la carga del servidor)"); define("S_SETUP2_42","؟Activar la posibilidad de expulsar?
0 para no, un nْmero positivo para definir el nْmero de dيa(s) (2000000 para nunca, 0.02 para media hora....)"); define("S_SETUP2_43","Registro de usuarios"); define("S_SETUP2_44","Generar una clave y enviarla a la direcciَn de e-mail del usuario?
Esta opciَn requiere que la funciَn PHP 'mail()' esté activada, pregunte al administrador del servidor si puede emplearla.
Sin embargo, para tenerla en operaciَn usted debe definir 4 ajustes en el script 'chat/lib/mail_validation.lib.php'."); define("S_SETUP2_45","Su configuraciَn de PHP parece no permitir el uso de la funciَn 'mail()'. De modo que no puede elegir generar una clave y enviarla al usuario por e-mail."); define("S_SETUP2_46","pْblicos:"); define("S_SETUP2_47","privados:"); define("S_SETUP2_48","Enviar un mensaje de bienvenida al usuario que ingresa al chat (ver 'chat/lib/welcome.lib.php') ?"); // Settings for setup3.php file define("S_SETUP3_1","El perfil del Administrador estل definido, y sَlamente
puede haber un administrador. Por favor modifique los campos de abajo para actualizar el perfil existente."); define("S_SETUP3_2","Tercer paso: Registro del administrador"); define("S_SETUP3_3","Los campos con * son obligatorios."); define("S_SETUP3_4","login (alias):"); define("S_SETUP3_5","clave:"); define("S_SETUP3_6","Nombre:"); define("S_SETUP3_7","Apellido:"); define("S_SETUP3_8","idiomas que habla:"); define("S_SETUP3_9","sitio web:"); define("S_SETUP3_10","direcciَn de e-mail:"); define("S_SETUP3_11","mostrar e-mail con el comando /whois"); define("S_SETUP3_12","Omitir >>"); define("S_SETUP3_13","Puede modificar su perfil posteriormente haciendo click en la liga editar perfil en la pلgina de %s."); define("S_SETUP3_14", "Género"); define("S_SETUP3_15", "masculino"); define("S_SETUP3_16", "femenino"); // Settings for setup4.php file define("S_SETUP4_1","Cuarto paso: El archivo config"); define("S_SETUP4_2","Aquي estل el archivo config, conforme a la informaciَn que usted ha ingresado.

Cَpielo todo, incluyendo las primeras y ْltimas lيneas, luego péguelo en su editor de texto favorito (Notepad, Vi...).
Después, usted *debe* poner la clave del usuario de su base de datos en la linea 7 y guardar el archivo como config.lib.php.

Asegْrese de que no haya ni lineas en blanco, ni espacios entre caracteres, ni antes de la apertura de la etiqueta php, ni después de su cierre, entonces podrل cargar el archivo config en el directorio config de su servidor (y reemplazar el existente) y asegurarlo (para mayor informaciَn, ver install.txt en el directorio docs).

No olvide mirar el mensaje de advertencia mلs abajo."); define("S_SETUP4_3","Seleccionar todo"); define("S_SETUP4_4","Una vez que usted ha completado los pasos de arriba, %s estل casi listo para correr.
"); define("S_SETUP4_4m"," Ajuste manualmente las tres variables en la parte superior del script 'chat/admin/mail4admin.lib.php'
... y que tenga algunas buenas discusiones en el chat."); define("S_SETUP4_5","Después de tener el %s instalado y corriendo usted puede, por seguridad, remover de su servidor el archivo setup.php y el directorio 'chat/install'."); ?>phpmychat/chat/install/preconfig.php0100644000175600010010000000453110032755625017356 0ustar NicolasAucun // Database settings define("C_DB_TYPE", ''); define("C_DB_HOST", ''); define("C_DB_NAME", ''); define("C_DB_USER", ''); define("C_DB_PASS", '*** Complete here ***'); define("C_MSG_TBL", ''); define("C_USR_TBL", ''); define("C_REG_TBL", ''); define("C_BAN_TBL", ''); // Cleaning settings for messages and usernames define("C_MSG_DEL", ''); define("C_USR_DEL", ''); define("C_REG_DEL", ''); // Proposed rooms $DefaultChatRooms = array(); $DefaultPrivateRooms = array(); // Language settings define("C_LANGUAGE", ''); define("C_MULTI_LANG", ''); // Registration of users define("C_REQUIRE_REGISTER", ''); define("C_EMAIL_PASWD", ''); // Security and restriction settings define("C_SHOW_ADMIN", ''); define("C_SHOW_DEL_PROF", ''); define("C_VERSION", ''); define("C_BANISH", ''); define("C_NO_SWEAR", ''); define("C_SAVE", ''); // Messages enhancements define("C_USE_SMILIES", ''); define("C_HTML_TAGS_KEEP", ''); define("C_HTML_TAGS_SHOW", ''); // Default display seetings define("C_TMZ_OFFSET", ''); define("C_MSG_ORDER", ''); define("C_MSG_NB", ''); define("C_MSG_REFRESH", ''); define("C_SHOW_TIMESTAMP", ''); define("C_NOTIFY", ''); define("C_WELCOME", ''); "); ?>phpmychat/chat/install/setup0.php0100644000175600010010000000356610032755626016632 0ustar NicolasAucun

">Espaٌol para Argentina    ">Czech    ">English    ">Français    ">Italiano    ">Espaٌol    ">Chinese simplified











" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Params">
phpmychat/chat/install/setup1.php0100644000175600010010000001065310032755626016626 0ustar NicolasAucun

" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Params">
> MySQL
> PostgreSQL
DISABLED> ODBC
 
 
    >
    >
    >
    >
 
  - 
  - 
  - 
  - 

phpmychat/chat/install/setup2.php0100644000175600010010000002402310032755626016623 0ustar NicolasAucun

" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Params">
 
 
 
 
 
 
 
>
 
>
>
 
 
>
>


  >
  >
  >
 
 

>
 
 
 
>
>
>
 
 
 
  >
  >
 
 
>
>
>
 

phpmychat/chat/install/setup3.php0100644000175600010010000001502010032755626016621 0ustar NicolasAucunquery("SELECT username,password,firstname,lastname,country,website,email,showemail,gender FROM ${C_REG_TBL} WHERE perms='admin' LIMIT 1"); if ($DbLink->num_rows() != 0) { list($ADM_LOG,$ADM_PASS,$ADM_FNAME, $ADM_LNAME, $ADM_LANG, $ADM_WEB, $ADM_EMAIL, $SHOWEMAIL, $ADM_GENDER) = $DbLink->next_record(); $Msg = S_SETUP3_1; $Exist_Adm = true; } else { $ADM_LOG = ""; $ADM_PASS = ""; $ADM_FNAME = ""; $ADM_LNAME = ""; $ADM_LANG = ""; $ADM_WEB = ""; $ADM_EMAIL = ""; $SHOWEMAIL = ""; $ADM_GENDER = ""; }; $DbLink->clean_results(); $DbLink->close(); ?>

${Msg}

"); ?> " METHOD="POST" AUTOCOMPLETE="OFF" NAME="Params">
 
*
*
:
 
>  

 

phpmychat/chat/install/setup4.php0100644000175600010010000000143510032755626016627 0ustar NicolasAucun

 

phpmychat/chat/lib/0040755000175600010010000000000010201467160013761 5ustar NicolasAucunphpmychat/chat/lib/banish.lib.php0100644000175600010010000000523610032755633016515 0ustar NicolasAucun), // Ray Lopez () and Fabiano R. Prestes () $IsBanished = false; // Clean the banished users table $DbLink->query("DELETE FROM ".C_BAN_TBL." WHERE ban_until < ".time()); // Get the IP of the user if (!isset($ChatPath)) { $ChatPath = ""; } // Fix a security holes else if (!is_dir('./'.substr($ChatPath, 0, -1))) { exit(); } if (!isset($IP) || $IP == "") include("./${ChatPath}lib/get_IP.lib.php"); // Seek for a banished nick $DbLink->query("SELECT ip,rooms FROM ".C_BAN_TBL." WHERE username='$U' LIMIT 1"); $Nb = $DbLink->num_rows(); // Nick of the user is banished from some rooms if ($Nb != "0") { list($Old_IP,$BanishedFromRooms) = $DbLink->next_record(); $DbLink->clean_results(); $BanishedFromRooms = addslashes($BanishedFromRooms); // Is the user banished from the room he wants to enter in if ($BanishedFromRooms == "*") { $IsBanished = true; } elseif (isset($R2) && $R2 != "") { if (room_in($R2, $BanishedFromRooms)) $IsBanished = true; } elseif (isset($R1) && $R1 != "") { if (room_in($R1, $BanishedFromRooms)) $IsBanished = true; } elseif (isset($R0) && $R0 != "") { if (room_in($R0, $BanishedFromRooms)) $IsBanished = true; }; // Update the IP of the user in the banished table when necessary if ($IsBanished && $IP != $Old_IP && (substr($IP, 0, 1) != "p" || substr($Old_IP, 0, 1) == "p")) $DbLink->query("UPDATE ".C_BAN_TBL." SET ip='$IP' WHERE username='$U'"); } // Nick of the user isn't banished from any room, seek for banished IP else { $DbLink->clean_results(); $DbLink->query("SELECT rooms,ban_until FROM ".C_BAN_TBL." WHERE ip='$IP' LIMIT 1"); $Nb = $DbLink->num_rows(); // IP is banished from some rooms if ($Nb != "0") { list($BanishedFromRooms,$Until) = $DbLink->next_record(); $DbLink->clean_results(); $BanishedFromRooms = addslashes($BanishedFromRooms); // Is the IP banished from the room user wants to enter in ? if ($BanishedFromRooms == "*") { $IsBanished = true; } elseif (isset($R2) && $R2 != "") { if (room_in($R2, $BanishedFromRooms)) $IsBanished = true; } elseif (isset($R1) && $R1 != "") { if (room_in($R1, $BanishedFromRooms)) $IsBanished = true; } elseif (isset($R0) && $R0 != "") { if (room_in($R0, $BanishedFromRooms)) $IsBanished = true; }; // Add the user to the banished table when necessary if ($IsBanished) $DbLink->query("INSERT INTO ".C_BAN_TBL." VALUES ('$U', '$Latin1', '$IP', '$BanishedFromRooms', '$Until')"); } else { $DbLink->clean_results(); }; }; ?>phpmychat/chat/lib/clean.lib.php0100644000175600010010000000047110032755633016327 0ustar NicolasAucunquery("DELETE FROM ".C_MSG_TBL." WHERE m_time < ".(time() - C_MSG_DEL * 60 * 60)); $Chat->query("DELETE FROM ".C_USR_TBL." WHERE u_time < ".(time() - C_USR_DEL * 60)." OR (status = 'k' AND u_time < ".(time() - 20).")"); $CleanUsrTbl = ($Chat->affected_rows() > 0); $Chat->close(); ?>phpmychat/chat/lib/commands/0040755000175600010010000000000010201467160015562 5ustar NicolasAucunphpmychat/chat/lib/commands/announce.cmd.php0100644000175600010010000000026610032755636020656 0ustar NicolasAucunphpmychat/chat/lib/commands/banish.cmd.php0100644000175600010010000000757610032755637020330 0ustar NicolasAucunquery("SELECT password,perms,rooms FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); if ($DbLink->num_rows() == 0) { $Error = L_NO_MODERATOR; $DbLink->clean_results(); } else { list($password,$perms,$rooms) = $DbLink->next_record(); $DbLink->clean_results(); if (($password != $PWD_Hash) || (($perms != "moderator")&&($perms != "admin")) || (($perms == "moderator")&&(!room_in(stripslashes($R), $rooms)))) { $Error = L_NO_MODERATOR; } else { // Define an additional condition for moderators so they can only banish an user from their current room $Query4Moder = ($perms != "admin" ? "room='$R' AND " : ""); // Ensure the user to be banished is logged in (into the current room for moderators) $DbLink->query("SELECT latin1,room,status,ip FROM ".C_USR_TBL." WHERE ".$Query4Moder."username='$UU' LIMIT 1"); if ($DbLink->num_rows() == 0) { $DbLink->clean_results(); $Error = sprintf(L_NONEXIST_USER, stripslashes($UU)); } else { list($UULatin1,$UURoom,$status,$IP) = $DbLink->next_record(); $DbLink->clean_results(); // Ensure the user to be banished is not a more powerfull user (admin>moderator) if ($status == "a" || ($status == "m" && $perms != "admin")) { $Error = sprintf(L_NO_BANISHED, stripslashes($UU)); } else { if ($Cmd[1] == "* " && $perms != "admin") $Cmd[1] = ""; // Define the duration of the banishment $Until = ($Cmd[1] == "* ") ? "2147483647" : time() + round(C_BANISH * 60 * 60 * 24); if ($Until > 2147483647) $Until = "2147483647"; $DbLink->query("SELECT ip,rooms FROM ".C_BAN_TBL." WHERE username='$UU' LIMIT 1"); // User is already banished from some rooms -> Update the banished table if ($DbLink->num_rows() != 0) { list($Old_IP,$Old_ban_rooms) = $DbLink->next_record(); $DbLink->clean_results(); // Define rooms that the user will be banished from (if they are more // than 3, user will be banished from the whole chat) if ($Cmd[1] == "* ") $New_ban_rooms = "*"; else { $UURoom = addslashes($UURoom); $Old_ban_rooms = addslashes($Old_ban_rooms); $NbAlrBanished = room_not_in($UURoom, $Old_ban_rooms); $New_ban_rooms = ($NbAlrBanished > 2 ? "*" : $Old_ban_rooms.",".$UURoom); }; // IP needs to be updated ? if (substr($IP, 0, 1) == "p" && substr($Old_IP, 0, 1) != "p") $IP = $Old_IP; // Update the table $DbLink->query("UPDATE ".C_BAN_TBL." SET ip='$IP',rooms='$New_ban_rooms',ban_until='$Until' WHERE username='$UU'"); } // User isn't already banished from any room -> Insert into the banished table else { $DbLink->clean_results(); $New_ban_rooms = ($Cmd[1] == "* ") ? "*" : addslashes($UURoom); $DbLink->query("INSERT INTO ".C_BAN_TBL." VALUES ('$UU', '$UULatin1', '$IP', '$New_ban_rooms', '$Until')"); }; // Modify the status of the banished user in users table $DbLink->query("UPDATE ".C_USR_TBL." SET u_time='".time()."', status='b' WHERE username='$UU'"); $IsCommand = true; $RefreshMessages = true; }; }; }; }; }; ?>phpmychat/chat/lib/commands/clear.cmd.php0100644000175600010010000000014310032755637020131 0ustar NicolasAucunphpmychat/chat/lib/commands/help.cmd.php0100644000175600010010000000102410032755637017772 0ustar NicolasAucun", "", "" ); $IsCommand = true; $IsPopup = true; ?>phpmychat/chat/lib/commands/history.cmd.php0100644000175600010010000000006410032755637020546 0ustar NicolasAucunphpmychat/chat/lib/commands/ignore.cmd.php0100644000175600010010000000614010032755637020331 0ustar NicolasAucun", "", "" ); } // Add user(s) to ignored list else { if (!isset($Ign)) $Ign=""; $Ignore = explode (",", stripslashes($Cmd[3])); for ($i = 0; $i < count($Ignore); $i++) { $Ignore[$i] = trim($Ignore[$i]); if ($Ignore[$i] == "") continue; if ($Ignore[$i] != "" && $Ignore[$i] != stripslashes($U) && !is_user_ignored($Ignore[$i], $Ign)) { $tmp = urlencode($Ignore[$i]); $IsCommand = true; $Ign .= $Ign != "" ? ",".$tmp : $tmp; $RefreshMessages = true; } } } } else { // Unset ignored list if ($Cmd[3] == "") { $IsCommand = true; if (isset($Ign) && $Ign != "") { $RefreshMessages = true; unset($Ign); } } // Remove user(s) from ignored list else { $IsCommand = true; if (isset($Ign) && $Ign != "") { $Ignore = explode (",", stripslashes($Cmd[3])); for ($i = 0; $i < count($Ignore); $i++) { $Ignore[$i] = trim($Ignore[$i]); if ($Ignore[$i] == "") continue; if ($Ignore[$i] != "" && is_user_ignored($Ignore[$i], $Ign)) { $users = explode(",", $Ign); $Ign = ""; for (reset($users); $user_name=current($users); next($users)) { if ($Ignore[$i] != urldecode($user_name)) $Ign .= ($Ign != "")? ",".$user_name : $user_name; } if ($Ign == "") unset($Ign); $RefreshMessages = true; } } } } } if ($IsCommand) $First = 1; // Will completly reload the loader script if (!$IsPopup && $IsCommand) { $Tmp = (isset($Ign) && $Ign != "") ? "&Ign=".urlencode(stripslashes($Ign)) : ""; // Define a table that contains JavaScript instructions to be ran $jsTbl = array( "" ); }; ?>phpmychat/chat/lib/commands/invite.cmd.php0100644000175600010010000000204310032755637020342 0ustar NicolasAucunquery("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS inviteTo', '$Latin1', '$TimeSend', '$Invited[$i]', 'sprintf(L_INVITE, \"".special_char($U,$Latin1)."\", \"JOIN\", \"$T #".addslashes(special_char($R,0))."\", \"".special_char($R,0)."\")$ReqRegist')"); }; unset($Invited); // Insert a message for the sender $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS inviteFrom', '$Latin1', '$TimeSend', '$U', 'sprintf(L_INVITE_DONE, \"".special_char($Cmd[2],0)."\")')"); }; ?>phpmychat/chat/lib/commands/join.cmd.php0100644000175600010010000000744110032755637020012 0ustar NicolasAucunquery("SELECT room FROM ".C_MSG_TBL." WHERE type='".$new_room_type."' AND room='".$new_room."' LIMIT 1"); if ($DbLink->num_rows() != 0) { $what_room = "R1"; list($new_room) = $DbLink->next_record(); }; $DbLink->clean_results(); }; if ($new_room_type == "0") $what_room = ""; // Room must be created if ($what_room == "") { // Ensure the user is a registered one if (!isset($Error)) { $DbLink->query("SELECT count(*) FROM ".C_REG_TBL." WHERE username='$U'"); list($count) = $DbLink->next_record(); if ($count != 0) $what_room = "R2"; $DbLink->clean_results(); }; // Ensure there is no existing room with the same name but a different type // among rooms created by users if ($what_room == "R2") { $T1 = 1 - $new_room_type; $DbLink->query("SELECT count(*) FROM ".C_MSG_TBL." WHERE room = '".$new_room."' AND type = '$T1' LIMIT 1"); list($count) = $DbLink->next_record(); $DbLink->clean_results(); if($count != 0) { $Error = ($new_room_type == 0 ? L_ERR_ROM_3:L_ERR_ROM_4); $what_room = ""; }; }; }; // Ensure the user is not banished from the room he wants to enter in if (C_BANISH != "0" && (!isset($status) || $status != "a")) { $$what_room = $new_room; include("./lib/banish.lib.php"); if ($IsBanished) { $what_room = ""; $Error = L_ERR_USR_20; }; }; // If the room can't be created if ($what_room == "") { if (!isset($Error)) $Error = L_ERR_USR_13; $IsCommand = false; } // Log into the new room else { ?> phpmychat/chat/lib/commands/kick.cmd.php0100644000175600010010000000352610032755637017774 0ustar NicolasAucunquery("SELECT password,perms,rooms FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); if ($DbLink->num_rows() == 0) { $Error = L_NO_MODERATOR; $DbLink->clean_results(); } else { list($password,$perms,$rooms) = $DbLink->next_record(); $DbLink->clean_results(); if (($password != $PWD_Hash) || (($perms != "moderator")&&($perms != "admin")) || (($perms == "moderator")&&(!room_in(stripslashes($R), $rooms)))) { $Error = L_NO_MODERATOR; } else { // Define an additional condition for moderators so they can only kick an user from their current room $Query4Moder = ($perms != "admin" ? "room='$R' AND " : ""); // Ensure the user to be kicked is logged in (into the current room for moderators) $DbLink->query("SELECT status FROM ".C_USR_TBL." WHERE ".$Query4Moder."username='$UU' LIMIT 1"); if ($DbLink->num_rows() == 0) { $DbLink->clean_results(); $Error = sprintf(L_NONEXIST_USER, stripslashes($UU)); } else { list($status) = $DbLink->next_record(); $DbLink->clean_results(); // Ensure the user to be kicked is not a more powerfull user (admin>moderator) if ($status == "a" || ($status == "m" && $perms != "admin")) { $Error = sprintf(L_NO_KICKED, stripslashes($UU)); } else { $IsCommand = true; $RefreshMessages = true; $DbLink->query("UPDATE ".C_USR_TBL." SET u_time='".time()."', status='k' WHERE ".$Query4Moder."username='$UU'"); } } } } } ?>phpmychat/chat/lib/commands/me.cmd.php0100644000175600010010000000044610032755637017452 0ustar NicolasAucun* ".$U." ".stripslashes($Cmd[1]); AddMessage($M, $T, $R, $U, $C, ''); $IsCommand = true; $RefreshMessages = true; ?>phpmychat/chat/lib/commands/notify.cmd.php0100644000175600010010000000024710032755637020360 0ustar NicolasAucunphpmychat/chat/lib/commands/order.cmd.php0100644000175600010010000000026310032755637020161 0ustar NicolasAucunphpmychat/chat/lib/commands/priv_msg.cmd.php0100644000175600010010000000071110032755637020672 0ustar NicolasAucunphpmychat/chat/lib/commands/profile.cmd.php0100644000175600010010000000061310032755637020505 0ustar NicolasAucun", "", "" ); ?>phpmychat/chat/lib/commands/promote.cmd.php0100644000175600010010000000403410032755637020533 0ustar NicolasAucunquery("SELECT password,perms,rooms FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); // Ensure the current user is moderator for the current room or admin. if ($DbLink->num_rows() == 0) { $Error = L_NO_MODERATOR; $DbLink->clean_results(); } else { list($password,$perms,$rooms) = $DbLink->next_record(); $DbLink->clean_results(); if (($password != $PWD_Hash) || (($perms != "moderator")&&($perms != "admin")) || (($perms == "moderator")&&(!room_in(stripslashes($R), $rooms)))) { $Error = L_NO_MODERATOR; } else { // Ensure the user to be promoted is a registered one $DbLink->query("SELECT latin1,perms,rooms FROM ".C_REG_TBL." WHERE username='$UU' LIMIT 1"); if ($DbLink->num_rows() == 0) { $Error = sprintf(L_NONREG_USER, stripslashes($UU)); $DbLink->clean_results(); } else { $IsCommand = true; $RefreshMessages = true; list($Latin1_UU,$perms,$rooms) = $DbLink->next_record(); $DbLink->clean_results(); // Promote the user if is not already moderator for the current room or admin if ($perms == "admin") { $Error = sprintf(L_ADMIN, stripslashes($UU)); } elseif (!room_in($R,addslashes($rooms))) { $rooms .= stripslashes($rooms == "" ? $R:",${R}"); $DbLink->query("UPDATE ".C_REG_TBL." SET perms='moderator', rooms='".addslashes($rooms)."' WHERE username='$UU'"); $DbLink->query("UPDATE ".C_USR_TBL." SET status='m' WHERE username='$UU'"); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS promote', '$Latin1', ".time().", '', 'sprintf(L_MODERATOR, \"".special_char($UU,$Latin1_UU)."\")')"); } else { $Error = sprintf(L_IS_MODERATOR, stripslashes($UU)); }; }; }; }; }; ?>phpmychat/chat/lib/commands/quit.cmd.php0100644000175600010010000000136110032755637020030 0ustar NicolasAucun phpmychat/chat/lib/commands/refresh.cmd.php0100644000175600010010000000022010032755637020475 0ustar NicolasAucunphpmychat/chat/lib/commands/save.cmd.php0100644000175600010010000000257310032755637020012 0ustar NicolasAucunquery("SELECT Count(*) FROM ".C_MSG_TBL." WHERE ".$CondForQuery." LIMIT 1"); list($Count) = $DbLink->next_record(); $DbLink->clean_results(); if ($Count != "0") { $IsCommand = true; $Save_URL_Query = isset($Ign) ? "&Ign=".urlencode(stripslashes($Ign)) : ""; if (C_SAVE != "*" && ($Cmd[2] > C_SAVE || $Cmd[2] == "")) $Cmd[2] = C_SAVE; if ($Cmd[2] != "") $Save_URL_Query .= "&Limit=$Cmd[2]"; // Define a table that contains JavaScript instructions to be ran $jsTbl = array( "" ); } else { $Error = L_NO_SAVE; }; ?>phpmychat/chat/lib/commands/show.cmd.php0100644000175600010010000000016310032755637020025 0ustar NicolasAucunphpmychat/chat/lib/commands/timestamp.cmd.php0100644000175600010010000000133510032755637021052 0ustar NicolasAucun", ""; $jsTbl[] = ""; ?>phpmychat/chat/lib/commands/whois.cmd.php0100644000175600010010000000364410032755637020205 0ustar NicolasAucunquery("SELECT count(*) FROM ".C_REG_TBL." WHERE username='".$Cmd[1]."' LIMIT 1"); list($count) = $DbLink->next_record(); $DbLink->clean_results(); if ($count == 0) { $Error = sprintf(L_NONREG_USER, stripslashes($Cmd[1])); if ($power != "weak") { $DbLink->query("SELECT ip FROM ".C_USR_TBL." WHERE username='".$Cmd[1]."' LIMIT 1"); $Nb = $DbLink->num_rows(); if ($Nb != "0") { list($IP) = $DbLink->next_record(); if (substr($IP, 0, 1) == "p") $IP = substr($IP, 1)." (proxy)"; $Error .= "\\n".sprintf(L_NONREG_USER_IP, $IP); }; $DbLink->clean_results(); }; } else { $IsPopup = true; $win_name = "whois_popup_".md5(uniqid("")); // Define a table that contains JavaScript instructions to be ran $jsTbl = array( "" ); }; } ?>phpmychat/chat/lib/commands.lib.php0100644000175600010010000000433710032755633017053 0ustar NicolasAucun 0 && eregi("^\/join[[:space:]]((0|1)[[:space:]])?#(.{1,30})$", $M, $Cmd)) { include("./lib/commands/join.cmd.php"); } elseif (eregi("^\/(quit|exit|bye)([[:space:]](.+))?$", $M, $Cmd)) { include("./lib/commands/quit.cmd.php"); } elseif (eregi("^\/ignore([[:space:]]\\-)?([[:space:]](.+))?$", $M, $Cmd)) { include("./lib/commands/ignore.cmd.php"); } elseif (eregi("^\/!$", $M, $Cmd) && (isset ($M0) && $M0 != "")) { include("./lib/commands/history.cmd.php"); } elseif (eregi("^\/kick[[:space:]](.{1,30})$", $M, $Cmd)) { include("./lib/commands/kick.cmd.php"); } elseif (eregi("^\/(msg|to)[[:space:]]([^[:space:]]{1,30})[[:space:]](.+)$", $M, $Cmd)) { include("./lib/commands/priv_msg.cmd.php"); } elseif (eregi("^\/whois[[:space:]](.{1,30})$", $M, $Cmd)) { include("./lib/commands/whois.cmd.php"); } elseif (eregi("^\/profile$", $M)) { include("./lib/commands/profile.cmd.php"); } elseif (eregi("^\/notify$", $M)) { include("./lib/commands/notify.cmd.php"); } elseif (eregi("^\/promote[[:space:]](.{1,30})$", $M, $Cmd)) { include("./lib/commands/promote.cmd.php"); } elseif (eregi("^\/(help|\?)$", $M, $Cmd)) { include("./lib/commands/help.cmd.php"); } elseif (eregi("^\/clear$", $M, $Cmd)) { include("./lib/commands/clear.cmd.php"); } elseif (C_SAVE != "0" && eregi("^\/save([[:space:]]([[:digit:]]*))?$", $M, $Cmd) && ($Cmd[2] == "" OR $Cmd[2] > 0)) { include("./lib/commands/save.cmd.php"); } elseif (eregi("^\/announce[[:space:]](.*)?$", $M, $Cmd)) { include("./lib/commands/announce.cmd.php"); } elseif (eregi("^\/invite([[:space:]](.+))+$", $M, $Cmd)) { include("./lib/commands/invite.cmd.php"); } elseif (C_BANISH != "0" && eregi("^\/ban[[:space:]](\*[[:space:]])?(.{1,30})$", $M, $Cmd)) { include("./lib/commands/banish.cmd.php"); } elseif (eregi("^\/me[[:space:]](.*)?$", $M, $Cmd)) { include("./lib/commands/me.cmd.php"); }; ?>phpmychat/chat/lib/connected_users.lib.php0100644000175600010010000000175710032755633020440 0ustar NicolasAucunquery($query); $NbUsers = $DbLink->num_rows(); if ($NbUsers > 0) { if ($Full) { echo($String1."
"); while(list($User,$Latin1) = $DbLink->next_record()) { if ($Latin1) $User = htmlentities($User); $List .= ($List == "" ? $User : ", ".$User); } echo($List); } else { echo($NbUsers." ".$String1); } } else { echo($String2); } $DbLink->clean_results(); $DbLink->Close(); } ?>phpmychat/chat/lib/connectStateH.js0100644000175600010010000000447210032755633017074 0ustar NicolasAucun/* *************************************************************** ** Stuff for displaying connection state in "H" version ** **************************************************************** */ // Images & misc vars imgConnectOff = new Image(13,13); imgConnectOff.src = path2Chat + 'images/connectOff.gif'; imgConnectOn = new Image(13,13); imgConnectOn.src = path2Chat + 'images/connectOn.gif'; imgConnectErr = new Image(13,13); imgConnectErr.src = path2Chat + 'images/connectError.gif'; imgConnect = new Image(13,13); var leaveChat = false; var connect = 0; var imgCon_disp = null; // Tries to connect and to reconnect once if the first connection failed. // Also modifies the 'connection status' icon at the exit frame. function Connecting(numTry) { if (imgCon_disp) clearTimeout(imgCon_disp); connect = numTry; if (numTry == 1 || numTry == 2) { imgConnect.src = imgConnectOn.src; } else if (numTry == 3) { imgConnect.src = imgConnectErr.src; }; if (document.all) { window.frames['exit'].window.document.all['ConState'].src = imgConnect.src; } else if (document.images) { window.frames['exit'].window.document.images['ConState'].src = imgConnect.src; } else return; if (numTry < 3) { numTry = numTry + 1; imgCon_disp = setTimeout('Connecting(' + numTry + ')', 30000); } else { clearTimeout(imgCon_disp); connect = 0; }; }; // Kill the timeout defined in the 'Connecting' function to reconnect once if the first // connection failed, and set the 'connection status' icon to 'done' in the exit frame. function ConnectDone() { connect = 0; if (imgCon_disp) clearTimeout(imgCon_disp); if (document.all) { if (window.frames['exit'].window.document.all['ConState']) window.frames['exit'].window.document.all['ConState'].src = imgConnectOff.src; } else if (document.images) { if (window.frames['exit'].window.document.images['ConState']) window.frames['exit'].window.document.images['ConState'].src = imgConnectOff.src; } else return; }; // Used when the user click on the 'connection status' icon in the exit frame. function reConnect() { if (connect != 1 && connect != 2) { Connecting(1); force_refresh(); with (window.parent.frames['input'].window.document.forms['MsgForm']) { elements['sent'].value = '0'; if (document.all) elements['sendForm'].disabled = false; } }; };phpmychat/chat/lib/database/0040755000175600010010000000000010201467160015525 5ustar NicolasAucunphpmychat/chat/lib/database/mysql.lib.php0100644000175600010010000000434710032755637020170 0ustar NicolasAucunDatabase error: $msg
\n"); echo("MySQL error: $this->Errno ($this->Error)
\n"); die("Session halted."); } function connect() { if($this->Link_ID == 0) { $this->Link_ID = mysql_connect($this->Host, $this->User, $this->Password); if (!$this->Link_ID) { $this->halt("Link_ID == false, connect failed"); } $SelectResult = mysql_select_db($this->Database, $this->Link_ID); if(!$SelectResult) { $this->Errno = mysql_errno($this->Link_ID); $this->Error = mysql_error($this->Link_ID); $this->halt("cannot select database ".$this->Database.""); } } } function query($Query_String) { $this->connect(); $this->Query_ID = mysql_query($Query_String,$this->Link_ID); $this->Row = 0; $this->Errno = mysql_errno(); $this->Error = mysql_error(); if (!$this->Query_ID) { $this->halt("Invalid SQL: ".$Query_String); } return $this->Query_ID; } function next_record() { $this->Record = mysql_fetch_array($this->Query_ID); $this->Row += 1; $this->Errno = mysql_errno(); $this->Error = mysql_error(); $stat = is_array($this->Record); if (!$stat) { mysql_free_result($this->Query_ID); $this->Query_ID = 0; } return $this->Record; } function num_rows() { return mysql_num_rows($this->Query_ID); } function affected_rows() { return mysql_affected_rows($this->Link_ID); } function optimize($tbl_name) { $this->connect(); $this->Query_ID = @mysql_query("OPTIMIZE TABLE $tbl_name",$this->Link_ID); } function clean_results() { if($this->Query_ID != 0) mysql_freeresult($this->Query_ID); } function close() { if($this->Link_ID != 0) mysql_close($this->Link_ID); } } ?>phpmychat/chat/lib/database/odbc.lib.php0100644000175600010010000001103710032755640017716 0ustar NicolasAucun class DB { var $Host = C_DB_HOST; // Hostname of our MySQL server var $Database = C_DB_NAME; // Logical database name on that server var $User = C_DB_USER; // Database user var $Password = C_DB_PASS; // Database user's password var $UseODBCCursor = 0; var $Link_ID = 0; // Result of mysql_connect() var $Query_ID = 0; // Result of most recent mysql_query() var $Record = array(); // Current mysql_fetch_array()-result var $Row = 0; // Current row number var $Errno = 0; // Error state of query var $Error = ""; var $Auto_Free = 1; ## set this to 1 to automatically free results, 0 else function halt($msg) { printf("Database error: %s
\n", $msg); printf("ODBC Error: %s (%s)
\n", $this->Errno, $this->Error); die("Session halted."); } function connect() { if (0 == $this->Link_ID) { $this->Link_ID = odbc_connect($this->Database, $this->User, $this->Password, $this->UseODBCCursor); if (!$this->Link_ID) { $this->halt("Link-ID == false, connect failed"); } } } function query($Query_String) { // remove the 'LIMIT' clause from the query $pos = strpos($Query_String, " LIMIT "); if ($pos) $Query_String = substr($Query_String, 0, $pos); unset($pos); $this->connect(); # printf("
Debug: query = %s
\n", $Query_String); # rei@netone.com.br suggested that we use this instead of the odbc_exec(). # He is on NT, connecting to a Unix MySQL server with ODBC. -- KK # $this->Query_ID = odbc_prepare($this->Link_ID,$Query_String); # $this->Query_Ok = odbc_execute($this->Query_ID); $this->Query_ID = odbc_exec($this->Link_ID,$Query_String); $this->Row = 0; odbc_binmode($this->Query_ID, 1); odbc_longreadlen($this->Query_ID, 4096); if (!$this->Query_ID) { $this->Errno = 1; $this->Error = "General Error (The ODBC interface cannot return detailed error messages)."; $this->halt("Invalid SQL: ".$Query_String); } return $this->Query_ID; } function next_record() { $this->Record = array(); $this->$stat = odbc_fetch_into($this->Query_ID, ++$this->Row, &$this->Record); if (!$this->$stat) { if ($this->Auto_Free) { odbc_free_result($this->Query_ID); $this->Query_ID = 0; }; } else { // add to Record[] $count = odbc_num_fields($this->Query_ID); for ($i=1; $i<=$count; $i++) $this->Record[strtolower(odbc_field_name ($this->Query_ID, $i)) ] = $this->Record[ $i - 1 ]; } return $this->Record; } function seek($pos) { $this->Row = $pos; } function metadata($table) { $count = 0; $id = 0; $res = array(); $this->connect(); $id = odbc_exec($this->Link_ID, "select * from $table"); if (!$id) { $this->Errno = 1; $this->Error = "General Error (The ODBC interface cannot return detailed error messages)."; $this->halt("Metadata query failed."); } $count = odbc_num_fields($id); for ($i=1; $i<=$count; $i++) { $res[$i]["table"] = $table; $name = odbc_field_name ($id, $i); $res[$i]["name"] = $name; $res[$i]["type"] = odbc_field_type ($id, $name); $res[$i]["len"] = 0; // can we determine the width of this column? $res[$i]["flags"] = ""; // any optional flags to report? } odbc_free_result($id); return $res; } function num_rows() { # Many ODBC drivers don't support odbc_num_rows() on SELECT statements. $num_rows = odbc_num_rows($this->Query_ID); //printf ($num_rows."
"); # This is a workaround. It is intended to be ugly. if ($num_rows < 0) { $i=10; while (odbc_fetch_row($this->Query_ID, $i)) $i*=10; $j=0; while ($i!=$j) { $k= $j+intval(($i-$j)/2); if (odbc_fetch_row($this->Query_ID, $k)) $j=$k; else $i=$k; if (($i-$j)==1) { if (odbc_fetch_row($this->Query_ID, $i)) $j=$i; else $i=$j; }; //printf("$i $j $k
"); }; $num_rows=$i; } return $num_rows; } function num_fields() { return count($this->Record)/2; } function field_value($Field_Name) { return $this->Record[strtolower($Field_Name)]; } function f($Field_Name) { return $this->Record[strtolower($Field_Name)]; } function affected_rows() { return odbc_num_rows($this->Query_ID); } function optimize($tbl_name) { // TODO... return false; } function clean_results() { if($this->Query_ID != 0) odbc_freeresult($this->Query_ID); } function close() { if($this->Link_ID != 0) odbc_close($this->Link_ID); } } ?>phpmychat/chat/lib/database/pgsql.lib.php0100644000175600010010000000447110032755640020141 0ustar NicolasAucun class DB { var $Host = C_DB_HOST; // Hostname of our PostgreSQL server var $Database = C_DB_NAME; // Logical database name on that server var $User = C_DB_USER; // Database user var $Password = C_DB_PASS; // Database user's password var $Link_ID = 0; // Result of pg_Connect() var $Query_ID = 0; // Result of most recent pg_Exec() var $Record = array(); // Current pg_fetch_array()-result var $Row; // Current row number var $Errno = 0; // Error state of query (not supported) var $Error = ""; function halt($msg) { echo("Database error: $msg
\n"); echo("PostgreSQL error: $this->Errno ($this->Error)
\n"); die("Session halted."); } function connect() { if($this->Link_ID == 0) { $options = ''; if ($this->Host) { $tmp = split(':', $this->Host); $options .= 'host=' . $tmp[0]; if ($tmp[1]) { $options .= ' port=' . $tmp[1]; } } $options .= ' dbname=' . $this->Database; if ($this->User) { $options .= ' user=' . $this->User; } if ($this->Password) { $options .= ' password=' . $this->Password; } $this->Link_ID = @pg_Connect($options); if (!$this->Link_ID) { $this->halt("Link_ID == false, connect failed"); } } } function query($Query_String) { $this->connect(); $this->Query_ID = @pg_exec($this->Link_ID,$Query_String); $this->Row = 0; $this->Error = pg_errormessage(); if (!$this->Query_ID) { $this->halt("Invalid SQL: ".$Query_String); } return $this->Query_ID; } function next_record() { $this->Record = @pg_fetch_array($this->Query_ID, $this->Row); $this->Row += 1; $this->Error = pg_errormessage(); $stat = is_array($this->Record); if (!$stat) { pg_freeresult($this->Query_ID); $this->Query_ID = 0; } return $this->Record; } function num_rows() { return pg_numrows($this->Query_ID); } function affected_rows() { return pg_cmdtuples($this->Query_ID); } function optimize($tbl_name) { $this->connect(); $this->Query_ID = @pg_exec($this->Link_ID, "VACUUM $tbl_name"); } function clean_results() { if($this->Query_ID != 0) pg_FreeResult($this->Query_ID); } function close() { if($this->Link_ID != 0) pg_close($this->Link_ID); } } ?>phpmychat/chat/lib/frameset_def.lib.php0100644000175600010010000000771410032755633017700 0ustar NicolasAucun ';"> " NAME="messages" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH="3" MARGINHEIGHT="3"> " NAME="input" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING="NO" NORESIZE> " NAME="exit" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH=3 MARGINHEIGHT=3 SCROLLING="NO"> " NAME="users" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH=3 MARGINHEIGHT=3> " NAME="input_sent" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINHEIGHT="0" MARGINWIDTH="0" SCROLLING="NO"> " NAME="loader" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINHEIGHT="0" MARGINWIDTH="0" SCROLLING="NO"> ';"> " NAME="messages" MARGINWIDTH=3 MARGINHEIGHT=3> " NAME="input" MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING="NO" NORESIZE> " NAME="exit" MARGINWIDTH=3 MARGINHEIGHT=3 SCROLLING="NO"> " NAME="users" MARGINWIDTH=3 MARGINHEIGHT=3> phpmychat/chat/lib/get_IP.lib.php0100644000175600010010000000371610032755633016421 0ustar NicolasAucun0)) { // True IP behind a proxy $IP = $IP_array[0]; } else { // Proxy IP $IP = "p".$SimpleIP; }; break; case '2': // Proxy IP $IP = "p".$SimpleIP; }; ?>phpmychat/chat/lib/index.lib.php0100644000175600010010000011674410032755635016371 0ustar NicolasAucun part of the starting page; - the 'layout' function that creates the start page. The mains PHP variables used inside this script are: - $L -> the current language; - $Charset -> the name of the charset associated to the current language; - $Ver -> the JavaScript abilities of the browser of the user ('H' when DHTML enabled, 'M' when JavaScript1.1, 'L' else). - $U -> the login nick of the user; - $pmc_password -> the password of the user in clear mode; - $PWD_Hash -> the md5 hash of '$pmc_password'; - $N -> the number of messages to be shown each time the 'messages' frame is reloaded; - $D -> the timeout between each update of the 'messages' frame; - $T -> the type of the room the user wants to enter in; - $R0 -> the name of the default public room the user wants to enter in (not defined if he doesn't choose to enter one of the default public rooms); - $R1 -> the name of the 'other' public room the user wants to enter in (not defined if he doesn't choose to enter one of the 'other' public rooms); - $R2 -> the name of the room the user wants to create (not defined if he doesn't choose to create a room); - $E -> the name of the room the user just leaves. When $E is defined, the $EN boolean variable may also be defined and requires this script to insert an exit message to the 'messages' table; - $Reload -> when the user runs some specific actions inside the chat (he uses the '/join' command, clicks on a room name at the 'users' frame or resizes the window for the browser inside netscape 4+), this variable is defined to skip some tests that aren't necessary; - $perms -> permission level of the user for the room he wants to enter in. ---------------------------------------------------------------------------------- /* /*********** COMMON WORK ***********/ // Get the names and values for vars sent to index.lib.php if (isset($HTTP_GET_VARS)) { while(list($name,$value) = each($HTTP_GET_VARS)) { $$name = $value; }; }; // Get the names and values for vars posted from the form bellow if (isset($HTTP_POST_VARS)) { while(list($name,$value) = each($HTTP_POST_VARS)) { $$name = $value; }; }; // Fix some security holes if (!is_dir('./'.substr($ChatPath, 0, -1))) exit(); require("./${ChatPath}config/config.lib.php"); require("./${ChatPath}lib/release.lib.php"); require("./${ChatPath}localization/languages.lib.php"); require("./${ChatPath}localization/".$L."/localized.chat.php"); require("./${ChatPath}lib/database/".C_DB_TYPE.".lib.php"); require("./${ChatPath}lib/clean.lib.php"); include("./${ChatPath}lib/get_IP.lib.php"); // Special cache instructions for IE5+ $CachePlus = ""; if (ereg("MSIE [56789]", (isset($HTTP_USER_AGENT)) ? $HTTP_USER_AGENT : getenv("HTTP_USER_AGENT"))) $CachePlus = ", pre-check=0, post-check=0, max-age=0"; $now = gmdate('D, d M Y H:i:s') . ' GMT'; header("Expires: $now"); header("Last-Modified: $now"); header("Cache-Control: no-cache, must-revalidate".$CachePlus); header("Pragma: no-cache"); header("Content-Type: text/html; charset=${Charset}"); // avoid server configuration for magic quotes set_magic_quotes_runtime(0); // Get the relative path to the script that called this one if (!isset($PHP_SELF)) $PHP_SELF = $HTTP_SERVER_VARS["PHP_SELF"]; $Action = basename($PHP_SELF); $From = urlencode(ereg_replace("[^/]+/","../",$ChatPath).$Action); // For translations with a real iso code if (!isset($FontFace)) $FontFace = ""; // For others translations $DisplayFontMsg = !(isset($U) && $U != ""); // Translate to html special characters, and entities if message was sent with a latin 1 charset $Latin1 = ($Charset == "iso-8859-1"); function special_char($str,$lang) { return addslashes($lang ? htmlentities(stripslashes($str)) : htmlspecialchars(stripslashes($str))); }; // Ensure a room ($what) is include in a rooms list ($in) function room_in($what, $in) { $rooms = explode(",",$in); for (reset($rooms); $room_name=current($rooms); next($rooms)) { if (strcasecmp($what, $room_name) == 0) return true; }; return false; }; /*********** PART I ***********/ // Define the message to display if user comes here because he has been kicked if (isset($KICKED)) { switch ($KICKED) { case '1': $Error = L_REG_18; break; case '2': $Error = L_REG_39; break; case '3': $Error = L_ERR_USR_19; break; case '4': $Error = L_ERR_USR_20; break; default: }; }; $DbLink = new DB; // Fix some security issues if (isset($Reload)) { $isHacking = false; if (($Reload == 'JoinCmd') && (empty($E) || empty($Ver) || empty($L) || empty($U) || (empty($R0) && empty($R1) && empty($R2)) || empty($D))) { $isHacking = true; } else if (($Reload == 'NNResize') && (empty($Ver) || empty($L) || empty($U) || empty($R) || empty($T) || empty($D) || empty($N))) { $isHacking = true; } else { $DbLink->query("SELECT password FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); list($user_password) = $DbLink->next_record(); $DbLink->clean_results(); if (!empty($user_password) && (empty($PWD_Hash) || $PWD_Hash != $user_password)) $isHacking = true; unset($user_password); } if ($isHacking) { unset($Reload); if (isset($U)) unset($U); if (isset($PWD_Hash)) unset($PWD_Hash); if (isset($T)) unset($T); if (isset($R)) unset($R); if (isset($R0)) unset($R0); if (isset($R1)) unset($R1); if (isset($R2)) unset($R2); if (isset($E)) unset($E); $Error = L_ERR_USR_10; } } // Removes user from users table and if necessary add a notication message for him if(isset($E) && $E != "") { // Fix a security issue $DbLink->query("SELECT COUNT(*) FROM " . C_USR_TBL . " WHERE username='$U' AND ip='$IP' AND room='$E'"); list($isHacking) = $DbLink->next_record(); $isHacking = 1 - $isHacking; $DbLink->clean_results(); if ($isHacking) { // HACKERS Atack !!! unset($E); if (isset($U)) unset($U); $Error = L_ERR_USR_10; } else { $DbLink->query("DELETE FROM ".C_USR_TBL." WHERE username='$U' AND room='$E'"); if (isset($EN)) { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($EN, '$E', 'SYS exit', '', ".time().", '', 'sprintf(L_EXIT_ROM, \"".special_char($U,$Latin1)."\")')"); } } } // If no room is specified but the main form has been posted, define the room to enter // in as the first among default ones if ((isset($Form_Send) && $Form_Send) && (((C_VERSION == 0) || ((!isset($R0) || $R0 == "") && (!isset($R1) || $R1 == "") && (!isset($R2) || $R2 == ""))))) $R0 = $DefaultChatRooms[0]; // Optimize some of the tables when the user logs in if(isset($U) && (isset($N) && $N != "")) { $DbLink->optimize(C_MSG_TBL); $DbLink->optimize(C_USR_TBL); } //** Ensures the nick is a valid one except if the frameset is reloaded because of the // NN4+ resize bug or because the user runs a join command. ** if(!isset($Reload) && isset($U) && (isset($N) && $N != "")) { $relog = false; if (C_NO_SWEAR == 1) include("./${ChatPath}lib/swearing.lib.php"); // Check for no nick entered in if ($U == "") { $Error = L_ERR_USR_2; } // Check for invalid characters or empty nick elseif (trim($U) == "" || ereg("[\, ]", stripslashes($U))) { $Error = L_ERR_USR_16; } // Check for swear words in the nick elseif (C_NO_SWEAR == 1 && checkwords($U, true)) { $Error = L_ERR_USR_18; } else { $DbLink->query("SELECT room FROM ".C_USR_TBL." WHERE username='$U' LIMIT 1"); $Nb = $DbLink->num_rows(); // If the same nick is already in use and the user is not registered deny access if($Nb != 0 && $pmc_password == "" && !isset($PWD_Hash)) { $Error = L_ERR_USR_1; $DbLink->clean_results(); } else { list($room) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("SELECT password,perms,rooms FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); $reguser = ($DbLink->num_rows() != 0); if ($reguser) list($user_password,$perms,$rooms) = $DbLink->next_record(); $DbLink->clean_results(); if (!(isset($E) && $E != "")) { // Check for password if the nick exist in registered users table if ($reguser) { if ($pmc_password == "" && !isset($PWD_Hash)) { $Error = L_ERR_USR_3; } else { if (md5(stripslashes($pmc_password)) != $user_password && (!isset($PWD_Hash) || $PWD_Hash != $user_password)) $Error = L_ERR_USR_4; } if (!isset($Error)) $DbLink->query("UPDATE ".C_REG_TBL." SET reg_time=".time()." WHERE username='$U'"); } // If users isn't a registered one and phpMyChat require registration deny access else if (C_REQUIRE_REGISTER) { $Error = L_ERR_USR_14; } } // The var bellow is set to 1 when a registered user is allowed to log using a nick // that already exist in the users table $relog = ($Nb != 0 && !isset($Error)); $CookieUsername = urlencode(stripslashes($U)); setcookie("CookieUsername", $CookieUsername, time() + 60*60*24*365); // cookie expires in one year } } } // ** Get perms of the user if the script is called by a join command ** if (isset($Reload) && $Reload == "JoinCmd") { $DbLink->query("SELECT perms,rooms FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); $reguser = ($DbLink->num_rows() != 0); if ($reguser) list($perms,$rooms) = $DbLink->next_record(); $DbLink->clean_results(); }; // ** Ensure the user is not banished from the room he wants to enter in ** if(!isset($Error) && (isset($N) && $N != "") && !isset($Reload)) { if (C_BANISH != "0" && (!isset($perms) || $perms != "admin")) { include("./${ChatPath}lib/banish.lib.php"); if ($IsBanished) $Error = L_ERR_USR_20; }; }; // ** Ensures the user can create a room and the room name is a valid one (bypassed test // when the frameset is reloaded because of the NN4+ resize bug). ** if(!isset($Error) && (isset($R2) && $R2 != "")) { // Skipped when the script is called by a join command. if (!isset($Reload)) { // User is not registered -> Deny room creation if (!$reguser) { $Error = L_ERR_USR_13; } // Check for invalid characters or empty room name else if (trim($R2) == "" || ereg("[,\]", stripslashes($R2))) { $Error = L_ERR_ROM_1; } // Check for swear words in room name else if(C_NO_SWEAR == 1 && checkwords($R2, true)) { $Error = L_ERR_ROM_2; } // Ensure there is no existing room with the same name but a different type... else { // ...among reserved name for private/public (default) rooms $ToCheck = ($T == "1" ? $DefaultPrivateRooms : $DefaultChatRooms); for ($i = 0; $i < count($ToCheck); $i++) { if (strcasecmp($R2,$ToCheck[$i]) == "0") { $Error = ($T == 0 ? L_ERR_ROM_3:L_ERR_ROM_4); break; }; }; unset($ToCheck); // ...among other rooms created by users if (!isset($Error)) { $T1 = 1 - $T; $DbLink->query("SELECT count(*) FROM ".C_MSG_TBL." WHERE room = '$R2' AND type = '$T1' LIMIT 1"); list($Nb) = $DbLink->next_record(); $DbLink->clean_results(); if($Nb != 0) $Error = ($T == 0 ? L_ERR_ROM_3:L_ERR_ROM_4); }; }; }; // Define the user status if (!isset($Error)) { $register_room = true; // If the name of the room to be created is a reserved one for private/public (default) rooms, // status will be 'user'. Skipped when the script is called by a join command. if (!isset($Reload)) { $ToCheck = ($T == "1" ? $DefaultChatRooms : $DefaultPrivateRooms); for ($i = 0; $i < count($ToCheck); $i++) { if (strcasecmp($R2,$ToCheck[$i]) == "0") $register_room = false; }; unset($ToCheck); }; // If room name is the same than one of an existing room containing "true" messages // (not only notifications of users entrance/exit) or containing only "system" // message but an other user is already logged in, status will be 'user' if ($register_room) { $DbLink->query("SELECT Count(*) FROM ".C_MSG_TBL." WHERE room='$R2' AND username NOT LIKE 'SYS %' LIMIT 1"); list($count) = $DbLink->next_record(); $register_room = ($count == "0"); $DbLink->clean_results(); }; if ($register_room) { $DbLink->query("SELECT count(*) FROM ".C_USR_TBL." WHERE room='$R2' AND username != '$U' LIMIT 1"); list($anybody) = $DbLink->next_record(); $register_room = ($anybody == 0); $DbLink->clean_results(); }; if ($register_room) { // If an other registered user is already moderator for the room to be created but // there is no "true" message in this room then set his status to user for this room $UpdLink = new DB; $DbLink->query("SELECT username,rooms FROM ".C_REG_TBL." WHERE perms = 'moderator' AND username != '$U'"); while (list($mod_un,$mod_rooms) = $DbLink->next_record()) { $changed = false; $roomTab = explode(",",$mod_rooms); for ($i = 0; $i < count($roomTab); $i++) { if (strcasecmp(stripslashes($R2), $roomTab[$i]) == 0) { $roomTab[$i] = ""; $changed = true; break; }; }; if ($changed) { $mod_rooms = str_replace(",,",",",ereg_replace("^,|,$","",implode(",",$roomTab))); $UpdLink->query("UPDATE ".C_REG_TBL." SET rooms='".addslashes($mod_rooms)."' WHERE username='".addslashes($mod_un)."'"); $UpdLink->query("UPDATE ".C_USR_TBL." SET status='r' WHERE room='$R2' AND username='".addslashes($mod_un)."'"); }; unset($roomTab); }; $DbLink->clean_results(); // Update the current user status for the room to be created in registered users table $changed = false; if (!room_in(stripslashes($R2), $rooms)) { if ($rooms != "") $rooms .= ","; $rooms .= stripslashes($R2); $changed = true; } if ($perms == "user" || $perms == "") { $perms = "moderator"; $changed = true; } if (($changed)&&($perms != "admin")) { $DbLink->query("UPDATE ".C_REG_TBL." SET perms='$perms', rooms='".addslashes($rooms)."' WHERE username='$U'"); } } } } // ** Enter the chat ** if(!isset($Error) && (isset($N) && $N != "")) { if(isset($R2) && $R2 != "") { $R = $R2; } elseif (!isset($R)) // $R is set when the frameset is reloaded because of the NN4+ resize bug. { $T = 1; $R = (isset($R0) && $R0 != "")? $R0 : $R1; }; $CookieRoom = urlencode(stripslashes($R)); setcookie("CookieRoom", $CookieRoom, time() + 60*60*24*365); // cookie expires in one year setcookie("CookieRoomType", $T, time() + 60*60*24*365); // cookie expires in one year if (isset($HTTP_COOKIE_VARS)) { if (isset($HTTP_COOKIE_VARS["CookieMsgOrder"])) $CookieMsgOrder = $HTTP_COOKIE_VARS["CookieMsgOrder"]; if (isset($HTTP_COOKIE_VARS["CookieShowTimestamp"])) $CookieShowTimestamp = $HTTP_COOKIE_VARS["CookieShowTimestamp"]; if (isset($HTTP_COOKIE_VARS["CookieNotify"])) $CookieNotify = $HTTP_COOKIE_VARS["CookieNotify"]; }; if (!isset($O)) $O = isset($CookieMsgOrder) ? $CookieMsgOrder : C_MSG_ORDER; if (!isset($ST)) $ST = isset($CookieShowTimestamp) ? $CookieShowTimestamp : C_SHOW_TIMESTAMP; if (!isset($NT)) $NT = isset($CookieNotify) ? $CookieNotify : C_NOTIFY; if (!isset($PWD_Hash)) $PWD_Hash = (isset($reguser) && $reguser ? md5(stripslashes($pmc_password)) : ""); // Define the user status to be put in the users table if necessary. Skipped when the // frameset is reloaded because of the NN4+ resize bug. if (!isset($Reload) || $Reload != "NNResize") { if (!isset($perms)) $perms = ((isset($reguser) && $reguser) ? "" : "noreg"); switch ($perms) { case 'admin': $status = "a"; break; case 'moderator': $status = (room_in(stripslashes($R), $rooms) ? "m" : "r"); break; case 'noreg': $status = "u"; break; default: $status = "r"; }; }; // Udpates the IP address and the last log. time of the user in the regsistered users table if necessary if (isset($reguser) && $reguser) $DbLink->query("UPDATE ".C_REG_TBL." SET reg_time='".time()."', ip='$IP' WHERE username='$U'"); // In the case of a registered user that logs again... // ...in the same room update his logging time and update his IP address; // ...in an other room kick him from the other room, put a notification message of // exit for this room, update the users table and put a notification message of // entrance for the room he log in. $current_time = time(); if (isset($relog) && $relog) { if (stripslashes($R) == $room) { $DbLink->query("UPDATE ".C_USR_TBL." SET u_time='$current_time', ip='$IP' WHERE username='$U'"); } else { $DbLink->query("SELECT type FROM ".C_MSG_TBL." WHERE room='".addslashes($room)."' LIMIT 1"); list($type) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ('$type', '".addslashes($room)."', 'SYS exit', '', '$current_time', '', 'sprintf(L_EXIT_ROM, \"".special_char($U,$Latin1)."\")')"); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS enter', '', '$current_time', '', 'sprintf(L_ENTER_ROM, \"".special_char($U,$Latin1)."\")')"); $DbLink->query("UPDATE ".C_USR_TBL." SET room='$R',u_time='$current_time', status='$status', ip='$IP' WHERE username='$U'"); if (C_WELCOME) { // Delete old welcome messages sent to the current user $DbLink->query("DELETE FROM ".C_MSG_TBL." WHERE username = 'SYS welcome' AND address = '$U'"); // Insert a new welcome message in the messages table include("./${ChatPath}lib/welcome.lib.php"); $current_time_plus = $current_time + 1; // ensures the welcome msg is the last one $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS welcome', '', '$current_time_plus', '$U', 'sprintf(\"".WELCOME_MSG."\")')"); }; }; } // In the case of an user that logs again in the same room because of the resize bug of NN4+ // update his logging time and his IP address elseif (isset($Reload) && $Reload == "NNResize") { $DbLink->query("UPDATE ".C_USR_TBL." SET room='$R',u_time='$current_time', ip='$IP' WHERE username='$U'"); } // For all other case of users entering in, set user infos. in users table and put a // notification message of entrance in the messages table else { $DbLink->query("INSERT INTO ".C_USR_TBL." VALUES ('$R', '$U', '$Latin1', '$current_time', '$status','$IP')"); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS enter', '', '$current_time', '', 'sprintf(L_ENTER_ROM, \"".special_char($U,$Latin1)."\")')"); if (C_WELCOME) { // Delete old welcome messages sent to the current user $DbLink->query("DELETE FROM ".C_MSG_TBL." WHERE username = 'SYS welcome' AND address = '$U'"); // Insert a new welcome message in the messages table include("./${ChatPath}lib/welcome.lib.php"); $current_time_plus = $current_time + 1; // ensures the welcome msg is the last one $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS welcome', '', '$current_time_plus', '$U', 'sprintf(\"".WELCOME_MSG."\")')"); }; }; // Delete invite messages sent to the user for the room he will enter in $DbLink->query("SELECT m_time FROM ".C_MSG_TBL." WHERE username='SYS inviteTo' AND address='$U' AND room='$R'"); if($DbLink->num_rows() != 0) { $DelLink = new DB; while(list($sent_time) = $DbLink->next_record()) { $DelLink->query("DELETE FROM ".C_MSG_TBL." WHERE m_time='$sent_time' AND (username='SYS inviteFrom' OR (username='SYS inviteTo' AND address='$U'))"); }; }; ?> <?php echo(APP_NAME); ?> close(); exit; } // end of entering the chat work /*********** 'send_headers' FUNCTION ***********/ /* ------------------------------------------------------------------------------------------ The send_headers function add lines at the head part of your html file. $title var allows to show "phpMyChat" as the title for your window when sets to 1/true. $icon var allows to set phpMyChat icon as the icon for favorites when sets to 1/true. --------------------------------------------------------------------------------------- */ function send_headers($title, $icon) { global $ChatPath, $From, $L; global $Charset, $FontName, $FontSize; if ($title) echo("\t" . '' . APP_NAME . '' . "\n"); ?> \n"); // For translations with an explicit charset (not the 'x-user-defined' one) if (!isset($FontName)) $FontName = ""; ?> " TYPE="text/css">
" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Params" onSubmit="defineVerField();"> This translation of ".APP_NAME." requires these font faces

"); } ?>

" onClick="tutorial_popup(); return false" CLASS="ChatLink" TARGET="_blank">

query("SELECT DISTINCT u.username FROM ".C_USR_TBL." u, ".C_MSG_TBL." m WHERE u.room = m.room AND m.type = 1")) { $Nb = $DbLink->num_rows(); $link = " "; echo("

".L_CUR_1.$link.$Nb." ".($Nb > 1 ? L_USERS : L_USER)." ".L_CUR_2."

"); } if(isset($Error)) { echo("

$Error

"); } if (!isset($Ver)) $Ver = "L"; ?>
0) { ?>
"); echo("\"".ucfirst(str_replace("_"," "); if ($i % 15 == 0) echo ("
"); }; unset($AvailableLanguages); ?>
:
: ".L_REG_1r.""); ?>
 

| | ||
 
:
:
: CLASS="ChatBox" onChange="reset_R2();">

...

© 2000-2001 The phpHeaven Team
phpmychat/chat/lib/login.lib.php0100644000175600010010000000744010032755635016362 0ustar NicolasAucunquery("SELECT password,perms FROM ".C_REG_TBL." WHERE username='$pmc_username' LIMIT 1"); if ($DbLink4Login->num_rows() != 0) { list($PWD_Hash, $perms) = $DbLink4Login->next_record(); if ($PWD_Hash == md5($pmc_password) || $PWD_Hash == $pmc_password) { // Ensure the one who lauch the admin.php script is really admin if (isset($MUST_BE_ADMIN) && $perms != "admin") { $Error = L_ERR_USR_11; } else { $do_not_login = true; } } } else if (isset($perms)) { unset($perms); } $DbLink4Login->clean_results(); $DbLink4Login->close(); } // If no login yet entered if (!isset($do_not_login) || !$do_not_login) { // Special cache instructions for IE5+ $CachePlus = ""; if (ereg("MSIE [56789]", (isset($HTTP_USER_AGENT)) ? $HTTP_USER_AGENT : getenv("HTTP_USER_AGENT"))) $CachePlus = ", pre-check=0, post-check=0, max-age=0"; $now = gmdate('D, d M Y H:i:s') . ' GMT'; header("Expires: $now"); header("Last-Modified: $now"); header("Cache-Control: no-cache, must-revalidate".$CachePlus); header("Pragma: no-cache"); header("Content-Type: text/html; charset=${Charset}"); // avoid server configuration for magic quotes set_magic_quotes_runtime(0); if (isset($login_form)) { if (!isset($Error)) $Error = L_ERR_USR_10; unset($pmc_password); } // If this script is lauch by a profile command, put focus to the password field $Focus = (isset($LIMIT) && $LIMIT == 1 ) ? "pmc_password" : "pmc_username"; // For translations with an explicit charset (not the 'x-user-defined' one) if (!isset($FontName)) $FontName = ""; ?> "> <?php echo(APP_NAME); ?> " TYPE="text/css">

$Error

"); } ?>
:
:

phpmychat/chat/lib/mail_validation.lib.php0100644000175600010010000000752410032755635020411 0ustar NicolasAucun // It can be found at the URL: http://www.zend.com/codex.php?id=307&single=1 function rfcDate() { // Translated from imap-4.7c/src/osdep/unix/env_unix.c // env-unix.c is Copyright 2000 by the University of Washington // localtime() not available in php... $tn = time(0); $zone = gmdate("H", $tn) * 60 + gmdate("i", $tn); $julian = gmdate("z", $tn); $t = getdate($tn); $zone = $t["hours"] * 60 + $t["minutes"] - $zone; // julian can be one of: // 36x local time is December 31, UTC is January 1, offset -24 hours // 1 local time is 1 day ahead of UTC, offset +24 hours // 0 local time is same day as UTC, no offset // -1 local time is 1 day behind UTC, offset -24 hours // -36x local time is January 1, UTC is December 31, offset +24 hours if ($julian = $t["yday"] - $julian) { $zone += (($julian < 0) == (abs($julian) == 1)) ? -24*60 : 24*60; }; $zone_sign = ($zone > 0 ? "+" : "-"); return date('D, d M Y H:i:s ', $tn).$zone_sign.sprintf("%02d%02d", abs($zone)/60, abs($zone)%60)." (".strftime("%Z").")"; } $mail_date = rfcDate(); function send_email($subject,$userString,$pswdString,$welcomeString) { global $Charset; global $EMAIL, $U, $pmc_password; global $Chat_URL; global $Sender_Name, $Sender_email; global $mail_date; $subject = quote_printable($subject,$Charset); $body = $userString.": $U\n"; $body .= $pswdString.": $pmc_password\n\n"; $body .= $welcomeString."\n"; $body .= $Chat_URL."\n"; $Sender_Name = quote_printable($Sender_Name,$Charset); $headers = "From: ${Sender_Name} <${Sender_email}> \r\n"; $headers .= "X-Sender: <${Sender_email}> \r\n"; $headers .= "X-Mailer: PHP/".phpversion()." \r\n"; $headers .= "Return-Path: <${Sender_email}> \r\n"; $headers .= "Date: ${mail_date} \r\n"; $headers .= "Mime-Version: 1.0 \r\n"; $headers .= "Content-Type: text/plain; charset=${Charset} \r\n"; $headers .= "Content-Transfer-Encoding: 8bit \r\n"; return @mail($EMAIL, $subject, $body, $headers); }; ?>phpmychat/chat/lib/release.lib.php0100644000175600010010000000020610032755635016663 0ustar NicolasAucunphpmychat/chat/lib/smilies.lib.php0100644000175600010010000000623310032755636016717 0ustar NicolasAucun array("smile1.gif", "15", "15"), ":D" => array("smile2.gif", "15", "15"), ":o" => array("smile3.gif", "15", "15"), ":\(" => array("smile4.gif", "15", "15"), ";\)" => array("smile5.gif", "15", "15"), ":p" => array("smile6.gif", "15", "15"), "8\)" => array("smile7.gif", "15", "15"), ":\[" => array("smile8.gif", "15", "15"), ":kill:" => array("smile9.gif", "50", "15") ); $MaxWidth = "50"; // Set the maximum width among similes $MaxHeight = "15"; // Set the maximum height among similes // ---- DO NOT MODIFY BELOW ---- // Slashes ' and " characters function SpecialSlash(&$Str) { return str_replace("\"",""",str_replace("'","\\'",$Str)); } // Replace smilies code by gif URLs in messages function Check4Smilies(&$string,&$Table) { $tmp_tbl = split("", " ".$string." "); $i = "0"; for (reset($tmp_tbl); $substring=current($tmp_tbl); next($tmp_tbl)) { // $substring is one of the trailing spaces added above -> do nothing if($substring == " ") { } // $substring is not an HTTP link -> do the work for smilies elseif (($i % 2) == "0") { while(list($key, $prop) = each($Table)) { $substring = ereg_replace($key, " \"".str_replace("\"",""", ", $substring); }; $tmp_tbl[$i] = $substring; } // $substring is an HTTP link -> just restore HTML tags for links else { $tmp_tbl[$i] = ""; } $i++; }; $string = trim(join("",$tmp_tbl)); unset($tmp_tbl); } // Display smilies in the help popup and in the tutorials function DisplaySmilies(&$ToDisplay,&$Table,&$TblSize,$Target) { global $MaxWidth, $MaxHeight; $i = 0; $Str1 = ""; $Str2 = ""; $PerLines = floor(600/$MaxWidth); while(list($key, $prop) = each($Table)) { $i++; if ($Target == "help") $Str1 .= "\t\t\"".str_replace("\"",""",\n"; else $Str1 .= "\t\t\"".str_replace("\"",""",\n"; $Str2 .= "\t\t".stripslashes($key)."\n"; if (is_integer($i/$PerLines) || $i == $TblSize) { $ToDisplay[] = $Str1; $ToDisplay[] = $Str2; $Str1 = ""; $Str2 = ""; }; }; }; ?>phpmychat/chat/lib/swearing.lib.php0100644000175600010010000000227610032755636017074 0ustar NicolasAucun and Fabiano R. Prestes function checkwords ($String, $TestOnly) { // You can add the words you don't want users to use in the $BadWords array bellow. As an eregi // function is called to find them in strings, you may use valid POSIX 1003.2 regular expressions // (see second line of the array for an example). // Note that search is not case sensitive, except for special characters such as accentued ones. $BadWords = array ( "shit", "fuck([[:alpha:]]*)" ); $ReplaceString = "@#$*!"; // String that will replace "swear words" // Don't modify lines bellow $Found = false; for (reset($BadWords); $ToFind = current($BadWords); next($BadWords)) { $Found = eregi(addslashes($ToFind), $String); if ($Found) { if ($TestOnly) { break; } else { $String = eregi_replace(addslashes($ToFind), $ReplaceString, $String); }; }; }; unset($BadWords); return ($TestOnly ? $Found : $String); } ?>phpmychat/chat/lib/usersH.js0100644000175600010010000001644010032755636015604 0ustar NicolasAucun/* ****************************************************************** ** Collapsible Rooms for IE & NN 4+ Browsers (DHTML stuff) ** ** Based on the 'Expandable Outlines' script from ** ** WebReference (http://webreference.com/) ** ****************************************************************** */ /* Define some vars */ NS4 = (document.layers) ? 1 : 0; IE4 = ((document.all) && (parseInt(navigator.appVersion)>=4)) ? 1 : 0; ver4 = (NS4 || IE4) ? 1 : 0; var usersFrame = null; var exitFrame = null; var isExpanded = false; var opened_room = new Array; var rooms_number = 0; var opened_rooms_number = 0; var Y = null; bigOpened = new Image(13,13); bigOpened.src = path2Chat + 'images/open_big.gif'; bigClosed = new Image(13,13); bigClosed.src = path2Chat + 'images/closed_big.gif'; Opened = new Image(9,9); Opened.src = path2Chat + 'images/open.gif'; Closed = new Image(9,9); Closed.src = path2Chat + 'images/closed.gif'; /* Misc. functions used to alter memory of room's status (opened/closed) */ function ResetRoomTable() { for (var test in opened_room) { opened_room[test] = (opened_room[test] == 1 ? "+" : "-"); }; }; function CheckRoomState(room) { if (opened_room[room]) { opened_room[room] = (opened_room[room] == "+" ? 1 : -1); return opened_room[room]; } else return 0; }; function CleanRoom() { temp = new Array(); for (var test in opened_room) { if (opened_room[test] == 1 || opened_room[test] == -1) temp[test] = opened_room[test]; }; opened_room = temp; temp = null; }; function ModifyRoomState(room, action) { opened_room[room] = (action == "add" ? 1 : -1); }; /* Main functions for collapsible rooms */ // Get the ID of the first collapsible room; function getIndex(el) { ind = null; for (i=0; i 0) ? exitFrame.document.images['imEx_big'] : exitFrame.document.images.item('imEx_big'); if (opened_rooms_number == rooms_number) { isExpanded = true; bigImg.src = bigOpened.src; } else if (isExpanded) { isExpanded = false; bigImg.src = bigClosed.src; }; }; // Collapse/expand rooms (depends on rooms' status before the page reloads) each time the web page is loaded; function initIt() { if (!ver4) return; ResetRoomTable(); var parentEl_tab = new Array(); opened_rooms_number = 0; if (NS4) { for (i=0; i'); if (NS4) { write('.parent {position:absolute; visibility:visible}'); write('.child {position:absolute; visibility:visible}'); write('.regular {position:absolute; visibility:visible}') } else { write('.child {display:none}') }; write('<\/STYLE>'); } } var isExpanded = false; var rooms_number = 0; var opened_rooms_number = 0; // Get the ID of the first collapsible room; function getIndex(el) { ind = null; for (i=0; i 0) ? document.images['imEx_big'] : document.images.item('imEx_big'); if (opened_rooms_number == rooms_number) { isExpanded = true; bigImg.src = bigOpened.src; } else if (isExpanded) { isExpanded = false; bigImg.src = bigClosed.src; }; }; // Collapse rooms each time the web page is loaded; function initIt() { if (!ver4) return; var parentEl_tab = new Array(); opened_rooms_number = 0; if (NS4) { for (i=0; i 10) { whichEl.visibility = 'hide'; } else { opened_rooms_number++; whichEl.visibility = 'show'; if (!parentEl_tab[parentEl.id]) { parentEl_tab[parentEl.id] = 1; parentEl.document.images['imEx'].src = Opened.src; }; }; }; }; arrange(); } else { divColl = document.all.tags('DIV'); for (i=0; i 10) { whichEl.style.display = 'none'; } else { opened_rooms_number++; whichEl.style.display = 'block'; if (!parentEl_tab[parentEl.id]) { parentEl_tab[parentEl.id] = 1; parentEl.all.tags('IMG').item('imEx').src = Opened.src; }; }; }; }; }; parentEl_tab = null; ChildNb = null; big_icon(); }; // Collapse/expand a room when the user require for it; function expandIt(el) { if (!ver4) return; if (IE4) { whichEl = document.all(el + 'Child'); whichIm = event.srcElement; if (whichEl.style.display == 'none') { opened_rooms_number++; whichEl.style.display = 'block'; whichIm.src = Opened.src; } else { opened_rooms_number--; whichEl.style.display = 'none'; whichIm.src = Closed.src; }; } else { whichEl = document.layers[el + 'Child']; whichIm = document.layers[el + 'Parent'].document.images['imEx']; if (whichEl.visibility == 'hide') { opened_rooms_number++; whichEl.visibility = 'show'; whichIm.src = Opened.src; } else { opened_rooms_number--; whichEl.visibility = 'hide'; whichIm.src = Closed.src; }; arrange(); }; big_icon(); }; function expandAll() { if (!ver4) return; newSrc_big = (isExpanded) ? bigClosed.src : bigOpened.src; newSrc = (isExpanded) ? Closed.src : Opened.src; opened_rooms_number = (isExpanded) ? 0 : rooms_number; if (NS4) { document.images['imEx_big'].src = newSrc_big; if (firstInd != null) { if (document.layers.length) { for (i=firstInd; iespecialmente, pasar un momento agradable."); break; case 'danish': // For danish users define('WELCOME_MSG', "Velkommen til chatten. Oprethold venligst en sober tone mens du chatter: forsّg at vوre venlig, rar og imّdekommende."); break; case 'english': // For english users define('WELCOME_MSG', "Welcome to our chat. Please obey the net etiquette while chatting: try to be pleasant and polite."); break; case 'french': // For french users define('WELCOME_MSG', "Bienvenu(e) sur notre chat. N\'oubliez pas les règles de politesse élémentaire au cours de vos discussions."); break; case 'greek': // For greek users define('WELCOME_MSG', "تلë‏ٍ قٌèلôه َôç َُوقôçَق ىلٍ. ذلٌلêلëï‎ىه ىçي îه÷يـôه ôïٍُ êلëï‎ٍ َلٍ ôٌüًïٍُ êلôـ ôçي ًلٌلىïيق َلٍ."); break; case 'japanese': // For japan users define('WELCOME_MSG', "¥ء¥م¥أ¥ب¤ط¤è¤¦¤³¤½،ھ آ¾¤خ¥و،¼¥¶،¼¤ثجآدا¤ٍ¤«¤±¤؛¤ث،¢³ع¤·¤َ¤ا¤¤¤أ¤ئ¤¯¤ہ¤µ¤¤¤ح،£"); break; case 'spanish': // Para usuarios en Espaٌol define('WELCOME_MSG', "Bienvenidos a nuestro chat. El objetivo es conocernos, intercambiar ideas y especialmente, pasar un momento agradable."); case 'portuguese': // Para utilizadores portugueses define('WELCOME_MSG', "Bem vindos ao nosso chat. Agradecemos que cumpra a net etiquette enquanto conversa."); default: // When there is no translation for the language of the user define('WELCOME_MSG', "Welcome to our chat. Please obey the net etiquette while chatting: try to be pleasant and polite."); }; ?>phpmychat/chat/link.htm0100644000175600010010000000050110032755621014657 0ustar NicolasAucun
phpmychat/chat/loader.php0100644000175600010010000002711710032755621015203 0ustar NicolasAucunquery( 'SELECT ' . C_USR_TBL . '.room, ' . C_USR_TBL . '.status, ' . C_USR_TBL . '.ip' . ' FROM ' . C_USR_TBL . ', ' . C_REG_TBL . ' WHERE ' . C_USR_TBL . '.username = \'' . $U . '\'' . ' AND ' . C_REG_TBL . '.username = \'' . $U . '\'' . ' AND ' . C_REG_TBL . '.password = \'' . $PWD_Hash . '\'' . ' LIMIT 1'); } else // C_REQUIRE_REGISTER == 0 && $PWD_Hash is empty { $DbLink->query('SELECT username FROM ' . C_REG_TBL . ' WHERE username = \'' . $U . '\' LIMIT 1'); if ($DbLink->num_rows() == 0) { $DbLink->query('SELECT room, status, ip FROM ' . C_USR_TBL . ' WHERE username = \'' . $U . '\' LIMIT 1'); } else { $DbLink->clean_results(); $DbLink->close(); exit(); // hack attack } } // End of SeazoN Fix if($DbLink->num_rows() != 0) { // There is a row for the user in the users table list($room,$status,$knownIp) = $DbLink->next_record(); $DbLink->clean_results(); $kicked = 0; if ($room != stripslashes($R)) // Same nick in another room { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_EXIT_ROM, \"".special_char($U,$Latin1,1)."\")')"); $kicked = 3; } elseif ($status == "k") // Kicked by a moderator or the admin. { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_KICKED, \"".special_char($U,$Latin1,1)."\")')"); $kicked = 1; } elseif ($status == "d") // The admin just deleted the room { $kicked = 2; } elseif ($status == "b") // Banished by a moderator or the admin. { $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ($T, '$R', 'SYS exit', '', ".time().", '', 'sprintf(L_BANISHED, \"".special_char($U,$Latin1,1)."\")')"); $kicked = 4; } else if ($knownIp != $IP) { $kicked = 5; } if (!$kicked) { // Updates the time to ensure the user won't be cleaned from the users table $DbLink->query("UPDATE ".C_USR_TBL." SET u_time = ".time()." WHERE room = '$R' AND username = '$U'"); } } else { // User hasn't been found in the users table -> add a row if he is registered $DbLink->clean_results(); $DbLink->query("SELECT latin1,perms,rooms FROM ".C_REG_TBL." WHERE username='$U' LIMIT 1"); $reguser = (list($fake,$perms, $rooms) = $DbLink->next_record()); $DbLink->clean_results(); // Kick unreg users if (!$reguser) { $kicked = 6; } // Add reg users else { // Get user status switch ($perms) { case 'admin': $status = "a"; break; case 'moderator': $roomsTab = explode(",",$rooms); for (reset($roomsTab); $room_name=current($roomsTab); next($roomsTab)) { if (strcasecmp(stripslashes($R), $room_name) == 0) { $status = "m"; break; }; }; default: $status = "r"; }; $DbLink->query("INSERT INTO ".C_USR_TBL." VALUES ('$R', '$U', '$Latin1', ".time().", '$status', '$IP')"); } } if (!empty($kicked)) { // Kick the user from the current room $kickedUrl = "$From?L=$L&U=" . urlencode(stripslashes($U)); if ($kicked < 5) $kickedUrl .= "&E=$R&$KICKED=$kicked"; ?> close(); exit; } // ** Check for updates in users list ** if ($First) $LastCheck = 0; if ($CleanUsrTbl) { $Users_Refresh = "1"; } else { $QueryRoom = " AND (type = 1".($T == "0" ? " OR (type = 0 AND room = '$R')" : "").") "; $DbLink->query("SELECT DISTINCT m_time FROM ".C_MSG_TBL." WHERE m_time > '$LastCheck' AND username IN ('SYS enter','SYS exit','SYS promote','SYS delreg')".$QueryRoom."ORDER BY m_time DESC LIMIT 1"); $Users_Refresh = ($DbLink->num_rows() > 0); if ($Users_Refresh) list($LastCheck) = $DbLink->next_record(); $DbLink->clean_results(); }; // ** Check for updates in messages list and get new messages ** if ($First) $LastLoad = 0; // Define the SQL query (depends on values for ignored users list and on whether to display // notification messages or not $CondForQuery = ""; $IgnoreList = ""; if (isset($Ign)) $IgnoreList = "'".str_replace(",","','",addslashes(urldecode($Ign)))."'"; if ($NT == "0") $IgnoreList .= ($IgnoreList != "" ? ",":"")."'SYS enter','SYS exit'"; if ($IgnoreList != "") $CondForQuery = "username NOT IN (${IgnoreList}) AND "; $CondForQuery .= "(address = ' *' OR (address = '$U' AND (room = '$R' OR username = 'SYS inviteTo')) OR (room = '$R' AND (address = '' OR username = '$U')))"; $LimitForQuery = ($First ? " LIMIT $N" : ""); $DbLink->query("SELECT m_time, username, latin1, address, message FROM ".C_MSG_TBL." WHERE m_time > '$LastLoad' AND ".$CondForQuery." ORDER BY m_time DESC".$LimitForQuery); // Format and store new messages $Messages = Array(); if($DbLink->num_rows() > 0) { $i = "1"; $today = date('j', time() + C_TMZ_OFFSET*60*60); while(list($Time, $User, $Latin1, $Dest, $Message) = $DbLink->next_record()) { // Skip the oldest message if the day seperator has been added if (isset($day_separator) && $First && $i == $N) continue; // Separator between messages sent before today and other ones if (!isset($day_separator) && date("j", $Time + C_TMZ_OFFSET*60*60) != $today) { $Messages[] = "

--------- ".L_TODAY_DWN." ---------<\/SPAN><\/P>"; $day_separator = "1"; }; $NewMsg = "

"; if ($ST == 1) $NewMsg .= "".date("H:i:s", $Time + C_TMZ_OFFSET*60*60)."<\/SPAN> "; // "Standard" messages if (substr($User,0,4) != "SYS ") { $User = "".special_char($User,$Latin1,0)."<\/A>"; if ($Dest != "") $Dest = "]<\/BDO>>[".htmlspecialchars(stripslashes($Dest)); $Message = str_replace("","<\\/FONT>",$Message); // slashes the closing HTML font tag $NewMsg .= "[${User}${Dest}]<\/BDO><\/B> $Message<\/P>"; } // "System" messages else { if ($Dest == " *") { $Message = "[".L_ANNOUNCE."]<\/BDO> ".$Message; } else { if ($Dest != "") $NewMsg .= ">[".htmlspecialchars(stripslashes($Dest))."]<\/BDO><\/B> "; $Message = str_replace("$","\\$",$Message); // avoid '$' chars in nick to be parsed below eval("\$Message = $Message;"); }; $NewMsg .= "".$Message."<\/SPAN><\/P>"; }; $Messages[] = $NewMsg; if ($Time > $LastLoad) $LastLoad = $Time; $i++; }; } else { if ($First) $Messages[] = "".L_NO_MSG."<\/SPAN>"; }; $DbLink->clean_results(); $DbLink->close(); // ** Define the URL query part of the http refresh header ** if ($First) { $Refresh = str_replace("First=1","First=0", (isset($QUERY_STRING)) ? $QUERY_STRING : getenv("QUERY_STRING"))."&LastLoad=${LastLoad}&LastCheck=${LastCheck}"; } else { $Refresh = ereg_replace("&LastLoad=([0-9]+)&LastCheck=([0-9]+)","&LastLoad=".$LastLoad."&LastCheck=".$LastCheck, (isset($QUERY_STRING)) ? $QUERY_STRING : getenv("QUERY_STRING")); }; // Special cache instructions for IE5+ $CachePlus = ""; if (ereg("MSIE [56789]", (isset($HTTP_USER_AGENT)) ? $HTTP_USER_AGENT : getenv("HTTP_USER_AGENT"))) $CachePlus = ", pre-check=0, post-check=0, max-age=0"; $now = gmdate('D, d M Y H:i:s') . ' GMT'; header("Expires: $now"); header("Last-Modified: $now"); header("Cache-Control: no-cache, must-revalidate".$CachePlus); header("Pragma: no-cache"); ?> Loader hidden frame 0) echo('' . "\n"); ?> phpmychat/chat/localization/0040755000175600010010000000000010201467200015676 5ustar NicolasAucunphpmychat/chat/localization/admin.lib.php0100644000175600010010000000326510032755640020261 0ustar NicolasAucunread()) { if(is_dir('./localization/'.$name) && file_exists('./localization/'.$name.'/regex.txt') && file_exists('./localization/'.$name.'/localized.admin.php')) { list($key) = file('./localization/'.$name.'/regex.txt'); $AvailableAdmin[$key] = $name; }; }; $languageDirectories->close(); if (!function_exists("krsort")) include("./localization/sort_languages.php"); krsort($AvailableAdmin); function DetectAdmin($Str,$From) { global $AvailableAdmin; global $L; $NotFound = true; reset($AvailableAdmin); while($NotFound && list($key, $name) = each($AvailableAdmin)) { if (($From == 1 && eregi("^(".trim($key).")$",$Str)) || ($From == 2 && eregi("(\(|\[|;[[:space:]])(".trim($key).")(;|\]|\))",$Str))) { $L = $AvailableAdmin[$key]; $NotFound = false; }; }; }; // finds the appropriate language file if (isset($HTTP_COOKIE_VARS["CookieLang"])) $CookieLang = $HTTP_COOKIE_VARS["CookieLang"]; if (!isset($HTTP_ACCEPT_LANGUAGE)) $HTTP_ACCEPT_LANGUAGE = getenv("HTTP_ACCEPT_LANGUAGE"); if (!isset($HTTP_USER_AGENT)) $HTTP_USER_AGENT = getenv("HTTP_USER_AGENT"); if (isset($CookieLang) && is_dir('./localization/'.$CookieLang) && file_exists("./localization/$CookieLang/localized.admin.php")) { $L = $CookieLang; } elseif ($HTTP_ACCEPT_LANGUAGE != "") { $Accepted = explode(",", $HTTP_ACCEPT_LANGUAGE); DetectAdmin($Accepted[0],1); } elseif ($HTTP_USER_AGENT != "") { DetectAdmin($HTTP_USER_AGENT,2); }; //if no language detected set the english one if (!isset($L)) $L = "english"; // Clear the table unset($AvailableAdmin); ?>phpmychat/chat/localization/arabic/0040755000175600010010000000000010201467161017125 5ustar NicolasAucunphpmychat/chat/localization/arabic/flag.gif0100644000175600010010000000037510032755640020533 0ustar NicolasAucunGIF89a³…‹خ‹T²Tجûج>”>ھçھd/ژ/sإswE¦Eï‏ï¢ط¢r»r_ھ_!ù,ھبI«¥!¥»çڑ”)RJz ippءIت² s(أà4!ب‘ƒd àأ1m‚ا  @ü*bQ8پ²c;* ف†@0(9‚ہœ-(D ` u "  5 ,!)،ژ£§§¦*،; °‌C·¸C  ھ¬;ء¯ ’¾‍¨ةجح;phpmychat/chat/localization/arabic/localized.admin.php0100644000175600010010000000446410032755640022704 0ustar NicolasAucun // extra header for charset $Charset = "windows-1256"; // medium font size in pt. $FontSize = 12; // Top frame define("A_MENU_0", "المراقب العام %s"); define("A_MENU_1", "الأعضاء المسجلين"); define("A_MENU_2", "الأعضاء المحرومين"); define("A_MENU_3", "إغلاق الساحات الخاصة"); define("A_MENU_4", "إرسال بريد"); // Frame for registered users define("A_SHEET1_1", "قائمة الأعضاء وصلاحياتهم"); define("A_SHEET1_2", "إسم المستخدم"); define("A_SHEET1_3", "الصلاحيات"); define("A_SHEET1_4", "المسؤولين عن الساحات الخاصة"); define("A_SHEET1_5", "أسماء جميع المسؤولين باستخدام (,) بينهم"); define("A_SHEET1_6", "حذف الملف الشخصي"); define("A_SHEET1_7", "حفظ التغيرات"); define("A_SHEET1_8", "لا يوجد أعضاء مسجلين سواك أنت"); define("A_SHEET1_9", "حذف معلومات المحرومين"); define("A_SHEET1_10", "أختر الخدمة المطلوبة لتحرير أسماء المبعدين"); define("A_SHEET1_11", "آخر اتصال"); define("A_USER", "العضو"); define("A_MODER", "المسؤول"); define("A_PAGE_CNT", "الصفحات %s من %s"); // Frame for banished users define("A_SHEET2_1", "قائمة الأعضاء المبعدين والساحات الخاصة الغير مرغوبة"); define("A_SHEET2_2", "رقم الآيبي"); define("A_SHEET2_3", "الساحات الغير مرغوبة"); define("A_SHEET2_4", "حتى"); define("A_SHEET2_5", "لا يوجد نفي"); define("A_SHEET2_6", "اكتب اسماء الساحات بدون مسافة ومتضمن (,) اذا كنت تريد إنهاء جميع الساحات اكتب ' * ' وسيتم ح`T
جميع الساحات"); define("A_SHEET2_7", "حذف الأشخاص المبعدين"); define("A_SHEET2_8", "لا يوجد أشخاص مبعدين"); // Frame for cleaning rooms define("A_SHEET3_1", "قائمة الساحات المتاحة حالياً"); define("A_SHEET3_2", "مسح \"الإفتراضي\" سوف ينتج عنه حذف جميع المشرفين
حالة هذه الغرفة"); define("A_SHEET3_3", "مسح الغرف المعلمة"); define("A_SHEET3_4", "لا توجد غرفه ..لكي يتم إخلائها"); // Frame for sending mails define("A_SHEET4_0", "يجب عليك أولا إعداد المعلومات الأساسية في الملف
'chat/admin/mail4admin.php' ."); define("A_SHEET4_1", "إرسال رسالة"); define("A_SHEET4_2", "إلى:"); define("A_SHEET4_3", "تحديد الجميع"); define("A_SHEET4_4", "الموضوع:"); define("A_SHEET4_5", "الرسالة:"); define("A_SHEET4_6", "إرسال"); define("A_SHEET4_7", "تمت عمليةالإرسال الى الجميع بنجاح"); define("A_SHEET4_8", "حدث خطأ في عملية الإرسال"); define("A_SHEET4_9", "يحب تعبئة حقل عنوان البريد أو الرسالة أو الموضوع"); ?>phpmychat/chat/localization/arabic/localized.chat.php0100644000175600010010000002374110032755641022533 0ustar NicolasAucun // extra header for charset $Charset = "windows-1256"; // medium font size in pt. $FontSize = 12; // welcome page define("L_TUTORIAL", "التعليمات"); define("L_WEL_1", "سيتم حذف جميع الرسائل بعد"); define("L_WEL_2", "ساعة ... وحذف إسم المستخدم في حالة الخمول بعد "); define("L_WEL_3", "دقائق"); define("L_CUR_1", "داخل ساحات الحوار ."); define("L_CUR_2", "مجموع المتواجدين حالياً"); define("L_CUR_3", "المتواجدين في الساحات الرئيسية"); define("L_CUR_4", "المتواجدين في الساحات الخاصة"); define("L_SET_1", "تسجيل الدخول"); define("L_SET_2", "إسم المستخدم"); define("L_SET_3", "عدد الرسائل التي يمكن عرضها"); define("L_SET_4", "وقت التحديث"); define("L_SET_5", "حــدد سـاحـة الـحــوار "); define("L_SET_6", "الساحات الرئيسية "); define("L_SET_7", "إختر واحده"); define("L_SET_8", "الساحات الخاصة بالأعضاء "); define("L_SET_9", "إنشاء ساحة جديدة "); define("L_SET_10", "للجميع"); define("L_SET_11", "خاصة"); define("L_SET_12", "إسم الساحة"); define("L_SET_13", ""); define("L_SET_14", "دخــول"); define("L_SRC", "is freely available on"); define("L_SECS", "ثانية"); define("L_MIN", "دقيقة"); define("L_MINS", "دقائق"); // registration stuff: define("L_REG_1", "كلمة المرور"); define("L_REG_1r", "( فقط للأعضاء المشتركين )"); define("L_REG_2", "خاص بالأعـضـاء المشتركين"); define("L_REG_3", "تسجيل"); define("L_REG_4", "تعديل الملف الشخصي"); define("L_REG_5", "إلغاء إسم مستخدم"); define("L_REG_6", "تسجيل عضو"); define("L_REG_7", "كلمة المرور"); define("L_REG_8", "البريد الالكتروني"); define("L_REG_9", "تمت عملية التسجيل بنجاح"); define("L_REG_10", "العودة"); define("L_REG_11", "إضافة"); define("L_REG_12", "تعديل الملف الشخصي"); define("L_REG_13", "إلغاء عضوية المستخدم"); define("L_REG_14", "تسجيل الدخول"); define("L_REG_15", "دخول"); define("L_REG_16", "تحديث"); define("L_REG_17", "تم تحديث معلوماتك بنجاح."); define("L_REG_18", "تم إخراجك من هذه الساحة بواسطة المسؤول."); define("L_REG_19", "هل أنت متأكد من طلبك لإلغاء عضويتك..؟"); define("L_REG_20", "نعم"); define("L_REG_21", "تم إلغاء عضويتك بنجاح."); define("L_REG_22", "لا"); define("L_REG_25", "إغلاق"); define("L_REG_30", "الإسم"); define("L_REG_31", "اللقب"); define("L_REG_32", "الصفحة المفضلة"); define("L_REG_33", "عرض المعلومات لجميع الأعضاء"); define("L_REG_34", "تعديل الملف الشخصي"); define("L_REG_35", "المراقب العام"); define("L_REG_36", "لغة الحوار"); define("L_REG_37", "الحقول التي تحتوي على * يجب تعبئتها"); define("L_REG_39", "لقد تم إغلاق الساحة بواسطة المراقب."); define("L_REG_45", "الجنس"); define("L_REG_46", "ذكر"); define("L_REG_47", "انثى"); // e-mail validation stuff define("L_EMAIL_VAL_1", "لقد طلبت الدخول الى ساحة الحوار"); define("L_EMAIL_VAL_2", "مرحباً بك في ساحة الحوار"); define("L_EMAIL_VAL_Err", "عفواً...حدث خطأ داخلي...الرجاء الإتصال بالمراقب
%s."); define("L_EMAIL_VAL_Done", "تم إرسال كلمة مرورك الى
البريد الالكتروني"); // admin stuff define("L_ADM_1", "%s لا يوجد مسؤول في هذه الساحة"); define("L_ADM_2", "لا تستطيع تسجيل أكثر من إسم"); // error messages define("L_ERR_USR_1", "المعذرة ..إسم المستخدم الذي أدخلته محجوز لمشترك آخر...فضلاً إبحث عن إسماً آخر"); define("L_ERR_USR_2", "فضلاً ..أدخل إسم المستخدم"); define("L_ERR_USR_3", "تم تسجيل إسم المستخدم...فضلاً..أدخل كلمة المرور.."); define("L_ERR_USR_4", "أدخل كلمة المرور..بطريقة صحيحة"); define("L_ERR_USR_5", "يجب إدخال ..إسم المستخدم"); define("L_ERR_USR_6", "يجب إدخال ..كلمة المرور"); define("L_ERR_USR_7", "يجب إدخال ..البريد الالكتروني."); define("L_ERR_USR_8", "يجب إدخال عنوان البريد الالكتروني بطريقة صحيحة"); define("L_ERR_USR_9", "عفواً..الإسم..مستخدم حالياً"); define("L_ERR_USR_10", "المعذرة...حدث خطأ في إسم المستخدم أو كلمة المرور"); define("L_ERR_USR_11", "عفواً للدخول الى هنا ..يجب أن تكون أنت المراقب العام."); define("L_ERR_USR_12", "عفوا ..انت المراقب العام..لذلك لايمكن حذف بياناتك"); define("L_ERR_USR_13", "لإنشاء ساحة خاصة ..يجب عليك التسجيل أولاً"); define("L_ERR_USR_14", "عفواً...يجب عليك التسجيل أولاً..قبل الدخول الى ساحات الدردشة"); define("L_ERR_USR_15", "الرجاء إدخال الإسم كاملاً."); define("L_ERR_USR_16", "يجب أن لايحتوي إسم المستخدم على (\\). "); define("L_ERR_USR_17", "عفواً..هذه الساحة غير موجودة..ولايمكنك إنشاءها."); define("L_ERR_USR_18", "إسم المستخدم الخاص بك سيء للغاية"); define("L_ERR_USR_19", "عفواً... أنت تستخدم أكثر من ساحة دردشة في نفس الوقت"); define("L_ERR_USR_20", "لقد تم إبعادك من هذه الساحة أو من جميع الساحات."); define("L_ERR_ROM_1", "أسماء الساحات لاتحتوي على (\\)."); define("L_ERR_ROM_2", "إسم الساحة الذي اخترته سيء للغاية."); define("L_ERR_ROM_3", "عفواً...إسم الساحة الذي اخترته مستخدم من قبل مستخدم آخر"); define("L_ERR_ROM_4", "غير قادر على الاستمرار"); // users frame or popup define("L_EXIT", "خروج"); define("L_DETACH", "تواجد المستخدمين"); define("L_EXPCOL_ALL", "عرض المستخدمين حالياً"); define("L_CONN_STATE", "حالة الإتصال"); define("L_CHAT", "الدخول الى ساحات الحوار"); define("L_USER", "عضو"); define("L_USERS", "أعضاء"); define("L_NO_USER", "لا يوجد أعضاء حالياً"); define("L_ROOM", "الساحة"); define("L_ROOMS", "الساحات"); define("L_EXPCOL", "إخفاء / أو عرض الساحات"); define("L_BEEP", "إصدار صوت/عدم إصدار صوت عند دخول عضو جديد"); define("L_PROFILE", "عرض الملف الشخصي"); define("L_NO_PROFILE", "No profile"); // input frame define("L_HLP", "مساعدة"); define("L_BAD_CMD", "عفواً..الرمز الذي إستخدمته خطأ"); define("L_ADMIN", "%s هو المراقب العام..!"); define("L_IS_MODERATOR", "%s هو المسؤول عن الساحة ..!"); define("L_NO_MODERATOR", "فقط من قام بإنشاء هذه الساحة ...يستطيع إستخدام هذه الخاصية."); define("L_MODERATOR", "%s هو المسؤول عن هذه الغرفة الآن"); define("L_NONEXIST_USER", "العضو %s غير موجود في الساحة"); define("L_NONREG_USER", "العضو %s لم يتم تسجيلة "); define("L_NONREG_USER_IP", "رقم الآيبي هو : %s."); define("L_NO_KICKED", "العضو %sهو المسؤول أوالمراقب العام لاتستطيع طردهم إطلاقاً"); define("L_KICKED", "العضو %s تم طرده خارج الساحة"); define("L_NO_BANISHED", "العضو %s هو المسؤول أو المراقب العام..لذلك لاتستطيع إبعاده نهائياً"); define("L_BANISHED", "العضو %s تم إبعادة بنجاح"); define("L_SVR_TIME", "الساعة : "); define("L_NO_SAVE", "لا توجد رسائل للحفظ "); define("L_NO_ADMIN", "تحذير : فقط المراقب العام من يستطيع إستخدام هذه الخاصية"); define("L_ANNOUNCE", "إعــلان"); define("L_INVITE", "%s يدعوك للدخول معه في حوار خاص عن طريق هذه الساحة %s"); define("L_INVITE_REG", " يجب أن تكون من المشتركين للدخول الى هذه الغرفة."); define("L_INVITE_DONE", "تم إرسال طلب الدعوة الى %s."); define("L_OK", "إرسال"); // help popup define("L_HELP_TIT_1", "تعبيرات الوجوه"); define("L_HELP_TIT_2", "خطوط مميزة"); define("L_HELP_FMT_1", "تستطيع الكتابة بخط عريض أو مائل أو وضع عبارة تحتها خط بإستخدام <B> </B>, <I> </I> أو <U> </U> .
مثال: <B>خالد</B> ستصبح خالد."); define("L_HELP_FMT_2", "لعمل إرتباط الى موقع أو بريد الكتروني سيتم تشغيل هذا الارتباط تلقائياً."); define("L_HELP_TIT_3", "الأوامر"); define("L_HELP_USR", "عضو"); define("L_HELP_MSG", "رسالة"); define("L_HELP_ROOM", "الساحة"); define("L_HELP_CMD_0", "{} تم إستخدام, [] للشرح فقط."); define("L_HELP_CMD_1a", "حدد عدد الرسائل المراد مشاهدتها في الصفحة، الحد الأدنى والإفتراضي هو 5"); define("L_HELP_CMD_1b", "إعادة تحميل الرسائل السابقة \"؟\" هو عدد الرسائل المراد تحميها ، الوضع الافتراضي هو 5"); define("L_HELP_CMD_2a", "تعديل تحديث ساحة الحوار.
اذا لم تفعل ذلك سيتم التحديث تلقائياً."); define("L_HELP_CMD_2b", "تعديل تحديث قائمة المتواجدين.
اذا لم تفعل ذلك سيتم التحديث تلقائياً."); define("L_HELP_CMD_3", "تغير بداية الرسائل الجديدة سواء من الأعلى أو من الأسفل."); define("L_HELP_CMD_4", "فتح ساحة حوار جديده.
حرف (النون) هو قيمة متغيرة (0) = ساحة حوار خاصة (1) = يمكن مشاهدنها من الجميع."); define("L_HELP_CMD_5", "مغادرة ساحة الحوار بعد مشاهدة خصائص الصفحة."); define("L_HELP_CMD_6", "تجاهل رسالة من عضو
اكتب الامر واسم العضو لإضافته لقائمة التجاهل ، واذا اردت إستقبال الرسائل منه أضف (- ) قبل الاسم فقط
وباستخدام نفس الامر تستطيع مشاهدة قائمة التجاهل."); define("L_HELP_CMD_7", "التذكير بآخر ماتم كتابته سواء (أمر أو رسالة)."); define("L_HELP_CMD_8", "مشاهدة / إخفاء الوقت قبل الرسالة"); define("L_HELP_CMD_9", "طرد عضو من ساحة الحوار..لايستطيع تنفيذ هذا الأمر سوى المسؤول فقط."); define("L_HELP_CMD_10", "أرسال رسالة خاصة."); define("L_HELP_CMD_11", "مشاهدة معلومات عضو."); define("L_HELP_CMD_12", "فتح نافذة تعديل الملف الشخصي."); define("L_HELP_CMD_13", "الإعلام ..في حال دخول / خروج مستخدم."); define("L_HELP_CMD_14", "السماح للمراقب العام أو المسئول بترقية عضو الى مسئول."); define("L_HELP_CMD_15", "مسح جميع الرسائل الموجوده ماعدا الخمس رسائل الأخيرة."); define("L_HELP_CMD_16", "حفظ جميع الرسائل ..فقط اذا سمح المراقب العام بذلك."); define("L_HELP_CMD_17", "السماح للمراقب العام او المسئول عن الساحة بإرسال إعلان للأعضاء."); define("L_HELP_CMD_18", "دعوة شخص آخر للدخول الى ساحة حوار خاصة."); define("L_HELP_CMD_19", "السماح لمسؤولي الساحات والمراقب العام \"بإبعاد\" أي شخص من ساحة الحوار حسب الوقت الذي حدده المراقب العام.
وبعد إنقضاء المدة يستطيع العضو الدخول الى الساحة ، وللإبعاد الكلي يمكن إضافة ' * ' عندها سيكون \"إبعاد من جميع الساحات\" ولن يستطيع الدخول الى أي ساحة.."); define("L_HELP_CMD_20", "Describe what you're doing without refer yourself."); // messages frame define("L_NO_MSG", "لا توجد رسائل ..."); define("L_TODAY_DWN", "الرسائل الجديده لهذا اليوم ستظهر في الأسفل"); define("L_TODAY_UP", "الرسائل الجديده لهذا اليوم ستظهر في الأعلى"); // message colors $TextColors = array( "أسود" => "#000000", "أحمر" => "#FF0000", "أخضر" => "#009900", "أزرق" => "#0000FF", "ارجواني" => "#9900FF", "عودي" => "#990000", "زيتي" => "#006600", "كحلي" => "#000099", "قرمزي" => "#996633", "أزرق بحري" => "#006699", "برتقالي فاتح" => "#FF6600"); // ignored popup define("L_IGNOR_TIT", "تجاهل"); define("L_IGNOR_NON", "لا يوجد أعضاء في قائمة التجاهل"); // whois popup define("L_WHOIS_ADMIN", "المراقب العام"); define("L_WHOIS_MODER", "المسؤول"); define("L_WHOIS_USER", "العضو"); // Notification messages of user entrance/exit define("L_ENTER_ROM", "%s إنضم الى هذه الساحه"); define("L_EXIT_ROM", "%s غادر هذه الساحة"); ?>phpmychat/chat/localization/arabic/localized.tutorial.php0100644000175600010010000004772510032755644023472 0ustar NicolasAucun // Get the names and values for vars sent by the script that called this one if (isset($HTTP_GET_VARS)) { while(list($name,$value) = each($HTTP_GET_VARS)) { $$name = $value; }; }; ?> التعليمات الخاصة <?php echo(APP_NAME." - ".APP_VERSION); ?>

التعليمات الأساسية

Warning: Mozilla and Netscape users can't use with arabic language because these browsers seem not to accept languages written from the right to the left.

إختيار اللغة
الدخول الى الساحات
التسجيل
تعديل الملف الشخصي
إنشاء ساحة حوار خاصة
حالة الإتصال
المشاركة في الساحات
قائمة الأعضاء
الخروج من الساحة
من هم المتواجدين حالياً داخل الساحات

طريقة عرض ساحات الحوار

المميزات والأوامر المستخدمة :
    طلب المساعدة
    إستخدام الصور
    خطوط مميزة
    دعوة عضو للإنظمام الى ساحة حوار خاصة
    تغير ساحة الحوار
    الرسائل الخاصة
    Actions
    قائمة التجاهل
    طلب الملف الشخصي لعضو معين
    حفظ الرسائل

الأوامر الخاصة بأصحاب الساحات الخاصة.... والمراقب العام
    إرسال إعــلان
    أوامر الطرد
    أوامر الإبعاد المؤقت
    الترقية من عضو الى مسؤول



إختيار اللغة

بإمكانك إختيار أي لغة تريدها لواجهة التطبيق في وسيتم ترجمت واجهة التطبيق كاملة في جميع الساحات وذلك بالضغط على علم الدولة التي تريد تحويل اللغة اليها مثال :

إختيار الأعلام لتحديد اللغة

العودة الى القائمة الرئيسية


الدخول الى ساحات الحوار

اذا كنت قد سجلت في ساحات الحوار وتود الدخول فقط ماعليك سوى إدخال اسم المستخدم وكلمة المرور وإختيار الساحة المراد الدخول إليها.

يجب عليك أولاً تعبئة نموذج التسجيل

تستطيع أيضاً الدخول بدون تسجيل بكل بساطة وذلك بكتابة إسم المستخدم فقط لاحظ أنه بمجرد خروجك يمكن لأي شخص إستخدامه.

العودة الى القائمة الرئيسية


التسجيل :

إذا كنت لاتملك عضوية ، الرجاء إختيار خيار التسجيل وتعبئة النموذج الخاص بذلك. إذا كنت لاتملك عضوية وتريد التسجيل لدينا. الرجاء إختيار خيار التسجيل وتعبئة النموذج الخاص بذلك.

  • أولاُ : اكتب إسم المستخدم الخاص بك، لاحظ انه سيكون هو الأسم الظاهر لجميع المستخدمين في جميع ساحات الحوار ولا يمكن أن يحتوي على (\).
  • ثانياً : أدخل الإسم الأول ، اللقب ، البريد الالكتروني
  • اذا كنت تملك موقع على الانترنت بإمكانك كتابة عنوان موقعك.
  • ثالثاً : اللغة ..يمكنك إختيار لغة واجة التطبيق التي ستكون خاصة بجميع ساحات البرنامج.
  • رابعاً : اذا كنت ترغب في مشاهدة معلوماتك لجميع الأعضاء ضع علامة صح في هذا المربع.
  • إضغط تسجيل للإستمرار ..أو إغلاق

يستطيع الإعضاء المسجلين تعديل الملف الشخصي وذلك عن طريق خيار الملف الشخصي. يستطيع الإعضاء المسجلين تعديل أو حذف الملف الشخصي وذلك عن طريق خيار الملف الشخصي.

العودة الى القائمة الرئيسية


إنشاء ساحة حوار خاصة :

فقط..الأعضاء المسجلين هم من يستطيعون إنشاء ساحات ( غرف) خاصة ولهم الخيار في من يستطيع الدخول أو مشاهدة هذه الساحة الجميع أو أشخاص معينين فقط .

لن يمكنك فتح ساحة خاصة يحتوي إسمها على (مسافة ، سلاش،دوت) (\).

العودة الى القائمة الرئيسية


حالة الإتصال :

الرمز الموجود في أعلى الصفحة من جهة اليمين يوضح حالة إتصالك بساحة الحوار كالتالي :

  • غير متصل طلب الإتصال .
  • متصل اتصال .
  • فشل الإتصال فشل الإتصال .

عند الضغظ على الايقونة الحمراء سيقوم بطلب إتصال جديد.

العودة الى القائمة الرئيسية


إرسال رسالة :

تستطيع إرسال رسالة لكل المتواجدين في ساحة الحوار وذلك بالكتابة في مربع النص أسفل الصفحة ومن ثم الضغط على الإرسال وسيتم مشاهدة الرسالة من جميع المتواجدين.

كذلك تستطيع تغير لون الخط بالضغط على صندوق الألوان حسب اللون المطلوب.

العودة الى القائمة الرئيسية


قائمة الأعضاء المتواجدين

    معرفة من هم المستخدمين لساحات الحوار:
  1. a little icon that shows gender is displayed before the nick of a registered user (clicking on it will launch the whois popup for this user), while unregistered users have nothing but blank spaces displayed before their nick;
  2. المراقب العام وأصحاب الساحات الخاصة تكتب أسمائم بخط مائل.

مثال, صورة توضيحية :
قائمة الأعضاء
  • Nicolas هي المراقب العام

  • alien (whose gender is unknown), Jezek2 and Caridad are registered users with no extra "power" for the phpMyChat room;

  • lolo is a simple unregistered user.

العودة الى القائمة الرئيسية


الخروج من ساحات الحوار

للخروج من ساحات الحوار ماعليك سوى الضغط على كلمة "خروج" في أعلى الصفحة أو كتابة أحد الأوامر التالية :
/exit
/bye
/quit

هذه الأوامر ستقوم بكتابة رسالة توديع بمجرد خروجك من ساحة الحوار

مثال : /quit مع السلامة

العودة الى القائمة الرئيسية


معرفة من هم المتحاورون قبل الولوج الى ساحة الحوار

تستطيع معرفة كم عدد المتواجدين على ساحات الحوار بالضغط على هذه الصورة عدد المتواجدين حالياً

وعند الضغط على هذه الصورة إصدار صوت سيقوم السيرفر بإصدار نغمة عند ولوج أي عضو جديد الى ساحة الحوار

العودة الى القائمة الرئيسية



طريقة عرض ساحات الحوار :

تتستطيع التحكم بالكثير من المميزات في استخدام ساحة الحوار وفيما يلي بعض التفاصيل

  • الأمر Clear يسمح لك بمسح جميع الحوارت المتواجدة أمامك
    أكتب "/clear"

  • الأمر Order يسمح لك بمشاهدة الرسائل الجديدة من الأعلى أو من الأسفل
    أكتب "/order"

  • الأمــر Notify يسمح لك بمشاهدة دخول أو خروج الأعضاء من وإلى ساحة الحوار .الوضع الإفتراضي هو ( تشغيل ) .
  • الأمــر Notify يسمح لك بمشاهدة دخول أو خروج الأعضاء من وإلى ساحة الحوار .الوضع الإفتراضي هو ( إغلاق ) .
    اكتب الأمر "/notify" من غير علامتي الإقتباس.

  • الأمر Timestamp يسمح لك بتشغيل الوقت الإفتراضي لساعة السيرفر..الوضع الإفتراضي هو : .
    اكتب "/timestamp"

  • الأمر Refresh بالتحديث التلقائي ثانية. اكتب "/refresh n" عندها سيقوم السيرفر بالتحديث التلقائي حسب المتغيرة "n"

    مثال: /refresh 5

  • الأمر Show يسمح لك بإظهار الرسائل القديمة على الشاشة "/show n" (n) هي القيمة المتغيرة لعدد الرسائل.

    مثال: /show 50

    ستكون النتيجة عرض 50 رسالة في الشاشة الرئيسية لمتصفحك .

  • الأوامر Show و Last تسمح لك بمسح الرسائل في ساحة الحوار وكذلك مشاهدة آخر الرسائل الجديدة n هي القيمة المتغيرة لعدد الرسائل اللي تود مشاهدتها. اكتب الأمر "/show n" أو "/last n" من غير علامتي الإقتباس والقيمة (n) هي عدد الرسائل المراد مشاهدتها.

    مثال: /show 50 أو /last 50

    العودة الى القائمة الرئيسية



المميزات والأوامر

الأوامر المساعدة :

تستطيع معرفة جميع الأوامر بالضغط على ? أو كتابة الأمر : "/help" أو "/?" الأوامر في صندوق الرسائل

العودة الى القائمة الرئيسية


تعبيرات الوجوه :

تعبيرات الوجوه هي صور صغيرة تستخدم للتعبير عن حالة الكاتب وقت الكتابة وانفعالاته ، لما لهذه الانفعالات من أهمية في إضفاء شيء من الحيوية على النقاشات عبر الانترنت .

0) echo("\t"); echo("\n"); echo("$ResultTbl[$i]"); echo("\t\n\t\n"); $i++; echo("$ResultTbl[$i]"); echo("\t\n"); $i++; }; unset($ResultTbl); ?>

مثال, "مرحبا خالد :)" ستصبح : مرحبا خالد :) داخل ساحة الحوار

العودة الى القائمة الرئيسية


خظوظ مميزة :

لإستخدام خطوط مميزة يمكن وضع العبارة بين أحد هذه الأوامر. <B> </B> <I> </I> أو <U> </U> كود الاتش تي ام ال ، فقط إذا سمح المراقب تشغيل هذه الخاصية .

مثال, <B>شبكة مواقع المملكة</B> النتيجة شبكة مواقع المملكة.

لإنشاء وصلة الى موقع آخر أو بريد الكتروني ستتم المعالجة آلياً.

العودة الى القائمة الرئيسية


إرسال دعوة الى شخص للدخول الى ساحتك الخاصة :

تستطيع إستخدام الأمر invite في حال رغبتك لدعوة شخص آخر الى ساحتك الخاصة

مثال: /invite خالد

ملاحظة: تستطيع طلب أكثر من شخص بإستخدام نفس الأمر : ( "/invite خالد,نواف,فهد"). يجب أن يحتوى الأمر على (,) بين الأسماء

العودة الى القائمة الرئيسية


تغير ساحة الحوار :

تستطيع الخروج من ساحة الحوار التي انت متواجد فيها والذهاب لساحة حوار أخرى أو فتح ساحة خاصة بكتابة هذا الأمر "/join #إسم الساحة"

مثال: /join #الساحة العامة

سيتم نقلك آلياً الى الساحة العامة.

إذا كنت عضو مشترك ، بإمكانك فتح ساحة حوار خاصة بإستخدام نفس الأمــر. اكتب القيمة (0) لإنشاء ساحة حوار خاصة أو القيمة (1) لإنشاء ساحة حوار يمكن للجميع مشاهدتها ( الوضع الإفتراضي ).

بإمكانك أيضاً فتح ساحة حوار خاصة بإستخدام نفس الأمــر. اكتب القيمة (0) لإنشاء ساحة حوار خاصة أو القيمة (1) لإنشاء ساحة حوار يمكن للجميع مشاهدتها ( الوضع الإفتراضي ).

مثال: /join 0 #إسم الساحة

لإنشاء ساحة حوار جديده ( نأخذ بعين الإعتبار انه لم يقوم شخص آخر بفتح غرفة بإستعمال نفس الإسم للساحة .) فقط إستخدم الأمر السابق + إسم الساحة الجديده وسيتم فتح الساحة الخاصة فوراً.

لاتستطيع فتح ساحة خاصة اذا احتوى الاسم على (\).

العودة الى القائمة الرئيسية


تعديل الملف الشخصي من ساحة الحوار :

سيتم تعديل الملف الشخصي من داخل ساحة الحوار وذلك باستخدام الأمر التالي + إسم المستخدم وكلمة المرور بالتتابع :
/profile

العودة الى القائمة الرئيسية


التذكير بأوامر الرسائل :

للتذكير بالأوامر
أكتب "/!"

العودة الى القائمة الرئيسية


طلب عضو محدد :

إضغط على إسم العضو من قائمة المستخدمين ستجد أنه تمت إضافة الإسم في صندوق الكتابة ومن ثم إرسل له الرسالة باستخدام الأمر المرغوب.

العودة الى القائمة الرئيسية


الرسائل الخاصة

لإرسال رسالة خاصة لعضو موجود حالياً أكتب الأمر : "/msg إسم العضو الرسالة" أو "/to إسم العضو الرسالة" بدون علامتي الإقتباس.

مثال, نفترض ان خالد هو المراد إرسال رسالة خاصة له : /msg خالد كيفك ياخالد ؟

ستظهر هذه الرسالة فقط للعضو خالد .

ملاحظة : عند الضغط على إسم العضو من المربع الخاص بالحوار سيتم تهيئة الأمر آلياً لإرسال رسلة خاصة.

العودة الى القائمة الرئيسية


Actions:

To describe what you're doing you can use the command "/me action" without quotes.

For example: If Jack sends the message "/me is smoking a cigarette" the message frame will shown "* Jack" is smoking a cigarette".

العودة الى القائمة الرئيسية


قائمة التجاهل :

لإضافة شخص الى قائمة التجاهل إستخدم الأمر : "/ignore إسم العضو"

مثال : /ignore خالد

في هذه اللحظة لن يتم إستقبالك لأي رسالة من "خالد"

لمشاهدة من في قائمة التجاهل الخاص بك..أكتب الأمر التالي "/ignore"

لإعادة إستقبل الرسائل من عضو في قائمة التجاهل يمكن ذلك بلإستخدام الأمر التالي : "/ignore - إسم العضو"

مثال: /ignore - خالد

في هذه اللحظة سيتم إستقبالك لجميع الرسائل المرسلة من "خالد" حتى اللتي لم يتم إستقبلك لها بسبب تجاهلك له.

ملاحظة جميع الأوامر تكتب بدون علامتي الإقتباس "" كما بإمكانك تجاهل عدة أشخاص بإستخدام أمر واحد ومرة واحدة فقط : ( "/ignore خالد,نواف,مشاري" أو "/ignore - خالد,نواف"). يجب أن تتظمن "الكوما" (,) وبدون مسافة.

العودة الى القائمة الرئيسية


طلب الملف الشخصي لعضو معين :

لمشاهدة الملف الشخصي لعضو معين يمكن ذلك بواسطة الأمر : "/whois إسم العضو"

مثال : /whois خالد

العودة الى القائمة الرئيسية


حفظ الرسائل :

سيتم حفظ الرسائل فقط في حال سماح المراقب بتشغيل هذه الميزة ..وذلك بواسطة الأمر : "/save n"

مثال /save 5

5 تمثل جميع الرسائل الموجوده حالياً في ساحة الحوار..سيتم حفظها.

العودة الى القائمة الرئيسية



الأوامر الخاصة بمسؤولي الساحات الخاصة والمراقب العام فقط :

إرسال إعلان

يستطيع المراقب العام إرسال إعــلان لجميع الإعضاء والمستخدمين في ساحات الحوار بواسطة الأمر : /announce .

مثال : /announce نتمنى لكم قضاء أجمل الأوقات

العودة الى القائمة الرئيسية


أوامر الطرد :

فقط من قام بإنشاء الساحة الخاصة (المسؤول) أو المراقب العام من يستطيع بطرد أي شخص من الساحة بواسطة الأمر : /kick

مثال :, نفترض أن خالد هو العضو المراد طرده من ساحة الحوار /kick خالد

العودة الى القائمة الرئيسية


أوامر الإبعاد المؤقت

فقط من قام بإنشاء الساحة الخاصة (المسؤول) أو المراقب العام من يستطيع بإبعاد أي شخص وعدم السماح له بالدخول الى الساحة لمدة معينة كما يحددها المراقب العام بواسطة الأمر : /ban .
يستطيع المراقب العام إبعاد أي شخص من أي ساحة موقتاً وأيضاً يستطيع إبعاده نهائياً يإضافة : ' * ' قبل إسم العضو المراد إبعاده نهائياً

مثال :, نفترض أن "خالد" هو من نريد إبعاده مؤقتاً عن الساحة /ban خالد أو /ban * خالد

العودة الى القائمة الرئيسية


الترقية من عضو الى مسؤول :

فقط من قام بإنشاء الساحة الخاصة (المسؤول) أو المراقب العام من يستطيع ترقية عضو الى مسئول بواسطة الأمر : /promote .

مثال :, نفترض أن العضو "خالد" نود ترقيته الى مسؤول : /promote خالد

العودة الى القائمة الرئيسية

phpmychat/chat/localization/arabic/regex.txt0100644000175600010010000000001110032755644020775 0ustar NicolasAucunar|arabicphpmychat/chat/localization/argentinian_spanish/0040755000175600010010000000000010201467161021730 5ustar NicolasAucunphpmychat/chat/localization/argentinian_spanish/flag.gif0100644000175600010010000000020010032755644023325 0ustar NicolasAucunGIF89a³cخےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے,@5„I«½tèح» Œdi‍‚„®hب¾¤ôحں ؟ِ½؛ْ.ِ­ذ$£5إ#-7ŒڑDŒt;phpmychat/chat/localization/argentinian_spanish/localized.admin.php0100644000175600010010000000522610032755644025510 0ustar NicolasAucun // extra header f