Merge branch 'upstream'

This commit is contained in:
marijus 2014-01-30 00:08:40 +01:00
commit a58239b9a8
232 changed files with 1867 additions and 25601 deletions

View File

@ -46,7 +46,7 @@ define ( 'RED_PLATFORM', 'Red Matrix' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1092 );
define ( 'DB_UPDATE_VERSION', 1094 );
define ( 'EOL', '<br />' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );

View File

@ -17,7 +17,7 @@ We need much more than this, but here are areas where developers can help. Pleas
* (Advanced) create a UI for building Comanche pages
* Help with WebDAV and file storage implementation, especially replacing the fugly Sabre web UI.
* templatise and translate the Web interface to webDAV
* Extend WebDAV to provide desktop access to photo albums
@ -25,7 +25,7 @@ We need much more than this, but here are areas where developers can help. Pleas
* service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.
* Events module - bring back birthday reminders for friends, fix permissions on events, and provide JS translation support for the calendar overview
* Events module - bring back birthday reminders for friends, fix permissions on events, and provide JS translation support for the calendar overview; integrate with calDAV
* Events module - event followups and RSVP

View File

@ -1,5 +1,5 @@
<h3>BBcode reference</h3>
<div style="font-size: 14px;">
<div style="font-size: 14px; width=92%; max-width=1024px; display:block">
<br /><br />
<ul class="listdecimal" style="list-style-type: decimal;">
<li>[b]bold[/b] - <strong>bold</strong><br />
@ -9,6 +9,10 @@
<li>[color=red]red[/color] - <span style="color: red;">red</span><br />
<li>[url=https://redmatrix.me]Red Matrix[/url] <a href="https://redmatrix.me">Red Matrix</a><br />
<li>[img]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" alt="Image/photo" /><br />
<li>[img float=left]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" style="float:left;" alt="Image/photo" /><br />
<div style="clear:both;"></div>
<li>[img float=right]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" style="float:right;" alt="Image/photo" /><br />
<div style="clear:both;"></div>
<li>[code]code[/code] <code>code</code><br />
<li>[quote]quote[/quote] <blockquote>quote</blockquote><br />
<li>[quote=Author]Author? Me? No, no, no...[/quote] <br /><strong class="author">Author wrote:</strong><blockquote>Author? Me? No, no, no...</blockquote><br />

View File

@ -218,7 +218,7 @@ class Item extends BaseObject {
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
'expiretime' => (($item['expires'] > 0) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'expiretime' => (($item['expires'] !== '0000-00-00 00:00:00') ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'lock' => $lock,
'verified' => $verified,
'unverified' => $unverified,

View File

@ -439,17 +439,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
if (strpos($Text,'[/center]') !== false) {
$Text = preg_replace("(\[center\](.*?)\[\/center\])ism","<div style=\"text-align:center;\">$1</div>",$Text);
}
// Check for list text
$Text = str_replace("[*]", "<li>", $Text);
// Check for style sheet commands
if (strpos($Text,'[/style]') !== false) {
$Text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism","<span style=\"$1;\">$2</span>",$Text);
}
// Check for CSS classes
if (strpos($Text,'[/class]') !== false) {
$Text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism","<span class=\"$1\">$2</span>",$Text);
}
// handle nested lists
$endlessloop = 0;
@ -539,23 +532,52 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
"<br /><strong class=".'"author"'.">" . $t_wrote . "</strong><blockquote>$2</blockquote>",
$Text);
// [img=widthxheight]image source[/img]
//$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '<img src="$3" style="height: $2px; width: $1px;" >', $Text);
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '<img src="$3" style="width: $1px;" >', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg\=([0-9]*)x([0-9]*)\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$3" style="width: $1px;" >', $Text);
}
// Images
// [img]pathtoimage[/img]
if (strpos($Text,'[/img]') !== false) {
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$1" alt="' . t('Image/photo') . '" />', $Text);
}
// [img float={left, right}]pathtoimage[/img]
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img float=left\](.*?)\[\/img\]/ism", '<img src="$1" style="float: left;" alt="' . t('Image/photo') . '" />', $Text);
}
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img float=right\](.*?)\[\/img\]/ism", '<img src="$1" style="float: right;" alt="' . t('Image/photo') . '" />', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg float=left\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$1" style="float: left;" alt="' . t('Image/photo') . '" />', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg float=right\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$1" style="float: right;" alt="' . t('Image/photo') . '" />', $Text);
}
// [img=widthxheight]pathtoimage[/img]
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '<img src="$3" style="width: $1px;" alt="' . t('Image/photo') . '" >', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg\=([0-9]*)x([0-9]*)\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$3" style="width: $1px;" alt="' . t('Image/photo') . '" >', $Text);
}
// [img=widthxheight float={left, right}]pathtoimage[/img]
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*) float=left\](.*?)\[\/img\]/ism", '<img src="$3" style="width: $1px; float: left;" alt="' . t('Image/photo') . '" >', $Text);
}
if (strpos($Text,'[/img]') !== false) {
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*) float=right\](.*?)\[\/img\]/ism", '<img src="$3" style="width: $1px; float: right;" alt="' . t('Image/photo') . '" >', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg\=([0-9]*)x([0-9]*) float=left\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$3" style="width: $1px; float: left;" alt="' . t('Image/photo') . '" >', $Text);
}
if (strpos($Text,'[/zmg]') !== false) {
$Text = preg_replace("/\[zmg\=([0-9]*)x([0-9]*) float=right\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$3" style="width: $1px; float: right;" alt="' . t('Image/photo') . '" >', $Text);
}
// crypt
if (strpos($Text,'[/crypt]') !== false) {
$x = random_string();
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><div id="' . $x . '"><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" onclick="red_decrypt(\'rot13\',\'\',\'$1\',\'#' . $x . '\');" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br /></div>', $Text);

148
include/chat.php Normal file
View File

@ -0,0 +1,148 @@
<?php /** @file */
function chatroom_create($channel,$arr) {
$ret = array('success' => false);
$name = trim($arr['name']);
if(! $name) {
$ret['message'] = t('Missing room name');
return $ret;
}
$r = q("select cr_id from chatroom where cr_uid = %d and cr_name = '%s' limit 1",
intval($channel['channel_id']),
dbesc($name)
);
if($r) {
$ret['message'] = t('Duplicate room name');
return $ret;
}
$created = datetime_convert();
$x = q("insert into chatroom ( cr_aid, cr_uid, cr_name, cr_created, cr_edited, allow_cid, allow_gid, deny_cid, deny_gid )
values ( %d, %d , '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($channel['channel_account_id']),
intval($channel['channel_id']),
dbesc($name),
dbesc($created),
dbesc($created),
dbesc($arr['allow_cid']),
dbesc($arr['allow_gid']),
dbesc($arr['deny_cid']),
dbesc($arr['deny_gid'])
);
if($x)
$ret['success'] = true;
return $ret;
}
function chatroom_destroy($channel,$arr) {
$ret = array('success' => false);
if(intval($arr['cr_id']))
$sql_extra = " and cr_id = " . intval($arr['cr_id']) . " ";
elseif(trim($arr['cr_name']))
$sql_extra = " and cr_name = '" . protect_sprintf(dbesc(trim($arr['cr_name']))) . "' ";
else {
$ret['message'] = t('Invalid room specifier.');
return $ret;
}
$r = q("select * from chatroom where cr_uid = %d $sql_extra limit 1",
intval($channel['channel_id'])
);
if(! $r) {
$ret['message'] = t('Invalid room specifier.');
return $ret;
}
q("delete from chatroom where cr_id = %d limit 1",
intval($r[0]['cr_id'])
);
if($r[0]['cr_id']) {
q("delete from chatpresence where cp_room = %d",
intval($r[0]['cr_id'])
);
}
$ret['success'] = true;
return $ret;
}
function chatroom_enter($observer_xchan,$room_id,$status,$client) {
if(! $room_id || ! $observer_xchan)
return;
$r = q("select * from chatroom where cr_id = %d limit 1",
intval($room_id)
);
if(! $r)
return;
require_once('include/security.php');
$sql_extra = permissions_sql($r[0]['cr_uid']);
$x = q("select * from chatroom where cr_id = %d and uid = %d $sql_extra limit 1",
intval($room_id)
intval($r[0]['cr_uid'])
);
if(! $x) {
notice( t('Permission denied.') . EOL);
return;
}
$r = q("select * from chatpresence where cp_xchan = '%s' and cp_room = %d limit 1",
dbesc($observer_xchan),
intval($room_id)
);
if($r) {
q("update chatpresence set cp_status = %d and cp_last = '%s' where cp_id = %d limit 1",
dbesc($status),
dbesc(datetime_convert()),
intval($r[0]['cp_id'])
);
return true;
}
$r = q("insert into chatpresence ( cp_room, cp_xchan, cp_last, cp_status, cp_client )
values ( %d, '%s', '%s', '%s', '%s' )",
intval($room_id),
dbesc($observer_xchan),
dbesc(datetime_convert()),
dbesc($status),
dbesc($client)
);
return $r;
}
function chatroom_leave($observer_xchan,$room_id,$status) {
if(! $room_id || ! $observer_xchan)
return;
$r = q("select * from chatpresence where cp_xchan = '%s' and cp_room = %d limit 1",
dbesc($observer_xchan),
intval($room_id)
);
if($r) {
q("delete from chatpresence where cp_id = %d limit 1",
intval($r[0]['cp_id'])
);
}
return true;
}
function chatroom_list($uid) {
$r = q("select cr_name, cr_id, count(cp_id) as cr_inroom from chatroom left join chatpresence on cr_id = cp_room where cr_uid = %d group by cp_id order by cr_name",
intval($uid)
);
return $r;
}

View File

@ -687,6 +687,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
'expiretime' => (($item['expires'] !== '0000-00-00 00:00:00') ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'location' => $location,
'indent' => '',
'owner_name' => $owner_name,

View File

@ -544,6 +544,9 @@ function profile_load(&$a, $nickname, $profile = '') {
}
$a->profile = $r[0];
$online = get_online_status($nickname);
$a->profile['online_status'] = $online['result'];
$a->profile_uid = $r[0]['profile_uid'];
$a->page['title'] = $a->profile['channel_name'] . " - " . $a->profile['channel_address'] . "@" . $a->get_hostname();
@ -678,13 +681,15 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
$gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
$marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
$profile['online'] = (($profile['online_status'] === 'online') ? t('Online Now') : False);
logger('online: ' . $profile['online']);
if(! perm_is_allowed($profile['uid'],((is_array($observer)) ? $observer['xchan_hash'] : ''),'view_profile')) {
$block = true;
}
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
$location = $pdesc = $gender = $marital = $homepage = False;
$location = $pdesc = $gender = $marital = $homepage = $online = False;
}
$firstname = ((strpos($profile['name'],' '))
@ -1144,3 +1149,46 @@ function is_foreigner($s) {
function is_member($s) {
return((is_foreigner($s)) ? false : true);
}
function get_online_status($nick) {
$ret = array('result' => false);
$r = q("select channel_id, channel_hash from channel where channel_address = '%s' limit 1",
dbesc(argv(1))
);
if($r) {
$hide = get_pconfig($r[0]['channel_id'],'system','hide_online_status');
if($hide)
return $ret;
$x = q("select cp_status from chatpresence where cp_xchan = '%s' and cp_room = 0 limit 1",
dbesc($r[0]['channel_hash'])
);
if($x)
$ret['result'] = $x[0]['cp_status'];
}
return $ret;
}
function remote_online_status($webbie) {
$result = false;
$r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
dbesc($webbie)
);
if(! $r)
return $result;
$url = $r[0]['hubloc_url'] . '/online/' . substr($webbie,0,strpos($webbie,'@'));
$x = z_fetch_url($url);
if($x['success']) {
$j = json_decode($x['body'],true);
if($j)
$result = (($j['result']) ? $j['result'] : false);
}
return $result;
}

View File

@ -23,29 +23,6 @@ function menu_fetch($name,$uid,$observer_xchan) {
return null;
}
function bookmarks_menu_fetch($uid,$observer_xchan,$flags = MENU_BOOKMARK) {
$sel_option = (($flags) ? ' and menu_flags = ' . intval($menu_flags) . ' ' : '');
$sql_options = permissions_sql($uid);
$r = q("select * from menu where menu_channel_id = %d $sel_option limit 1",
intval($uid)
);
if($r) {
$x = q("select * from menu_item where mitem_menu_id = %d and mitem_channel_id = %d
$sql_options
order by mitem_order asc, mitem_desc asc",
intval($r[0]['menu_id']),
intval($uid)
);
return array('menu' => $r[0], 'items' => $x );
}
return null;
}
function menu_render($menu) {
if(! $menu)
return '';
@ -95,7 +72,7 @@ function menu_create($arr) {
$menu_channel_id = intval($arr['menu_channel_id']);
$r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d and menu_flags = %d limit 1",
$r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d limit 1",
dbesc($menu_name),
intval($menu_channel_id),
intval($menu_flags)
@ -124,8 +101,11 @@ function menu_create($arr) {
}
function menu_list($channel_id) {
$r = q("select * from menu where menu_channel_id = %d order by menu_name",
function menu_list($channel_id, $flags = 0) {
$sel_options = (($flags) ? " and ( menu_flags & " . intval($flags) . " ) " : '');
$r = q("select * from menu where menu_channel_id = %d $sel_options order by menu_name",
intval($channel_id)
);
return $r;
@ -153,9 +133,8 @@ function menu_edit($arr) {
$menu_channel_id = intval($arr['menu_channel_id']);
$r = q("select menu_id from menu where menu_name = '%s' and menu_flags = %d and menu_channel_id = %d limit 1",
$r = q("select menu_id from menu where menu_name = '%s' and menu_channel_id = %d limit 1",
dbesc($menu_name),
intval($menu_flags),
intval($menu_channel_id)
);
if(($r) && ($r[0]['menu_id'] != $menu_id)) {
@ -173,22 +152,11 @@ function menu_edit($arr) {
return false;
}
$r = q("select * from menu where menu_name = '%s' and menu_channel_id = %d and menu_desc = '%s' and menu_flags = %d limit 1",
dbesc($menu_name),
intval($menu_channel_id),
dbesc($menu_desc),
intval($menu_flags)
);
if($r)
return false;
return q("update menu set menu_name = '%s', menu_desc = '%s',
return q("update menu set menu_name = '%s', menu_desc = '%s', menu_flags = %d,
where menu_id = %d and menu_channel_id = %d limit 1",
dbesc($menu_name),
dbesc($menu_desc),
intval($menu_flags),
intval($menu_id),
intval($menu_channel_id)
);

View File

@ -891,6 +891,7 @@ function smilies($s, $sample = false) {
$s = preg_replace_callback('/<pre>(.*?)<\/pre>/ism','smile_encode',$s);
$s = preg_replace_callback('/<code>(.*?)<\/code>/ism','smile_encode',$s);
// $s = preg_replace_callback('/<(.*?)>/ism','smile_encode',$s);
$texts = array(
'&lt;3',
@ -983,6 +984,7 @@ function smilies($s, $sample = false) {
$s = preg_replace_callback('/<pre>(.*?)<\/pre>/ism','smile_decode',$s);
$s = preg_replace_callback('/<code>(.*?)<\/code>/ism','smile_decode',$s);
// $s = preg_replace_callback('/<(.*?)>/s','smile_decode',$s);
return $s;

View File

@ -576,3 +576,12 @@ function widget_menu_preview($arr) {
require_once('include/menu.php');
return menu_render(get_app()->data['menu_item']);
}
function widget_chatroom_list($arr) {
require_once("include/chat.php");
$r = chatroom_list(local_user());
return replace_macros(get_markup_template('chatroomlist.tpl'),array(
'$header' => t('Chat Rooms'),
'$items' => $r,
));
}

View File

@ -87,7 +87,7 @@ CREATE TABLE IF NOT EXISTS `attach` (
`aid` int(10) unsigned NOT NULL DEFAULT '0',
`uid` int(10) unsigned NOT NULL DEFAULT '0',
`hash` char(64) NOT NULL DEFAULT '',
`creator` char(128) NOT NULL DEFAULT '0',
`creator` char(128) NOT NULL DEFAULT '',
`filename` char(255) NOT NULL DEFAULT '',
`filetype` char(64) NOT NULL DEFAULT '',
`filesize` int(10) unsigned NOT NULL DEFAULT '0',
@ -105,7 +105,6 @@ CREATE TABLE IF NOT EXISTS `attach` (
KEY `aid` (`aid`),
KEY `uid` (`uid`),
KEY `hash` (`hash`),
KEY `creator` (`creator`),
KEY `filename` (`filename`),
KEY `filetype` (`filetype`),
KEY `filesize` (`filesize`),
@ -113,7 +112,8 @@ CREATE TABLE IF NOT EXISTS `attach` (
KEY `edited` (`edited`),
KEY `revision` (`revision`),
KEY `folder` (`folder`),
KEY `flags` (`flags`)
KEY `flags` (`flags`),
KEY `creator` (`creator`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `auth_codes` (
@ -214,6 +214,51 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_dirdate` (`channel_dirdate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `chat` (
`chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`chat_room` int(10) unsigned NOT NULL DEFAULT '0',
`chat_xchan` char(255) NOT NULL DEFAULT '',
`chat_text` mediumtext NOT NULL,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`chat_id`),
KEY `chat_room` (`chat_room`),
KEY `chat_xchan` (`chat_xchan`),
KEY `created` (`created`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `chatpresence` (
`cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cp_room` int(10) unsigned NOT NULL DEFAULT '0',
`cp_xchan` char(255) NOT NULL DEFAULT '',
`cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`cp_status` char(255) NOT NULL,
`cp_client` char(128) NOT NULL DEFAULT '',
PRIMARY KEY (`cp_id`),
KEY `cp_room` (`cp_room`),
KEY `cp_xchan` (`cp_xchan`),
KEY `cp_last` (`cp_last`),
KEY `cp_status` (`cp_status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `chatroom` (
`cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_name` char(255) NOT NULL DEFAULT '',
`cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`cr_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL,
PRIMARY KEY (`cr_id`),
KEY `cr_aid` (`cr_aid`),
KEY `cr_uid` (`cr_uid`),
KEY `cr_name` (`cr_name`),
KEY `cr_created` (`cr_created`),
KEY `cr_edited` (`cr_edited`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `clients` (
`client_id` varchar(20) NOT NULL,
`pw` varchar(20) NOT NULL,
@ -596,17 +641,17 @@ CREATE TABLE IF NOT EXISTS `obj` (
`obj_type` int(10) unsigned NOT NULL DEFAULT '0',
`obj_obj` char(255) NOT NULL DEFAULT '',
`obj_channel` int(10) unsigned NOT NULL DEFAULT '0',
`allow_cid` MEDIUMTEXT NOT NULL DEFAULT '',
`allow_gid` MEDIUMTEXT NOT NULL DEFAULT '',
`deny_cid` MEDIUMTEXT NOT NULL DEFAULT '',
`deny_gid` MEDIUMTEXT NOT NULL DEFAULT '',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL,
PRIMARY KEY (`obj_id`),
KEY `obj_verb` (`obj_verb`),
KEY `obj_page` (`obj_page`),
KEY `obj_type` (`obj_type`),
KEY `obj_channel` (`obj_channel`),
KEY `obj_obj` (`obj_obj`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `outq` (
`outq_hash` char(255) NOT NULL,

View File

@ -3,7 +3,7 @@
// If automatic system installation fails:
// Copy or rename this file to .htconfig.php in the top level
// Friendica directory
// Red Matrix directory
// Why .htconfig.php? Because it contains sensitive information which could
// give somebody complete control of your database. Apache's default

View File

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1092 );
define( 'UPDATE_VERSION' , 1094 );
/**
*
@ -998,4 +998,65 @@ function update_r1091() {
@mkdir('store/[data]/smarty',STORAGE_DEFAULT_PERMISSIONS,true);
@file_put_contents('store/[data]/locks','');
return UPDATE_SUCCESS;
}
}
function update_r1092() {
$r1 = q("CREATE TABLE IF NOT EXISTS `chat` (
`chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`chat_room` int(10) unsigned NOT NULL DEFAULT '0',
`chat_xchan` char(255) NOT NULL DEFAULT '',
`chat_text` mediumtext NOT NULL,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`chat_id`),
KEY `chat_room` (`chat_room`),
KEY `chat_xchan` (`chat_xchan`),
KEY `created` (`created`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8");
$r2 = q("CREATE TABLE IF NOT EXISTS `chatpresence` (
`cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cp_room` int(10) unsigned NOT NULL DEFAULT '0',
`cp_xchan` char(255) NOT NULL DEFAULT '',
`cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`cp_status` char(255) NOT NULL,
PRIMARY KEY (`cp_id`),
KEY `cp_room` (`cp_room`),
KEY `cp_xchan` (`cp_xchan`),
KEY `cp_last` (`cp_last`),
KEY `cp_status` (`cp_status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8");
$r3 = q("CREATE TABLE IF NOT EXISTS `chatroom` (
`cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_name` char(255) NOT NULL DEFAULT '',
`cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`cr_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL,
PRIMARY KEY (`cr_id`),
KEY `cr_aid` (`cr_aid`),
KEY `cr_uid` (`cr_uid`),
KEY `cr_name` (`cr_name`),
KEY `cr_created` (`cr_created`),
KEY `cr_edited` (`cr_edited`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8");
if($r1 && $r2 && $r3)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}
function update_r1093() {
$r = q("ALTER TABLE `chatpresence` ADD `cp_client` CHAR( 128 ) NOT NULL DEFAULT ''");
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}

View File

@ -1,846 +0,0 @@
Blueimp's AJAX Chat Changelog
=============================
Version 0.1 (06.06.2007):
-------------------------------
First release.
Version 0.1.0.1 (10.06.2007):
-------------------------------
New features:
- Added dutch localization - thanks to Nic Mertens
Version 0.1.0.2 (11.06.2007):
-------------------------------
Bugfixes:
- Smiley replacement of ";)" could produce invalid XHTML - fixed
Version 0.1.0.3 (11.06.2007):
-------------------------------
New features:
- Added sample phpBB2 integration
Version 0.1.0.4 (12.06.2007):
-------------------------------
Bugfixes:
- Replaced PHP short tags with long version ( <? => <?php ) in template files
This makes the Chat work on servers with php.ini setting "short_open_tag = off"
Version 0.1.0.5 (23.06.2007):
-------------------------------
Bugfixes:
- Channel names and language variables were not HTML-encoded in template output.
This could lead to invalid XHTML, e.g. if a channel name contained the ampersand ("&").
Version 0.1.1 (05.07.2007):
-------------------------------
New features:
- Long words are split on client side to avoid horizontal scrolling.
- New IRC-style command to roll dice: /roll [number]d[sides]
Version 0.1.1.1 (12.07.2007):
-------------------------------
New features:
- Added spanish localization - thanks to Manu Quintans
Version 0.1.1.2 (01.08.2007):
-------------------------------
Bugfixes:
- Added limits (1-100) to the dice number and sides
Version 0.1.1.3 (02.08.2007):
-------------------------------
Bugfixes:
- dateTime had been dependent on local server time.
dateTime served is now GMT and calculated and formatted on client side through JavaScript
Version 0.1.1.4 (14.08.2007):
-------------------------------
Bugfixes:
- Long hyperlinks are now split while preserving the url information
- Connection problems don't interrupt the chat update anymore
Version 0.1.1.5 (14.08.2007):
-------------------------------
Bugfixes:
- Connection timeout error message now only appears if sending messsage data (POST) fails
Version 0.2 (16.08.2007):
-------------------------------
New features:
- Integrated login page style with main style
- Added multiple styles (beige, black, grey)
- Added style settings to lib/config.php
- Integrated persistent style switcher
- Added custom JavaScript file supposed for overwriting client side functionality
- Added subSilver style for phpBB2 integration
- Added subsilver2 and prosilver style for phpBB3 integration
- Updated phpBB integration to set style from phpBB user style setting
Bugfixes:
- Adjusted paths in default templates to make the chat work if index.php is located on the document root ('/')
Other changes:
- Moved ajaxChatConfig['url'] from lib/template/loggedIn.php file to js/config.js
- Moved language settings from index.php to lib/config.php
- Moved phpBB root path setting from index.php to lib/config.php
Version 0.2.0.1 (17.08.2007):
-------------------------------
New features:
- Easier phpBB integration - forum users are now logged in with their userName and userID automatically.
It is not required any more to include userID and userName of registered users in the link to the chat.
Version 0.2.0.2 (19.08.2007):
-------------------------------
Bugfixes:
- Channel selector did not work with Internet Explorer - fixed.
- Style switcher did not work with Internet Explorer - fixed.
Version 0.2.1 (21.08.2007):
-------------------------------
New features:
- Updated CSS styles - chat messages window now adjusts to the browser window.
Bugfixes:
- If a registered user lost his session while logged in he could not login again until timeout.
This is now fixed by removing the registered user from the online list prior to a new login.
- The login method had been called on every request with a given userName parameter even if logged in - fixed.
Other changes:
- Rewrote the DataBase code to make it possible to use a given DataBase link identifier.
Version 0.2.1.1 (24.08.2007):
-------------------------------
Bugfixes:
- Internet Explorer 6 can't cope with the updated CSS - added a stylesheet for IE 5-6 to fix this.
Version 0.2.1.2 (24.08.2007):
-------------------------------
Bugfixes:
- Code and variable name changes in index.php and lib/config.php to avoid naming conflicts with global variables.
- Fixed phpBB integration for usernames containing the ampersand ("&") which phpBB stores as HTML entity ("&amp;").
Version 0.2.1.3 (24.08.2007):
-------------------------------
New features:
- Added the max length variables of userName and messageText to the template output.
Other changes:
- Changed the database type for the chat messages from TINYTEXT (8 bit - 255 chars) to TEXT (16 bit - 65535 chars).
Version 0.2.1.4 (24.08.2007):
-------------------------------
Changes:
- Users don't get kicked for inactivity anymore. Only a closed browser window will produce a timeout.
Version 0.2.1.5 (25.08.2007):
-------------------------------
Bugfixes:
- Fixed client-side encoding when using ISO-8859-1 as content type instead of UTF-8.
Version 0.3 (26.08.2007):
-------------------------------
Changes:
- Changed integration interfaces thereby losing backwards compatibility.
- Repackaged chat as standalone, phpBB2 and phpBB3 versions.
- Added simple backend to manage users and channels for standalone version.
Version 0.3.1 (03.09.2007):
-------------------------------
New features:
- Added chat version for integration with the Simple Machines Forum.
Bugfixes:
- Fixed phpBB integration for usernames containing the ampersand ("&") which phpBB stores as HTML entity ("&amp;").
Other changes:
- Updated SQL queries to use a given database connection identifier.
- Added calls to free the memory used by the database calls as soon as possible.
Version 0.3.1.1 (05.09.2007):
-------------------------------
Bugfixes:
- Fixed handling of channels with apostrophe (') in their names.
Changed files:
- lib/class/Chat.php (all versions)
Version 0.3.1.2 (06.09.2007):
-------------------------------
New features:
- Added russian localization - thanks to SkyKnight.
Version 0.3.2 (07.09.2007):
-------------------------------
New features:
- Added greek localization - thanks to panas.
Other changes:
- Updated database table creation script to use utf8 as default charset and collation.
Notes:
- To update your existing database tables you can use the following SQL commands:
ALTER TABLE ajax_chat_online CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE ajax_chat_messages CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE ajax_chat_bans CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
Version 0.4 (17.09.2007):
-------------------------------
New features:
- Added support for BBCode.
- Added new emoticons.
- Improved replaceEmoticons method - it's now very easy to add custom emoticons.
- Improved breakLongWords method.
- Improved support for page encodings other than UTF-8.
- Easier interface to add custom (IRC style) commands.
- Integrated the style switching functionality with the ajaxChat object.
Bugfixes:
- Check if a session language is available before including it.
- Stopped moderators from being able to kick admins or other moderators.
- Removing non-whitespace control characters on server side (could lead to invalid XHTML).
- Added Cache control headers on server side to better support IE.
- Check if document.cookie is set in the style switcher readCookie method.
- Clearing the chatlist and online users list with DOM methods instead of innerHTML="".
The latter produced in conjunction with the content type application/xhtml+xml errors with Safari.
Version 0.4.0.1 (17.09.2007):
-------------------------------
New features:
- Added finnish localization - thanks to zazu.
- Added AJAX Chat version for PunBB.
- Login to phpBB2, phpBB3, PunBB and SMF via chat login and redirect to the chat.
Bugfixes:
- Password field in login form had been of type "text" instead of type "password".
Version 0.5 (12.10.2007):
-------------------------------
New features:
- Realtime monitoring and server-side log viewer replaces log files creation.
- Invitation system to invite users to the current channel.
- Private channels based on invitation system.
- Possibility to access restricted channels by invitation.
- Possibility to use persistent font colors.
- Client-side settings are stored persistently in a settings cookie.
- /me and /describe and /action (new) messages are displayed in a custom style class.
- Added config variable to limit the number of available cannels.
- Added config variable to define the max users logged in.
- Added config variable to enable/disable private messages.
- Added config variable to enable/disable private channels.
- Added config variable to force auto-login.
- Added config variables to adjust guest usernames.
- Added config variable to enable/disable the display of channel messages login/logout, channel enter/leave.
- Added config variables to define the time of day and the days in the week the chat is opened.
- Styles from different chat versions are now included in all packages.
- Restructured CSS styles to separate Positioning, Borders, Fonts and Colors.
- Restructured DataBase code and added support for MySQLi.
- Chat versions with forum integration now use the existing database connection.
- Improved (multibyte) encoding support.
Bugfixes:
- Several (10) XMLHttpRequest objects are created for POST requests to allow real asynchronism.
This way messages sent before the server could respond don't result in an error message anymore.
- JavaScript links (private message links in online list) were not escaped properly.
- Removed Byte Order Mark at the beginning of finnish language files which caused unwanted output.
- Session handling now allows to keep the current session on logout.
Other changes:
- Code refactoring to cleanup the code and avoid naming collisions.
- Removed PHP Code from Template files - using a simple template system with custom tags.
- License change => Creative Commons Attribution-Share Alike (still free and open source).
Changed files:
- all (all versions)
Version 0.5.0.1 (13.10.2007):
-------------------------------
Changes:
- Moved forum integration code out of class files and into lib/custom.php.
Version 0.5.1 (14.10.2007):
-------------------------------
New features:
- Added simple flood control (two new config variables).
Bugfixes:
- Ignored userNames were not escaped properly for message filter query [SECURITY RISK].
- /roll messages were being displayed as user messages instead of chatBot messages (Code refactoring mistake).
- No display of invitations/uninvitations or /roll messages from ignored users.
- Preventing robots from being logged in automatically (phpBB3 version).
Version 0.5.1.1 (16.10.2007):
-------------------------------
Bugfixes:
- Non-ASCII characters didn't work in JavaScript links with IE and Opera - fixed.
Other changes:
- Changed file extension of the template files to html.
- The chat now tries to send a logout request on unload of the chat window.
Version 0.5.1.2 (16.10.2007):
-------------------------------
Bugfixes:
- Sometimes it could happen that the same message was added twice on client side - fixed.
Other changes:
- Removed the logout request on chat window unload again - logout on reload is too much of a drawback.
Notes:
- Due to the bugfix, the parameters of the addMessageToChatList and onNewMessage methods changed.
Version 0.5.1.3 (17.10.2007):
-------------------------------
Bugfixes:
- Some SQL queries used were not compatible with MySQL ANSI and ANSI_QUOTES SQL Modes - fixed.
Version 0.5.1.4 (18.10.2007):
-------------------------------
Bugfixes:
- Somehow a bug crept into the invitations code - fixed.
New features:
- Added hebrew localization - thanks to Smiley Barry.
- Updated finnish localization - thanks to zazu.
- Updated greek localization - thanks to panas.
Version 0.5.1.5 (18.10.2007):
-------------------------------
New features:
- Added AJAX Chat version for MyBB.
- Added new style "MyBB".
Version 0.5.2 (20.10.2007):
-------------------------------
New features:
- Added arabic localization - thanks to pepotiger (www.dd4bb.com).
- Added better support for bidirectional text ("dir" attribute).
Bugfixes:
- The strings replacing the language tags had not been HTML-encoded - fixed.
- Fixed a bug preventing guest logins (empty password) with Opera.
Other changes:
- Using "&#8203;" (zero width space) as default string to wrap long words.
Version 0.5.2.1 (20.10.2007):
-------------------------------
New features:
- Updated dutch localization - thanks to Nic Mertens.
- The dateTime display is now better configurable.
- Adding a new JS config option listing settings to be excluded from being stored in a session cookie.
Version 0.5.2.2 (23.10.2007):
-------------------------------
Bugfixes:
- Fixing the "Only variables should be assigned by reference" notice in standalone version on PHP4.
- Fixing the "cannot yet handle MBCS in html_entity_decode()" warning on PHP4.
Due to PHP bug #25670, html_entity_decode does not work with UTF-8 for PHP versions < 5.
- Improved the entity encoding/decoding handling.
Changed files:
- lib/class/AJAXChat.php (all versions)
- lib/class/CustomAJAXChat.php (standalone version)
Version 0.5.3 (05.11.2007):
-------------------------------
New features:
- Added possibility to configure if messages are shown which have been sent prior to the user entering the channel.
- Updated russian localization - thanks to SkyKnight.
Bugfixes:
- Fixed background-color and horizontal stretch of chatlist for IE6.
Version 0.5.3.1 (05.11.2007):
-------------------------------
Bugfixes:
- Fixed methods reference assignment for getChannels and getAllChannels (PHP4).
Changed files:
- lib/class/AJAXChat.php (all versions)
- lib/class/CustomAJAXChat.php (all versions)
Version 0.5.4 (06.11.2007):
-------------------------------
New features:
- Added new JS config variable to enable/disable autofocus on the input field.
- Added JS methods to add custom initialization and finalization code.
Version 0.5.4.1 (07.11.2007):
-------------------------------
Bugfixes:
- The session is now started automatically if not already started.
The useless sessionCreateNew config variable has been removed accordingly.
- Removed the duplicate #ajaxChatContent #ajaxChatMessageText entry in shoutbox CSS file.
Version 0.5.5 (09.11.2007):
-------------------------------
New features:
- Updated italian locale - thanks to s8s8.
Bugfixes:
- Replaced the unreliable navigator.cookieEnabled check with a custom JS method.
Other changes:
- The shoutbox class now skips session handling and database connections and has been reduced to parse and return the shoutbox template.
- Shoutbox users are logged in with the first AJAX request.
- Current user information (ID, Name) is now gathered through AJAX requests using the info messages interface.
Version 0.5.6 (11.11.2007):
-------------------------------
New features:
- Added romanian locale - thanks to K.Z. (kamikaze666).
Other changes:
- Code refactoring to improve the functional and modular design.
- Added an interface class to push messages to the chat or query user data.
Version 0.5.6.1 (12.11.2007):
-------------------------------
New features:
- Added swedish locale - thanks to Eric.
Version 0.6 (13.11.2007):
-------------------------------
New features:
- Added support for ipv6 (only on PHP5 and not on windows hosts).
Bugfixes:
- The Chat URL had not been HTML encoded for the template output - fixed.
- Logged-in forum users providing a password on the login form had been directed to the forum - fixed.
Other Changes:
- Updated database table creation script to support ipv6 storage.
- Improved handling with multiple databases.
- Renamed tag FORUM_URL to FORUM_LOGIN_URL to avoid confusion.
Notes:
- It is recommended to recreate the chat tables to avoid conflicts with old IP entries.
Version 0.6.0.1 (14.11.2007):
-------------------------------
Bugfixes:
- IPs were not escaped properly for storage - fixed.
Other Changes:
- Added code to suppress warnings if converting the IPs to or from storage format fails.
Version 0.6.1 (17.11.2007):
-------------------------------
New features:
- Added slovak locale - thanks to Peter.
- The own userName and the current channelName are displayed bold when using /who and /list commands.
- Added possibility to search for IPs using the logs view (Search strings starting with "ip=", e.g. "ip=127.0.0.1").
- Added client-side method "replaceCustomBBCode" to add more complex custom BBCodes.
- Added client-side and server-side method "replaceCustomText" to replace any custom text.
- Added new request variable "lang" to set the content language (e.g. "lang=en").
- Added a language selection to the templates.
Bugfixes:
- Fixed bad JS usage of for...in loops for arrays which could lead to conflicts with JS frameworks.
- Fixed misarranged display on IE6 for RTL direction languages (arabian, hebrew).
- Fixed error name "errorCookiesRequired" in swedish JS language file which had been still "cookiesRequired".
Other Changes:
- Reduced required database queries to retrieve online users data.
- Improved handling of private channels.
- Added two new config variables to define the prefix and suffix of private channels.
- Added a new config variable to define language names for the language selection.
- The language setting is now saved in an extra cookie instead of the chat session.
Version 0.6.2 (20.11.2007):
-------------------------------
New features:
- Added AJAX Chat version for vBulletin.
- Added new style "vBulletin".
- Added four new config variables to set session cookie parameters.
- Added CSS style for print layout.
Other Changes:
- Added language selection to the logs view template.
- Updated slovak localization.
- Changed config name sessionValuePrefix to sessionKeyPrefix (as it is a prefix for the key, not the value).
- Restructured CSS files to import positions, borders, fonts and miscellaneous from separate files.
Version 0.6.2.1 (28.11.2007):
-------------------------------
New features:
- Added french locale - thanks to Ettelcar.
Bugfixes:
- Updated template file loggedOut.html to ensure valid XHTML (input tags must be put inside a block element).
Version 0.6.3 (30.11.2007):
-------------------------------
New features:
- Chat session is now tied to the forum session for the forum integration versions.
Bugfixes:
- Corrected typing error in french JavaScript localization file.
Version 0.6.3.1 (02.12.2007):
-------------------------------
Bugfixes:
- IE cannot handle CSS import rules using a media declaration (e.g. "print") - using inline media declaration instead.
Version 0.7 (11.01.2008):
-------------------------------
New features:
- Added optional Flash based sound support.
- Added optional Flash based support to push udates over a socket connection.
- Added extended user menu for the online list and the inline user listing (/who command).
- Added client-side settings page.
- Added option document title blinking on new messages.
- Extended the input field to a multiline textarea (line break can be entered by SHIFT+ENTER).
- Added a message length counter.
- Added the possibility to delete messages.
- Added possibility to search for userIDs using the logs view (Search strings starting with "userID=", e.g. "userID=123").
- Added ukraine localization - thanks to Yuriy Smetana.
- Added bulgarian localization - thanks to Borislav Manolov.
- Added norwegian localization - thanks to DagArneKirkerod.
Other changes:
- License change => GNU Affero General Public License (still free and open source).
- Added the private channel of registered users to the channel listing.
- Made the current userRole accessible on client side.
- Made the current channelID accessible on client side.
- Removed the inclusion of js/custom.js from the logs and loggedOut template.
- Moved CSS rules for "body" into the templates, to avoid Flash conflicts on style switching.
- Improved logs view update handling.
- Improved JS config options handling.
- Improved IE5-6 style.
- The commands are now separated into single methods on client and server side.
- Added possibility to force "text/html" content-type.
- Removed the /me command as it had no real use.
- Users exceeding the maxMessageRate are not banned anymore, they get an error message instead.
- Kicked users get automatically banned for the time in minutes set as defaultBanTime.
Bugfixes:
- MyBB admin/moderator authentication didn't work properly if user belonged to multiple usergroups - fixed.
- Fixed PREG Unicode related bug in the trimString method - thanks to Fiery_Fenix.
- Fixed a bug related to the alternating rowClass and the maxMessages setting - thanks to Frug for the info.
- If the IP of an Admin had been banned he could not login - fixed.
Version 0.7.0.1 (12.01.2008):
-------------------------------
New features:
- A click on a username in the chatlist now adds the name to the input field.
Other changes:
- Closing current query automatically if the query userName is not found (logged out, changed nick).
- Adding a query close message before another query is opened.
Version 0.7.0.2 (14.01.2008):
-------------------------------
Changes:
- Updated french and italian localizations - thanks to Massimiliano Tiraboschi.
Bugfixes:
- The logs view updated too slow if not in monitor mode and with enabled socket connection - fixed.
Version 0.7.1 (15.01.2008):
-------------------------------
New features:
- Added the (optional and limited) possibility for registered users to access the logs view.
- Added serbian localization - thanks to Saša Stojanović.
Bugfixes:
- The soundVolume selection always showed the first option on page reload - fixed.
- Fixed a small display error for inserted logout messages.
- Adjusted the code font size for the print view.
Version 0.7.1.1 (16.01.2008):
-------------------------------
Changes:
- Reflecting the setting allowUserMessageDelete on client-side.
- Made the channelID of each message accessible on client-side.
- Allowing users to delete messages received privately or posted in their own private channel.
Bugfixes:
- Fixed a bug which made bans of registered users ineffective - thanks to Seether for the info.
- Fixed a naming bug affecting the defaultBanTime config value - thanks to Seether for the info.
- Fixed a bug which prevented the "invalid channel message" from being displayed.
- Added the missing join inside the client-side method assignFontColorToMessage - thanks to druiid for the info.
Version 0.7.2 (18.01.2008):
-------------------------------
New features:
- Added the possibility to serve multiple chat installations using the same socket server.
- Added polish localization - thanks to Tomasz Topa.
- Updated finnish localization - thanks to Asmo Soinio.
- Updated russian localization - thanks to Dmitry Plyonkin.
- Updated ukrainian localization - thanks to Yuriy Smetana.
Other changes:
- Removing deleted messages from the chatlist of all clients on the same channel.
Bugfixes:
- Catching errors when trying to play sounds on the settings page with no Flash plugin installed.
Version 0.7.3 (29.01.2008):
-------------------------------
New features:
- Added new client-side config option ajaxChatConfig.startChatOnLoad to delay the chat update.
- Added possibility to retrieve teaser content without being logged in to the chat view.
- Updated bulgarian localization - thanks to Borislav Manolov.
Other changes:
- Made the userID available for the method ajaxChat.getCustomUserMenuItems(encodedUserName, userID).
- Related to the bugfix the online list is now always visible on chat load.
Bugfixes:
- If the chat window was just closed the online list would be always hidden on next chat load - fixed.
- Added a workaraound for an IE bug happening on guest logins with the MyBB integration version.
Version 0.7.4 (29.02.2008):
-------------------------------
New features:
- Added an installation script (install.php) to create the database tables.
Make sure you delete this file after installation!
- Updated ukrainian localization - thanks to Yuriy Smetana.
- Updated greek localization - thanks to Akis Panas.
Bugfixes:
- Admin could not login if the chat was closed - fixed.
- Added missing userID to a getUserNodeStringItems call - thanks to Xavier Gouley.
- Fixed a bug (this.dom[id] instead of domNode) in updateDOM method - thanks to Xavier Gouley.
- Made sure the database is selected on CustomAJAXChatInterface usage of SMF version.
Version 0.8 (05.03.2008):
-------------------------------
New features:
- Improved socket code which allows real streaming of chat messages and greatly improves performance.
- Moved ignore list code to client-side making it possible to store ignored users using the settings cookie.
- Added client-side interface to parse input text and input commands before sending it to server-side.
- Added chinese (simplified) locale - thanks to mikespook.
Other changes:
- Changed invitation code to work with the new socket code.
- Improved the online status and session handling.
Bugfixes:
- Added two missing JavaScript language strings for userName error messages.
Notes:
- The chat messages delivered using the socket connection are not encrypted even if the Chat-URL is on HTTPS.
- A new database table for the invitations has been added.
To update your existing database you can use the following SQL command:
CREATE TABLE ajax_chat_invitations (
userID INT(11) NOT NULL,
channel INT(11) NOT NULL,
dateTime DATETIME NOT NULL
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Version 0.8.1 (09.03.2008):
-------------------------------
New features:
- Added image BBCode support (can be disabled via user settings).
- Added new client-side settings to enable/disable image and font color BBCode.
- Added new JavaScript config setting to define allowed soure URL's for media content (e.g. images).
- Added Português (Brasil) locale - thanks to vitoalvaro.
Bugfixes:
- Added a type check for a given database connection object (MySQL vs. MySQLi).
- The method AJAXChat->getChatURL() could return the URL with the port added twice - fixed.
Other changes:
- Removed the 'mysql' setting for the versions for forums without MySQLi support (now detected automatically).
Version 0.8.1.1 (10.03.2008):
-------------------------------
Bugfixes:
- Fixed an Opera bug related to the display of the deletion link for chat messages.
Version 0.8.1.2 (22.03.2008):
-------------------------------
New features:
- Added Turkish locale - thanks to Cydonian.
Bugfixes:
- Accessing the chat via HTTPS produced an encryption warning on IE due to the hardcoded flash codebase url - fixed.
Version 0.8.2 (27.02.2009):
-------------------------------
New features:
- Added status icon to indicate when chat is waiting for a response from the server (orange) or when chat is idle (green).
- Clicking the status icon will force the chat client to retry (workaround for when there is a lost connection).
- Added Catalan locale - thanks to Manu Quintans.
- Added Japanese locale - thanks to Ocean.
- Added Croatian locale - thanks to Renato.
- Added Korean locale - thanks to Sangho Choi.
- Added Slovenian locale - thanks to Valter Pepelko.
- Added Chinese (Traditional) locale - thanks to Tiffblue.
- Added Indonesian locale - thanks to Edi Muljadi.
- Added Czech locale - thanks to Fredy.
- Updated Swedish localization - thanks to Eric.
- Updated Spanish localization - thanks to Manu Quintans.
Bugfixes:
- Inline user menus will no longer expand hidden below the chat window.
- Replacing the accept method of the server socket with the non-blocking accept_nonblock.
- Hyphen in database table names should no longer cause an error (in standalone chat client only).
- Fixed a typo in the Greek translation - thanks to Marios Zindilis.
- Posting an image should no longer break the autoscroll on slow connections or when it is not cached.
- Blank username and password will now log in correctly with a guest number in the standalone client.
Version 0.8.3 (26.06.2009):
-------------------------------
New features:
- Added Hungarian localization - thanks to Atag and Molnár Tamás.
- Added Welsh localization - thanks to Alan Davies.
- Added Estonian localization - thanks to Alar Sapelkov.
- Added Galician localization - thanks to Ruth.
- Added Georgian localization - thanks to Giorgi Maghlakelidze.
- Updated French localization - thanks to Xytovl.
- Updated Finnish localization - thanks to Saku Laukkanen.
- Nicer looking status icons.
- Status icon turns red when there is connection trouble.
- Chat will now automatically attempt to reconnect to the server if the connection is lost, rather than dying silently.
- Chat now uses a buffer before performing multiple DOM operations. This should give a noticeable speed improvement when the
chat list updates many messages at once (such as when viewing logs). - thanks to varamin.
Bugfixes:
- The invite, uninvite, and whereis user menu options will now only appear in the inline user menu.
- Rolled back the database name handling change because of too many conflicts. If your database has a hyphen in it, you should
check the AJAXChatDataBase.php file to see the commented line.
Version 0.8.4 (15.02.2012):
-------------------------------
Bugfixes:
- Fix to remove javascript error message in Chrome when initializing flash bridge.
Changed files:
- js/FABridge.js (all versions) - thanks to many users for this one.
Version 0.8.5 (20.01.2012):
-------------------------------
New features:
- Added Danish localization. - thanks to Allan Rehhoff.
- Added easier to navigate html readme file.
- PHPBB3 html readme file now includes proper custom instructions on implementing a shoutbox.
Bugfixes:
- Another fix to reintroduce sound in chrome - thanks to jsebean.
Version 0.8.5a (11.05.2012):
-------------------------------
Bugfixes:
- Fixed a typo in config.php that would cause chat to crash if used. (all versions)
Version 0.8.6 (21.10.2012):
-------------------------------
New features:
- Added Thai localization - thanks to Norrapat Nimmanee.
- Added Macedonian localization - thanks to the jedi nebojsa.
- Added Farsi localization - thanks to mahmood sajjadi.
- Added Portuguese (Portugal) localization - thanks to Broas.
- Install.php checks to see if config.php has been created before running (standalone).
Bugfixes:
- Improved Brazilian Portuguese translation - thanks to Pedro Innecco (all versions)
- Corrected some language codes (all versions)
- Improved Dutch translation - thanks to Dimitri Taghon (all versions)
- Fixed misplaced estonian language files. (all versions)
- Fixed a typo in the localization section of config.php (all versions)
Version 0.8.7 (1.10.2014)
-------------------------------
Notice:
- Minimum php version is now 5 (was 4).
- phpbb2 branch discontinued.
- License has changed from GNU Affero to a Modified MIT License. See file included in download.
New features:
- Added normal Dutch localization (moved existing nl to nl-be) - thanks to Patrick Donker.
- Hide shoutbox input for users without write permissions - thanks to Felix Eckhofer.
- Added a /clear command to clear the chatlist of all text - thanks to Borislav Manolov.
Bugfixes:
- Updated Russian and Norwegian localizations - thanks to Il'ya A. Lykov.
- Methods called statically are now declared as static to meet php 5.4 strict standards.
- Fixed case when messages were not displayed to users on page load if last message was deleted - thanks to KEMBL KEMBL.
- Fixed exploit using img tag to pass text request var.
- Change preg_replace with /e to preg_replace_callback in AJAXChatTemplate.php - thanks to Jan Kröpke.
- Fixed browser crashing bug with certain long words - thanks to Clint.
- Properly detect and report mysqli connection errors.
- Fixed a case where the default channel could be blocked from the limitChannelList config option.
- Fix potential conflict between php and mysql timezones by using mysql's FROM_UNIXTIME(). - thanks to ManOnDaMoon.
- Normalized sound volumes a bit.
- Fixed mybb integration database connection. Connection details should be pulled automatically now.
- Fidex mybb integration guest logins to accept guests that don't enter a username (assign numbers like other versions).

View File

@ -1,47 +0,0 @@
DROP TABLE IF EXISTS ajax_chat_online;
CREATE TABLE ajax_chat_online (
userID INT(11) NOT NULL,
userName VARCHAR(64) NOT NULL,
userRole INT(1) NOT NULL,
channel INT(11) NOT NULL,
dateTime DATETIME NOT NULL,
ip VARBINARY(16) NOT NULL,
PRIMARY KEY (userID),
INDEX (userName)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS ajax_chat_messages;
CREATE TABLE ajax_chat_messages (
id INT(11) NOT NULL AUTO_INCREMENT,
userID INT(11) NOT NULL,
userName VARCHAR(64) NOT NULL,
userRole INT(1) NOT NULL,
channel INT(11) NOT NULL,
dateTime DATETIME NOT NULL,
ip VARBINARY(16) NOT NULL,
text TEXT,
PRIMARY KEY (id),
INDEX message_condition (id, channel, dateTime),
INDEX (dateTime)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS ajax_chat_bans;
CREATE TABLE ajax_chat_bans (
userID INT(11) NOT NULL,
userName VARCHAR(64) NOT NULL,
dateTime DATETIME NOT NULL,
ip VARBINARY(16) NOT NULL,
PRIMARY KEY (userID),
INDEX (userName),
INDEX (dateTime)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS ajax_chat_invitations;
CREATE TABLE ajax_chat_invitations (
userID INT(11) NOT NULL,
channel INT(11) NOT NULL,
dateTime DATETIME NOT NULL,
PRIMARY KEY (userID, channel),
INDEX (dateTime)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

View File

@ -1,122 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by PunBB style "Cobalt":
* http://punbb.org/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#1a1a1a;
color:#ababab;
border: 0;
}
#content select, #loginForm select, #loginForm input, #content textarea {
background-color:#383838;
color:#ababab;
border: 1px solid #565656;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#2A2A2A;
color:#D4D4D4;
}
#loginContent h1 {
color:#D4D4D4;
}
#loginContent a {
color:#60A0DC;
}
#loginContent #loginFormContainer #loginButton {
background-color:#424242;
color:#D4D4D4;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#2A2A2A;
color:#D4D4D4;
}
#content h1 {
color:#D4D4D4;
}
#content a {
color:#60A0DC;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer {
border: 1px solid #565656;
background-color:#383838;
}
#content #bbCodeContainer, #content #emoticonsContainer {
background-color:#383838;
padding: 5px;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#565656;
}
#content .rowOdd {
background-color:#484848;
}
#content .guest {
color:gray;
}
#content .user {
color:#D4D4D4;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#60A0DC;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#60A0DC;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#383838;
color:#D4D4D4;
}
}

View File

@ -1,115 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by Simple Machines Forum style "SMF Default Theme - Core":
* http://www.simplemachines.org/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#CDE7FF;
color:#333333;
border: 1px solid #787878;
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #787878;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#loginContent {
background-color:#E5E5E8;
color:#000;
}
#loginContent h1 {
color:#000;
}
#loginContent a {
color:#000;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#E5E5E8;
color:#000;
}
#content h1 {
color:#000;
}
#content a {
color:#000;
}
#content input, #content select, #content textarea {
background-color:#FFF;
color:#000;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content #emoticonsContainer {
border-color:#ADADAD;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#ECEDF3;
}
#content .rowOdd {
background-color:#F6F6F6;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#0000FF;
}
#content .admin {
color:#FF0000;
}
#content .chatBot {
color:#476C8E;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#476C8E;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#88A6C0;
color:#FFF;
}
}

View File

@ -1,116 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by PunBB style "Lithium":
* http://punbb.org/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#6C8A3F;
color: #fff;
border: 1px solid #6C8A3F;
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #6C8A3F;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#F1F1F1;
color:#333333;
}
#loginContent h1 {
color:#333333;
}
#loginContent a {
color:#638137;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#333333;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#F1F1F1;
color:#333333;
}
#content h1 {
color:#333333;
}
#content a {
color:#638137;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea {
border-color:#6C8A3F;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#F1F1F1;
}
#content .rowOdd {
background-color:#DEDFDF;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#638137;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#638137;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#6C8A3F;
color:#FFF;
}
}

View File

@ -1,154 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by PunBB style "Mercury":
* http://punbb.org/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#content input, #content select, #content textarea {
border: 1px solid #565656;
}
#content textarea {
border-color: #383838;
}
#content input {
border-radius: 3px;
}
#loginContent {
background-color:#2A2A2A;
color:#D4D4D4;
}
#loginContent h1 {
color:#D4D4D4;
}
#loginContent a {
color:#F6B620;
}
#loginContent input, #loginContent select {
background-color:#424242;
border-color:#565656;
color:#D4D4D4;
}
#loginContent #loginFormContainer #loginButton {
background-color:#424242;
color:#D4D4D4;
border-radius: 3px;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#2A2A2A;
color:#D4D4D4;
}
#content h1 {
color:#D4D4D4;
}
#content a {
color:#F6B620;
}
#content input, #content select, #content textarea {
background-color:#383838;
color:#D4D4D4;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content #emoticonsContainer {
border: 0;
background-color:#383838;
}
#content #colorCodesContainer {
padding: 5px;
box-shadow: 2px 2px 4px #000;
border-radius: 3px;
}
#content #onlineListContainer {
background: #383838;
}
#content #onlineListContainer #onlineList div {
margin: 0 1px 1px 1px;
border-radius: 5px;
background: #404040;
}
#content #onlineListContainer #onlineList ul {
margin-top: 1px;
list-style: none;
}
#content #emoticonsContainer {
border-radius: 3px;
}
#content #bbCodeContainer {
border: 0; padding-left: 0;
}
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton {
background-color:#383838;
color:#D4D4D4;
}
#content #bbCodeContainer input:hover, #content #logoutButton:hover, #content #submitButton:hover {
background-color:#565656;
}
#content #optionsContainer input.button {
border: 0;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#505050;
}
#content .rowOdd {
background-color:#484848;
}
#content .guest {
color:gray;
}
#content .user {
color:#D4D4D4;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#F6B620;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#F6B620;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
color:#D4D4D4;
height: 15px;
}
}

View File

@ -1,115 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by MyBB style "MyBB Default":
* http://www.mybboard.net/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#02619f;
color:#fff;
font-weight: bold;
border: 0px solid #02619f;
border-radius: 5px;
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #02619f;
border-radius: 5px;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#loginContent {
background-color:#FFF;
color:#000;
}
#loginContent h1 {
color:#000;
}
#loginContent a {
color:#000;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#FFF;
color:#000;
}
#content h1 {
color:#000;
}
#content a {
color:#000;
}
#content input, #content select, #content textarea {
background-color:#FFF;
color:#000;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content #emoticonsContainer {
border-color:#ADADAD;
background-color:#E5E5E8;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven, #content .rowOdd {
background-color:#EFEFEF;
border-bottom: 1px solid #bdccf7;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#0000FF;
}
#content .admin {
color:#FF0000;
}
#content .chatBot {
color:#476C8E;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#476C8E;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#02619f;
color:#FFF;
}
}

View File

@ -1,116 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by PunBB style "Oxygen":
* http://punbb.org/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#0066B9;
color: #fff;
border: 1px solid #0066B9;
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #0066B9;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#F1F1F1;
color:#333333;
}
#loginContent h1 {
color:#333333;
}
#loginContent a {
color:#0066B9;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#333333;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#F1F1F1;
color:#333333;
}
#content h1 {
color:#333333;
}
#content a {
color:#0066B9;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea {
border-color:#0066B9;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#F1F1F1;
}
#content .rowOdd {
background-color:#DEDFDF;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#0066B9;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#0066B9;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#0066B9;
color:#FFF;
}
}

View File

@ -1,112 +0,0 @@
/*
* @package AJAX_Chat
* @author Rosina Ramirez
* @copyright (c) Rosina Ramirez
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
#content input, select, #content textarea, #loginButton {
border: 0; box-shadow:1px 1px 4px 0px rgba(0,0,0,0.5);
}
#content textarea { border-color: #383838; }
#content input, #loginButton { border-radius: 8px; }
#loginContent, #content {
background-color:#2A112F;
color:#9765A0;
}
a {
color:#DA83A1;
}
input, select {
background:#17081a;
border: 1px solid rgba(0,0,0,1);
color:#9765A0;
}
#loginContent #errorContainer {
color:red;
}
h1 {
color:#CDA6D2;
}
#content textarea {
background:rgba(0,0,0,0.3);
color:#9765A0;
}
#content #chatList{
background: url('plum_images/plum.png') no-repeat bottom right rgba(0,0,0,0.3);
}
#content #colorCodesContainer {
padding: 5px;
box-shadow: 2px 2px 4px #000;
border-radius: 3px;
background:rgba(225,225,225,0.2)
}
#content #onlineListContainer, #content #helpContainer, #content #settingsContainer {
background: url('plum_images/plum2.png') no-repeat bottom left rgba(0,0,0,0.3);
}
#content #onlineListContainer #onlineList ul {
list-style: none;
}
#content #emoticonsContainer { border-radius: 3px; }
#content #bbCodeContainer { border: 0; padding-left: 0; }
#content #statusIconContainer { background-image: url('../img/loading-sprite.png'); }
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginButton {
background-color:#461124;
color:#DAABBC;
}
#content #bbCodeContainer input:hover, #content #logoutButton:hover, #content #submitButton:hover, #loginButton:hover {
background-color:#591E33;
}
#content #optionsContainer input.button { border: 0; }
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background:rgba(0,0,0,0.2);
}
#content .rowOdd {
background:rgba(0,0,0,0.3);
}
#content .guest {
color:gray;
}
#content .user {
color:#CDA6D2;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#CDA6D2;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
color:#CDA6D2;
height: 15px;
}
}

View File

@ -1,116 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by PunBB style "Sulfur":
* http://punbb.org/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#B84623;
color: #fff;
border: 1px solid #B84623;
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #B84623;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#F1F1F1;
color:#333333;
}
#loginContent h1 {
color:#333333;
}
#loginContent a {
color:#B84623;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#333333;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#F1F1F1;
color:#333333;
}
#content h1 {
color:#333333;
}
#content a {
color:#B84623;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea {
border-color:#B84623;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#F1F1F1;
}
#content .rowOdd {
background-color:#DEDFDF;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#B84623;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#B84623;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#B84623;
color:#FFF;
}
}

View File

@ -1,178 +0,0 @@
/*
* @package AJAX_Chat
* @author Rosina Ramirez
* @copyright (c) Rosina Ramirez
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
input, select, textarea, #content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content .rowEven,
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3, #content #inputFieldContainer, #loginContent input
{ border-radius: 5px; -webkit-border-radius:5px;border:0;}
#loginContent a {
color:#4c9546;
}
#content #inputFieldContainer{height:46px; background:#0E0E0E;padding:0;}
#content #inputFieldContainer #inputField{box-shadow: inset 1px 1px 5px 1px #000; border:0;height: 40px;padding: 3px 0.5%;width: 99%;}
#content #inputFieldContainer #inputField:focus{outline:none;box-shadow:0px 0px 8px 1px #376e34;}
#loginContent #loginFormContainer #loginButton {
background-color:#424242;
color:#b0b8a8;
border-radius: 3px;
}
#loginContent #errorContainer {
color:red;
}
#content, #loginContent {
background-color: #464646;
background-image: -webkit-gradient(linear, left top, left bottom, from(#464646), to(#181818));
background-image: -webkit-linear-gradient(top, #464646, #181818);
background-image: -moz-linear-gradient(top, #464646, #181818);
background-image: -o-linear-gradient(top, #464646, #181818);
background-image: linear-gradient(to bottom, #464646, #181818);
color:#b0b8a8;
}
h1, h3 {
color:#e2e9db;
text-shadow: 1px 1px 2px #191919;
}
#content a {
color:#4c9546;
}
#loginContent input, #loginContent select{background:#171717; color:#b0b8a8;}
input, select{padding: 3px;}
#content input,#content select,#content textarea {
background-color:#0e0e0e;
color:#b0b8a8;
}
#content #colorCodesContainer,#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #inputFieldContainer,
#loginContent input[type=text], #loginContent input[type=password]{
box-shadow: 0px 0px 8px 1px #495a49; -webkit-box-shadow: 0px 0px 8px 1px #495a49;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer {
background-color:#171717;
border:0;
}
#content #chatList:after, #content #chatList:before{
content:'';
display:block;
position:absolute;
border-radius: 5px;
}
#content #chatList:before{top:17px;left:0px;width:0px;height:98%;box-shadow: 1px 0px 8px 1px #000;}
#content #chatList:after{top:0px;left:17px;width:98%;height:0px;box-shadow: 0px 1px 8px 1px #000;}
#content #onlineListContainer #onlineList div {
margin: 0 1px 1px 1px;
background: none;
}
#content #onlineListContainer #onlineList ul {
margin-top: 1px;
list-style: none;
}
#content #helplist table, #content #settingsList table{border-spacing:0;}
#content #emoticonsContainer { border-radius: 3px; }
#content #bbCodeContainer { border: 0; padding-left: 0; }
#content #statusIconContainer { background-image: url('../img/loading-sprite.png'); }
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#content #bbCodeContainer input {
background-color: #d8ffd6;
background-image: -webkit-gradient(linear, left top, left bottom, from(#d8ffd6), to(#467a44));
background-image: -webkit-linear-gradient(top, #d8ffd6, #467a44);
background-image: -moz-linear-gradient(top, #d8ffd6, #467a44);
background-image: -o-linear-gradient(top, #d8ffd6, #467a44);
background-image: linear-gradient(to bottom, #d8ffd6, #467a44);
color:#1d1d1d;
}
#content #bbCodeContainer input:hover{
background-color: #ffffff;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#08ff35));
background-image: -webkit-linear-gradient(top, #ffffff, #08ff35);
background-image: -moz-linear-gradient(top, #ffffff, #08ff35);
background-image: -o-linear-gradient(top, #ffffff, #08ff35);
background-image: linear-gradient(to bottom, #ffffff, #08ff35);
}
#content #bbCodeContainer input:active, #content #logoutButton:active, #content #submitButton:active, #loginContent #loginButton:active{box-shadow:0px 0px 8px 1px #38ff56;}
#content #logoutButton, #content #submitButton,#loginContent #loginButton{
background-color: #4fff58;
background-image: -webkit-gradient(linear, left top, left bottom, from(#4fff58), to(#194221));
background-image: -webkit-linear-gradient(top, #4fff58, #194221);
background-image: -moz-linear-gradient(top, #4fff58, #194221);
background-image: -o-linear-gradient(top, #4fff58, #194221);
background-image: linear-gradient(to bottom, #4fff58, #194221);
font-weight:bold; color:#fff;
text-shadow:0px 0px 5px #000;
}
#content #logoutButton:hover, #content #submitButton:hover, #loginContent #loginButton:hover{
background-color: #99ffa8;
background-image: -webkit-gradient(linear, left top, left bottom, from(#99ffa8), to(#002405));
background-image: -webkit-linear-gradient(top, #99ffa8, #002405);
background-image: -moz-linear-gradient(top, #99ffa8, #002405);
background-image: -o-linear-gradient(top, #99ffa8, #002405);
background-image: linear-gradient(to bottom, #99ffa8, #002405);
}
#content #colorCodesContainer{
border:0;
background:rgba(0,0,0,0.7);
padding:7px;
}
#content #colorCodesContainer a{border-radius:10px; box-shadow:0px 0px 3px 1px rgba(255,255,255,0.3); margin:0 5px;border:0;}
#content #optionsContainer input.button { border: 0; padding: 0; margin-right: 5px;}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#131413;
}
#content .guest {
color:gray;
}
#content .user {
color:#b0b8a8;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#4c9546;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#4c9546;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color: #171717;
background-image: -webkit-gradient(linear, left top, left bottom, from(#3b6c37), to(#171717));
background-image: -webkit-linear-gradient(top, #3b6c37, #223220, #171717);
background-image: -moz-linear-gradient(top, #3b6c37, #223220, #171717);
background-image: -o-linear-gradient(top, #3b6c37, #223220, #171717);
background-image: linear-gradient(to bottom, #3b6c37, #223220, #171717);
}
}

View File

@ -1,114 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#d9ce72;
color:#333333;
border: 1px solid #c8b360;
background-image: linear-gradient(to bottom, #d9ce72, #e1d995);
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #c8b360;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#F7F5DC;
color:#000;
}
#loginContent h1 {
color:#000;
}
#loginContent a {
color:#000;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#000;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#eee9be;
color:#000;
}
#content h1 {
color:#000;
}
#content a {
color:#000;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea {
border-color:gray;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#FFFFF0;
}
#content .rowOdd {
background-color:#F7F5DC;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#FF6600;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#1E90FF;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#FFFFF0;
color:#000;
}
}

View File

@ -1,115 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#000;
color:#f0f0f0;
border: 1px solid #808080;
background-image: linear-gradient(to bottom, #222, #000);
}
#content select, #loginForm select, #loginForm input, #content textarea {
background-color:#000;
color:#fafafa;
border: 1px solid #808080;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#000;
color:#FFF;
}
#loginContent h1 {
color:#FFF;
}
#loginContent a {
color:#FFF;
}
#loginContent input, #loginContent select {
background-color:#212121;
color:#FFF;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#000;
color:#FFF;
}
#content h1 {
color:#FFF;
}
#content a {
color:#FFF;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea {
border-color:gray;
background-color:#000;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#212121;
}
#content .rowOdd {
background-color:#000;
}
#content .guest {
color:gray;
}
#content .user {
color:#FFF;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#FF6600;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#1E90FF;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#212121;
color:#FFF;
}
}

View File

@ -1,100 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
/* Fonts */
#loginContent {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:0.8em;
}
#loginContent h1 {
font-size:1.3em;
font-family:"Trebuchet MS", Verdana, Arial, sans-serif;
font-weight:bold;
}
#loginContent a {
text-decoration:none;
}
#loginContent a:hover {
text-decoration:underline;
}
#loginContent #loginRegisteredUsers {
font-size:0.8em;
}
#loginContent #copyright {
font-size:0.8em;
}
#content {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:0.8em;
}
#content h1 {
font-size:1.3em;
font-family:"Trebuchet MS", Verdana, Arial, sans-serif;
font-weight:bold;
}
#content h3 {
font-size:1.0em;
}
#content a {
text-decoration:none;
}
#content a:hover {
text-decoration:underline;
}
#content #copyright {
font-size:0.8em;
}
#content #chatList span.dateTime {
font-size:0.7em;
}
#content #chatList span.guest {
font-weight:bold;
}
#content #chatList span.user {
font-weight:bold;
}
#content #chatList span.moderator {
font-weight:bold;
}
#content #chatList span.admin {
font-weight:bold;
}
#content #chatList span.chatBot {
font-weight:bold;
font-style:italic;
}
#content #chatList .chatBotMessage {
font-style:italic;
}
#content #chatList .chatBotErrorMessage {
font-style:italic;
}
#content #chatList .privmsg {
font-style:italic;
}
#content #chatList .action {
font-style:italic;
}
#content #chatList q {
font-variant:small-caps;
}
#content #chatList code {
font-size:1.2em;
}
#content #onlineListContainer #onlineList div {
font-size:0.9em;
}
#content #helpContainer #helpList td {
font-size:0.9em;
}
#content #helpContainer #helpList td.code {
font-style:italic;
}
#content #settingsContainer #settingsList td {
font-size:0.9em;
}

View File

@ -1,278 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
/* Positioning */
#loginContent {
position:absolute;
width:100%;
height:100%;
}
#loginContent #loginHeadlineContainer {
margin: 100px 100px 0 100px;
}
#loginContent #loginFormContainer, #loginContent #errorContainer {
margin: 0 100px;
}
#loginContent #loginFormContainer div {
margin-bottom:7px;
}
#loginContent #loginRegisteredUsers {
padding-top:5px;
}
#loginContent #copyright {
margin: 20px 100px 0 100px;
}
#content {
position:absolute;
width:100%;
height:100%;
}
#content #copyright {
position:absolute;
right:20px;
top:20px;
}
#content #headlineContainer {
position:absolute;
left:20px;
top:5px;
}
#content #logoutChannelContainer {
position:absolute;
left:20px;
top:50px;
}
#content #logoutChannelContainer select{
width: 105px;
height: 22px;
}
#content #statusIconContainer {
position:absolute;
right:20px;
top:50px;
width: 22px;
height: 22px;
}
#content #chatList {
position:absolute;
left:20px;
right:230px;
top:85px;
bottom:150px;
overflow:auto;
}
#content #inputFieldContainer {
position:absolute;
left:20px;
right:20px;
bottom:95px;
padding-right:4px;
}
#content #submitButtonContainer {
position:absolute;
right:20px;
bottom:60px;
}
#content #onlineListContainer {
position:absolute;
right:20px;
top:85px;
width:200px;
bottom:150px;
}
#content #helpContainer {
position:absolute;
right:20px;
top:85px;
width:360px;
bottom:150px;
}
#content #settingsContainer {
position:absolute;
right:20px;
top:85px;
width:360px;
bottom:150px;
}
#content #bbCodeContainer {
position:absolute;
left:20px;
bottom:20px;
padding:3px;
}
#content #colorCodesContainer {
position:absolute;
left:20px;
bottom:55px;
padding:3px;
z-index:1;
}
#content #emoticonsContainer {
position:absolute;
left:20px;
bottom:57px;
padding:3px;
}
#content #optionsContainer {
position:absolute;
right:20px;
bottom:20px;
padding:3px;
padding-right:0px;
}
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginContent #loginButton {
padding: 4px 10px;
}
#content #colorCodesContainer a {
display:block;
float:left;
width:20px;
height:20px;
}
#content #optionsContainer input {
vertical-align:middle;
}
#content #optionsContainer input.button {
width:22px;
height:22px;
}
#content #emoticonsContainer a {
margin-left:1px;
margin-right:1px;
}
#content #emoticonsContainer img {
vertical-align:middle;
margin-bottom:2px;
}
#content #headlineContainer h1 {
margin-left:auto;
margin-top:12px;
}
#content #chatList div {
padding: 2px 10px;
}
#content #chatList img {
vertical-align:middle;
margin-bottom:2px;
}
#content #chatList cite {
margin-right:5px;
}
#content #chatList .bbCodeImage {
vertical-align:top;
overflow:auto;
margin:5px;
}
#content #chatList .delete {
display:block;
float:right;
width:10px;
height:10px;
margin-top:2px;
padding-left:5px;
background:url('../img/delete.png') no-repeat right;
}
#content #inputFieldContainer #inputField {
width:100%;
height:40px;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
height:30px;
padding: 4px 10px;
margin:0px;
text-align:center;
}
#content #onlineListContainer #onlineList, #content #helpContainer #helpList, #content #settingsContainer #settingsList {
position:absolute;
left:0px;
right:0px;
top:25px;
bottom:0px;
overflow:auto;
}
#content #onlineListContainer #onlineList div {
padding: 2px 10px;
}
#content #onlineListContainer #onlineList a {
display:block;
}
#content #onlineListContainer #onlineList ul {
margin: 5px 0;
padding-left:20px;
}
#content #helpContainer #helpList td, #content #settingsContainer #settingsList td {
padding: 4px 10px;
vertical-align:top;
}
#content #settingsContainer #settingsList td {
vertical-align:middle;
}
#content #settingsContainer #settingsList td.setting {
width:115px;
}
#content #settingsContainer #settingsList input.text {
width:100px;
}
#content #settingsContainer #settingsList select.left {
text-align:right;
}
#content #settingsContainer #settingsList input.button {
width:22px;
height:22px;
vertical-align:middle;
margin-bottom:2px;
}
/* Buttons */
#content #optionsContainer #helpButton {
background:url('../img/help.png') no-repeat;
}
#content #optionsContainer #settingsButton {
background:url('../img/settings.png') no-repeat;
}
#content #optionsContainer #onlineListButton {
background:url('../img/users.png') no-repeat;
}
#content #optionsContainer #audioButton {
background:url('../img/audio.png') no-repeat 0px 0px;
}
#content #optionsContainer #audioButton.off {
background-position: 0px 100%;
}
#content #optionsContainer #autoScrollButton {
background:url('../img/autoscroll.png') no-repeat 0px 0px;
}
#content #optionsContainer #autoScrollButton.off {
background-position: 0px 100%;
}
#content #settingsContainer #settingsList input.playback {
background:url('../img/playback.png') no-repeat;
}
/* Borders */
#content img {
border:none;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer,
#content #colorCodesContainer a, #content textarea {
border-width:1px;
border-style:solid;
}
#content #chatList .deleteSelected {
border-width:1px;
border-style:dotted;
}
#content #helpContainer #helpList table, #content #settingsContainer #settingsList table {
border-collapse:collapse;
}
/* Misc */
#content #bbCodeContainer input, #content #optionsContainer input.button, #content #settingsContainer #settingsList input.button, #content #logoutButton, #content #submitButton, #loginContent #loginButton {
cursor:pointer;
}

View File

@ -1,115 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#8a8a8a;
color:#fff;
border: 1px solid #808080;
background-image: linear-gradient(to bottom, #8a8a8a, #444);
}
#content select, #loginForm select, #loginForm input, #content textarea {
color:#333333;
border: 1px solid #808080;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Other Theme Elements */
#loginContent {
background-color:#F6F6F6;
color:#000;
}
#loginContent h1 {
color:#000;
}
#loginContent a {
color:#000;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#000;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#d0d0d0;
color:#000;
}
#content h1 {
color:#000;
}
#content a {
color:#000;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea {
border-color:gray;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#FFF;
}
#content .rowOdd {
background-color:#F6F6F6;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#FF6600;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#1E90FF;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#FFF;
color:#000;
}
}

View File

@ -1,70 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
/*
* Positioning adjustments for IE versions < 7
*/
body {
width:100%;
height:100%;
}
#content #chatList {
position:static;
margin-right:230px;
margin-left:20px;
margin-top:85px;
height:360px;
}
#content #onlineListContainer {
height:360px;
}
#content #helpContainer {
height:360px;
}
#content #settingsContainer {
height:360px;
}
#content #inputFieldContainer {
top:460px;
padding:0px;
}
#content #submitButtonContainer {
top:517px;
}
#content #bbCodeContainer {
top:550px;
}
#content #colorCodesContainer {
top:516px;
}
#content #emoticonsContainer {
top:517px;
}
#content #optionsContainer {
top:555px;
}
#content #inputFieldContainer #inputField {
width:94%;
}
#content #onlineListContainer #onlineList {
width:100%;
height:335px;
overflow:auto;
}
#content #helpContainer #helpList {
width:100%;
height:335px;
overflow:auto;
}
#content #settingsContainer #settingsList {
width:100%;
height:335px;
overflow:auto;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -1,114 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
/*
* Print layout
*/
@media print {
#content {
position:static;
}
#content #copyright {
display:none;
}
#content #headlineContainer {
display:none;
}
#content #logoutChannelContainer {
display:none;
}
#content #statusIconContainer {
display:none;
}
#content #chatList {
position:static;
overflow:visible;
}
#content #inputFieldContainer {
display:none;
}
#content #submitButtonContainer {
display:none;
}
#content #onlineListContainer {
display:none;
}
#content #helpContainer {
display:none;
}
#content #settingsContainer {
display:none;
}
#content #bbCodeContainer {
display:none;
}
#content #colorCodesContainer {
display:none;
}
#content #emoticonsContainer {
display:none;
}
#content #optionsContainer {
display:none;
}
#content #chatList div {
padding-bottom:5px;
}
#content #chatList img {
vertical-align:middle;
margin-bottom:2px;
}
#content #chatList cite {
margin-right:5px;
}
#content #chatList .delete {
display:none;
}
#content #chatList {
border:none;
}
#content {
font-family:'times new roman', times, serif;
font-size:1.0em;
text-align:justify;
}
#content #chatList code {
font-size:0.8em;
}
#content {
color:#000;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#FF6600;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#1E90FF;
}
}

View File

@ -1,154 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by phpBB style "prosilver":
* http://www.phpbb.com/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Firefox button padding fix */
#content #bbCodeContainer input::-moz-focus-inner, #content #logoutButton::-moz-focus-inner, #content #submitButton::-moz-focus-inner {
border:0;
padding:0;
}
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#F7F5F1;
color:#333333;
border: 1px solid #8a8a8a;
background-image: linear-gradient(to bottom, #fafafa, #cdcdcd);
background-image: -webkit-linear-gradient(top, #fafafa, #cdcdcd);
}
#content select, #loginForm select, #loginForm input, #content textarea {
background-color:#FFF;
color:#333333;
border: 1px solid #ababab;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
/* Headers */
#loginContent h1 {
color:#333333;
}
#content #headlineContainer h1 {
color: white;
margin-left: 20px;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#0c95d9;
color:#fff;
height: 25px;
}
/* Other Theme Elements */
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer {
border-color: #ababab;
}
#content #chatList .deleteSelected {
border-width:1px;
border-style:dotted;
}
#content #helpContainer #helpList table, #content #settingsContainer #settingsList table {
border-collapse:collapse;
}
#loginContent {
background-color:#F9F9F9;
color:#28313F;
}
#loginContent a {
color:#333333;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#333333;
}
#loginContent #loginFormContainer #loginButton {
background-color:#F7F5F1;
color:#333333;
}
#loginContent #errorContainer {
color:red;
}
#content #headlineContainer {
top: 0;
left: 0;
width: 100%;
background: #0c95d9;
}
#content #copyright, #content #copyright a {
color: white;
}
#content {
background-color:#F9F9F9;
color:#28313F;
}
#content a {
color:#333333;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content #emoticonsContainer {
background-color:#FFF;
}
#content #colorCodesContainer {
box-shadow: 2px 2px 2px #777;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#eaf1f6;
}
#content .rowOdd {
background-color:#e1eaf2;
}
#content .guest {
color:gray;
}
#content .user {
color:#333333;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:#AA0000;
}
#content .chatBot {
color:#D31141;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#D31141;
}
#content #chatList .deleteSelected {
border-color:red;
}
}

View File

@ -1,168 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
/*
* Positioning
*/
#ajaxChatContent #ajaxChatChatList {
height:300px;
overflow:auto;
}
#ajaxChatContent #ajaxChatChatList div {
padding-left:5px;
padding-top:2px;
padding-right:5px;
padding-bottom:2px;
}
#ajaxChatContent #ajaxChatChatList img {
vertical-align:middle;
margin-bottom:2px;
}
#ajaxChatContent #ajaxChatChatList cite {
margin-right:5px;
}
#ajaxChatContent #ajaxChatChatList .bbCodeImage {
vertical-align:top;
overflow:auto;
margin:5px;
}
#ajaxChatContent #ajaxChatChatList .delete {
float:right;
width:10px;
height:10px;
margin-top:5px;
margin-left:5px;
}
#ajaxChatContent #ajaxChatInputFieldContainer #ajaxChatInputField {
width:90%;
}
#ajaxChatContent #ajaxChatCopyright {
margin-top:5px;
}
#ajaxChatContent #ajaxChatInputFieldContainer.write_forbidden {
display:none;
}
/*
* Borders
*/
#ajaxChatContent img {
border:none;
}
#ajaxChatContent #ajaxChatChatList .deleteSelected {
border-width:1px;
border-style:dotted;
}
/*
* Fonts
*/
#ajaxChatContent {
font-size:0.9em;
}
#ajaxChatContent a {
text-decoration:none;
}
#ajaxChatContent a:hover {
text-decoration:underline;
}
#ajaxChatContent #ajaxChatCopyright {
font-size:0.8em;
}
#ajaxChatContent #ajaxChatChatList span.dateTime {
font-size:0.7em;
}
#ajaxChatContent #ajaxChatChatList span.guest {
font-size:0.9em;
font-weight:bold;
}
#ajaxChatContent #ajaxChatChatList span.user {
font-size:0.9em;
font-weight:bold;
}
#ajaxChatContent #ajaxChatChatList span.moderator {
font-size:0.9em;
font-weight:bold;
}
#ajaxChatContent #ajaxChatChatList span.admin {
font-size:0.9em;
font-weight:bold;
}
#ajaxChatContent #ajaxChatChatList span.chatBot {
font-size:0.9em;
font-weight:bold;
font-style:italic;
}
#ajaxChatContent #ajaxChatList .chatBotMessage {
font-style:italic;
}
#ajaxChatContent #ajaxChatChatList .chatBotErrorMessage {
font-style:italic;
}
#ajaxChatContent #ajaxChatChatList .privmsg {
font-style:italic;
}
#ajaxChatContent #ajaxChatChatList .action {
font-style:italic;
}
#ajaxChatContent #ajaxChatChatList q {
font-variant:small-caps;
}
#ajaxChatContent #ajaxChatChatList code {
font-size:1.2em;
}
/*
* Colors
*/
#ajaxChatContent #ajaxChatChatList {
color:#000;
}
#ajaxChatContent #ajaxChatChatList {
background-color:#FFF;
}
#ajaxChatContent .rowEven {
background-color:#FFF;
}
#ajaxChatContent .rowOdd {
background-color:#F6F6F6;
}
#ajaxChatContent .guest {
color:gray;
}
#ajaxChatContent .user {
color:#000;
}
#ajaxChatContent .moderator {
color:#00AA00;
}
#ajaxChatContent .admin {
color:red;
}
#ajaxChatContent .chatBot {
color:#FF6600;
}
#ajaxChatContent #ajaxChatChatList .chatBotErrorMessage {
color:red;
}
#ajaxChatContent #ajaxChatChatList a {
color:#1E90FF;
}
#ajaxChatContent #ajaxChatChatList .delete {
background:url('../img/delete.png') no-repeat right;
}
#ajaxChatContent #ajaxChatChatList .deleteSelected {
border-color:red;
}

View File

@ -1,117 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by phpBB style "subSilver":
* http://www.phpbb.com/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#loginContent {
background-color:#E5E5E5;
color:#000;
}
#loginContent h1 {
color:#006699;
}
#loginContent a {
color:#000;
}
#loginContent input, #loginContent select {
background-color:#FFF;
color:#000;
}
#loginContent #loginFormContainer #loginButton {
background-color:#F7F5F1;
color:#000;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#E5E5E5;
color:#000;
}
#content h1 {
color:#006699;
}
#content a {
color:#000;
}
#content input, #content select, #content textarea {
background-color:#FFF;
color:#000;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer, #content textarea{
border-color:#006699;
background-color:#FFF;
}
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton {
background-color:#F7F5F1;
color:#000;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#DEE3E7;
}
#content .rowOdd {
background-color:#EFEFEF;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#006600;
}
#content .admin {
color:#FFA34F;
}
#content .chatBot {
color:#DD6900;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#006699;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#DEE3E7;
color:#006699;
}
}

View File

@ -1,117 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by phpBB style "subblack2":
* http://www.phpbb.com/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#loginContent {
background-color:#000;
color:#FFFFCC;
}
#loginContent h1 {
color:#FFFFCC;
}
#loginContent a {
color:#FFFFCC;
}
#loginContent input, #loginContent select {
background-color:#212121;
color:#FFFFCC;
}
#loginContent #loginFormContainer #loginButton {
background-color:#212121;
color:#FFFFCC;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#000;
color:#FFFFCC;
}
#content h1 {
color:#CC9900;
}
#content a {
color:#FFFFCC;
}
#content input, #content select, #content textarea {
background-color:#212121;
color:#FFFFCC;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #bbCodeContainer, #content #colorCodesContainer, #content #emoticonsContainer {
border-color:gray;
background-color:#212121;
}
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton {
background-color:#212121;
color:#FFFFCC;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#212121;
}
#content .rowOdd {
background-color:#000;
}
#content .guest {
color:gray;
}
#content .user {
color:#FFFFCC;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#CC9900;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#FFCC00;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#212121;
color:#FFCC00;
}
}

View File

@ -1,127 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Philip Nicolcev
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*
* Color palette inspired by vBulletin style "Standard-Style":
* http://www.vbulletin.com/
*/
@import url('global.css');
@import url('fonts.css');
@import url('print.css');
@media screen,projection,handheld {
/* Buttons */
#content #bbCodeContainer input, #content #logoutButton, #content #submitButton, #loginForm #loginButton {
background-color:#7192A8;
color:#fff;
border: 0;
}
#content select, #loginForm select, #loginForm input, #content textarea {
background-color:#7192A8;
color:#fff;
border: 1px solid #2F4456;
}
/* Status Icon */
#content #statusIconContainer {
background-image: url('../img/loading-sprite.png');
}
#content .statusContainerOff {
background-position: 0px 0px;
}
#content .statusContainerOn {
background-position: 0px -22px;
}
#content .statusContainerAlert {
background-position: 0px -44px;
}
#loginContent {
background-color:#E1E1E2;
color:#000;
}
#loginContent h1 {
color:#3B5485;
}
#loginContent a {
color:#3B5485;
}
#loginContent #errorContainer {
color:red;
}
#content {
background-color:#E1E1E2;
color:#000;
}
#content #headlineContainer h1 {
color:#fff;
margin-left: 20px;
}
#content #headlineContainer {
top: 0;
left: 10px;
right: 10px;
background: #2F4456;
border-radius: 0px 0px 5px 5px;
}
#content #copyright, #content #copyright a {
color: white;
}
#content a {
color:#3B5485;
}
#content input, #content select, #content textarea {
background-color:#FFF;
color:#000;
}
#content #chatList, #content #onlineListContainer, #content #helpContainer, #content #settingsContainer, #content #colorCodesContainer {
border-color:#0B198C;
background-color:#FFF;
}
#content #colorCodesContainer a {
border-color:black;
}
#content #optionsContainer input {
background-color:transparent;
}
#content .rowEven {
background-color:#E1E4F2;
}
#content .rowOdd {
background-color:#F5F5FF;
}
#content .guest {
color:gray;
}
#content .user {
color:#000;
}
#content .moderator {
color:#00AA00;
}
#content .admin {
color:red;
}
#content .chatBot {
color:#3B5485;
}
#content #chatList .chatBotErrorMessage {
color:red;
}
#content #chatList a {
color:#3B5485;
}
#content #chatList .deleteSelected {
border-color:red;
}
#content #onlineListContainer h3, #content #helpContainer h3, #content #settingsContainer h3 {
background-color:#7192A8;
color:#FFF;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 904 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 914 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,45 +0,0 @@
The icons used for this project have been created by the
=====================
Tango Desktop Project
=====================
http://tango.freedesktop.org/
Additional emoticons have been created by
=============================
zerwas2ky (KDE-Look.org user)
=============================
http://www.kde-look.org/content/show.php?content=65591
The icons are licensed under the
====================================================
Creative Commons Attribution Share Alike 2.5 License
====================================================
http://creativecommons.org/licenses/by-sa/2.5/
You are free:
* to Share — to copy, distribute and transmit the work
* to Remix — to adapt the work
Under the following conditions:
* Attribution.
You must attribute the work in the manner specified by the author or licensor
(but not in any way that suggests that they endorse you or your use of the work).
* Share Alike.
If you alter, transform, or build upon this work,
you may distribute the resulting work only under the same or similar license to this one.
- For any reuse or distribution, you must make clear to others the license terms of this work.
- Any of the above conditions can be waived if you get permission from the copyright holder.
- Nothing in this license impairs or restricts the author's moral rights.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,24 +0,0 @@
<?php
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Suppress errors.
error_reporting(0);
// Path to the chat directory:
define('AJAX_CHAT_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
// Include custom libraries and initialization code:
require(AJAX_CHAT_PATH.'lib/custom.php');
// Include Class libraries:
require(AJAX_CHAT_PATH.'lib/classes.php');
// Initialize the chat:
$ajaxChat = new CustomAJAXChat();
?>

View File

@ -1,80 +0,0 @@
<?php
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Show all errors:
error_reporting(E_ALL);
// Remember to set up the config file to point to your database:
file_exists('lib/config.php') or die('Failed to load lib/config.php. Did you remember to create a config file based on config.php.example?');
// Path to the chat directory:
define('AJAX_CHAT_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
// Include custom libraries and initialization code:
require(AJAX_CHAT_PATH.'lib/custom.php');
// Include Class libraries:
require(AJAX_CHAT_PATH.'lib/classes.php');
class CustomAJAXChatInstaller extends CustomAJAXChatInterface {
function &getDataBaseTableCreationQueries() {
$queries = array();
$index = 0;
// Retrieve the queries from the SQL file:
$lines = file(AJAX_CHAT_PATH.'chat.sql');
// Stop if an error occurs:
if(!$lines) {
echo 'Failed to load queries from file (chat.sql).';
die();
}
foreach($lines as $line) {
if(empty($line)) {
continue;
}
$line = trim($line);
if(count($queries) <= $index) {
array_push($queries, $line."\n");
} else {
$queries[$index] .= $line."\n";
}
// Create a new array item for each query:
if(substr($line, -1) == ';') {
$index++;
}
}
return $queries;
}
function createDataBaseTables($printSuccessConfirmation=true) {
$queries = $this->getDataBaseTableCreationQueries();
foreach($queries as $sql) {
// Create a new SQL query:
$result = $this->db->sqlQuery($sql);
// Stop if an error occurs:
if($result->error()) {
echo $result->getError();
die();
}
}
if($printSuccessConfirmation) {
// Print a success confirmation:
echo 'Database tables created successfully - please delete this file (install.php).';
}
}
}
// Initialize the chat installer:
$ajaxChatInstaller = new CustomAJAXChatInstaller();
// Create the database tables:
$ajaxChatInstaller->createDataBaseTables();
?>

View File

@ -1,591 +0,0 @@
/*
/*
Copyright 2006 Adobe Systems Incorporated
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/*
* The Bridge class, responsible for navigating AS instances
*/
function FABridge(target,bridgeName)
{
this.target = target;
this.remoteTypeCache = {};
this.remoteInstanceCache = {};
this.remoteFunctionCache = {};
this.localFunctionCache = {};
this.bridgeID = FABridge.nextBridgeID++;
this.name = bridgeName;
this.nextLocalFuncID = 0;
FABridge.instances[this.name] = this;
FABridge.idMap[this.bridgeID] = this;
return this;
}
// type codes for packed values
FABridge.TYPE_ASINSTANCE = 1;
FABridge.TYPE_ASFUNCTION = 2;
FABridge.TYPE_JSFUNCTION = 3;
FABridge.TYPE_ANONYMOUS = 4;
FABridge.initCallbacks = {}
FABridge.argsToArray = function(args)
{
var result = [];
for (var i = 0; i < args.length; i++)
{
result[i] = args[i];
}
return result;
}
function instanceFactory(objID)
{
this.fb_instance_id = objID;
return this;
}
function FABridge__invokeJSFunction(args)
{
var funcID = args[0];
var throughArgs = args.concat();//FABridge.argsToArray(arguments);
throughArgs.shift();
var bridge = FABridge.extractBridgeFromID(funcID);
return bridge.invokeLocalFunction(funcID, throughArgs);
}
FABridge.addInitializationCallback = function(bridgeName, callback)
{
var inst = FABridge.instances[bridgeName];
if (inst != undefined)
{
callback.call(inst);
return;
}
var callbackList = FABridge.initCallbacks[bridgeName];
if(callbackList == null)
{
FABridge.initCallbacks[bridgeName] = callbackList = [];
}
callbackList.push(callback);
}
function FABridge__bridgeInitialized(bridgeName) {
var objects = document.getElementsByTagName("object");
var ol = objects.length;
var activeObjects = [];
if (ol > 0) {
for (var i = 0; i < ol; i++) {
if (typeof objects[i].SetVariable != "undefined") {
activeObjects[activeObjects.length] = objects[i];
}
}
}
var embeds = document.getElementsByTagName("embed");
var el = embeds.length;
var activeEmbeds = [];
if (el > 0) {
for (var j = 0; j < el; j++) {
if (typeof embeds[j].SetVariable != "undefined") {
activeEmbeds[activeEmbeds.length] = embeds[j];
}
}
}
var aol = activeObjects.length;
var ael = activeEmbeds.length;
var searchStr = "bridgeName="+ bridgeName;
if ((aol == 1 && !ael) || (aol == 1 && ael == 1)) {
FABridge.attachBridge(activeObjects[0], bridgeName);
}
else if (ael == 1 && !aol) {
FABridge.attachBridge(activeEmbeds[0], bridgeName);
}
else {
var flash_found = false;
if (aol > 1) {
for (var k = 0; k < aol; k++) {
var params = activeObjects[k].childNodes;
for (var l = 0; l < params.length; l++) {
var param = params[l];
if (param.nodeType == 1 && param.tagName.toLowerCase() == "param" && param["name"].toLowerCase() == "flashvars" && param["value"].indexOf(searchStr) >= 0) {
FABridge.attachBridge(activeObjects[k], bridgeName);
flash_found = true;
break;
}
}
if (flash_found) {
break;
}
}
}
if (!flash_found && ael > 1) {
for (var m = 0; m < ael; m++) {
var flashVars = activeEmbeds[m].attributes.getNamedItem("flashVars").nodeValue;
if (flashVars.indexOf(searchStr) >= 0) {
FABridge.attachBridge(activeEmbeds[m], bridgeName);
break;
}
}
}
}
return true;
}
// used to track multiple bridge instances, since callbacks from AS are global across the page.
FABridge.nextBridgeID = 0;
FABridge.instances = {};
FABridge.idMap = {};
FABridge.refCount = 0;
FABridge.extractBridgeFromID = function(id)
{
var bridgeID = (id >> 16);
return FABridge.idMap[bridgeID];
}
FABridge.attachBridge = function(instance, bridgeName)
{
var newBridgeInstance = new FABridge(instance, bridgeName);
FABridge[bridgeName] = newBridgeInstance;
/* FABridge[bridgeName] = function() {
return newBridgeInstance.root();
}
*/
var callbacks = FABridge.initCallbacks[bridgeName];
if (callbacks == null)
{
return;
}
for (var i = 0; i < callbacks.length; i++)
{
callbacks[i].call(newBridgeInstance);
}
delete FABridge.initCallbacks[bridgeName]
}
// some methods can't be proxied. You can use the explicit get,set, and call methods if necessary.
FABridge.blockedMethods =
{
toString: true,
get: true,
set: true,
call: true
};
FABridge.prototype =
{
// bootstrapping
root: function()
{
return this.deserialize(this.target.getRoot());
},
//clears all of the AS objects in the cache maps
releaseASObjects: function()
{
return this.target.releaseASObjects();
},
//clears a specific object in AS from the type maps
releaseNamedASObject: function(value)
{
if(typeof(value) != "object")
{
return false;
}
else
{
var ret = this.target.releaseNamedASObject(value.fb_instance_id);
return ret;
}
},
//create a new AS Object
create: function(className)
{
return this.deserialize(this.target.create(className));
},
// utilities
makeID: function(token)
{
return (this.bridgeID << 16) + token;
},
// low level access to the flash object
//get a named property from an AS object
getPropertyFromAS: function(objRef, propName)
{
if (FABridge.refCount > 0)
{
throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
}
else
{
FABridge.refCount++;
retVal = this.target.getPropFromAS(objRef, propName);
retVal = this.handleError(retVal);
FABridge.refCount--;
return retVal;
}
},
//set a named property on an AS object
setPropertyInAS: function(objRef,propName, value)
{
if (FABridge.refCount > 0)
{
throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
}
else
{
FABridge.refCount++;
retVal = this.target.setPropInAS(objRef,propName, this.serialize(value));
retVal = this.handleError(retVal);
FABridge.refCount--;
return retVal;
}
},
//call an AS function
callASFunction: function(funcID, args)
{
if (FABridge.refCount > 0)
{
throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
}
else
{
FABridge.refCount++;
retVal = this.target.invokeASFunction(funcID, this.serialize(args));
retVal = this.handleError(retVal);
FABridge.refCount--;
return retVal;
}
},
//call a method on an AS object
callASMethod: function(objID, funcName, args)
{
if (FABridge.refCount > 0)
{
throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");
}
else
{
FABridge.refCount++;
args = this.serialize(args);
retVal = this.target.invokeASMethod(objID, funcName, args);
retVal = this.handleError(retVal);
FABridge.refCount--;
return retVal;
}
},
// responders to remote calls from flash
//callback from flash that executes a local JS function
//used mostly when setting js functions as callbacks on events
invokeLocalFunction: function(funcID, args)
{
var result;
var func = this.localFunctionCache[funcID];
if(func != undefined)
{
result = this.serialize(func.apply(null, this.deserialize(args)));
}
return result;
},
// Object Types and Proxies
// accepts an object reference, returns a type object matching the obj reference.
getTypeFromName: function(objTypeName)
{
return this.remoteTypeCache[objTypeName];
},
//create an AS proxy for the given object ID and type
createProxy: function(objID, typeName)
{
var objType = this.getTypeFromName(typeName);
instanceFactory.prototype = objType;
var instance = new instanceFactory(objID);
this.remoteInstanceCache[objID] = instance;
return instance;
},
//return the proxy associated with the given object ID
getProxy: function(objID)
{
return this.remoteInstanceCache[objID];
},
// accepts a type structure, returns a constructed type
addTypeDataToCache: function(typeData)
{
newType = new ASProxy(this, typeData.name);
var accessors = typeData.accessors;
for (var i = 0; i < accessors.length; i++)
{
this.addPropertyToType(newType, accessors[i]);
}
var methods = typeData.methods;
for (var i = 0; i < methods.length; i++)
{
if (FABridge.blockedMethods[methods[i]] == undefined)
{
this.addMethodToType(newType, methods[i]);
}
}
this.remoteTypeCache[newType.typeName] = newType;
return newType;
},
//add a property to a typename; used to define the properties that can be called on an AS proxied object
addPropertyToType: function(ty, propName)
{
var c = propName.charAt(0);
var setterName;
var getterName;
if(c >= "a" && c <= "z")
{
getterName = "get" + c.toUpperCase() + propName.substr(1);
setterName = "set" + c.toUpperCase() + propName.substr(1);
}
else
{
getterName = "get" + propName;
setterName = "set" + propName;
}
ty[setterName] = function(val)
{
this.bridge.setPropertyInAS(this.fb_instance_id, propName, val);
}
ty[getterName] = function()
{
return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName));
}
},
//add a method to a typename; used to define the methods that can be callefd on an AS proxied object
addMethodToType: function(ty, methodName)
{
ty[methodName] = function()
{
return this.bridge.deserialize(this.bridge.callASMethod(this.fb_instance_id, methodName, FABridge.argsToArray(arguments)));
}
},
// Function Proxies
//returns the AS proxy for the specified function ID
getFunctionProxy: function(funcID)
{
var bridge = this;
if (this.remoteFunctionCache[funcID] == null)
{
this.remoteFunctionCache[funcID] = function()
{
bridge.callASFunction(funcID, FABridge.argsToArray(arguments));
}
}
return this.remoteFunctionCache[funcID];
},
//reutrns the ID of the given function; if it doesnt exist it is created and added to the local cache
getFunctionID: function(func)
{
if (func.__bridge_id__ == undefined)
{
func.__bridge_id__ = this.makeID(this.nextLocalFuncID++);
this.localFunctionCache[func.__bridge_id__] = func;
}
return func.__bridge_id__;
},
// serialization / deserialization
serialize: function(value)
{
var result = {};
var t = typeof(value);
//primitives are kept as such
if (t == "number" || t == "string" || t == "boolean" || t == null || t == undefined)
{
result = value;
}
else if (value instanceof Array)
{
//arrays are serializesd recursively
result = [];
for (var i = 0; i < value.length; i++)
{
result[i] = this.serialize(value[i]);
}
}
else if (t == "function")
{
//js functions are assigned an ID and stored in the local cache
result.type = FABridge.TYPE_JSFUNCTION;
result.value = this.getFunctionID(value);
}
else if (value instanceof ASProxy)
{
result.type = FABridge.TYPE_ASINSTANCE;
result.value = value.fb_instance_id;
}
else
{
result.type = FABridge.TYPE_ANONYMOUS;
result.value = value;
}
return result;
},
//on deserialization we always check the return for the specific error code that is used to marshall NPE's into JS errors
// the unpacking is done by returning the value on each pachet for objects/arrays
deserialize: function(packedValue)
{
var result;
var t = typeof(packedValue);
if (t == "number" || t == "string" || t == "boolean" || packedValue == null || packedValue == undefined)
{
result = this.handleError(packedValue);
}
else if (packedValue instanceof Array)
{
result = [];
for (var i = 0; i < packedValue.length; i++)
{
result[i] = this.deserialize(packedValue[i]);
}
}
else if (t == "object")
{
for(var i = 0; i < packedValue.newTypes.length; i++)
{
this.addTypeDataToCache(packedValue.newTypes[i]);
}
for (var aRefID in packedValue.newRefs)
{
this.createProxy(aRefID, packedValue.newRefs[aRefID]);
}
if (packedValue.type == FABridge.TYPE_PRIMITIVE)
{
result = packedValue.value;
}
else if (packedValue.type == FABridge.TYPE_ASFUNCTION)
{
result = this.getFunctionProxy(packedValue.value);
}
else if (packedValue.type == FABridge.TYPE_ASINSTANCE)
{
result = this.getProxy(packedValue.value);
}
else if (packedValue.type == FABridge.TYPE_ANONYMOUS)
{
result = packedValue.value;
}
}
return result;
},
//increases the reference count for the given object
addRef: function(obj)
{
this.target.incRef(obj.fb_instance_id);
},
//decrease the reference count for the given object and release it if needed
release:function(obj)
{
this.target.releaseRef(obj.fb_instance_id);
},
// check the given value for the components of the hard-coded error code : __FLASHERROR
// used to marshall NPE's into flash
handleError: function(value)
{
if (typeof(value)=="string" && value.indexOf("__FLASHERROR")==0)
{
var myErrorMessage = value.split("||");
if(FABridge.refCount > 0 )
{
FABridge.refCount--;
}
throw new Error(myErrorMessage[1]);
return value;
}
else
{
return value;
}
}
};
// The root ASProxy class that facades a flash object
ASProxy = function(bridge, typeName)
{
this.bridge = bridge;
this.typeName = typeName;
return this;
};
//methods available on each ASProxy object
ASProxy.prototype =
{
get: function(propName)
{
return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName));
},
set: function(propName, value)
{
this.bridge.setPropertyInAS(this.fb_instance_id, propName, value);
},
call: function(funcName, args)
{
this.bridge.callASMethod(this.fb_instance_id, funcName, args);
},
addRef: function() {
this.bridge.addRef(this);
},
release: function() {
this.bridge.release(this);
}
};

File diff suppressed because it is too large Load Diff

View File

@ -1,261 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat config parameters:
var ajaxChatConfig = {
// The channelID of the channel to enter on login (the loginChannelName is used if set to null):
loginChannelID: null,
// The channelName of the channel to enter on login (the default channel is used if set to null):
loginChannelName: null,
// The time in ms between update calls to retrieve new chat messages:
timerRate: 2000,
// The URL to retrieve the XML chat messages (must at least contain one parameter):
ajaxURL: './?ajax=true',
// The base URL of the chat directory, used to retrieve media files (images, sound files, etc.):
baseURL: './',
// A regular expression for allowed source URL's for media content (e.g. images displayed inline);
regExpMediaUrl: '^((http)|(https)):\\/\\/',
// If set to false the chat update is delayed until the event defined in ajaxChat.setStartChatHandler():
startChatOnLoad: true,
// Defines the IDs of DOM nodes accessed by the chat:
domIDs: {
// The ID of the chat messages list:
chatList: 'chatList',
// The ID of the online users list:
onlineList: 'onlineList',
// The ID of the message text input field:
inputField: 'inputField',
// The ID of the message text length counter:
messageLengthCounter: 'messageLengthCounter',
// The ID of the channel selection:
channelSelection: 'channelSelection',
// The ID of the style selection:
styleSelection: 'styleSelection',
// The ID of the emoticons container:
emoticonsContainer: 'emoticonsContainer',
// The ID of the color codes container:
colorCodesContainer: 'colorCodesContainer',
// The ID of the flash interface container:
flashInterfaceContainer: 'flashInterfaceContainer'
},
// Defines the settings which can be modified by users:
settings: {
// Defines if BBCode tags are replaced with the associated HTML code tags:
bbCode: true,
// Defines if image BBCode is replaced with the associated image HTML code:
bbCodeImages: true,
// Defines if color BBCode is replaced with the associated color HTML code:
bbCodeColors: true,
// Defines if hyperlinks are made clickable:
hyperLinks: true,
// Defines if line breaks are enabled:
lineBreaks: true,
// Defines if emoticon codes are replaced with their associated images:
emoticons: true,
// Defines if the focus is automatically set to the input field on chat load or channel switch:
autoFocus: true,
// Defines if the chat list scrolls automatically to display the latest messages:
autoScroll: true,
// The maximum count of messages displayed in the chat list (will be ignored if set to 0):
maxMessages: 0,
// Defines if long words are wrapped to avoid vertical scrolling:
wordWrap: true,
// Defines the maximum length before a word gets wrapped:
maxWordLength: 32,
// Defines the format of the date and time displayed for each chat message:
dateFormat: '(%H:%i:%s)',
// Defines if font colors persist without the need to assign them to each message:
persistFontColor: false,
// The default font color, uses the page default font color if set to null:
fontColor: null,
// Defines if sounds are played:
audio: true,
// Defines the sound volume (0.0 = mute, 1.0 = max):
audioVolume: 1.0,
// Defines the sound that is played when normal messages are reveived:
soundReceive: 'sound_1',
// Defines the sound that is played on sending normal messages:
soundSend: 'sound_2',
// Defines the sound that is played on channel enter or login:
soundEnter: 'sound_3',
// Defines the sound that is played on channel leave or logout:
soundLeave: 'sound_4',
// Defines the sound that is played on chatBot messages:
soundChatBot: 'sound_5',
// Defines the sound that is played on error messages:
soundError: 'sound_6',
// Defines if the document title blinks on new messages:
blink: true,
// Defines the blink interval in ms:
blinkInterval: 500,
// Defines the number of blink intervals:
blinkIntervalNumber: 10
},
// Defines a list of settings which are not to be stored in a session cookie:
nonPersistentSettings: [],
// Defines the list of allowed BBCodes:
bbCodeTags:[
'b',
'i',
'u',
'quote',
'code',
'color',
'url',
'img'
],
// Defines the list of allowed color codes:
colorCodes: [
'gray',
'silver',
'white',
'yellow',
'orange',
'red',
'fuchsia',
'purple',
'navy',
'blue',
'aqua',
'teal',
'green',
'lime',
'olive',
'maroon',
'black'
],
// Defines the list of allowed emoticon codes:
emoticonCodes: [
':)',
':(',
';)',
':P',
':D',
':|',
':O',
':?',
'8)',
'8o',
'B)',
':-)',
':-(',
':-*',
'O:-D',
'>:-D',
':o)',
':idea:',
':important:',
':help:',
':error:',
':warning:',
':favorite:'
],
// Defines the list of emoticon files associated with the emoticon codes:
emoticonFiles: [
'smile.png',
'sad.png',
'wink.png',
'razz.png',
'grin.png',
'plain.png',
'surprise.png',
'confused.png',
'glasses.png',
'eek.png',
'cool.png',
'smile-big.png',
'crying.png',
'kiss.png',
'angel.png',
'devilish.png',
'monkey.png',
'idea.png',
'important.png',
'help.png',
'error.png',
'warning.png',
'favorite.png'
],
// Defines the available sounds loaded on chat start:
soundFiles: {
sound_1: 'sound_1.mp3',
sound_2: 'sound_2.mp3',
sound_3: 'sound_3.mp3',
sound_4: 'sound_4.mp3',
sound_5: 'sound_5.mp3',
sound_6: 'sound_6.mp3'
},
// Once users have been logged in, the following values are overridden by those in config.php.
// You should set these to be the same as the ones in config.php to avoid confusion.
// Session identification, used for style and setting cookies:
sessionName: 'ajax_chat',
// The time in days until the style and setting cookies expire:
cookieExpiration: 365,
// The path of the cookies, '/' allows to read the cookies from all directories:
cookiePath: '/',
// The domain of the cookies, defaults to the hostname of the server if set to null:
cookieDomain: null,
// If enabled, cookies must be sent over secure (SSL/TLS encrypted) connections:
cookieSecure: null,
// The name of the chat bot:
chatBotName: 'ChatBot',
// The userID of the chat bot:
chatBotID: 2147483647,
// Allow/Disallow registered users to delete their own messages:
allowUserMessageDelete: true,
// Minutes until a user is declared inactive (last status update) - the minimum is 2 minutes:
inactiveTimeout: 2,
// UserID plus this value are private channels (this is also the max userID and max channelID):
privateChannelDiff: 500000000,
// UserID plus this value are used for private messages:
privateMessageDiff: 1000000000,
// Defines if login/logout and channel enter/leave are displayed:
showChannelMessages: true,
// Max messageText length:
messageTextMaxLength: 1040,
// Defines if the socket server is enabled:
socketServerEnabled: false,
// Defines the hostname of the socket server used to connect from client side:
socketServerHost: 'localhost',
// Defines the port of the socket server:
socketServerPort: 1935,
// This ID can be used to distinguish between different chat installations using the same socket server:
socketServerChatID: 0
}

View File

@ -1,16 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Overriding client side functionality:
/*
// Example - Overriding the replaceCustomCommands method:
ajaxChat.replaceCustomCommands = function(text, textParts) {
return text;
}
*/

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author pepotiger (www.dd4bb.com)
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s دخول.',
logout: '%s خروج.',
logoutTimeout: '%s تم تسجيل الخروج (Timeout).',
logoutIP: '%s تم تسجيل الخروج (Invalid IP address).',
logoutKicked: '%s تم تسجيل الخروج (Kicked).',
channelEnter: '%s دخول المحطة.',
channelLeave: '%s خروج.',
privmsg: '(رسالة خاصة)',
privmsgto: '(رسالة خاصة الى %s)',
invite: '%s يدعوك الى %s.',
inviteto: 'دعوتك لـ %s للإنضمام الى %s تم ارسالها.',
uninvite: '%s الغاء دعوتك من %s.',
uninviteto: 'الغاء الدعوة من %s للـ %s تم ارسالها.',
queryOpen: 'تم فتح نافذة خاصة مع %s.',
queryClose: 'النافذة الخاصة مع %s تم غلقها.',
ignoreAdded: 'اضيف %s الى قائمة التجاهل.',
ignoreRemoved: 'حذف %s من قائمة التجاهل.',
ignoreList: 'اعضاء متجاهلين:',
ignoreListEmpty: 'لا يوجد اعضاء تم تجاهلهم.',
who: 'المستخدمين المتواجدين:',
whoChannel: 'Online Users in channel %s:',
whoEmpty: 'لا يوجد اعضاء بهذه المحطة.',
list: 'المحطات المتوفرة:',
bans: 'اعضاء محجوبين:',
bansEmpty: 'لا يوجد اعضاء محجوبين.',
unban: 'حظر العضو %s تم الغائه.',
whois: 'الأى بى للعضو %s:',
whereis: 'User %s is in channel %s.',
roll: '%s rolls %s and gets %s.',
nick: '%s is now known as %s.',
toggleUserMenu: 'Toggle user menu for %s',
userMenuLogout: 'Logout',
userMenuWho: 'List online users',
userMenuList: 'List available channels',
userMenuAction: 'Describe action',
userMenuRoll: 'Roll dice',
userMenuNick: 'Change username',
userMenuEnterPrivateRoom: 'Enter private room',
userMenuSendPrivateMessage: 'Send private message',
userMenuDescribe: 'Send private action',
userMenuOpenPrivateChannel: 'Open private channel',
userMenuClosePrivateChannel: 'Close private channel',
userMenuInvite: 'Invite',
userMenuUninvite: 'Uninvite',
userMenuIgnore: 'Ignore/Accept',
userMenuIgnoreList: 'List ignored users',
userMenuWhereis: 'Display channel',
userMenuKick: 'Kick/Ban',
userMenuBans: 'List banned users',
userMenuWhois: 'Display IP',
unbanUser: 'Revoke ban of user %s',
joinChannel: 'الإنضمام للمحطة %s',
cite: '%s كتب:',
urlDialog: 'من فضلك ادخل الرابط (URL) لعنوان الأنترنت:',
deleteMessage: 'Delete this chat message',
deleteMessageConfirm: 'Really delete the selected chat message?',
errorCookiesRequired: 'الكوكييز مطلوبة لهذا الشات.',
errorUserNameNotFound: 'خطأ: العضو %s لم يتم العثور عليه.',
errorMissingText: 'خطأ: نص الرسالة مفقود.',
errorMissingUserName: 'خطأ: اسم المستخدم مفقود.',
errorInvalidUserName: 'Error: Invalid username.',
errorUserNameInUse: 'Error: Username already in use.',
errorMissingChannelName: 'خطأ: اسم المحطة مفقود.',
errorInvalidChannelName: 'خطأ: اسم المحطة غير صحيح: %s',
errorPrivateMessageNotAllowed: 'خطأ: غير مسموح بالرسائل الخاصة.',
errorInviteNotAllowed: 'خطأ: غير مسموح بدعوة الأخرين.',
errorUninviteNotAllowed: 'خطأ: غير مسموح بإلغاء دعوات الأخرين.',
errorNoOpenQuery: 'خطأ: لم يتم فتح اى نوافذ خاصة.',
errorKickNotAllowed: 'خطأ: غير مسموح لك بطرد احد %s.',
errorCommandNotAllowed: 'خطأ: غير مسموح بالأمر: %s',
errorUnknownCommand: 'خطأ: امر غير معروف: %s',
errorMaxMessageRate: 'Error: You exceeded the maximum number of messages per minute.',
errorConnectionTimeout: 'خطأ: وقت الأتصال استنفذ. من فضلك حاول مرة اخرى.',
errorConnectionStatus: 'خطأ: حالة الأتصال: %s',
errorSoundIO: 'Error: Failed to load sound file (Flash IO Error).',
errorSocketIO: 'Error: Connection to socket server failed (Flash IO Error).',
errorSocketSecurity: 'Error: Connection to socket server failed (Flash Security Error).',
errorDOMSyntax: 'Error: Invalid DOM Syntax (DOM ID: %s).'
}

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Borislav Manolov
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s влезе в чата.',
logout: '%s излезе от чата.',
logoutTimeout: '%s излезе автоматично от чата (Изтичане на времето).',
logoutIP: '%s излезе автоматично от чата (Грешен айпи адрес).',
logoutKicked: '%s излезе автоматично от чата (Изритване).',
channelEnter: '%s влезе в канала.',
channelLeave: '%s напусна канала.',
privmsg: '(прошепва)',
privmsgto: '(прошепва на %s)',
invite: '%s ви кани да се присъедините към %s.',
inviteto: 'Поканата ви към %s да се присъедини към канала %s беше изпратена.',
uninvite: '%s отмени поканата ви за канала %s.',
uninviteto: 'Отмяната на поканата ви към %s за канала %s беше изпратена.',
queryOpen: 'Отворен е личен канал за %s.',
queryClose: 'Затворен е личен канал за %s.',
ignoreAdded: '%s беше добавен към списъка с пренебрегнатите.',
ignoreRemoved: '%s беше изваден от списъка с пренебрегнатите.',
ignoreList: 'Пренебрегнати потребители:',
ignoreListEmpty: 'Няма пренебрегнати потребители.',
who: 'Потребители на линия:',
whoChannel: 'Потребители на линия в канала %s:',
whoEmpty: 'В дадения канал няма потребители на линия.',
list: 'Налични канали:',
bans: 'Изгонени потребители:',
bansEmpty: 'Няма изгонени потребители.',
unban: 'Изгонването на потребителя %s е отменено.',
whois: 'Потребител %s — айпи адрес:',
whereis: 'Потребителят %s е в канала %s.',
roll: '%s хвърли %s и получи %s.',
nick: '%s вече се казва %s.',
toggleUserMenu: 'Показване/скриване на потребителското меню за %s',
userMenuLogout: 'Изход',
userMenuWho: 'Потребители на линия',
userMenuList: 'Налични канали',
userMenuAction: 'Описване на действие',
userMenuRoll: 'Хвърляне на зар',
userMenuNick: 'Смяна на името',
userMenuEnterPrivateRoom: 'Влизане в личната стая',
userMenuSendPrivateMessage: 'Изпращане на лично съобщение',
userMenuDescribe: 'Изпращане на лично действие',
userMenuOpenPrivateChannel: 'Отваряне на личен канал',
userMenuClosePrivateChannel: 'Затваряне на личен канал',
userMenuInvite: 'Покана',
userMenuUninvite: 'Отмяна на покана',
userMenuIgnore: 'Пренебрегване/Приемане',
userMenuIgnoreList: 'Пренебрегнати потребители',
userMenuWhereis: 'Преглед на канал',
userMenuKick: 'Изритване/Изгонване',
userMenuBans: 'Изгонени потребители',
userMenuWhois: 'Преглед на айпи адреса',
unbanUser: 'Отмяна на изгонването на %s',
joinChannel: 'Присъединяване към канала %s',
cite: '%s каза:',
urlDialog: 'Моля, въведете адреса (URL) на страницата:',
deleteMessage: 'Изтриване на съобщението',
deleteMessageConfirm: 'Наистина ли желаете да изтриете съобщението?',
errorCookiesRequired: 'За чата се изискват бисквитки (cookies).',
errorUserNameNotFound: 'Грешка: Не е намерен потребител %s.',
errorMissingText: 'Грешка: Липсва текст на съобщението.',
errorMissingUserName: 'Грешка: Липсва потребителско име.',
errorInvalidUserName: 'Грешка: Невалидно потребителско име.',
errorUserNameInUse: 'Грешка: Това потребителско име вече се използва.',
errorMissingChannelName: 'Грешка: Липсва име на канал.',
errorInvalidChannelName: 'Грешка: Невалидно име на канал: %s',
errorPrivateMessageNotAllowed: 'Грешка: Личните съобщения не са позволени.',
errorInviteNotAllowed: 'Грешка: Не ви е позволено да каните потребители в този канал.',
errorUninviteNotAllowed: 'Грешка: Не ви е позволено да отменяте покани в този канал.',
errorNoOpenQuery: 'Грешка: Не е отворен личен канал.',
errorKickNotAllowed: 'Грешка: Не ви е позволено да изритвате %s.',
errorCommandNotAllowed: 'Грешка: Командата не е позволена: %s',
errorUnknownCommand: 'Грешка: Непозната команда: %s',
errorMaxMessageRate: 'Грешка: Превишихте допустимия брой съобщения в минута.',
errorConnectionTimeout: 'Грешка: Изтичане на времето за връзка. Моля, опитайте отново!',
errorConnectionStatus: 'Грешка: Състояние на връзката: %s',
errorSoundIO: 'Грешка: Неуспешно зареждане на звуковия файл (Входно-изходна грешка при Флаш).',
errorSocketIO: 'Грешка: Неуспешна връзка към сокетния сървър (Входно-изходна грешка при Флаш).',
errorSocketSecurity: 'Грешка: Неуспешна връзка към сокетния сървър (Грешка в сигурността при Флаш).',
errorDOMSyntax: 'Грешка: Неправилен синтаксис при DOM (DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Manu Quintans
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s ha entrat al xat.',
logout: '%s ha sortit del xat.',
logoutTimeout: '%s s\'ha desconnectat (Temps d\'espera esgotat).',
logoutIP: '%s s\'ha desconnectat (Adreça IP no vàlida).',
logoutKicked: '%s s\'ha desconnectat (Patejat).',
channelEnter: '%s entra al canal.',
channelLeave: '%s se\'n va del canal.',
privmsg: '(xiuxiueigs)',
privmsgto: '(xiuxiueigs a %s)',
invite: '%s et convida a unir-te a %s.',
inviteto: 'El teu convit a %s per a unir-se a %s ha estat enviat.',
uninvite: '%s no et convida a %s.',
uninviteto: 'El teu no convit a %s per al canal %s ha estat enviat',
queryOpen: 'Canal privat obert %s.',
queryClose: 'Canal privat tancat %s tancat',
ignoreAdded: 'Agregat %s a la llista de usuaris ignorats.',
ignoreRemoved: 'Eliminant %s de la llista de usuaris ignorats.',
ignoreList: 'Usuaris ignorats',
ignoreListEmpty: 'Llista d\'usuaris no ignorats.',
who: 'Usuaris connectats:',
whoChannel: 'Usuaris en línia al canal %s:',
whoEmpty: 'No hi ha usuaris connectats ara.',
list: 'Canals disponibles:',
bans: 'Usuaris Bannejats:',
bansEmpty: 'No s\'han registrat usuaris bannejats.',
unban: 'Ban de l\'usuari %s revocat.',
whois: 'Usuari %s - Adreça IP:',
whereis: 'L\'usuari %s és al canal %s.',
roll: '%s tirà els daus %s i aconsegueix %s.',
nick: '%s es fa dir ara %s.',
toggleUserMenu: 'Tanca menu de l\'usuari per a %s',
userMenuLogout: 'Tancar sessió',
userMenuWho: 'Llista d\'usuaris en línia',
userMenuList: 'Llista de canals disponibles',
userMenuAction: 'Descriure una acció',
userMenuRoll: 'Tirar daus',
userMenuNick: 'Canviar el nom de l\'usuari',
userMenuEnterPrivateRoom: 'Entrar en un lloc privat',
userMenuSendPrivateMessage: 'Enviar un missatge privat',
userMenuDescribe: 'Enviar una acció privada',
userMenuOpenPrivateChannel: 'Obrir un canal privat',
userMenuClosePrivateChannel: 'Tancar un canal privat',
userMenuInvite: 'Convidar',
userMenuUninvite: 'Desconvidar',
userMenuIgnore: 'Ignorar/Acceptar',
userMenuIgnoreList: 'Llista d\'usuaris ignorats',
userMenuWhereis: 'Visualitzar el canal',
userMenuKick: 'Pateig/Banneig',
userMenuBans: 'Llista d\'usuaris banejats',
userMenuWhois: 'Mostrar IP',
unbanUser: 'Cancel·lar banejament de usuari %s',
joinChannel: 'Unir-se al canal %s',
cite: '%s va dir:',
urlDialog: 'Si us plau, introdueix la adreça (URL) de la pàgina web:',
deleteMessage: 'Esborra aquest missatge',
deleteMessageConfirm: 'Realment vols esborrar el missatge seleccionat?',
errorCookiesRequired: 'Les galetes són necessaries per aquest xat .',
errorUserNameNotFound: 'Error: usuari %s no s\'ha trobat.',
errorMissingText: 'Error: Missatge perdut.',
errorMissingUserName: 'Error: Usuari no trobat.',
errorInvalidUserName: 'Error: Nom d\'usuari no vàlid.',
errorUserNameInUse: 'Error: El nom d\'usuari ja està en ús.',
errorMissingChannelName: 'Error: No es troba el canal.',
errorInvalidChannelName: 'Error: nombre del canal invàlid: %s',
errorPrivateMessageNotAllowed: 'Error: Els missatges privats no t\'estan permesos.',
errorInviteNotAllowed: 'Error: No t\'està permés convidar a ningú a aquest canal.',
errorUninviteNotAllowed: 'Error: No t\'està permés desconvidar ningú d\'aquest canal.',
errorNoOpenQuery: 'Error: Cap canal privat obert.',
errorKickNotAllowed: 'Error: No t\'està permés expulsar a ningú %s.',
errorCommandNotAllowed: 'Error: Ordre desconeguda: %s',
errorUnknownCommand: 'Error: Ordre desconeguda: %s',
errorMaxMessageRate: 'Error: has excedit el màxim nombre de missatges per minut.',
errorConnectionTimeout: 'Error: Temps d\'espera de la connexió expirat. Reintenta-ho de nou.',
errorConnectionStatus: 'Error: Estat de la connexió: %s',
errorSoundIO: 'Error: No ha estat possible carregar el so (Flash IO Error).',
errorSocketIO: 'Error: La connexió al servidor ha fallat (Flash IO Error).',
errorSocketSecurity: 'Error: La connexió al servidor ha fallat (Flash Security Error).',
errorDOMSyntax: 'Error: Sintaxi DOM invàlida (DOM ID: %s).'
}

View File

@ -1,93 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
* @translation Alan Davies, ardavies@tiscali.co.uk
* @language: Welsh (Cymraeg)
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: 'Mae %s wedi mewngofnodi.',
logout: 'Allgofnododd %s.',
logoutTimeout: 'Allgofnodwyd %s (Terfyn amser).',
logoutIP: 'Allgofnodwyd %s (Cyfeiriad IP annilys).',
logoutKicked: 'Allgofnodwyd %s (Cic).',
channelEnter: 'Mae %s wedi ymuno â\'r sianel.',
channelLeave: 'Mae %s wedi gadael y sianel.',
privmsg: '(sibrwd)',
privmsgto: '(sibrwd i %s)',
invite: 'Mae %s yn eich gwahodd i ymuno â %s.',
inviteto: 'Mae eich gwahoddiad i %s i ymuno â sianel %s wedi\'i anfon.',
uninvite: 'Mae %s yn tynnu\'r gwahoddiad i sianel %s yn ôl.',
uninviteto: 'Mae\'r neges yn tynnu\'r gwahoddiad i sianel %s yn ôl wedi\'i hanfon.',
queryOpen: 'Agorwyd sianel breifat i %s.',
queryClose: 'Ceuwyd sianel breifat i %s.',
ignoreAdded: 'Ychwanegwyd %s i\'r anwybyddion.',
ignoreRemoved: 'Tynnwyd %s bant o\'r anwybyddion.',
ignoreList: 'Anwybyddion:',
ignoreListEmpty: 'Dim anwybyddion wedi\'u rhestru.',
who: 'Defnyddwyr Ar-lein:',
whoChannel: 'Defnyddwyr Ar-lein ar sianel %s:',
whoEmpty: 'Dim defnyddwyr ar-lein ar y sianel hon.',
list: 'Sianeli ar gael:',
bans: 'Gwaharddogion:',
bansEmpty: 'Dim gwaharddogion wedi\'u rhestru.',
unban: 'Diddymwyd gwaharddiad %s.',
whois: 'Defnyddiwr %s - cyfeiriad IP:',
whereis: 'Mae defnyddiwr %s yn y sianel %s.',
roll: 'Mae %s yn rholio %s a chael %s.',
nick: 'Enw %s nawr yw %s.',
toggleUserMenu: 'Togl dewislen defnyddiwr ar gyfer %s',
userMenuLogout: 'Allgofnodi',
userMenuWho: 'Rhestr ddefnyddwyr ar-lein',
userMenuList: 'Rhestr sianeli ar gael',
userMenuAction: 'Disgrifio gweithred',
userMenuRoll: 'Rholio dis',
userMenuNick: 'Newid enw',
userMenuEnterPrivateRoom: 'Myned i mewn i ystafell breifat',
userMenuSendPrivateMessage: 'Anfon neges breifat',
userMenuDescribe: 'Anfon gweithred breifat',
userMenuOpenPrivateChannel: 'Agor sianel breifat',
userMenuClosePrivateChannel: 'Cau sianel breifat',
userMenuInvite: 'Gwahodd',
userMenuUninvite: 'Tynnu gwahoddiad',
userMenuIgnore: 'Anwybyddu/Derbyn',
userMenuIgnoreList: 'Rhestr anwybyddion',
userMenuWhereis: 'Dangos sianel',
userMenuKick: 'Cic/Gwahardd',
userMenuBans: 'Rhestr waharddogion',
userMenuWhois: 'Dangos IP',
unbanUser: 'Diddynu gwaharddiad %s',
joinChannel: 'Ymuno â sianel %s',
cite: 'Dywedodd %s:',
urlDialog: 'Rhowch gyfeiriad (URL) y wefan:',
deleteMessage: 'Dilëwch y neges hon',
deleteMessageConfirm: 'Ydych wir am ddileu\'r neges hon?',
errorCookiesRequired: 'Mae nagen cwcis ar gyfer y sgwrs hon.',
errorUserNameNotFound: 'Gwall: Heb ffeindio %s.',
errorMissingText: 'Gwall: testun neges ar goll.',
errorMissingUserName: 'Gwall: Enw ar goll.',
errorInvalidUserName: 'Gwall: Enw annilys.',
errorUserNameInUse: 'Gwall: Enw\'n bodoli eisoes.',
errorMissingChannelName: 'Gwall: Enw sianel ar goll.',
errorInvalidChannelName: 'Gwall: Enw sianel annilys: %s',
errorPrivateMessageNotAllowed: 'Gwall: Ni chaniateir negesuon preifat.',
errorInviteNotAllowed: 'Gwall: Nid oes hawl gwahodd rhywun i\'r sianel hon.',
errorUninviteNotAllowed: 'Gwall: Nid oes hawl tynnu gwahaoddiad yn ôl o\'r sianel hon.',
errorNoOpenQuery: 'Gwall: Dim sianel breifat ar agor.',
errorKickNotAllowed: 'Gwall: Nid oes hawl cicio %s.',
errorCommandNotAllowed: 'Gwall: Nid oes hawl defnyddio\'r gorchymyn: %s',
errorUnknownCommand: 'Gwall: Gorchymyn anhysbys: %s',
errorMaxMessageRate: 'Gwall: Rydych wedi myn dros y nifer o negeseuon sydd hawl gennych anfon pob munud.',
errorConnectionTimeout: 'Gwall: Terfyn amser cysylltiad. Ceisiwch eto.',
errorConnectionStatus: 'Gwall: Statws cysylltiad: %s',
errorSoundIO: 'Gwall: Methu â llwytho ffeil sain (Gwall Flash IO).',
errorSocketIO: 'Gwall: Cysylltiad i\'r gweinyddwr soced wedi methu (Gwall Flash IO).',
errorSocketSecurity: 'Gwall: Cysylltiad i\'r gweinyddwr soced wedi methu (Gwall Diogelwch Flash).',
errorDOMSyntax: 'Gwall: Cystrawen DOM Annilys (DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s se přihlásil.',
logout: '%s se odhlásil.',
logoutTimeout: '%s byl odhlášen (překročen timeout).',
logoutIP: '%s byl odhlášen (neplatná IP adresa).',
logoutKicked: '%s byl vyhozen.',
channelEnter: '%s vstoupil do místnosti.',
channelLeave: '%s odešel z místnosti.',
privmsg: '(šeptá)',
privmsgto: '(šeptá %s)',
invite: '%s tě zve do místnosti %s.',
inviteto: 'Tvoje pozvání %s do místnosti %s bylo odesláno.',
uninvite: '%s odmítl pozvání do pokoje %s.',
uninviteto: 'Tvoje pozvání %s do pokoje %s bylo odmítnuto.',
queryOpen: 'Soukromý rozhovor s %s byl započat.',
queryClose: 'Soukromý rozhovor s %s byl ukončen.',
ignoreAdded: '%s byl přidán do seznamu ignorovaných.',
ignoreRemoved: '%s byl odebrán ze seznamu ignorovaných.',
ignoreList: 'Seznam ignorovaných:',
ignoreListEmpty: 'Seznam je prázdný...',
who: 'Přihlášení uživatelé:',
whoChannel: 'Uživatelé, přihlášení v místnosti %s:',
whoEmpty: 'Tady nikdo není...',
list: 'Dostupné místnosti:',
bans: 'Vyhození uživatelé:',
bansEmpty: 'Seznam je prázdný...',
unban: 'Uživatel %s byl omilostněn.',
whois: 'Uživatel %s - IP adresa:',
whereis: 'Uživatel %s je v místnosti %s.',
roll: '%s hodil %s a vyhrává %s.',
nick: '%s se nyní jmenuje %s.',
toggleUserMenu: 'Vyvolej/zhasni uživatelskou nabídku pro %s',
userMenuLogout: 'Odhlásit',
userMenuWho: 'Seznam přihlášených uživatelů',
userMenuList: 'Seznam místností',
userMenuAction: 'Co právě dělám',
userMenuRoll: 'Hodit kostkou',
userMenuNick: 'Změnit jméno uživatele',
userMenuEnterPrivateRoom: 'Vstoupit do soukromé místnosti',
userMenuSendPrivateMessage: 'Poslat soukromou zprávu',
userMenuDescribe: 'Co právě dělám (soukromě)',
userMenuOpenPrivateChannel: 'Zahájit soukromý rozhovor',
userMenuClosePrivateChannel: 'Ukončit soukromý rozhovor',
userMenuInvite: 'Pozvat',
userMenuUninvite: 'Odmítnout pozvání',
userMenuIgnore: 'Ignorovat/Přijmout',
userMenuIgnoreList: 'Seznam ignorovaných uživatelů',
userMenuWhereis: 'Zobrazit místnost',
userMenuKick: 'Vyhodit/Zablokovat',
userMenuBans: 'Seznam vyhozených uživatelů',
userMenuWhois: 'Zobrazit IP adresu',
unbanUser: 'Omilostnit uživatele %s',
joinChannel: 'Vstoupit do místnosti %s',
cite: '%s prohlásil:',
urlDialog: 'Zadej, prosím adresu (URL) stránky:',
deleteMessage: 'Vymazat zprávu',
deleteMessageConfirm: 'Opravdu vymazat tuto zprávu ?',
errorCookiesRequired: 'Pro tento chat je nutno povolit Cookies.',
errorUserNameNotFound: 'Chyba: Uživatel %s nebyl nalezen.',
errorMissingText: 'Chyba: Schází text zprávy.',
errorMissingUserName: 'Chyba: Schází jméno uživatele.',
errorInvalidUserName: 'Chyba: Neplatné jméno uživatele.',
errorUserNameInUse: 'Chyba: Jméno uživatele už je používáno.',
errorMissingChannelName: 'Chyba: Schází název místnosti.',
errorInvalidChannelName: 'Chyba: Neplatný název místnosti: %s',
errorPrivateMessageNotAllowed: 'Chyba: Soukromé zprávy nejsou povoleny.',
errorInviteNotAllowed: 'Chyba: Nejsi oprávněn zvát do této místnosti.',
errorUninviteNotAllowed: 'Chyba: Nejsi oprávněn odmítat pozvání z této místnosti.',
errorNoOpenQuery: 'Chyba: Nebyl zahájen žádný soukromý rozhovor.',
errorKickNotAllowed: 'Chyba: Nemáš právo vyhodit %s.',
errorCommandNotAllowed: 'Chyba: Tento příkaz není povolen: %s',
errorUnknownCommand: 'Chyba: Neznámý příkaz: %s',
errorMaxMessageRate: 'Chyba: Překročil jsi maximální počet zpráv za minutu.',
errorConnectionTimeout: 'Chyba: Čas připojení vypršel. Připoj se znovu.',
errorConnectionStatus: 'Chyba: Stav připojení: %s',
errorSoundIO: 'Chyba: Nepodařilo se přehrát zvukový soubor (Flash IO Error).',
errorSocketIO: 'Chyba: Nepodařilo se připojení k serveru (Flash IO Error).',
errorSocketSecurity: 'Chyba: Připojení k serveru selhalo (Flash Security Error).',
errorDOMSyntax: 'Chyba: Neplatná syntaxe DOM (DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s Logger dig ind.',
logout: '%s Logger dig ud.',
logoutTimeout: '%s Er logget ud (Timeout).',
logoutIP: '%s er logget ud (ugyldig IP addresse).',
logoutKicked: '%s er logget ud (Kicked).',
channelEnter: '%s kom ind i kanalen.',
channelLeave: '%s forlod kanalen.',
privmsg: '(hvisker)',
privmsgto: '(hvisker til %s)',
invite: '%s inviterede dig til at joine %s.',
inviteto: 'Din invitation %s til at joine kanal %s er blevet sendt.',
uninvite: '%s Du er nu ikke længere inviteret til %s.',
uninviteto: 'Anullere invitation for %s på kanal %s.',
queryOpen: 'Privat kanal åben for %s.',
queryClose: 'Privat kanal for %s lukket.',
ignoreAdded: 'Tilføjede %s til ignorerings listen.',
ignoreRemoved: 'fjernede %s fra ignorerings listen.',
ignoreList: 'Ignorerede brugere:',
ignoreListEmpty: 'Ingen ignorerede brugere.',
who: 'Online brugere:',
whoChannel: 'Online brugere på kanal %s:',
whoEmpty: 'ingen online brugere på den angivne kanal.',
list: 'Tilgængelige kanaler:',
bans: 'Banlyste brugere:',
bansEmpty: 'Ingen banlyste brugere på listen.',
unban: 'Banlysning af %s ophævet.',
whois: 'bruger %s - IP addresse:',
whereis: 'brugeren %s er på kanal %s.',
roll: '%s Kastede terninger %s og fik %s.',
nick: '%s Er nu kendt som %s.',
toggleUserMenu: 'skift bruger menu for %s',
userMenuLogout: 'Log ud',
userMenuWho: 'Vis online brugere',
userMenuList: 'Vis tilgængelige kanaler',
userMenuAction: 'Beskrivende handling',
userMenuRoll: 'Kast terninger',
userMenuNick: 'Skift brugernavn',
userMenuEnterPrivateRoom: 'Gå ind i privat rum.',
userMenuSendPrivateMessage: 'Send privat besked',
userMenuDescribe: 'Send privat handling',
userMenuOpenPrivateChannel: 'Åben privat kanal',
userMenuClosePrivateChannel: 'Luk privat kanal',
userMenuInvite: 'Inviter',
userMenuUninvite: 'Anuller invitation',
userMenuIgnore: 'Ignorer/Accepter',
userMenuIgnoreList: 'Vis ignorerede brugere',
userMenuWhereis: 'vis kanal',
userMenuKick: 'Spark ud/Banlys',
userMenuBans: 'Vis banlyste brugere',
userMenuWhois: 'Vis IP adresse',
unbanUser: 'Fjernede banlysning af brugere %s',
joinChannel: 'Deltag i en kanal %s',
cite: '%s sagde:',
urlDialog: 'Venligst indsæt adressen (URL) for den pågældende hjemmeside:',
deleteMessage: 'Fjern denne chat besked',
deleteMessageConfirm: 'Vil du virkelig fjerne denne besked?',
errorCookiesRequired: 'Cookies er nødvændige for denne chat',
errorUserNameNotFound: 'FEJL: bruger %s ikke fundet.',
errorMissingText: 'FEJL: Manglende besked.',
errorMissingUserName: 'FEJL: Manglende brugernavn.',
errorInvalidUserName: 'FEJL: Ugyldigt brugernavn.',
errorUserNameInUse: 'FEJL: Brugernavnet er allerede i brug.',
errorMissingChannelName: 'FEJL: Manglende kanal navn.',
errorInvalidChannelName: 'FEJL: Ugyldigt kanal navn: %s',
errorPrivateMessageNotAllowed: 'FEJL: Privat beskeder er ikke tilladt.',
errorInviteNotAllowed: 'FEJL: Du har ikke tilstrækkelige rettigheder til at invitere til denne kanal.',
errorUninviteNotAllowed: 'FEJL: Du har ikke tilstrækkelige rettigheder til at anullere invitationer for denne kanal.',
errorNoOpenQuery: 'FEJL: Ingen privat kanal åben.',
errorKickNotAllowed: 'FEJL: Du har ikke tilstrækkelige rettigheder til at sparke. %s.',
errorCommandNotAllowed: 'FEJL: Kommando ikke tillad: %s',
errorUnknownCommand: 'FEJL: Ukendt kommando: %s',
errorMaxMessageRate: 'FEJL: Du har overskredet max antal beskeder per minut.',
errorConnectionTimeout: 'FEJL: Forbindelses timeout. Prøv venligst igen.',
errorConnectionStatus: 'FEJL: Status for forbindelse. %s',
errorSoundIO: 'FEJL: Kunne ikke indlæse lydfil (Flash IO Fejl).',
errorSocketIO: 'FEJL: Connection to socket server failed (Flash IO fejl).',
errorSocketSecurity: 'FEJL: forbindelse til til socket server fejlede (Flash sikkerheds fejl).',
errorDOMSyntax: 'FEJL: Ugyldig DOM Syntaks(DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s betritt den Chat.',
logout: '%s verlässt den Chat.',
logoutTimeout: '%s wurde ausgeloggt (Timeout).',
logoutIP: '%s wurde ausgeloggt (Ungültige IP-Adresse).',
logoutKicked: '%s wurde ausgeloggt (Ausschluss).',
channelEnter: '%s betritt den Raum.',
channelLeave: '%s verlässt den Raum.',
privmsg: '(flüstert)',
privmsgto: '(flüstert zu %s)',
invite: '%s lädt dich ein den Raum %s zu betreten.',
inviteto: 'Deine Einladung an %s den Raum %s zu betreten wurde versendet.',
uninvite: '%s hat dich wieder ausgeladen den Raum %s zu betreten.',
uninviteto: 'Deine Ausladung an %s den Raum %s zu betreten wurde versendet.',
queryOpen: 'Privater Kanal zu %s geöffnet.',
queryClose: 'Privater Kanal zu %s geschlossen.',
ignoreAdded: '%s wurde auf die Ignorier-Liste gesetzt.',
ignoreRemoved: '%s wurde von der Ignorier-Liste entfernt.',
ignoreList: 'Ignorierte Benutzer:',
ignoreListEmpty: 'Keine Benutzer werden ignoriert.',
who: 'Benutzer online:',
whoChannel: 'Benutzer online im Raum %s:',
whoEmpty: 'Keine Benutzer online im angegebenen Kanal.',
list: 'Verfügbare Räume:',
bans: 'Ausgeschlossene Nutzer:',
bansEmpty: 'Keine ausgeschlossenen Nutzer vorhanden.',
unban: 'Ausschluss des Benutzers %s aufgehoben.',
whois: 'Benutzer %s - IP-Adresse:',
whereis: 'Benutzer %s ist im Raum %s.',
roll: '%s würfelt %s und erhält %s.',
nick: '%s heißt jetzt %s.',
toggleUserMenu: 'Benutzer-Menü für %s anzeigen/ausblenden',
userMenuLogout: 'Logout',
userMenuWho: 'Online Benutzer auflisten',
userMenuList: 'Verfügbare Räume auflisten',
userMenuAction: 'Aktion beschreiben',
userMenuRoll: 'Würfeln',
userMenuNick: 'Benutzernamen ändern',
userMenuEnterPrivateRoom: 'Privaten Raum betreten',
userMenuSendPrivateMessage: 'Private Nachricht schicken',
userMenuDescribe: 'Private Aktion schicken',
userMenuOpenPrivateChannel: 'Privaten Kanal öffnen',
userMenuClosePrivateChannel: 'Privaten Kanal schließen',
userMenuInvite: 'Einladen',
userMenuUninvite: 'Ausladen',
userMenuIgnore: 'Ignorieren / Akzeptieren',
userMenuIgnoreList: 'Ignorierte Benutzer auflisten',
userMenuWhereis: 'Raum anzeigen',
userMenuKick: 'Ausschließen / Verbannen',
userMenuBans: 'Ausgeschlossene Benutzer auflisten',
userMenuWhois: 'IP anzeigen',
unbanUser: 'Ausschluss von %s aufheben',
joinChannel: 'Raum %s betreten',
cite: '%s sagte:',
urlDialog: 'Bitte die Adresse (URL) der Webseite eingeben:',
deleteMessage: 'Diese Chat-Nachricht löschen',
deleteMessageConfirm: 'Die ausgewählte Chat-Nachricht wirklich löschen?',
errorCookiesRequired: 'Cookies werden für diesen Chat benötigt.',
errorUserNameNotFound: 'Fehler: Benutzer %s wurde nicht gefunden.',
errorMissingText: 'Fehler: Nachrichtentext fehlt.',
errorMissingUserName: 'Fehler: Benutzername fehlt.',
errorInvalidUserName: 'Fehler: Ungültiger Benutzername.',
errorUserNameInUse: 'Fehler: Benutzername schon vergeben.',
errorMissingChannelName: 'Fehler: Raumname fehlt.',
errorInvalidChannelName: 'Fehler: Ungültiger Raumname: %s',
errorPrivateMessageNotAllowed: 'Fehler: Private Nachrichten sind nicht erlaubt.',
errorInviteNotAllowed: 'Fehler: Du kannst niemanden zu diesem Raum Einladen.',
errorUninviteNotAllowed: 'Fehler: Du kannst niemanden von diesem Raum Ausladen.',
errorNoOpenQuery: 'Fehler: Kein privater Kanal offen.',
errorKickNotAllowed: 'Fehler: Du kannst %s nicht ausschließen.',
errorCommandNotAllowed: 'Fehler: Befehl nicht erlaubt: %s',
errorUnknownCommand: 'Fehler: Unbekannter Befehl: %s',
errorMaxMessageRate: 'Fehler: Du hast die maximale Anzahl an Nachrichten pro Minute überschritten.',
errorConnectionTimeout: 'Fehler: Verbindungsabbruch. Bitte erneut versuchen.',
errorConnectionStatus: 'Fehler: Verbindungsstatus: %s',
errorSoundIO: 'Fehler: Laden einer Sound-Datei fehlgeschlagen (Flash IO Error).',
errorSocketIO: 'Fehler: Verbindung zum Socket Server fehlgeschlagen (Flash IO Error).',
errorSocketSecurity: 'Fehler: Verbindung zum Socket Server fehlgeschlagen (Flash Security Error).',
errorDOMSyntax: 'Error: Invalid DOM Syntax (DOM ID: %s).'
}

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author panas
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s μπήκε στο Chat.',
logout: '%s βγήκε από το Chat.',
logoutTimeout: '%s βγήκε από το Chat (Ανενεργό).',
logoutIP: '%s βγήκε από το Chat (Λανθασμένη IP).',
logoutKicked: '%s βγήκε από το Chat (Kicked).',
channelEnter: '%s μπήκε στο κανάλι.',
channelLeave: '%s βγήκε από το κανάλι.',
privmsg: '(ψιθυρίζει)',
privmsgto: '( ψιθυρίζει σε %s)',
invite: '%s σας καλεί να συμμετάσχετε στο %s.',
inviteto: 'Η πρόσκληση σας σε %s να συμμετάσχει στο κανάλι %s έχει σταλεί.',
uninvite: '%s τερματίζει την πρόσκληση σας για το κανάλι %s.',
uninviteto: 'Η πρόσκληση σας σε %s για το κανάλι %s έχει σταλεί.',
queryOpen: 'Άνοιξε πρίβε κανάλι σε %s.',
queryClose: ' Το πρίβε κανάλι %s έκλεισε.',
ignoreAdded: '%s προστέθηκε στη λίστα αγνόησης.',
ignoreRemoved: ' %s αφαιρέθηκε από τη λίστα αγνόησης .',
ignoreList: 'Αγνοήμενοι χρήστες:',
ignoreListEmpty: 'Δεν υπάρχουν αγνοημένοι χρήστες.',
who: 'Χρήστες παρόν:',
whoChannel: 'Χρήστες συνδεδεμένοι στο κανάλι %s:',
whoEmpty: 'Δεν υπάρχουν χρήστες στο συγκεκριμένο κανάλι.',
list: 'Διαθέσιμα κανάλια:',
bans: 'Αποκλεισμένοι χρήστες:',
bansEmpty: 'Δεν υπάρχουν αποκλεισμένοι χρήστες.',
unban: 'Ο αποκλεισμός %s αφαιρέθηκε.',
whois: ' %s - IP διεύθυνση:',
whereis: 'Χρήστης %s είναι στο κανάλι %s.',
roll: '%s ρίχνει %s και φέρνει %s.',
nick: '%s άλλαξε το όνομα σε %s.',
toggleUserMenu: 'Αλλαγή μενού χρήστη για %s',
userMenuLogout: 'Αποσύνδεση',
userMenuWho: 'Εμφάνιση λίστας συνδεδεμένων',
userMenuList: 'Εμφάνιση λίστας διαθέσιμων καναλιών',
userMenuAction: 'Περιγραφή ενέργειας',
userMenuRoll: 'Ρίξιμο ζαριών',
userMenuNick: 'Αλλαγή ονόματος',
userMenuEnterPrivateRoom: 'Εισαγωγή σε πριβέ δωμάτιο',
userMenuSendPrivateMessage: 'Αποστολή προσωπικού μηνύματος',
userMenuDescribe: 'Αποστολή προσωπικής ενέργειας',
userMenuOpenPrivateChannel: 'Άνοιγμα πριβέ καναλιού',
userMenuClosePrivateChannel: 'Κλείσιμο πριβέ καναλιού',
userMenuInvite: 'Πρόσκληση',
userMenuUninvite: 'Ακύρωση πρόσκλησης',
userMenuIgnore: 'Αγνόηση/Αποδοχή',
userMenuIgnoreList: 'Εμφάνιση λίστας αγνοημένων',
userMenuWhereis: 'Εμφάνιση καναλιού',
userMenuKick: 'Kick/Ban',
userMenuBans: 'Εμφάνιση λίστας αποκλεισμένων',
userMenuWhois: 'Εμφάνιση IP',
unbanUser: 'Επαναφορά αποκλεισμού για %s',
joinChannel: 'Μπαίνει στο κανάλι %s',
cite: '%s είπε:',
urlDialog: 'παρακαλούμε εισάγετε την διεύθυνση (URL) της ιστοσελίδας:',
deleteMessage: 'Διαγραφή αυτού του μηνύματος',
deleteMessageConfirm: 'Θέλετε να διαγράψετε το επιλεγμένο μήνυμα?',
errorCookiesRequired: 'Τα cookies είναι απαραίτητα για το chat.',
errorUserNameNotFound: 'Σφάλμα: Ο χρήστης %s δεν βρέθηκε.',
errorMissingText: 'Σφάλμα: Λείπει το μήνυμα.',
errorMissingUserName: ': Λείπει ο χρήστης.',
errorInvalidUserName: 'Error: Invalid username.',
errorUserNameInUse: 'Error: Username already in use.',
errorMissingChannelName: 'Σφάλμα: Λείπει το όνομα του καναλιού.',
errorInvalidChannelName: 'Σφάλμα: Ακατάλληλο όνομα καναλιού: %s',
errorPrivateMessageNotAllowed: 'Σφάλμα: Τα προσωπικά μηνύματα δεν επιτρέπονται.',
errorInviteNotAllowed: 'Σφάλμα: Δεν σας επιτρέπετε να καλέσετε άλλούς στο κανάλι.',
errorUninviteNotAllowed: 'Σφάλμα: Δεν σας επιτρέπετε να τερματίσετε την πρόσκληση άλλων από το κανάλι.',
errorNoOpenQuery: ': Δεν ανοίχθηκε πρίβε κανάλι.',
errorKickNotAllowed: 'Δεν σας επιτρέπετε να πετάξετε %s.',
errorCommandNotAllowed: 'Σφάλμα: Δεν επιτρέπετε η εντολή: %s',
errorUnknownCommand: 'Σφάλμα: Άγνωστη εντολή: %s',
errorMaxMessageRate: 'Σφάλμα: Υπερβήκατε τον μέγιστο αριθμό μηνυμάτων ανά λεπτό.',
errorConnectionTimeout: 'Σφάλμα: Έληξε ο χρόνος σύνδεσης. Προσπαθήστε ξανά.',
errorConnectionStatus: 'Σφάλμα: Κατάσταση σύνδεσης: %s',
errorSoundIO: 'Σφάλμα: Απέτυχε η φόρτωση του αρχείου ήχου (Flash IO Σφάλμα).',
errorSocketIO: 'Σφάλμα: Η σύνδεση στο socket του διακομιστή απέτυχε (Flash IO Σφάλμα).',
errorSocketSecurity: 'Σφάλμα:Η σύνδεση στο socket του διακομιστή απέτυχε (Σφάλμα ασφαλείας του Flash ).',
errorDOMSyntax: 'Σφάλμα: Άκυρη DOM σύνταξη (DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s logs into the Chat.',
logout: '%s logs out of the Chat.',
logoutTimeout: '%s has been logged out (Timeout).',
logoutIP: '%s has been logged out (Invalid IP address).',
logoutKicked: '%s has been logged out (Kicked).',
channelEnter: '%s enters the channel.',
channelLeave: '%s leaves the channel.',
privmsg: '(whispers)',
privmsgto: '(whispers to %s)',
invite: '%s invites you to join %s.',
inviteto: 'Your invitation to %s to join channel %s has been sent.',
uninvite: '%s uninvites you from channel %s.',
uninviteto: 'Your uninvitation to %s for channel %s has been sent.',
queryOpen: 'Private channel opened to %s.',
queryClose: 'Private channel to %s closed.',
ignoreAdded: 'Added %s to the ignore list.',
ignoreRemoved: 'Removed %s from the ignore list.',
ignoreList: 'Ignored Users:',
ignoreListEmpty: 'No ignored Users listed.',
who: 'Online Users:',
whoChannel: 'Online Users in channel %s:',
whoEmpty: 'No online users in the given channel.',
list: 'Available channels:',
bans: 'Banned Users:',
bansEmpty: 'No banned Users listed.',
unban: 'Ban of user %s revoked.',
whois: 'User %s - IP address:',
whereis: 'User %s is in channel %s.',
roll: '%s rolls %s and gets %s.',
nick: '%s is now known as %s.',
toggleUserMenu: 'Toggle user menu for %s',
userMenuLogout: 'Logout',
userMenuWho: 'List online users',
userMenuList: 'List available channels',
userMenuAction: 'Describe action',
userMenuRoll: 'Roll dice',
userMenuNick: 'Change username',
userMenuEnterPrivateRoom: 'Enter private room',
userMenuSendPrivateMessage: 'Send private message',
userMenuDescribe: 'Send private action',
userMenuOpenPrivateChannel: 'Open private channel',
userMenuClosePrivateChannel: 'Close private channel',
userMenuInvite: 'Invite',
userMenuUninvite: 'Uninvite',
userMenuIgnore: 'Ignore/Accept',
userMenuIgnoreList: 'List ignored users',
userMenuWhereis: 'Display channel',
userMenuKick: 'Kick/Ban',
userMenuBans: 'List banned users',
userMenuWhois: 'Display IP',
unbanUser: 'Revoke ban of user %s',
joinChannel: 'Join channel %s',
cite: '%s said:',
urlDialog: 'Please enter the address (URL) of the webpage:',
deleteMessage: 'Delete this chat message',
deleteMessageConfirm: 'Really delete the selected chat message?',
errorCookiesRequired: 'Cookies are required for this chat.',
errorUserNameNotFound: 'Error: User %s not found.',
errorMissingText: 'Error: Missing message text.',
errorMissingUserName: 'Error: Missing username.',
errorInvalidUserName: 'Error: Invalid username.',
errorUserNameInUse: 'Error: Username already in use.',
errorMissingChannelName: 'Error: Missing channel name.',
errorInvalidChannelName: 'Error: Invalid channel name: %s',
errorPrivateMessageNotAllowed: 'Error: Private messages are not allowed.',
errorInviteNotAllowed: 'Error: You are not allowed to invite someone to this channel.',
errorUninviteNotAllowed: 'Error: You are not allowed to uninvite someone from this channel.',
errorNoOpenQuery: 'Error: No private channel open.',
errorKickNotAllowed: 'Error: You are not allowed to kick %s.',
errorCommandNotAllowed: 'Error: Command not allowed: %s',
errorUnknownCommand: 'Error: Unknown command: %s',
errorMaxMessageRate: 'Error: You exceeded the maximum number of messages per minute.',
errorConnectionTimeout: 'Error: Connection timeout. Please try again.',
errorConnectionStatus: 'Error: Connection status: %s',
errorSoundIO: 'Error: Failed to load sound file (Flash IO Error).',
errorSocketIO: 'Error: Connection to socket server failed (Flash IO Error).',
errorSocketSecurity: 'Error: Connection to socket server failed (Flash Security Error).',
errorDOMSyntax: 'Error: Invalid DOM Syntax (DOM ID: %s).'
}

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Manu Quintans / KeScI [www.e-nologia.com]
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s entra al Chat.',
logout: '%s sale del Chat.',
logoutTimeout: '%s se ha desconectado (Tiempo de espera agotado).',
logoutIP: '%s se ha desconectado (Direccion IP no valida).',
logoutKicked: '%s se ha desconectado (Pateado).',
channelEnter: '%s entra en el canal.',
channelLeave: '%s se va del canal.',
privmsg: '(susurra)',
privmsgto: '(susurra a %s)',
invite: '%s te invita a unirte a %s.',
inviteto: 'Su invitación a %s para unirse al canal %s se ha enviado.',
uninvite: '%s le retira la invitación del canal %s.',
uninviteto: 'Su retirada de invitación a %s para el canal %s se ha enviado.',
queryOpen: 'Privado abierto a %s.',
queryClose: 'Privado cerrado a %s.',
ignoreAdded: 'Agregado %s a la lista de usuarios ignorados.',
ignoreRemoved: 'Eliminado %s de la lista de usuarios ignorados.',
ignoreList: 'Usuarios ignorados',
ignoreListEmpty: 'Lista de usuarios no ignorados.',
who: 'Usuarios conectados:',
whoChannel: 'Usuarios conectados en el canal %s:',
whoEmpty: 'No hay usuarios conectados en este momento.',
list: 'Canales disponibles:',
bans: 'Usuarios Baneados:',
bansEmpty: 'No se han listado usuarios baneados.',
unban: 'Ban del usuario %s retirado.',
whois: 'Usuario %s - Direccion IP:',
whereis: 'Usuario %s está en el canal %s.',
roll: '%s lanza %s y obtiene un %s.',
nick: '%s es ahora %s.',
toggleUserMenu: 'Abrir/Cerrar menú del usuario %s',
userMenuLogout: 'Desconectar',
userMenuWho: 'Mostrar usuarios conectados',
userMenuList: 'Mostrar canales disponibles',
userMenuAction: 'Describir acción',
userMenuRoll: 'Tirar dado',
userMenuNick: 'Cambiar Nombre de Usuario',
userMenuEnterPrivateRoom: 'Entrar en canal privado',
userMenuSendPrivateMessage: 'Enviar mensaje privado',
userMenuDescribe: 'Enviar acción privada',
userMenuOpenPrivateChannel: 'Abrir canal privado',
userMenuClosePrivateChannel: 'Cerrar canal privado',
userMenuInvite: 'Invitar',
userMenuUninvite: 'Quitar invitación',
userMenuIgnore: 'Ignorar/Aceptar',
userMenuIgnoreList: 'Mostrar usuarios ignorados',
userMenuWhereis: 'Mostrar canal',
userMenuKick: 'Patada/Ban',
userMenuBans: 'Mostrar usuarios baneados',
userMenuWhois: 'Mostrar la IP',
unbanUser: 'Quitar el ban al usuario %s',
joinChannel: 'Entrar al canal %s',
cite: '%s dijo:',
urlDialog: 'Por favor intruduzca la dirección (URL) de la página web:',
deleteMessage: 'Borrar este mensaje del chat',
deleteMessageConfirm: 'Really delete the selected chat message?',
errorCookiesRequired: 'Se necesitan las Cookies para este chat.',
errorUserNameNotFound: 'Error: usuario %s no se ha encontrado.',
errorMissingText: 'Error: Mensaje perdido.',
errorMissingUserName: 'Error: Usuario no encontrado.',
errorInvalidUserName: 'Error: Nombre de usuario no válido.',
errorUserNameInUse: 'Error: Nombre de usuario está en uso.',
errorMissingChannelName: 'Error: No se encuentra el canal.',
errorInvalidChannelName: 'Error: Nombre invalido del canal: %s',
errorPrivateMessageNotAllowed: 'Error: No se permiten mensajes privados.',
errorInviteNotAllowed: 'Error: No está autorizado a invitar a alguien a este canal.',
errorUninviteNotAllowed: 'Error: No está autorizado a quitar la invitación a alguien de este canal.',
errorNoOpenQuery: 'Error: Ningún privado abierto.',
errorKickNotAllowed: 'Error: No está autorizado a patear a %s.',
errorCommandNotAllowed: 'Error: Comando no permitido: %s',
errorUnknownCommand: 'Error: Comando desconocido: %s',
errorMaxMessageRate: 'Error: Ha sobrepasado el número máximo de mensajes por minuto.',
errorConnectionTimeout: 'Error: Connection timeout. Please try again.',
errorConnectionStatus: 'Error: Estado de la conexión: %s',
errorSoundIO: 'Error: No se ha podido cargar el fichero de sonido (Error IO Flash).',
errorSocketIO: 'Error: No se ha podido conectar al servidor socket (Error IO Flash).',
errorSocketSecurity: 'Error: No se ha podido conectar al servidor socket (Error Seguridad Flash).',
errorDOMSyntax: 'Error: Sintaxis DOM No Válida (DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s logis jutukasse.',
logout: '%s logis jutukast välja.',
logoutTimeout: '%s logiti jutukast välja (Aeg otsas).',
logoutIP: '%s logiti jutukast välja (Vigane IP aadress).',
logoutKicked: '%s logiti jutukast välja (Välja heidetud).',
channelEnter: '%s sisenes kanalisse.',
channelLeave: '%s lahkus kanalist.',
privmsg: '(sosinad)',
privmsgto: '(sosinad %s -le)',
invite: '%s kutsub sind %s.',
inviteto: 'Sinu kutse %s -le ühineda kanaliga %s saadeti ära.',
uninvite: '%s palub sul lahkuda kanalist %s.',
uninviteto: 'Sinu palve %s -le lahkuda kanalist %s saadeti ära.',
queryOpen: 'Privaat kanal avati %s -le.',
queryClose: 'Privaat kanal %s -le suleti.',
ignoreAdded: ' %s -t ignoreeritakse.',
ignoreRemoved: ' %s ignoreerimine tühistati.',
ignoreList: 'Ignoreeritud kasutajad:',
ignoreListEmpty: 'Ignoreeritud kasutajad puuduvad.',
who: 'Sisse loginud kasutajad:',
whoChannel: 'Sisse loginud kasutajad kanalis %s:',
whoEmpty: 'Antud kanalis sisse loginud kasutajaid ei ole.',
list: 'Vabad kanalid:',
bans: 'Kasutajate must nimekiri:',
bansEmpty: 'Mustas nimekirjas kasutajaid ei ole.',
unban: 'Kasutaja %s eemaldati mustast nimekirjast.',
whois: 'Kasutaja %s - IP aadress:',
whereis: 'Kasutaja %s on kanalis %s.',
roll: '%s veeretas %s ja sai %s.',
nick: '%s nimetas end ümber: %s.',
toggleUserMenu: 'Näita/ära näita kasutaja menüüd',
userMenuLogout: 'Lahku',
userMenuWho: 'Näita sisse loginud kasutajaid',
userMenuList: 'Näita vabad kanalid',
userMenuAction: 'Kirjelda tegevust',
userMenuRoll: 'Veereta täringut',
userMenuNick: 'Muuda kasutajanimi',
userMenuEnterPrivateRoom: 'Sisene privaat-ruumi',
userMenuSendPrivateMessage: 'Saada privaat-sõnum',
userMenuDescribe: 'Saada privaat-tegevus',
userMenuOpenPrivateChannel: 'Ava privaat-kanal',
userMenuClosePrivateChannel: 'Sulge privaat-kanal',
userMenuInvite: 'Kutsu',
userMenuUninvite: 'Palu lahkuda',
userMenuIgnore: 'Ignoreeri/Tunnusta',
userMenuIgnoreList: 'Ignoreeritud kasutajad',
userMenuWhereis: 'Asukoha kanal',
userMenuKick: 'Viska välja/Lisa musta nimekirja',
userMenuBans: 'Musta nimekirja kasutajad',
userMenuWhois: 'Näita IP-d',
unbanUser: 'Eemalda %s mustast nimekirjast',
joinChannel: 'Liitu kanaliga %s',
cite: '%s ütles:',
urlDialog: 'Palun sisesta oma veebilehe (URL):',
deleteMessage: 'Kustuta see jutuka teade',
deleteMessageConfirm: 'Kas tahad tõesti kustutada seda sõnumit??',
errorCookiesRequired: 'Luba "küpsised", et kasutada seda jutukat.',
errorUserNameNotFound: 'Viga: Kasutajat nimega %s ei leitud.',
errorMissingText: 'Viga: Sõnumi tekst kadunud.',
errorMissingUserName: 'Viga: Kasutajanimi puuduv.',
errorInvalidUserName: 'Viga: Vigane kasutajanimi.',
errorUserNameInUse: 'Viga: Kasutajanimi on juba võetud.',
errorMissingChannelName: 'Viga: Kanali nimi on kadunud.',
errorInvalidChannelName: 'Viga: Vigane kanali nimi: %s',
errorPrivateMessageNotAllowed: 'Viga: Privaat-sõnumid ei ole lubatud.',
errorInviteNotAllowed: 'Viga: Sul ei ole lubatud kutsuda kedagi siia kanalisse.',
errorUninviteNotAllowed: 'Viga: Sul ei ole lubatud kedagi sellest kanalist lahkuma paluda.',
errorNoOpenQuery: 'Viga: Ühtegi privaat-kanalit pole avatud.',
errorKickNotAllowed: 'Viga: Sul ei ole lubatud välja visata %s.',
errorCommandNotAllowed: 'Viga: Korraldus pole lubatud: %s',
errorUnknownCommand: 'Viga: Tundmatu korraldus: %s',
errorMaxMessageRate: 'Viga: Sinu maksimum sõnumite hulk, minuti vältel, on ületatud.',
errorConnectionTimeout: 'Viga: Ühendus aegus. Please proovi uuesti.',
errorConnectionStatus: 'Viga: Ühenduse olek: %s',
errorSoundIO: 'Viga: Helifaili ei õnnestunud laadida (Flash IO Viga).',
errorSocketIO: 'Viga: Ühendus socket serveriga ebaõnnestus (Flash IO Viga).',
errorSocketSecurity: 'Viga: Ühendus socket serveriga ebaõnnestus (Flash Turvalisuse Viga).',
errorDOMSyntax: 'Viga: Vigane DOM Süntaks (DOM ID: %s).'
}

View File

@ -1,93 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Asmo Soinio
* @author Saku Laukkanen
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s kirjautui sisään.',
logout: '%s kirjautui ulos.',
logoutTimeout: '%s kirjautui ulos (Aikakatkaisu).',
logoutIP: '%s kirjautui ulos (virheellinen IP-osoite).',
logoutKicked: '%s kirjautui ulos (Potkut).',
channelEnter: '%s liittyi kanavalle.',
channelLeave: '%s poistui kanavalta.',
privmsg: '(kuiskaa)',
privmsgto: '(kuiskaa käyttäjälle %s)',
invite: '%s kutsuu sinut liittymään kanavalle %s.',
inviteto: 'Sinun kutsusi käyttäjälle %s, liittymisestä kanavalle %s, on lähetetty.',
uninvite: '%s peruu kutsun kanavalle %s.',
uninviteto: 'Kutsusi peruminen käyttäjälle %s kanavaa %s varten, on lähetetty.',
queryOpen: 'Yksityinen kanava käyttäjälle %s on avattu.',
queryClose: 'Yksityinen kanava käyttäjälle %s on suljettu.',
ignoreAdded: 'Käyttäjä %s on lisätty huomiotta jätettäviin.',
ignoreRemoved: 'Käyttäjä %s on poistettu huomiotta jätettävistä.',
ignoreList: 'Huomiotta jätettävät käyttäjät:',
ignoreListEmpty: 'Ei huomiotta jätettäviä käyttäjiä.',
who: 'Paikallaolijat:',
whoChannel: 'Paikallaolijat kanavalla %s:',
whoEmpty: 'Ei käyttäjiä annetulla kanavalla.',
list: 'Käytettävät kanavat:',
bans: 'Potkitut käyttäjät:',
bansEmpty: 'Ei potkittuja käyttäjiä.',
unban: 'Käyttäjän %s potkut on poistettu.',
whois: 'Käyttäjän %s IP osoite:',
whereis: 'Käyttäjä %s on kanavalla %s.',
roll: '%s heittää %s ja saa %s.',
nick: '%s on nyt %s.',
toggleUserMenu: 'Näytä/piilota valikko käyttäjälle %s',
userMenuLogout: 'Poistu',
userMenuWho: 'Listaa paikallaolijat',
userMenuList: 'Listaa käytettävissä olevat kanavat',
userMenuAction: 'Määrittele toiminta',
userMenuRoll: 'Heitä noppaa',
userMenuNick: 'Vaihda käyttäjätunnusta',
userMenuEnterPrivateRoom: 'Mene yksityiseen kanavaasi',
userMenuSendPrivateMessage: 'Lähetä yksityinen viesti',
userMenuDescribe: 'Lähetä yksityinen toiminto',
userMenuOpenPrivateChannel: 'Avaa yksityinen kanava',
userMenuClosePrivateChannel: 'Sulje yksityinen kanava',
userMenuInvite: 'Kutsu',
userMenuUninvite: 'Peru kutsu',
userMenuIgnore: 'Ohita/Hyväksy',
userMenuIgnoreList: 'Listaa huomiota jätettävät käyttäjät',
userMenuWhereis: 'Näytä kanavat',
userMenuKick: 'Poista/Porttikielto',
userMenuBans: 'Listaa käyttäjät, joilla porttikielto',
userMenuWhois: 'Näytä IP-osoite',
unbanUser: 'Poista käyttäjän %s porttikielto',
joinChannel: 'Liity kanavalle %s',
cite: '%s sanoi:',
urlDialog: 'Lisää nettisivujen osoite (URL):',
deleteMessage: 'Poista tämä viesti',
deleteMessageConfirm: 'Poistetaanko viesti?',
errorCookiesRequired: 'Evästeiden pitää olla sallituja käyttääksesi tätä keskustelua.',
errorUserNameNotFound: 'Virhe: Käyttäjää %s ei löydetty.',
errorMissingText: 'Virhe: Puuttuva viestin teksti.',
errorMissingUserName: 'Virhe: Puuttuva käyttäjänimi.',
errorInvalidUserName: 'Virhe: Virheellinen käyttäjätunnus.',
errorUserNameInUse: 'Virhe: Käyttäjätunnus on jo käytössä.',
errorMissingChannelName: 'Virhe: Puuttuva kanavan nimi.',
errorInvalidChannelName: 'Virhe: Virheellinen kanavan nimi: %s',
errorPrivateMessageNotAllowed: 'Virhe: Yksityisviestit eivät ole sallittuja.',
errorInviteNotAllowed: 'Virhe: Sinulla ei ole oikeutta kutsua ketään kanavalle.',
errorUninviteNotAllowed: 'Virhe: Sinulla ei ole oikeutta perua kutsua tälle kanavalle.',
errorNoOpenQuery: 'Virhe: Ei yksityistä kanavaa auki.',
errorKickNotAllowed: 'Virhe: Sinulla ei ole oikeutta potkia käyttäjää %s.',
errorCommandNotAllowed: 'Virhe: Komento ei ole sallittu: %s',
errorUnknownCommand: 'Virhe: Tuntematon komento: %s',
errorMaxMessageRate: 'Virhe: Liikaa viestejä minuutissa.',
errorConnectionTimeout: 'Virhe: Yhteyden aikakatkaisu, olkaa hyvä ja yrittäkää uudelleen.',
errorConnectionStatus: 'Virhe: Yhteyden tila: %s',
errorSoundIO: 'Virhe: Äänitiedoston lataus epäonnistui (Flash IO-virhe).',
errorSocketIO: 'Virhe: Yhteys socket palvelimeen epäonnistui (Flash IO-virhe).',
errorSocketSecurity: 'Virhe: Yhteys socket palvelimeen epäonnistui (Flash-turvallisuus virhe).',
errorDOMSyntax: 'Virhe: Virheellinen DOM-syntaksi (DOM-tunniste: %s).'
}

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @contributors Ettelcar, Massimiliano Tiraboschi, Xytovl
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s se connecte au Chat.',
logout: '%s se déconnecte du Chat.',
logoutTimeout: '%s a été déconnecté (Temps écoulé).',
logoutIP: '%s a été déconnecté (Adresse IP invalide).',
logoutKicked: '%s a été déconnecté (Éjecté).',
channelEnter: '%s entre dans le salon.',
channelLeave: '%s sort du salon.',
privmsg: '(murmure)',
privmsgto: '(murmure à loreille de %s)',
invite: '%s vous invite à rejoindre %s.',
inviteto: 'Votre invation pour %s à rejoindre le salon %s a bien été envoyée.',
uninvite: '%s annule son invitation pour le salon %s.',
uninviteto: 'Votre annulaton dinvitation pour %s au salon %s a bien été envoyée.',
queryOpen: 'Salon privé ouvert sous le titre %s.',
queryClose: 'Le salon privé %s a été fermé.',
ignoreAdded: '%s a été ajouté à la liste des personnes ignorées.',
ignoreRemoved: '%s a été enlevé de la liste des personnes ignorées.',
ignoreList: 'Utilisateurs ignorés:',
ignoreListEmpty: 'Aucun utilisateur ignoré référencé.',
who: 'Utilisateurs en ligne:',
whoChannel: 'Utilisateurs en ligne dans le salon %s :',
whoEmpty: 'Aucun utilisateur en ligne dans le salon concerné.',
list: 'Salons disponibles :',
bans: 'Utilisateurs bannis :',
bansEmpty: 'Aucun utilisateur banni référencé.',
unban: 'Le ban de lutilisateur %s a été levé.',
whois: 'Utilisateur %s - Adresse IP:',
whereis: 'Lutilisateur %s est dans le salon %s.',
roll: '%s jette %s et obtient %s.',
nick: '%s est maintenant %s.',
toggleUserMenu: 'Montrer/cacher menu pour %s',
userMenuLogout: 'Déconnexion',
userMenuWho: 'Liste membres en ligne',
userMenuList: 'Liste salons disponibles',
userMenuAction: 'Décrire une action',
userMenuRoll: 'Jeter un dé',
userMenuNick: 'Changer nom',
userMenuEnterPrivateRoom: 'Rejoindre un salon privé',
userMenuSendPrivateMessage: 'Envoyer un message privé',
userMenuDescribe: 'Envoyer une action privé',
userMenuOpenPrivateChannel: 'Ouvrir un salon privé',
userMenuClosePrivateChannel: 'Fermer un salon privé',
userMenuInvite: 'Inviter',
userMenuUninvite: 'Uninvite',
userMenuIgnore: 'Ignorer/Accepter',
userMenuIgnoreList: 'Liste utilisateurs ignorés',
userMenuWhereis: 'Montrer les salons',
userMenuKick: 'Éjecter/bannir',
userMenuBans: 'Liste utilisateurs bannis',
userMenuWhois: 'Display IP',
unbanUser: 'Revoke ban of user %s',
joinChannel: 'Rejoindre le salon %s',
cite: '%s a dit:',
urlDialog: 'Veuillez entrer laddresse (URL) de la page web:',
deleteMessage: 'Effacer ce message',
deleteMessageConfirm: 'Effacer le message selectionné ?',
errorCookiesRequired: 'Ce Chat requiert lacceptation des cookies.',
errorUserNameNotFound: 'Erreur : Utilisateur %s introuvable.',
errorMissingText: 'Erreur : Texte du message manquant.',
errorMissingUserName: 'Erreur : Nom dutilisateur manquant.',
errorMissingChannelName: 'Erreur : Nom de salon manquant.',
errorInvalidChannelName: 'Erreur : Mauvais nom de salon: %s',
errorPrivateMessageNotAllowed: 'Erreur : Les messages privés sont interdits.',
errorInviteNotAllowed: 'Erreur : Vous nêtes pas autorisé à inviter quelquun à ce salon.',
errorUninviteNotAllowed: 'Erreur : Vous nêtes pas autorisé à annuler une invitation à ce salon.',
errorNoOpenQuery: 'Erreur : Aucun salon privé ouvert.',
errorKickNotAllowed: 'Erreur : Vous nêtes pas autorisé à éjecter %s.',
errorCommandNotAllowed: 'Erreur : Commande interdite: %s',
errorUnknownCommand: 'Erreur : Commande inconnue: %s',
errorMaxMessageRate: 'Error : You exceeded the maximum number of messages per minute.',
errorConnectionTimeout: 'Erreur : Temps de connexion écoulé. Veuillez réessayer.',
errorConnectionStatus: 'Erreur : Statut de connexion: %s',
errorSoundIO: 'Erreur : Impossible de charger le fichier son (Erreur E/S Flash).',
errorSocketIO: 'Erreur : Connexion au serveur échouée (Erreur E/S Flash).',
errorSocketSecurity: 'Erreur : Connexion au serveur échouée (Erreur de sécurité Flash).',
errorDOMSyntax: 'Erreur : Syntaxe DOM invalide (ID DOM : %s).'
}

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Manu Quintans
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s logs dentro de Chat.',
logout: '%s logs fora del Chat.',
logoutTimeout: '%s desconectouse(Tempo de espera esgotado).',
logoutIP: '%s desconectouse (Dirección IP non válida ).',
logoutKicked: '%s desconectouse (Pateado).',
channelEnter: '%s Entra no chat.',
channelLeave: '%s Vaise do chat.',
privmsg: '(whispers)',
privmsgto: '(whispers to %s)',
invite: '%s invítache a unirte a %s.',
inviteto: 'A túa invitación a %s para unirse a %s foi enviada.',
uninvite: '%s rechazado en %s.',
uninviteto: 'O teu rechazo a %s para %s foi enviado.',
queryOpen: 'Chat privado aberto %s.',
queryClose: 'Chat privado pechado %s pechado.',
ignoreAdded: 'Engadido %s a lista de usuarios ignorados.',
ignoreRemoved: 'Eliminado %s da lista de usuarios ignorados.',
ignoreList: 'Usuarios ignorados',
ignoreListEmpty: 'Lista de usuarios non ignorados.',
who: 'Usuarios conectados:',
whoChannel: 'Usuarios en liña na canle %s:',
whoEmpty: 'Non hai usuarios conectados neste momento.',
list: 'Chats disponibles:',
bans: 'Usuarios Baneados:',
bansEmpty: 'Non hai usuarios baneados.',
unban: 'Baneo do usuario %s revocado.',
whois: 'Usuario %s - Direccion IP:',
whereis: 'Usuario %s en chat %s.',
roll: '%s rolls %s e toma %s.',
nick: '%s agora como %s.',
toggleUserMenu: 'Cambiar menu de usuario para %s',
userMenuLogout: 'Sair',
userMenuWho: 'Listar usuarios en liña',
userMenuList: 'Canles disponibles',
userMenuAction: 'Describe acción',
userMenuRoll: 'Roll di',
userMenuNick: 'Cambiar nome de usuario',
userMenuEnterPrivateRoom: 'Entrar nun privado',
userMenuSendPrivateMessage: 'Enviar mensaxe privada',
userMenuDescribe: 'Enviar accion en privado',
userMenuOpenPrivateChannel: 'Abrir privado',
userMenuClosePrivateChannel: 'Pechar privado',
userMenuInvite: 'Invitar',
userMenuUninvite: 'Rechazar invitado',
userMenuIgnore: 'Ignorar/Aceptar',
userMenuIgnoreList: 'Lista usuarios ignorados',
userMenuWhereis: 'Amosar canle',
userMenuKick: 'Banear',
userMenuBans: 'Lista usuarios baneados',
userMenuWhois: 'Amosar IP',
unbanUser: 'Eliminar baneo de %s',
joinChannel: 'Unirte a %s',
cite: '%s dixo:',
urlDialog: 'Por favor, introduce a URL da paxina web:',
deleteMessage: 'Eliminar mensaxe',
deleteMessageConfirm: 'Queres borra-la mensaxe?',
errorCookiesRequired: 'As Cookies son necesarias para o chat.',
errorUserNameNotFound: 'Error: usuario %s non encontrado.',
errorMissingText: 'Error: mensaxe perdida.',
errorMissingUserName: 'Error: Usuario non encontrado.',
errorInvalidUserName: 'Error: Nome de usuario non valido.',
errorUserNameInUse: 'Error: Usuario en uso.',
errorMissingChannelName: 'Error: No se atopa a canle.',
errorInvalidChannelName: 'Error: Nome inválido de canle: %s',
errorPrivateMessageNotAllowed: 'Error: mensaxes privadas non permitidas.',
errorInviteNotAllowed: 'Error: Non se che permite invitar nesta canle.',
errorUninviteNotAllowed: 'Error: Non se che permite rechazar invitados nesta canle.',
errorNoOpenQuery: 'Error: Ningunha canle privado aberto.',
errorKickNotAllowed: 'Error: Non podes banear %s.',
errorCommandNotAllowed: 'Error: Comando non permitido: %s',
errorUnknownCommand: 'Error: Comando descoñecido: %s',
errorMaxMessageRate: 'Error: Excedes o numero maximo de mensaxes por minuto.',
errorConnectionTimeout: 'Error: Tempo superado. Téntao de novo.',
errorConnectionStatus: 'Error: Estado de conexión: %s',
errorSoundIO: 'Error: Error o reproducir son(Flash IO Error).',
errorSocketIO: 'Error: Conexión co servidor fallida (Flash IO Error).',
errorSocketSecurity: 'Error: Conexión co servidor fallida(Flash Security Error).',
errorDOMSyntax: 'Error: Sintaxis DOM Inválida(DOM ID: %s).'
}

View File

@ -1,92 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @author Smiley Barry
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: '%s נכנס לתוך הצאט.',
logout: '%s יוצא מהצאט.',
logoutTimeout: '%s הוצא מהצאט (היה לא זמין).',
logoutIP: '%s הוצא מהצאט (כתובת מחשב בלתי חוקית).',
logoutKicked: '%s הוצא מהצאט (הועף/נבעט).',
channelEnter: '%s נכנס לתוך הערוץ.',
channelLeave: '%s יוצא מהערוץ.',
privmsg: '(לוחש)',
privmsgto: '(לוחש ל%s)',
invite: '%s מזמין אותך להצטרף לערוץ %s.',
inviteto: 'ההזמנה שלך עבור %s להצטרף לערוץ %s נשלחה.',
uninvite: '%s ביטל את הזמנתו לערוץ %s.',
uninviteto: 'ביטול ההזמנה שלך עבור %s להצטרף לערוץ %s נשלח.',
queryOpen: 'ערוץ פרטי עבור %s נפתח.',
queryClose: 'ערוץ פרטי עבור %s נסגר.',
ignoreAdded: 'המשתמש %s נוסף לרשימת ההתעלמות.',
ignoreRemoved: 'המשתמש %s נמחק מרשימת ההתעלמות.',
ignoreList: 'משתמשים אשר אתה מתעלם מהם:',
ignoreListEmpty: 'אין משתמשים ברשימה.',
who: 'משתמשים מחוברים:',
whoChannel: 'Online Users in channel %s:',
whoEmpty: 'אין משתמשים מחוברים בערוץ.',
list: 'ערוצים פתוחים:',
bans: 'משתמשים חסומים:',
bansEmpty: 'אין משתמשים חסומים.',
unban: 'בוטלה החסימה נגד המשתמש %s.',
whois: 'כתובת המחשב של המשתמש %s:',
whereis: 'User %s is in channel %s.',
roll: '%s מגלגל %s ומקבל %s.',
nick: '%s is now known as %s.',
toggleUserMenu: 'Toggle user menu for %s',
userMenuLogout: 'Logout',
userMenuWho: 'List online users',
userMenuList: 'List available channels',
userMenuAction: 'Describe action',
userMenuRoll: 'Roll dice',
userMenuNick: 'Change username',
userMenuEnterPrivateRoom: 'Enter private room',
userMenuSendPrivateMessage: 'Send private message',
userMenuDescribe: 'Send private action',
userMenuOpenPrivateChannel: 'Open private channel',
userMenuClosePrivateChannel: 'Close private channel',
userMenuInvite: 'Invite',
userMenuUninvite: 'Uninvite',
userMenuIgnore: 'Ignore/Accept',
userMenuIgnoreList: 'List ignored users',
userMenuWhereis: 'Display channel',
userMenuKick: 'Kick/Ban',
userMenuBans: 'List banned users',
userMenuWhois: 'Display IP',
unbanUser: 'Revoke ban of user %s',
joinChannel: 'הצטרף לערוץ %s',
cite: '%s אמר:',
urlDialog: 'אנא הכנס את כתובת האינטרנט (URL) של הדף:',
deleteMessage: 'Delete this chat message',
deleteMessageConfirm: 'Really delete the selected chat message?',
errorCookiesRequired: 'הצאט מבקש עוגיות כדי לפעול. אנא רד לחנות לקנות.',
errorUserNameNotFound: 'שגיאה: המשתמש %s לא נמצא.',
errorMissingText: 'שגיאה: חסר טקסט בהודעה.',
errorMissingUserName: 'שגיאה: חסר שם משתמש.',
errorInvalidUserName: 'Error: Invalid username.',
errorUserNameInUse: 'Error: Username already in use.',
errorMissingChannelName: 'שגיאה: חסר שם ערוץ.',
errorInvalidChannelName: 'שגיאה: שם ערוץ לא חוקי: %s',
errorPrivateMessageNotAllowed: 'שגיאה: הודעות פרטיות אסורות לשימוש.',
errorInviteNotAllowed: 'שגיאה: אסור לך להזמין אנשים לערוץ זה.',
errorUninviteNotAllowed: 'שגיאה: אסור לך לבטל הזמנות של אנשים לערוץ זה.',
errorNoOpenQuery: 'שגיאה: ערוץ פרטי לא פתוח.',
errorKickNotAllowed: 'שגיאה: אסור לך להעיף את %s.',
errorCommandNotAllowed: 'שגיאה: פקודה אסורה: %s',
errorUnknownCommand: 'שגיאה: פקודה לא ידועה: %s',
errorMaxMessageRate: 'Error: You exceeded the maximum number of messages per minute.',
errorConnectionTimeout: 'שגיאה: זמן חיבור פג. אנא נסה שנית.',
errorConnectionStatus: 'שגיאת חיבור: %s',
errorSoundIO: 'Error: Failed to load sound file (Flash IO Error).',
errorSocketIO: 'Error: Connection to socket server failed (Flash IO Error).',
errorSocketSecurity: 'Error: Connection to socket server failed (Flash Security Error).',
errorDOMSyntax: 'Error: Invalid DOM Syntax (DOM ID: %s).'
}

View File

@ -1,91 +0,0 @@
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license Modified MIT License
* @link https://blueimp.net/ajax/
*/
// Ajax Chat language Object:
var ajaxChatLang = {
login: 'Korisnik %s prijavio se u brbljanje.',
logout: 'Korisnik %s odjavio se iz brbljanja.',
logoutTimeout: 'Korisnik %s je odjavljen (neaktivnost).',
logoutIP: 'Korisnik %s je odjavljen (nepravilna IP adresa).',
logoutKicked: 'Korisnik %s je odjavljen (prognan).',
channelEnter: 'Korisnik %s pristupa kanalu.',
channelLeave: 'Korisnik %s napušta kanal.',
privmsg: '(šapuće)',
privmsgto: '(šapuće korisniku %s)',
invite: 'Korisnik %s poziva vas da se pridružite kanalu %s.',
inviteto: 'Vaš poziv korisniku %s da se pridruži kanalu %s je poslan.',
uninvite: 'Korisnik %s povukao je svoj poziv za kanal %s.',
uninviteto: 'Vaš opoziv korisniku %s za pridruživanje kanalu %s je poslan.',
queryOpen: 'Otvoren je privatni kanal za %s.',
queryClose: 'Privatni kanal za %s je zatvoren.',
ignoreAdded: 'Korisnik %s je dodan na popis ignoriranih.',
ignoreRemoved: 'Korisnik %s je uklonjen s popisa ignoriranih.',
ignoreList: 'Ignorirani korisnici:',
ignoreListEmpty: 'Nema ignoriranih korisnika.',
who: 'Prisutni korisnici:',
whoChannel: 'Prisutni korisnici u kanalu %s.',
whoEmpty: 'U odabranom kanalu nema prisutnih korisnika.',
list: 'Dostupni kanali:',
bans: 'Zabranjeni korisnici:',
bansEmpty: 'Nema zabranjenih korisnika.',
unban: 'Opozvana je zabrana korisnika %s.',
whois: 'Korisnik %s - IP adresa:',
whereis: 'Korisnik %s je u kanalu %s.',
roll: 'Korisnik %s baca %s i dobiva %s.',
nick: 'Korisnik %s je sad poznat kao %s.',
toggleUserMenu: 'Prebaci korisnički zbornik za %s',
userMenuLogout: 'Odjava',
userMenuWho: 'Ispiši prisutne korisnike',
userMenuList: 'Ispiši dostupne kanale',
userMenuAction: 'Aktivnost',
userMenuRoll: 'Baci kocku',
userMenuNick: 'Promijeni korisničko ime',
userMenuEnterPrivateRoom: 'Pristupi privatnoj sobi',
userMenuSendPrivateMessage: 'Pošalji privatnu poruku',
userMenuDescribe: 'Pošalji privatnu aktivnost',
userMenuOpenPrivateChannel: 'Otvori privatni kanal',
userMenuClosePrivateChannel: 'Zatvori privatni kanal',
userMenuInvite: 'Pozovi',
userMenuUninvite: 'Opozovi',
userMenuIgnore: 'Ignoriraj / Prihvati',
userMenuIgnoreList: 'Ispiši ignorirane korisnike',
userMenuWhereis: 'Prikaži kanal',
userMenuKick: 'Prognaj / Zabrani',
userMenuBans: 'Ispiši zabranjene korisnike',
userMenuWhois: 'Prikaži IP',
unbanUser: 'Opozovi zabranu korisnika %s.',
joinChannel: 'Pridruži se kanalu %s',
cite: 'Korisnik %s je rekao:',
urlDialog: 'Unesite URL adresu web-stranice:',
deleteMessage: 'Izbriši ovu poruku',
deleteMessageConfirm: 'Želite li zaista izbrisati ovu poruku?',
errorCookiesRequired: 'Ovo brbljanje zahtjeva omogućene kolačiće.',
errorUserNameNotFound: 'Pogreška: Korisnik %s nije pronađen.',
errorMissingText: 'Pogreška: Nedostaje tekst poruke.',
errorMissingUserName: 'Pogreška: Nedostaje korisničko ime.',
errorInvalidUserName: 'Pogreška: Nepravilno korisničko ime.',
errorUserNameInUse: 'Pogreška: Korisničko ime već je u upotrebi.',
errorMissingChannelName: 'Pogreška: Nedostaje naziv kanala.',
errorInvalidChannelName: 'Pogreška: Nepravilan naziv kanala: %s',
errorPrivateMessageNotAllowed: 'Pogreška: Privatne poruke nisu dopuštene.',
errorInviteNotAllowed: 'Pogreška: Nemate dopuštenja za pozivanje drugih osoba u ovaj kanal.',
errorUninviteNotAllowed: 'Pogreška: Nemate dopuštenja za opozivanje drugih osoba u ovom kanalu.',
errorNoOpenQuery: 'Pogreška: Nema otvorenog privatnog kanala.',
errorKickNotAllowed: 'Pogreška: Nemate dopuštenja za progon korisnika %s.',
errorCommandNotAllowed: 'Pogreška: Naredba nije dopuštena: %s',
errorUnknownCommand: 'Pogreška: Nepoznata naredba: %s',
errorMaxMessageRate: 'Pogreška: Premašili ste najveći dopušteni broj poruka u minuti.',
errorConnectionTimeout: 'Pogreška: Neaktivna veza. Pokušajte ponovo.',
errorConnectionStatus: 'Pogreška: Stanje veze: %s',
errorSoundIO: 'Pogreška: Učitavanje datoteke zvuka nije uspjelo (Flash IO pogreška).',
errorSocketIO: 'Pogreška: Povezivanje s priključkom poslužitelja nije uspjelo (Flash IO pogreška).',
errorSocketSecurity: 'Pogreška: Povezivanje s priključkom poslužitelja nije uspjelo (Flash sigurnosna pogreška).',
errorDOMSyntax: 'Pogreška: Nepravilna DOM sintaksa (DOM ID: %s).'
}

Some files were not shown because too many files have changed in this diff Show More