From b54cd674e6591dcca83724be9dfcb3e62c0cb178 Mon Sep 17 00:00:00 2001 From: Dmitry Simushev Date: Tue, 8 Nov 2011 16:42:41 +0000 Subject: [PATCH 01/40] Added the ability to use persistent connections --- src/messenger/webim/libs/common.php | 12 +++++++++--- src/messenger/webim/libs/config.php | 4 +++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index 318cd29f..c688639f 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -344,12 +344,18 @@ function getgetparam($name, $default = '') function connect() { - global $mysqlhost, $mysqllogin, $mysqlpass, $mysqldb, $dbencoding, $force_charset_in_connection; + global $mysqlhost, $mysqllogin, $mysqlpass, $mysqldb, $dbencoding, $force_charset_in_connection, $use_persistent_connection; if (!extension_loaded("mysql")) { die('Mysql extension is not loaded'); } - $link = @mysql_connect($mysqlhost, $mysqllogin, $mysqlpass) - or die('Could not connect: ' . mysql_error()); + if ($use_persistent_connection) { + $link = @mysql_pconnect($mysqlhost, $mysqllogin, $mysqlpass); + }else{ + $link = @mysql_connect($mysqlhost, $mysqllogin, $mysqlpass); + } + if (! $link) { + die('Could not connect: ' . mysql_error()); + } mysql_select_db($mysqldb, $link) or die('Could not select database'); if ($force_charset_in_connection) { mysql_query("SET NAMES '$dbencoding'", $link); diff --git a/src/messenger/webim/libs/config.php b/src/messenger/webim/libs/config.php index 6d541b4e..90a2e203 100644 --- a/src/messenger/webim/libs/config.php +++ b/src/messenger/webim/libs/config.php @@ -41,6 +41,8 @@ $mysqlprefix = ""; $dbencoding = "utf8"; $force_charset_in_connection = true; +$use_persistent_connection = false; + /* * Mailbox */ @@ -53,4 +55,4 @@ $mail_encoding = "utf-8"; $home_locale = "en"; /* native name will be used in this locale */ $default_locale = "en"; /* if user does not provide known lang */ -?> \ No newline at end of file +?> From 6698601d191bb4b6592a5bd6f65bf147c7f524a2 Mon Sep 17 00:00:00 2001 From: Dmitry Simushev Date: Tue, 8 Nov 2011 17:29:33 +0000 Subject: [PATCH 02/40] Added wrapper function for mysql_close --- src/messenger/webim/libs/common.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index c688639f..43c53e77 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -363,6 +363,14 @@ function connect() return $link; } +function close_connection($link) +{ + global $use_persistent_connection; + if (! $use_persistent_connection) { + mysql_close($link); + } +} + function perform_query($query, $link) { mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); From 1cd6926f4fbf685a2d6250bbc67ecc62189b9357 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 14:16:37 +0000 Subject: [PATCH 03/40] Replaced all mysql_close by close_connection, except for the directory /install --- src/messenger/webim/b.php | 2 +- src/messenger/webim/client.php | 4 +-- src/messenger/webim/invite.php | 2 +- src/messenger/webim/leavemessage.php | 4 +-- src/messenger/webim/libs/chat.php | 28 +++++++++---------- src/messenger/webim/libs/common.php | 2 +- src/messenger/webim/libs/getcode.php | 2 +- src/messenger/webim/libs/groups.php | 4 +-- src/messenger/webim/libs/operator.php | 22 +++++++-------- src/messenger/webim/libs/settings.php | 4 +-- src/messenger/webim/mail.php | 2 +- src/messenger/webim/operator/ban.php | 8 +++--- src/messenger/webim/operator/blocked.php | 4 +-- src/messenger/webim/operator/canned.php | 6 ++-- src/messenger/webim/operator/cannededit.php | 8 +++--- src/messenger/webim/operator/group.php | 6 ++-- src/messenger/webim/operator/groupmembers.php | 8 +++--- src/messenger/webim/operator/groups.php | 6 ++-- src/messenger/webim/operator/history.php | 2 +- src/messenger/webim/operator/index.php | 2 +- .../webim/operator/invitationstate.php | 2 +- src/messenger/webim/operator/invite.php | 2 +- src/messenger/webim/operator/operators.php | 2 +- src/messenger/webim/operator/opgroups.php | 6 ++-- src/messenger/webim/operator/permissions.php | 4 +-- src/messenger/webim/operator/redirect.php | 4 +-- src/messenger/webim/operator/resetpwd.php | 4 +-- src/messenger/webim/operator/restore.php | 4 +-- src/messenger/webim/operator/statistics.php | 2 +- .../webim/operator/threadprocessor.php | 4 +-- src/messenger/webim/operator/tracked.php | 2 +- src/messenger/webim/operator/update.php | 8 +++--- src/messenger/webim/operator/userhistory.php | 4 +-- src/messenger/webim/operator/users.php | 2 +- src/messenger/webim/thread.php | 2 +- 35 files changed, 89 insertions(+), 89 deletions(-) diff --git a/src/messenger/webim/b.php b/src/messenger/webim/b.php index 4780c50f..97671c68 100644 --- a/src/messenger/webim/b.php +++ b/src/messenger/webim/b.php @@ -32,7 +32,7 @@ if($referer && isset($_SESSION['threadid'])) { $msg = getstring2_("chat.client.visited.page", array($referer), $thread['locale']); post_message_($thread['threadid'], $kind_for_agent,$msg,$link); } - mysql_close($link); + close_connection($link); } $image = verifyparam(isset($_GET['image']) ? "image" : "i", "/^\w+$/", "webim"); diff --git a/src/messenger/webim/client.php b/src/messenger/webim/client.php index 936a09f4..c3b64685 100644 --- a/src/messenger/webim/client.php +++ b/src/messenger/webim/client.php @@ -110,7 +110,7 @@ if( !isset($_GET['token']) || !isset($_GET['thread']) ) { $link = connect(); if(!check_connections_from_remote($remoteHost, $link)) { - mysql_close($link); + close_connection($link); die("number of connections from your IP is exceeded, try again later"); } $thread = create_thread($groupid,$visitor['name'], $remoteHost, $referrer,$current_locale,$visitor['id'], $userbrowser,$state_loading,$link); @@ -137,7 +137,7 @@ if( !isset($_GET['token']) || !isset($_GET['thread']) ) { $postedid = post_message_($thread['threadid'],$kind_user,$firstmessage,$link,$visitor['name']); commit_thread( $thread['threadid'], array('shownmessageid' => $postedid), $link); } - mysql_close($link); + close_connection($link); } $threadid = $thread['threadid']; $token = $thread['ltoken']; diff --git a/src/messenger/webim/invite.php b/src/messenger/webim/invite.php index 9c0471c1..3f7161f8 100644 --- a/src/messenger/webim/invite.php +++ b/src/messenger/webim/invite.php @@ -51,7 +51,7 @@ if ($settings['enabletracking'] == '1') { $operator = operator_by_id_($invited, $link); } - mysql_close($link); + close_connection($link); } start_xml_output(); diff --git a/src/messenger/webim/leavemessage.php b/src/messenger/webim/leavemessage.php index 15ee680f..12a407c9 100644 --- a/src/messenger/webim/leavemessage.php +++ b/src/messenger/webim/leavemessage.php @@ -46,7 +46,7 @@ function store_message($name, $email, $info, $message,$groupid,$referrer) { post_message_($thread['threadid'],$kind_for_agent,getstring2('chat.visitor.info',array($info)),$link); } post_message_($thread['threadid'],$kind_user,$message,$link,$name); - mysql_close($link); + close_connection($link); } $groupid = ""; @@ -118,7 +118,7 @@ if (isset($group) && !empty($group['vcemail'])) { if($inbox_mail) { $link = connect(); webim_mail($inbox_mail, $email, $subject, $body, $link); - mysql_close($link); + close_connection($link); } setup_logo(); diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index 2390a524..dc383cd6 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -83,7 +83,7 @@ function post_message($threadid, $kind, $message, $from = null, $agentid = null) { $link = connect(); $id = post_message_($threadid, $kind, $message, $link, $from, null, $agentid); - mysql_close($link); + close_connection($link); return $id; } @@ -158,7 +158,7 @@ function get_messages($threadid, $meth, $isuser, &$lastid) } } - mysql_close($link); + close_connection($link); return $messages; } @@ -328,7 +328,7 @@ function setup_survey($name, $email, $groupid, $info, $referrer) if ($settings['enablegroups'] == '1' && $settings["surveyaskgroup"] == "1") { $link = connect(); $allgroups = get_groups($link, false); - mysql_close($link); + close_connection($link); $val = ""; foreach ($allgroups as $k) { $groupname = $k['vclocalname']; @@ -414,7 +414,7 @@ function load_canned_messages($locale, $groupid) } $result = $result2; } - mysql_close($link); + close_connection($link); return $result; } @@ -452,7 +452,7 @@ function setup_chatview_for_operator($thread, $operator) $visitor = track_get_visitor_by_threadid($thread['threadid'], $link); $page['trackedParams'] = array("visitor" => "" . $visitor['visitorid']); $page['trackedParamsLink'] = add_params($webimroot . "/operator/tracked.php", $page['trackedParams']); - mysql_close($link); + close_connection($link); } $predefinedres = ""; $canned_messages = load_canned_messages($thread['locale'], $thread['groupid']); @@ -494,7 +494,7 @@ function ping_thread($thread, $isuser, $istyping) if ($thread['istate'] == $state_loading && $isuser) { $params['istate'] = $state_queue; commit_thread($thread['threadid'], $params, $link); - mysql_close($link); + close_connection($link); return; } @@ -510,13 +510,13 @@ function ping_thread($thread, $isuser, $istyping) $params['istate'] = $state_waiting; $params['nextagent'] = 0; commit_thread($thread['threadid'], $params, $link); - mysql_close($link); + close_connection($link); return; } } update_thread_access($thread['threadid'], $params, $link); - mysql_close($link); + close_connection($link); } function commit_thread($threadid, $params, $link) @@ -542,7 +542,7 @@ function rename_user($thread, $newname) post_message_($thread['threadid'], $kind_events, getstring2_("chat.status.user.changedname", array($thread['userName'], $newname), $thread['locale']), $link); } - mysql_close($link); + close_connection($link); } function close_thread($thread, $isuser) @@ -558,7 +558,7 @@ function close_thread($thread, $isuser) $message = $isuser ? getstring2_("chat.status.user.left", array($thread['userName']), $thread['locale']) : getstring2_("chat.status.operator.left", array($thread['agentName']), $thread['locale']); post_message_($thread['threadid'], $kind_events, $message, $link); - mysql_close($link); + close_connection($link); } function thread_by_id_($id, $link) @@ -580,7 +580,7 @@ function thread_by_id($id) { $link = connect(); $thread = thread_by_id_($id, $link); - mysql_close($link); + close_connection($link); return $thread; } @@ -615,7 +615,7 @@ function do_take_thread($threadid, $operatorId, $operatorName) "nextagent" => 0, "agentId" => $operatorId, "agentName" => "'" . mysql_real_escape_string($operatorName, $link) . "'"), $link); - mysql_close($link); + close_connection($link); } function reopen_thread($threadid) @@ -636,7 +636,7 @@ function reopen_thread($threadid) } post_message_($thread['threadid'], $kind_events, getstring_("chat.status.user.reopenedthread", $thread['locale']), $link); - mysql_close($link); + close_connection($link); return $thread; } @@ -746,4 +746,4 @@ function get_remote_host() return isset($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : $extAddr; } -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index 43c53e77..46f43cea 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -687,7 +687,7 @@ function loadsettings() if (!$settingsloaded) { $link = connect(); loadsettings_($link); - mysql_close($link); + close_connection($link); } } diff --git a/src/messenger/webim/libs/getcode.php b/src/messenger/webim/libs/getcode.php index 64f3b13f..475ec3c6 100644 --- a/src/messenger/webim/libs/getcode.php +++ b/src/messenger/webim/libs/getcode.php @@ -84,7 +84,7 @@ function get_groups_list() if ($settings['enablegroups'] == '1') { $link = connect(); $allgroups = get_all_groups($link); - mysql_close($link); + close_connection($link); $result[] = array('groupid' => '', 'vclocalname' => getlocal("page.gen_button.default_group")); foreach ($allgroups as $g) { $result[] = $g; diff --git a/src/messenger/webim/libs/groups.php b/src/messenger/webim/libs/groups.php index 27beb5fe..1a02c3f8 100644 --- a/src/messenger/webim/libs/groups.php +++ b/src/messenger/webim/libs/groups.php @@ -25,7 +25,7 @@ function group_by_id($id) $link = connect(); $group = select_one_row( "select * from ${mysqlprefix}chatgroup where groupid = $id", $link); - mysql_close($link); + close_connection($link); return $group; } @@ -66,4 +66,4 @@ function get_operator_groupslist($operatorid, $link) } } -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/libs/operator.php b/src/messenger/webim/libs/operator.php index ecfed251..0e130892 100755 --- a/src/messenger/webim/libs/operator.php +++ b/src/messenger/webim/libs/operator.php @@ -39,7 +39,7 @@ function operator_by_login($login) $link = connect(); $operator = select_one_row( "select * from ${mysqlprefix}chatoperator where vclogin = '" . mysql_real_escape_string($login) . "'", $link); - mysql_close($link); + close_connection($link); return $operator; } @@ -49,7 +49,7 @@ function operator_by_email($mail) $link = connect(); $operator = select_one_row( "select * from ${mysqlprefix}chatoperator where vcemail = '" . mysql_real_escape_string($mail) . "'", $link); - mysql_close($link); + close_connection($link); return $operator; } @@ -64,7 +64,7 @@ function operator_by_id($id) { $link = connect(); $operator = operator_by_id_($id, $link); - mysql_close($link); + close_connection($link); return $operator; } @@ -76,7 +76,7 @@ function operator_get_all() $query = "select operatorid, vclogin, vclocalename, vccommonname, istatus, (unix_timestamp(CURRENT_TIMESTAMP)-unix_timestamp(dtmlastvisited)) as time " . "from ${mysqlprefix}chatoperator order by vclogin"; $operators = select_multi_assoc($query, $link); - mysql_close($link); + close_connection($link); return $operators; } @@ -115,7 +115,7 @@ function update_operator($operatorid, $login, $email, $password, $localename, $c $operatorid); perform_query($query, $link); - mysql_close($link); + close_connection($link); // update the session password if (isset($password)) { @@ -133,7 +133,7 @@ function update_operator_avatar($operatorid, $avatar) mysql_real_escape_string($avatar), $operatorid); perform_query($query, $link); - mysql_close($link); + close_connection($link); } function create_operator_($login, $email, $password, $localename, $commonname, $avatar, $link) @@ -158,7 +158,7 @@ function create_operator($login, $email, $password, $localename, $commonname, $a { $link = connect(); $newop = create_operator_($login, $email, $password, $localename, $commonname, $avatar, $link); - mysql_close($link); + close_connection($link); return $newop; } @@ -167,7 +167,7 @@ function notify_operator_alive($operatorid, $istatus) global $mysqlprefix; $link = connect(); perform_query("update ${mysqlprefix}chatoperator set istatus = $istatus, dtmlastvisited = CURRENT_TIMESTAMP where operatorid = $operatorid", $link); - mysql_close($link); + close_connection($link); } function has_online_operators($groupid = "") @@ -183,7 +183,7 @@ function has_online_operators($groupid = "") $query .= " where istatus = 0"; } $row = select_one_row($query, $link); - mysql_close($link); + close_connection($link); return $row['time'] < $settings['online_timeout'] && $row['total'] > 0; } @@ -310,7 +310,7 @@ function setup_redirect_links($threadid, $token) "${mysqlprefix}chatoperator", array(), "order by vclogin $limit"), $link); $groups = array_slice($groups, $p['start'], $p['end'] - $p['start']); - mysql_close($link); + close_connection($link); $agent_list = ""; $params = array('thread' => $threadid, 'token' => $token); @@ -418,7 +418,7 @@ function get_operator_groupids($operatorid) $link = connect(); $query = "select groupid from ${mysqlprefix}chatgroupoperator where operatorid = $operatorid"; $result = select_multi_assoc($query, $link); - mysql_close($link); + close_connection($link); return $result; } diff --git a/src/messenger/webim/libs/settings.php b/src/messenger/webim/libs/settings.php index 24fbbf6e..9b5f1fd2 100644 --- a/src/messenger/webim/libs/settings.php +++ b/src/messenger/webim/libs/settings.php @@ -31,7 +31,7 @@ function update_settings() perform_query($query, $link); } - mysql_close($link); + close_connection($link); } function setup_settings_tabs($active) @@ -45,4 +45,4 @@ function setup_settings_tabs($active) ); } -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/mail.php b/src/messenger/webim/mail.php index d79d23a3..bfe7166d 100644 --- a/src/messenger/webim/mail.php +++ b/src/messenger/webim/mail.php @@ -66,7 +66,7 @@ $body = getstring2("mail.user.history.body", array($thread['userName'],$history) $link = connect(); webim_mail($email, $webim_mailbox, $subject, $body, $link); -mysql_close($link); +close_connection($link); setup_logo(); expand("styles", getchatstyle(), "mailsent.tpl"); diff --git a/src/messenger/webim/operator/ban.php b/src/messenger/webim/operator/ban.php index 8aee9b76..6e1edb2a 100644 --- a/src/messenger/webim/operator/ban.php +++ b/src/messenger/webim/operator/ban.php @@ -52,7 +52,7 @@ if (isset($_POST['address'])) { $link = connect(); $existing_ban = ban_for_addr_($address, $link); - mysql_close($link); + close_connection($link); if ((!$banId && $existing_ban) || ($banId && $existing_ban && $banId != $existing_ban['banid'])) { @@ -77,7 +77,7 @@ if (isset($_POST['address'])) { mysql_real_escape_string($comment, $link)); perform_query($query, $link); } - mysql_close($link); + close_connection($link); if (!$threadid) { header("Location: $webimroot/operator/blocked.php"); @@ -97,7 +97,7 @@ if (isset($_POST['address'])) { $banId = verifyparam('id', "/^\d{1,9}$/"); $link = connect(); $ban = select_one_row("select banid,(unix_timestamp(dtmtill)-unix_timestamp(CURRENT_TIMESTAMP)) as days,address,comment from ${mysqlprefix}chatban where banid = $banId", $link); - mysql_close($link); + close_connection($link); if ($ban) { $page['banId'] = topage($ban['banid']); @@ -122,4 +122,4 @@ prepare_menu($operator, false); start_html_output(); require('../view/ban.php'); exit; -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/blocked.php b/src/messenger/webim/operator/blocked.php index 80f5329f..abbdc80e 100644 --- a/src/messenger/webim/operator/blocked.php +++ b/src/messenger/webim/operator/blocked.php @@ -55,7 +55,7 @@ while ($ban = mysql_fetch_array($result, MYSQL_ASSOC)) { } mysql_free_result($result); -mysql_close($link); +close_connection($link); setup_pagination($blockedList); @@ -64,4 +64,4 @@ start_html_output(); require('../view/blocked_visitors.php'); exit; -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/canned.php b/src/messenger/webim/operator/canned.php index c665ddf0..eee6d7a5 100644 --- a/src/messenger/webim/operator/canned.php +++ b/src/messenger/webim/operator/canned.php @@ -61,7 +61,7 @@ function load_canned_messages($locale, $groupid) $result = select_multi_assoc($query, $link); } } - mysql_close($link); + close_connection($link); return $result; } @@ -94,7 +94,7 @@ if ($settings['enablegroups'] == '1') { $link = connect(); $allgroups = get_all_groups($link); - mysql_close($link); + close_connection($link); $page['groups'] = array(); $page['groups'][] = array('groupid' => '', 'vclocalname' => getlocal("page.gen_button.default_group")); foreach ($allgroups as $g) { @@ -114,7 +114,7 @@ if (isset($_GET['act']) && $_GET['act'] == 'delete') { if (count($errors) == 0) { $link = connect(); perform_query("delete from ${mysqlprefix}chatresponses where id = $key", $link); - mysql_close($link); + close_connection($link); header("Location: $webimroot/operator/canned.php?lang=$lang&group=$groupid"); exit; } diff --git a/src/messenger/webim/operator/cannededit.php b/src/messenger/webim/operator/cannededit.php index 6d208aff..bdb128c4 100644 --- a/src/messenger/webim/operator/cannededit.php +++ b/src/messenger/webim/operator/cannededit.php @@ -28,7 +28,7 @@ function load_message($key) global $mysqlprefix; $link = connect(); $result = select_one_row("select vcvalue from ${mysqlprefix}chatresponses where id = $key", $link); - mysql_close($link); + close_connection($link); return $result ? $result['vcvalue'] : null; } @@ -38,7 +38,7 @@ function save_message($key, $message) $link = connect(); perform_query("update ${mysqlprefix}chatresponses set vcvalue = '" . mysql_real_escape_string($message, $link) . "' " . "where id = $key", $link); - mysql_close($link); + close_connection($link); } function add_message($locale, $groupid, $message) @@ -48,7 +48,7 @@ function add_message($locale, $groupid, $message) perform_query("insert into ${mysqlprefix}chatresponses (locale,groupid,vcvalue) values ('$locale'," . ($groupid ? "$groupid, " : "null, ") . "'" . mysql_real_escape_string($message, $link) . "')", $link); - mysql_close($link); + close_connection($link); } $operator = check_login(); @@ -101,4 +101,4 @@ prepare_menu($operator, false); start_html_output(); require('../view/cannededit.php'); exit; -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/group.php b/src/messenger/webim/operator/group.php index 745c46b8..eedca5eb 100644 --- a/src/messenger/webim/operator/group.php +++ b/src/messenger/webim/operator/group.php @@ -35,7 +35,7 @@ function group_by_name($name) $link = connect(); $group = select_one_row( "select * from ${mysqlprefix}chatgroup where vclocalname = '" . mysql_real_escape_string($name) . "'", $link); - mysql_close($link); + close_connection($link); return $group; } @@ -55,7 +55,7 @@ function create_group($name, $descr, $commonname, $commondescr, $email) $id = mysql_insert_id($link); $newdep = select_one_row("select * from ${mysqlprefix}chatgroup where groupid = $id", $link); - mysql_close($link); + close_connection($link); return $newdep; } @@ -73,7 +73,7 @@ function update_group($groupid, $name, $descr, $commonname, $commondescr, $email $groupid); perform_query($query, $link); - mysql_close($link); + close_connection($link); } diff --git a/src/messenger/webim/operator/groupmembers.php b/src/messenger/webim/operator/groupmembers.php index 6a717ae0..00991776 100644 --- a/src/messenger/webim/operator/groupmembers.php +++ b/src/messenger/webim/operator/groupmembers.php @@ -31,7 +31,7 @@ function get_group_members($groupid) $link = connect(); $query = "select operatorid from ${mysqlprefix}chatgroupoperator where groupid = $groupid"; $result = select_multi_assoc($query, $link); - mysql_close($link); + close_connection($link); return $result; } @@ -43,7 +43,7 @@ function update_group_members($groupid, $newvalue) foreach ($newvalue as $opid) { perform_query("insert into ${mysqlprefix}chatgroupoperator (groupid, operatorid) values ($groupid,$opid)", $link); } - mysql_close($link); + close_connection($link); } function get_operators() @@ -53,7 +53,7 @@ function get_operators() $query = "select * from ${mysqlprefix}chatoperator order by vclogin"; $result = select_multi_assoc($query, $link); - mysql_close($link); + close_connection($link); return $result; } @@ -93,4 +93,4 @@ prepare_menu($operator); setup_group_settings_tabs($groupid, 1); start_html_output(); require('../view/groupmembers.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/groups.php b/src/messenger/webim/operator/groups.php index af0ae20a..b6ae2bfe 100644 --- a/src/messenger/webim/operator/groups.php +++ b/src/messenger/webim/operator/groups.php @@ -41,7 +41,7 @@ if (isset($_GET['act']) && $_GET['act'] == 'del') { perform_query("delete from ${mysqlprefix}chatgroup where groupid = $groupid", $link); perform_query("delete from ${mysqlprefix}chatgroupoperator where groupid = $groupid", $link); perform_query("update ${mysqlprefix}chatthread set groupid = 0 where groupid = $groupid", $link); - mysql_close($link); + close_connection($link); header("Location: $webimroot/operator/groups.php"); exit; } @@ -63,10 +63,10 @@ function is_away($group) $page = array(); $link = connect(); $page['groups'] = get_groups($link, true); -mysql_close($link); +close_connection($link); $page['canmodify'] = is_capable($can_administrate, $operator); prepare_menu($operator); start_html_output(); require('../view/groups.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/history.php b/src/messenger/webim/operator/history.php index 015ce66d..2ff373a8 100644 --- a/src/messenger/webim/operator/history.php +++ b/src/messenger/webim/operator/history.php @@ -60,7 +60,7 @@ if ($query !== false) { "order by created DESC", "DISTINCT ${mysqlprefix}chatthread.dtmcreated", $link); - mysql_close($link); + close_connection($link); $page['formq'] = topage($query); } else { diff --git a/src/messenger/webim/operator/index.php b/src/messenger/webim/operator/index.php index 244fc239..d9acd6c4 100644 --- a/src/messenger/webim/operator/index.php +++ b/src/messenger/webim/operator/index.php @@ -28,7 +28,7 @@ force_password($operator); $link = connect(); loadsettings_($link); $isonline = is_operator_online($operator['operatorid'], $link); -mysql_close($link); +close_connection($link); $page = array( 'version' => $version, diff --git a/src/messenger/webim/operator/invitationstate.php b/src/messenger/webim/operator/invitationstate.php index 191ceeb6..d9bfde45 100644 --- a/src/messenger/webim/operator/invitationstate.php +++ b/src/messenger/webim/operator/invitationstate.php @@ -33,7 +33,7 @@ $errors = array(); $link = connect(); $invitation = invitation_state($visitorid, $link); -mysql_close($link); +close_connection($link); start_xml_output(); echo ''; diff --git a/src/messenger/webim/operator/invite.php b/src/messenger/webim/operator/invite.php index 17c35504..5c118607 100644 --- a/src/messenger/webim/operator/invite.php +++ b/src/messenger/webim/operator/invite.php @@ -33,7 +33,7 @@ $link = connect(); if (!invitation_invite($visitorid, $operator['operatorid'], $link)) { die("Invitation failed!"); } -mysql_close($link); +close_connection($link); $page = array(); $page['visitor'] = $visitorid; diff --git a/src/messenger/webim/operator/operators.php b/src/messenger/webim/operator/operators.php index eeb01e37..47937d35 100644 --- a/src/messenger/webim/operator/operators.php +++ b/src/messenger/webim/operator/operators.php @@ -54,7 +54,7 @@ if (isset($_GET['act']) && $_GET['act'] == 'del') { $link = connect(); perform_query("delete from ${mysqlprefix}chatgroupoperator where operatorid = $operatorid", $link); perform_query("delete from ${mysqlprefix}chatoperator where operatorid = $operatorid", $link); - mysql_close($link); + close_connection($link); header("Location: $webimroot/operator/operators.php"); exit; diff --git a/src/messenger/webim/operator/opgroups.php b/src/messenger/webim/operator/opgroups.php index c821d5dc..26018736 100644 --- a/src/messenger/webim/operator/opgroups.php +++ b/src/messenger/webim/operator/opgroups.php @@ -33,7 +33,7 @@ function update_operator_groups($operatorid, $newvalue) foreach ($newvalue as $groupid) { perform_query("insert into ${mysqlprefix}chatgroupoperator (groupid, operatorid) values ($groupid,$operatorid)", $link); } - mysql_close($link); + close_connection($link); } @@ -41,7 +41,7 @@ $opId = verifyparam("op", "/^\d{1,9}$/"); $page = array('opid' => $opId); $link = connect(); $page['groups'] = get_all_groups($link); -mysql_close($link); +close_connection($link); $errors = array(); $canmodify = ($opId == $operator['operatorid'] && is_capable($can_modifyprofile, $operator)) @@ -87,4 +87,4 @@ prepare_menu($operator); setup_operator_settings_tabs($opId, 2); start_html_output(); require('../view/operator_groups.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/permissions.php b/src/messenger/webim/operator/permissions.php index 308f3957..00713e2c 100644 --- a/src/messenger/webim/operator/permissions.php +++ b/src/messenger/webim/operator/permissions.php @@ -32,7 +32,7 @@ function update_operator_permissions($operatorid, $newvalue) $query = "update ${mysqlprefix}chatoperator set iperm = $newvalue where operatorid = $operatorid"; perform_query($query, $link); - mysql_close($link); + close_connection($link); } $opId = verifyparam("op", "/^\d{1,9}$/"); @@ -89,4 +89,4 @@ prepare_menu($operator); setup_operator_settings_tabs($opId, 3); start_html_output(); require('../view/permissions.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/redirect.php b/src/messenger/webim/operator/redirect.php index 2397477c..bb27d0eb 100644 --- a/src/messenger/webim/operator/redirect.php +++ b/src/messenger/webim/operator/redirect.php @@ -51,7 +51,7 @@ if (isset($_GET['nextGroup'])) { post_message_($thread['threadid'], $kind_events, getstring2_("chat.status.operator.redirect", array(get_operator_name($operator)), $thread['locale']), $link); - mysql_close($link); + close_connection($link); } else { $errors[] = getlocal("chat.redirect.cannot"); } @@ -77,7 +77,7 @@ if (isset($_GET['nextGroup'])) { post_message_($thread['threadid'], $kind_events, getstring2_("chat.status.operator.redirect", array(get_operator_name($operator)), $thread['locale']), $link); - mysql_close($link); + close_connection($link); } else { $errors[] = getlocal("chat.redirect.cannot"); } diff --git a/src/messenger/webim/operator/resetpwd.php b/src/messenger/webim/operator/resetpwd.php index 285f909e..84dfe4f5 100644 --- a/src/messenger/webim/operator/resetpwd.php +++ b/src/messenger/webim/operator/resetpwd.php @@ -55,7 +55,7 @@ if (count($errors) == 0 && isset($_POST['password'])) { $link = connect(); $query = "update ${mysqlprefix}chatoperator set vcpassword = '" . md5($password) . "', vcrestoretoken = '' where operatorid = " . $opId; perform_query($query, $link); - mysql_close($link); + close_connection($link); start_html_output(); require('../view/resetpwd.php'); @@ -68,4 +68,4 @@ $page['token'] = $token; $page['isdone'] = false; start_html_output(); require('../view/resetpwd.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/restore.php b/src/messenger/webim/operator/restore.php index 37c392fd..3bc19dc3 100644 --- a/src/messenger/webim/operator/restore.php +++ b/src/messenger/webim/operator/restore.php @@ -50,7 +50,7 @@ if (isset($_POST['loginoremail'])) { $href = get_app_location(true, false) . "/operator/resetpwd.php?id=" . $torestore['operatorid'] . "&token=$token"; webim_mail($email, $email, getstring("restore.mailsubj"), getstring2("restore.mailtext", array(get_operator_name($torestore), $href)), $link); - mysql_close($link); + close_connection($link); $page['isdone'] = true; require('../view/restore.php'); @@ -64,4 +64,4 @@ $page['localeLinks'] = get_locale_links("$webimroot/operator/restore.php"); $page['isdone'] = false; start_html_output(); require('../view/restore.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/statistics.php b/src/messenger/webim/operator/statistics.php index dc5b0af2..1cd2dc03 100644 --- a/src/messenger/webim/operator/statistics.php +++ b/src/messenger/webim/operator/statistics.php @@ -82,7 +82,7 @@ $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT( $page['showresults'] = count($errors) == 0; -mysql_close($link); +close_connection($link); prepare_menu($operator); start_html_output(); diff --git a/src/messenger/webim/operator/threadprocessor.php b/src/messenger/webim/operator/threadprocessor.php index 158e63ae..1d979f70 100644 --- a/src/messenger/webim/operator/threadprocessor.php +++ b/src/messenger/webim/operator/threadprocessor.php @@ -40,7 +40,7 @@ function thread_info($id) "vclocalname as groupName " . "from ${mysqlprefix}chatthread left join ${mysqlprefix}chatgroup on ${mysqlprefix}chatthread.groupid = ${mysqlprefix}chatgroup.groupid " . "where threadid = " . $id, $link); - mysql_close($link); + close_connection($link); return $thread; } @@ -55,4 +55,4 @@ if (isset($_GET['threadid'])) { prepare_menu($operator, false); start_html_output(); require('../view/thread_log.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/tracked.php b/src/messenger/webim/operator/tracked.php index 91d63c88..9b6f8565 100644 --- a/src/messenger/webim/operator/tracked.php +++ b/src/messenger/webim/operator/tracked.php @@ -53,7 +53,7 @@ else { die("Wrong visitor!"); } } -mysql_close($link); +close_connection($link); $path = track_retrieve_path($visitor); diff --git a/src/messenger/webim/operator/update.php b/src/messenger/webim/operator/update.php index b23e6cdf..b63999d5 100644 --- a/src/messenger/webim/operator/update.php +++ b/src/messenger/webim/operator/update.php @@ -142,7 +142,7 @@ function print_pending_threads($groupids, $since) $revision = $row['lrevision']; } - mysql_close($link); + close_connection($link); echo ""; foreach ($output as $thr) { @@ -246,7 +246,7 @@ function print_visitors() $output[] = $visitor; } - mysql_close($link); + close_connection($link); echo ""; foreach ($output as $thr) { @@ -265,7 +265,7 @@ loadsettings_($link); if (!isset($_SESSION["${mysqlprefix}operatorgroups"])) { $_SESSION["${mysqlprefix}operatorgroups"] = get_operator_groupslist($operator['operatorid'], $link); } -mysql_close($link); +close_connection($link); $groupids = $_SESSION["${mysqlprefix}operatorgroups"]; start_xml_output(); @@ -281,4 +281,4 @@ echo ''; notify_operator_alive($operator['operatorid'], $status); exit; -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/userhistory.php b/src/messenger/webim/operator/userhistory.php index 20926b42..41b66845 100644 --- a/src/messenger/webim/operator/userhistory.php +++ b/src/messenger/webim/operator/userhistory.php @@ -58,7 +58,7 @@ function threads_by_userid($userid) } mysql_free_result($result); - mysql_close($link); + close_connection($link); return $foundThreads; } @@ -68,4 +68,4 @@ prepare_menu($operator); setup_pagination($found, 6); start_html_output(); require('../view/userhistory.php'); -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/operator/users.php b/src/messenger/webim/operator/users.php index c73fb037..55a730bf 100644 --- a/src/messenger/webim/operator/users.php +++ b/src/messenger/webim/operator/users.php @@ -33,7 +33,7 @@ notify_operator_alive($operator['operatorid'], $status); $link = connect(); loadsettings_($link); $_SESSION["${mysqlprefix}operatorgroups"] = get_operator_groupslist($operator['operatorid'], $link); -mysql_close($link); +close_connection($link); $page = array(); $page['havemenu'] = isset($_GET['nomenu']) ? "0" : "1"; diff --git a/src/messenger/webim/thread.php b/src/messenger/webim/thread.php index 00b23a1a..b117ce9c 100644 --- a/src/messenger/webim/thread.php +++ b/src/messenger/webim/thread.php @@ -82,7 +82,7 @@ if( $act == "refresh" ) { if($isuser && $thread["shownmessageid"] == 0) { commit_thread( $thread['threadid'], array('shownmessageid' => $postedid), $link); } - mysql_close($link); + close_connection($link); print_thread_messages($thread, $token, $lastid, $isuser, $outformat, $isuser ? null : $operator['operatorid']); exit; From a47e66a6a637b23f02eed48c132968d6ff7a33aa Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 18:42:37 +0000 Subject: [PATCH 04/40] Added wrapper function for mysql_real_escape_string --- src/messenger/webim/libs/common.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index 46f43cea..dbe9e24c 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -371,6 +371,14 @@ function close_connection($link) } } +function db_escape_string($string, $link = NULL) +{ + if ( is_null($link) ) { + return mysql_real_escape_string($string); + } + return mysql_real_escape_string($string, $link); +} + function perform_query($query, $link) { mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); From 5a3af46203ead89242f9f2fcf53de85ff798e0c2 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 18:59:07 +0000 Subject: [PATCH 05/40] Replaced all mysql_real_escape_string by db_escape_string --- src/messenger/webim/libs/chat.php | 24 ++++++++++----------- src/messenger/webim/libs/invitation.php | 10 ++++----- src/messenger/webim/libs/notify.php | 2 +- src/messenger/webim/libs/operator.php | 24 ++++++++++----------- src/messenger/webim/libs/settings.php | 2 +- src/messenger/webim/libs/track.php | 12 +++++------ src/messenger/webim/operator/ban.php | 8 +++---- src/messenger/webim/operator/canned.php | 2 +- src/messenger/webim/operator/cannededit.php | 4 ++-- src/messenger/webim/operator/group.php | 22 +++++++++---------- src/messenger/webim/operator/history.php | 2 +- 11 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index dc383cd6..97b66411 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -70,8 +70,8 @@ function post_message_($threadid, $kind, $message, $link, $from = null, $utime = "insert into ${mysqlprefix}chatmessage (threadid,ikind,tmessage,tname,agentId,dtmcreated) values (%s, %s,'%s',%s,%s,%s)", $threadid, $kind, - mysql_real_escape_string($message, $link), - $from ? "'" . mysql_real_escape_string($from, $link) . "'" : "null", + db_escape_string($message, $link), + $from ? "'" . db_escape_string($from, $link) . "'" : "null", $opid ? $opid : "0", $utime ? "FROM_UNIXTIME($utime)" : "CURRENT_TIMESTAMP"); @@ -536,7 +536,7 @@ function rename_user($thread, $newname) global $kind_events; $link = connect(); - commit_thread($thread['threadid'], array('userName' => "'" . mysql_real_escape_string($newname, $link) . "'"), $link); + commit_thread($thread['threadid'], array('userName' => "'" . db_escape_string($newname, $link) . "'"), $link); if ($thread['userName'] != $newname) { post_message_($thread['threadid'], $kind_events, @@ -573,7 +573,7 @@ function thread_by_id_($id, $link) function ban_for_addr_($addr, $link) { global $mysqlprefix; - return select_one_row("select banid,comment from ${mysqlprefix}chatban where unix_timestamp(dtmtill) > unix_timestamp(CURRENT_TIMESTAMP) AND address = '" . mysql_real_escape_string($addr, $link) . "'", $link); + return select_one_row("select banid,comment from ${mysqlprefix}chatban where unix_timestamp(dtmtill) > unix_timestamp(CURRENT_TIMESTAMP) AND address = '" . db_escape_string($addr, $link) . "'", $link); } function thread_by_id($id) @@ -590,14 +590,14 @@ function create_thread($groupid, $username, $remoteHost, $referer, $lang, $useri $query = sprintf( "insert into ${mysqlprefix}chatthread (userName,userid,ltoken,remote,referer,lrevision,locale,userAgent,dtmcreated,dtmmodified,istate" . ($groupid ? ",groupid" : "") . ") values " . "('%s','%s',%s,'%s','%s',%s,'%s','%s',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,$initialState" . ($groupid ? ",$groupid" : "") . ")", - mysql_real_escape_string($username, $link), - mysql_real_escape_string($userid, $link), + db_escape_string($username, $link), + db_escape_string($userid, $link), next_token(), - mysql_real_escape_string($remoteHost, $link), - mysql_real_escape_string($referer, $link), + db_escape_string($remoteHost, $link), + db_escape_string($referer, $link), next_revision($link), - mysql_real_escape_string($lang, $link), - mysql_real_escape_string($userbrowser, $link)); + db_escape_string($lang, $link), + db_escape_string($userbrowser, $link)); perform_query($query, $link); $id = mysql_insert_id($link); @@ -614,7 +614,7 @@ function do_take_thread($threadid, $operatorId, $operatorName) array("istate" => $state_chatting, "nextagent" => 0, "agentId" => $operatorId, - "agentName" => "'" . mysql_real_escape_string($operatorName, $link) . "'"), $link); + "agentName" => "'" . db_escape_string($operatorName, $link) . "'"), $link); close_connection($link); } @@ -704,7 +704,7 @@ function check_connections_from_remote($remote, $link) } $result = select_one_row( "select count(*) as opened from ${mysqlprefix}chatthread " . - "where remote = '" . mysql_real_escape_string($remote, $link) . "' AND istate <> $state_closed AND istate <> $state_left", $link); + "where remote = '" . db_escape_string($remote, $link) . "' AND istate <> $state_closed AND istate <> $state_left", $link); if ($result && isset($result['opened'])) { return $result['opened'] < $settings['max_connections_from_one_host']; } diff --git a/src/messenger/webim/libs/invitation.php b/src/messenger/webim/libs/invitation.php index 6b65c33d..5a27af92 100644 --- a/src/messenger/webim/libs/invitation.php +++ b/src/messenger/webim/libs/invitation.php @@ -22,7 +22,7 @@ function invitation_state($visitorid, $link) { global $mysqlprefix; - $query = "select invited, threadid from ${mysqlprefix}chatsitevisitor where visitorid = '" . mysql_real_escape_string($visitorid) . "'"; + $query = "select invited, threadid from ${mysqlprefix}chatsitevisitor where visitorid = '" . db_escape_string($visitorid) . "'"; $result = select_one_row($query, $link); if (!$result) { $result['invited'] = 0; @@ -36,7 +36,7 @@ function invitation_invite($visitorid, $operatorid, $link) global $mysqlprefix; if (!invitation_check($visitorid, $link)) { - $query = "update ${mysqlprefix}chatsitevisitor set invited = 1, invitedby = '" . mysql_real_escape_string($operatorid) . "', invitationtime = now(), invitations = invitations + 1 where visitorid = '" . mysql_real_escape_string($visitorid) . "'"; + $query = "update ${mysqlprefix}chatsitevisitor set invited = 1, invitedby = '" . db_escape_string($operatorid) . "', invitationtime = now(), invitations = invitations + 1 where visitorid = '" . db_escape_string($visitorid) . "'"; perform_query($query, $link); return invitation_check($visitorid, $link); } @@ -49,7 +49,7 @@ function invitation_check($visitorid, $link) { global $mysqlprefix; - $query = "select invitedby from ${mysqlprefix}chatsitevisitor where invited and visitorid = '" . mysql_real_escape_string($visitorid) . "'" . + $query = "select invitedby from ${mysqlprefix}chatsitevisitor where invited and visitorid = '" . db_escape_string($visitorid) . "'" . " and lasttime < invitationtime and threadid is null"; $result = select_one_row($query, $link); @@ -60,10 +60,10 @@ function invitation_accept($visitorid, $threadid, $link) { global $mysqlprefix; - $query = "update ${mysqlprefix}chatsitevisitor set threadid = " . $threadid . ", chats = chats + 1 where visitorid = '" . mysql_real_escape_string($visitorid) . "'"; + $query = "update ${mysqlprefix}chatsitevisitor set threadid = " . $threadid . ", chats = chats + 1 where visitorid = '" . db_escape_string($visitorid) . "'"; perform_query($query, $link); - $query = "select invitedby from ${mysqlprefix}chatsitevisitor where visitorid = '" . mysql_real_escape_string($visitorid) . "'"; + $query = "select invitedby from ${mysqlprefix}chatsitevisitor where visitorid = '" . db_escape_string($visitorid) . "'"; $result = select_one_row($query, $link); if ($result && isset($result['invitedby']) && $result['invitedby']) { diff --git a/src/messenger/webim/libs/notify.php b/src/messenger/webim/libs/notify.php index acbf2c61..370d2dae 100644 --- a/src/messenger/webim/libs/notify.php +++ b/src/messenger/webim/libs/notify.php @@ -35,4 +35,4 @@ function webim_mail($toaddr, $reply_to, $subject, $body, $link) @mail($toaddr, $real_subject, wordwrap(myiconv($webim_encoding, $mail_encoding, $body), 70), $headers); } -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/libs/operator.php b/src/messenger/webim/libs/operator.php index 0e130892..eea6f5c9 100755 --- a/src/messenger/webim/libs/operator.php +++ b/src/messenger/webim/libs/operator.php @@ -38,7 +38,7 @@ function operator_by_login($login) global $mysqlprefix; $link = connect(); $operator = select_one_row( - "select * from ${mysqlprefix}chatoperator where vclogin = '" . mysql_real_escape_string($login) . "'", $link); + "select * from ${mysqlprefix}chatoperator where vclogin = '" . db_escape_string($login) . "'", $link); close_connection($link); return $operator; } @@ -48,7 +48,7 @@ function operator_by_email($mail) global $mysqlprefix; $link = connect(); $operator = select_one_row( - "select * from ${mysqlprefix}chatoperator where vcemail = '" . mysql_real_escape_string($mail) . "'", $link); + "select * from ${mysqlprefix}chatoperator where vcemail = '" . db_escape_string($mail) . "'", $link); close_connection($link); return $operator; } @@ -106,11 +106,11 @@ function update_operator($operatorid, $login, $email, $password, $localename, $c "update ${mysqlprefix}chatoperator set vclogin = '%s',%s vclocalename = '%s', vccommonname = '%s'" . ", vcemail = '%s', vcjabbername= '%s'" . " where operatorid = %s", - mysql_real_escape_string($login), + db_escape_string($login), ($password ? " vcpassword='" . md5($password) . "'," : ""), - mysql_real_escape_string($localename), - mysql_real_escape_string($commonname), - mysql_real_escape_string($email), + db_escape_string($localename), + db_escape_string($commonname), + db_escape_string($email), '', $operatorid); @@ -130,7 +130,7 @@ function update_operator_avatar($operatorid, $avatar) $link = connect(); $query = sprintf( "update ${mysqlprefix}chatoperator set vcavatar = '%s' where operatorid = %s", - mysql_real_escape_string($avatar), $operatorid); + db_escape_string($avatar), $operatorid); perform_query($query, $link); close_connection($link); @@ -141,12 +141,12 @@ function create_operator_($login, $email, $password, $localename, $commonname, $ global $mysqlprefix; $query = sprintf( "insert into ${mysqlprefix}chatoperator (vclogin,vcpassword,vclocalename,vccommonname,vcavatar,vcemail,vcjabbername) values ('%s','%s','%s','%s','%s','%s','%s')", - mysql_real_escape_string($login), + db_escape_string($login), md5($password), - mysql_real_escape_string($localename), - mysql_real_escape_string($commonname), - mysql_real_escape_string($avatar), - mysql_real_escape_string($email), ''); + db_escape_string($localename), + db_escape_string($commonname), + db_escape_string($avatar), + db_escape_string($email), ''); perform_query($query, $link); $id = mysql_insert_id($link); diff --git a/src/messenger/webim/libs/settings.php b/src/messenger/webim/libs/settings.php index 9b5f1fd2..85680bf8 100644 --- a/src/messenger/webim/libs/settings.php +++ b/src/messenger/webim/libs/settings.php @@ -27,7 +27,7 @@ function update_settings() if (!isset($settings_in_db[$key])) { perform_query("insert into ${mysqlprefix}chatconfig (vckey) values ('$key')", $link); } - $query = sprintf("update ${mysqlprefix}chatconfig set vcvalue='%s' where vckey='$key'", mysql_real_escape_string($value)); + $query = sprintf("update ${mysqlprefix}chatconfig set vcvalue='%s' where vckey='$key'", db_escape_string($value)); perform_query($query, $link); } diff --git a/src/messenger/webim/libs/track.php b/src/messenger/webim/libs/track.php index b6c71a36..d1de91a4 100644 --- a/src/messenger/webim/libs/track.php +++ b/src/messenger/webim/libs/track.php @@ -33,7 +33,7 @@ function track_visitor($visitorid, $entry, $referer, $link) } else { perform_query(sprintf("update ${mysqlprefix}chatsitevisitor set lasttime = CURRENT_TIMESTAMP, path = '%s' where visitorid=" . $visitor['visitorid'], - mysql_real_escape_string(track_build_path($referer, $visitor['path']))), $link); + db_escape_string(track_build_path($referer, $visitor['path']))), $link); return $visitor['visitorid']; } } @@ -45,11 +45,11 @@ function track_visitor_start($entry, $referer, $link) $visitor = visitor_from_request(); perform_query(sprintf("insert into ${mysqlprefix}chatsitevisitor (userid, username, firsttime, lasttime, entry, path, details) values ('%s', '%s', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '%s', '%s', '%s')", - mysql_real_escape_string($visitor['id']), - mysql_real_escape_string($visitor['name']), - mysql_real_escape_string($entry), - mysql_real_escape_string(track_build_path($referer, '')), - mysql_real_escape_string(track_build_details())), $link); + db_escape_string($visitor['id']), + db_escape_string($visitor['name']), + db_escape_string($entry), + db_escape_string(track_build_path($referer, '')), + db_escape_string(track_build_details())), $link); $id = mysql_insert_id($link); return $id ? $id : 0; diff --git a/src/messenger/webim/operator/ban.php b/src/messenger/webim/operator/ban.php index 6e1edb2a..7761e4ec 100644 --- a/src/messenger/webim/operator/ban.php +++ b/src/messenger/webim/operator/ban.php @@ -66,15 +66,15 @@ if (isset($_POST['address'])) { $query = sprintf( "insert into ${mysqlprefix}chatban (dtmcreated,dtmtill,address,comment) values (CURRENT_TIMESTAMP,%s,'%s','%s')", "FROM_UNIXTIME($utime)", - mysql_real_escape_string($address, $link), - mysql_real_escape_string($comment, $link)); + db_escape_string($address, $link), + db_escape_string($comment, $link)); perform_query($query, $link); } else { $query = sprintf( "update ${mysqlprefix}chatban set dtmtill = %s,address = '%s',comment = '%s' where banid = $banId", "FROM_UNIXTIME($utime)", - mysql_real_escape_string($address, $link), - mysql_real_escape_string($comment, $link)); + db_escape_string($address, $link), + db_escape_string($comment, $link)); perform_query($query, $link); } close_connection($link); diff --git a/src/messenger/webim/operator/canned.php b/src/messenger/webim/operator/canned.php index eee6d7a5..df828467 100644 --- a/src/messenger/webim/operator/canned.php +++ b/src/messenger/webim/operator/canned.php @@ -55,7 +55,7 @@ function load_canned_messages($locale, $groupid) if ($i > 0) { $updatequery .= ", "; } - $updatequery .= "('" . mysql_real_escape_string($result[$i]['vcvalue'], $link) . "','$locale', NULL)"; + $updatequery .= "('" . db_escape_string($result[$i]['vcvalue'], $link) . "','$locale', NULL)"; } perform_query($updatequery, $link); $result = select_multi_assoc($query, $link); diff --git a/src/messenger/webim/operator/cannededit.php b/src/messenger/webim/operator/cannededit.php index bdb128c4..399f24d3 100644 --- a/src/messenger/webim/operator/cannededit.php +++ b/src/messenger/webim/operator/cannededit.php @@ -36,7 +36,7 @@ function save_message($key, $message) { global $mysqlprefix; $link = connect(); - perform_query("update ${mysqlprefix}chatresponses set vcvalue = '" . mysql_real_escape_string($message, $link) . "' " . + perform_query("update ${mysqlprefix}chatresponses set vcvalue = '" . db_escape_string($message, $link) . "' " . "where id = $key", $link); close_connection($link); } @@ -47,7 +47,7 @@ function add_message($locale, $groupid, $message) $link = connect(); perform_query("insert into ${mysqlprefix}chatresponses (locale,groupid,vcvalue) values ('$locale'," . ($groupid ? "$groupid, " : "null, ") . - "'" . mysql_real_escape_string($message, $link) . "')", $link); + "'" . db_escape_string($message, $link) . "')", $link); close_connection($link); } diff --git a/src/messenger/webim/operator/group.php b/src/messenger/webim/operator/group.php index eedca5eb..2358e725 100644 --- a/src/messenger/webim/operator/group.php +++ b/src/messenger/webim/operator/group.php @@ -34,7 +34,7 @@ function group_by_name($name) global $mysqlprefix; $link = connect(); $group = select_one_row( - "select * from ${mysqlprefix}chatgroup where vclocalname = '" . mysql_real_escape_string($name) . "'", $link); + "select * from ${mysqlprefix}chatgroup where vclocalname = '" . db_escape_string($name) . "'", $link); close_connection($link); return $group; } @@ -45,11 +45,11 @@ function create_group($name, $descr, $commonname, $commondescr, $email) $link = connect(); $query = sprintf( "insert into ${mysqlprefix}chatgroup (vclocalname,vclocaldescription,vccommonname,vccommondescription,vcemail) values ('%s','%s','%s','%s','%s')", - mysql_real_escape_string($name), - mysql_real_escape_string($descr), - mysql_real_escape_string($commonname), - mysql_real_escape_string($commondescr), - mysql_real_escape_string($email)); + db_escape_string($name), + db_escape_string($descr), + db_escape_string($commonname), + db_escape_string($commondescr), + db_escape_string($email)); perform_query($query, $link); $id = mysql_insert_id($link); @@ -65,11 +65,11 @@ function update_group($groupid, $name, $descr, $commonname, $commondescr, $email $link = connect(); $query = sprintf( "update ${mysqlprefix}chatgroup set vclocalname = '%s', vclocaldescription = '%s', vccommonname = '%s', vccommondescription = '%s', vcemail = '%s' where groupid = %s", - mysql_real_escape_string($name), - mysql_real_escape_string($descr), - mysql_real_escape_string($commonname), - mysql_real_escape_string($commondescr), - mysql_real_escape_string($email), + db_escape_string($name), + db_escape_string($descr), + db_escape_string($commonname), + db_escape_string($commondescr), + db_escape_string($email), $groupid); perform_query($query, $link); diff --git a/src/messenger/webim/operator/history.php b/src/messenger/webim/operator/history.php index 2ff373a8..f028ea83 100644 --- a/src/messenger/webim/operator/history.php +++ b/src/messenger/webim/operator/history.php @@ -47,7 +47,7 @@ if ($query !== false) { mysql_free_result($result); $page['groupName'] = $groupName; - $escapedQuery = mysql_real_escape_string($query, $link); + $escapedQuery = db_escape_string($query, $link); select_with_pagintation("DISTINCT unix_timestamp(${mysqlprefix}chatthread.dtmcreated) as created, " . "unix_timestamp(${mysqlprefix}chatthread.dtmmodified) as modified, ${mysqlprefix}chatthread.threadid, " . "${mysqlprefix}chatthread.remote, ${mysqlprefix}chatthread.agentName, ${mysqlprefix}chatthread.userName, groupid, " . From 51f6af7ced37e4980c9c26163199608e1d35832e Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 19:43:49 +0000 Subject: [PATCH 06/40] Added wrapper function for mysql_error --- src/messenger/webim/libs/common.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index dbe9e24c..cafdb61c 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -379,6 +379,11 @@ function db_escape_string($string, $link = NULL) return mysql_real_escape_string($string, $link); } +function db_error($link) +{ + return mysql_error($link); +} + function perform_query($query, $link) { mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); From 3e5834983ffb40c4b67e84a887d0f2f061799716 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 20:10:04 +0000 Subject: [PATCH 07/40] Replaced all mysql_error by db_error except for the directory /install --- src/messenger/webim/libs/common.php | 10 +++++----- src/messenger/webim/operator/blocked.php | 2 +- src/messenger/webim/operator/userhistory.php | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index cafdb61c..b1e34cad 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -386,12 +386,12 @@ function db_error($link) function perform_query($query, $link) { - mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); + mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); } function select_one_row($query, $link) { - $result = mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); + $result = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); $line = mysql_fetch_array($result, MYSQL_ASSOC); mysql_free_result($result); return $line; @@ -399,7 +399,7 @@ function select_one_row($query, $link) function select_multi_assoc($query, $link) { - $sqlresult = mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); + $sqlresult = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); $result = array(); while ($row = mysql_fetch_array($sqlresult, MYSQL_ASSOC)) { @@ -419,7 +419,7 @@ function db_build_select($fields, $table, $conditions, $orderandgroup) function db_rows_count($table, $conditions, $countfields, $link) { $result = mysql_query(db_build_select("count(" . ($countfields ? $countfields : "*") . ")", $table, $conditions, ""), $link) - or die(' Count query failed: ' . mysql_error($link)); + or die(' Count query failed: ' . db_error($link)); $line = mysql_fetch_array($result, MYSQL_NUM); mysql_free_result($result); return $line[0]; @@ -684,7 +684,7 @@ function loadsettings_($link) } $settingsloaded = true; - $sqlresult = mysql_query("select vckey,vcvalue from ${mysqlprefix}chatconfig", $link) or die(' Query failed: ' . mysql_error($link)); + $sqlresult = mysql_query("select vckey,vcvalue from ${mysqlprefix}chatconfig", $link) or die(' Query failed: ' . db_error($link)); while ($row = mysql_fetch_array($sqlresult, MYSQL_ASSOC)) { $name = $row['vckey']; diff --git a/src/messenger/webim/operator/blocked.php b/src/messenger/webim/operator/blocked.php index abbdc80e..4e5d9100 100644 --- a/src/messenger/webim/operator/blocked.php +++ b/src/messenger/webim/operator/blocked.php @@ -47,7 +47,7 @@ if (isset($_GET['act']) && $_GET['act'] == 'del') { } $result = mysql_query("select banid,unix_timestamp(dtmtill) as till,address,comment from ${mysqlprefix}chatban", $link) - or die(' Query failed: ' . mysql_error($link)); + or die(' Query failed: ' . db_error($link)); $blockedList = array(); while ($ban = mysql_fetch_array($result, MYSQL_ASSOC)) { diff --git a/src/messenger/webim/operator/userhistory.php b/src/messenger/webim/operator/userhistory.php index 41b66845..5c6c8db6 100644 --- a/src/messenger/webim/operator/userhistory.php +++ b/src/messenger/webim/operator/userhistory.php @@ -50,7 +50,7 @@ function threads_by_userid($userid) "from ${mysqlprefix}chatthread " . "where userid=\"$userid\" order by created DESC", $userid); - $result = mysql_query($query, $link) or die(' Query failed: ' . mysql_error($link)); + $result = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); $foundThreads = array(); while ($thread = mysql_fetch_array($result, MYSQL_ASSOC)) { From 863f6867c6465a54419a282e4315cfc24c2d9072 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 20:36:51 +0000 Subject: [PATCH 08/40] Added wrapper function for mysql_insert_id --- src/messenger/webim/libs/common.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index b1e34cad..56a7b9f9 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -384,6 +384,11 @@ function db_error($link) return mysql_error($link); } +function db_insert_id($link) +{ + return mysql_insert_id($link); +} + function perform_query($query, $link) { mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); From 720c4472d3ee7372c453db518a684000a1e30027 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 9 Nov 2011 20:57:48 +0000 Subject: [PATCH 09/40] Replaced all mysql_insert_id by db_insert_id --- src/messenger/webim/libs/chat.php | 6 +++--- src/messenger/webim/libs/operator.php | 2 +- src/messenger/webim/libs/track.php | 2 +- src/messenger/webim/operator/group.php | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index 97b66411..04071c89 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -59,7 +59,7 @@ function next_revision($link) { global $mysqlprefix; perform_query("update ${mysqlprefix}chatrevision set id=LAST_INSERT_ID(id+1)", $link); - $val = mysql_insert_id($link); + $val = db_insert_id($link); return $val; } @@ -76,7 +76,7 @@ function post_message_($threadid, $kind, $message, $link, $from = null, $utime = $utime ? "FROM_UNIXTIME($utime)" : "CURRENT_TIMESTAMP"); perform_query($query, $link); - return mysql_insert_id($link); + return db_insert_id($link); } function post_message($threadid, $kind, $message, $from = null, $agentid = null) @@ -600,7 +600,7 @@ function create_thread($groupid, $username, $remoteHost, $referer, $lang, $useri db_escape_string($userbrowser, $link)); perform_query($query, $link); - $id = mysql_insert_id($link); + $id = db_insert_id($link); $newthread = thread_by_id_($id, $link); return $newthread; diff --git a/src/messenger/webim/libs/operator.php b/src/messenger/webim/libs/operator.php index eea6f5c9..a0fea376 100755 --- a/src/messenger/webim/libs/operator.php +++ b/src/messenger/webim/libs/operator.php @@ -149,7 +149,7 @@ function create_operator_($login, $email, $password, $localename, $commonname, $ db_escape_string($email), ''); perform_query($query, $link); - $id = mysql_insert_id($link); + $id = db_insert_id($link); return select_one_row("select * from ${mysqlprefix}chatoperator where operatorid = $id", $link); } diff --git a/src/messenger/webim/libs/track.php b/src/messenger/webim/libs/track.php index d1de91a4..bd3753c1 100644 --- a/src/messenger/webim/libs/track.php +++ b/src/messenger/webim/libs/track.php @@ -51,7 +51,7 @@ function track_visitor_start($entry, $referer, $link) db_escape_string(track_build_path($referer, '')), db_escape_string(track_build_details())), $link); - $id = mysql_insert_id($link); + $id = db_insert_id($link); return $id ? $id : 0; } diff --git a/src/messenger/webim/operator/group.php b/src/messenger/webim/operator/group.php index 2358e725..98397971 100644 --- a/src/messenger/webim/operator/group.php +++ b/src/messenger/webim/operator/group.php @@ -52,7 +52,7 @@ function create_group($name, $descr, $commonname, $commondescr, $email) db_escape_string($email)); perform_query($query, $link); - $id = mysql_insert_id($link); + $id = db_insert_id($link); $newdep = select_one_row("select * from ${mysqlprefix}chatgroup where groupid = $id", $link); close_connection($link); From 20701ad5da948f97f2c9de9ceb72eafd73cf3516 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 11:13:11 +0000 Subject: [PATCH 10/40] Replaced reciving associative arrays from database by select_multi_assoc function --- src/messenger/webim/operator/blocked.php | 9 +-------- src/messenger/webim/operator/userhistory.php | 8 +------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/messenger/webim/operator/blocked.php b/src/messenger/webim/operator/blocked.php index 4e5d9100..3a32d2e1 100644 --- a/src/messenger/webim/operator/blocked.php +++ b/src/messenger/webim/operator/blocked.php @@ -46,15 +46,8 @@ if (isset($_GET['act']) && $_GET['act'] == 'del') { } } -$result = mysql_query("select banid,unix_timestamp(dtmtill) as till,address,comment from ${mysqlprefix}chatban", $link) - or die(' Query failed: ' . db_error($link)); +$blockedList = select_multi_assoc("select banid,unix_timestamp(dtmtill) as till,address,comment from ${mysqlprefix}chatban", $link); -$blockedList = array(); -while ($ban = mysql_fetch_array($result, MYSQL_ASSOC)) { - $blockedList[] = $ban; -} - -mysql_free_result($result); close_connection($link); setup_pagination($blockedList); diff --git a/src/messenger/webim/operator/userhistory.php b/src/messenger/webim/operator/userhistory.php index 5c6c8db6..0914dd93 100644 --- a/src/messenger/webim/operator/userhistory.php +++ b/src/messenger/webim/operator/userhistory.php @@ -50,14 +50,8 @@ function threads_by_userid($userid) "from ${mysqlprefix}chatthread " . "where userid=\"$userid\" order by created DESC", $userid); - $result = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); + $foundThreads = select_multi_assoc($query, $link); - $foundThreads = array(); - while ($thread = mysql_fetch_array($result, MYSQL_ASSOC)) { - $foundThreads[] = $thread; - } - - mysql_free_result($result); close_connection($link); return $foundThreads; } From b22f5456fcabdc53e2e908007d6f89b180d10a63 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 15:14:11 +0000 Subject: [PATCH 11/40] Added wrapper functions for mysql_fetch_assoc and mysql_fetch_row --- src/messenger/webim/libs/common.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index 56a7b9f9..d6192b37 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -389,6 +389,15 @@ function db_insert_id($link) return mysql_insert_id($link); } +function db_fetch_row($result) +{ + return mysql_fetch_row($result); +} + +function db_fetch_assoc($result){ + return mysql_fetch_assoc($result); +} + function perform_query($query, $link) { mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); From 65404ac1d203dc20a1a56f68e973f38daa9513db Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 15:25:46 +0000 Subject: [PATCH 12/40] Replaced all mysql_fetch_array by mysql_fetch_assoc or mysql_fetch_row, except for the directory /install --- src/messenger/webim/libs/common.php | 8 ++++---- src/messenger/webim/operator/history.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index d6192b37..bdf9e735 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -406,7 +406,7 @@ function perform_query($query, $link) function select_one_row($query, $link) { $result = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); - $line = mysql_fetch_array($result, MYSQL_ASSOC); + $line = db_fetch_assoc($result); mysql_free_result($result); return $line; } @@ -416,7 +416,7 @@ function select_multi_assoc($query, $link) $sqlresult = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); $result = array(); - while ($row = mysql_fetch_array($sqlresult, MYSQL_ASSOC)) { + while ($row = db_fetch_assoc($sqlresult)) { $result[] = $row; } mysql_free_result($sqlresult); @@ -434,7 +434,7 @@ function db_rows_count($table, $conditions, $countfields, $link) { $result = mysql_query(db_build_select("count(" . ($countfields ? $countfields : "*") . ")", $table, $conditions, ""), $link) or die(' Count query failed: ' . db_error($link)); - $line = mysql_fetch_array($result, MYSQL_NUM); + $line = db_fetch_row($result); mysql_free_result($result); return $line[0]; } @@ -700,7 +700,7 @@ function loadsettings_($link) $sqlresult = mysql_query("select vckey,vcvalue from ${mysqlprefix}chatconfig", $link) or die(' Query failed: ' . db_error($link)); - while ($row = mysql_fetch_array($sqlresult, MYSQL_ASSOC)) { + while ($row = db_fetch_assoc($sqlresult)) { $name = $row['vckey']; $settings[$name] = $row['vcvalue']; $settings_in_db[$name] = true; diff --git a/src/messenger/webim/operator/history.php b/src/messenger/webim/operator/history.php index f028ea83..e9c53f2b 100644 --- a/src/messenger/webim/operator/history.php +++ b/src/messenger/webim/operator/history.php @@ -41,7 +41,7 @@ if ($query !== false) { $result = mysql_query("select ${mysqlprefix}chatgroup.groupid as groupid, vclocalname " . "from ${mysqlprefix}chatgroup order by vclocalname", $link); $groupName = array(); - while ($group = mysql_fetch_array($result, MYSQL_ASSOC)) { + while ($group = db_fetch_assoc($result)) { $groupName[$group['groupid']] = $group['vclocalname']; } mysql_free_result($result); From 7f31dfa2af082735151e489e08819ede70e662f0 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 16:05:34 +0000 Subject: [PATCH 13/40] Changed perform_query function. It now returns a reference to the query result --- src/messenger/webim/libs/common.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index bdf9e735..ef5916e4 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -400,7 +400,11 @@ function db_fetch_assoc($result){ function perform_query($query, $link) { - mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); + $result = mysql_query($query, $link); + if (! $result) { + die(' Query failed: ' . db_error($link)); + } + return $result; } function select_one_row($query, $link) From 12e7d3492961fb9ea20a60eb2a94371d97f9b61c Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 16:21:23 +0000 Subject: [PATCH 14/40] Replaced all mysql_query by perform_query, except for the directory /install --- src/messenger/webim/libs/common.php | 11 +++++------ src/messenger/webim/operator/history.php | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index ef5916e4..b63303c7 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -358,7 +358,7 @@ function connect() } mysql_select_db($mysqldb, $link) or die('Could not select database'); if ($force_charset_in_connection) { - mysql_query("SET NAMES '$dbencoding'", $link); + perform_query("SET NAMES '$dbencoding'", $link); } return $link; } @@ -409,7 +409,7 @@ function perform_query($query, $link) function select_one_row($query, $link) { - $result = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); + $result = perform_query($query, $link); $line = db_fetch_assoc($result); mysql_free_result($result); return $line; @@ -417,7 +417,7 @@ function select_one_row($query, $link) function select_multi_assoc($query, $link) { - $sqlresult = mysql_query($query, $link) or die(' Query failed: ' . db_error($link)); + $sqlresult = perform_query($query, $link); $result = array(); while ($row = db_fetch_assoc($sqlresult)) { @@ -436,8 +436,7 @@ function db_build_select($fields, $table, $conditions, $orderandgroup) function db_rows_count($table, $conditions, $countfields, $link) { - $result = mysql_query(db_build_select("count(" . ($countfields ? $countfields : "*") . ")", $table, $conditions, ""), $link) - or die(' Count query failed: ' . db_error($link)); + $result = perform_query(db_build_select("count(" . ($countfields ? $countfields : "*") . ")", $table, $conditions, ""), $link); $line = db_fetch_row($result); mysql_free_result($result); return $line[0]; @@ -702,7 +701,7 @@ function loadsettings_($link) } $settingsloaded = true; - $sqlresult = mysql_query("select vckey,vcvalue from ${mysqlprefix}chatconfig", $link) or die(' Query failed: ' . db_error($link)); + $sqlresult = perform_query("select vckey,vcvalue from ${mysqlprefix}chatconfig", $link); while ($row = db_fetch_assoc($sqlresult)) { $name = $row['vckey']; diff --git a/src/messenger/webim/operator/history.php b/src/messenger/webim/operator/history.php index e9c53f2b..608e33f8 100644 --- a/src/messenger/webim/operator/history.php +++ b/src/messenger/webim/operator/history.php @@ -38,7 +38,7 @@ $query = isset($_GET['q']) ? myiconv(getoutputenc(), $webim_encoding, $_GET['q'] if ($query !== false) { $link = connect(); - $result = mysql_query("select ${mysqlprefix}chatgroup.groupid as groupid, vclocalname " . + $result = perform_query("select ${mysqlprefix}chatgroup.groupid as groupid, vclocalname " . "from ${mysqlprefix}chatgroup order by vclocalname", $link); $groupName = array(); while ($group = db_fetch_assoc($result)) { From ef94a7eaf8b3a3d9b893eb6c9f9cf8a084bb8d72 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 16:26:05 +0000 Subject: [PATCH 15/40] Added wrapper function for mysql_free_result --- src/messenger/webim/libs/common.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index b63303c7..a1088de7 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -407,6 +407,11 @@ function perform_query($query, $link) return $result; } +function db_free_result($result) +{ + mysql_free_result($result); +} + function select_one_row($query, $link) { $result = perform_query($query, $link); From a923a3cfdc668555dafd55cbdca1d5a8da63c74e Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 10 Nov 2011 16:31:12 +0000 Subject: [PATCH 16/40] Replaced all mysql_free_result by db_free_result, except for the directory /install --- src/messenger/webim/libs/common.php | 8 ++++---- src/messenger/webim/operator/history.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index a1088de7..c5e3bcf6 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -416,7 +416,7 @@ function select_one_row($query, $link) { $result = perform_query($query, $link); $line = db_fetch_assoc($result); - mysql_free_result($result); + db_free_result($result); return $line; } @@ -428,7 +428,7 @@ function select_multi_assoc($query, $link) while ($row = db_fetch_assoc($sqlresult)) { $result[] = $row; } - mysql_free_result($sqlresult); + db_free_result($sqlresult); return $result; } @@ -443,7 +443,7 @@ function db_rows_count($table, $conditions, $countfields, $link) { $result = perform_query(db_build_select("count(" . ($countfields ? $countfields : "*") . ")", $table, $conditions, ""), $link); $line = db_fetch_row($result); - mysql_free_result($result); + db_free_result($result); return $line[0]; } @@ -713,7 +713,7 @@ function loadsettings_($link) $settings[$name] = $row['vcvalue']; $settings_in_db[$name] = true; } - mysql_free_result($sqlresult); + db_free_result($sqlresult); } function loadsettings() diff --git a/src/messenger/webim/operator/history.php b/src/messenger/webim/operator/history.php index 608e33f8..b4b00398 100644 --- a/src/messenger/webim/operator/history.php +++ b/src/messenger/webim/operator/history.php @@ -44,7 +44,7 @@ if ($query !== false) { while ($group = db_fetch_assoc($result)) { $groupName[$group['groupid']] = $group['vclocalname']; } - mysql_free_result($result); + db_free_result($result); $page['groupName'] = $groupName; $escapedQuery = db_escape_string($query, $link); From 82d4e79dc95dd50e5c2e9d1010913d5d725e274d Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Sat, 12 Nov 2011 18:29:49 +0000 Subject: [PATCH 17/40] Add missed asterisk in /view/ban.php near form.field.ban_comment --- src/messenger/webim/view/ban.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/messenger/webim/view/ban.php b/src/messenger/webim/view/ban.php index d1c65f55..779c951b 100644 --- a/src/messenger/webim/view/ban.php +++ b/src/messenger/webim/view/ban.php @@ -72,7 +72,7 @@ require_once('inc_errors.php');
-
+
*
From 863de0057ce8ca21596586ce26831b47ddbeb81a Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Mon, 14 Nov 2011 18:41:31 +0000 Subject: [PATCH 18/40] Added Page statistics --- src/messenger/webim/locales/en/properties | 3 ++ src/messenger/webim/locales/ru/properties | 3 ++ src/messenger/webim/operator/statistics.php | 2 ++ src/messenger/webim/view/statistics.php | 32 ++++++++++++++++++++- 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index 6976aeae..bb1a717e 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -402,6 +402,9 @@ report.byoperator.2=Chat Threads report.byoperator.3=Messages report.byoperator.4=Average message length (in chars) report.byoperator.title=Threads by operator +report.bypage.1=Page +report.bypage.2=Chat threads +report.bypage.title=Chat threads by page report.no_items=Not enough data report.total=Total: resetpwd.changed.title=Your password has been changed! diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 56c1967a..6b860ee0 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -400,6 +400,9 @@ report.byoperator.2= report.byoperator.3=Сообщений report.byoperator.4=Средняя длина сообщения (в символах) report.byoperator.title=Статистика по операторам +report.bypage.1=Страница +report.bypage.2=Диалогов +report.bypage.title=Статистика по страницам report.no_items=Мало данных report.total=Итого: restore.back_to_login=Вернуться на главную diff --git a/src/messenger/webim/operator/statistics.php b/src/messenger/webim/operator/statistics.php index 1cd2dc03..0c2a91dd 100644 --- a/src/messenger/webim/operator/statistics.php +++ b/src/messenger/webim/operator/statistics.php @@ -80,6 +80,8 @@ $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT( "from ${mysqlprefix}chatmessage, ${mysqlprefix}chatoperator " . "where agentId = operatorid AND unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end group by operatorid", $link); +$page['reportByPage'] = select_multi_assoc("SELECT COUNT(threadid) as chattimes, referer FROM ${mysqlprefix}chatthread WHERE unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end GROUP BY referer", $link); + $page['showresults'] = count($errors) == 0; close_connection($link); diff --git a/src/messenger/webim/view/statistics.php b/src/messenger/webim/view/statistics.php index 1e21761f..ff8050cc 100644 --- a/src/messenger/webim/view/statistics.php +++ b/src/messenger/webim/view/statistics.php @@ -126,7 +126,7 @@ require_once('inc_errors.php'); - + @@ -146,6 +146,36 @@ require_once('inc_errors.php'); +
+
+ +
+ + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ Date: Sat, 19 Nov 2011 14:23:04 +0000 Subject: [PATCH 19/40] Added Average chat time and Average waiting time statistics --- src/messenger/webim/install/dbinfo.php | 5 +++-- src/messenger/webim/install/dbperform.php | 5 +++++ src/messenger/webim/libs/chat.php | 22 ++++++++++++--------- src/messenger/webim/locales/en/properties | 2 ++ src/messenger/webim/locales/ru/properties | 2 ++ src/messenger/webim/operator/statistics.php | 10 ++++++---- src/messenger/webim/view/statistics.php | 10 +++++++++- 7 files changed, 40 insertions(+), 16 deletions(-) diff --git a/src/messenger/webim/install/dbinfo.php b/src/messenger/webim/install/dbinfo.php index f512a585..0e928373 100644 --- a/src/messenger/webim/install/dbinfo.php +++ b/src/messenger/webim/install/dbinfo.php @@ -36,6 +36,7 @@ $dbtables = array( "agentName" => "varchar(64)", "agentId" => "int NOT NULL DEFAULT 0", "dtmcreated" => "datetime DEFAULT 0", + "dtmchatstarted" => "datetime DEFAULT 0", "dtmmodified" => "datetime DEFAULT 0", "lrevision" => "int NOT NULL DEFAULT 0", "istate" => "int NOT NULL DEFAULT 0", @@ -141,7 +142,7 @@ $dbtables_indexes = array( $memtables = array(); $dbtables_can_update = array( - "${mysqlprefix}chatthread" => array("agentId", "userTyping", "agentTyping", "messageCount", "nextagent", "shownmessageid", "userid", "userAgent", "groupid"), + "${mysqlprefix}chatthread" => array("agentId", "userTyping", "agentTyping", "messageCount", "nextagent", "shownmessageid", "userid", "userAgent", "groupid", "dtmchatstarted"), "${mysqlprefix}chatmessage" => array("agentId"), "${mysqlprefix}chatoperator" => array("vcavatar", "vcjabbername", "iperm", "istatus", "vcemail", "dtmrestore", "vcrestoretoken"), "${mysqlprefix}chatban" => array(), @@ -238,4 +239,4 @@ function get_columns($tablename, $link) } } -?> \ No newline at end of file +?> diff --git a/src/messenger/webim/install/dbperform.php b/src/messenger/webim/install/dbperform.php index 9d091438..b0013e8e 100644 --- a/src/messenger/webim/install/dbperform.php +++ b/src/messenger/webim/install/dbperform.php @@ -87,6 +87,11 @@ if ($act == "silentcreateall") { runsql("update ${mysqlprefix}chatthread, ${mysqlprefix}chatoperator set agentId = operatorid where agentId = 0 AND (vclocalename = agentName OR vccommonname = agentName)", $link); } + if (in_array("${mysqlprefix}chatthread.dtmchatstarted", $absent)) { + runsql("ALTER TABLE ${mysqlprefix}chatthread ADD dtmchatstarted datetime DEFAULT 0 AFTER dtmcreated", $link); + runsql("update ${mysqlprefix}chatthread set dtmchatstarted = dtmcreated", $link); + } + if (in_array("${mysqlprefix}chatthread.agentTyping", $absent)) { runsql("ALTER TABLE ${mysqlprefix}chatthread ADD agentTyping int DEFAULT 0", $link); } diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index 04071c89..1588a611 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -565,7 +565,7 @@ function thread_by_id_($id, $link) { global $mysqlprefix; return select_one_row("select threadid,userName,agentName,agentId,lrevision,istate,ltoken,userTyping,agentTyping" . - ",unix_timestamp(dtmmodified) as modified, unix_timestamp(dtmcreated) as created" . + ",unix_timestamp(dtmmodified) as modified, unix_timestamp(dtmcreated) as created, unix_timestamp(dtmchatstarted) as chatstarted" . ",remote,referer,locale,unix_timestamp(lastpinguser) as lpuser,unix_timestamp(lastpingagent) as lpagent, unix_timestamp(CURRENT_TIMESTAMP) as current,nextagent,shownmessageid,userid,userAgent,groupid" . " from ${mysqlprefix}chatthread where threadid = " . $id, $link); } @@ -606,15 +606,18 @@ function create_thread($groupid, $username, $remoteHost, $referer, $lang, $useri return $newthread; } -function do_take_thread($threadid, $operatorId, $operatorName) +function do_take_thread($threadid, $operatorId, $operatorName, $chatstart = false) { global $state_chatting; $link = connect(); - commit_thread($threadid, - array("istate" => $state_chatting, - "nextagent" => 0, - "agentId" => $operatorId, - "agentName" => "'" . db_escape_string($operatorName, $link) . "'"), $link); + $params = array("istate" => $state_chatting, + "nextagent" => 0, + "agentId" => $operatorId, + "agentName" => "'" . db_escape_string($operatorName, $link) . "'"); + if ($chatstart){ + $params['dtmchatstarted'] = "CURRENT_TIMESTAMP"; + } + commit_thread($threadid, $params, $link); close_connection($link); } @@ -647,11 +650,12 @@ function take_thread($thread, $operator) $state = $thread['istate']; $threadid = $thread['threadid']; $message_to_post = ""; + $chatstart = $thread['chatstarted'] == 0; $operatorName = ($thread['locale'] == $home_locale) ? $operator['vclocalename'] : $operator['vccommonname']; if ($state == $state_queue || $state == $state_waiting || $state == $state_loading) { - do_take_thread($threadid, $operator['operatorid'], $operatorName); + do_take_thread($threadid, $operator['operatorid'], $operatorName, $chatstart); if ($state == $state_waiting) { if ($operatorName != $thread['agentName']) { @@ -664,7 +668,7 @@ function take_thread($thread, $operator) } } else if ($state == $state_chatting) { if ($operator['operatorid'] != $thread['agentId']) { - do_take_thread($threadid, $operator['operatorid'], $operatorName); + do_take_thread($threadid, $operator['operatorid'], $operatorName, $chatstart); $message_to_post = getstring2_("chat.status.operator.changed", array($operatorName, $thread['agentName']), $thread['locale']); } } else { diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index bb1a717e..c7181f71 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -396,6 +396,8 @@ report.bydate.1=Date report.bydate.2=Chat threads report.bydate.3=Messages from operators report.bydate.4=Messages from visitors +report.bydate.5=Average waiting time (in seconds) +report.bydate.6=Average chat time (in seconds) report.bydate.title=Usage statistics for each date report.byoperator.1=Operator report.byoperator.2=Chat Threads diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 6b860ee0..759930c0 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -394,6 +394,8 @@ report.bydate.1= report.bydate.2=Диалогов report.bydate.3=Сообщений операторов report.bydate.4=Сообщений посетителей +report.bydate.5=Среднее время ожидания (в секундах) +report.bydate.6=Среднее время диалога (в секундах) report.bydate.title=Использование мессенджера по дням report.byoperator.1=Оператор report.byoperator.2=Диалогов diff --git a/src/messenger/webim/operator/statistics.php b/src/messenger/webim/operator/statistics.php index 0c2a91dd..0c38a24a 100644 --- a/src/messenger/webim/operator/statistics.php +++ b/src/messenger/webim/operator/statistics.php @@ -70,11 +70,13 @@ if ($start > $end) { $link = connect(); -$page['reportByDate'] = select_multi_assoc("select DATE(dtmcreated) as date, COUNT(distinct threadid) as threads, SUM(${mysqlprefix}chatmessage.ikind = $kind_agent) as agents, SUM(${mysqlprefix}chatmessage.ikind = $kind_user) as users " . - "from ${mysqlprefix}chatmessage where unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end group by DATE(dtmcreated) order by dtmcreated desc", $link); +$page['reportByDate'] = select_multi_assoc("select DATE(t.dtmcreated) as date, COUNT(distinct t.threadid) as threads, SUM(m.ikind = $kind_agent) as agents, SUM(m.ikind = $kind_user) as users, ROUND(AVG(unix_timestamp(t.dtmchatstarted)-unix_timestamp(t.dtmcreated)),1) as avgwaitingtime, ROUND(AVG(tmp.lastmsgtime - unix_timestamp(t.dtmchatstarted)),1) as avgchattime " . + "from ${mysqlprefix}chatmessage m, ${mysqlprefix}chatthread t, (SELECT i.threadid, unix_timestamp(MAX(i.dtmcreated)) AS lastmsgtime FROM ${mysqlprefix}chatmessage i WHERE (ikind = $kind_user OR ikind = $kind_agent) GROUP BY i.threadid) tmp " . + "where m.threadid = t.threadid AND tmp.threadid = t.threadid AND unix_timestamp(m.dtmcreated) >= $start AND unix_timestamp(m.dtmcreated) < $end group by DATE(m.dtmcreated) order by m.dtmcreated desc", $link); -$page['reportByDateTotal'] = select_one_row("select COUNT(distinct threadid) as threads, SUM(${mysqlprefix}chatmessage.ikind = $kind_agent) as agents, SUM(${mysqlprefix}chatmessage.ikind = $kind_user) as users " . - "from ${mysqlprefix}chatmessage where unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end", $link); +$page['reportByDateTotal'] = select_one_row("select DATE(t.dtmcreated) as date, COUNT(distinct t.threadid) as threads, SUM(m.ikind = $kind_agent) as agents, SUM(m.ikind = $kind_user) as users, ROUND(AVG(unix_timestamp(t.dtmchatstarted)-unix_timestamp(t.dtmcreated)),1) as avgwaitingtime, ROUND(AVG(tmp.lastmsgtime - unix_timestamp(t.dtmchatstarted)),1) as avgchattime " . + "from ${mysqlprefix}chatmessage m, ${mysqlprefix}chatthread t, (SELECT i.threadid, unix_timestamp(MAX(i.dtmcreated)) AS lastmsgtime FROM ${mysqlprefix}chatmessage i WHERE (ikind = $kind_user OR ikind = $kind_agent) GROUP BY i.threadid) tmp " . + "where m.threadid = t.threadid AND tmp.threadid = t.threadid AND unix_timestamp(m.dtmcreated) >= $start AND unix_timestamp(m.dtmcreated) < $end", $link); $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT(distinct threadid) as threads, SUM(ikind = $kind_agent) as msgs, AVG(CHAR_LENGTH(tmessage)) as avglen " . "from ${mysqlprefix}chatmessage, ${mysqlprefix}chatoperator " . diff --git a/src/messenger/webim/view/statistics.php b/src/messenger/webim/view/statistics.php index ff8050cc..be1bd8bf 100644 --- a/src/messenger/webim/view/statistics.php +++ b/src/messenger/webim/view/statistics.php @@ -82,6 +82,10 @@ require_once('inc_errors.php'); + + + + @@ -92,6 +96,8 @@ require_once('inc_errors.php'); + + @@ -99,10 +105,12 @@ require_once('inc_errors.php'); + + - + From 12b0883686d35ddafffc801b0744cc355fa8998d Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Tue, 22 Nov 2011 21:57:25 +0000 Subject: [PATCH 20/40] Split chatsitevisitor table into chatsitevisitor and visitedpage --- src/messenger/webim/install/dbinfo.php | 12 +++++- src/messenger/webim/install/dbperform.php | 5 +++ src/messenger/webim/libs/track.php | 52 ++++++++++++----------- src/messenger/webim/operator/tracked.php | 3 +- 4 files changed, 45 insertions(+), 27 deletions(-) diff --git a/src/messenger/webim/install/dbinfo.php b/src/messenger/webim/install/dbinfo.php index 0e928373..1ea596ab 100644 --- a/src/messenger/webim/install/dbinfo.php +++ b/src/messenger/webim/install/dbinfo.php @@ -119,7 +119,6 @@ $dbtables = array( "firsttime" => "datetime NOT NULL DEFAULT 0", "lasttime" => "datetime NOT NULL DEFAULT 0", "entry" => "text NOT NULL", - "path" => "text NOT NULL", "details" => "text NOT NULL", "invited" => "tinyint(1) NOT NULL DEFAULT 0", "invitationtime" => "datetime", @@ -128,6 +127,13 @@ $dbtables = array( "chats" => "INT NOT NULL DEFAULT 0", "threadid" => "INT references ${mysqlprefix}chatthread(threadid) on delete set null" ), + + "${mysqlprefix}visitedpage" => array( + "pageid" => "INT NOT NULL auto_increment PRIMARY KEY", + "address" => "varchar(1024)", + "visittime" => "datetime NOT NULL DEFAULT 0", + "visitorid" => "INT", + ), ); $dbtables_indexes = array( @@ -136,6 +142,9 @@ $dbtables_indexes = array( ), "${mysqlprefix}chatsitevisitor" => array( "threadid" => "threadid" + ), + "${mysqlprefix}visitedpage" => array( + "visitorid" => "visitorid" ) ); @@ -150,6 +159,7 @@ $dbtables_can_update = array( "${mysqlprefix}chatgroupoperator" => array(), "${mysqlprefix}chatresponses" => array(), "${mysqlprefix}chatsitevisitor" => array(), + "${mysqlprefix}visitedpage" => array(), ); function show_install_err($text) diff --git a/src/messenger/webim/install/dbperform.php b/src/messenger/webim/install/dbperform.php index b0013e8e..c51470e0 100644 --- a/src/messenger/webim/install/dbperform.php +++ b/src/messenger/webim/install/dbperform.php @@ -168,6 +168,11 @@ if ($act == "silentcreateall") { if ($res && mysql_num_rows($res) == 0) { runsql("ALTER TABLE ${mysqlprefix}chatsitevisitor ADD INDEX (threadid)", $link); } + + $res = mysql_query("select null from information_schema.statistics where table_schema = '$mysqldb' and table_name = '${mysqlprefix}visitedpage' and index_name = 'visitorid'", $link); + if ($res && mysql_num_rows($res) == 0) { + runsql("ALTER TABLE ${mysqlprefix}visitedpage ADD INDEX (visitorid)", $link); + } } } diff --git a/src/messenger/webim/libs/track.php b/src/messenger/webim/libs/track.php index bd3753c1..aab49b0c 100644 --- a/src/messenger/webim/libs/track.php +++ b/src/messenger/webim/libs/track.php @@ -32,8 +32,8 @@ function track_visitor($visitorid, $entry, $referer, $link) return $visitor; } else { - perform_query(sprintf("update ${mysqlprefix}chatsitevisitor set lasttime = CURRENT_TIMESTAMP, path = '%s' where visitorid=" . $visitor['visitorid'], - db_escape_string(track_build_path($referer, $visitor['path']))), $link); + perform_query("update ${mysqlprefix}chatsitevisitor set lasttime = CURRENT_TIMESTAMP where visitorid=" . $visitor['visitorid'], $link); + track_visit_page($visitor['visitorid'], $referer, $link); return $visitor['visitorid']; } } @@ -44,13 +44,16 @@ function track_visitor_start($entry, $referer, $link) $visitor = visitor_from_request(); - perform_query(sprintf("insert into ${mysqlprefix}chatsitevisitor (userid, username, firsttime, lasttime, entry, path, details) values ('%s', '%s', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '%s', '%s', '%s')", + perform_query(sprintf("insert into ${mysqlprefix}chatsitevisitor (userid, username, firsttime, lasttime, entry, details) values ('%s', '%s', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '%s', '%s')", db_escape_string($visitor['id']), db_escape_string($visitor['name']), db_escape_string($entry), - db_escape_string(track_build_path($referer, '')), db_escape_string(track_build_details())), $link); + if ($id) { + track_visit_page($id, $referer, $link); + } + $id = db_insert_id($link); return $id ? $id : 0; } @@ -75,33 +78,34 @@ function track_get_visitor_by_threadid($threadid, $link) return $visitor; } - -function track_build_path($referer, $path) +function track_visit_page($visitorid, $page, $link) { - if ($path !== '') { - $path = unserialize($path); - krsort($path); - - list($lasttime, $lastpage) = each($path); - - if ($referer != $lastpage) { - $path[time()] = $referer; + global $mysqlprefix; + + if (empty($page)) { + return; + } + $lastpage = select_one_row(sprintf("select address from ${mysqlprefix}visitedpage where visitorid = '%s' order by visittime desc limit 1", + db_escape_string($visitorid)), $link); + if ( $lastpage['address'] != $page ) { + perform_query(sprintf("insert into ${mysqlprefix}visitedpage (visitorid, address, visittime) values ('%s', '%s', CURRENT_TIMESTAMP)", + db_escape_string($visitorid), + db_escape_string($page)), $link); } - } - else { - $path[time()] = $referer; - } - - $path = serialize($path); - return $path; } -function track_retrieve_path($visitor) +function track_get_path($visitor, $link) { - return unserialize($visitor['path']); + global $mysqlprefix; + $query_result = perform_query(sprintf("select address, UNIX_TIMESTAMP(visittime) as visittime from ${mysqlprefix}visitedpage where visitorid = '%s'", + db_escape_string($visitor['visitorid'])), $link); + $result = array(); + while( $page = db_fetch_assoc($query_result) ){ + $result[$page['visittime']] = $page['address']; + } + return $result; } - function track_build_details() { $result = array( diff --git a/src/messenger/webim/operator/tracked.php b/src/messenger/webim/operator/tracked.php index 9b6f8565..9d5f3e64 100644 --- a/src/messenger/webim/operator/tracked.php +++ b/src/messenger/webim/operator/tracked.php @@ -53,10 +53,9 @@ else { die("Wrong visitor!"); } } +$path = track_get_path($visitor, $link); close_connection($link); -$path = track_retrieve_path($visitor); - $page['entry'] = htmlspecialchars($visitor['entry']); $page['history'] = array(); ksort($path); From 1da924416cfdcd6ce2dc40b279b5fc0c2829c54f Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Thu, 21 Apr 2011 00:44:04 +0200 Subject: [PATCH 21/40] fix encoding in operators list --- src/messenger/webim/operator/update.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/messenger/webim/operator/update.php b/src/messenger/webim/operator/update.php index b63999d5..c8694af8 100644 --- a/src/messenger/webim/operator/update.php +++ b/src/messenger/webim/operator/update.php @@ -153,6 +153,7 @@ function print_pending_threads($groupids, $since) function print_operators() { + global $webim_encoding; echo ""; $operators = operator_get_all(); @@ -160,7 +161,7 @@ function print_operators() if (!operator_is_online($operator)) continue; - $name = htmlspecialchars(htmlspecialchars($operator['vclocalename'])); + $name = myiconv($webim_encoding, "utf-8", htmlspecialchars(htmlspecialchars($operator['vclocalename']))); $away = operator_is_away($operator) ? " away=\"1\"" : ""; echo ""; From 6cf1baeace64a8ca3ff2f7a40d5434df2ec4e758 Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 12 Jun 2011 13:57:10 +0200 Subject: [PATCH 22/40] update pl (by WebTower), hu, fr --- src/messenger/webim/locales/fr/properties | 2 + src/messenger/webim/locales/hu/properties | 25 +++-- src/messenger/webim/locales/pl/properties | 116 ++++++++++++++++++---- 3 files changed, 112 insertions(+), 31 deletions(-) diff --git a/src/messenger/webim/locales/fr/properties b/src/messenger/webim/locales/fr/properties index 8fedeba2..cda11694 100644 --- a/src/messenger/webim/locales/fr/properties +++ b/src/messenger/webim/locales/fr/properties @@ -11,6 +11,8 @@ app.title=Mibew Messenger ban.error.duplicate=L'adresse {0} est dГ©jГ  utilisГ©e, cliquez ici pour la modifier. button.delete=Supprimer button.enter=Entrer +button.offline=Hors ligne +button.online=En ligne button.save=Sauver button.search=Rechercher canned.actions.del=Supprimer diff --git a/src/messenger/webim/locales/hu/properties b/src/messenger/webim/locales/hu/properties index e97ffb2d..c40c235d 100644 --- a/src/messenger/webim/locales/hu/properties +++ b/src/messenger/webim/locales/hu/properties @@ -3,7 +3,7 @@ output_charset=utf-8 output_encoding=utf-8 admin.content.client_agents=CГ©ges operГЎtor lГ©trehozГЎsa, tГ¶rlГ©se. Jogok kezelГ©se. admin.content.client_gen_button=Gomb HTML kГіd lГ©trehozГЎsa. -admin.content.client_settings=OpciГіk megadГЎsa amik az ГјzenetkГјldЕ‘ ablakot Г©s a rendszerbГЎllГ­tГЎsokat mГіdosГ­tjГЎk. +admin.content.client_settings=OpciГіk megadГЎsa amik az ГјzenetkГјldЕ‘ ablakot Г©s a rendszerbeГЎllГ­tГЎsokat mГіdosГ­tjГЎk. admin.content.description=Az oldal operГЎtorai ГЎltal elГ©rhetЕ‘ funkciГіk. agent.not_logged_in=A munkamenet lejГЎrt, jelentkezz be Гєjra app.descr=A Mibew ГјzenetkГјldЕ‘ egy nyГ­lt forrГЎskГіdГє ГјgyfГ©lszolgГЎlati alkalmazГЎs. @@ -12,7 +12,9 @@ ban.error.duplicate=A megadott cГ­m mГЎr hasznГЎlatban van, kattintson vissza gombot, hogy visszatГ©rjen a varГЎzslГіhoz. @@ -176,11 +181,12 @@ install.kill_tables=MeglГ©vЕ‘ tГЎblГЎk tГ¶rlГ©se az adatbГЎzisbГіl install.license=Szoftver licenc szerzЕ‘dГ©s install.message=KГ¶vesse az varГЎszlГіt az adatbГЎzis beГЎllГ­tГЎsГЎhoz. install.next=KГ¶vetkezЕ‘ lГ©pГ©s: +install.no_file=A file hiГЎnyzik: {0} install.title=InstallГЎlГЎs install.updatedb=Futtassa a FrissГ­tГ©s varГЎzslГіt az adatbГЎzis beГЎllГ­tГЎsГЎhoz. installed.login_link=TovГЎbb a bejelentkezЕ‘ oldalra installed.message=Az alkalmazГЎs telepГ­tГ©se sikeresen befejezЕ‘dГ¶tt. -installed.notice=Bejelentkezhet admin felhasznГЎlГіnГ©vvel, jelszГі nГ©lkГјl.

!!! BiztonsГЎgi okokbГіl kГ©rem vГЎltoztassa meg a jelszavГЎt Г©s tГЎvolГ­tsa el a {0} mappГЎt a szerverrЕ‘l. +installed.notice=Bejelentkezhet admin felhasznГЎlГіnГ©vvel, jelszГі nГ©lkГјl.

!!! BiztonsГЎgi okokbГіl kГ©rem vГЎltoztassa meg a jelszavГЎt Г©s tГЎvolГ­tsa el a {0} mappГЎt a szerverrЕ‘l. lang.choose=Nyelv kivГЎlasztГЎsa leavemail.body=Гњzenete Г©rkezett {0} -tГіl: {2} E-mail: {1} {3} --- Az oldalad ГјzenetkГјldЕ‘je leavemail.subject=KГ©rdГ©s {0} -tГіl @@ -232,7 +238,7 @@ page.analysis.userhistory.intro=Itt talГЎlja az Гјgyfelekkel folytatott beszГ©lg page.analysis.userhistory.title=ElЕ‘zmГ©nyek page.chat.old_browser.close=BezГЎrГЎs... page.chat.old_browser.list=
  • Internet Explorer 5.5+
  • Firefox 1.0+
  • Opera 8.0+
  • Mozilla 1.4+
  • Netscape 7.1+
  • Safari 1.2+

További támogatott böngészők:

  • Internet Explorer 5.0
  • Opera 7.0
-page.chat.old_browser.problem=

A böngészője nem teljesen támogatott. \nKérem használja a következő böngészők egyikét: \n

+page.chat.old_browser.problem=

A böngészőjét nem teljesen támogatja a Mibew Messenger. \nKérem, használja a következő böngészők egyikét:

page.chat.old_browser.title=Kérem frissítse a böngészőjét page.gen_button.choose_image=Kép kiválasztása page.gen_button.code.description=Figyelem! Kérem ne változtassa meg
a kГіdot kГ©zzel,
mert nem tudjuk garantГЎlni,
hogy mЕ±kГ¶dni fog! @@ -281,9 +287,10 @@ page_agent.tab.main=ГЃltalГЎnos page_agent.tab.permissions=Jogok page_agent.title=OperГЎtor tulajdonsГЎgai page_agents.agent_name=NГ©v +page_agents.agents=OperГЎtorok teljes listГЎja: page_agents.isaway=Nincs a gГ©p elЕ‘tt page_agents.isonline=ElГ©rhetЕ‘ -page_agents.login=BejelentkezГ©s +page_agents.login=Bejelentkezve page_agents.new_agent=OperГЎtor hozzГЎadГЎsa... page_agents.status=UtoljГЎra aktГ­v page_agents.title=OperГЎtorok @@ -341,7 +348,7 @@ presurvey.mail=E-mail: presurvey.name=NГ©v: presurvey.question=IndГ­tГі kГ©rdГ©s: presurvey.submit=BeszГ©lgetГ©s indГ­tГЎsa -presurvey.title=ElЕ‘ ГјgyfГ©lszolgГЎlat +presurvey.title=Г‰lЕ‘ ГјgyfГ©lszolgГЎlat report.bydate.1=DГЎtum report.bydate.2=BeszГ©lgetГ©sek report.bydate.3=Гњzenetek az operГЎtoroktГіl @@ -350,7 +357,7 @@ report.bydate.title=HasznГЎlati statisztika minden napra report.byoperator.1=OperГЎtor report.byoperator.2=BeszГ©lgetГ©sek report.byoperator.3=Гњzenetek -report.byoperator.4=ГЃtlagos Гјzenetek hossza (karakterben) +report.byoperator.4=ГЃtlagos Гјzenetek hossza (karakter) report.byoperator.title=OperГЎtorok szГЎlai report.no_items=Nincs elГ©g adat report.total=Г–sszesen: @@ -386,7 +393,7 @@ settings.wrong.email=Adja meg az E-mail cГ­met site.title=mibew.org site.url=http://mibew.org statistics.dates=DГЎtumok kivГЎlasztГЎsa -statistics.description=ErrЕ‘l az oldalrГіl lehet kГјlГ¶nbГ¶zЕ‘ hasznГЎlati statisztikГЎkat kГ©szГ­teni. +statistics.description=ErrЕ‘l az oldalrГіl kГјlГ¶nbГ¶zЕ‘ hasznГЎlati statisztikГЎkat lehet kГ©szГ­teni. statistics.from=EttЕ‘l: statistics.till=Eddig: statistics.title=Statisztika diff --git a/src/messenger/webim/locales/pl/properties b/src/messenger/webim/locales/pl/properties index 9959d769..c94f645a 100644 --- a/src/messenger/webim/locales/pl/properties +++ b/src/messenger/webim/locales/pl/properties @@ -11,6 +11,12 @@ app.title=Mibew Komunikator ban.error.duplicate=Podane adresy sД… juЕј uЕјywane, kliknij tutaj jeЕ›li chcesz je edytowaД‡. button.delete=UsuЕ„ button.enter=WprowadЕє +button.offline.bottom=Zostaw swojД… wiadomoЕ›Д‡ +button.offline.top=Strona konsultanta +button.offline=OFFLINE +button.online.bottom=Zadaj pytanie +button.online.top=Strona konsultanta +button.online=ONLINE button.save=Zapisz button.search=Szukaj canned.actions.del=usuЕ„ @@ -28,11 +34,13 @@ cannededit.no_such=Brak wiadomoЕ›ci cannededit.title=Edytuj OdpowiedЕє cannednew.descr=Dodaj nowД… odpowiedЕє. cannednew.title=Nowa WiadomoЕ›Д‡ +char.redirect.operator.away_suff=zaraz wracam char.redirect.operator.online_suff=(online) chat.came.from=OdwiedzajД…cy pochodziЕ‚ ze strony {0} chat.client.changename=ZmieЕ„ nazwД™ chat.client.name=Twoje imiД™ chat.client.spam.prefix=[spam]  +chat.client.visited.page=OdwiedzajД…cy przeszedЕ‚ do {0} chat.default.username=UЕјytkownik chat.error_page.close=Zamknij... chat.error_page.head=WystД…piЕ‚ BЕ‚Д…d: @@ -86,7 +94,7 @@ chat.window.toolbar.redirect_user=Przekieruj uЕјytkownika do innego operatora chat.window.toolbar.refresh=OdЕ›wieЕј clients.how_to=Aby udzieliД‡ odpowiedzi danej osobie kliknij jego/jej nazwД™ uЕјytkownika z poniЕјszej listy. clients.intro=Strona zawiera listД™ osГіb oczekujД…cych na kontakt. -clients.no_clients=Brak osГіb czekajД…cych na rozmowД™ z operatorem. +clients.no_clients=Lista osГіb oczekujД…cych na kontakt jest pusta clients.queue.chat=UЕјytkownicy w trakcie rozmowy clients.queue.prio=Kolejka oczekujД…cych uЕјytkownikГіw clients.queue.wait=Osoby oczekujД…ce po raz pierwszy na rozmowД™ @@ -98,11 +106,12 @@ confirm.take.message=UЕјytkownik {0} jest juЕј confirm.take.no=Nie, zamknij okno confirm.take.yes=Tak, Jestem tego pewny content.blocked=Tutaj moЕјesz powstrzymaД‡ niechcianych uЕјytkownikГіw. -content.history=Przeszukaj historiД™ rozmГіw +content.history=Przeszukaj historiД™ rozmГіw. content.logoff=Wyloguj siД™ z systemu. data.saved=Zmiany zapisane demo.chat.question=Istnieje wiele rГіЕјnych przeglД…darek internetowych. KtГіrД… moЕјesz mi poleciД‡? demo.chat.welcome=Witam, w czym mogД™ pomГіc? +errors.captcha=Wpisane litery nie zgadzajД… siД™ z literami, ktГіre byЕ‚y widoczne na obrazku. errors.failed.uploading.file=BЕ‚Д…d podczas przesyЕ‚ania pliku "{0}": {1}. errors.file.move.error=BЕ‚Д…d przesuwania pliku errors.file.size.exceeded=Przekroczony rozmiar przesyЕ‚anego pliku @@ -135,10 +144,13 @@ form.field.groupcommonname.description=Nazwa w jД™zyku angielskim. form.field.groupcommonname=MiД™dzynarodowa nazwa form.field.groupdesc.description=Opis grupy. form.field.groupdesc=Opis +form.field.groupemail.description=Grupa e-mail do powiadomieЕ„. Zostaw puste, aby uЕјyД‡ adresu domyЕ›lnego. form.field.groupname.description=Nazwa do identyfikacji grupy. form.field.groupname=Nazwa form.field.login.description=Login moЕјe zawieraД‡ maЕ‚e litery
oraz znak podkreЕ›lenia. form.field.login=Login +form.field.mail.description=W przypadku zgЕ‚oszeЕ„ i odzyskiwania hasЕ‚a. +form.field.mail=E-mail form.field.message=WiadomoЕ›Д‡ form.field.name=Twoja nazwa form.field.password.description=WprowadЕє nowe hasЕ‚o lub pozostaw
pole puste aby zatrzymać stare hasło. @@ -153,6 +165,9 @@ image.button.search=/locales/pl/images/search.gif image.chat.history=/locales/pl/images/history.gif image.chat.message=/locales/pl/images/message.gif image.chat.sprite=/locales/pl/images/wmchat.png +install.0.app=Ścieżka do aplikacji {0} +install.0.package=Pakiet Mibew jest ważny. +install.0.php=PHP w wersji {0} install.1.connected=Yesteś połączony do serwera bazy danych MySQL w wersji {0} install.2.create=Tworzenie bazy danych "{0}" install.2.db_exists=Baza danych "{0}" jest stworzona. @@ -161,7 +176,14 @@ install.3.create=Tworzenie wymaganych tabel. install.3.tables_exist=Wymagane tabele są stworzone. install.4.create=Aktualizuj tabele install.4.done=Struktura tabel została zaktualizowana. -install.4.notice=Struktura tabel powinna być dostosowana do nowej wersji Komunikatora. +install.4.notice=Struktura tabel powinna być dostosowana do nowej wersji Komunikatora. +install.5.newmessage=Nowa wiadomość +install.5.newvisitor=Nowy gość +install.5.text=Kliknij, aby sprawdzić dźwięk: {0} i {1} +install.bad_checksum=Suma kontrolna jest różna dla {0} +install.cannot_read=Nie można odczytać pliku {0} +install.check_files=Proszę o ponowne wgranie plików na serwer. +install.check_permissions=Niewystarczające uprawnienia do pliku {0} install.connection.error=Nie można połączyć, proszę sprawdzić ustawienia serwera w pliku config.php. Błąd: {0} install.done=Zakończono: install.err.back=Rozwiąż problem i spróbuj ponownie. Kliknij przycisk cofnij aby powrócić do kreatora. @@ -169,8 +191,10 @@ install.err.title=Problem install.kill_tables.notice=Brak możliwości dokonania aktualizacji struktury tabel. Spróbuj zrobić to ręcznie lub odtworzyć tabele (Uwaga: wszystkie dane zostaną utracone). install.kill_tables=Usuń istniejące tabele z bazy danych install.license=Akceptacja warunków licencji -install.message=Podążaj za kreatorem aby skonfigurować bazę danych. +install.message=Podążaj za kreatorem aby skonfigurować bazę danych. +install.newfeatures=Gratulacje! Właśnie zainstalowałeś Mibew Komunikator {1}. Włącz więcej funkcji na stronie Opcjonalne usługi. install.next=Następny krok: +install.no_file=Plik nie istnieje: {0} install.title=Instalacja install.updatedb=Uruchom proszę, Kreatora aktualizacji aby ustawić swoją bazę danych. installed.login_link=Przejdź do strony logowania @@ -188,10 +212,11 @@ leavemessage.title=Zostaw swoją wiadomość leftMenu.client_agents=Konsultanci leftMenu.client_gen_button=Kod przycisku leftMenu.client_settings=Ustawienia +license.title=Licencja localedirection=ltr localeid=Polski (pl) mail.user.history.body=Witaj, {0}!\n\nTwoja historia rozmowy: \n\n{1}\n--- \nPozdrawiamy,\nMibew Komunikator -mail.user.history.subject=Komunikator: historia rozmowy +mail.user.history.subject=Mibew Komunikator: okno historii mailthread.close=Zamknij... mailthread.enter_email=Wprowadź swój adres email: mailthread.perform=Wyślij @@ -199,12 +224,13 @@ mailthread.title=Wyślij historię rozmowy
na adres email menu.agents=Lista przedstawicieli menu.blocked=Zablokowani uЕјytkownicy menu.canned=Szablony Odpowiedzi +menu.goonline=JesteЕ› w trybie offline.
Połącz... menu.groups.content=Wydział lub specyficzne umiejętności operatorów grupy. menu.groups=Grupy menu.locale.content=Zmień język. menu.locale=Język menu.main=Strona główna -menu.operator=Jesteś zalogowany jako: {0} +menu.operator=Jesteś zalogowany jako {0} menu.profile.content=Na tej stronie możesz zmienić informacje o sobie. menu.profile=Profil menu.translate=Tłumaczenia @@ -226,17 +252,18 @@ page.analysis.userhistory.intro=Tutaj możesz znaleźć historię rozmów swoich page.analysis.userhistory.title=Historia użytkowników page.chat.old_browser.close=Zamknij... page.chat.old_browser.list=
    \n
  • Internet Explorer 5.5+
  • \n
  • Firefox 1.0+
  • \n
  • Opera 8.0+
  • \n
  • Mozilla 1.4+
  • \n
  • Netscape 7.1+
  • \n
  • Safari 1.2+
  • \n
\n

Wspieramy rГіwnieЕј starsze przeglД…darki:

\n
    \n
  • Internet Explorer 5.0
  • \n
  • Opera 7.0
  • \n
-page.chat.old_browser.problem=

Twoja przeglądarka internetowa nie jest w pełni wspierana przez Web Komunikator. \nProsimy użyć jednej z poniższych przeglądarek:

+page.chat.old_browser.problem=

Twoja przeglądarka internetowa nie jest w pełni wspierana przez Mibew Komunikator. \nProsimy użyć jednej z poniższych przeglądarek:

page.chat.old_browser.title=Prosimy użyć nowszej przeglądarki page.gen_button.choose_group=Kod dla grupy page.gen_button.choose_image=Wybierz zdjęcie page.gen_button.choose_locale=Wybierz język page.gen_button.choose_style=Styl okna rozmowy -page.gen_button.code.description=Uwaga! Prosimy nie zmieniać
kodu rД™cznie poniewaЕј
nie gwarantujemy wtedy, Ејe
przycisk będzie działać. +page.gen_button.code.description=Uwaga! Prosimy nie zmieniać
kodu rД™cznie poniewaЕј
nie gwarantujemy wtedy, Ејe
przycisk bД™dzie dziaЕ‚aД‡ page.gen_button.code=Kod HTML page.gen_button.default_group=-wszyscy operatorzy- page.gen_button.include_site_name=DoЕ‚Д…cz nazwД™ serwera do kodu page.gen_button.intro=Tutaj moЕјesz wygenerowaД‡ a nastД™pnie wstawiД‡ przycisk na swojД… stronД™. +page.gen_button.modsecurity=ZgodnoЕ›Д‡ z mod_security (modsecurity.org), wЕ‚Д…cz tylko wtedy, gdy masz nim problemy page.gen_button.sample=PrzykЕ‚ad page.gen_button.secure_links=UЕјyj bezpiecznego poЕ‚Д…czenia (https) page.gen_button.title=Generowanie kodu przycisku HTML @@ -248,7 +275,10 @@ page.group.no_such=Brak grup page.group.title=SzczegГіЕ‚y grupy page.groupmembers.intro=PokaЕј i edytuj listД™ czЕ‚onkГіw. page.groupmembers.title=CzЕ‚onkowie +page.groups.confirm=Czy na pewno chcesz usunД…Д‡ grupД™ "{0}"? page.groups.intro=Ta strona zawiera listД™ grup/wydziaЕ‚Гіw w Twojej firmie. KaЕјda grupa moЕјe posiadaД‡ oddzielny przycisk i szablony odpowiedzi. +page.groups.isaway=Nieobecny +page.groups.isonline=Online page.groups.new=StwГіrz nowД… grupД™... page.groups.title=Grupy page.preview.agentchat=Okno rozmowy (tryb przedstawiciela) @@ -256,7 +286,8 @@ page.preview.agentrochat=PokaЕј Okno Rozmowy (tryb przedstawiciela tylko do odcz page.preview.chatsimple=Proste okno rozmowy, odЕ›wieЕј aby wysЕ‚aД‡ wiadomoЕ›ci (IE 5, Opera 7) page.preview.choose=Wybierz styl page.preview.choosetpl=Wybierz szablon -page.preview.intro=MoЕјesz przeglД…daД‡ style dla swojej strony +page.preview.error=Okno bЕ‚Д™du +page.preview.intro=Tutaj, moЕјesz przejrzeД‡ listД™ styli, ktГіre sД… aktualnie zainstalowane. page.preview.leavemessage=OpuЕ›Д‡ okno wiadomoЕ›ci page.preview.leavemessagesent=Okno "WiadomoЕ›Д‡ zostaЕ‚a dostarczona" page.preview.mail=Okno wiadomoЕ›ci email @@ -275,7 +306,7 @@ page.translate.one=WprowadЕє swoje tЕ‚umaczenie. page.translate.title=Kreator ustawieЕ„ jД™zykowych page_agent.cannot_modify=Nie masz uprawnieЕ„ do zmiany profilu tej osoby. page_agent.clear_avatar=UsuЕ„ avatar -page_agent.create_new=Tutaj moЕјesz stworzyД‡ nowego operatora +page_agent.create_new=Tutaj moЕјesz stworzyД‡ nowego operatora. page_agent.error.duplicate_login=Wybierz inny login, poniewaЕј podana nazwa jest juЕј zarejestrowany w systemie. page_agent.error.wrong_login=Login powinien zawieraД‡ wyЕ‚Д…cznie znaki alfanumeryczne oraz symbol podkreЕ›lenia. page_agent.intro=Na tej stronie znajdujД… siД™ szczegГіЕ‚y przedstawiciela, moЕјesz tutaj dokonaД‡ edycji uprawnieЕ„. @@ -285,11 +316,15 @@ page_agent.tab.main=OgГіlne page_agent.tab.permissions=Uprawnienia page_agent.title=SzczegГіЕ‚y operatora page_agents.agent_name=Nazwa -page_agents.agents=PeЕ‚na lista przedstawicieli: -page_agents.intro=Ta strona zawiera listД™ przedstawicieli firmy, jeli masz odpowiednie uprawnienia moЕјesz rГіwnieЕј dodawaД‡ nowych przedstawicieli +page_agents.agents=PeЕ‚na lista operatorГіw: +page_agents.confirm=Czy na pewno chcesz usunД…Д‡ operatora "{0}"? +page_agents.intro=Ta strona wyЕ›wietla listД™ operatorГіw firmy. +page_agents.isaway=Nieobecny +page_agents.isonline=Online page_agents.login=Login -page_agents.new_agent=Dodaj nowego przedstawiciela... -page_agents.title=Przedstawiciele +page_agents.new_agent=Dodaj nowego operatora... +page_agents.status=Ostatnio aktywny +page_agents.title=Operatorzy page_analysis.full.text.search=Nazwa uЕјytkownika lub tekst szukanej wiadomoЕ›ci: page_analysis.search.title=Historia rozmowy page_avatar.intro=MoЕјesz przesЕ‚aД‡ zdjД™cie wyЕ‚Д…cznie w formatach JPG, GIF, PNG lub TIF. @@ -299,6 +334,7 @@ page_ban.sent=Adres {0} jest zablokowany na wybranД… liczbД™ dni. page_ban.thread=OtwarЕ‚eЕ› to okno dla wД…tku "{0}", pole Adresu jest juЕј wypeЕ‚nione. Wybierz liczbД™ dni a nastД™pnie kliknij przycisk WyЕ›lij. page_ban.title=Zablokuj Adres page_bans.add=Dodaj Adres +page_bans.confirm=Czy na pewno chcesz usunД…Д‡ adres {0} z listy zablokowanych? page_bans.list=Lista zablokowanych adresГіw IP: page_bans.title=Zablokowany page_bans.to=Do @@ -312,13 +348,16 @@ page_login.password=HasЕ‚o: page_login.remember=ZapamiД™taj page_login.title=Login page_search.intro=Przeszukaj historiД™ rozmowy podajД…c specyficznД… nazwД™ uЕјytkownika lub frazД™ treЕ›ci wiadomoЕ›ci. -page_settings.intro=Dostosuj opcje dotyczД…ce okna rozmowy oraz wspГіlnych zachowaЕ„ systemu +page_settings.intro=Dostosuj opcje dotyczД…ce okna rozmowy oraz wspГіlnych zachowaЕ„ systemu. page_settings.tab.features=Opcjonalne SkЕ‚adniki -page_settings.tab.main=OgГіlne Ustawienia WyglД…du +page_settings.tab.main=OgГіlne +page_settings.tab.performance=WydajnoЕ›Д‡ page_settings.tab.themes=PodglД…d pending.menu.hide=Ukryj menu >> pending.menu.show=PokaЕј menu >> pending.popup_notification=Aktualnie nikt nie oczekuje na rozmowД™. +pending.status.setaway=Ustaw status "Nieobecny" +pending.status.setonline=Ustaw status "DostД™pny" pending.table.ban=Zablokuj uЕјytkownika pending.table.head.contactid=Adres uЕјytkownika pending.table.head.etc=RГіЕјne @@ -330,9 +369,10 @@ pending.table.head.waittime=Czas oczekiwania pending.table.speak=Kliknij aby rozpoczД…Д‡ rozmowД™ z uЕјytkownikiem pending.table.view=OglД…daj rozmowД™ permission.admin=Administracja systemowa: ustawienia, zarzД…dzanie operatorami, tworzenie przyciskГіw +permission.modifyprofile=MoЕјliwoЕ›Д‡ modyfikacji profilu permission.takeover=Przejmij ten wД…tek rozmowy permission.viewthreads=PokaЕј wД…tek rozmowy kolejnego operatora -permissions.intro=Tutaj moЕјesz kontrolowaД‡ uprawnienia operatora +permissions.intro=Zmiana uprawnieЕ„ i funkcji dostД™pnych dla tego operatora. permissions.title=Uprawnienia presurvey.department=Wybierz WydziaЕ‚: presurvey.intro=DziД™kujemy za kontakt! Aby lepiej Tobie pomГіc w rozwiД…zaniu problemu wypeЕ‚nij poniЕјszy formularz i kliknij przycisk Rozpocznij RozmowД™. @@ -353,6 +393,22 @@ report.byoperator.4=Ељrednia dЕ‚ugoЕ›Д‡ wiadomoЕ›ci (w znakach) report.byoperator.title=WД…tki przez operatora report.no_items=Brak wystarczajД…cych danych report.total=Razem: +resetpwd.changed.title=Twoje hasЕ‚o zostaЕ‚o zmienione! +resetpwd.changed=Zaloguj siД™ uЕјywajД…c nowego hasЕ‚a. +resetpwd.intro=Wybierz hasЕ‚o do korzystania z konta w Mibew. +resetpwd.login=PrzejdЕє do logowania +resetpwd.submit=ZmieЕ„ +resetpwd.title=ZmieЕ„ hasЕ‚o w Mibew +restore.back_to_login=WrГіД‡ do strony logowania +restore.emailorlogin=Login lub adres e-mail: +restore.intro=Nie moЕјna odzyskaД‡ hasЕ‚a, ale moЕјesz ustawiД‡ nowe, poprzez link przesЕ‚any przez e-mail. +restore.mailsubj=Resetowanie hasЕ‚a w Mibew +restore.mailtext=Witam {0}, ProszД™ kliknД…Д‡ na poniЕјszy link lub skopiowaД‡ i wkleiД‡ adres URL do przeglД…darki: {1} To pozwoli Ci wybraД‡ inne hasЕ‚o. Komunikator Mibew. +restore.pwd.message=Nie pamiД™tasz hasЕ‚a? +restore.sent.title=Odzyskiwanie hasЕ‚a +restore.sent=WysЕ‚aliЕ›my instrukcje na e-mail. ProszД™, sprawdЕє! +restore.submit=Resetuj hasЕ‚o +restore.title=Problemy z dostД™pem do konta? right.administration=Administracja right.main=GЕ‚Гіwne right.other=Inne @@ -375,22 +431,34 @@ settings.enablessl=PozwГіl na bezpieczne poЕ‚Д…czenia (SSL) settings.enablestatistics.description=Dodatkowa strona z uЕјytecznymi raportami. settings.enablestatistics=WЕ‚Д…cz "Statystyki" settings.forcessl.description=Pokazuj rozmowД™ wyЕ‚Д…cznie przez poЕ‚Д…czenie https -settings.forcessl=WymuЕ› aby wszystkie rozmowy przebiegaЕ‚y po bezpiecznym protokole szyfrowanym SSL. +settings.forcessl=WymuЕ› aby wszystkie rozmowy przebiegaЕ‚y po bezpiecznym protokole szyfrowanym SSL +settings.frequencychat.description=OkreЕ›l interwaЕ‚ odЕ›wieЕјania w sekundach. DomyЕ›lnie jest to 2 sekundy. +settings.frequencychat=OdЕ›wieЕјanie Chata +settings.frequencyoldchat.description=Stare przeglД…darki wymagajД… odЕ›wieЕјania caЕ‚ej strony, aby pobraД‡ wiadomoЕ›ci. DomyЕ›lnie jest to 7 sekund. +settings.frequencyoldchat=Czas odswieЕјania strony dla starych przeglД…darek +settings.frequencyoperator.description=OkreЕ›la interwaЕ‚ sondowania w sekundach. DomyЕ›lnie jest to 2 sekundy. +settings.frequencyoperator=Czas odЕ›wieЕјania konsoli operatora settings.geolink.description=KaЕјdy adres IP jest odnoЕ›nikiem i otwiera kolejne okno po klikniД™ciu. {ip} jest zastД™powany prawdziwym adresem IP. settings.geolink=OdnoЕ›nik do zewnД™trznych usЕ‚ug geolokacji settings.geolinkparams.description=Rozmiar okna oraz ukrywanie paska narzД™dzi settings.geolinkparams=Opcje okna geolokacji settings.host.description=Docelowa Е›cieЕјka twojej strony firmowej settings.host=Adres URL twojej strony internetowej +settings.leavemessage_captcha.description=Ochrona przed spamu (captcha) +settings.leavemessage_captcha=WymuЕ› na GoЕ›ciach, aby wprowadziД‡ kod weryfikacyjny przy wysyЕ‚aniu wiadomoЕ›ci settings.logo.description=WprowadЕє adres z http dla loga twojej firmy settings.logo=Logo twojej firmy settings.no.title=WprowadЕє nazwД™ swojej firmy settings.onehostconnections.description=0 - pozwГіl na dowolnД… liczbД™ poЕ‚Д…czeЕ„ settings.onehostconnections=Maksymalna liczbД… wД…tkГіw z jednego adresu +settings.onlinetimeout.description=Ustawia liczbД™ sekund, aby pokazaД‡ operatora online. DomyЕ›lnie jest to 30 sekund. +settings.onlinetimeout=PrГіg czasu dla pokazania operatora online settings.popup_notification.description=MaЕ‚e pojawiajД…ce siД™ okienko do zwrГіcenia Twojej uwagi. -settings.popup_notification=WЕ‚Д…cz powiadomienie wyskakujД…cym okienkiem popup podczas pojawienia siД™ nowego uЕјytkownika oczekujД…cego na rozmowД™ +settings.popup_notification=WЕ‚Д…cz powiadomienie wyskakujД…cym okienkiem popup podczas pojawienia siД™ nowego uЕјytkownika oczekujД…cego na rozmowД™. settings.saved=Zmiany zostaЕ‚y zapisane settings.sendmessagekey=WysyЕ‚aj wiadomoЕ›ci za pomocД…: +settings.show_online_operators.description=MoЕјe spowolniД‡ tempo aktualizacji listy +settings.show_online_operators=PokaЕј operatorГіw online na stronie "Lista oczekujД…cych goЕ›ci" settings.survey.askgroup.description=PokaЕј/ukryj pole wyboru wydziaЕ‚u w ankiecie settings.survey.askgroup=PozwГіl uЕјytkownikowi wybraД‡ wydziaЕ‚/grupД™ settings.survey.askmail.description=PokaЕј/ukryj pole wprowadzenia adresu email w ankiecie @@ -398,7 +466,7 @@ settings.survey.askmail=PoproЕ› uЕјytkownika o e-mail settings.survey.askmessage.description=PokaЕј/ukryj pole wstД™pnego pytania w ankiecie settings.survey.askmessage=PokaЕј pole wstД™pnego pytania settings.title=Ustawienia komunikatora -settings.usercanchangename.description=Odznacz aby ukryД‡ pole pozwalajД…ce zmieniД‡ nazwД™ uЕјytkownika w oknie wiadomoЕ›ci. +settings.usercanchangename.description=Odznacz aby ukryД‡ pole pozwalajД…ce zmieniД‡ nazwД™ uЕјytkownika w oknie wiadomoЕ›ci settings.usercanchangename=Pozwalaj uЕјytkownikom zmieniaД‡ swoje nazwy settings.usernamepattern.description=Jak identyfikowaД‡ nazwy uЕјytkownikГіw? Po {name}, {id} lub {addr}. DomyЕ›lnie: {name} settings.usernamepattern=Identyfikator uЕјytkownikГіw @@ -415,13 +483,17 @@ statistics.wrong.dates=WybraЕ‚eЕ› datД™ Od wystД™pujД…cД… pГіЕєniej niЕј data Do tag.pagination.info=Strona {0} do {1}, {2}-{3} z {4} tag.pagination.next=nastД™pne tag.pagination.no_items.elements=Brak elementГіw -tag.pagination.no_items=Znalezionych elementГіw: 0 +tag.pagination.no_items=Znalezionych elementГіw 0 tag.pagination.previous=poprzednie thread.back_to_search=PrzyjedЕє do wyszukiwania thread.chat_log=Logi rozmowy -thread.intro=Strona wyЕ›wietla rozmowД™ +thread.intro=Strona wyЕ›wietla szczegГіЕ‚y rozmowy i treЕ›Д‡. +time.dateformat=%B %d, %Y time.locale=pl_PL +time.never=Nigdy time.timeformat=%H:%M +time.today.at=Dzisiaj o +time.yesterday.at=Wczoraj o topMenu.admin=Administracja topMenu.logoff=Wyloguj siД™ topMenu.main=Strona gЕ‚Гіwna From 49be184c5005e73fc16625b3c8e0e2ff4a4ced59 Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sat, 17 Sep 2011 23:34:33 +0200 Subject: [PATCH 23/40] update Belarusian (by Berasneu) --- src/messenger/.idea/encodings.xml | 1 + .../webim/locales/be/button/mblue_off.gif | Bin 0 -> 7564 bytes .../webim/locales/be/button/mblue_on.gif | Bin 0 -> 8628 bytes .../webim/locales/be/button/mgreen_off.gif | Bin 0 -> 7291 bytes .../webim/locales/be/button/mgreen_on.gif | Bin 0 -> 10186 bytes .../webim/locales/be/button/simple_off.gif | Bin 0 -> 4509 bytes .../webim/locales/be/button/simple_on.gif | Bin 0 -> 3717 bytes .../webim/locales/be/button/webim_off.gif | Bin 0 -> 4686 bytes .../webim/locales/be/button/webim_on.gif | Bin 0 -> 4636 bytes .../webim/locales/be/images/history.gif | Bin 0 -> 297 bytes .../webim/locales/be/images/login.gif | Bin 0 -> 2114 bytes .../webim/locales/be/images/message.gif | Bin 0 -> 331 bytes .../webim/locales/be/images/save.gif | Bin 0 -> 2163 bytes .../webim/locales/be/images/search.gif | Bin 0 -> 2111 bytes .../webim/locales/be/images/wmchat.png | Bin 0 -> 3979 bytes src/messenger/webim/locales/be/properties | 510 ++++++++++++++++++ src/messenger/webim/locales/names/properties | 2 + 17 files changed, 513 insertions(+) create mode 100644 src/messenger/webim/locales/be/button/mblue_off.gif create mode 100644 src/messenger/webim/locales/be/button/mblue_on.gif create mode 100644 src/messenger/webim/locales/be/button/mgreen_off.gif create mode 100644 src/messenger/webim/locales/be/button/mgreen_on.gif create mode 100644 src/messenger/webim/locales/be/button/simple_off.gif create mode 100644 src/messenger/webim/locales/be/button/simple_on.gif create mode 100644 src/messenger/webim/locales/be/button/webim_off.gif create mode 100644 src/messenger/webim/locales/be/button/webim_on.gif create mode 100644 src/messenger/webim/locales/be/images/history.gif create mode 100644 src/messenger/webim/locales/be/images/login.gif create mode 100644 src/messenger/webim/locales/be/images/message.gif create mode 100644 src/messenger/webim/locales/be/images/save.gif create mode 100644 src/messenger/webim/locales/be/images/search.gif create mode 100644 src/messenger/webim/locales/be/images/wmchat.png create mode 100644 src/messenger/webim/locales/be/properties diff --git a/src/messenger/.idea/encodings.xml b/src/messenger/.idea/encodings.xml index c37dcf8f..55374710 100644 --- a/src/messenger/.idea/encodings.xml +++ b/src/messenger/.idea/encodings.xml @@ -2,6 +2,7 @@ + diff --git a/src/messenger/webim/locales/be/button/mblue_off.gif b/src/messenger/webim/locales/be/button/mblue_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cbc773c6bccd78d83c289f2c16006c81ea328fe GIT binary patch literal 7564 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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/button/mgreen_on.gif b/src/messenger/webim/locales/be/button/mgreen_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..c30d7256ab688a6c4692050b434e875058a2b773 GIT binary patch literal 10186 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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/button/webim_on.gif b/src/messenger/webim/locales/be/button/webim_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..73f2618a35a3829845b0e1a1d444e96faf8ca875 GIT binary patch literal 4636 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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/images/history.gif b/src/messenger/webim/locales/be/images/history.gif new file mode 100644 index 0000000000000000000000000000000000000000..0423cb3a2b9b42609a00515f63f6b1cbe9bb5b3b GIT binary patch literal 297 zcmZ?wbhEHb6k!Np*v!eWef#!Jn>H<5w(RfUzvs@KJA3x*hYuhA|Np;a$r1)^K=CIF zBLf2`gAPa%WCjDvwSpxfO%4{>Hj^2nSClTu@M~G=*I1=CUD|Jx$MxHLWozcEFJgAH zU~cO;GQYDup|590k6zb|w5omTpp4}+6A#ZWEta!g zzkY6Rv`k)MLxOvCdr5dzPhXdH(S-b#3hk*mz0TRQrs=0oZ)#jHvpl|RMrZSan$>Y_ z>!QP)>U(FpcI$06-EFkFe#N5leN&GdI=bt`!luI~kDsqQQ0sdj{_N>Zc~`I9x_a5- k`uvMqC*Qum=ajx-h|U>K&6}L6Q{+Cs5E2o4A;@420N@pb5dZ)H literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/images/login.gif b/src/messenger/webim/locales/be/images/login.gif new file mode 100644 index 0000000000000000000000000000000000000000..72673b2e5b3750febd16a66ad4aff40012457aeb GIT binary patch literal 2114 zcmV-I2)*}5Nk%w1VQv5;0Oo%HId!>Hoa91`(^RM6d3kwcn9N0n#b>qlHGsv6ii*R- z!%LIhC2F;%rlys)**rWv%*@Qn+3H!N=}@BGti|B%@%287&6=8;I)%vq003%gYSGcr z-rnB6zP`A)xVE;oTU%S!;_peB)~u|oFK)Kl+S+5U^6KvMA!oBGaJn#gz~kfNm6er7 zmed|&u&Jr3va+%c4h~P4;4OB(@$~pQeZafByES~qTaCpyg2^&`!hC#u;NajTY`0FI z+FYpYDssC*kkEH`cQ<{>)YQ~4cEL+9?3 z>FMa`=;r3;=jZ3-`R;1M3d4hbG%EO*jJ(FSF7V#rsiO) z@IZgSNR`-6pWIBC+xYnS^z`)g_4WGt`uqF){QUfvmzV$l{{R30A^8LW004ggEC2ui z0B!&y000O7fPaF6goTEOh>41ejE#3uX%`o1BOe`*oSmMZh#w6d8$4NfSYJFF zHVq%3u(7g)9wQrIdAU=&Q+K^x8zUaG#Knzh5M8->S695dchPrM5NO8N*nbKm9Lsqp z5e@}4H3be46?ay8dK@DP+3~R>W_Ycg;Mw_Iup z=s*Akfkh}fRQOwRBt$_D4MU0?NwTELlPFV;#Db?~%Uls^=n!B51CyH=av+$PV~Laq zT+W=~LX_xGE_{$8<-=!BQ>J^OMlGmLkCm%ft?aVms~0q1S8_EAn+KIQmsrv+Lsg{; zDuyoqU*=I$1A!eROe_T1YoTV2nNLzk2_ZBoQKpBVa&aoPalxqttwvjiHQE$szL-r} zo6BAUH!VQh*ghV?g=mcTor?&0dOaeS%aD+zEp@x?-9qzQLQ$2gE zPR)ANmpZV{E@$S9%5z)LY};zrKDsUH)uAbhXeRAzyv;|=LZG?yb-_+C`90gaK!O}Tyi#KU;{fl z#IS{Acd(kb}Vc7X>iCEx*R zW+XsB19==t8UaLT!NLdLHR>dk*hUFu7hhbu%oPQw@P-NM-8Mm~elURns!^bT1B}BV zb|0K_UXa0!8GxWc6HQ#@l}lWZ~^HHK_0dx#iln25tzTx&R6!9LA=7kja_^2(dJ4FpjNPu$6Vb+EL0%k7Y0trw( z)mU-`SrO;G0A^r!zE{`~LlX}eokzh97fb}ji+WLTqZz+$85Ly(CGmh)15e>W1`srS1s(+p-9!v! zM4UkaN=jVt)QNWibr+UXu64*@Y+eW-#42+$S{uz(62$X^pc@C6O%@BtYBgAt*3!77F!3}VP)7Q;XW zGF;Cq6_`U2Wbgw!V4yE4^MeweAcNhgh-Pq0&K~lVqbmSNgUujRffQA^Y(WWYSldDd zEEm1YSulE6+~O9*(8Vlv(TjZmkTmWbxdQFgMlHhc*QMXQ4Cic0~xePhB1_(47wZxL%Q;x6C7a)PY3`8bWo9t zWMl?FP{9Ij-~t@b;5d+R6LYLEmg!KaEC=dN75q50CpoWqg|r|o#V`h4_Hqo49D^Bv zDbF&PL70)8WHi(ug$@c}2K(s8KY-AK91H;k3nj`KcJ?nr~oAk=|O;~+>ysGL#* zq}ITI%gAAo42g_qJ4Y(dd9GjuW|(IghN;hJL_i7*xPb~%&;}sbGzClO0T5isfCv=l zRr-mWbN1w!AdRLp32GF!UYP}rePME0xF9VPInsO9)1LO9G{XvhdD5+(bR=ltKvmRm z1Qhh(tY>8a15m)$YATc|AW?~2=StVQhQtsfAVWbaKmh=-^{*}nEC2?A7%?D3A&7Ov zHaPH@3WNg(Bp?9}&f%Nk@ZcSZ&FnECP=(0QuyygmLNzo?T1M1j15{u~yyB&WU<{+Q suvLU8NU;JcsKX0o*gywd5!>D_LK2j)1ST}$+u|DcxX4W|ECK-lI}UQcZvX%Q literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/images/message.gif b/src/messenger/webim/locales/be/images/message.gif new file mode 100644 index 0000000000000000000000000000000000000000..087cec83dde03fa18e0585cb0e988259d968321d GIT binary patch literal 331 zcmZ?wbhEHb6k!Nu*v!RnYo-77MNZ$}+837pJOSoTB>dNc;c)|1V5ZWWWH5 zKUo+V7`Pa8Kr$dR7+8Kx&@gTCw8*xZ$`HMxbU}t+`%1sYDy`PeJw`_DlQZ7$5PEmO z*N<7JuSV~pfu@U5|M@iC!sdS~W@sJvJW^$R`kn7=4&lm68Z)Zj?mTgO`=q}n>Alx@ zZSKcjTaqH$t4TsFUaVe zHQQ%Rn`_FZ+O<_STjng^xO-Yx{Pv`khnC0fvO2zO&%9Nh{d)aN7M)zWYQ@3zlV;qS zbz%SQvojB03BPu9^^wO(kM3rrZGQW~=kxiT?v@`%Kb}~3U*B+#W`?3cs{^Ylm+y}c XevK?#VlPT(cx+sBv|C)6fx#L8fMc0V literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/images/save.gif b/src/messenger/webim/locales/be/images/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e9fe4c28d62413c32a284c7a1d0d2e09287ed78 GIT binary patch literal 2163 zcmV-(2#ohfNk%w1VQv5;0Oo%Ht*x!X!othT%gWj6;^N}AwzlQvGJL|?+S+`4 zd}y`yC2Y4vl+!IOEklseOPknSsO&0oyjP*T`1kks`T6gww5 z?(XR5=Few3=jZ4C{{B>_;M3piD|5VQxcFG6=0JbHTd?L}tMEX6 zz)YCiNR`;{^Y%}l-1PMH_4W1o`uh9(`~3X;mzS3S00960{{R30A^8LW004ggEC2ui z0B!&y000O7fPaF6goTEOh>41ejE#*na^4BFlIx z0~8K7Hx3j799CF)c_IJ-+3~Re26wqC8dOd${7yM+G303Az%CCOYw{8@;={0Ew_Ix+ z@R&fcA`ch-o-8p@P(;IzAVZ2ANwTELlOeas>_3=s#Pqzu=wf)%~zIO&A#G6<&EW*v&&F%;ev`G z%a(Zm*4&sdhslE$cyIdIup_3F7*$LFJt|ab;ig}hLS0-iYC)>e)>(~q#hEW=SJLLP zmrEtf&0Dyf<mi z`cmiBS>?-`QE^`DS?${E*F�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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/be/properties b/src/messenger/webim/locales/be/properties new file mode 100644 index 00000000..63a9d848 --- /dev/null +++ b/src/messenger/webim/locales/be/properties @@ -0,0 +1,510 @@ +encoding=cp1251 +output_charset=utf-8 +output_encoding=utf-8 +admin.content.client_agents=Стварэнне, выдаленне аператараў кампаніі. Кіраванне іх правамі і магчымасцямі. +admin.content.client_gen_button=Атрыманне HTML-кода для кнопкі "Вэб Месэнджара". +admin.content.client_settings=Вы можаце задаць опцыі, якія ўплываюць на адлюстраванне чат-акна і агульныя паводзіны сістэмы. +admin.content.description=Набор функцый, які даступны толькі зарэгістраваным аператарам. +agent.not_logged_in=Вашая сесія састарэла, увайдзіце, калі ласка, ізноў +app.descr=Мібью Вэб Месэнджар - гэта прыкладанне для кансультавання наведвальнікаў Вашага сайта. +app.title=Мібью Вэб Месэнджар +ban.error.duplicate=Адрас ужо зарэгістраваны ў сістэме, націсніце тут, каб адрэдагаваць яго. +button.delete=Выдаліць +button.enter=Увайсці +button.offline.bottom=Пакіньце паведамленне +button.offline.top=Кансультант сайта +button.offline=OFFLINE +button.online.bottom=Задайце пытанне +button.online.top=Кансультант сайта +button.online=ONLINE +button.save=Захаваць +button.search=Шукаць +canned.actions.del=выдаліць +canned.actions.edit=рэдагаваць +canned.actions=Змяніць +canned.add=Дадаць паведамленне.. +canned.descr=Стварайце тэкставыя паведамленні, якімі будзеце часта карыстацца ў чаце. +canned.group=Для групы: +canned.locale=Для мовы: +canned.title=Шаблоны адказаў +cannededit.descr=Адрэдагуйце існуючае паведамленне. +cannededit.done=Захавана +cannededit.message=Паведамленне +cannededit.no_such=Паведамленне, магчыма, ужо было выдаленае +cannededit.title=Рэдагаваць шаблон +cannednew.descr=Дадаць новы шаблон для хуткага адказу. +cannednew.title=Новы шаблон +char.redirect.operator.away_suff=(адышоў) +char.redirect.operator.online_suff=(даступны) +chat.came.from=Наведвальнік прыйшоў са старонкі {0} +chat.client.changename=Змяніць імя +chat.client.name=Вы +chat.client.spam.prefix=[спам]  +chat.client.visited.page=Наведвальнік перайшоў на {0} +chat.default.username=Наведвальнік +chat.error_page.close=Зачыніць... +chat.error_page.head=Адбылася памылка: +chat.error_page.title=Памылка +chat.mailthread.sent.close=Зачыніць... +chat.mailthread.sent.closewindow=Націсніце на гэтую спасылку каб зачыніць акно +chat.mailthread.sent.content=Гісторыя Вашай гутаркі была адпраўлена на адрас {0} +chat.mailthread.sent.title=Адпраўлена +chat.predefined_answers=Добры дзень! Чым я магу Вам дапамагчы?\nПачакайце трошкі, я пераключу Вас на іншага аператара.\nВы не маглі б удакладніць, што Вы маеце на ўвазе..\nПоспехаў, усяго найлепшага! +chat.redirect.back=Назад... +chat.redirect.cannot=Вы не абслугоўваеце гэтага наведвальніка. +chat.redirect.choose=Выбярыце: +chat.redirect.group=Група: +chat.redirect.operator=Аператар: +chat.redirect.title=Перанакіраваць
іншаму аператару +chat.redirected.close=Зачыніць... +chat.redirected.closewindow=Націсніце на гэтую спасылку каб зачыніць акно +chat.redirected.content=Наведвальнік змешчаны ў прывілеяваную чаргу аператара {0}. +chat.redirected.group.content=Наведвальнік змешчаны ў прывілеяваную чаргу групы {0}. +chat.redirected.title=Наведвальнік пераведзены да іншага аператару +chat.status.operator.changed=Аператар {0} змяніў аператара {1} +chat.status.operator.dead=У аператара ўзніклі праблемы з сувяззю, мы часова перавялі Вас у прыярытэтную чаргу. Прабачце за Вашае чаканне. +chat.status.operator.joined=Аператар {0} уключыўся ў гутарку +chat.status.operator.left=Аператар {0} пакінуў дыялог +chat.status.operator.redirect=Аператар {0} пераключыў Вас на іншага аператара, калі ласка, пачакайце трохі +chat.status.operator.returned=Аператар {0} вярнуўся ў дыялог +chat.status.user.changedname=Наведвальнік змяніў імя {0} на {1} +chat.status.user.dead=Наведвальнік зачыніў акно дыялогу +chat.status.user.left=Наведвальнік {0} пакінуў дыялог +chat.status.user.reopenedthread=Наведвальнік нанова ўвайшоў у дыялог +chat.thread.state_chatting_with_agent=У дыялогу +chat.thread.state_closed=Зачынена +chat.thread.state_loading=Загружаецца +chat.thread.state_wait=У чарзе +chat.thread.state_wait_for_another_agent=Чаканне аператара +chat.visitor.email=E-Mail: {0} +chat.visitor.info=Пра Наведвальніка: {0} +chat.wait=Калі ласка, пачакайце трохі, да Вас далучыцца аператар.. +chat.window.chatting_with=Вы гутарыце з: +chat.window.close_title=Зачыніць дыялог +chat.window.poweredby=Прадстаўлена: +chat.window.poweredreftext=mibew.org +chat.window.predefined.select_answer=Выбярыце адказ... +chat.window.product_name=Mibew Месэнджар +chat.window.send_message=Адправіць паведамленне +chat.window.send_message_short=Адправіць ({0}) +chat.window.title.agent=Mibew Месэнджар +chat.window.title.user=Mibew Месэнджар +chat.window.toolbar.mail_history=Адправіць гісторыю дыялогу па электроннай пошце +chat.window.toolbar.redirect_user=Перанакіраваць наведвальніка іншаму аператару +chat.window.toolbar.refresh=Абнавіць змесціва дыялогу +clients.how_to=Для адказу наведвальніку клікніце на адпаведнае імя ў спісе. +clients.intro=На гэтай старонцы можна прагледзець спіс тых наведвальнікаў, якія чакаюць адказу. +clients.no_clients=У гэтай чарзе наведвальнікаў, якія чакаюць, няма +clients.queue.chat=Наведвальнікі ў дыялогах +clients.queue.prio=Прыярытэтная чарга наведвальнікаў +clients.queue.wait=Чакаюць аператара ў першы раз +clients.title=Спіс наведвальнікаў, якія чакаюць +common.asterisk_explanation=* - палі, абавязковыя для запаўнення +company.title=Mibew Messenger Community +confirm.take.head=Змяніць аператара +confirm.take.message=З наведвальнікам {0} ужо гутарыць {1}.
Вы ўпэўнены што жадаеце змяніць яго? +confirm.take.no=Не, зачыніць акно +confirm.take.yes=Так, я ўпэўнены +content.blocked=Тут можна абараняцца ад спаму і шкодных наведвальнікаў. +content.history=Пошук па гісторыі дыялогаў. +content.logoff=Пакінуць сістэму. +data.saved=Змены захаваныя +demo.chat.question=Парайце мне, калі ласка, добры браўзэр? +demo.chat.welcome=Добры дзень! Чым я магу Вам дапамагчы? +errors.captcha=Уведзеныя знакі не адпавядаюць малюнку. +errors.failed.uploading.file=Памылка выгрузкі файла "{0}": {1}. +errors.file.move.error=Памылка капіявання файла +errors.file.size.exceeded=Перавышаны дапушчальны памер файла +errors.footer= +errors.header=Выправіце памылкі:
    +errors.invalid.file.type=Недапушчальны фармат файла +errors.prefix=
  • +errors.required=Запоўніце поле "{0}". +errors.suffix=
  • +errors.wrong_field=Няправільна запоўнена поле "{0}". +features.saved=Набор сэрвісаў зменены +form.field.address.description=Напрыклад: 12.23.45.123 ці relay.info.ru +form.field.address=Адрас наведвальніка +form.field.agent_commonname.description=Пад гэтым імем Вас убачаць Вашыя наведвальнікі з іншых краін. +form.field.agent_commonname=Інтэрнацыянальнае імя (лацінкай) +form.field.agent_name.description=Пад гэтым імем Вас убачаць Вашыя наведвальнікі, па ім жа да
    Вас будзе звяртацца сістэма. +form.field.agent_name=Імя +form.field.avatar.current.description=Дадзены малюнак наведвальнікі будуць бачыць у сваім чат-акне,
    калі будуць гутарыць з Вамі. Націснуўшы на спасылку пад малюнкам,
    Вы можаце выдаліць аватарку. +form.field.avatar.current=Малюнак бягучай аватаркі +form.field.avatar.upload.description=Выбярыце файл на лакальным дыску. Для найлепшага адлюстравання памер
    малюначка не павінен пераўзыходзіць 100x100 px. +form.field.avatar.upload=Загрузіць аватарку +form.field.ban_comment.description=Прычына забароны +form.field.ban_comment=Каментар +form.field.ban_days.description=Колькасць дзён,
    на якую будзе забаронены адрас +form.field.ban_days=Дні +form.field.email=Ваш email +form.field.groupcommondesc.description=Апісанне для наведвальнікаў з іншых краін. +form.field.groupcommondesc=Інтэрнацыянальнае апісанне +form.field.groupcommonname.description=Гэтую назву ўбачаць Вашыя наведвальнікі з іншых краін. +form.field.groupcommonname=Інтэрнацыянальная назва +form.field.groupdesc.description=Будзе даступная наведвальнікам пры выбары групы. +form.field.groupdesc=Апісанне +form.field.groupemail.description=Адрас для паведамленняў. Пакіньце пустым, каб выкарыстоўваць глабальны адрас. +form.field.groupname.description=Можа быць назвай аддзела ў Вашай кампаніі. +form.field.groupname=Назва групы +form.field.login.description=Лагін можа складацца з маленькіх лацінскіх літар і знака падкрэслення. +form.field.login=Лагін +form.field.mail.description=Для апавяшчэнняў і аднаўлення пароля. +form.field.mail=Адрас электроннай пошты +form.field.message=Паведамленне +form.field.name=Вашае імя +form.field.password.description=Увядзіце новы пароль ці пакіньце поле пустым, каб захаваць стары. +form.field.password=Пароль +form.field.password_confirm.description=Пацвердзіце ўведзены пароль. +form.field.password_confirm=Пацверджанне +form.field.translation=Тэкст перакладу +harderrors.header=Немагчыма выканаць:
      +image.button.login=/locales/be/images/login.gif +image.button.save=/locales/be/images/save.gif +image.button.search=/locales/be/images/search.gif +image.chat.history=/locales/be/images/history.gif +image.chat.message=/locales/be/images/message.gif +image.chat.sprite=/locales/be/images/wmchat.png +install.0.app=Прыкладанне знойдзена па адрасе {0} +install.0.package=Кантрольная сума файлаў праверана. +install.0.php=PHP версіі {0} +install.1.connected=Вы падлучаны да сервера MySQL версіі {0} +install.2.create=Стварыць базу дадзеных "{0}" +install.2.db_exists=Створана база дадзеных "{0}". +install.2.notice=База, якую Вы выбралі, не існуе на серверы. Калі ў Вас ёсць правы
      на яе стварэнне, яе можна стварыць цяпер. +install.3.create=Стварыць неабходныя табліцы. +install.3.tables_exist=Неабходныя табліцы створаныя. +install.4.create=Абнавіць +install.4.done=Структура табліц гатовая да выкарыстання. +install.4.notice=Неабходна абнавіць структуру табліц для карэктнай працы Вэб Месэнджара. +install.5.newmessage=New Message +install.5.newvisitor=New Visitor +install.5.text=Праверце гук: {0} і {1} +install.bad_checksum=Кантрольная сума не супадае для {0} +install.cannot_read=Немагчыма прачытаць файл {0} +install.check_files=Паспрабуйце нанова загрузіць файлы на сервер. +install.check_permissions=Не хапае правоў {0} +install.connection.error=Няма доступу да MySQL серверу, праверце наладкі ў config.php. Памылка: {0} +install.done=Выканана: +install.err.back=Выправіце праблему і паспрабуйце яшчэ раз. Націсніце назад, каб вярнуцца да майстра ўсталёўкі. +install.err.title=Памылка +install.kill_tables.notice=Немагчыма абнавіць структуру табліц. Паспрабуйце зрабіць гэта ўручную ці перастварыце ўсе табліцы нанова (увага: усе дадзеныя будуць згубленыя). +install.kill_tables=Выдаліць існуючыя табліцы +install.license=Ліцэнзійная дамова пра праграмнае забеспячэнне +install.message=Прытрымлівайцеся ўказанням майстра для правільнай налады базы дадзеных. +install.newfeatures=Віншуем! Вы паспяхова ўсталявалі Mibew Вэб Месэнджар {1}. Наведаеце старонку Пашырэнняў, каб падключыць больш функцый. +install.next=Наступны крок: +install.no_file=Не хапае файла: {0} +install.title=Усталёўка +install.updatedb=Калі ласка, запусціце Майстар абнаўлення базы дадзеных. +installed.login_link=Увайсці ў сістэму +installed.message=Усталёўка паспяхова завершана. +installed.notice=Вы можаце ўвайсці ў сістэму як admin з пустым паролем.

      !!! У мэтах бяспекі выдаліце, калі ласка, каталог {0} з Вашага сервера і памяняйце пароль. +lang.choose=Выбярыце Вашую мову +leavemail.body=Ваш наведвальнік '{0}' пакінуў паведамленне:\n\n{2}\n\nЕmail: {1}\n{3}\n--- \nЗ павагай,\nВаш Вэб Месэнджар +leavemail.subject=Пытанне ад {0} +leavemessage.close=Зачыніць +leavemessage.descr=Нажаль, зараз няма ніводнага даступнага аператара. Паспрабуйце звярнуцца пазней ці пакіньце нам сваё пытанне, і мы звяжамся з Вамі па пакінутым адрасе. +leavemessage.perform=Перадаць +leavemessage.sent.message=Дзякуй за Вашае пытанне, мы паспрабуем адказаць на яго як мага хутчэй. +leavemessage.sent.title=Вашае паведамленне захаванае +leavemessage.title=Пакіньце Вашае паведамленне +leftMenu.client_agents=Аператары +leftMenu.client_gen_button=Код кнопкі +leftMenu.client_settings=Наладкі +license.title=Ліцэнзія +localedirection=ltr +localeid=Belarusian (be) +mail.user.history.body=Добры дзень, {0}!\n\nПа Вашаму запыту, дасылаем гісторыю: \n\n{1}\n--- \nЗ павагай,\nMibew Месэнджар +mail.user.history.subject=Месэнджар: гісторыя дыялогу +mailthread.close=Зачыніць... +mailthread.enter_email=Увядзіце Ваш E-mail: +mailthread.perform=Адправіць +mailthread.title=Адправіць гісторыю гутаркі
      на паштовую скрыню +menu.agents=Спіс аператараў +menu.blocked=Непажаданыя наведвальнікі +menu.canned=Шаблоны адказаў +menu.goonline=Вы Афлайн.
      Падключыцца.. +menu.groups.content=Аб'яднанні аператараў на аснове аддзелаў ці абласцей ведаў. +menu.groups=Групы +menu.locale.content=Абраць мову сістэмы. +menu.locale=Мова +menu.main=Галоўная +menu.operator=Вы {0} +menu.profile.content=На гэтай старонцы Вы можаце адрэдагаваць сваю персанальную інфармацыю. +menu.profile=Профіль +menu.translate=Лакалізацыя +menu.updates.content=Праверыць наяўнасць абнаўленняў месэнджара. +menu.updates=Абнаўленні +my_settings.error.password_match=Уведзеныя паролі павінны супадаць +no_such_operator=Запытаны ўліковы запіс не існуе +operator.group.no_description=<без апісання> +operator.groups.intro=Групы, ў якіх знаходзіцца аператар. +operator.groups.title=Групы +page.analysis.search.head_browser=Браўзэр +page.analysis.search.head_group=Група +page.analysis.search.head_host=Адрас наведвальніка +page.analysis.search.head_messages=Паведамленняў наведвальніка +page.analysis.search.head_name=Імя +page.analysis.search.head_operator=Аператар +page.analysis.search.head_time=Час у дыялозе +page.analysis.userhistory.intro=На дадзенай старонцы Вы можаце ўбачыць усе дыялогі з Вашым наведвальнікам. +page.analysis.userhistory.title=Гісторыя дыялогаў +page.chat.old_browser.close=Зачыніць... +page.chat.old_browser.list=
        \n
      • Internet Explorer 5.5+
      • \n
      • Firefox 1.0+
      • \n
      • Opera 8.0+
      • \n
      • Mozilla 1.4+
      • \n
      • Netscape 7.1+
      • \n
      • Safari 1.2+
      • \n
      \n

      Таксама падтрымліваюцца некаторыя старыя браўзэры:

      \n
        \n
      • Internet Explorer 5.0
      • \n
      • Opera 7.0
      • \n
      +page.chat.old_browser.problem=

      Нажаль, для працы гэтай старонкі неабходзен навейшы браўзэр. Выкарыстоўвайце:

      +page.chat.old_browser.title=Выкарыстоўвайце навейшы браўзэр +page.gen_button.choose_group=Для групы +page.gen_button.choose_image=Выбар малюнка +page.gen_button.choose_locale=Для якой лакалі ствараць кнопку +page.gen_button.choose_style=Стыль чат-акна +page.gen_button.code.description=Увага! Пры ўнясенні
      якіх-небудзь змен
      у гэты код працаздольнасць
      кнопкі не гарантуецца! +page.gen_button.code=HTML-код +page.gen_button.default_group=-усе аператары- +page.gen_button.include_site_name=Уключаць імя сайта ў код +page.gen_button.intro=На гэтай старонцы Вы можаце атрымаць HTML-код кнопкі "Вэб Месэнджара" для размяшчэння на сваім сайце. +page.gen_button.modsecurity=Сумяшчальнасць з mod_security (modsecurity.org), уключыце калі акно з чатам адкрываецца з http памылкай +page.gen_button.sample=Прыклад +page.gen_button.secure_links=Выкарыстоўваць абароненае злучэнне (https) +page.gen_button.title=Атрыманне HTML-кода кнопкі +page.group.create_new=Тут вы можаце стварыць новую групу. +page.group.duplicate_name=Калі ласка, выбярыце іншае імя. Група з такім імем ужо існуе. +page.group.intro=Тут Вы можаце адрэдагаваць дэталі групы. +page.group.membersnum=Аператары +page.group.no_such=Такой групы не існуе +page.group.title=Дэталі групы +page.groupmembers.intro=Выбярыце аператараў, якія будуць складаць гэту групу. +page.groupmembers.title=Склад групы +page.groups.confirm=Вы ўпэўнены што жадаеце выдаліць групу "{0}"? +page.groups.intro=На гэтай старонцы вы можаце кіраваць групамі аператараў. Кожная група можа мець асобную кнопку пачатку чата і свае шаблоны адказаў. +page.groups.isaway=Away +page.groups.isonline=Даступная +page.groups.new=Дадаць групу... +page.groups.title=Групы +page.preview.agentchat=Акно чата (з боку аператара) +page.preview.agentrochat=Акно прагляду чата (для аператара) +page.preview.chatsimple=Простае чак-акно. Абнавіце, каб адпраўляць паведамленні (IE 5, Opera 7) +page.preview.choose=Выбярыце стыль +page.preview.choosetpl=Абярыце шаблон +page.preview.error=Памылка акна +page.preview.intro=Тут вы можаце паглядзець на стыль вашага сайта. +page.preview.leavemessage=Напісаць у акне паведамленняў +page.preview.leavemessagesent="Паведамленне будзе дастаўлена" акно +page.preview.mail=Mail thread window +page.preview.mailsent="Mail is sent" window +page.preview.nochat=List of supported browsers window +page.preview.redirect=Redirect visitor to another operator window +page.preview.redirected="Visitor is redirected" window +page.preview.showerr=Адлюстраваць памылкі +page.preview.style_default=-з наладак сайта- +page.preview.survey=Форма апытання наведвальніка перад пачаткам дыялогу +page.preview.title=Стыль месэнджара +page.preview.userchat=Акно чата (з боку наведвальніка) +page.translate.descr=Калі Вам не падабаецца пераклад, дашліце нам Ваш варыянт. +page.translate.done=Ваш пераклад захаваны. +page.translate.one=Увядзіце Ваш варыянт перакладу. +page.translate.title=Лакалізацыя +page_agent.cannot_modify=Вы не можаце змяняць профіль гэтага аператара. +page_agent.clear_avatar=Выдаліць аватарку +page_agent.create_new=Стварэнне новага аператара. +page_agent.error.duplicate_login=Выбярыце іншы лагін, бо аператар з уведзеным лагінам ужо зарэгістраваны ў сістэме. +page_agent.error.wrong_login=Лагін павінен складацца з лацінскіх знакаў, лічбаў і знака падкрэслення. +page_agent.intro=На гэтай старонцы Вы можаце прагледзець дэталі аператара і адрэдагаваць іх. +page_agent.tab.avatar=Фатаграфія +page_agent.tab.groups=Групы +page_agent.tab.main=Агульнае +page_agent.tab.permissions=Магчымасці +page_agent.title=Дэталі аператара +page_agents.agent_name=Імя +page_agents.agents=Поўны спіс аператараў: +page_agents.confirm=Вы ўпэўнены, што жадаеце выдаліць аператара "{0}"? +page_agents.intro=На гэтай старонцы можна прагледзець спіс аператараў кампаніі і дадаць новага пры наяўнасці адпаведных правоў доступу. +page_agents.isaway=Адышоў +page_agents.isonline=Даступны +page_agents.login=Лагін +page_agents.new_agent=Дадаць аператара... +page_agents.status=Апошні раз +page_agents.title=Аператары +page_analysis.full.text.search=Пошук па імі наведвальніка ці па тэксце паведамлення: +page_analysis.search.title=Гісторыя дыялогаў +page_avatar.intro=Вы можаце загрузіць фатаграфію пашырэння JPG, GIF, PNG ці TIF. +page_avatar.title=Загрузка фатаграфіі +page_ban.intro=З дапамогай механізму забароны Вы можаце змагацца з непажаданымі наведвальнікамі, якія парушаюць працу кансультантаў, адкрываючы вялікую колькасць вокнаў ці дасылаючы спам-паведамленні. +page_ban.sent=Адрас {0} забаронены на пазначаную колькасць дзён. +page_ban.thread=Вы адкрылі гэтае акно для дыялогу з "{0}", таму поле Адрас ужо запоўнена. Абярыце колькасць дзён і націсніце Адправіць. +page_ban.title=Забарона адрасу +page_bans.add=Дадаць адрас +page_bans.confirm=Вы ўпэўнены, што жадаеце выдаліць адрас {0} са спісу заблакаваных? +page_bans.list=Спіс забароненых адрасоў: +page_bans.title=Забароны +page_bans.to=Да +page_client.pending_users=На гэтай старонцы можна прагледзець спіс наведвальнікаў, якія чакаюць адказу. +page_group.tab.main=Агульнае +page_group.tab.members=Склад +page_login.error=Уведзены няправільны лагін ці пароль +page_login.intro=Калі ласка, увядзіце Вашыя імя і пароль для атрымання аператарскага доступу да сістэмы. +page_login.login=Лагін: +page_login.password=Пароль: +page_login.remember=Запомніць +page_login.title=Уваход у сістэму +page_search.intro=На гэтай старонцы можна ажыццявіць пошук дыялогаў па імі карыстальніка ці фразе, якая сустракаецца ў паведамленні. +page_settings.intro=Тут Вы можаце задаць опцыі, якія ўплываюць на адлюстраванне чат-акна і агульныя паводзіны сістэмы. +page_settings.tab.features=Пашырэнні +page_settings.tab.main=Агульнае +page_settings.tab.performance=Прадукцыйнасць +page_settings.tab.themes=Прагляд стыляў +pending.menu.hide=Схаваць меню >> +pending.menu.show=Паказаць меню >> +pending.popup_notification=Новы наведвальнік чакае адказу. +pending.status.setaway=Выставіць статус "Адышоў" +pending.status.setonline=Выставіць статут "Даступны" +pending.table.ban=Пазначыць наведвальніка як непажаданага +pending.table.head.contactid=Адрас наведвальніка +pending.table.head.etc=Рознае +pending.table.head.name=Імя +pending.table.head.operator=Аператар +pending.table.head.state=Стан +pending.table.head.total=Агульны час +pending.table.head.waittime=Час чакання +pending.table.speak=Націсніце для таго, каб абслужыць наведвальніка +pending.table.view=Падключыцца да дыялогу ў рэжыме прагляду +permission.admin=Адміністраванне сістэмы: налада, кіраванне аператарамі, генерацыя кнопкі +permission.modifyprofile=Магчымасць змяняць свой профіль +permission.takeover=Перахапляць дыялогі ў іншых аператараў +permission.viewthreads=Праглядаць дыялогі іншых аператараў у рэжыме рэальнага часу +permissions.intro=Тут Вы можаце кіраваць магчымасцямі аператара. +permissions.title=Магчымасці аператара +presurvey.department=Абярыце аддзел: +presurvey.intro=Дзякуй, што звязаліся з намі! Запоўніце, калі ласка, невялікую форму і націсніце "Пачаць дыялог". +presurvey.mail=E-mail: +presurvey.name=Вашае імя: +presurvey.question=Вашае пытанне: +presurvey.submit=Пачаць дыялог +presurvey.title=Вэб Месэнджар +report.bydate.1=Дата +report.bydate.2=Дыялогаў +report.bydate.3=Паведамленняў аператараў +report.bydate.4=Паведамленняў наведвальнікаў +report.bydate.title=Выкарыстанне месэнджара па днях +report.byoperator.1=Аператар +report.byoperator.2=Дыялогаў +report.byoperator.3=Паведамленняў +report.byoperator.4=Сярэдняя даўжыня паведамлення (у знаках) +report.byoperator.title=Статыстыка па аператарах +report.no_items=Мала дадзеных +report.total=Разам: +restore.back_to_login=Вярнуцца на галоўную +restore.emailorlogin=Лагін ці E-Mail: +restore.intro=З меркаванняў бяспекі мы не высылаем бягучы пароль, але Вы можаце замяніць яго на новы, скарыстаўшыся спасылкай з ліста. +restore.pwd.message=Забыліся пароль? +restore.sent.title=Запыт на змену пароля +restore.sent=Мы адправілі інструкцыі па змене пароля на Ваш паштовы адрас. Праверце Вашую паштовую скрыню! +restore.submit=Памяняць пароль +restore.title=Не можаце ўвайсці? +right.administration=Кіраванне +right.main=Наведвальнікі +right.other=Астатняе +settings.chat.title.description=Напрыклад, назва аддзела Вашай кампаніі. +settings.chat.title=Загаловак у чат-акне +settings.chatstyle.description=Прадпрагляд усіх старонак кожнага стылю даступны тут +settings.chatstyle=Выбярыце выгляд вашага чат акна +settings.company.title.description=Увядзіце назву Вашай кампаніі +settings.company.title=Назва кампаніі +settings.email.description=Увядзіце адрас электроннай пошты для атрымання паведамленняў ад сістэмы +settings.email=Адрас электроннай пошты +settings.enableban.description=З яе дапамогай можна блакаваць напады з вызначаных адрасоў +settings.enableban=Уключыць функцыю "Непажаданыя наведвальнікі" +settings.enablegroups.description=Дазваляе аб'ядноўваць аператараў у групы і арганізоўваць для іх асобныя чэргі. +settings.enablegroups=Уключыць функцыю "Групы" +settings.enablepresurvey.description=Прапануе наведвальніку запоўніць адмысловую форму перад пачаткам чата. +settings.enablepresurvey=Уключыць "Апытанне перад пачаткам дыялогу" +settings.enablessl.description=Ваш сервер павінен быць наладжаны для апрацоўкі https запытаў. +settings.enablessl=Дазваляць абароненыя злучэнні (SSL) +settings.enablestatistics.description=Дадае старонку са справаздачамі па выкарыстанні месэнджара. +settings.enablestatistics=Уключыць функцыю "Статыстыка" +settings.forcessl.description=Паказваць чаты, выкарыстоўваючы толькі абароненае злучэнне +settings.forcessl=Прымусова пераводзіць усе чаты ў абаронены рэжым +settings.frequencychat.description=Пакажыце чашчыню апытання сервера ў секундах. Па змаўчанні, 2 секунды. +settings.frequencychat=Перыядычнасць абнаўлення паведамленняў у чаце +settings.frequencyoldchat.description=Старым браўзарам даводзіцца перазагружаць цалкам дыялог для атрымання новых паведамленняў. Па змаўчанні, 7 секунд. +settings.frequencyoldchat=Перыядычнасць абнаўлення ўсяго дыялогу для старых браўзараў +settings.frequencyoperator.description=Пакажыце чашчыню апытання сервера ў секундах. Па змаўчанні - 2 секунды. +settings.frequencyoperator=Перыядычнасць абнаўлення кансолі аператара +settings.geolink.description=На любым IP адрасе можна будзе адкрыць невялікае акно з геаінфармацыяй. Можна выкарыстоўваць {ip}. +settings.geolink=Спасылка на вонкавы geolocation сэрвіс +settings.geolinkparams.description=Памер акна і наяўнасць тулбараў +settings.geolinkparams=Опцыі для акна з геамнфармацыяй +settings.host.description=Будзе адкрывацца па націску на лагатып ці назву кампаніі ў чат-акне +settings.host=Спасылка на Ваш вэб-сайт +settings.leavemessage_captcha.description=Абарона ад аўтаматызаванага спаму (captcha) +settings.leavemessage_captcha=Дазваляць пакідаць паведамленне толькі пасля ўводу адмысловага кода з малюнка +settings.logo.description=Увядзіце спасылку на лагатып кампаніі +settings.logo=Лога кампаніі +settings.no.title=Увядзіце імя Вашай кампаніі +settings.onehostconnections.description=0 дазваляе любую колькасць злучэнняў +settings.onehostconnections=Максімальная колькасць дыялогаў з аднаго адрасу +settings.onlinetimeout.description=Колькасць секунд, на працягу якіх аператар вызначаецца як анлайн пасля апошняга абнаўлення. Па змаўчанні - 30 секунд. +settings.onlinetimeout=Часавы інтэрвал даступнасці аператара +settings.popup_notification.description=Дазваляе прыцягнуць Вашую ўвагу, калі гукавой і візуальнай абвесткі недастаткова. +settings.popup_notification=Паказваць невялікі дыялог пры з'яўленні новых наведвальнікаў у чарзе. +settings.saved=Змены захаваныя +settings.sendmessagekey=Дасылаць паведамленне па: +settings.show_online_operators.description=Можа замарудзіць абнаўленне спісу +settings.show_online_operators=Паказваць даступных аператараў на старонцы наведвальнікаў, якія чакаюць +settings.survey.askgroup.description=Паказаць/схаваць выбар групы ў дыялозе перад пачаткам чата +settings.survey.askgroup=Дазваляць наведвальніку выбіраць групу аператараў +settings.survey.askmail.description=Паказаць/схаваць поле ўводу адрасу электроннай пошты +settings.survey.askmail=Пытаць e-mail адрас +settings.survey.askmessage.description=Паказаць/схаваць поле ўводу першага пытання +settings.survey.askmessage=Прапанаваць адразу ж задаць пытанне +settings.title=Наладкі месэнджара +settings.usercanchangename.description=Магчымасць прыбраць поле змены імя з чат-акна +settings.usercanchangename=Дазваляць наведвальнікам змяняць імёны +settings.usernamepattern.description=Пазначце, як адлюстраваць імя наведвальніка аператарам. Можна выкарыстоўваць {name}, {id} і {addr}. Па змаўчанні: {name} +settings.usernamepattern=Адлюстроўванае імя наведвальніка +settings.wrong.email=Увядзіце правільны адрас электроннай пошты +settings.wrong.onehostconnections=Поле "Максімальная колькасць дыялогаў" павінна быць лікам +site.title=mibew.org +site.url=http://mibew.org +statistics.dates=Абярыце даты +statistics.description=Розныя справаздачы па наведвальніках і выкарыстанні месэнджара. +statistics.from=З: +statistics.till=Па: +statistics.title=Статыстыка +statistics.wrong.dates=Вы выбралі дату для пачатку справаздачы пасля даты канца +tag.pagination.info=Старонка {0} з {1}, паказаны {2}-{3} з {4} +tag.pagination.next=наступная +tag.pagination.no_items.elements=Няма элементаў для адлюстравання +tag.pagination.no_items=Нічога не знойдзена +tag.pagination.previous=папярэдняя +thread.back_to_search=Перайсці ў пошук +thread.chat_log=Пратакол гутаркі +thread.intro=На дадзенай старонцы Вы можаце прагледзець дыялог. +time.dateformat=%d %B %Y, +time.locale=be_BY.UTF-8 +time.never=Ніколі +time.timeformat=%H:%M +time.today.at=Сёння ў +time.yesterday.at=Учора ў +topMenu.admin=Аператарскае меню +topMenu.logoff=Выхад +topMenu.main=Галоўная +topMenu.users.nomenu=без меню +topMenu.users=Наведвальнікі +translate.direction=Кірунак перакладу: +translate.show.all=Усе радкі +translate.show.foradmin=Радкі для адміністратара +translate.show.foroperator=Радкі для аператара +translate.show.forvisitor=Радкі для наведвальніка +translate.show=Паказаць: +translate.sort.key=Па ключы рэсурса +translate.sort.lang=Па радку з першай мовы +translate.sort=Сартаванне: +typing.remote=Ваш суразмоўца набірае тэкст... +updates.current=Вы выкарыстоўваеце: +updates.env=Асяроддзе: +updates.installed_locales=Усталяваныя моўныя пакеты: +updates.intro=Навіны і інфармацыя пра апошнія версіі загружаецца з афіцыйнага сайта месэнджара. +updates.latest=Апошняя версія: +updates.news=Навіны: +updates.title=Абнаўленні diff --git a/src/messenger/webim/locales/names/properties b/src/messenger/webim/locales/names/properties index 8996d6b5..dca9f54b 100644 --- a/src/messenger/webim/locales/names/properties +++ b/src/messenger/webim/locales/names/properties @@ -1,6 +1,7 @@ encoding=utf-8 ar=Arabic +be=Belarusian bg=Bulgarian ca=CatalГ  cs=ДЊeЕЎtina @@ -15,6 +16,7 @@ fr=FranГ§ais he=Hebrew hr=Hrvatski hu=Magyar +id=Indonesian it=Italiano ka=Georgian kk=Kazakh From a7950b3a4e79caf511fa5b4dd05b2273c6129cb0 Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 00:14:28 +0200 Subject: [PATCH 24/40] update English (by Olimax) --- src/messenger/webim/locales/en/properties | 200 +++++++++++----------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index c7181f71..730dd771 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -1,14 +1,14 @@ encoding=utf-8 output_charset=utf-8 output_encoding=utf-8 -admin.content.client_agents=Create, delete company operators. Manage theirs permissions. +admin.content.client_agents=Create or delete company operators. Manage their permissions. admin.content.client_gen_button=Button HTML code generation. admin.content.client_settings=Specify options affecting chat window and common system behavior. admin.content.description=Functions available for site operators. -agent.not_logged_in=Your session is expired please login again +agent.not_logged_in=Your session has expired. Please login again app.descr=Mibew Messenger is an open-source live support application. app.title=Mibew Messenger -ban.error.duplicate=The specified address is already in use, click here if you want to edit it. +ban.error.duplicate=The specified address is already in use. Click here if you want to edit it. button.delete=Delete button.enter=Enter button.offline.bottom=Leave your message @@ -38,36 +38,36 @@ char.redirect.operator.away_suff=(away) char.redirect.operator.online_suff=(online) chat.came.from=Vistor came from page {0} chat.client.changename=Change name -chat.client.name=You are +chat.client.name=You are chat.client.spam.prefix=[spam]  chat.client.visited.page=Visitor navigated to {0} -chat.default.username=Visitor +chat.default.username=Guest chat.error_page.close=Close... chat.error_page.head=Error occurred: chat.error_page.title=Error chat.mailthread.sent.close=Close... chat.mailthread.sent.closewindow=Click on this link to close the window -chat.mailthread.sent.content=History of your chat was sent on address {0} +chat.mailthread.sent.content=A history of your chat was sent to address {0} chat.mailthread.sent.title=Sent -chat.predefined_answers=Hello, how may I help you?\nHello! Welcome to our support. How may I help you? +chat.predefined_answers=Hello. How may I help you?\nHello! Welcome to our support. How may I help you? chat.redirect.back=Back... -chat.redirect.cannot=You are not chatting with visitor. +chat.redirect.cannot=You are not chatting with the visitor. chat.redirect.choose=Choose: chat.redirect.group=Group: chat.redirect.operator=Operator: chat.redirect.title=Redirect to
      another operator chat.redirected.close=Close... chat.redirected.closewindow=Click to close the window -chat.redirected.content=The visitor placed in priorty queue of the operator {0}. -chat.redirected.group.content=The visitor placed in priorty queue of the group {0}. -chat.redirected.title=The visitor redirected to another operator +chat.redirected.content=The visitor has been placed in the priorty queue of the operator {0}. +chat.redirected.group.content=The visitor has been placed in a priorty queue of the group {0}. +chat.redirected.title=The visitor has been redirected to another operator chat.status.operator.changed=Operator {0} changed operator {1} -chat.status.operator.dead=Operator has connection issues, we temporarily moved you to foreground queue. Sorry for keeping you waiting. +chat.status.operator.dead=Your operator has connection issues. We have moved you to a priorty position in the queue. Sorry for keeping you waiting. chat.status.operator.joined=Operator {0} joined the chat chat.status.operator.left=Operator {0} left the chat -chat.status.operator.redirect=Operator {0} redirected you to another operator, please, wait a little +chat.status.operator.redirect=Operator {0} redirected you to another operator. Please wait a while. chat.status.operator.returned=Operator {0} is back -chat.status.user.changedname=Visitor changed the name {0} to {1} +chat.status.user.changedname=The visitor changed their name {0} to {1} chat.status.user.dead=Visitor closed chat window chat.status.user.left=Visitor {0} left the chat chat.status.user.reopenedthread=Visitor joined chat again @@ -79,12 +79,12 @@ chat.thread.state_wait_for_another_agent=Waiting for operator chat.visitor.email=E-Mail: {0} chat.visitor.info=Info: {0} chat.visitor.invitation.accepted=Visitor accepted invitation from operator {0} -chat.wait=Thank you for contacting us. An operator will be with you shortly... -chat.window.chatting_with=You chat with: +chat.wait=Thank you for contacting us. An operator will be with you shortly. +chat.window.chatting_with=You are chatting with: chat.window.close_title=Close chat chat.window.poweredby=Powered by: chat.window.poweredreftext=mibew.org -chat.window.predefined.select_answer=Choose answer... +chat.window.predefined.select_answer=Select answer... chat.window.product_name=Mibew Messenger chat.window.send_message=Send message chat.window.send_message_short=Send ({0}) @@ -94,25 +94,25 @@ chat.window.toolbar.mail_history=Send chat history by e-mail chat.window.toolbar.redirect_user=Redirect visitor to another operator chat.window.toolbar.refresh=Refresh chat.window.toolbar.mute=Sound on/off -clients.how_to=To answer the visitor click on his/her name in the list. -clients.intro=This page displays a list of awaiting visitors. -clients.no_clients=The list of awaiting visitors is empty +clients.how_to=To answer the visitor click their name in the list. +clients.intro=This page displays a list of visitors who are waiting. +clients.no_clients=The list of visitors waiting is empty clients.queue.chat=Visitors in dialogs -clients.queue.prio=Priority visitors queue -clients.queue.wait=Waiting for operator for the first time -clients.title=List of awaiting visitors +clients.queue.prio=Priority visitors' queue +clients.queue.wait=Waiting an operator for the first time +clients.title=List of visitors waiting common.asterisk_explanation=* - mandatory fields company.title=Mibew Messenger Community confirm.take.head=Change operator -confirm.take.message=Visitor {0} already assisted by {1}.
      Are you really sure you want to start chatting the visitor? -confirm.take.no=No, close the window -confirm.take.yes=Yes, I'm sure -content.blocked=Here you can defend from malicious visitors. +confirm.take.message=Visitor {0} is already being assisted by {1}.
      Are you really sure you want to start chatting the visitor? +confirm.take.no=No. Close the window +confirm.take.yes=Yes. I'm sure +content.blocked=Here you can block malicious visitors. content.history=Search the dialogs history. content.logoff=Log out of the system. data.saved=Changes saved -demo.chat.question=There are so many browsers to choose from. Which one(s) do you recommend? -demo.chat.welcome=Hello, how may I help you? +demo.chat.question=There are so many browsers to choose from. Which ones do you recommend? +demo.chat.welcome=Hello. How may I help you? errors.captcha=The letters you typed don't match the letters that were shown in the picture. errors.failed.uploading.file=Error uploading file "{0}": {1}. errors.file.move.error=Error moving file @@ -135,9 +135,9 @@ form.field.agent_name.description=This name will be seen by your visitors. form.field.agent_name=Name form.field.avatar.current.description=Your avatar image. form.field.avatar.current=Current avatar image -form.field.avatar.upload.description=Choose the avatar file to upload.
      The picture size should not exceed 100x100 px. +form.field.avatar.upload.description=Choose the avatar file to upload.
      The picture size should not exceed 100x100 px. form.field.avatar.upload=Upload avatar -form.field.ban_comment.description=Reason of block +form.field.ban_comment.description=Reason for block form.field.ban_comment=Comment form.field.ban_days.description=Numbers of days this address is blocked form.field.ban_days=Days @@ -157,7 +157,7 @@ form.field.mail.description=For notifications and password retrieval. form.field.mail=E-mail form.field.message=Message form.field.name=Your name -form.field.password.description=Enter new password or leave the field empty to keep previous one. +form.field.password.description=Enter a new password or leave the field empty to keep the previous one. form.field.password=Password form.field.password_confirm.description=Confirm new password. form.field.password_confirm=Confirmation @@ -175,9 +175,9 @@ install.0.php=PHP version {0} install.1.connected=You are connected to MySQL server version {0} install.2.create=Create database "{0}" install.2.db_exists=Database "{0}" is created. -install.2.notice=Database was not found on server. If you have permissions to create it now, click on the following link. +install.2.notice=The database was not found on the server. If you have permissions to create it now, click on the following link. install.3.create=Create required tables. -install.3.tables_exist=Requred tables are created. +install.3.tables_exist=Required tables are created. install.4.create=Update tables install.4.done=Tables structure is up to date. install.4.notice=Structure of your tables should be adjusted for new version of Messenger. @@ -188,33 +188,33 @@ install.bad_checksum=Checksum differs for {0} install.cannot_read=Cannot read file {0} install.check_files=Please, re-upload files to the server. install.check_permissions=Insufficient file permissions {0} -install.connection.error=Could not connect, please check server settings in config.php. Error: {0} +install.connection.error=Could not connect. Please check server settings in config.php. Error: {0} install.done=Completed: -install.err.back=Resvole problem and try again. Press back to return to wizard. +install.err.back=Resolve the problem and try again. Press back to return to the wizard. install.err.title=Problem install.kill_tables.notice=Impossible to update tables structure. Try to do it manually or recreate all tables (warning: all your data will be lost). install.kill_tables=Drop existing tables from database install.license=Software license agreement install.message=Follow the wizard to setup your database. -install.newfeatures=Congratulations! You now have Mibew Messenger {1} installed. Turn on more features on Optional services page. +install.newfeatures=Congratulations! You now have Mibew Messenger {1} installed. Turn on more features on the Optional services page. install.next=Next step: install.no_file=File is absent: {0} install.title=Installation -install.updatedb=Please, run Update wizard to adjust your database. -installed.login_link=Proceed to login page +install.updatedb=Please run the Update wizard to adjust your database. +installed.login_link=Proceed to the login page installed.message=Application installed successfully. -installed.notice=You can logon as admin with empty password.

      !!! For security reasons, please change your password immediately and remove {0} folder from your server. +installed.notice=You can logon as admin with empty password.

      !!! For security reasons please change your password immediately and remove the {0} folder from your server. invitation.message=Hello, how can I help you? invitation.sent=Invitation sent to visitor. Please wait for a while. invitation.title=Invitation lang.choose=Choose your language -leavemail.body=Your have a message from {0}:\n\n{2}\n\nHis email: {1}\n{3}\n--- \nYours site messenger +leavemail.body=Your have a message from {0}:\n\n{2}\n\nHis email: {1}\n{3}\n--- \nRegards,\nMibew leavemail.subject=Question from {0} leavemessage.close=Close -leavemessage.descr=Sorry, no operator is available at the moment. Please, try again later or ask your question in this form. +leavemessage.descr=Sorry. None of the support team is available at the moment.
      Please leave a message and someone will get back to you shortly. leavemessage.perform=Submit -leavemessage.sent.message=Thank you for using our service. We'll answer you by mail as soon as possible. -leavemessage.sent.title=Your message is sent +leavemessage.sent.message=Thank you for your message. We'll answer your query by email as soon as possible. +leavemessage.sent.title=Your message has been sent leavemessage.title=Leave your message leftMenu.client_agents=Operators leftMenu.client_gen_button=Button code @@ -222,17 +222,17 @@ leftMenu.client_settings=Settings license.title=License localedirection=ltr localeid=English (en) -mail.user.history.body=Hello, {0}!\n\nYour chat history: \n\n{1}\n--- \nKind Regards,\nMibew Messenger -mail.user.history.subject=Mibew Messenger: dialog history +mail.user.history.body=Hello {0}!\n\nYour chat history: \n\n{1}\n--- \nRegards,\nMibew +mail.user.history.subject=Mibew: dialog history mailthread.close=Close... -mailthread.enter_email=Enter your e-mail: +mailthread.enter_email=Enter your email: mailthread.perform=Send mailthread.title=Send chat history
      by mail menu.agents=Operators list menu.blocked=Blocked visitors menu.canned=Canned Messages menu.goonline=You are Offline.
      Connect.. -menu.groups.content=Department or skill based operator groups. +menu.groups.content=Department or skill based groups. menu.groups=Groups menu.locale.content=Change locale. menu.locale=Language @@ -245,7 +245,7 @@ menu.updates.content=Check for news and updates. menu.updates=Updates my_settings.error.no_password=No Password set for the Administrator my_settings.error.password_match=Entered passwords do not match -no_such_operator=No such operator +no_such_operator=No such Operator operator.group.no_description=<no description> operator.groups.intro=Choose groups according to operator skills. operator.groups.title=Operator groups @@ -257,12 +257,12 @@ page.analysis.search.head_name=Name page.analysis.search.head_operator=Operator page.analysis.search.head_time=Time in chat page.analysis.trackedpath.title=Tracked visitor's path -page.analysis.userhistory.intro=You can find chat history of your visitors here. -page.analysis.userhistory.title=Visits history +page.analysis.userhistory.intro=You can find the chat history of your visitors here. +page.analysis.userhistory.title=Visit history page.chat.old_browser.close=Close... page.chat.old_browser.list=
        \n
      • Internet Explorer 5.5+
      • \n
      • Firefox 1.0+
      • \n
      • Opera 8.0+
      • \n
      • Mozilla 1.4+
      • \n
      • Netscape 7.1+
      • \n
      • Safari 1.2+
      • \n
      \n

      Also, we support some old browsers:

      \n
        \n
      • Internet Explorer 5.0
      • \n
      • Opera 7.0
      • \n
      -page.chat.old_browser.problem=

      Your web browser is not fully supported by Mibew Messenger. \nPlease, use one of the following web browsers:

      -page.chat.old_browser.title=Please, use newer browser +page.chat.old_browser.problem=

      Your web browser is not fully supported. \nPlease, use one of the following web browsers:

      +page.chat.old_browser.title=Please use a more recent browser page.gen_button.choose_group=Code for group page.gen_button.choose_image=Choose image page.gen_button.choose_locale=Code for language @@ -276,27 +276,27 @@ page.gen_button.modsecurity=Compatibility with mod_security (modsecurity.org), t page.gen_button.sample=Example page.gen_button.secure_links=Use secure links (https) page.gen_button.title=Button HTML code generation -page.group.create_new=Here you can create new group. -page.group.duplicate_name=Please choose another name, because group with entered name already exists. +page.group.create_new=Create new group here. +page.group.duplicate_name=Please choose another name because a group with that name already exists. page.group.intro=On this page you can edit group details. page.group.membersnum=Operators page.group.no_such=No such group page.group.title=Group details page.groupmembers.intro=View and edit the member list. page.groupmembers.title=Members -page.groups.confirm=Are you sure that you want to delete group "{0}"? -page.groups.intro=This page displays a list of groups in your company. Each group can have separate button and canned responses. +page.groups.confirm=Are you sure that you want to delete the group "{0}"? +page.groups.intro=This page displays a list of groups. Each group can have separate button and canned responses. page.groups.isaway=Away page.groups.isonline=Online -page.groups.new=Create new group... +page.groups.new=Create new group page.groups.title=Groups page.preview.agentchat=Chat window (operator-mode) -page.preview.agentrochat=View Chat window (operator in readonly mode) -page.preview.chatsimple=Simple chat window, refresh to post messages (IE 5, Opera 7) +page.preview.agentrochat=View Chat window (operator in read-only mode) +page.preview.chatsimple=Simple chat window. Refresh to post messages (IE 5, Opera 7) page.preview.choose=Choose style page.preview.choosetpl=Choose template page.preview.error=Error window -page.preview.intro=From here, you can view the list of themes you currently have installed. +page.preview.intro=You can view the list of themes you currently have installed here. page.preview.leavemessage=Leave message window page.preview.leavemessagesent="Message is delivered" window page.preview.mail=Mail thread window @@ -309,14 +309,14 @@ page.preview.style_default=-from general settings- page.preview.survey=Pre-chat survey page.preview.title=Site style page.preview.userchat=Chat window (user-mode) -page.translate.descr=If you don't like the translation, please send us an update. +page.translate.descr=If you don't agree with the translation please send us an update. page.translate.done=Your translation is saved. -page.translate.one=Enter you translation. +page.translate.one=Enter your translation. page.translate.title=Localization wizard page_agent.cannot_modify=You are not allowed to change this person's profile. page_agent.clear_avatar=Remove avatar -page_agent.create_new=Here you can create new operator. -page_agent.error.duplicate_login=Please choose another login, because operator with entered login is already registered in the system. +page_agent.create_new=You can create a new operator here. +page_agent.error.duplicate_login=Please choose another login because an operator with that login is already registered in the system. page_agent.error.wrong_login=Login should contain only latin characters, numbers and underscore symbol. page_agent.intro=Edit general operator settings. page_agent.tab.avatar=Photo @@ -335,12 +335,12 @@ page_agents.new_agent=Add operator... page_agents.status=Last active page_agents.title=Operators page_analysis.full.text.search=User name or message text search: -page_analysis.search.title=Chats history -page_avatar.intro=You can upload your photo only in JPG, GIF, PNG or TIF image file. +page_analysis.search.title=Chat history +page_avatar.intro=You can upload your photo only as JPG, GIF, PNG or TIF image files. page_avatar.title=Upload photo -page_ban.intro=Here you can block malicious visitors that affect you work by spam messages. -page_ban.sent=Address {0} is blocked for specified number of days. -page_ban.thread=You opened this window for "{0}" thread, Address field is already filled. Select number of days and click Send. +page_ban.intro=Here you can block malicious visitors that affect your work with spam messages. +page_ban.sent=Address {0} is blocked for a specified number of days. +page_ban.thread=You opened this window for "{0}" thread. Address field is already filled. Select a number of days and click Send. page_ban.title=Block address page_bans.add=Add address page_bans.confirm=Are you sure that you want to delete address {0} from the blocked list? @@ -351,12 +351,12 @@ page_client.pending_users=You can find awaiting visitors. page_group.tab.main=General page_group.tab.members=Members page_login.error=Entered login/password is incorrect -page_login.intro=Please enter your username and password to access administrative tools, see your visitors and browse the history. +page_login.intro=Please enter your username and password to access administrative tools. See your visitors and browse the history. page_login.login=Login: page_login.password=Password: page_login.remember=Remember page_login.title=Login -page_search.intro=Search for chat history of a specified user or a specified phrase in a message. +page_search.intro=Search the chat history for a specified user or a specified phrase in messages. page_settings.intro=Specify options affecting chat window and common system behavior. page_settings.tab.features=Optional Services page_settings.tab.main=General @@ -364,10 +364,10 @@ page_settings.tab.performance=Performance page_settings.tab.themes=Themes preview pending.menu.hide=Hide menu >> pending.menu.show=Show menu >> -pending.popup_notification=New visitor is waiting for an answer. -pending.status.setaway=Set "Away" status -pending.status.setonline=Set "Available" status -pending.table.ban=Ban the visitor +pending.popup_notification=A new visitor is waiting for an answer. +pending.status.setaway=Set status as "Away" +pending.status.setonline=Set status as "Available" +pending.table.ban=Ban this visitor pending.table.head.contactid=Visitor's address pending.table.head.etc=Misc pending.table.head.name=Name @@ -386,7 +386,7 @@ permission.viewthreads=View another operator's chat thread permissions.intro=Change restrictions and available features for this operator. permissions.title=Permissions presurvey.department=Choose Department: -presurvey.intro=Thanks for contacting us! To better serve you, please fill out the form below and click the Start Chat button. +presurvey.intro=Thank you for contacting us. Please fill out the form below and click the Start Chat button. presurvey.mail=Email: presurvey.name=Name: presurvey.question=Initial Question: @@ -409,20 +409,20 @@ report.bypage.2=Chat threads report.bypage.title=Chat threads by page report.no_items=Not enough data report.total=Total: -resetpwd.changed.title=Your password has been changed! +resetpwd.changed.title=Your password has been changed. resetpwd.changed=Login using your new password. -resetpwd.intro=Please choose a password to use with your Mibew account. +resetpwd.intro=Please choose a password to use with your account. resetpwd.login=Proceed to login resetpwd.submit=Change -resetpwd.title=Change your Mibew password +resetpwd.title=Change your password restore.back_to_login=Back to login restore.emailorlogin=Login or E-mail: -restore.intro=You can't retrieve your password, but you can set a new one by following a link sent to you by email. +restore.intro=You cannot retrieve your password, but you can set a new one by following a link sent to you by email. restore.mailsubj=Reset your Mibew password -restore.mailtext=Hi, {0}\n\nPlease click on the link below or copy and paste the URL into your browser:\n{1}\n\nThis will let you choose another password.\n\nMibew Messenger. +restore.mailtext=Hi, {0}\n\nPlease click on the link below or copy and paste the URL into your browser:\n{1}\n\nThis will let you choose another password.\n\nRegards,\nMibew restore.pwd.message=Forgot your password? restore.sent.title=Password retrieval -restore.sent=We've sent the instructions to your email. Please, check it! +restore.sent=We've sent the instructions to your email. Please check it. restore.submit=Reset password restore.title=Trouble Accessing Your Account? right.administration=Administration @@ -430,21 +430,21 @@ right.main=Main right.other=Other settings.chat.title.description=Name of your company for example. settings.chat.title=Title in the chat window -settings.chatstyle.description=Preview for all pages of each style is available here -settings.chatstyle=Select style for your chat windows +settings.chatstyle.description=A preview all pages for each style is available here +settings.chatstyle=Select a style for your chat windows settings.company.title.description=Enter your company title settings.company.title=Company title -settings.email.description=Enter email to receive system messages +settings.email.description=Enter an email to receive system messages settings.email=Email settings.enableban.description=Using it you can block attacks from specific IPs settings.enableban=Enable feature "Malicious Visitors" settings.enablegroups.description=Use it to have separate queues for different questions. settings.enablegroups=Enable "Groups" -settings.enablepresurvey.description=Forces user to fill out a special form to start chat. +settings.enablepresurvey.description=Forces the user to fill out a special form to start a chat. settings.enablepresurvey=Enable "Pre-chat survey" -settings.enablessl.description=Please, note that your web server should be configured to support https requests. +settings.enablessl.description=Please note that your web server should be configured to support https requests. settings.enablessl=Allow secure connections (SSL) -settings.enablestatistics.description=Adds page with messenger usage reports. +settings.enablestatistics.description=Adds a page with messenger usage reports. settings.enablestatistics=Enable "Statistics" settings.enabletracking.description=Enable tracking of visitors' activity on your site and ability to invite visitors to chat. settings.enabletracking=Enable "Tracking and inviting" @@ -458,22 +458,22 @@ settings.frequencyoperator.description=Specify the poll interval in seconds. Def settings.frequencyoperator=Operator's console refresh time settings.frequencytracking.description=Specify the poll interval in seconds. Default is 10 seconds. settings.frequencytracking=Tracking refresh time -settings.geolink.description=Each IP becomes a link opening in new window. {ip} is substituted with a real ip. +settings.geolink.description=Each IP becomes a link opening in a new window. {ip} is substituted with a real IP. settings.geolink=Link to an external geolocation service settings.geolinkparams.description=Window size and toolbars hiding settings.geolinkparams=Geolocation window options -settings.host.description=Destination for you company name or logo link +settings.host.description=Destination for your company name or logo link settings.host=URL of your website settings.invitationlifetime.description=Specify the lifetime of invitation in seconds. Default is 60 seconds. settings.invitationlifetime=Invitation lifetime settings.leavemessage_captcha.description=Protection against automated spam (captcha) -settings.leavemessage_captcha=Force visitor to enter verification code when leaving message +settings.leavemessage_captcha=Force visitor to enter a verification code when leaving message settings.logo.description=Enter http address of your company logo settings.logo=Your company logo settings.no.title=Please enter your company title settings.onehostconnections.description=0 allows any number of connections settings.onehostconnections=Max number of threads from one address -settings.onlinetimeout.description=Set the number of seconds to show operator as online. Default is 30 seconds. +settings.onlinetimeout.description=Set the number of seconds to show an operator as online. Default is 30 seconds. settings.onlinetimeout=Operator online time threshold settings.popup_notification.description=Small dialog appears to attract your attention. settings.popup_notification=Enable "Popup dialog notification of the new visitor". @@ -482,9 +482,9 @@ settings.sendmessagekey=Send messages with: settings.show_online_operators.description=Can slow down the update rate of the list settings.show_online_operators=Show online operators on "List of awaiting visitors" page settings.survey.askgroup.description=Show/hide department selection field in the survey -settings.survey.askgroup=Allows visitor to choose department/group +settings.survey.askgroup=Allows a visitor to choose department/group settings.survey.askmail.description=Show/hide email field in the survey -settings.survey.askmail=Ask visitor e-mail +settings.survey.askmail=Ask for visitor's email settings.survey.askmessage.description=Show/hide initial question field in the survey settings.survey.askmessage=Show initial question field settings.title=Messenger settings @@ -492,12 +492,12 @@ settings.trackinglifetime.description=Specify the lifetime of old visitor's trac settings.trackinglifetime=Track lifetime settings.usercanchangename.description=Turn off to hide edit box from chat window settings.usercanchangename=Allows users to change their names -settings.usernamepattern.description=How to build visitor identifying string from {name}, {id} or {addr}. Default: {name} +settings.usernamepattern.description=How to build visitor's identifying string from {name}, {id} or {addr}. Default: {name} settings.usernamepattern=Visitor's identifier settings.visitorslimit.description=Specify the number of items to display in tracked visitors list. Default is 20. Set 0 for all visitors (not recommended). settings.visitorslimit=Limit for tracked visitors list -settings.wrong.email=Enter proper email address -settings.wrong.onehostconnections="Max number of threads" field should be number +settings.wrong.email=Enter a valid email address +settings.wrong.onehostconnections="Max number of threads" field should be a number site.title=mibew.org site.url=http://mibew.org statistics.dates=Select dates @@ -520,9 +520,9 @@ time.never=Never time.timeformat=%I:%M %p time.today.at=Today at time.yesterday.at=Yesterday at -topMenu.admin=Dashboard +topMenu.admin=Home topMenu.logoff=Exit -topMenu.main=Dashboard +topMenu.main=Home topMenu.users.nomenu=without menu topMenu.users=Visitors tracked.date=Visit time From bcb3409cc5751339cb901f7583cd7a9a08a8f610 Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 00:22:47 +0200 Subject: [PATCH 25/40] update Italian (Luca Sasdelli) --- src/messenger/webim/locales/it/properties | 310 +++++++++++++--------- 1 file changed, 191 insertions(+), 119 deletions(-) diff --git a/src/messenger/webim/locales/it/properties b/src/messenger/webim/locales/it/properties index 1cae326e..dfd77f74 100644 --- a/src/messenger/webim/locales/it/properties +++ b/src/messenger/webim/locales/it/properties @@ -1,26 +1,32 @@ encoding=utf-8 output_charset=utf-8 output_encoding=utf-8 -admin.content.client_agents=Crea, cancella assistenti. Gestisci permessi. +admin.content.client_agents=Crea, cancella operatori. Gestisci permessi. admin.content.client_gen_button=Generazione del codice HTML per il bottone. admin.content.client_settings=Specifica le opzioni che interessano la finestra di chat e il comportamento del sistema. -admin.content.description=Funzioni disponibili per gli appartenenti al gruppo power users. +admin.content.description=Funzioni disponibili per gli operatori. agent.not_logged_in=La tua sessione ГЁ scaduta, riesegui il login app.descr=Mibew Messenger ГЁ un'applicazione open-source per l'assistenza in tempo reale. app.title=Mibew Messenger ban.error.duplicate=L'indirizzo specificato ГЁ giГ  in uso, clicca qui se vuoi modificarlo. button.delete=Cancella button.enter=Entra +button.offline.bottom=Lascia un messaggio +button.offline.top=Consulente +button.offline=ASSENTE +button.online.bottom=La tua domanda +button.online.top=Consulente +button.online=ONLINE button.save=Salva button.search=Cerca -canned.actions.del=Rimuovi -canned.actions.edit=Edita +canned.actions.del=rimuovi +canned.actions.edit=modifica canned.actions=Modifica canned.add=Aggiungi messaggio... canned.descr=Modifica i messaggi che frequentemente scrivi in chat. canned.group=Per gruppo: canned.locale=Per lingua: -canned.title=Messaggi Archiviati +canned.title=Messaggi predefiniti cannededit.descr=Modifica un messaggio esistente. cannededit.done=Salvato cannededit.message=Messaggio @@ -28,20 +34,22 @@ cannededit.no_such=Nessun messaggio del tipo cannededit.title=Modifica Messaggio cannednew.descr=Aggiungi un nuovo messaggio. cannednew.title=Nuovo Messaggio +char.redirect.operator.away_suff=(assente) char.redirect.operator.online_suff=(online) -chat.came.from=L'utente proviene dalla pagina {0} +chat.came.from=Il visitatore proviene dalla pagina {0} chat.client.changename=Cambia nome -chat.client.name=Tu sei +chat.client.name=Utente chat.client.spam.prefix=[spam]  -chat.default.username=Utente +chat.client.visited.page=Il visitatore ГЁ giunto a {0} +chat.default.username=Visitatore chat.error_page.close=Chiudi... chat.error_page.head=Errore incontrato: chat.error_page.title=Errore chat.mailthread.sent.close=Chiudi... chat.mailthread.sent.closewindow=Clicca su questo link per chiudere la finestra -chat.mailthread.sent.content=La tua chat ГЁ stata inviata al seguente indirizzo {0} -chat.mailthread.sent.title=Invia -chat.predefined_answers=Ciao, come posso aiutarti?\nCiao! Benvenuto nell'assistenza. Come posso aiutarti? +chat.mailthread.sent.content=Lo storico della tua chat ГЁ stato inviato al seguente indirizzo {0} +chat.mailthread.sent.title=Inviato +chat.predefined_answers=Salve, come posso aiutarla?\nSalve! Benvenuto nell'assistenza. Come posso aiutarla? chat.redirect.back=Indietro... chat.redirect.cannot=Al momento non stai comunicando con alcun visitatore. chat.redirect.choose=Scegli: @@ -50,19 +58,19 @@ chat.redirect.operator=Operatore: chat.redirect.title=Trasferisci
      ad un altro operatore chat.redirected.close=Chiudi... chat.redirected.closewindow=Clicca per chiudere la finestra -chat.redirected.content=L'utente si trova nella coda di prioritГ  dell'operatore {0}. +chat.redirected.content=Il visitatore si trova nella coda di prioritГ  dell'operatore {0}. chat.redirected.group.content=Il visitatore ГЁ stato inserito nella coda di prioritГ  del gruppo {0}. -chat.redirected.title=L'utente ГЁ stato assegnato ad un altro operatore +chat.redirected.title=Il visitatore ГЁ stato assegnato ad un altro operatore chat.status.operator.changed=L'operatore {0} ГЁ cambiato nell'operatore {1} -chat.status.operator.dead=L'operatore ha problemi di connessione, ti abbiamo temporaneamente spostato in testa alla coda. siamo spiacenti per l'attesa. +chat.status.operator.dead=L'operatore ha problemi di connessione, ti abbiamo temporaneamente spostato in testa alla coda. Siamo spiacenti per l'attesa. chat.status.operator.joined=L'operatore {0} ha effettuato l'accesso chat.status.operator.left=L'operatore {0} ha abbandonato la chat chat.status.operator.redirect=L'operatore {0} ГЁ stato reindirizzato ad un altro operatore, attendi chat.status.operator.returned=L'operatore {0} ГЁ tornato -chat.status.user.changedname=L'utente ha cambiato il nome da {0} a {1} -chat.status.user.dead=L'utente ha chiuso la chat -chat.status.user.left={0} ha abbandonato la chat -chat.status.user.reopenedthread=L'utente ha effettuato nuovamente l'ingresso +chat.status.user.changedname=Il visitatore ha cambiato il nome da {0} a {1} +chat.status.user.dead=Il visitatore ha chiuso la chat +chat.status.user.left=Il visitatore {0} ha abbandonato la chat +chat.status.user.reopenedthread=Il visitatore ha effettuato nuovamente l'ingresso chat.thread.state_chatting_with_agent=In chat chat.thread.state_closed=Chiusa chat.thread.state_loading=Avvio @@ -70,7 +78,7 @@ chat.thread.state_wait=In coda chat.thread.state_wait_for_another_agent=In attesa di un operatore chat.visitor.email=E-Mail: {0} chat.visitor.info=Info: {0} -chat.wait=Grazie per esserti connesso. Un operatore risponderГ  a breve... +chat.wait=Grazie per averci contattato. Un operatore risponderГ  a breve... chat.window.chatting_with=Stai chattando con: chat.window.close_title=Chiudi la chat chat.window.poweredby=Powered by: @@ -79,32 +87,33 @@ chat.window.predefined.select_answer=Scegli la risposta... chat.window.product_name=Mibew Messenger chat.window.send_message=Invia Messaggio chat.window.send_message_short=Invia ({0}) -chat.window.title.agent=Supporto On-Line -chat.window.title.user=Supporto On-Line -chat.window.toolbar.mail_history=Invia tutta la discussioe tramite e-mail -chat.window.toolbar.redirect_user=Redireziona utente ad un altro operatore +chat.window.title.agent=Mibew Messenger +chat.window.title.user=Mibew Messenger +chat.window.toolbar.mail_history=Invia tutta la discussione tramite e-mail +chat.window.toolbar.redirect_user=Redireziona il visitatore ad un altro operatore chat.window.toolbar.refresh=Aggiorna -clients.how_to=Per rispondere clicca sul nome. -clients.intro=La pagina elenca gli utenti in attesa. -clients.no_clients=La lista degli utenti in attesa ГЁ vuota -clients.queue.chat=Utenti in chat -clients.queue.prio=Coda degli utenti con prioritГ  +clients.how_to=Per rispondere ad un visitatore clicca sul suo nome. +clients.intro=La pagina elenca i visitatori in attesa. +clients.no_clients=La lista dei visitatori in attesa ГЁ vuota +clients.queue.chat=Visitatori in chat +clients.queue.prio=Coda visitatori per prioritГ  clients.queue.wait=In attesa di operatore per la prima volta -clients.title=Lista degli utenti in attesa +clients.title=Lista dei visitatori in attesa common.asterisk_explanation=* - campi obbligatori company.title=Mibew Messenger Community confirm.take.head=Cambia operatore -confirm.take.message=L'utente {0} ГЁ giГ  assistita da {1}.
      Sei sicuro di voler iniziare una chat con l'utente? +confirm.take.message=Il visitatore {0} ГЁ giГ  assistito da {1}.
      Sei sicuro di voler iniziare una chat con lui/lei? confirm.take.no=No, chiudi la finestra confirm.take.yes=Si, Sono sicuro -content.blocked=Qui ti puoi difendere da utenti maliziosi. -content.history=Cerca la cronologia delle chat +content.blocked=Qui ti puoi difendere da visitatori indesiderati. +content.history=Cerca nella cronologia delle chat. content.logoff=Esci dal sistema. -data.saved=Modifiche salvate. +data.saved=Modifiche salvate demo.chat.question=Ci sono molti browser da cui scegliere. Quale/i consigli? -demo.chat.welcome=Ciao, come posso aiutarti? +demo.chat.welcome=Salve, come posso aiutarla? +errors.captcha=Le lettere digitate non corrispondono a quelle indicate. errors.failed.uploading.file=Errore caricando il file "{0}": {1}. -errors.file.move.error=Errore muovendo il file +errors.file.move.error=Errore spostando il file errors.file.size.exceeded=La dimensione del file da caricare ГЁ troppo grande errors.footer=
    errors.header=Correggere gli errori:
      @@ -113,17 +122,17 @@ errors.prefix=
    • errors.required=Compilare "{0}". errors.suffix=
    • errors.wrong_field=Compilare "{0}" correttamente. -features.saved=Features activated -form.field.address.description=Es: 12.23.45.123 o todo.com -form.field.address=Indirizzo Utente -form.field.agent_commonname.description=Questo nome verrГ  visualizzato dall'utente. +features.saved=Funzioni attivate +form.field.address.description=Es: 12.23.45.123 o dominio.com +form.field.address=Indirizzo visitatore +form.field.agent_commonname.description=Questo nome verrГ  visualizzato dai tuoi visitatori. form.field.agent_commonname=Nome Internazionale (Latin) -form.field.agent_name.description=Questo nome verrГ  visualizzato dai tuoi utenti. +form.field.agent_name.description=Questo nome verrГ  visualizzato dai tuoi visitatori. form.field.agent_name=Nome -form.field.avatar.current.description=Immagine. -form.field.avatar.current=Immagine corrente -form.field.avatar.upload.description=Scegli l'immagine da caricare.
      L'immagine non deve superare queste misure 100x100 px. -form.field.avatar.upload=Carica Immagine +form.field.avatar.current.description=Immagine (avatar). +form.field.avatar.current=Immagine (avatar) corrente +form.field.avatar.upload.description=Scegli l'immagine da caricare.
      L'immagine non deve superare 100x100 px. +form.field.avatar.upload=Carica Immagine (avatar) form.field.ban_comment.description=Motivo del blocco form.field.ban_comment=Commento form.field.ban_days.description=Giorni di blocco dell'indirizzo @@ -135,10 +144,13 @@ form.field.groupcommonname.description=Nome in Inglese. form.field.groupcommonname=Nome internazionale form.field.groupdesc.description=Descrizione del gruppo. form.field.groupdesc=Descrizione +form.field.groupemail.description=Email di gruppo per notifiche. Lasciare vuoto per usare l'indirizzo di default. form.field.groupname.description=Nome utile ad identificare il gruppo. form.field.groupname=Nome -form.field.login.description=La login puГІ essere costituita da lettere minuscole latins
      ed caratteri speciali. +form.field.login.description=Il login puГІ essere costituito da lettere latine minuscole e trattino basso. form.field.login=Login +form.field.mail.description=Per notifiche e recupero password. +form.field.mail=E-mail form.field.message=Messaggio form.field.name=Il tuo nome form.field.password.description=Immettere una nuova password o lasciare
      il campo vuoto per mantenere la precedente. @@ -146,36 +158,48 @@ form.field.password=Password form.field.password_confirm.description=Conferma la nuova password. form.field.password_confirm=Conferma form.field.translation=Traduzione -harderrors.header=Non eseguito:
        +harderrors.header=Impossibile eseguire:
          image.button.login=/locales/it/images/login.gif image.button.save=/locales/it/images/save.gif image.button.search=/locales/it/images/search.gif image.chat.history=/locales/it/images/history.gif image.chat.message=/locales/it/images/message.gif image.chat.sprite=/locales/it/images/wmchat.png -install.1.connected=Sei connesso alla versione del server MySQL {0} +install.0.app=Percorso applicazione {0} +install.0.package=Il pacchetto Mibew ГЁ valido. +install.0.php=Versione PHP {0} +install.1.connected=Sei connesso al server MySQL versione {0} install.2.create=Crea database "{0}" -install.2.db_exists=Il atabase "{0}" ГЁ stato creato. -install.2.notice=Il database non ГЁ presente sul server. Se hai i permessi per crearlo
          adesso, clicca sul seguente link. +install.2.db_exists=Il database "{0}" ГЁ stato creato. +install.2.notice=Il database non ГЁ presente sul server. Se hai i permessi per crearlo adesso, clicca sul seguente link. install.3.create=Creo tabelle necessarie. install.3.tables_exist=Le tabelle sono state create. install.4.create=Aggiorno le tabelle install.4.done=Le tabelle sono state aggiornate. install.4.notice=La strutture delle tabelle ГЁ stata adeguata alla nuova versione. -install.connection.error=Impossibile effettuare la connessione, si prega di controllare le impostazioni del server nel config.php. Error: {0} +install.5.newmessage=Nuovo messaggio +install.5.newvisitor=Nuovo visitatore +install.5.text=Fai clic per provare l'audio: {0} e {1} +install.bad_checksum=Checksum errato per {0} +install.cannot_read=Impossibile leggere il file {0} +install.check_files=Inviare di nuovo i file al server. +install.check_permissions=Permessi file insufficienti {0} +install.connection.error=Impossibile effettuare la connessione, si prega di controllare le impostazioni del server nel config.php. Errore: {0} install.done=Completato: install.err.back=Risolvere i problemi e riprovare. Premere indietro per ritornare al wizard. install.err.title=Problema -install.kill_tables.notice=Impossibile aggiornare le struttura delle tabelle. Prova a farlo manualmente oppure ricrea tutte le tabelle (warning: tutti i dati verranno persi). +install.kill_tables.notice=Impossibile aggiornare le struttura delle tabelle. Prova a farlo manualmente oppure ricrea tutte le tabelle (attenzione: tutti i dati verranno persi). install.kill_tables=Togli le tabelle esistenti dal database -install.license=Software license agreement +install.license=Contratto di licenza del software install.message=Segui il wizard per settare il tuo database. +install.newfeatures=Congratulazioni! Ora Mibew Messenger {1} ГЁ installato.\nAttiva altre funzioni sulla pagina Servizi opzionali. install.next=Prossimo passo: +install.no_file=Il file ГЁ assente: {0} install.title=Installazione -install.updatedb=Cortesemente, lancia Aggiornamento guidato per sistemare il database. +install.updatedb=Avvia Aggiornamento guidato per sistemare il database. installed.login_link=Vai alla pagina di login installed.message=Applicazione installata con successo. -installed.notice=Puoi accedere lasciando vuota la password.

          !!! Per ragioni di sicurezza, inserisci la password e cancella la cartella {0} dal server server. +installed.notice=Puoi accedere lasciando vuota la password.

          !!! Per ragioni di sicurezza, modifica la password e cancella la cartella {0} dal server. lang.choose=Scegli la tua lingua leavemail.body=Hai una domanda da {0}:\n\n{2}\n\nLa sua e-mail: {1}\n{3}\n--- \nHelp on-line leavemail.subject=Domanda da {0} @@ -185,26 +209,28 @@ leavemessage.perform=Invia leavemessage.sent.message=Grazie per aver usato il nostro servizio. Ti risponderemo appena possibile. leavemessage.sent.title=Il tuo messaggio ГЁ stato inviato leavemessage.title=Lascia il tuo messaggio -leftMenu.client_agents=Assistenti -leftMenu.client_gen_button=Codice bottone +leftMenu.client_agents=Operatori +leftMenu.client_gen_button=Codice bottone HTML leftMenu.client_settings=Impostazioni +license.title=Licenza localedirection=ltr localeid=Italiano (it) -mail.user.history.body=Ciao, {0}!\n\nLa tua cronologia: \n\n{1}\n--- \nKind Regards,\nMibew Messenger -mail.user.history.subject=Messenger: dialog history +mail.user.history.body=Salve, {0}!\n\nLa sua cronologia: \n\n{1}\n--- \nCordiali saluti,\nMibew Messenger +mail.user.history.subject=Mibew Messenger: storico mailthread.close=Chiudi... mailthread.enter_email=La tua e-mail: mailthread.perform=Invia mailthread.title=Invia questa chat
          via e-mail -menu.agents=Lista Assistenti -menu.blocked=Utenti bloccati +menu.agents=Lista Operatori +menu.blocked=Visitatori bloccati menu.canned=Messaggi Archiviati -menu.groups.content=Dipartimento o gruppi di operatori specializzati +menu.goonline=Sei fuori linea.
          Connetti.. +menu.groups.content=Dipartimento o gruppi di operatori specializzati. menu.groups=Gruppi menu.locale.content=Cambia provenienza. menu.locale=Lingua -menu.main=Inizio -menu.operator=Tu sei {0} +menu.main=Home +menu.operator=Utente {0} menu.profile.content=In questa pagina puoi cambiare le tue informazioni personali. menu.profile=Profilo menu.translate=Traduci @@ -217,125 +243,139 @@ operator.groups.intro=Seleziona i gruppi in base alle specializzazioni degli ope operator.groups.title=Gruppi di operatori page.analysis.search.head_browser=Browser page.analysis.search.head_group=Gruppo -page.analysis.search.head_host=Indirizzo utente -page.analysis.search.head_messages=Massaggi utente +page.analysis.search.head_host=Indirizzo visitatore +page.analysis.search.head_messages=Messaggi visitatore page.analysis.search.head_name=Nome page.analysis.search.head_operator=Operatore page.analysis.search.head_time=Tempo nella chat page.analysis.userhistory.intro=Puoi trovare la cronologia delle chat dei tuoi utenti qui. -page.analysis.userhistory.title=Cronologia utenti +page.analysis.userhistory.title=Cronologia visite page.chat.old_browser.close=Chiudi... page.chat.old_browser.list=
            \n
          • Internet Explorer 5.5+
          • \n
          • Firefox 1.0+
          • \n
          • Opera 8.0+
          • \n
          • Mozilla 1.4+
          • \n
          • Netscape 7.1+
          • \n
          • Safari 1.2+
          • \n
          \n

          Inoltre, alcuni vecchi browser:

          \n
            \n
          • Internet Explorer 5.0
          • \n
          • Opera 7.0
          • \n
          -page.chat.old_browser.problem=

          Il tuo browser non ГЁ completamente supportato. \nUsa uno dei seguenti browser:

          +page.chat.old_browser.problem=

          Il tuo browser non ГЁ completamente supportato da Mibew Messenger. \nUsa uno dei seguenti browser:

          page.chat.old_browser.title=Per favore, usa un browser piГ№ recente page.gen_button.choose_group=Codice per gruppo page.gen_button.choose_image=Scegli immagine page.gen_button.choose_locale=Target locale page.gen_button.choose_style=Stile chat -page.gen_button.code.description=Caution! Non cambiare
          il codice manualmente
          non garantiamo
          che funzioni! +page.gen_button.code.description=Attenzione! Non cambiare
          il codice manualmente
          non garantiamo
          che funzioni! page.gen_button.code=codice HTML page.gen_button.default_group=-tutti gli operatori- page.gen_button.include_site_name=Include il nome dell'host nel codice page.gen_button.intro=Puoi generare il codice HTML da inserire nel sito. +page.gen_button.modsecurity=CompatibilitГ  con mod_security (modsecurity.org), attivare solo in caso di problemi page.gen_button.sample=Esempio page.gen_button.secure_links=Usa link sicuro (https) page.gen_button.title=Bottone per generare il codice HTML page.group.create_new=Qui puoi creare un nuovo gruppo. -page.group.duplicate_name=Cortesemente scegli un altro nome perchГ© il nome che hai inserito per il gruppo esiste giГ . +page.group.duplicate_name=Scegli un altro nome, perchГ© il nome che hai inserito per il gruppo esiste giГ . page.group.intro=In questa pagina puoi modificare i dettagli del gruppo. page.group.membersnum=Operatori -page.group.no_such=Nessun gruppo trovato +page.group.no_such=Gruppo non trovato page.group.title=Dettagli del gruppo page.groupmembers.intro=Vedi e modifica la lista membri. page.groupmembers.title=Membri +page.groups.confirm=Vuoi veramente cancellare il gruppo "{0}"? page.groups.intro=Questa pagina mostra la lista dei gruppi della tua azienda. Ogni gruppo puГІ avere specifici bottoni e regole di archiviazione. +page.groups.isaway=Assente +page.groups.isonline=Online page.groups.new=Crea un nuovo gruppo... page.groups.title=Gruppi -page.preview.agentchat=Finestra chat (agent-mode) +page.preview.agentchat=Finestra chat (modo operatore) page.preview.agentrochat=Visualizza finestra chat (readonly mode) page.preview.chatsimple=Finestra chat semplice, aggiorna per inviare un messaggio (IE 5, Opera 7) page.preview.choose=Scegli lo stile page.preview.choosetpl=Scegli un template -page.preview.intro=Puoi avere un anteprima dello stile per il tuo sito +page.preview.error=Finestra di errore +page.preview.intro=Puoi avere un'anteprima dello stile per il tuo sito. page.preview.leavemessage=Finestra Lascia un messaggio page.preview.leavemessagesent=Finestra "Messaggio recapitato" page.preview.mail=Finestra Mail thread page.preview.mailsent=Finestra "Messaggio inviato" -page.preview.nochat=Fiestra Elenco dei browser supportati +page.preview.nochat=Finestra Elenco dei browser supportati page.preview.redirect=Finestra Indirizza utente ad un altro operatore page.preview.redirected=Finestra "Visitatore reindirizzato" page.preview.showerr=Visualizza errori page.preview.style_default=-per impostazioni generali- page.preview.survey=Anteprima chat del sondaggio page.preview.title=Stile sito -page.preview.userchat=Finestra chat (user-mode) +page.preview.userchat=Finestra chat (modo utente) page.translate.descr=Se non ti piace la traduzione, per favore inviaci l'aggiornamento. page.translate.done=La tua traduzione ГЁ stata salvata. page.translate.one=Inserisci la traduzione. -page.translate.title=Traduci Open WebIM +page.translate.title=Wizard di traduzione page_agent.cannot_modify=Non sei abilitato alle modifiche del profilo di questa persona. page_agent.clear_avatar=Rimuovi avatar -page_agent.create_new=Qui puoi creare un nuovo operatore -page_agent.error.duplicate_login=Per favore scegli un altra login, perchГЁ questa ГЁ giГ  utilizzata nel sistema. +page_agent.create_new=Qui puoi creare un nuovo operatore. +page_agent.error.duplicate_login=Per favore scegli un altro login, perchГ© questo ГЁ giГ  utilizzato nel sistema. page_agent.error.wrong_login=la login puГІ conteneresolo caratteri latin, numeri ed underscore. -page_agent.intro=Questa pagina visualizza i dettagli degli assistenti, se tu possiedi i diritti di accesso puoi modificarli. +page_agent.intro=Questa pagina visualizza i dettagli degli operatori, se tu possiedi i diritti di accesso puoi modificarli. page_agent.tab.avatar=Foto page_agent.tab.groups=Gruppi page_agent.tab.main=Generale page_agent.tab.permissions=Permessi page_agent.title=Dettagli operatore page_agents.agent_name=Nome -page_agents.agents=Lista completa assistenti: -page_agents.intro=Questa pagina visualizza elenco degli assistenti societari e permette anche di aggiungerne nuovi, se si possiedono le autorizzazioni +page_agents.agents=Lista completa operatori: +page_agents.confirm=Vuoi davvero cancellare l'operatore "{0}"? +page_agents.intro=Questa pagina visualizza un elenco degli operatori. +page_agents.isaway=Assente +page_agents.isonline=Online page_agents.login=Login -page_agents.new_agent=Crea nuovo assistente... -page_agents.title=Assistenti -page_analysis.full.text.search=Cerca name utente o testo del messaggio: +page_agents.new_agent=Crea nuovo operatore... +page_agents.status=Attivo fino a +page_agents.title=Operatori +page_analysis.full.text.search=Cerca nome utente o testo del messaggio: page_analysis.search.title=Cronologia delle chat page_avatar.intro=Puoi caricare la tua foto solo in formato JPG, GIF, PNG o TIF. page_avatar.title=Carica foto page_ban.intro=Qui ГЁ possibile bloccare disturbatori che interrompono il lavoro con messaggi di spam. -page_ban.sent=L'indirizzo {0} per il numero di giorni specificato. +page_ban.sent=L'indirizzo {0} ГЁ bloccato per il numero di giorni specificato. page_ban.thread=Finestra aperta per la discussione "{0}", il campo Indirizzo ГЁ giГ  compilato. Selezionare il numero di giorni e fare clic su Invia. page_ban.title=Blocca indirizzo page_bans.add=Aggiungi indirizzo +page_bans.confirm=Vuoi davvero cancellare l'indirizzo {0} dalla lista bloccata? page_bans.list=Lista degli IP bannati: -page_bans.title=Bloccato -page_bans.to=Till +page_bans.title=Lista IP bloccati +page_bans.to=Fino a page_client.pending_users=Puoi cercare utenti in attesa. page_group.tab.main=Generale page_group.tab.members=Membri -page_login.error=login/password inseriti sono incorretti -page_login.intro=Cortesemente inserisci il tuo username e password per accedere agli strumenti di amministrazione, per vedere i tuoi visitatori e guardare nella cronologia delle chat. +page_login.error=Username e/o password errati +page_login.intro=Inserisci il tuo username e password per accedere agli strumenti di amministrazione, per vedere i tuoi visitatori e guardare nella cronologia delle chat. page_login.login=Login: page_login.password=Password: page_login.remember=Ricorda page_login.title=Login -page_search.intro=Cerca la cronologia chat di un utente o una frase in un messaggio. +page_search.intro=Cerca la cronologia chat di un visitatore o una frase in un messaggio. page_settings.intro=Specifica le opzioni che interessano la finestra di chat e il comportamento del sistema. page_settings.tab.features=Servizi opzionali page_settings.tab.main=Generale +page_settings.tab.performance=Prestazioni page_settings.tab.themes=Anteprima tema pending.menu.hide=Nascondi menu >> pending.menu.show=Mostra menu >> pending.popup_notification=Un nuovo visitatore sta attendendo una risposta. +pending.status.setaway=Imposta "Assente" +pending.status.setonline=Imposta "Online" pending.table.ban=Banna l'utente -pending.table.head.contactid=indirizzo dell'utente -pending.table.head.etc=Misc +pending.table.head.contactid=Indirizzo visitatore +pending.table.head.etc=Varie pending.table.head.name=Nome pending.table.head.operator=Operatore pending.table.head.state=Stato pending.table.head.total=Tempo totale pending.table.head.waittime=Tempo di attesa -pending.table.speak=Clicca per parlare con l'utente +pending.table.speak=Clicca per parlare col visitatore pending.table.view=Guarda la chat -permission.admin=Amministrazione del sistema: settaggi, gestione degli operatori, generazione dei bottoni +permission.admin=Amministrazione del sistema: settaggi, gestione degli operatori, generazione dei bottoni HTML +permission.modifyprofile=Permesso di modifica profilo permission.takeover=Prendi la discussione in corso -permission.viewthreads=Visualizza un'altra disussione dell'operatore -permissions.intro=Qui puoi controllare i permessi degli operatori +permission.viewthreads=Visualizza la discussione di un altro operatore +permissions.intro=Qui puoi controllare i permessi degli operatori. permissions.title=Permessi -presurvey.department=Sceglio il Dipartimento: -presurvey.intro=Grazie per averci contattato! Per migliorare il nostro servizio nei tuoi confronti, cortesemente completa i dati sottostanti e clicca sul bottone Avvia Chat. +presurvey.department=Scegli il Dipartimento: +presurvey.intro=Grazie per averci contattato! Per migliorare il nostro servizio nei tuoi confronti, ti preghiamo di completare i dati sottostanti e cliccare sul bottone Avvia Chat. presurvey.mail=Email: presurvey.name=Nome: presurvey.question=Domanda Iniziale: @@ -343,8 +383,8 @@ presurvey.submit=Avvia Chat presurvey.title=Assistenza Live report.bydate.1=Data report.bydate.2=Sessioni Chat -report.bydate.3=Messaggi degli operatori -report.bydate.4=Messaggi dei visitatori +report.bydate.3=Messaggi dagli operatori +report.bydate.4=Messaggi dai visitatori report.bydate.title=Statistiche di utilizzo per ogni data report.byoperator.1=Operatore report.byoperator.2=Sessioni Chat @@ -353,19 +393,35 @@ report.byoperator.4=Lunghezza media dei messaggi (in caratteri) report.byoperator.title=Chat suddivise per operatore report.no_items=Dati non sufficienti report.total=Totale: +resetpwd.changed.title=La tua password ГЁ stata cambiata +resetpwd.changed=Esegui il login con la nuova password. +resetpwd.intro=Scegli una password da usare con il tuo account Mibew. +resetpwd.login=Procedi con il login +resetpwd.submit=Cambia +resetpwd.title=Cambia la tua password Mibew +restore.back_to_login=Torna al login +restore.emailorlogin=Login o indirizzo e-mail: +restore.intro=Non ГЁ possibile recuperare la password, ma puoi impostarne una nuova seguendo il link che ti sarГ  inviato via e-mail. +restore.mailsubj=Resetta la password Mibew +restore.mailtext=Ciao, {0}\n\nfai clic sul collegamento qui di seguito oppure copia e incolla l'URL nel tuo browser:\n{1}\n\nQuesto ti permetterГ  di scegliere una nuova password.\n\nMibew Messenger. +restore.pwd.message=Password dimenticata? +restore.sent.title=Recupero password +restore.sent=Informazioni inviate via e-mail. Controlla la tua posta +restore.submit=Resetta password +restore.title=Non riesci ad accedere al tuo account? right.administration=Amministrazione right.main=Principale right.other=Altro -settings.chat.title.description=Per esempio Dipartimento della compagnia. +settings.chat.title.description=Per esempio nome azienda. settings.chat.title=Finestra Titolo della chat settings.chatstyle.description=Anteprima per tutte le pagine di ogni stile disponibile qui settings.chatstyle=Seleziona lo stile per la finesta della chat -settings.company.title.description=Inserischi il titolo della compagnia -settings.company.title=Titolo compagnia +settings.company.title.description=Descrizione azienda +settings.company.title=Titolo azienda settings.email.description=E-mail per ricevere i messaggi di sistema settings.email=Email settings.enableban.description=Usalo se vuoi bloccare gli attacchi da uno specifico IP -settings.enableban=Abilita opzione "Utente malizioso" +settings.enableban=Abilita opzione "Visitatore molesto" settings.enablegroups.description=Utilizza questo per avere le code di attesa suddivise per domande. settings.enablegroups=Abilita "Gruppi" settings.enablepresurvey.description=Obbliga l'utente a completare uno specifico questionario per iniziare la chat. @@ -376,23 +432,35 @@ settings.enablestatistics.description=Aggiungi pagina con i reports di utilizzo settings.enablestatistics=Abilita "Statistiche" settings.forcessl.description=Mostra le chats solamente tramite connessioni sicure https settings.forcessl=Obbliga la sicurezza in tutte le chats +settings.frequencychat.description=Specifica l'intervallo di poll in secondi. Il default ГЁ 2 secondi. +settings.frequencychat=Tempo di refresh chat +settings.frequencyoldchat.description=I vecchi browser richiedono il refresh dell'intera pagina per vedere i messaggi. Il default ГЁ 7 secondi. +settings.frequencyoldchat=Tempo di refresh per vecchi browsers +settings.frequencyoperator.description=Specifica l'intervallo di poll in secondi. Il default ГЁ 2 secondi. +settings.frequencyoperator=Tempo di refresh console operatore settings.geolink.description=Ogni IP diventa un link che si apre in una nuova finestra. {ip} viene sostituito dall'ip reale. settings.geolink=Link ad un servizio esterno di geolocalizzazione settings.geolinkparams.description=Dimensione della finestra e barre degli strumenti nascoste settings.geolinkparams=Finestra opzioni geolocalizzazione -settings.host.description=Destinazione per il nome della tua compagia o link al logo +settings.host.description=Destinazione per il nome azienda o link al logo settings.host=URL del tuo sito -settings.logo.description=Inserire indirizzo http del tuo logo -settings.logo=Logo compagnia -settings.no.title=Iserisci il nome della tua compagnia +settings.leavemessage_captcha.description=Protezione contro spam automatico (captcha) +settings.leavemessage_captcha=Obbliga il visitatore a inserire il codice di verifica per lasciare messaggi +settings.logo.description=Inserire URL del logo aziendale +settings.logo=Logo aziendale +settings.no.title=Inserisci il nome dell'azienda settings.onehostconnections.description=0 abilita connessioni illimitate settings.onehostconnections=Numero massimo di sessioni aperte da un unico indirizzo ip -settings.popup_notification.description=Una piccola finestra compare per attirare la tua attenzione. -settings.popup_notification=Abilita "Popup di notifica di nuovo visitatore" +settings.onlinetimeout.description=Tempo prima di mostrare l'operatore come online. Il default ГЁ 30 secondi. +settings.onlinetimeout=Soglia tempo online dell'operatore +settings.popup_notification.description=Fa apparire una piccola finestra per attirare la tua attenzione. +settings.popup_notification=Abilita "Popup di notifica nuovo visitatore". settings.saved=Cambiamenti salvati settings.sendmessagekey=Manda messaggi con: -settings.survey.askgroup.description=Mostra/Nascondi il campo di selezione dipartimento nel questionario. -settings.survey.askgroup=Permetti ai visitatore di scegliere un dipartimento/gruppo +settings.show_online_operators.description=PuГІ rallentare il tempo di aggiornamento della lista +settings.show_online_operators=Mostra gli operatori online nella pagina "Lista in attesa" +settings.survey.askgroup.description=Mostra/nascondi il campo di selezione dipartimento nel questionario +settings.survey.askgroup=Permetti al visitatore di scegliere un dipartimento/gruppo settings.survey.askmail.description=Mostra/Nascondi il campo e-mail nel questionario settings.survey.askmail=Richiedi ai visitatori l'e-mail settings.survey.askmessage.description=Mostra/Nascondi il campo di Domanda Iniziale nel questionario @@ -400,33 +468,37 @@ settings.survey.askmessage=Mostra il campo di Domanda Iniziale settings.title=Impostazioni settings.usercanchangename.description=Togliere la spunta per nascondere il box modifica dalla finestra di chat settings.usercanchangename=Abilita gli utenti a cambiare il loro nome -settings.usernamepattern.description=Come costruire la stringa di identificazione dell'tente da {name}, {id} o {addr}. Default: {name} -settings.usernamepattern=Identificatore dell'utente -settings.wrong.email=Iserire il proprio indirizzo e-mail +settings.usernamepattern.description=Come costruire la stringa di identificazione del visitatore da {name}, {id} o {addr}. Default: {name} +settings.usernamepattern=Identificatore del visitatore +settings.wrong.email=Inserire il proprio indirizzo e-mail settings.wrong.onehostconnections=Il campo "Massimo numero di sessioni" dovrebbe essere un numero site.title=mibew.org site.url=http://mibew.org statistics.dates=Seleziona date -statistics.description=Da questa pagina puoi personalizzare differnti report di utilizzo. +statistics.description=Da questa pagina puoi personalizzare differenti report di utilizzo. statistics.from=Da: statistics.till=Fino a: statistics.title=Statistiche statistics.wrong.dates=Hai selezionato una data di inizio successiva alla data di conclusione tag.pagination.info=Pagina {0} di {1}, {2}-{3} da {4} -tag.pagination.next=Prossimo +tag.pagination.next=successivo tag.pagination.no_items.elements=Nessun elemento tag.pagination.no_items=Trovati 0 elementi tag.pagination.previous=precedente thread.back_to_search=Ritorna a cerca thread.chat_log=Chat log -thread.intro=La pagina che visualizza la chat +thread.intro=Questa pagina visualizza i dettagli ed i contenuti della chat. +time.dateformat=%d %b %Y time.locale=it_IT +time.never=Mai time.timeformat=%H:%M -topMenu.admin=Amministrazione +time.today.at=Oggi alle +time.yesterday.at=Ieri alle +topMenu.admin=Home topMenu.logoff=Uscita topMenu.main=Home topMenu.users.nomenu=senza menu -topMenu.users=Utenti +topMenu.users=Visitatori translate.direction=Direzione: translate.show.all=Tutte le righe testo translate.show.foradmin=Righe testo per amministratore From f6844739cfbf1fcf3a447a3322a0546b9d33100c Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 00:28:51 +0200 Subject: [PATCH 26/40] update Indonesian (by Adi Nugroho), without images though --- .../webim/locales/id/button/mblue_off.gif | Bin 0 -> 7071 bytes .../webim/locales/id/button/mblue_on.gif | Bin 0 -> 11202 bytes .../webim/locales/id/button/mgreen_off.gif | Bin 0 -> 7093 bytes .../webim/locales/id/button/mgreen_on.gif | Bin 0 -> 10126 bytes .../webim/locales/id/button/simple_off.gif | Bin 0 -> 4698 bytes .../webim/locales/id/button/simple_on.gif | Bin 0 -> 4384 bytes .../webim/locales/id/button/webim_off.gif | Bin 0 -> 4439 bytes .../webim/locales/id/button/webim_on.gif | Bin 0 -> 14402 bytes .../webim/locales/id/images/history.gif | Bin 0 -> 288 bytes .../webim/locales/id/images/login.gif | Bin 0 -> 2472 bytes .../webim/locales/id/images/message.gif | Bin 0 -> 325 bytes .../webim/locales/id/images/save.gif | Bin 0 -> 2506 bytes .../webim/locales/id/images/search.gif | Bin 0 -> 2523 bytes .../webim/locales/id/images/wmchat.png | Bin 0 -> 507 bytes src/messenger/webim/locales/id/properties | 518 ++++++++++++++++++ 15 files changed, 518 insertions(+) create mode 100644 src/messenger/webim/locales/id/button/mblue_off.gif create mode 100644 src/messenger/webim/locales/id/button/mblue_on.gif create mode 100644 src/messenger/webim/locales/id/button/mgreen_off.gif create mode 100644 src/messenger/webim/locales/id/button/mgreen_on.gif create mode 100644 src/messenger/webim/locales/id/button/simple_off.gif create mode 100644 src/messenger/webim/locales/id/button/simple_on.gif create mode 100644 src/messenger/webim/locales/id/button/webim_off.gif create mode 100644 src/messenger/webim/locales/id/button/webim_on.gif create mode 100644 src/messenger/webim/locales/id/images/history.gif create mode 100644 src/messenger/webim/locales/id/images/login.gif create mode 100644 src/messenger/webim/locales/id/images/message.gif create mode 100644 src/messenger/webim/locales/id/images/save.gif create mode 100644 src/messenger/webim/locales/id/images/search.gif create mode 100644 src/messenger/webim/locales/id/images/wmchat.png create mode 100644 src/messenger/webim/locales/id/properties diff --git a/src/messenger/webim/locales/id/button/mblue_off.gif b/src/messenger/webim/locales/id/button/mblue_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f6bf986f9c08188d85581b49de9925b51e8a904 GIT binary patch literal 7071 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 F{~s+{lbZkl literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/button/mgreen_off.gif b/src/messenger/webim/locales/id/button/mgreen_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..8595fa9a5da6ab325f3f0762b4e01fbee28da788 GIT binary patch literal 7093 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 LZ{kD(!1VtB{9GFy literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/button/mgreen_on.gif b/src/messenger/webim/locales/id/button/mgreen_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..99c45f5da7fb3eb591368b3794c75681ccd8a53b GIT binary patch literal 10126 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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/button/simple_off.gif b/src/messenger/webim/locales/id/button/simple_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..59d4c72e1885e64fbc7ed94046a59bcb33f58f12 GIT binary patch literal 4698 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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/button/simple_on.gif b/src/messenger/webim/locales/id/button/simple_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..6784ace9fd8ed0b18de1a0fd9cb4945f49d11aa4 GIT binary patch literal 4384 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 P`;pMMM0qnCfHnUEKea=} literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/button/webim_on.gif b/src/messenger/webim/locales/id/button/webim_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd6b52a8c3e431b293d5c33fea7cfb500f21c373 GIT binary patch literal 14402 zcmZv@c|4T=-}imYKK8Nij3qmb$X;gbYawM#Lli36in7cYV^@teWEuNf#u_T$v1F$~ zmM9ICh=hHWCUHA3h@i_kdJU++k{d_&&hqU)Fk zFCT>!PlhfJHDzXJbXA0njE>Crl`>Z+0&iWfh_LPYTpsY^__G|pn!3udhxZaIf(90w zKYxEW`827uBX+nvmYf&j?(RO&km%#*S-Bk6Rv1zl=b0Pf+?I0n%j@pFt&Jw;gQd#H zLzC^yg|{}E(kU-IzP=qEc%JcoqV;K3{A68fVTdtWkbPjTh)rp3P&4tPJ>A@F6^`FP- zqdg^S?_VyB);xZ2xvwtj%a_&o^O~KRZi8EO3(pHb&eHF6;wZuPC1JtMS%Jfe;dSv5 zj90ZQqt8g!oHDOmm|f_9_4#>Gwa2sPE$wR=n~M{7igj^jmNoBVqQ~{t-@dp%bB?~7 z6FsQaz3|wpRkmo^fAQP&(a{kA08&S6XG|T>8RP6sPpDxapnqTegu(^@0-*Bu8Tj{@ z0K^fIK#GmM6Q7Wnl$?@!@BRZyT6#w2ee%PcJ7J+WWTT6y#U-U>JvBX3#ldn@Pv0|$<+iFd z$j17zr4919nv(u?PYWgXergnAbnK4C?4QFU!0;q3$j2h*rn4&=?G!M=#_8(*Jg3U^ zWf#IJH7PIc0i%782g!9K4F4s~!wt@VQ)90QKt z?`5QYNPb%H`6Lsd%6%4+Yxiz#3&bTPvvHjWf42qLinZ=-e=5cfb&DDbE%n(-h4EcA zEIJpLUHce6$?nqatuR?a&X)Zg=@o3RP!-t{-R6v@ zAIoHC6D4jA5}M?`**2M_>#n zaDfY%b|h9Vo6RoBbAE=K0IW=K7@`IJWX_$if@DR)mf{p_RxZhL9T3TM@KAinz7l8O4fEuq_Het>Q8$YZr!(lffTibEhEFqPdSzM?!X=}OWkV!lhqsvA4|)|9H# zN2)Q13!vaY=0x6vR2OWTDfAfD6H#tTxYn-btVXrKZn?d#GJ)yJVm8`X#O&#hBh6?^M@1Ub77GZIgI|`kl3Cgc zy+}3rZDtXk`myBVGFvjc!`+(INaG>)0tG9oPT>(DhR}l z1+76Ex0PVrt_M)ofs*TZDatOm?tPk-Yj&Ar&)p6j!9BeF7<~N1(@&z{r}tiCog68! zl&5v9Fg|mg>&@e)lAZ{G+r9M93lR^|rc1{niM)Z%3DS+OyDCF1(NMe|6()dOLBzoC zuOEwrx%wK%0D7*HbO3xuK_R=yz`@dZXL^|5tyihGjX2DV0P|iBA{X#mcp7k<2-TDM z?qB0JJC$}^{*T*>Uv9=Lh<1-2EZ4YBM>0w-gRMT za^^TsZdG*^ggbfOh4_OLa%ta-*$h@V1G2(P0(>j5;{Y9IkoZt?q^y+jZqW zr$UddKR(a0UkLb6h)9cKfFEsy5JUo!^qVnacysW59FA>{Az~^-@=~)S3D6!O?N%0g z?rL}I2-SmG?TQ5>=^)8AT9R0z6u+-dy{K!0q`TdNYpqP|Ud$R&-B*a&=d3Aghl?7r z#`EN@^lIJrL^zHZD|Xr?fY^z!;zXk$EH|uaC5Vr(V~jQ&?>{@cMS-+=DG4z%RQK_0 z^_C>TGD-~00ATT9f_UOFuy3bSjzD$*7LjHSm6Yv5ATh_lXLQLr=_Oo{L?cKi28b4F zQaV2i1H`9Bhw=kdHZ_A7ej}YY*33l~KnDk_LL~&; z)_|KZ@oe(UI9W6^zt%urq}Rw$fPIon#iC3q#c$vuoHwT(S|R>b*e2p|JEz7M%jsMe z2k7wTc~sH)swnX=6)M6Yht5K$#Gg4Mg-}l<3ZiK6zlRQA)|A)FWyC4B1@na^f)&It zK-272!OlUYg7+^6uV1`Hz)4fcZK4qH7SCoyyuxx~4r(hMgSe^#;ZaDAQ?yw`@~?o{ z3z-m&GAR!EqZK2)7FW)nwzOo8mQVM+L|&chrD2%br0}RIg!g?kwuM3M<|HAR)f+TJ~`7ZuO^?%>t5sx!>^r+s(v+m zrM2kBEoDU!YOH{FSEY3ucDq{$B0*U^9YUw0!ckx;IV$)ZtS&&FN|cZVHJ)H0a?Y|$ zM~eI?RJjHCYFoQ_$c44v?p+t(S9Fa*7sG@Vd;uLQS%r)NU2q0C7KqR{(w-phKxgn> zs^jb!j>DT$#YI%+l|?z-&p)+csLpn=`9#=1x%U*s^_XN%zT%EzU+jgyUkARobQoTz z`$)bALzYsZvakt(`70D-brjH03p_(iCoEQe2jAIMkjyF<;jUIN#Wffe6rwHq;gNKX ztbCO#%Rmr3K5o-9Xf}|&3J=CIU)i|#rwPW%@MBjD#KG@lVE^DoMsM7n<&&nsm7LpHc!@YJX}g#@vo}A;k%+~9Q_-ccetxK)eirLW#3XmTe1;l!y6nN1c5m-h@f!x0bANeGCwB%xo-iTnHE2MQrdcsOK!k>;g9@I|%TtcTyLD`& zO3Sa1Y(APR7~2W*ZPmrLI;mbU`W*sH{HgQ7Eq=Wd|9f2jo+pb0oh+(?M&c5`zvrRA zl|#SxhroNv|6Ex|o16sB#nf?%Y!(_Tgz=fK(7T*!N;zNmfM9ByUE-UY@rDLVtmZ%X znu$cg7fgi30Ej<-Zu#mDJm>;(wynkmr1kyx8}1yUW5;HCx*otSF<>kzq3WupV8X`R zM&~$#@mCT$Rm$s3k6*Ke>0UYy!Y77^ktp#Mzr9g{EW#T79C5nt*FF&)Cf zEE!;+l?s<|UaUD^86%uo2vN?bvY$!>P08cqC9nmon@{dSBQaS=!TFOMJjmZOU4`Ev zp;WHZN)dm`K0s8l-s}db1MnFDfH{LUF*mzei~zurBn3W2^_}Vh;&1yM?HBX?A7lDeIqcc%HRO+5W{N1gko|4)1Li{%4iVW!ww5&%*3K-66~i|x;U2c zoFQl|xXF67lEh;+|A6s!bm%klzOO;J90)O>!1z&+&;dJ52I(RuC=dX(BmS%a5h#v+AW38e#DfRNf&j8Q9K-}i z_Fa*F2%ig2ul9vc3xd?C1T7u@PdeN_Sg2dzgRd6RoOG_F&lDb()VmB2m`3^V8PW6^ z!Ks_X5eRg)A*@$Zz}RRLOJSQ;#5u(@wl@eqdIlde<7ZoD#NTUl2e=EQ-k>}%oK12= zol&B}d}z>X7?8@UBMt>woPw$dfu$JGiGEFa8uUXOIAI@5_Jp>EWf&`hqNqvH)T9XN z5n>|nLF)_x90+jGGa?vp4MwKpYSz=IxrHuS8bIpKepae(p0!_Y&d-bpOy1Qbh#WJ? zgd!@4;XaPGJ;RR>I!VG~AwR?J+RQ@EV(x=b@vazd@*+6SGUkIk$Wa#(1>EMLx_{qi z`J@fu+|2N>e30jo_2Fs3d^JL!lof$0h^BMm!zM!bm}(B2Kr0BMMsc=4 zLB{qj7HJXr?EpNA-#HATXm{U-&iNjfvtE_IFU0ym9*||^MA<>l>PBa}KwT`eA~4{+ z{oMS)aIs&xpOex!^9s-V<%-ng)#avnZRVNKjk(Y;Hwqhu39$(Dy8%B^KZk-kViWl3 z5Us>p9E)JpO)!5D2w4-}<`m7tdK*8OF_K%zht4!kD*n`t5a`H6Z06dnf?Qm)E-C@9 zl5)>jWqr0RPr6!MGgxSt2r;5$&&d?sgFpuQL9CeIplp)99_bVf>LA5$LxrCOLN7DG z2{GW*t4Lk*XimTQh`@pitalz(<(=1yHbrM1po;M`fPQ89he||kcJ-s7GCu7HQ=mEm z12O$OjNGke)6G+?iSYtJa#W)^8CWYW*5M_{f&$m`4`n}ptMij{ls~7DUYR@^7C?os zDKV1AZH+4bRf6M{4quGackJogV!RDEkzy+ujZ-hojitx zDq%n-7||=bsTewT+uzC(5RD#!s*Zz`b^#wEReTGfYyQ|UC&x%9iH(iy#e}1%P%dRy zjVV+Ws6R#pLViK#7a`(P_BOINw3$SmG$^?S26_}C5!9$U-+U$|$qNtF)ISMetu%E& zR*bk~7!Zcf)aJDb06@BSd5nIEY;1#rsm-sLAPD}++25_ciP?QkPYicX0~pZrskl>t zU`ae&lHU}-!|z-me5Bl#q};ZmgUqN7tvP{>(3HkN(RQJM3OUSE2ZpH!5G4Vtzc}kA z9|#T~4s-f#V?%=@nP5qjDGCqu!Xw9M&Cs=oM*U~aZqHhNcZ^XYTAw|8KL4zB4b&!z z{10Zc{)^cl00fi(`u{IxllVe4;Qte|vnXH`N>0h?HrX|ni%f7uVa4GZp?qPbPe>Z# zoSacDtxwz9JDxp%(fJR(>zT+&w1qFhnE)gE*OLXWw=~IUyo$Tj+&%yH-NO6ly>d=7 zq|<6MdU_MBoZ_MN_BWV2yL&&PuAkJ?C;WMG8TumJe&ZECM_Z?z&@H?~X97xQDVP}l z{-oSxEQ^28jR8qbTSi@IIQz%WDpqUAlzt*sQ$TY-u1xhBX~Xx~ zF2bZp`*=q8$8x^e;qunRRrJ$ycEYK8tXEd<4C87ILqktRxu&Q%y4ezPFAgnRP1ig* zqN37&%MYU|ZOlKb=xp)1)3Mv!`yZY@fZzlwIOOmU8VqN4ja`m?|K=y$O}Uvsc3~Q| zDXQ%7S*uLHa>r`h+!wU3!nom+M~Br8vFkzg}SyZv~RMX*G;5PQ661T21UHgZ$fDORB#l~zP}RfWPwv6?v-xv+K0 z3&%C?g212^oX&!ShnkeNxDR(iPnS zPN`j%xoT=d%%x1iY)~(nl`phBrfT|bO-)?~&o$ifW;_4t@Gunpu8b63&jc;CuSk6Wby4x+FmD+a7oQv#)o} zkgarDF(jT4Zhz)hyPUci4`MZE7)f}G+mKwzJ_*>%fdsNiyhmG@BUkR&xNll!r%QX4 zS7^yZG)!6a<;y4&^=V0NNcL8*$@!5JeLh{!w~p&yU%YXzNy)7rRQt#NCf?^oeoEio zgv!=vSKY6KF&HTS+N<5E@j%HNBkVatYaQ<2$N57p?#$TyF6na9@0o&4dA&*1bSAu3 z-<#l@5&QAh;-UC`R)QmoAdf`Dm*TElrRUYf>$b{oEyT~{x6SNL+nW#HHHY1r(|@YX6+Lbn~a= zG2bJb^$QaluBvspp*h_X=4YS&ytDSI?N{+Qjt3f~`-7!~jnp>bX=9c+^@&45n3w!9 zJy>T`RV^SWwNed1RnCWe&QJ|zVCE=W!D4u(ikuo{$!ND_1jYn{pCX)v&ohafykx^w+u5@0P zB$C6t#k~R&D#RoTLdg(UEQFt}eaPe2_QOPz9)XT5V-j)+d~)`f9JeJ&OEy@5?&zbs z!+7E=!GrX*78RPtBE@RxsaI`eyOSvvJQR9fm8Sg3!K5+eX}sn}2wW-@IO8G0gNbhQ z;)X8T+)4-X9Stfaeql(k^rk%IF&spUVkU0i#Kl$a1vz8@N*mv~ZeWG3*Hj~7Z#RRY z=?coa{HEdnE;mU9jL%P^-A|v)kE-$&F;&u>UFqWD^sPSQ;$=}R9-rrXy&9s_VOQL_ zldt+%+BnDx94vsNR@H$-_OD>?aF)Q%A7K@x)#rf33*)tS?W!2;Z>D-=cdPYbe@`ZF z`n1??t&`(b*IlXu!H7TW9RDY_L+AL6`0o@K(JGsH+NrbSFDLxzACn`>J}(@jg}h>}28jqd<~jGc%c{Q|65rXCx~%*T#nuC6kjan~iSg zI(pY$o_YhnDm~p|F}i;4>(EdXc{-|>%+4QU6l2_dp<0!rPB-E1fKhU0tN7@;4cnL5 zqQ1;0P}9=T*k{&P)iT=(Ux3e-w#7|;i2-}<$3i98#wx!QgV1qRdZu}12hz729d~+6 zr~EA%yd3D$swByg#7l-)%?jO@vK{z?lm*A--CNdplCmp4rmj_*i-4lL*6V-+!Ogv| z4a%ZI^u2gx(o=>tKO{{e8GQ5meF|nlO67M!$Hy_;>vMtIw(Dcaz# zIE6C-X^*DDn4fR71-X+0=v^Ayc(tDrL9Y_;*94V@gR}=gYLJ0gM6boFm76On=D%9= z|680B?!@2v-&*qrcf5jwQ7A5QVUbw?A}lffPEpaFTVY}Lk@d8O#-`@~73VGXJURgc z{VMCKzhN#I09J{#uZ!=Ct9$;pHJ^R+v@<|XUtgr}xYz^%H9~t;SsgaF@ojT!j0c6i zO$ho#Qti`|(-_6SbJ12ftA7W{tCabP4V>rs3waS6XO=(|ZiMsHXecLBIiBpJoZGI+ z4u;!vwzY#B+;fAS8j%wq^8GqJm~o#pn#9GKq2TdH*YBEwWNABvCo1d2ELv0DTV%4) z#5U=y!&Pu9zmIsoi-m2sLq}*GMGjLpm`{8BblU7&~v_V=vY&q8J#C>X6K{>Ojd+Jr`m15(Y8`ocs587v2AAdAK zuEaRW6o&skPSwD*8vHO&e)sG4YUhL26ff~r27hs>_50CVRZ)9B<*j+>0otB9i`|Mb z`TFJZV=2g#t+3ZuJGOkL30cRU7Ld(MW59QhUW7SVaTagKXu@dORNXM!9KHx1SLa0+ zDTh|vS*dM7XWv89&r~COEVW0{McB7Y5IifJc@&%VbD%JS-k#9oExw1O28(tNn6pZ` zw7>U5pstjm6&FGtpiNnq<_tNe8;$((8fHX2^;u>n15sDnyFEi4KIdk?hGmy0vZd)T za|j>purNiD5Pl%wZJdNEPo3So@LII1nJ72nG;#@|H_^FvQ)~IjZ0(D> zPuGkz{`4)GK%(~-u_{qIAa${N6N8kamyvjP^_P*F>kX1eOWmY)vM(;s1Sz|fz@l~R zfK@Ddr;EfJ9SKU2W=oOz=u^z2w)@i)LCe*R9fh`v22Dz)RbG}sjzK9*G*8zeV zra#1*U+MjRiAb3I(ao8-|Q_kKx=#pH3%fkLi5$`eDn)hO#lyxdsxGXqojS;EcEDe(-`So{TeS_GEI76ciS}sYxJ%|gRA*F zBW#_>dr8MrVy&LB7%%v8Ed+A3Efn=6d?m8?Ui3%T+DrOB{uT-S#fzosk*_%n4jLtc zf4f6jGHS&(JhuJ;;9Sv>luLhh7U6HkOSnRRlO(|ont6}U-aXyK{Ebpz`=)y%rf`LX zHu#Lru}p<=gnR4=?dh<0lj6od;D4Yg$5D5e!j~xpH)`UW;F@#;mkjDmLKh>S@Z3W*1Uo#6-^GsY`8zx3Jj&k$gC6X6gFmN-aEFzi&Pki-PoFh9C} z@n1$E_aP|0|AhQenmw{y!Q67lA#XeL-#B*~w7SqYjF4+uPnjm5wLdE>GkzQY$noEp737o=^hjqoi+=mQc76M=S%35_vP| zpZ7g~rLKZk&(08b5W`-yiDS!m84I2JUbz3ZoR_$X*i@W^?V>By2#R3PfdkTLKwi%j zO)}JSEdFJ)EOH5NY<%TgZf8D@6}f56M+HijcUC0rsTP!_E|weESQVIhJdVjz`aG0` za-f0F@}Oagm?{f|uw9KXXeT?@`CmEbqB4HKT`b3a+EjPz&Sq}q2@ zpsNdQV(fm*&2--7=Mo+G;t>bTJlNysBD^&A2#Q5K$j;1LbF7fR%X-dZdB^OYO_#B< z==rg`CmMopUGp)ubMD@_^)TSZ<4apum$c;R4C$}6{`NregXGuwYac5)F1K^(RJA+= z&({C(T>p zgdRS8`*QV~XuJCa>Gs25+d8)b{JS@&r!yK}1Y9yz0%9k^YTDneMW1qA2+>>2BQe~M z_NUumyh2YO7_WYcI{GsGG5!awFzSZ$cmLU~34TtEf*Z+P!}FZqPIeWa^z{&p96Ju+ zUgX6QgPxTLdU&*yQE=-{qW*4>qU?6-cR+{}>eBkJo!WYz;83Y&HHAudU>y8itZLhH zvNE$zmmgn2klDI<|KMO7qveQ0I#?32|00n1JuX7{qgkKsGeUFI@kQpM+1}2J$T(H1 zF58O!(N;H6pb6c|==*iA7z*iuu)!B&^xuXIe?F+Uj9G(4 z;j?65-3Zws2nE>$s?XW3xytZ@^Z21KkFPAT&F$0l3krJ|9*<~ULGoXlw*E!p9lhS* zbuPEq2mi%>>VIQDK|&(pf14B1NCAR+gxlnT*gP|xgm{U< zg7~bzcD?R#MzEQjFDbvGK=(SK*ej(q;R(H~yC*R?IN&@XsC9%S7f_N?PX4F&@0^g@ zC#OHU5X+cKoQ!+3{JEzukKkMgI{rRZ4mF-Uxs((t9{LYrCGGGKHs4og`uvO>d9%^! zJ~xadqSp?~M~lUp3HS)OANlrxG`x2KzkANM!m`)+R=+HZAx z$gW!;(@^fqy%2Ap$dE<+;10Ftl>|%=^zcM^I8o6=-9}ODu1gTt1cWDNV(}JLNj&kA zkHoW*48~cv>qjxkT{9M>3#P&v5-6GFPZBi3c**We%tHhu;tIM^KcnJ9Zt{%g-P9-RxDJO#Ix6aKqBX zEsbXSey=q5<6F#1?sI;~GLSgy)=R}&3$pd|r<7<ek3 zp<0f_qd9N8d6g!1;ZHf=x!zO!Q|Ev^ zA<+w1qkhLD?}M)|9bLRkrZ2l3g`*Kr`PEG9J(3B2_+IQ=`Nf*Q|TQEb%|}siSh+zBnY%5J9AZt&=&K> zi_pB-1tM4|CQ1`*n)@Ze81UD}1kBocbGy}cwdl>=UmW0vOsr!|;tFn~X;dzKqiK9^ z;t6`}bi|EkZ;ZD6*i!CBpfvCAjGIaG9Hix;O{?_lo4*~}Z$3uMT&owATyb*%0?PU< zjvx-n4I7f;2i%OlotobP{gT@2G?_WeI^KWo;Um_bfpr*&p5rnHjU$>(5!*6eLJb8& zTSA@<&qlh%Fed2vk&W?fhxz`=tqrj>Zf?k_sy5Yx)UVB)I*jHqleM?IGh*lPd$irX zy11$L12HWV>Bpi%Cp^#UKOJ;Xp3sHl@tlG2t+ACgdAT>TEgVPp* zgtzEA?|V6Gce$0?um5Zz7@XQ)?7Nx&e49%6g)r!d;5j2+VHw&1U3&W|>&=zQzCTA^ z?~c3#_bZF)3b+Z8XoXcKT-i*V^P|1OO1#xk0-GSa5$wGU7T|pw2q5;0xx(-)hk9`k z88rUJ)MXM{b{1jiOat9$i~Y0ll%DdM69iOw$agaUwmb$GXHFOB3nf9IV>1quTFidc zqDN$IGhSz;7>dS|QKvWH1q>|9S&Lq2k*!1vn-ZRf1HE#34WO@89<1<1h^j0;@ytkx zz|(=3YSL+J?YzA_JLgZT-w#4L?Uabj4D@Mf5kY!HYVY061o?2Vgx~d2i5~;~GFoVm zQdJ(;txB*OemoIPr*o@Q2TniXhN3rP*`-$pcn{SfK2U-Abp<`RY}yeUfkx+6MGsls z9S5gn;uLLH6SU)t*`>vL`MoK<+Q@FQ0E#SazlvZBTqKuALIkf1TUl0|NavsdpoKsq z6mlu2ubGKf$r(1pQ$Zd1Ww0bgD|Qt2;q{M3+9vy?6Yfknm8*8hYG|;=1 zODbnKtz{cCfXstf(*hSeX*FI5!PnQ6o0Spfx=qF0sFqyTJ!hZ%nymS!(#qcQTyjkV z=){1jiu`5*8>2DH)MVA>qJOM=Yg3+SzPzGLvQ@U(Yx0GodwwT>zHy8+(yZVwS2#YS z5UYrk*6f(?7NFR5!zt(*vQDuPZgVsy4^>VG?>Q4CJXz~Ot9QLu#xd7E8n(Ps5b^1l z?VvxzusDmtrXaoph_Ywaz(NjA^=XzxSwaIFx0Sew};MQHbs(W1lEU{$gW z$qPHTHD7GEpd+S+&F0fJ!UXYGB%$1KrOyj6$jaCNI|A2s_@`6_j?oyQupk5K=ka{oWG_s*UFAET50B09mDTolVj z_z$I1ixU3tjP9#Xf>l$UJxl+C=y&?=)II-qvu*ZYMDG#lW0Lex!?ZC5dE(95`qz!o ze*t}QH&#w#gci0E7xoQ+u;%|oa}nI&X?5YtHz}MT4eu>p#{_f?pQ!tm6edux|Ncga zSYQauJvY866eyOdJtK9m0h!2*{UDR~yO-kLk# z@=jR?wJd!JY;;We&Wm#D`2E$@P&#N+aS9LGL8iYxlDF}T;ZjpZU6@N0wX}1(COW#4 z7p41zI0I5!j_)D14`!9di7PtGUe)EZ!|4p&J0bO#y)h5X=8Ea|d{Mdbd>|sr)I-0w zFa*^OwsNdk*qe$_f#kHDIWekhV!=Kvfm_DCK- zupeuBYm~CyY<2P4W0vNjrCu~=??eLcm+q~hjwbqW!t-w(!w7|UOWoZKOr@+|$)h~l zl1kvgID+kSG$;k#aL~2!f^~S?yqEp>!RAr#&y8*p;1E82Q|HLc_nQjm0myog?eanL zkdn4d(6EYme$ZdermXi{vAA1vN6{T^GvV3WwvueEW_U5lWc&7@{jZ*csA;Wd&)-N{t*-U3hOBn-?9Z7}D7W63C5Rtv#?Eu5tcrb7e+*(C0phA9HVJo*byO^{*Zrp)YzjcBsIbQf@5=Y7-BZ=AQlY^G5>%)YT#! zs&^;}+I;miRQ7l5ZxK{M_W5riePfUuE(q)%EwwCRy2Ii|jH&{ZICG z{CDMUHjMBLT@X9%Nj#pj^?=A;hDKNp82zVmmzBuJ18mcFC`$}jnBQ{H%5^(EN3)dI zjQWqELF3US3>wP&8q;U&5L?f8@FF@n;k0`b}vXe#3w^;Rh1u*X5JN1GXnSZhRG3gHu z3B0UCH!6}jdcS9i>mY5psL#Q(kcRIjm3gbqXb z5La}pz|V3%2@xYOQWm~{#b#^Mu7tH%6UR}hr11+;mDB*+6)S7i$z=Gz&!g;*UX)c<+j|j9HJL|dge6tCU-n%QI7YvQ{7h)SGL(ivbqn?1jY#Db5l~!E8wg}a+(i= zicqT6yzI(viVL|L@P8@*vY%`|RkCef)sx>5oILMf7Ly{om3K|6okxXc z)1IJ<^i9{T7U`2Y+nJRCrfPoex{jY&iyJEsz$i`SK2`49B95C|h|yA_qBB=_Z|_v0}f{k`2P?j1`;a zl5yexk>3A@FeillYs~-0UV2t`+J6~yauN0av*lDO;y?y!o2NYTTbw-^{*vd zCs+txZ=}g+AO;D1mm2<=`&XE^cgZ<KI_>sDi5~w7^XXt>MUi?8xwTFt7{+1bdZUUX&(k^<4Su6yu~Qy=tTRfF z;qF*z`Yu+S^n~_P=UN|C|BbH;F#g$gIGf|{)C|1b=`A`)m;G7a4kUMM60Y&+E z5fk4CE~Rq&;Te)N)vAw2h}M%QWv))~D@X=yzwi`0Cl{x{Ci?2n$~#ucEFm8^5k~n( zwEDr;Sx_wPXHx9ire?9KD8|V%M&LDu>eusoLz~%^%v}bR6k8vt?mg2qrVJSBj z?`aBp@I?Bhq-(R?Y<|mY8ZMyGrh3-<@CJ*EwTR80xym+frr58_6O#+uPWs~M)zzZp z@7R?Xb_IMruXL=O3hTEu~Gl^40EoYf@ zyqWT~b;YU-Bob(JR}P_;_|mUqXSy^dZK0K^W_CIdJ;0{#?);6u$N0pA{Z`BAl_ZSn zr+^?PVldS(A?(%>veEH+N?%l9zItDjiOMzr{oZZX>>-{B{pMF8`|Hga`5?nbH$wf@@T9;Ih>mGl1MknU=aF9z1O( z`C^#U&4AXNei6^sqp|6YJp2q#$;?n7QRWLN3F3Og8$>9C@*z*hK;$gn;8Q106 z09L!`_f3*!Hi4b@K0W3N6~bz@X~ibKd=+(A%LH+U8%Qby@_$Up$Ox5Tdz)qwr5XG7 zNDFzYbjmY!yXS59>HQ=%B-o7;Wpd;%b#ig4ID(pj-ZVqdCr6DEb$Ud(xsei_&x!H1 zbb)}n@lzDp5`lW^OZLX`n6EeL2`=l#LOu;IdG3z$+pPC+PHe?+odNjte0z)zF%VXw z$~~{k#`{zSq#T;a;)EieJ)|PgcGT2xm0Y+Qg`5`|c!!LMk=Q{eT7D_M4;I3STI3A) zc#a*#N_vB(vYCzCcIlMt*RlU); z+c^U^6(=4Jj$G0Ep36v;L+x82L#f3%RjCzPPX|W>?w-rd-HEpcFHk%ic8G4=ECBTQ-uU?y-}R6 z?IP=RRX|GxC*_*OVh!T4)-*_V)0aDP=*%655Y&0+YbWaGh!tAXO?P#aJRZDpp`Ezh z7{$M?e(urSX@$L}Y*|15UB-n1hwK7miKiai9^T^5mwTg1@uK{j_(#i`6$7EF7Q)Zo zcIkz+ys}kgsYrG_#phJl7!}})6LCmy4S^ERpfM$rv!YHc?{oN*=zRzo&eWYxvTafFFY!BVQ3c=5-^i|FQ4>s=B1q?dD;WsoXvJ z!E+}PevZ_}(Q^N}{$8u}=WqoyME_GY6x=h0(AyV9K{1J--kc)cL%GXme~t0X{*2Ad z0*n{lFmKCcF*dvxe4I)VY3$vQJ32s__UNi*Nf$@PVJwTv9~Le#>~O)EUBj+g!PAEv ih$$f=S{7|_e!inIJ8tRy<`T#y;nxhk!V?Vu`u`7}hLX$x literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/images/history.gif b/src/messenger/webim/locales/id/images/history.gif new file mode 100644 index 0000000000000000000000000000000000000000..5acac61b524bddf5caf2c39bde2592af96e701b8 GIT binary patch literal 288 zcmZ?wbhEHb6k!Np*v!DNbm`LL$B&;qd-loSQ^&G)F zW>Wp;cO&lkP0xN7ThNeSUy;aF)0W%V>X22Ip4qEjozYd-F|)5OrMYz0y!o?c`zCcv zn7*`r!bI1!nD*i&%cgAH(7$4HXm`7A<-Wb!J@*_ryn0PR$ceT453Pzjz3cSJgIkYY iIC1Hsl||^?aBdS{17B@lZnZ!;g-{_8F;ihd25SHd;Djy! literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/images/login.gif b/src/messenger/webim/locales/id/images/login.gif new file mode 100644 index 0000000000000000000000000000000000000000..2c7a7da62d671123b490077f92291d79463095d3 GIT binary patch literal 2472 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 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/images/message.gif b/src/messenger/webim/locales/id/images/message.gif new file mode 100644 index 0000000000000000000000000000000000000000..83b7c9b0ddd947edf74b98ca9630436a9c833399 GIT binary patch literal 325 zcmV-L0lNN2Nk%w1VH5yW0J8u9(UT@^DFgQ`? XLx?*PC|JNy&x6B<5F<*A7y$q~Xgr@Y literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/images/save.gif b/src/messenger/webim/locales/id/images/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..d27f651e78971447967b568b841021da9d98507d GIT binary patch literal 2506 zcmV;*2{radNk%w1VQv5;0Qdg@MU>Ov;NUuj$wiITHGst;XtY9+&`FcpOPSd5_4r+? z>{z1dKa9;bfX6Fxy;Z2;%i8Pi^7bTZwk2%0-QC?+qvtn$$y1x;OPts+cEVqg$1iTS zN|D^{@bz1a#88{xSghk)rRyGIus4FoQJLec#o#@O%r1DpWU%vMuJI^txG;FYJ%`OZ zhsw#=>QtTOCT+M+nBT3(;arWyM3d4UWU)Yq(LaXJJA}(-v-D%H@-cYBSF7Vsq1-2K zxJ#SZV3Wy6kJ&sXCMTW&XgvmLD$u)n)I(NG-cfT-lxh`?IDs#IcXSDM2^6~NU z?Ck97>gxUd{qFAW?d|RG@bK&F>*?v~=;-L?=H}<;=j7z%<>lqAt*y4Uw*LP9#uwf4x^=qYf!O`qD6v)4I>$-TY3X}I`emdi<+)*WK6P@&w=(9kt}#_8?yP@~-| zbi9|i+ESt5$k^#qr{G4F)9~~6Jc7gPs_$H+kgL@%2`p=VX`6C~31`tngv3@i2M7H-pDCf5Vfr*g%WUPnO~G_W8`)>{XuTN0rt$ zbGJErzeSbQSE1-koY+E;&qj>cQ>Wiel;0p_u_0x%E_A@I$Ky z!CSEAI)B18f5k0zzEGFp>+kYpn9Nb6-BG08X}9+{fyz08$ylc5I)ls1-0eV)&PkTn zL5|Mf-`_EO!a#n&mbcpZ`T6tn^Y8EP_V)Jo_xJet`1JJj_4W1p`}_L(`uzO-mzS6S z|Nj6000000A^8LW00930EC2ui0B!&y000R80RIUbNU)&6g9sBUT*$DY!-oUicsbL? zjF~oPytskLv7^V22)&S56e$3dd-A9RNVABH7mzSx$|Sg^P9!V%a@N~f&tA_dY3i(* zNwjFgFma~j#7B=F&z<(7+H(>ojM1xD|EcLhVJSXv5G;iQl&ulGSGnxP)2DAt7d2Vq z#_Yo7Ud~A}h$Lb2>(>c6OzylZ(SfZ#EnVa)Zpg2(JfEK6^s{^+_*h)AIOGdW|iw{Zf=poS>&$Ovx?V8bCx%+b#m%^?S!gVRYNoplr%cAa6`MYR@pQPty=PfXSGUQTx9 z^jd5r%Hu?PPCW6%itW*d;ysi2@y0E_tWydN0rt2G3w_)$fd-p2cU*(dL8qj2(MhLI zKH6Q^-F7~yMV?b0f;b{dCB}CmeDQ@Dri$^sC?kq8;DL$`3K*aX8W{B04+8=a5W@== z6i`iZ&gBDPlh;}IEerJmRZF-^f`*pEJUnQ zK@R7L@q-YBnA zLiuE``uL--KWurIsIZI{n_{G3MtW(B&OT9vvzsnF&lHPaB;bRFK*r32jDnAec z2M-|dkO?FhETc{fCMnm zp6z63`0xikV3Rry<}FPAaF!Do#=a>);dUmJ-{N++I4eW}3NC~~{9qV``!!`Ju&BfV z6rclS7(fjD_(3!Oet-rs7=Qu&Ab>eu@C{DXAQ4Nlo_6}>Ht&3ICpp2O-tq>YyrGYL z3iC(ea3?t2!BBDXb7B1Ir$+d>v4;GxU_D%L2o{8(6{HBn0ha+p-UMPdZ@>WwqLBd+ zKwvsbx))mt1)gB>1bp=YpP0y(zJ0N;j4+%Z4d3|2D_j8!pakU=w4enWil+myNJ0!k zU?Gm0!6H%A1AN@F|Hv2RwN*F_F|ho^zkctD2iuI!P}#brm&_hO>v5Y zU+>oFMi+Wglu^I}DM3lfQu0GlQn5z~e1HySe1HJJ=tm2N&;la>!#Dk4!T|P=fk)J$ zI>1yUhscBfOh?6LMew;)71-x6#NCdCFtny8uMmY#V!@MH&_XD+kcBO5A);AmOn4H7 z3n2Kw1}`YW8!i{19dN(`HSoYDoOB_2O(`Dd(bCWG#-jKv?P1jF9U5ua#)V=b3lXJg z7Py%OE?l&zTi`-QzZuS`&_M}@xWP3#ae@`FfenAD#2sMZ2@8~g7jsyWlcu;&N1kqj zkz&!LMp&&)U9x@9+?^F33cpWk;hIDRs$Pp~R4{;n3r5|7Mw=QHOe|pnlGwo=nBV|f z&_Wb2n1BPQQ3F-Hf=Rq0RQ9UmuM!z+St^>8!f2Pf!BIhlom}WA^{P~)CN-&C0E0#S zDqB9M@WC`;7(;gEpn(EJb^^eafCLI~iY7e517U?uJ6gls<~sMer7=hsv|t!p)B*{i z2t^snpa*Hx;1S7?MFbv%g~Tl8ybjsQ7%a327bIc^8`yvcgaLtHDk%VOL9c#~5(g(> zXp#7omprPn-vTqFCTW-lThykcC#0bZLou*~6(W*93<3=EP)ilIFo-|6WWpd`h(su2 U5sYXg#3)X&idW2Hm;?j>JB3*Z1^@s6 literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/images/search.gif b/src/messenger/webim/locales/id/images/search.gif new file mode 100644 index 0000000000000000000000000000000000000000..69554f970c60b150bf650592483f4c23927c5622 GIT binary patch literal 2523 zcmV<12_*JMNk%w1VQv5;0Qdg@?e+WK-rhBU#LD3EmA2U+X0tMU!qwsKLXFc{z1d zHi5<~a=pvi>+bUQKa9;JYPKb8x7^&^!{PN;qvtn$$y1x;E_lC7oY*jS!cLjmUy;Wz zZnjF1-0kr7Ta3h8rRyGIu*BZ-yxH$jnd3{D*hQ4mti|9icD|m*=RAqaFnGW^gvmF8 z#(}cjWU%vMuJI>sxIKr>$=K>to#npQ?oXKCt;gY9jl~{hu|I~;JBP}HxZ-BB^fZ3M zW3Tctc*81kyHKIrV3Wy6kJ&|r#WjG%HGjl9ce^lhxh`?IA!oDs`T6ql^7Hfa@$vEO z?Ck35>izxw?d|RE?(XpL@c;k+>+9?2=;-O`>E`C<=jZ3-Fx43gUFM!*S@~K?)Lob^ZG`X)H#O9y}i9FbiC5i(qfj&W}D71 zdcfl1;#8jH9b&IWmD5+N;x&B6N}Jb&wck33$*9oo?(y|ZoY&0T?CbCIlECRnn$|gf z!8w7;RjA-YiPb`p&_t8cMUd30%IEU-`O4YqKz_hdq2N=e;7_01SE1-3XtQLP%qMBH zMvT}%f4^3r=dQ=&f3Vw6o8MTb=GWu!z1#5L?)X@&5#|kJA}(ViOs9T;8dsIT&L{q@%CV#MhP>n{ak^2T*j1k9zuE5~WwB3|;VyK* zOqkp)b-p};&MbDl!QJyYd%wcm@n4zH_V)Jg@9+2b_xSku^z`)g_4WGt`uqF){QUfv zmzMwl00000A^8LW00930EC2ui0B!&y000R80RIUbNU)&6g9sBUT*$DY!-oU;#JQ74 zkDfet;_!jUv7^V22;2(p zNwjFgISR_;%twzN&z<+8-t(ehj?t@F|J8XDU}?Tl9tPPu6mQa?SD@~7(WfuKn>tzJ z#(d)jUrt0wtf1IKj2MbPk;=is@q(>BHgDuAZrHD};}J^(QL2Omi-0SYpZIMjgvtTK z0UV1SO}ez{)2LIcCjAAUYu7m;m@180nJ%h_~%K9pWxe_6j2r57(K8^4B~FOaD#?0W40 zA)%NA5Ia2Lg8>vg5WyC|5VxFh&M_F>7|>BCp<&e-hFw%^X&03}PWi-?J?-UWS5B?H zCgK-ftmg$7V5GR7d?w<92qgxv^GyTAtm23xncPqe2uyG=#3f6Jzyb!#6}Mn>&NT_$ zbI|Ft4|dgUmz_^)iRToD9)^h0i0_r?-g{({iQ;=L!e}BAm9PSZ2C8HNNGQq70002U zbYg)3M-*W~1-lH#+&&IMSsis!t~Diw+d?^<-NQwxccu0SXiZu|O<CvJELDz{nZi2!l!jDKv3LBR$MqMFC0t zitn#eRu}YISpw~EhkE<}!y(fPJB!c1E&l6|#4KtnaXn--o^2VBM_vXQVT6(OQil)& z&BzX1Ok99v<+Y=88F^GFZxhRwH%rqI4^0E;E&~gGH;k1x%gcBN;p}&yQ zW4J%!8Q$!sU@Q!(@Dcm7t;S_we7y5w5Ca;T*E}>BurZUe$0Yu6iEcRI297XCFkl6b zLXd+7?&1Xp&QSwgq$6(80oJ}UWFepU&3#YFiQop;EERbHc+~QO@XXLZe}v(9WeCFn zE4RGLp+O8f1fl@{gNVSU?1TW3xPS(r;D81UAXZR3!#1vvh$3La9ZFDylg@`7g6RWb z+yR-MDV;I7d$vZ3`ij>{{ZL_954V19-xj?gy0%Tk`TY@HZWq*15!k5 z3Q8;mwct@rTa=?*0GpRbKK`(ku@plZX8Fol(y||rlFB`BAOvR6q8hC@gEpAp2`1=9 z0K$v}1qh-40!%n#ICgLIOM@bg{m*ge6EbhX7pX04%70XGOr=5QLxtwcr9KVBl8ggl09^ z&8~L0D;k5mfenUqJmQj;d|7Wx|aC<^d`h1dcte0`xR2aYg9YJ!J)uw`yd0s|i2Fcb-USRo==ge2rp l54D(~4U$-dOFqovg-C=V7Qu){T1?{_+xW&fhDksG06TS15mNvF literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/images/wmchat.png b/src/messenger/webim/locales/id/images/wmchat.png new file mode 100644 index 0000000000000000000000000000000000000000..4d9ef1f782970fb80d904a839d5526a6f09a5d42 GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^B0#*HgBeJwarQg`Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jid+MHLR^EXkN z|Ni~^|L^a{jT;|5di4A2>kE^VzJLGz;m(fhi=98*+5Z3k|0PS7T$rQ?G--8oe<_d> zFA4Gs28v?=49^^%#W652YI?djhE&{oGxarJlL1d_`=h__GQa=pU)A8VZLVjtJx`~v z&l&gYm-{a5n*06sRY$gGdp}QKD(v|%NTu1`{ec(99fKEV0{#gsn8$eh_{EQBgs08$ zxyu)AJXKQW@{AcgnP-YzKNdEq@z1NN5U6Z=!nx5=YO)IdXH{`6ArY-vJl;;9|2{I% zd8s_d(dYM)rOmVYO0538oV9?vb-i4Y%)7n&ufN{BZ|z4LU9H|Vjoepx;!bxn8Uu`*f;qQclez`pR zt|YFqefv}Ij=1=x3p#0zu`>fE%wMtYg5`?;>s}v7o7-kN^XQWMf(ai|41>RRJ&mlL t^Lep!<2$}xsW0pv%|5;Bha3|R!)ISk(-m^D{=jf$@O1TaS?83{1OPhV0Z{+| literal 0 HcmV?d00001 diff --git a/src/messenger/webim/locales/id/properties b/src/messenger/webim/locales/id/properties new file mode 100644 index 00000000..06bbaf3d --- /dev/null +++ b/src/messenger/webim/locales/id/properties @@ -0,0 +1,518 @@ +encoding=utf-8 +output_charset=utf-8 +output_encoding=utf-8 +admin.content.client_agents=Membuat, menghapus operator perusahaan. Mengatur hak akses mereka. +admin.content.client_gen_button=Tombol pembuatan kode HTML. +admin.content.client_settings=Pilihan spesifik yang mempengaruhi jendela obrolan dan perilaku sistem umum. +admin.content.description=Fungsi tersedia untuk operator situs. +agent.not_logged_in=Sesi Anda kadaluarsa silahkan login lagi +app.descr=Mibew Messenger merupakan open-source aplikasi live support. +app.title=Mibew Messenger +ban.error.duplicate=Alamat yang ditentukan sudah digunakan, klik sini jika Anda ingin mengeditnya. +button.delete=Hapus +button.enter=Masukkan +button.offline.bottom=Tinggalkan pesan Anda +button.offline.top=Konsultan situs +button.offline=OFFLINE +button.online.bottom=Ajukan pertanyaan Anda +button.online.top=Konsultan situs +button.online=ONLINE +button.save=Simpan +button.search=Cari +canned.actions.del=hapus +canned.actions.edit=edit +canned.actions=Modifikasi +canned.add=Tambahkan pesan ... +canned.descr=Edit pesan yang Anda sering diketik dalam obrolan. +canned.group=Untuk kelompok: +canned.locale=Untuk bahasa: +canned.title=Pesan Rekaman +cannededit.descr=Edit pesan yang ada. +cannededit.done=Tersimpan +cannededit.message=Pesan +cannededit.no_such=Tidak ada pesan seperti +cannededit.title=Edit Pesan +cannednew.descr=Tambahkan pesan baru. +cannednew.title=Pesan Baru +char.redirect.operator.away_suff=(pergi) +char.redirect.operator.online_suff=(online) +chat.came.from=Vistor berasal dari halaman {0} +chat.client.changename=Ganti nama +chat.client.name=Anda +chat.client.spam.prefix=[spam] +chat.client.visited.page=Pengunjung navigasikan ke {0} +chat.default.username=Pengunjung +chat.error_page.close=Tutup ... +chat.error_page.head=Kesalahan terjadi: +chat.error_page.title=Error +chat.mailthread.sent.close=Tutup ... +chat.mailthread.sent.closewindow=Klik link ini untuk menutup jendela +chat.mailthread.sent.content=Riwayat obrolan Anda telah dikirim pada alamat {0} +chat.mailthread.sent.title=Terkirim +chat.predefined_answers=Halo, bagaimana saya bisa membantu Anda? \ nHalo! Selamat datang pada bantuan kami. Apa yang bisa saya bantu? +chat.redirect.back=Kembali ... +chat.redirect.cannot=Anda tidak mengobrol dengan pengunjung. +chat.redirect.choose=Pilih: +chat.redirect.group=Group: +chat.redirect.operator=Operator: +chat.redirect.title=Alihkan kepada
          operator lain +chat.redirected.close=Tutup ... +chat.redirected.closewindow=Klik untuk menutup jendela +chat.redirected.content=pengunjung ditempatkan dalam antrian priorty dari operator {0}. +chat.redirected.group.content=pengunjung ditempatkan dalam antrian prioritas kelompok {0}. +chat.redirected.title=pengunjung dialihkan ke operator lain +chat.status.operator.changed=Operator {0} ganti operator {1} +chat.status.operator.dead=Operator memiliki masalah koneksi, kami sementara memindahkan anda ke antrian selanjutnya. Maaf membuat Anda menunggu. +chat.status.operator.joined=Operator {0} bergabung dengan obrolan +chat.status.operator.left=Operator {0} meninggalkan obrolan +chat.status.operator.redirect=Operator {0} mengalihkan Anda ke operator lain, silakan tunggu sebentar +chat.status.operator.returned=Operator {0} sudah kembali +chat.status.user.changedname=Pengunjung mengubah nama {0} ke {1} +chat.status.user.dead=Pengunjung menutup jendela obrolan +chat.status.user.left=Pengunjung {0} meninggalkan obrolan +chat.status.user.reopenedthread=Pengunjung bergabung ke obrolan lagi +chat.thread.state_chatting_with_agent=Dalam obrolan +chat.thread.state_closed=Tertutup +chat.thread.state_loading=Loading +chat.thread.state_wait=Dalam antrian +chat.thread.state_wait_for_another_agent=Menunggu operator +chat.visitor.email=E-Mail: {0} +chat.visitor.info=Info: {0} +chat.wait=Terima kasih telah menghubungi kami. Seorang operator akan segera bersama Anda... +chat.window.chatting_with=Anda mengobrol dengan: +chat.window.close_title=Tutup obrolan +chat.window.poweredby= Powered by: +chat.window.poweredreftext= mibew.org +chat.window.predefined.select_answer=Pilih jawaban ... +chat.window.product_name=Mibew Messenger +chat.window.send_message=Kirim pesan +chat.window.send_message_short=Kirim ({0}) +chat.window.title.agent=Mibew Messenger +chat.window.title.user=Mibew Messenger +chat.window.toolbar.mail_history=Kirim riwayat obrolan melalui e-mail +chat.window.toolbar.redirect_user=Alihkan pengunjung ke operator lain +chat.window.toolbar.refresh=Refresh +clients.how_to=Untuk menjawab klik pengunjung pada namanya dalam daftar. +clients.intro=Halaman ini menampilkan daftar tunggu pengunjung. +clients.no_clients=Daftar pengunjung menunggu kosong +clients.queue.chat=Pengunjung dalam dialog +clients.queue.prio=Prioritas antrian pengunjung +clients.queue.wait=Menunggu operator untuk pertama kalinya +clients.title=Daftar menunggu pengunjung +common.asterisk_explanation=* - wajib diisi +company.title=Mibew Messenger Community +confirm.take.head=Ubah operator +confirm.take.message=Pengunjung {0} telah dibantu oleh {1}.
          Apakah Anda benar-benar yakin ingin memulai chatting pengunjung? +confirm.take.no=Tidak, menutup jendela +confirm.take.yes=Ya, saya yakin +content.blocked=Di sini Anda dapat bertahan dari pengunjung yang berbahaya. +content.history=Cari riwayat dialog. +content.logoff=Log out dari sistem. +data.saved=Perubahan disimpan +demo.chat.question=Ada begitu banyak browser yang dapat dipilih. Mana yang Anda rekomendasikan? +demo.chat.welcome=Halo, bagaimana saya bisa membantu Anda? +errors.captcha=Huruf-huruf yang Anda ketik tidak cocok dengan huruf yang ditampilkan dalam gambar. +errors.failed.uploading.file=Error upload file "{0}": {1}. +errors.file.move.error=Error memindahkan file +errors.file.size.exceeded=ukuran file upload melebihi batas +errors.footer=
        +errors.header=Perbaiki kesalahan:
          +errors.invalid.file.type=Jenis file tidak valid +errors.prefix=
        • +errors.required=Silakan mengisi "{0}". +errors.suffix=
        • +errors.wrong_field=Silakan mengisi "{0}" dengan benar. +features.saved=Fitur diaktifkan +form.field.address.description=Misal: 12.23.45.123 atau todo.com +form.field.address=Alamat Pengunjung +form.field.agent_commonname.description=Nama ini akan dilihat oleh pengunjung Anda. +form.field.agent_commonname=Nama International (Latin) +form.field.agent_name.description=Nama ini akan dilihat oleh pengunjung Anda. +form.field.agent_name=Nama +form.field.avatar.current.description=gambar avatar Anda. +form.field.avatar.current=gambar avatar saat ini +form.field.avatar.upload.description=Pilih file avatar untuk diupload.
          Ukuran gambar tidak boleh lebih dari 100x100 px. +form.field.avatar.upload=Upload avatar +form.field.ban_comment.description=Alasan blokir +form.field.ban_comment=Komentar +form.field.ban_days.description=Jumlah hari alamat ini akan diblokir +form.field.ban_days=Hari +form.field.email=email Anda +form.field.groupcommondesc.description=Keterangan dalam bahasa Inggris. +form.field.groupcommondesc=deskripsi Internasional +form.field.groupcommonname.description=Nama dalam bahasa Inggris. +form.field.groupcommonname=nama Internasional +form.field.groupdesc.description=Deskripsi kelompok. +form.field.groupdesc=Keterangan +form.field.groupemail.description=Grup email untuk pemberitahuan. Biarkan kosong untuk menggunakan alamat default. +form.field.groupname.description=Nama untuk mengidentifikasi kelompok. +form.field.groupname=Nama +form.field.login.description=Login dapat terdiri dari huruf Latin kecil dan garis bawah. +form.field.login=Login +form.field.mail.description=Untuk pemberitahuan dan pengambilan sandi. +form.field.mail=E-mail +form.field.message=Pesan +form.field.name=Nama Anda +form.field.password.description=Masukkan sandi baru atau tinggalkan kosong untuk menjaga sandi sebelumnya. +form.field.password=Sandi +form.field.password_confirm.description=Konfirmasi kata sandi baru. +form.field.password_confirm=Konfirmasi +form.field.translation=Terjemahan +harderrors.header=Tidak dapat menjalankan:
          +errors.header=Corrija os erros:
            +errors.invalid.file.type=Formato de ficheiro invГЎlido +errors.prefix=
          • +errors.required=Por favor, preencha "{0}". +errors.suffix=
          • +errors.wrong_field=Por favor, preencha "{0}" corretamente. +features.saved=CaracterГ­sticas Ativas +form.field.address.description=Ex: 12.23.45.123 ou site.com +form.field.address=EndereГ§o do visitante +form.field.agent_commonname.description=Este nome serГЎ visto por todos os visitantes. +form.field.agent_commonname=Nome Internacional (Latin) +form.field.agent_name.description=Este nome serГЎ visto por todos os visitantes. +form.field.agent_name=Nome +form.field.avatar.current.description=Imagem do seu avatar. +form.field.avatar.current=Imagem atual do avatar +form.field.avatar.upload.description=Escolha a imagem para fazer o upload.
            A imagem não deve exceder 100x100 px. +form.field.avatar.upload=Fazer upload do avatar +form.field.ban_comment.description=Razão para bloquear +form.field.ban_comment=Comentário +form.field.ban_days.description=Número de dias a bloquear este endereço +form.field.ban_days=Dias +form.field.email=O seu e-mail +form.field.groupcommondesc.description=Descrição em Inglês. +form.field.groupcommondesc=Descrição Internacional +form.field.groupcommonname.description=Nome em Inglês. +form.field.groupcommonname=Nome Internacional +form.field.groupdesc.description=Descrição do grupo. +form.field.groupdesc=Descrição +form.field.groupemail.description=E-mail do grupo para notificações. Deixe vazio para o usar o endereço pré-definido. +form.field.groupname.description=Nome para identificar o grupo. +form.field.groupname=Nome +form.field.login.description=Pode utilizar caracteres minúsculos e underscores. +form.field.login=Utilizador +form.field.mail.description=Para notificações e recuperação da palavra-chave. +form.field.mail=E-mail +form.field.message=Mensagem +form.field.name=O seu nome +form.field.password.description=Introduza uma nova palavra-chave ou deixe vazio para manter a anterior. +form.field.password=Palavra-chave +form.field.password_confirm.description=Confirme a nova palavra-chave. +form.field.password_confirm=Confirmação +form.field.translation=Tradução +harderrors.header=Impossivel executar:
              +image.button.login=/locales/pt-pt/images/login.gif +image.button.save=/locales/pt-pt/images/save.gif +image.button.search=/locales/pt-pt/images/search.gif +image.chat.history=/locales/pt-pt/images/history.gif +image.chat.message=/locales/pt-pt/images/message.gif +image.chat.sprite=/locales/pt-pt/images/wmchat.png +install.0.app=O caminho da aplicação é {0} +install.0.package=O pacote Mibew é válido. +install.0.php=Versão PHP {0} +install.1.connected=Está ligado ao servidor MySQL versão {0} +install.2.create=Criar base de dados "{0}" +install.2.db_exists=A base de dados "{0}" está criada. +install.2.notice=A base de dados não foi encontrada no servidor. Se tem permissão para a criar, clique no link seguinte. +install.3.create=Criar as tabelas necessárias. +install.3.tables_exist=As tabelas necessárias foram criadas. +install.4.create=Atualizar tabelas +install.4.done=A estruturas das tabelas está atualizada. +install.4.notice=A estrutura da suas tabelas deve ser ajustada para a nova versão do Messenger. +install.5.newmessage=Mensagem Nova +install.5.newvisitor=Novo Visitante +install.5.text=Clique para ouvir o som: {0} e {1} +install.bad_checksum=Checksum difere para {0} +install.cannot_read=Não foi possível ler o ficheiro {0} +install.check_files=Por favor volte a fazer o upload dos ficheiros para o servidor. +install.check_permissions=Permissões de ficheiro insuficientes {0} +install.connection.error=Não foi possível estabelecer a ligação, por favor verifique as definições do servidor no ficheiro config.php. Erro: {0} +install.done=Pronto: +install.err.back=Resolva o problema e tente novamente. Clique voltar para regressar ao assistente de instalação. +install.err.title=Problema +install.kill_tables.notice=Não foi possível atualizar a estrutura das tabelas. Tente fazer isso manualmente or recriar todas as tabela (aviso: todos seus dados serão perdidos). +install.kill_tables=Apagar as tabelas existentes da base de dados +install.license=Acordo de licença do Software +install.message=Siga o assistente para completar a instalação. +install.newfeatures=Parabéns! Tem agora o Mibew Messenger {1} instalado. Active mais funcionalidades na página Serviços opcionais. +install.next=Próximo Passo: +install.no_file=O ficheiro não está disponível: {0} +install.title=Instalação +install.updatedb=Por favor corra o Assistente de actualização para ajustar a base de dados. +installed.login_link=Ir para a página de início de sessão +installed.message=Aplicação instalada com sucesso. +installed.notice=Pode iniciar sessão como admin com a palavra-chave em branco.

              !!! Por razões de segurança, mude a sua palavra-chave imediatamente e remova a pasta {0} do seu servidor. +lang.choose=Selecione o Idioma +leavemail.body=Você tem mensagens de {0}:\n\n{2}\n\nEmail: {1}\n{3}\n--- \nWeb Messenger +leavemail.subject=Pergunta de {0} +leavemessage.close=Fechar +leavemessage.descr=Desculpe, não existe nenhum operador disponível de momento. Por favor tente novamente mais tarde ou preencha o formulário abaixo. +leavemessage.perform=Enviar +leavemessage.sent.message=Obrigado por utilizar o nosso serviço. Iremos responder ao seu e-mail o mais brevemente possível. +leavemessage.sent.title=A sua mensagem foi enviada +leavemessage.title=Deixe a sua mensagem +leftMenu.client_agents=Operadores +leftMenu.client_gen_button=Código do botão +leftMenu.client_settings=Definições +license.title=Licença +localedirection=ltr +localeid=Português Portugal (pt-pt) +mail.user.history.body=Olá, {0}!\n\nO seu histórico do chat: \n\n{1}\n--- \nObrigado,\nMibew Messenger +mail.user.history.subject=Mibew Messenger: Histórico da conversa +mailthread.close=Fechar... +mailthread.enter_email=Introduza o seu e-mail: +mailthread.perform=Enviar +mailthread.title=Enviar histórico do chat
              por email +menu.agents=Lista de operadores +menu.blocked=Visitantes bloqueados +menu.canned=Modelos de mensagens +menu.goonline=Encontra-se desligado.
              Ligar... +menu.groups.content=Grupos de operadores por departamento ou competência. +menu.groups=Grupos +menu.locale.content=Alterar o Idioma. +menu.locale=Idioma +menu.main=Início +menu.operator=Bem-vindo {0} +menu.profile.content=Pode alterar as suas informações pessoais nesta página. +menu.profile=Perfil +menu.translate=Tradução +menu.updates.content=Procurar notícias e actualizações. +menu.updates=Atualizações +my_settings.error.password_match=As palavras-chave introduzidas não correspondem +no_such_operator=Operador não existe +operator.group.no_description=<sem descrição> +operator.groups.intro=Escolha grupos de acordo com as competências do operador. +operator.groups.title=Grupos de operadores +page.analysis.search.head_browser=Navegador da Internet +page.analysis.search.head_group=Grupo +page.analysis.search.head_host=Endereço do visitante +page.analysis.search.head_messages=Mensagens do visitante +page.analysis.search.head_name=Nome +page.analysis.search.head_operator=Operador +page.analysis.search.head_time=Tempo no chat +page.analysis.userhistory.intro=Pode encontrar o histórico de chat dos visitante aqui. +page.analysis.userhistory.title=Histórico de visitas +page.chat.old_browser.close=Fechar... +page.chat.old_browser.list=
                \n
              • Internet Explorer 5.5+
              • \n
              • Firefox 1.0+
              • \n
              • Opera 8.0+
              • \n
              • Mozilla 1.4+
              • \n
              • Netscape 7.1+
              • \n
              • Safari 1.2+
              • \n
              \n

              TambГ©m suportamos alguns navegadores mais antigos:

              \n
                \n
              • Internet Explorer 5.0
              • \n
              • Opera 7.0
              • \n
              +page.chat.old_browser.problem=

              O seu navegador da Internet nГЈo Г© completamente compatГ­vel com o Mibew Messenger. Por favor utilize um dos seguintes:

              +page.chat.old_browser.title=Por favor utilize um navegador da Internet mais recente +page.gen_button.choose_group=CГіdigo para o grupo +page.gen_button.choose_image=Escolha a imagem +page.gen_button.choose_locale=CГіdigo do idioma +page.gen_button.choose_style=Estilo da janela de chat +page.gen_button.code.description=Cuidado! Por favor nГЈo mude
              o cГіdigo manualmente,
              pode nГЈo funcionar.
              +page.gen_button.code=CГіdigo HTML +page.gen_button.default_group=-todos os operadores- +page.gen_button.include_site_name=Incluir o nome do servidor no cГіdigo +page.gen_button.intro=Pode gerar aqui o cГіdigo HTML para colocar no seu site. +page.gen_button.modsecurity=Compatibilidade com mod_security (modsecurity.org), escolha apenas se encontrar problemas +page.gen_button.sample=Exemplo +page.gen_button.secure_links=Usar link seguro (https) +page.gen_button.title=Gerador do cГіdigo HTML do botГЈo +page.group.create_new=Aqui pode criar novos grupos. +page.group.duplicate_name=Escolha outro nome. Grupo jГЎ registado. +page.group.intro=Nesta pГЎgina pode editar os detalhes do grupo. +page.group.membersnum=Operadores +page.group.no_such=Grupo nГЈo existente +page.group.title=Detalhes do grupo +page.groupmembers.intro=Ver e editar a lista de membros. +page.groupmembers.title=Membros +page.groups.confirm=Tem certeza que pretende eliminar o grupo "{0}"? +page.groups.intro=Esta pГЎgina apresenta uma lista de grupos na sua empresa. Cada grupo pode ter os seus prГіprios botГµes e mensagens prontas. +page.groups.isaway=Ausente +page.groups.isonline=DisponГ­vel +page.groups.new=Criar novo grupo +page.groups.title=Grupos +page.preview.agentchat=Janela do Chat (modo de operador) +page.preview.agentrochat=Ver janela do chat (modo de leitura) +page.preview.chatsimple=Janela de chat simples, atualize para enviar mensagens (IE 5, Opera 7) +page.preview.choose=Escolher estilo +page.preview.choosetpl=Escolher tema +page.preview.error=Janela de erro +page.preview.intro=Pode ver aqui a lista de temas que tem atualmente instalados. +page.preview.leavemessage=Deixar a janela de mensagens +page.preview.leavemessagesent=Janela "Mensagem entregue" +page.preview.mail=Enviar e-mail atravГ©s da janela +page.preview.mailsent=Janela "Mensagem enviada" +page.preview.nochat=Janelas com lista de navegadores da Internet suportados +page.preview.redirect=Redirecionar visitante para janela de outro operador +page.preview.redirected=O visitante foi redirecionado para outra janela +page.preview.showerr=Mostrar erros +page.preview.style_default=-definições originais- +page.preview.survey=InquГ©rito prГ©-chat +page.preview.title=Estilo do site +page.preview.userchat=Janela do Chat (visitante) +page.translate.descr=Se nГЈo gosta da tradução por favor envie-nos uma atualização. +page.translate.done=A sua tradução foi gravada. +page.translate.one=Introduza a sua tradução. +page.translate.title=Assistente de tradução +page_agent.cannot_modify=NГЈo lhe Г© permitido alterar o perfil desta pessoa. +page_agent.clear_avatar=Remover avatar +page_agent.create_new=Aqui pode criar um novo operador. +page_agent.error.duplicate_login=Por favor escolha outro nome de utilizador, esse jГЎ se encontra registado no sistema. +page_agent.error.wrong_login=Utilizador deve conter apenas caracteres alfa-nГєmericos e underscores. +page_agent.intro=Editar as configurações globais dos operadores. +page_agent.tab.avatar=Foto +page_agent.tab.groups=Grupos +page_agent.tab.main=Geral +page_agent.tab.permissions=PermissГµes +page_agent.title=Detalhes do operador +page_agents.agent_name=Nome +page_agents.agents=Lista de todos os operadores: +page_agents.confirm=Tem a certeza que pretende apagar o operador "{0}"? +page_agents.intro=Esta pГЎgina apresenta a lista de operadores da empresa. +page_agents.isaway=Ausente +page_agents.isonline=DisponГ­vel +page_agents.login=Utilizador +page_agents.new_agent=Adicionar operador... +page_agents.status=Гљltima SessГЈo +page_agents.title=Operadores +page_analysis.full.text.search=Nome de visitante ou mensagem a ser procurada: +page_analysis.search.title=HistГіrico dos chats +page_avatar.intro=Apenas pode fazer carregar a sua foto nos formatos JPG, GIF, PNG ou TIF. +page_avatar.title=Carregar fotografia +page_ban.intro=Aqui pode bloquear visitantes com mГЎs intenções ou spammers. +page_ban.sent=O endereГ§o {0} estГЎ bloquado por uma quantidade determinada de dias. +page_ban.thread=Abriu esta janela para "{0}", o endereГ§o jГЎ estГЎ preenchido. Selecione o nГєmero de dias e clique Enviar. +page_ban.title=Bloquear endereГ§o +page_bans.add=Adicionar endereГ§o +page_bans.confirm=Tem a certeza que pretende retirar o endereГ§o {0} da lista de bloqueados? +page_bans.list=Lista de IP banidos: +page_bans.title=Bloqueados +page_bans.to=AtГ© +page_client.pending_users=Pode encontrar visitantes em espera. +page_group.tab.main=Geral +page_group.tab.members=Membros +page_login.error=Utilizador e/ou palavra-chave incorretos +page_login.intro=Por favor introduza o seu nome de utilizador e palavra-chave para aceder Г s ferramentas administrativas, ver os visitantes e o histГіrico de navegação. +page_login.login=Utilizador: +page_login.password=Palavra-chave: +page_login.remember=Lembrar +page_login.title=Iniciar sessГЈo +page_search.intro=Procurar no histГіrico de chat por um determinado visitante ou uma frase especГ­fica. +page_settings.intro=Opções especГ­ficas da janela do chat e do comportamento global do sistema. +page_settings.tab.features=ServiГ§os Opcionais +page_settings.tab.main=Geral +page_settings.tab.performance=Comportamento +page_settings.tab.themes=PrГ©-visualização do tema +pending.menu.hide=Ocultar menu >> +pending.menu.show=<< Mostar menu +pending.popup_notification=Um novo visitante aguarda resposta. +pending.status.setaway=Definir estado com "Ausente" +pending.status.setonline=Definir estado com "DisponГ­vel" +pending.table.ban=Banir o visitante +pending.table.head.contactid=EndereГ§o do visitante +pending.table.head.etc=Misc +pending.table.head.name=Nome +pending.table.head.operator=Operador +pending.table.head.state=Estado +pending.table.head.total=Tempo total +pending.table.head.waittime=Tempo de espera +pending.table.speak=Clique para conversar com o visitante +pending.table.view=Observe o chat +permission.admin=Administração do sistema: definições, administrar operadores, gerar botГµes +permission.modifyprofile=PermissГЈo de modificar perfil +permission.takeover=Assumir chat de outro operador +permission.viewthreads=Ver o chat de outro operador +permissions.intro=Aqui pode administrar as permissГµes dos operadores. +permissions.title=PermissГµes +presurvey.department=Selecione o Departamento: +presurvey.intro=Obrigado por entrar em contacto connosco! Para melhor o servir, por favor preencha o formulГЎrio abaixo e clique no botГЈo Iniciar Chat. +presurvey.mail=Email: +presurvey.name=Nome: +presurvey.question=Pergunta Inicial: +presurvey.submit=Inicar Chat +presurvey.title=Suporte Online +report.bydate.1=Data +report.bydate.2=TГіpicos do chat +report.bydate.3=Mensagens de operadores +report.bydate.4=Mensagens de visitantes +report.bydate.title=EstatГ­sticas de utilização para cada data +report.byoperator.1=Operador +report.byoperator.2=TГіpicos do chat +report.byoperator.3=Mensagens +report.byoperator.4=comprimento mГ©dio da messagem (em caracteres) +report.byoperator.title=Topicos por operador +report.no_items=Dados insuficientes +report.total=Total: +resetpwd.changed.title=A sua palavra-chave mudou. +resetpwd.changed=Entre utilizando a sua nova palavra-chave. +resetpwd.intro=Por favor escolha uma palavra-chave para usar com a sua conta Mibew. +resetpwd.login=Proceda para o inГ­cio de sessГЈo +resetpwd.submit=Mudar +resetpwd.title=Alterar a sua palavra-chave Mibew +restore.back_to_login=Voltar ao ecrГЈ de inГ­cio de sessГЈo +restore.emailorlogin=Utilizador ou E-mail: +restore.intro=NГЈo Г© possГ­vel recuperar a sua palavra-chave mas pode definir uma nova seguindo o link enviado para o seu email. +restore.mailsubj=Repor a sua palavra-chave Mibew +restore.mailtext=OlГЎ {0},\n\nPor favor clique no link abaixo ou copie-o para o seu navegador:\n{1}\n\nIsto permitir-lo-ГЎ escolher uma nova palavra-chave.\n\nMibew Messenger. +restore.pwd.message=Esqueceu-se da sua palavra-chave? +restore.sent.title=Recuperar palavra-chave +restore.sent=Enviamos as instruções para o seu email. Por favor verifique o seu email. +restore.submit=Repor palavra-chave +restore.title=Problemas a aceder Г  sua conta? +right.administration=ГЃrea Administrativa +right.main=Menu +right.other=Outros +settings.chat.title.description=Nome da sua empresa por exemplo. +settings.chat.title=TГ­tulo na janela do chat +settings.chatstyle.description=PrГ©-visualização para todas as pГЎginas de cada estilo estГЎ disponГ­vel aqui +settings.chatstyle=Selecione um estilo para as suas janelas de chat +settings.company.title.description=Introduza o nome da sua empresa +settings.company.title=Nome da empresa +settings.email.description=Introduza um e-mail para receber mensagens do sistema +settings.email=Email +settings.enableban.description=Utilizando esta opção pode bloquear ataques de IPs especificos +settings.enableban=Ativar opção "visitante mal-intencionado" +settings.enablegroups.description=Utilize-o para ter filas separadas para diferentes questГµes. +settings.enablegroups=Ativar "Grupos" +settings.enablepresurvey.description=ForГ§a o utilizador a preencher um formulГЎrio para iniciar o chat. +settings.enablepresurvey=Ativar "InquГ©rito prГ©-chat" +settings.enablessl.description=Note por favor que o seu servidor web deve estar configurado para suportar pedidos https. +settings.enablessl=Permitir ligações seguras (SSL) +settings.enablestatistics.description=Adiciona pГЎgina com relatГіrios de utilização do messenger. +settings.enablestatistics=Activar "EstatГ­sticas" +settings.forcessl.description=Mostrar chats apenas atravГ©s de ligações https +settings.forcessl=ForГ§ar todos os chats a serem seguros +settings.frequencychat.description=Especificar o intervalo em segundos. 2 segundos por defeito. +settings.frequencychat=Tempo de atualização do chat +settings.frequencyoldchat.description=Antigos navegadores necessitam de actualizar toda a pГЎgina para receber mensagens. 7 segundos por defeito. +settings.frequencyoldchat=Tempo de actualização da pГЎgina para navegadores antigos +settings.frequencyoperator.description=Especificar o intervalo em segundos. 2 segundos por defeito. +settings.frequencyoperator=Tempo de actualização da consola do operador +settings.geolink.description=EndereГ§o de Ip, abre numa nova janela. +settings.geolink=Link para um serviГ§o externo de geolocalização +settings.geolinkparams.description=Tamanho da janela e barra de ferramentas +settings.geolinkparams=Opções da janela de localização de IP +settings.host.description=Destino para o nome ou logГіtipo da sua empresa +settings.host=URL do seu site +settings.leavemessage_captcha.description=Proteção contra spam automГЎtico (captcha) +settings.leavemessage_captcha=ForГ§ar visitante a introduzir um cГіdigo de verificação quando deixa uma mensagem +settings.logo.description=EndereГ§o do logГіtipo +settings.logo=LogГіtipo da empresa +settings.no.title=Nome da empresa +settings.onehostconnections.description=0 permite um nГєmero ilimitado +settings.onehostconnections=NГєmero mГЎximo de chamadas a partir de um endereГ§o +settings.onlinetimeout.description=Define o nГєmero de segundos para mostrar o operador como disponГ­vel no fim do chat. 30 segundos por defeito. +settings.onlinetimeout=TolerГўncia de tempo do operador como disponГ­vel +settings.popup_notification.description=Uma pequena janela aparece para atrair a sua atenção. +settings.popup_notification=Ativar "Notificação popup de novo visitante". +settings.saved=Alterações gravadas +settings.sendmessagekey=Enviar mensagem como: +settings.show_online_operators.description=Pode abrandar a taxa de actualização da lista +settings.show_online_operators=Mostrar operadores online na pГЎgina da "Lista de visitantes em espera" +settings.survey.askgroup.description=Mostrar/ocultar campo de escolha de departamento no inquГ©rito +settings.survey.askgroup=Permitir ao visitante escolher o departamento/grupo +settings.survey.askmail.description=Mostrar/ocultar campo de email no inquГ©rito +settings.survey.askmail=Pedir e-mail do visitante +settings.survey.askmessage.description=Mostrar/ocultar campo de questГЈo inicial no inquГ©rito +settings.survey.askmessage=Mostrar campo de pergunta inicial +settings.title=Opções do messenger +settings.usercanchangename.description=Desligue para esconder a caixa de edição da janela de chat +settings.usercanchangename=Permite que os visitantes editem o nome +settings.usernamepattern.description=Construir o identificador do visitante com {name}, {id} ou {addr}. PadrГЈo: {name} +settings.usernamepattern=Identificador do visitante +settings.wrong.email=Introduza um e-mail vГЎlido +settings.wrong.onehostconnections=O campo "NГєmero mГЎximo de tГіpicos" deve ser um nГєmero +site.title=mibew.org +site.url=http://mibew.org +statistics.dates=Filtro por datas +statistics.description=Nesta pГЎgina pode gerar uma variedade de relatГіrios. +statistics.from=De: +statistics.till=AtГ©: +statistics.title=EstatГ­sticas +statistics.wrong.dates=Selecionou uma data "De" posterior Г  data "AtГ©" +tag.pagination.info=PГЎgina {0} de {1}, itens {2} a {3} de um total de {4} +tag.pagination.next=prГіxima +tag.pagination.no_items.elements=Nenhum elemento +tag.pagination.no_items=0 elemento(s) encontrado(s) +tag.pagination.previous=anterior +thread.back_to_search=Ir para a pesquisa +thread.chat_log=RelatГіrio do chat +thread.intro=Esta pГЎgina mostra os detalhes e o conteГєdo dos chats. +time.dateformat=%d %B, %Y +time.locale=pt_PT +time.never=Nunca +time.timeformat=%H:%M +time.today.at=Hoje Г s +time.yesterday.at=Ontem Г s +topMenu.admin=Painel de controlo +topMenu.logoff=Sair +topMenu.main=Painel de controlo +topMenu.users.nomenu=Ocultar Menu +topMenu.users=Visitantes +translate.direction=Direção: +translate.show.all=Todas as expressГµes +translate.show.foradmin=ExpressГµes para administrador +translate.show.foroperator=ExpressГµes para operador +translate.show.forvisitor=ExpressГµes para visitante +translate.show=Mostrar: +translate.sort.key=Chave identificadora +translate.sort.lang=Idioma de origem das expressГµes +translate.sort=Ordenar por: +typing.remote=Utilizador remoto estГЎ a escrever... +updates.current=EstГЎ a utilizar: +updates.env=Ambiente: +updates.installed_locales=Idiomas instalados: +updates.intro=Actualização do messenger. +updates.latest=Ultima versГЈo: +updates.news=NotГ­cias: +updates.title=Atualizações From 81a8bb1d2b4fb7104e3dcb8f6b47f75df46c3aa2 Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 01:03:17 +0200 Subject: [PATCH 28/40] update Spanish (by Jesus Plaza) --- src/messenger/webim/locales/sp/properties | 146 +++++++++++++++++----- 1 file changed, 112 insertions(+), 34 deletions(-) diff --git a/src/messenger/webim/locales/sp/properties b/src/messenger/webim/locales/sp/properties index d42eb879..88f1cc93 100644 --- a/src/messenger/webim/locales/sp/properties +++ b/src/messenger/webim/locales/sp/properties @@ -6,18 +6,24 @@ admin.content.client_gen_button=Genera c admin.content.client_settings=Especifique las opciones que afectan a la ventana de la charla y al comportamiento de sistema comъn. admin.content.description=Funciones disponibles sуlo para usuarios administradores. agent.not_logged_in=Su sesiуn ha expirado por favor accese de nuevo -app.descr=Mibew Messenger es un aplicaciуn de cуdigo abierto para el soporte en lнnea +app.descr=Mibew Messenger en una aplicaciуn open-source para el soporte en tiempo real. app.title=Mibew Messenger -ban.error.duplicate=Direcciуn {0} esta en el sistema, click here para editarla. +ban.error.duplicate=La direcciуn esta en uso pincha en here, si quieres editarla. button.delete=Eliminar button.enter=Entrar +button.offline.bottom=Dejar tu mensaje +button.offline.top=Zona Consultor +button.offline=DESCONETAR +button.online.bottom=Haz tu pregunta +button.online.top=Zona Consultor +button.online=Conectar button.save=Guardar button.search=Buscar canned.actions.del=eliminar canned.actions.edit=editar canned.actions=Modificar canned.add=Agregar mensaje... -canned.descr=Editar mensajes que frecuentamente usas en el Chat +canned.descr=Aсade mensajes que usa abitualmente en el chat. canned.group=Para los grupos: canned.locale=Para el idioma: canned.title=Posibles mensajes @@ -28,10 +34,13 @@ cannededit.no_such=No existe el mensaje cannededit.title=Editar Mensaje cannednew.descr=Agregar nuevo mensaje. cannednew.title=Nuevo Mensaje +char.redirect.operator.away_suff=(ausente) char.redirect.operator.online_suff=(en lнnea) chat.came.from=Vistante fue redireccionado de la pagina {0} chat.client.changename=Cambiar nombre -chat.client.name=Su nombre: +chat.client.name=Su nombre +chat.client.spam.prefix=[spam]  +chat.client.visited.page=El visitante se traslado a {0} chat.default.username=Visitante chat.error_page.close=Cerrar... chat.error_page.head=Ocurriу un error: @@ -42,14 +51,15 @@ chat.mailthread.sent.content=Su conversaci chat.mailthread.sent.title=Enviado chat.predefined_answers=Hola, en que puedo ayudarle?\nHola! Bienvenido a nuestra ayuda en vivo. En que puedo ayudarle ? chat.redirect.back=Regresar... -chat.redirect.cannot=No estas conversando con ningъn visitante +chat.redirect.cannot=No estas chateando con nadie. chat.redirect.choose=Seleccionar: chat.redirect.group=Grupo: chat.redirect.operator=Operador: -chat.redirect.title=ReDirecciуnar a
              otro operador +chat.redirect.title=Redirecciуnar a
              otro operador chat.redirected.close=Cerrar... chat.redirected.closewindow=Click para cerrar la ventana chat.redirected.content=Visitante en espera prioritaria por el operador{0}. +chat.redirected.group.content=El visitante se coloco en una cola prioritaria en el grupo {0}. chat.redirected.title=Visitante redirigido a otro operador chat.status.operator.changed=Operador {0} cambiado {1} chat.status.operator.dead=El Operador tiene problemas de conexiуn, esta usted temporalmente en espera. Lo sentimos por la demora. @@ -89,18 +99,19 @@ clients.queue.chat=Visitante dialogando clients.queue.prio=Visitante con prioridad para atenciуn clients.queue.wait=Esperando a operador por primera vez clients.title=Lista de visitantes en espera -common.asterisk_explanation=* - mandatory fields -company.title=Mibew Messenger Comunidad +common.asterisk_explanation=* - campos obligatorios +company.title=Comunidad Mibew Messenger confirm.take.head=Cambiar operador confirm.take.message=Visitante {0} es actualmente servido por{1}.
              Esta usted seguro que quiere iniciar conversaciуn con los visitantes? confirm.take.no=No, cierre la ventana confirm.take.yes=Sн, Estoy seguro content.blocked=Aquн puede defenderse de visitante maliciosos. -content.history=Buscar Histуrico de conversaciуn +content.history=Busqueda en historico de dialogos. content.logoff=Salida del sistema. data.saved=Cambios guardados demo.chat.question=Hay tantos navegadores para elegir. їCuбl recomiendas? demo.chat.welcome=Hola, їEn quй puedo ayudarle? +errors.captcha=No coincide con la muestra. errors.failed.uploading.file=Error al subir el archivo "{0}": "{1}". errors.file.move.error=Error al mover el archivo errors.file.size.exceeded=Ha excedido el tamaсo de archivo para subir @@ -124,24 +135,27 @@ form.field.avatar.upload.description=Escoja el archivo a subir.
              El tama form.field.avatar.upload=Subir avatar form.field.ban_comment.description=Razon del bloqueo form.field.ban_comment=Comentarios -form.field.ban_days.description=їCuбntos dнas desea ignorar esta direcciуn? +form.field.ban_days.description=Dias con bloqueo a direcciуn form.field.ban_days=Dias form.field.email=Su email -form.field.groupcommondesc.description=Descripciуn en Inglйs +form.field.groupcommondesc.description=Descripciуn en Inglйs. form.field.groupcommondesc=Descripciуn Internacional form.field.groupcommonname.description=Nombre en Inglйs. form.field.groupcommonname=Nombre Internacional form.field.groupdesc.description=Descripciуn de el grupo. form.field.groupdesc=Descripciуn +form.field.groupemail.description=Email del Grupo para notificaciones. Dejalo en blanco para usar la direcciуn por defecto. form.field.groupname.description=Nombre para identificar el grupo. form.field.groupname=Nombre -form.field.login.description=Usuario puede contener pequeсas letras latinas
              y subrayados +form.field.login.description=El nombre de usuario puede contener minusculas y subrrallado. form.field.login=Usuario +form.field.mail.description=Para avisos y recuperar la password. +form.field.mail=Correo Electrуnico form.field.message=Mensaje form.field.name=Su nombre form.field.password.description=Escriba la nueva contraseсa o deje el
              campo vacнo para accesar. form.field.password=Password -form.field.password_confirm.description=Confirmar nueva contraseсa +form.field.password_confirm.description=Confirmar nueva contraseсa. form.field.password_confirm=Confirmaciуn form.field.translation=Traducciуn harderrors.header=No se puede ejecutar:
                @@ -151,6 +165,9 @@ image.button.search=/locales/sp/images/search.gif image.chat.history=/locales/sp/images/history.gif image.chat.message=/locales/sp/images/message.gif image.chat.sprite=/locales/sp/images/wmchat.png +install.0.app=La ruta de la apllicaciуn {0} +install.0.package=El paquete Mibew es valido. +install.0.php=Versiуn PHP {0} install.1.connected=Esta conectado a MySQL server versiуn {0} install.2.create=Crear base de datos "{0}" install.2.db_exists=Base de datos "{0}" creada. @@ -159,7 +176,14 @@ install.3.create=Crear las tablas requeridas. install.3.tables_exist=Tablas requeridas creadas. install.4.create=Actualizar tablas install.4.done=Estructura de tablas actualizadas. -install.4.notice=Estructura de tablas ajustadas para la nueva versiуn de Mibew Messenger. +install.4.notice=La estructura de tablas se ajustara a la nueva versiуn de Messenger. +install.5.newmessage=Nuevo Mensaje +install.5.newvisitor=Nueva visita +install.5.text=Pincha para marcar el sonido: {0} y {1} +install.bad_checksum=Suma de comprobaciуn diiere en {0} +install.cannot_read=No puedo leer el fichero {0} +install.check_files=Porfavor, actualiza los ficheros en el servidor. +install.check_permissions=Fichero con permisos insuficientes {0} install.connection.error=No hay conexiуn, por favor verifique la configuraciуn del servidor en config.php. Error: {0} install.done=Completada: install.err.back=Resuelva el problema e intente de nuevo. Presione back para regresar a la ayuda. @@ -168,12 +192,14 @@ install.kill_tables.notice=Imposible actualizar la estructura de datos. Int install.kill_tables=Elimine las tablas existentes de la base de datos install.license=Software license agreement install.message=Siga los pasos del asistente para configurar su base de datos. +install.newfeatures=ЎFelicidades! Ya tienes Mibew Messenger {1} instalado. Activa mas caracteristicas en la pagina Optional services. install.next=Prуximo paso: +install.no_file=Fichero ausente: {0} install.title=Instalaciуn install.updatedb=Por favor, ejecuta el Asistente de Actualizaciуn para ajustar tu base de datos. installed.login_link=Proceda a la pбgina de acceso installed.message=Aplicaciуn instalada con йxito. -installed.notice=Puede accesar como administrador con contraseсa vacнa.

                !!! Por seguridad, por favor cambie su contraseсa inmediatamente y elimine el directorio {0} de su servidor. +installed.notice=Puedes registrarte como admin sin contraseсa.

                ЎЎЎ Por razones de seguridad, porfavor crea una contraseсa inmediatamente y borra el directorio {0} de tu servidor !!!. lang.choose=Selecciona tu idioma leavemail.body=Tiene un mensaje de{0}:\n\n{2}\n\nEste email: {1}\n{3}\n--- \nAtentamente sitio Messenger leavemail.subject=Pregunta desde {0} @@ -186,10 +212,11 @@ leavemessage.title=Deje su mensaje leftMenu.client_agents=Agentes leftMenu.client_gen_button=Cуdigo del Botуn leftMenu.client_settings=Configuraciones +license.title=Licencia localedirection=ltr localeid=Espaсol (es) mail.user.history.body=Hola {0}!\n\nSu conversaciуn: \n\n{1}\n--- \nKind Regards,\nMibew Messenger -mail.user.history.subject=Messenger: Histуrico de conversaciуn +mail.user.history.subject=Mibew Messenger: Historico de charlas mailthread.close=Cerrar... mailthread.enter_email=Escriba su e-mail: mailthread.perform=Enviar @@ -197,21 +224,22 @@ mailthread.title=Enviar el historial de conversaci menu.agents=Lista de agentes menu.blocked=Visitantes bloqueados menu.canned=Posibles mensajes -menu.groups.content=Departamento o habilidad basada en grupos de operadores +menu.goonline=Estas fuera de linea.
                Connect.. +menu.groups.content=Departamento o niveles en base a grupos de operadores. menu.groups=Grupos menu.locale.content=Cambiar regiуn. menu.locale=Idioma menu.main=Menu principal menu.operator=Tu eres {0} -menu.profile.content=Tъ puedes cambiar tu informaciуn persona en esta pбgina +menu.profile.content=Tъ puedes cambiar tu informaciуn personal aqui. menu.profile=Perfil menu.translate=Regiуn -menu.updates.content=Verificar actualizaciones +menu.updates.content=Comprobar actualizaciones. menu.updates=Actualizaciones my_settings.error.password_match=La contraseсa ingresada no coincide no_such_operator=No se encuentra operador operator.group.no_description=<sin descripciуn> -operator.groups.intro=Selecciona los grupos con base a las habilidades del operador +operator.groups.intro=Selecciona los grupos deacuerdo al nivel del operador. operator.groups.title=Grupo de operadores page.analysis.search.head_browser=Buscador page.analysis.search.head_group=Grupo @@ -235,18 +263,22 @@ page.gen_button.code=C page.gen_button.default_group=-todos los operadores- page.gen_button.include_site_name=Incluye el nombre del dominio en el cуdigo page.gen_button.intro=Puede generar el cуdigo HTML para insertarlo en su sitio web. +page.gen_button.modsecurity=Compatibilidad con mod_security (modsecurity.org), activar solo en caso de tener problemas con el page.gen_button.sample=Ejemplo page.gen_button.secure_links=Usa enlace seguro (https) page.gen_button.title=Genera cуdigo boton HTML page.group.create_new=Aquн puedes crear un nuevo grupo. -page.group.duplicate_name=Por favor selecciona otro nombre, debido a que ya existe un el nombre ingresado -page.group.intro=En esta pбgina podrбs editar los detalles de grupo +page.group.duplicate_name=Por favor elije otro nombre, porque el grupo que introdujistes ya existe. +page.group.intro=En esta pбgina podrбs editar los detalles de grupo. page.group.membersnum=Operadores page.group.no_such=No existe el grupo page.group.title=Detalles de Grupo page.groupmembers.intro=Ver y editar lista de miembros. page.groupmembers.title=Miembros +page.groups.confirm=їEstas seguro de que quieres eliminar el grupo "{0}"? page.groups.intro=Esta pбgina despliega una lista de grupos de tu compaснa. Cada grupo puede tener por separado un botуn y posibles respuestas. +page.groups.isaway=Ausente +page.groups.isonline=En linea page.groups.new=Crear un nuevo grupo... page.groups.title=Grupos page.preview.agentchat=Ventana de Chat (modo-operador) @@ -254,7 +286,8 @@ page.preview.agentrochat=Ver ventana de Chat (operador en modo lectura) page.preview.chatsimple=Simple ventana de Chat, enviar mensajes de actualizaciуn (IE 5, Opera 7) page.preview.choose=Elige estilo page.preview.choosetpl=Elige plantilla -page.preview.intro=Puede obtener una vista previa de estilos de su sitio +page.preview.error=Error de ventana +page.preview.intro=Puede obtener una vista previa de estilos de su sitio. page.preview.leavemessage=Dejar mensaje ventana page.preview.leavemessagesent="Mensaje entregado" ventana page.preview.mail=Ventana de correo electrуnico @@ -264,15 +297,16 @@ page.preview.redirect=Redirige visitante a otra ventana de operador page.preview.redirected="El Visitante es redireccionado" ventana page.preview.showerr=Mostrar errores page.preview.style_default=-de configuraciуn general- +page.preview.survey=Repasar el Pre-Chat page.preview.title=Estilo del sitio page.preview.userchat=Ventana de Chat (modo-usuario) page.translate.descr=Si no te gusta la traducciуn, por favor envнa tus sugerencias. page.translate.done=Tu traducciуn ha sido guardada. page.translate.one=Introduce tu traducciуn. page.translate.title=Traducciуn Open WebIM -page_agent.cannot_modify=Tъ no tienes permisos para cambiar este perfil personal +page_agent.cannot_modify=No tienes permisos para cambiar este perfil personal. page_agent.clear_avatar=Eliminar avatar -page_agent.create_new=Aquн puede crear un nuevo operador +page_agent.create_new=Aquн puede crear un nuevo operador. page_agent.error.duplicate_login=Por favor, elija otro nombre de usuario, ya que el agente entrу con un usuario que ya estб registrado en el sistema. page_agent.error.wrong_login=Usuario debe contener solamente caracteres latinos, nъmeros y simbolos de subrayado. page_agent.intro=Esta pбgina muestra los detalles de cada agente, derechos de acceso y ediciуn. @@ -283,9 +317,13 @@ page_agent.tab.permissions=Permisos page_agent.title=Detalles de operadores page_agents.agent_name=Nombre page_agents.agents=Lista completa de agentes: +page_agents.confirm=їEstas seguro de querer borrar al operador "{0}"? page_agents.intro=Esta pбgina muestra la lista de agentes de la empresa ademбs permite aсadir otros nuevos agentes. +page_agents.isaway=Ausente +page_agents.isonline=En linea page_agents.login=Usuario page_agents.new_agent=Crear nuevo agente... +page_agents.status=Ultimo activo page_agents.title=Agentes page_analysis.full.text.search=Bъsqueda de nombre de usuario o mensaje de texto: page_analysis.search.title=Histуrico de conversaciуn @@ -296,6 +334,7 @@ page_ban.sent=Direcci page_ban.thread=Usted abre esta ventana para "{0}" thread, Direcciуn Campo ya estб lleno. Seleccione el nъmero de dнas y de un click Enviar. page_ban.title=Bloquear direcciуn page_bans.add=Agregar direcciуn +page_bans.confirm=їEstas seguro de querer borrar esta direcciуn {0} de la lista de bloqueados? page_bans.list=Lista de Direcciуnes IPS prohibidas: page_bans.title=Bloqueado page_bans.to=Hasta @@ -309,13 +348,16 @@ page_login.password=Contrase page_login.remember=Recordar page_login.title=Usuario page_search.intro=Buscar el historial de conversaciуn de un determinado usuario o una determinada frase en un mensaje. -page_settings.intro=Especifique las opciones que afectan a la ventana de chat y el comportamiento del sistema +page_settings.intro=Especifique las opciones que afectan a la ventana de chat y el comportamiento del sistema. page_settings.tab.features=Servicios opcionales page_settings.tab.main=General +page_settings.tab.performance=Rendimiento page_settings.tab.themes=Vista previa de temas pending.menu.hide=Ocultar menъ >> pending.menu.show=Mostrar menъ >> pending.popup_notification=Visitantes nuevos estan en espera de una respuesta. +pending.status.setaway=Seleciona el estado de "Ausente" +pending.status.setonline=Seleciona el estado de "Disponible" pending.table.ban=Bloquear visitante pending.table.head.contactid=Direcciуn del visitante pending.table.head.etc=Misc @@ -327,12 +369,13 @@ pending.table.head.waittime=Tiempo de espera pending.table.speak=De un click para conversar con el visitante pending.table.view=Ver conversaciуn permission.admin=Administraciуn del Sistema: configurar, administrar operadores, generar cуdigo del botуn +permission.modifyprofile=Capacidad para modificar el perfil permission.takeover=Tomar el control del Chat permission.viewthreads=Ver el Chat de otro operador -permissions.intro=Aquн usted puede asignar los permisos al operador +permissions.intro=Aquн usted puede asignar los permisos al operador. permissions.title=Permisos presurvey.department=Selecciona Departamento: -presurvey.intro=Gracias por contactarnos! Para brindarte un mejor servicio, por favor rellena el formulario y haz clic en el botуn Iniciar Chat +presurvey.intro=Gracias por contactarnos! Para brindarte un mejor servicio, por favor rellena el formulario y haz clic en el botуn Iniciar Chat. presurvey.mail=Correo Electrуnico: presurvey.name=Nombre: presurvey.question=Pregunta inicial: @@ -350,6 +393,22 @@ report.byoperator.4=Longitud promedio del mensaje (en caracteres) report.byoperator.title=Conexiones por operador report.no_items=No existen suficientes datos report.total=Total: +resetpwd.changed.title=ЎTu contraseсa fue cambiada! +resetpwd.changed=Autenticate con tu nueva contraseсa. +resetpwd.intro=Porvafor seleciona una contraseсa para usar con tu cuenta Mibew. +resetpwd.login=Procede a registrarte +resetpwd.submit=Cambiar +resetpwd.title=Cambiar tu contraseсa Mibew +restore.back_to_login=A tras para registrarse +restore.emailorlogin=Nombre de registro o correo electronico: +restore.intro=Tu no reciviras tu contraseсa, pero puedes crear una nueva pinchando en el enlace enviado a tu direcciуn de correo. +restore.mailsubj=Tu contraseсa de Mibew se reseteo +restore.mailtext=Hola, {0}\n\nPorfavor, pincha en el enlace de abajo o copia y pegalo en tu navegador:\n{1}\nEsto te permite cambiar de contraseсa.\n\nLocalred.net Mibew Messenger. +restore.pwd.message=їOlvidaste tu contraseсa? +restore.sent.title=Contraseсa recuperada +restore.sent=Hemos enviado instrucciones a tu correo, Porfavor hechale un vistazo +restore.submit=Contraseсa reinicializada +restore.title=їProblemas en el acceso a tu cuenta? right.administration=Administraciуn right.main=Inicio right.other=Otro @@ -365,26 +424,41 @@ settings.enableban.description=Us settings.enableban=Activar funciуn "Visitantes maliciosos" settings.enablegroups.description=Usalo para tener filas separadas de diferentes preguntas. settings.enablegroups=Habilitar "Grupos" -settings.enablepresurvey.description=Obligar al usuario que rellene el formulario antes de iniciar el chat +settings.enablepresurvey.description=Obligar al usuario a que rellene el formulario antes de iniciar el chat. +settings.enablepresurvey=Activa repaso de "Pre-Chat" settings.enablessl.description=Por favor, verifica que tu servidor web este configurado para suportar conexiones https. settings.enablessl=Permitir conexiones seguras (SSL) +settings.enablestatistics.description=Aсade mensajes usador en los informes. settings.enablestatistics=Habilitar "Estadнsticas" settings.forcessl.description=Mostrar sуlo chats con conexiones https settings.forcessl=Obligar que todos los chat sean seguros +settings.frequencychat.description=Especifica la cantidad del intervalo en segundos. Por defecto son 2 segundos. +settings.frequencychat=Tiempo de refresco del Chat +settings.frequencyoldchat.description=Navegadores antiguos que tenga que actualizar toda la pбgina para recibir mensajes. Por defecto es de 7 segundos. +settings.frequencyoldchat=Tiempo de refresco de pagina para viejos navegadores +settings.frequencyoperator.description=Define el intervalo en sergundos, Por defecto son 2 segundos. +settings.frequencyoperator=Refresco de tiempo para la consola del Operador settings.geolink.description=Cada IP se convertirб a enlace de apertura en una nueva ventana. {ip} es substituido con una IP real. settings.geolink=Enlace externo a un servicio de geolocalizaciуn settings.geolinkparams.description=Tamaсo de la ventana y ocultar barras de herramientas settings.geolinkparams=Ventana de opciones de geolocalizaciуn settings.host.description=Destino para el nombre de la empresa o el enlace del logo settings.host=URL de tu sitio web -settings.logo.description=Introduzca la direcciуn URL (http://) del logo de su empresa +settings.leavemessage_captcha.description=Protecciуn contra Spam automatico (captcha) +settings.leavemessage_captcha=Obliga al visitante a introducir un codigo de verificaciуn cuando introduce un mensaje +settings.logo.description=Introduzca la direcciуn URL del logo de su empresa settings.logo=Logo de tu empresa settings.no.title=Por favor, introduce el nombre de tu empresa +settings.onehostconnections.description=0 permitidos cualquier numero de conexiones settings.onehostconnections=Nъmero mбximo de conexiones desde una misma direcciуn -settings.popup_notification.description=Mostrar una ventaсa pequeсa para atraer tu atenciуn -settings.popup_notification=Habilitar "Dialogo de notificaciуn de nuevos visitantes" +settings.onlinetimeout.description=Define el numero de segundos que mostrara al operador en linea. Por deecto son 30 segundos. +settings.onlinetimeout=Limite de tiempo para el operador en linea +settings.popup_notification.description=Mostrar una ventaсa pequeсa para atraer tu atenciуn. +settings.popup_notification=Habilitar "Dialogo de notificaciуn de nuevos visitantes". settings.saved=Cambios guardados settings.sendmessagekey=Enviar mensajes con: +settings.show_online_operators.description=Puede ralentizar la velocidad de actualizaciуn de la lista +settings.show_online_operators=Muestra a los operadores en linea la pagina "Lista de visitantes en espera" settings.survey.askgroup.description=Mostrar/Ocultar el campo de selecciуn de Departamento en el cuestionario settings.survey.askgroup=Permitir a los visitantes seleccionar el grupo/departamento settings.survey.askmail.description=Mostrar/Ocultar campos de correo electrуnico en el cuestionario @@ -413,9 +487,13 @@ tag.pagination.no_items=Encontrados 0 elementos tag.pagination.previous=anterior thread.back_to_search=Buscar thread.chat_log=conversaciуn log -thread.intro=La pagina muestra la conversaciуn +thread.intro=Esta pagina muestra los detalles y contenido del chat. +time.dateformat=%B %d, %Y time.locale=es_ES +time.never=Nunca time.timeformat=%H:%M +time.today.at=Hoy a las +time.yesterday.at=Ayer a las topMenu.admin=Administraciуn topMenu.logoff=Salir topMenu.main=Inicio @@ -434,7 +512,7 @@ typing.remote=Usuario remoto esta escribiendo... updates.current=Tъ estas usando: updates.env=Entorno: updates.installed_locales=Idiomas instalados: -updates.intro=Actualizaciones de Web Messenger +updates.intro=Actualizaciones de Web Messenger. updates.latest=Ъltima versiуn: updates.news=Noticias: updates.title=Actualizaciones From 1020716f6a29645731cd0b24b352a3b8060bd49a Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 01:13:32 +0200 Subject: [PATCH 29/40] update Simplified Chinese (by Xiaoyu) --- .../webim/locales/zh-cn/button/webim_off.gif | Bin 3562 -> 6398 bytes .../webim/locales/zh-cn/button/webim_on.gif | Bin 3381 -> 6257 bytes .../webim/locales/zh-cn/images/history.gif | Bin 301 -> 223 bytes .../webim/locales/zh-cn/images/message.gif | Bin 305 -> 223 bytes .../webim/locales/zh-cn/images/search.gif | Bin 2330 -> 1958 bytes .../webim/locales/zh-cn/images/wmchat.png | Bin 517 -> 3989 bytes src/messenger/webim/locales/zh-cn/properties | 179 +++++++++++++++--- 7 files changed, 152 insertions(+), 27 deletions(-) diff --git a/src/messenger/webim/locales/zh-cn/button/webim_off.gif b/src/messenger/webim/locales/zh-cn/button/webim_off.gif index 072d060bce06b00714b3780311cceb2881fba42f..734ed38bb605cfef753a1acaee9e0ea94d35a5d9 100644 GIT binary patch delta 5776 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 O0000_tcx{@|o2kZ&k7S~o$lkxb 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 N002ovPDHLkV1lD#yK(>k diff --git a/src/messenger/webim/locales/zh-cn/button/webim_on.gif b/src/messenger/webim/locales/zh-cn/button/webim_on.gif index 7fec3d8e7e628c0a3c2f48f2147d43657c77af47..d7759028ab0c8e72c1034d727268e4ce88040ea5 100644 GIT binary patch delta 5682 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 diff --git a/src/messenger/webim/locales/zh-cn/images/history.gif b/src/messenger/webim/locales/zh-cn/images/history.gif index cc1756fcf50876c01a06945bfc75bdc40d818124..9d3475631e695d89931861e1e192cb08782c0ede 100644 GIT binary patch delta 166 zcmV;X09pU70^b1#M@dFFIbjl!2Sa}n08jt`1dLEHR!&+tYs`jGTbMD1Xf6bJhQ}%* zZm7oDOy78}?|9(gw0g~M zyWj8)`81b1eaP)MROHg{b$fY%c0GDXct%fgjE#i_@% delta 244 zcmVgjGs=(2@-urqY$}N{+O8nCP1YEMbb^SsGVxIDW?^@07Jdys@Yj? zZ`a>yTgIM~htc#L9sat(TW5A^fps;4hlVkTi;69bkB%silaeQtmzH!yeMw|kc{W{H zYFD6WWKg7}rGBk=Q*wlbpKg1dURG(SVs^E!QMsePxv-(0$4#7=o5)X^#>ve*XR>m? uy0Wa!%52rdx3JaP)6W~!-s9eDIOOa(Gf6N_D@_b0&K@A-5)>AR5db@3%5%p6 diff --git a/src/messenger/webim/locales/zh-cn/images/message.gif b/src/messenger/webim/locales/zh-cn/images/message.gif index e63af77c6759ef0e3c2f2e75dcc289b5a795c806..2d91ab374a0f22fe83b50cf18c0f1a83aa193462 100644 GIT binary patch delta 168 zcmV;Z09XI90^b1%M@dFFIbjk2Q;`Wle-Z#w000DxkhPXh86xW~+Cl^;Y7H`;f)b+Q z!H&imoGTaHW3Ao%EAT)TaOf)0=NSbr$%OdJM#%_H1K zoo;t+F7Db*u WF-R^*Do7=#AD|}^6c!jP5db?6y+#iJ delta 250 zcmV!000EukhPXh86xW~W?Klsjhcs$XxAuW zI!=d6P6isFQ_BVX+~^vf@YNUzkDSTwh%6OlL}*mHQBs{(Y*w}9Zmn7HRZJyI%}}&V z?J^H>Ph(2VY-%$%d@vaoe&(e;IU(evWh`kb{zkfk8cjU2JoGXl0&f zplPCOq;001o2YQAtzV>$ns{|~UVyi^i)4h?l{SOS*A|b-1>A!j{9!jGnYp zVXHo_*4bm%)!f^k;GyE9sz9OVqczqs)-2WyC)^()pAr-n7^fcm{r>*||3v@*JI@<* A;s5{u diff --git a/src/messenger/webim/locales/zh-cn/images/search.gif b/src/messenger/webim/locales/zh-cn/images/search.gif index d601b4f443db46849ed12cdf5cef910121486f60..93bcdde9e469d788990cee50a012f363d8bb368d 100644 GIT binary patch delta 916 zcmV;F18e-65~dHZ1_Xb8yt(t|$E8W1zEhgdo=|;O%L%=^cW2ldzyF494TTReapo90 zgeVcBLxu#Q2{S~<3mqwlFF&4q|M&j@1}I>6;=N|gH3s+*MjVhVl87jyj6zB&i5yZ0 z8EViG1PdPIvRrb*8Ry@CB$jBRGX)xW1sHBb@<=G8n4$_SwA@Z|izk^3V#X3qSm1yN zA@0|ofB-aCa*%NcC60`e$||u0pyigEoB>A^M7)pzF3y2SWRgV! zpr(@lt?8zkOCHzcQjy1HI@g$2)>!ey9FtVCN-Dn85`Zzu{L%|5 zvIG#w8g)DoL<3bQ|F_&TBLPk(G_sbsW~AKedYq))F6rx1KjeT%r;4D`3$n{31B@@JJb$YN8LcAGKm{UZ z`zWq%?z?TJa_aLdH9&Zg2cD(uDXKBR@UqJ(sRm+(9Zw*^Kn1j7OKZMuCTZl7-~!xO zQ`=E9MGbW5K}jj2w1SM5vk>!&EQDS{1{6$euz{cAys?ObcO2>2hKJlM(oXp#fDt$>k;flgx(A;iWQ5^`5K3t9 z00tgH1C4)Pw+Uyi|C)aIw<7B^O*K+YGlB~}*ue)N0ccVPA%BJFW`^c741vT12ZSKH z;Kz9#Ho(jS*w}SFO~Zv0E(qbo8-0u+#`a}|k%J8}+;D^i2yl?g=+TUxeCf@%FW~dB zM}-0fF9ab(7hd4-#TS1C)&dU}Xg~y1;I-qekA3b-Ac0&Lzo=wE2Q1jZ4PX!h8N?t4 zFK7V^WFP?qK!2bFqsy532&cT|DX@K{na4TQ5)Bo2zyTU$feat;00*p~0SDj!0cjPQ z)%fs-Kn$X2gA76saTulmA;^FN6wrVMC}05yH~WF4#Pkr7X$!7 z2P#kj4t(GQ9`c$w-lD}e9)%s*FpL+Er#x&_#f^AmNI6Z^!40;Q&}-UI2R(+8$3iMZ qB=1N^Ik=&gZIB}!?{JABC%F)bP{bk_(Fi3s$;nQ7@{=$L2mm|%8jUpo delta 1318 zcmV+>1=;$h51JCN1_Xbu{Mj>T&z(b?KHad|XwtH4m$p-y&z?|yR{zV{bi6f`USDHd zzZ7M*Y$zMQhHVXn4>57(7&?R~5u!te2!ci!LkRJL4k-|~+;Pb*=b&`aJx3ih)~&Uj zcHMoap?Ksql@ogHxwalQ?P2p?eEQ6Ho&kP@5eFoTBqGWvqmX}6N+O38LWUZ21i^v_ zxh$95aK<^ z@k9^}RMFhT%|Yi3bQ98wsJe+7=G~y#MMWieOda~+$vL(58kg&3qm4G%jM$i0)liYc z9sV+ciZ8YVpo}oV_=1Wn0ceqi!$c_1!E(@04B^E}o(m{jeyZznRP08j=%I?9hq5&) z)8}5xFUNnp-ppS8kOLn6DuPNcJuj0CFutThv=(GIj6?$!jQ_jf(->2SXssM?%+|+Q ziw8ijPFb_4U0$cGVzFeyEHl33Q3He*c`#ebvjZCg3@^K!qHrK)*zp7s3{)VU)6qdK zIIV_NZ5Vb~H~I0_??w(e*prWKV%e8lNzD{B(4l_^C8dng3NoY4Ld+|&V0#G}P%yE< z0!u#!yTyT{i|)I(Bd)v1PWi-?uf8u8Hsr#)Z28&xl($nAGr;jkB#JBo3aJ1L04Kz7 z1}8M(0tf)Xp1#MlsL@VcQ!8KYw4*h6DGGk>3!aH8XSPaF$tlzzzzfunhdngnf1{$s zCvJbCg-&2%Ks{hW5+;y<6GZ4Zd&*&w&=m~|Nn>M9@`+mi!~?==OaoCl0f1dl0=f5u zZBp-vq7$PCv&J+9JOVHR4wjIIKa|Qp01^Zl!r%oVC_w`cz(A0uv!EmCP&ykkSFP4X z!Jb6vid0fxqL$d2oH$WEQVb*%tEi7@7*T&JBXB_v?7#;=1V9soAVeW_V+JzLUIBh_MBIrHsgWK@H8Ey@3}h4snT^JLhgV#Xf(wM;gg5kI z3}Ogo8N!eQ8^quSN3Z|_IFJkI^stSf3?&;$DGgIzNQieVqWaq7NEQ4 zNU2B#1r&He5QNYLFW}${U-(O4TEGJfG#~;h*b^IZ828N`I@5>N+zvKVnMYP~lZoDZ zVmPPx9zvSaoLSHT3wCe=7{ovZF^ItnTEGGsNB{v4C_$1$$xl%FbCdw};WbhDK~-+^ zWC*p!AHlg$T9RfS=eUjvJm3J1vfzKG4|sqBR?vV0a3G(~3C(Jj%G9PhRWt^nhd2yV zfDmLr0Sah90~D|T1RMYZB-ny;oDq)1Eat2Z*~&Q#1C3k|00bSVKm|DPffEF2Pv&?F zTK9Ssc4XsrY@rS)u~8Mi8kQk7Q3p5J5>4l5Lml)O%3&v~5Rtqi9p&JLTDBfRj&!`k cC6o>ALL@>Fi(o_}qD`%8SIgSg!XzL7JMpYM_W%F@ diff --git a/src/messenger/webim/locales/zh-cn/images/wmchat.png b/src/messenger/webim/locales/zh-cn/images/wmchat.png index 980fe28764ee051475ae9f34603e8d8a6d7f877c..53b0d826da0608af7fe1a1a5566493b3721b3813 100644 GIT binary patch delta 3904 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 Bw@m;5 diff --git a/src/messenger/webim/locales/zh-cn/properties b/src/messenger/webim/locales/zh-cn/properties index b4f7864e..4265f954 100644 --- a/src/messenger/webim/locales/zh-cn/properties +++ b/src/messenger/webim/locales/zh-cn/properties @@ -6,7 +6,7 @@ admin.content.client_gen_button=дє§з”џж”ѕзЅ®ењЁзЅ‘з«™дёЉзљ„HTMLиЇ­жі•гЂ‚ admin.content.client_settings=设定基本选项以及开放功能。 admin.content.description=з®Ўзђ†е‘可以利用下方功能进行管理。 agent.not_logged_in=ж‚Ёй—ІзЅ®и¶…иї‡ж—¶й™ђпјЊиЇ·й‡Ќж–°з™»е…Ґ -app.descr=Mibew Messenger жЇдёЂдёЄејЂжєђзљ„ењЁзєїе®ўжњЌеє”з”Ё +app.descr=зЅ‘з«™е®ћж—¶и®ЇжЃЇ жЇдёЂдёЄејЂжєђзљ„ењЁзєїе®ўжњЌеє”з”Ё app.title=зЅ‘з«™е®ћж—¶и®ЇжЃЇ ban.error.duplicate=ењ°еќЂ {0} е·Із»Џе­ењЁдєЋзі»з»џд№‹дё­, з‚№йЂ‰гЂЂиї™й‡Њ иї›иЎЊзј–иѕ‘. button.delete=删除 @@ -22,7 +22,7 @@ button.search=жђњеЇ» canned.actions.del=移除 canned.actions.edit=зј–иѕ‘ canned.actions=дї®ж”№ -canned.add=ж·»еЉ и®ЇжЃЇ +canned.add=ж·»еЉ и®ЇжЃЇ... canned.descr=编辑您经常输入的聊天讯息 canned.group=еЇ№дєЋз»„зѕ¤пјљ canned.locale=иЇ­иЁЂ: @@ -34,11 +34,13 @@ cannededit.no_such=и®ЇжЃЇдёЌе­ењЁ cannededit.title=зј–иѕ‘и®ЇжЃЇ cannednew.descr=ж·»еЉ ж–°и®ЇжЃЇ cannednew.title=ж–°и®ЇжЃЇ +char.redirect.operator.away_suff=(离开) char.redirect.operator.online_suff=(ењЁзєї) chat.came.from=访客来源页面:{0} chat.client.changename=й‡Ќж–°е‘ЅеђЌ chat.client.name=ж‚Ёзљ„з§°е‘јпјљ chat.client.spam.prefix=[ећѓењѕи®ЇжЃЇ]  +chat.client.visited.page=访客正在浏览 {0} chat.default.username=и®їе®ў chat.error_page.close=е…ій—­... chat.error_page.head=й”™иЇЇеЏ‘з”џ: @@ -47,7 +49,7 @@ chat.mailthread.sent.close=е…ій—­... chat.mailthread.sent.closewindow=з‚№ж­¤иїћз»“е…ій—­зЄ—еЏЈ chat.mailthread.sent.content=еЇ№и°€зєЄеЅ•е·Із»ЏеЇ„йЂЃе€° {0} chat.mailthread.sent.title=йЂЃе‡є -chat.predefined_answers=您好,请问有什么我可以帮您的吗?\n哈楼!欢迎来到在线实时客服。有什么我可以帮您的吗? +chat.predefined_answers=您好,请问有什么我可以帮您的吗?\n欢迎来到在线实时客服。有什么我可以帮您的吗? chat.redirect.back=е›ћдёЉдёЂйЎµ... chat.redirect.cannot=дЅ дёЌењЁе’Њи®їе®ўеЇ№иЇќ chat.redirect.choose=йЂ‰ж‹© @@ -76,17 +78,17 @@ chat.thread.state_wait=з­‰еЂ™дё­ chat.thread.state_wait_for_another_agent=з­‰еѕ…е®ўжњЌдєєе‘ chat.visitor.email=E-Mail: {0} chat.visitor.info=дїЎжЃЇ: {0} -chat.wait=欢迎您使用在线实时客服,请稍待客服回应… +chat.wait=欢迎您使用网站实时讯息,请稍待客服回应… chat.window.chatting_with=ж‚Ёж­ЈењЁеЇ№и°€: chat.window.close_title=离开对谈 chat.window.poweredby=Powered by: chat.window.poweredreftext=mibew.org chat.window.predefined.select_answer=йЂ‰ж‹©е›ћз­”... -chat.window.product_name=зЅ‘з«™ е®ћж—¶йЂљ +chat.window.product_name=зЅ‘з«™ е®ћж—¶и®ЇжЃЇ chat.window.send_message=йЂЃе‡єи®ЇжЃЇ chat.window.send_message_short=йЂЃе‡є ({0}) -chat.window.title.agent=ејЂеђЇзЅ‘з«™е®ћж—¶йЂљ -chat.window.title.user=ејЂеђЇзЅ‘з«™е®ћж—¶йЂљ +chat.window.title.agent=зЅ‘з«™е®ћж—¶и®ЇжЃЇ +chat.window.title.user=зЅ‘з«™е®ћж—¶и®ЇжЃЇ chat.window.toolbar.mail_history=е°†еЇ№и°€зєЄеЅ•еЇ„е€°E-mail chat.window.toolbar.redirect_user=将访客转移到另一位客服 chat.window.toolbar.refresh=й‡Ќж–°ж•ґзђ† @@ -98,7 +100,7 @@ clients.queue.prio=дје…€з­‰еЂ™и®їе®ў clients.queue.wait=第一次等候客服 clients.title=е€—е‡єз­‰еЂ™дё­и®їе®ў common.asterisk_explanation=* - еї…еЎ«е­—ж®µ -company.title=зЅ‘йЎµе®ћж—¶йЂљи®Ї +company.title=Mibew Messenger Community confirm.take.head=更换客服 confirm.take.message=и®їе®ў {0} е·Із»Џз”± {1} жњЌеЉЎ. ж‚Ёзњџзљ„зЎ®е®љж‚Ёи¦ЃдёЋи®їе®ўеЇ№и°€еђ—? confirm.take.no=дёЌпјЊе…ій—­зЄ—еЏЈ @@ -106,8 +108,10 @@ confirm.take.yes=жЇпјЊж€‘зЎ®е®љ content.blocked=е°Ѓй”ЃжЃ¶ж„ЏдЅїз”Ёи®їе®ўпјЊиї›иЎЊIPз®Ўзђ†гЂ‚ content.history=жђњеЇ»иї‡еЋ»зљ„еЇ№и°€зєЄеЅ•гЂ‚ content.logoff=жіЁй”Ђзі»з»џгЂ‚ +data.saved=дї®ж”№е·Ідїќе­ demo.chat.question=有好多浏览器可以选择,您会推荐哪一种? demo.chat.welcome=您好,有什么可以协助您的吗? +errors.captcha=您输入的字符同图片上жѕз¤єзљ„不一致。 errors.failed.uploading.file=ж— жі•дёЉдј жЎЈжЎ€ "{0}": "{1}". errors.file.move.error=无法移动档案 errors.file.size.exceeded=上传档案尺寸过大 @@ -119,7 +123,7 @@ errors.required=иЇ·иѕ“е…Ґ "{0}". errors.suffix= errors.wrong_field=иЇ·иѕ“е…Ґ "{0}" ж­ЈзЎ®. features.saved=еЉџиѓЅжїЂжґ» -form.field.address.description=Ex: 12.23.45.123 ж€– todo.com +form.field.address.description=例如: 12.23.45.123 ж€– todo.com form.field.address=IPењ°еќЂ form.field.agent_commonname.description=иї™жЇжѕз¤єз»™и®їе®ўж‰Ђзњ‹и§ЃгЂ‚ form.field.agent_commonname=и‹±ж–‡еђЌз§° @@ -127,15 +131,29 @@ form.field.agent_name.description=жѕз¤єеђЌз§°жЇз»™и®їе®ўиѕЁиЇ†дЅїз”ЁгЂ‚ form.field.agent_name=жѕз¤єеђЌз§° form.field.avatar.current.description=您的个人图片. form.field.avatar.current=目前个人图片 -form.field.avatar.upload.description=请选择要上传的图片。
                图片不可超过 100x100 px。 +form.field.avatar.upload.description=请选择要上传的图片。
                图片不可超过 100x100 еѓЏзґ гЂ‚ form.field.avatar.upload=更新个人图片 form.field.ban_comment.description=批注封锁的原因 form.field.ban_comment=批注 form.field.ban_days.description=设定封锁的天数,过后解除封锁 form.field.ban_days=天数 form.field.email=E-mail +form.field.expiredate=жњ‰ж•€жњџ +form.field.groupcommondesc.description=и‹±ж–‡жЏЏиї° +form.field.groupcommondesc=е›Ѕй™…еЊ–зљ„жЏЏиї° +form.field.groupcommonname.description=и‹±ж–‡зѕ¤з»„еђЌгЂ‚ +form.field.groupcommonname=е›Ѕй™…еЊ–зѕ¤з»„еђЌ +form.field.groupdesc.description=еЇ№иї™дёЄзѕ¤з»„зљ„з®Ђи¦ЃжЏЏиї° +form.field.groupdesc=зѕ¤з»„жЏЏиї° +form.field.groupemail.description=用于接收通知的群组邮件地址。保持空白以使用й»и®¤ењ°еќЂ +form.field.groupexpiredate.description=иЇҐзѕ¤з»„зљ„жњ‰ж•€жњџ(жњ‰ж•€ж€Єж­ўж—ҐжњџпјЊж јејЏпјљ4位年-жњ€-ж—Ґ) +form.field.groupid=зј–еЏ· +form.field.groupname.description=е”ЇдёЂж ‡иЇ†иї™дёЄзѕ¤з»„зљ„еђЌе­— +form.field.groupname=зѕ¤з»„еђЌ form.field.login.description=登入名称可以包含小写字母及底线。 form.field.login=з™»е…ҐеђЌз§° +form.field.mail.description=иЇҐе®ўжњЌзљ„з”µе­ђй‚®з®±. +form.field.mail=E-Mail form.field.message=е†…е®№ form.field.name=еђЌз§° form.field.password.description=输入新密码或保持空白不更动。 @@ -144,12 +162,12 @@ form.field.password_confirm.description=е†Ќиѕ“е…ҐдёЂж¬ЎеЇ†з ЃзЎ®дїќеЇ†з Ѓж­ЈзЎ® form.field.password_confirm=确认密码 form.field.translation=зї»иЇ‘ harderrors.header=无法执行:
                  -image.button.login=/locales/zh-tw/images/login.gif -image.button.save=/locales/zh-tw/images/save.gif -image.button.search=/locales/zh-tw/images/search.gif -image.chat.history=/locales/zh-tw/images/history.gif -image.chat.message=/locales/zh-tw/images/message.gif -image.chat.sprite=/locales/zh-tw/images/wmchat.png +image.button.login=/locales/zh-cn/images/login.gif +image.button.save=/locales/zh-cn/images/save.gif +image.button.search=/locales/zh-cn/images/search.gif +image.chat.history=/locales/zh-cn/images/history.gif +image.chat.message=/locales/zh-cn/images/message.gif +image.chat.sprite=/locales/zh-cn/images/wmchat.png install.1.connected=您正在连接 MySQL 服务器版本 {0} install.2.create=建立数据库 "{0}" install.2.db_exists=数据库 "{0}" 已经建立. @@ -174,7 +192,7 @@ installed.login_link=继续到登入页面 installed.message=程序安装完成. installed.notice=您可以用 admin 名称及空的密码来登入.

                  !!! 基于安全性考虑, 请立即更改您的密码并删除网站 {0} 数据夹. lang.choose=йЂ‰ж‹©ж‚Ёзљ„иЇ­иЁЂ -leavemail.body=您有讯息来自 {0}:\n\n{2}\n\nE-mail: {1}\n{3}\n--- \n来自您的网站实时通 +leavemail.body=您有讯息来自 {0}:\n\n{2}\n\nE-mail: {1}\n{3}\n--- \n来自网站实时讯息 leavemail.subject=й—®йўжќҐи‡Є {0} leavemessage.close=е…ій—­ leavemessage.descr=很抱歉,目前客服不在在线,请稍后再试,或用窗体与我们联系。 @@ -186,16 +204,17 @@ leftMenu.client_agents=е®ўжњЌдєєе‘ leftMenu.client_gen_button=图片语法 leftMenu.client_settings=и®ѕе®љ localedirection=ltr -localeid=Chinese (Simplified) -mail.user.history.body=е“€е–Ѕ, {0}!\n\n您的对话纪录如下: \n\n{1}\n--- \n祝 安康,\nзЅ‘з«™е®ћж—¶йЂљ -mail.user.history.subject=зЅ‘з«™е®ћж—¶йЂљ: еЇ№иЇќзєЄеЅ• +localeid=з®ЂдЅ“дё­ж–‡ +mail.user.history.body={0}!\n\n您的对话纪录如下: \n\n{1}\n--- \n祝 好,\nзЅ‘з«™е®ћж—¶и®ЇжЃЇ +mail.user.history.subject=зЅ‘з«™е®ћж—¶и®ЇжЃЇ: еЇ№иЇќзєЄеЅ• mailthread.close=е…ій—­... mailthread.enter_email=иЇ·иѕ“е…Ґe-mail: mailthread.perform=йЂЃе‡є -mailthread.title=将对谈纪录备份
                  з”ЁE-mail +mailthread.title=е°†еЇ№и°€зєЄеЅ•еЏ‘йЂЃе€°Email menu.agents=е®ўжњЌдєєе‘жё…еЌ• menu.blocked=е°Ѓй”Ѓи®їе®ў menu.canned=预制信息 +menu.goonline=еЅ“е‰ЌзЉ¶жЂЃдёє"离开".
                  е°†зЉ¶жЂЃж”№дёє"ењЁзєї"... menu.groups.content=йѓЁй—Ёж€–иЂ…жЉЂжњЇжЂ§е®ўжњЌз»„зѕ¤ menu.groups=з»„зѕ¤ menu.locale.content=ж”№еЏењ°еЊє @@ -209,6 +228,9 @@ menu.updates.content=查看新闻和更新 menu.updates=更新 my_settings.error.password_match=输入的密码不符合 no_such_operator=жІЎжњ‰иЇҐе®ўжњЌ +operator.group.no_description=жІЎжњ‰жЏЏиї° +operator.groups.intro=жЊ‰е®ўжњЌзљ„жЉЂиѓЅйЂ‰ж‹©зѕ¤з»„ +operator.groups.title=е®ўжњЌзѕ¤з»„ page.analysis.search.head_browser=й…览器 page.analysis.search.head_group=зѕ¤з»„ page.analysis.search.head_host=IPењ°еќЂ @@ -220,8 +242,9 @@ page.analysis.userhistory.intro=您可以在此找寻访客对谈纪录. page.analysis.userhistory.title=浏览纪录 page.chat.old_browser.close=е…ій—­... page.chat.old_browser.list=
                    \n
                  • Internet Explorer 5.5+
                  • \n
                  • Firefox 1.0+
                  • \n
                  • Opera 8.0+
                  • \n
                  • Mozilla 1.4+
                  • \n
                  • Netscape 7.1+
                  • \n
                  • Safari 1.2+
                  • \n
                  \n

                  Also, we support some old browsers:

                  \n
                    \n
                  • Internet Explorer 5.0
                  • \n
                  • Opera 7.0
                  • \n
                  -page.chat.old_browser.problem=

                  您的浏览器无法全面支持网站实时通。\n请使用下列其中一种浏览器:

                  +page.chat.old_browser.problem=

                  您的浏览器无法全面支持网站实时讯息。\n请使用下列其中一种浏览器:

                  page.chat.old_browser.title=请使用较新版的浏览器 +page.gen_button.choose_group=з»„зѕ¤ page.gen_button.choose_image=选择图片 page.gen_button.choose_locale=йЂ‰ж‹©иЇ­зі» page.gen_button.choose_style=еЇ№иЇќзЄ—еЏЈж ·ејЏ @@ -233,12 +256,26 @@ page.gen_button.intro=您可以产生 HTML 语法并放在您的网站上. page.gen_button.sample=иЊѓдѕ‹ page.gen_button.secure_links=使用安全连结 (https) page.gen_button.title=дє§з”џе®ўжњЌHTMLжЊ‰й’® +page.group.create_new=您可以在这里创建新的群组。 +page.group.duplicate_name=ж”№зѕ¤з»„еђЌе·Іе­ењЁпјЊиЇ·дЅїз”Ёе…¶д»–еђЌе­—гЂ‚ +page.group.intro=在这里您可以编辑群组的详细信息。 +page.group.membersnum=е®ўжњЌж•° page.group.no_such=з»„зѕ¤дёЌе­ењЁ +page.group.title=组群详细信息 +page.groupmembers.intro=查看和编辑成е‘е€—иЎЁгЂ‚ +page.groupmembers.title=зѕ¤з»„ж€ђе‘ +page.groups.confirm=您确定要删除群组 "{0}" еђ—пјџ +page.groups.intro=иї™й‡Њжѕз¤єз»„群列表,每个组群可以有自己独立的按钮和预制消息。 +page.groups.isaway=离开 +page.groups.isonline=ењЁзєї +page.groups.new=е€›е»єдёЂдёЄж–°зѕ¤з»„ +page.groups.title=з»„зѕ¤ page.preview.agentchat=еЇ№и°€зЄ—еЏЈ (е®ўжњЌжЁЎејЏ) page.preview.agentrochat=检视对谈窗口 (е®ўжњЌеЏЄиЇ»жЁЎејЏ) page.preview.chatsimple=з®ЂеЌ•еЇ№и°€зЄ—еЏЈ, 更新送出讯息 (IE 5, Opera 7) page.preview.choose=йЂ‰ж‹©ж ·ејЏ page.preview.choosetpl=йЂ‰ж‹©ж ·жќї +page.preview.error=й”™иЇЇзЄ—еЏЈ page.preview.intro=您可以在这预览所有样式 page.preview.leavemessage=离开讯息窗口 page.preview.leavemessagesent=离开讯息送出窗口 @@ -249,26 +286,34 @@ page.preview.redirect=转移访客到其它客服窗口 page.preview.redirected=访客已转移窗口 page.preview.showerr=жѕз¤єй”™иЇЇ page.preview.style_default=-йў„и®ѕ- +page.preview.survey=交谈前的调查 page.preview.title=зЅ‘з«™ж ·ејЏ page.preview.userchat=еЇ№и°€зЄ—еЏЈ (и®їе®ўжЁЎејЏ) page.translate.descr=如果您不喜欢这个翻译, 请寄给我们更新. page.translate.done=ж‚Ёзљ„зї»иЇ‘е·Із»Џе‚Ёе­. page.translate.one=иѕ“е…Ґж‚Ёзљ„зї»иЇ‘. -page.translate.title=зї»иЇ‘зЅ‘з«™е®ћж—¶йЂљ +page.translate.title=зї»иЇ‘зЅ‘з«™е®ћж—¶и®ЇжЃЇ +page_agent.cannot_modify=您没有权限修改该客服的个人资料. page_agent.clear_avatar=移除个人图片 page_agent.create_new=填写以下数据以便进行新增客服人е‘гЂ‚ page_agent.error.duplicate_login=иЇ·йЂ‰ж‹©е…¶е®ѓз™»е…ҐеђЌз§°пјЊж­¤еђЌз§°е·Із»Џе­ењЁдєЋзі»з»џдё­. -page_agent.error.wrong_login=з™»е…ҐеђЌз§°еЏЄиѓЅеЊ…еђ«и‹±ж–‡гЂЃж•°е­—еЏЉеє•зєї. +page_agent.error.wrong_login=з™»е…ҐеђЌз§°еЏЄиѓЅеЊ…еђ«и‹±ж–‡гЂЃж•°е­—еЏЉдё‹е€’зєї. page_agent.intro=жѕз¤єе®ўжњЌиЇ¦з»†ж•°жЌ®пјЊи‹Ґж‚Ёжњ‰жќѓй™ђе€™еЏЇд»Ґзј–иѕ‘. page_agent.tab.avatar=个人图片 +page_agent.tab.groups=з»„зѕ¤ page_agent.tab.main=еџєжњ¬и®ѕе®љ page_agent.tab.permissions=з®Ўзђ†жќѓй™ђ page_agent.title=е®ўжњЌдєєе‘жЋз»† +page_agents.agent_id=зј–еЏ· page_agents.agent_name=жѕз¤єеђЌз§° page_agents.agents=е®ўжњЌдєєе‘жё…еЌ•: +page_agents.confirm=您确定要删除客服 "{0}" еђ—пјџ page_agents.intro=жѕз¤єз›®е‰Ќзі»з»џе·Іе»єз«‹е®ўжњЌдєєе‘,可在此进行新增、删除与修改。 +page_agents.isaway=离开 +page_agents.isonline=ењЁзєї page_agents.login=з™»е…ҐеђЌз§° -page_agents.new_agent=е»єз«‹ж–°е®ўжњЌ... +page_agents.new_agent=е€›е»єдёЂдёЄж–°е®ўжњЌ +page_agents.status=最后一次登陆 page_agents.title=е®ўжњЌдєєе‘ page_analysis.full.text.search=输入名称或字符串进行搜寻: page_analysis.search.title=еЇ№и°€зєЄеЅ• @@ -279,12 +324,16 @@ page_ban.sent=ењ°еќЂ {0} 已经封锁几天. page_ban.thread=ж‚Ёе·Із»ЏејЂеђЇзЄ—еЏЈ "{0}" дё»йў, ењ°еќЂ е­—ж®µе·Із»Џиѕ“е…Ґ. 选择天数后点选 йЂЃе‡є. page_ban.title=е°Ѓй”ЃIPењ°еќЂ page_bans.add=еўћеЉ IPењ°еќЂ +page_bans.confirm=您确定要从封锁列表里删除地址 {0} еђ—пјџ page_bans.list=е°Ѓй”ЃIP: page_bans.title=е°Ѓй”Ѓ page_bans.to=жњџй™ђ page_client.pending_users=由此开放在线服务,等候访客请求服务。 -page_login.error=输入的账号/еЇ†з ЃдёЌж­ЈзЎ® -page_login.intro=иЇ·иѕ“е…Ґж‚Ёзљ„з”Ёж€·еђЌе’ЊеЇ†з Ѓж‰ЌиѓЅи®їй—®з®Ўзђ†е·Ґе…·пјЊиЇ·еЏ‚й…您的访客和浏览历史。 +page_client.v2chat=打开语音/视频交谈窗口。 +page_group.tab.main=ж™®йЃЌ +page_group.tab.members=ж€ђе‘ +page_login.error=输入的账号/密码不正确,或该账号已过期 +page_login.intro=иЇ·иѕ“е…Ґж‚Ёзљ„з”Ёж€·еђЌе’ЊеЇ†з Ѓж‰ЌиѓЅи®їй—®з®Ўзђ†е·Ґе…·гЂ‚ page_login.login=账号: page_login.password=еЇ†з Ѓ: page_login.remember=и®°дЅЏз™»е…Ґ @@ -293,10 +342,13 @@ page_search.intro=藉由名称或字符串来搜寻对谈纪录。 page_settings.intro=设定基本选项以及开放功能 page_settings.tab.features=еЏЇйЂ‰жњЌеЉЎ page_settings.tab.main=ж™®йЃЌ +page_settings.tab.performance=жЂ§иѓЅ page_settings.tab.themes=дё»йўйў„览 pending.menu.hide=йљђи—ЏиЏњеЌ•>> pending.menu.show=жѕз¤є>> pending.popup_notification=жњ‰ж–°зљ„и®їй—®иЂ… +pending.status.setaway=е°†зЉ¶жЂЃж”№дёє"离开" +pending.status.setonline=е°†зЉ¶жЂЃж”№дёє"ењЁзєї " pending.table.ban=е°Ѓй”Ѓи®їе®ў pending.table.head.contactid=IPењ°еќЂ pending.table.head.etc=йЂ‰йЎ№ @@ -308,8 +360,12 @@ pending.table.head.waittime=з­‰еЂ™ж—¶й—ґ pending.table.speak=з‚№йЂ‰дёЋи®їе®ўеЇ№и°€ pending.table.view=观看对谈 permission.admin=зі»з»џи®ѕе®љгЂЃз®Ўзђ†е®ўжњЌгЂЃдє§з”џиЇ­жі• +permission.basic_text=еџєжњ¬ж–‡жњ¬еЇ№и°€ +permission.modifyprofile=修改个人资料 permission.takeover=жЋҐз®ЎеЇ№и°€ +permission.video_chat=视频对谈(еђ«иЇ­йџі) permission.viewthreads=检视其它客服对谈 +permission.voice_chat=иЇ­йџіеЇ№и°€ permissions.intro=您可以控管客服人е‘зљ„жќѓй™ђ permissions.title=жќѓй™ђ presurvey.department=йЂ‰ж‹©йѓЁй—Ёпјљ @@ -331,6 +387,22 @@ report.byoperator.4=е№іеќ‡и®ЇжЃЇй•їеє¦пј€е­—ж•°пј‰ report.byoperator.title=е®ўжњЌзљ„и®ЇжЃЇ report.no_items=жІЎжњ‰и¶іе¤џзљ„ж•°жЌ® report.total=е…ЁйѓЁпјљ +resetpwd.changed.title=您的密码已更改。 +resetpwd.changed=жЇз”Ёж‚Ёзљ„新密码登陆。 +resetpwd.intro=иЇ·йЂ‰ж‹©дёЂдёЄж‚Ёи¦ЃдЅїз”Ёзљ„еЇ†з ЃгЂ‚ +resetpwd.login=继续登陆 +resetpwd.submit=更改 +resetpwd.title=更改您的密码 +restore.back_to_login=иї”е›ћз™»еЅ• +restore.emailorlogin=账户或电子邮箱: +restore.intro=您不能取回密码,但可以根据发送给您的邮件中的链接设置一个新密码。 +restore.mailsubj=й‡ЌзЅ®ж‚Ёзљ„еЇ†з Ѓ +restore.mailtext=您好,{0}\n\n请点击下面的链接,或将其复制并зІиґґе€°ж‚Ёзљ„浏览器地址栏中:{1} +restore.pwd.message=еїи®°еЇ†з Ѓпјџ +restore.sent.title=еЏ–е›ћеЇ†з Ѓ +restore.sent=我们已经给您发送了一封邮件,请查收。 +restore.submit=й‡ЌзЅ®еЇ†з Ѓ +restore.title=访问您的账户遇到困难? right.administration=з®Ўзђ†е‘ right.main=дё»и¦Ѓ right.other=е…¶е®ѓ @@ -344,22 +416,54 @@ settings.email.description=输入接收系统讯息Email settings.email=Email settings.enableban.description=可用来封锁恶意访客的IPењ°еќЂ settings.enableban=ејЂеђЇ"е°Ѓй”ЃжЃ¶ж„Џи®їе®ў"еЉџиѓЅ +settings.enablegroups.description=дёєдёЌеђЊзљ„й—®йўдЅїз”ЁдёЌеђЊзљ„йџе€— +settings.enablegroups=启用“群组” +settings.enablepresurvey.description=强制用户在交谈前先填写特定的表单 +settings.enablepresurvey=启用“交谈前调查” +settings.enablessl.description=иЇ·зЎ®дїќж‚Ёзљ„WebжњЌеЉЎе™Ёе·Ій…ЌзЅ®дёєж”ЇжЊЃHTTPSиїћжЋҐгЂ‚ +settings.enablessl=允许安全连接 (SSL) +settings.enablestatistics.description=ж·»еЉ з”Ёж€·дЅїз”Ёз»џи®ЎйЎµйќўгЂ‚ +settings.enablestatistics=启用“统计功能” +settings.forcessl.description=еЏЄйЂљиї‡HTTPSиїћжЋҐжѕз¤єеЇ№и°€зЄ—еЏЈгЂ‚ +settings.forcessl=强制所有对话使用安全连接。 +settings.frequencychat.description=指定以秒为单位的刷新间隔,й»и®¤дёє2з§’гЂ‚ +settings.frequencychat=еЇ№и°€зЄ—еЏЈе€·ж–°й—ґйљ” +settings.frequencyoldchat.description=旧版本的浏览器需要刷新整个页面,й»и®¤й—ґйљ”дёє7з§’гЂ‚ +settings.frequencyoldchat=旧版本浏览器的刷新间隔 +settings.frequencyoperator.description=设置客服控制台的刷新间隔,й»и®¤жЇ2з§’гЂ‚ +settings.frequencyoperator=客服控制台的刷新间隔 settings.geolink.description=е°†дјљејЂеђЇж–°зЄ—еЏЈпјЊ{ip}дјљд»Је…ҐIPењ°еќЂ settings.geolink=иїћз»“е€°е¤–йѓЁе®љдЅЌжњЌеЉЎ settings.geolinkparams.description=еЏЇи®ѕе®љйљђи—ЏзЄ—еЏЈе°єеЇёеЏЉе·Ґе…·е€— settings.geolinkparams=е®љдЅЌзЄ—еЏЈйЂ‰йЎ№ settings.host.description=ж‚Ёзљ„е…¬еЏёзЅ‘еќЂ settings.host=й¦–йЎµзЅ‘еќЂ +settings.leavemessage_captcha.description=以抵御自动化蠕虫攻击 +settings.leavemessage_captcha=在访客留言之前要求输入校验码 settings.logo.description=иѕ“е…Ґж‚Ёзљ„е…¬еЏёLOGOзЅ‘еќЂ settings.logo=ж‚Ёзљ„е…¬еЏёLOGO settings.no.title=иЇ·иѕ“е…Ґж‚Ёзљ„е…¬еЏёеђЌз§° +settings.onehostconnections.description=0 表示不限制 +settings.onehostconnections=来自于同一地址的最大访客数 +settings.onlinetimeout.description=и®ѕзЅ®жѕз¤єе®ўжњЌењЁзєїзљ„з§’ж•°пјЊй»и®¤дёє30秒。超时不活动的客服将жѕз¤єдёєвЂњз¦»ејЂвЂќ +settings.onlinetimeout=е®ўжњЌењЁзєїж—¶й—ґйЂеЂј +settings.popup_notification.description=弹出一个小窗口以引起客服注意。 +settings.popup_notification=启用新访客到来弹出窗口提醒 settings.saved=дїќе­дї®ж”№ +settings.sendmessagekey=使用如下键发送消息 +settings.show_online_operators.description=可能会导致列表更新频率降低 +settings.show_online_operators=在“等候的访客列表”页面жѕз¤єењЁзєїзљ„е®ўжњЌ +settings.survey.askgroup.description=在调查窗口中жѕз¤є/隐藏“部门/群组”选择项 +settings.survey.askgroup=е…Ѓи®ёи®їе®ўйЂ‰ж‹©йѓЁй—Ё/зѕ¤з»„ +settings.survey.askmail.description=在调查窗口中жѕз¤є/隐藏电子邮件域 +settings.survey.askmail=询问访客的邮件地址 settings.title=еџєжњ¬и®ѕе®љ settings.usercanchangename.description=е…ій—­еђЌз§°зј–иѕ‘еЉџиѓЅ settings.usercanchangename=允许使用者更改名称 settings.usernamepattern.description=и®ѕе®љ{name},{id}ж€–{addr}来жѕз¤єи®їе®ўзљ„еђЌз§°пјЊйў„и®ѕпјљ{name} settings.usernamepattern=и®їе®ўжѕз¤єеђЌз§° settings.wrong.email=иѕ“е…ҐйЂ‚еЅ“зљ„Email +settings.wrong.onehostconnections=“最大连接数”字段应该填入数字 site.title=mibew.org site.url=http://mibew.org statistics.dates=йЂ‰ж‹©ж—Ґжњџ @@ -376,11 +480,32 @@ tag.pagination.previous=дёЉдёЂдёЄ thread.back_to_search=жђњзґў thread.chat_log=еЇ№иЇќи®°еЅ• thread.intro=жѕз¤єеЇ№иЇќйЎµйќў +time.dateformat=%Y-%m-%d, time.locale=zh_CN +time.never=д»ЋдёЌ time.timeformat=%H:%M +time.today.at=今天 +time.yesterday.at=жЁе¤© topMenu.admin=з®Ўзђ†е‘ topMenu.logoff=离开 topMenu.main=й¦–йЎµ topMenu.users.nomenu=е…ій—­иЏњеЌ• topMenu.users=е®ўжњЌењЁзєї +topMenu.v2chat=иЇ­йџі/视频 +translate.direction=ж–№еђ‘ +translate.show.all=所有字符串 +translate.show.foradmin=з®Ўзђ†е‘可见的字符串 +translate.show.foroperator=客服可见的字符串 +translate.show.forvisitor=访客可见的字符串 +translate.show=жѕз¤єпјљ +translate.sort.key=й”® +translate.sort.lang=жєђиЇ­иЁЂ +translate.sort=жЋ’еєЏпјљ typing.remote=дЅїз”ЁиЂ…ж­ЈењЁиѕ“е…Ґ... +updates.current=ж‚Ёж­ЈењЁдЅїз”Ёпјљ +updates.env=зЋЇеўѓпјљ +updates.installed_locales=已安装的语言: +updates.intro=软件更新。 +updates.latest=最新版本: +updates.news=ж–°й—»пјљ +updates.title=更新 From 108c2f7d5c5f6c800b6d02b2eabde43cce18044b Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 01:20:24 +0200 Subject: [PATCH 30/40] update Hungarian (by Istvan Somlai) --- src/messenger/webim/locales/hu/properties | 184 ++++++++++++++++------ 1 file changed, 133 insertions(+), 51 deletions(-) diff --git a/src/messenger/webim/locales/hu/properties b/src/messenger/webim/locales/hu/properties index c40c235d..389d7431 100644 --- a/src/messenger/webim/locales/hu/properties +++ b/src/messenger/webim/locales/hu/properties @@ -3,18 +3,20 @@ output_charset=utf-8 output_encoding=utf-8 admin.content.client_agents=CГ©ges operГЎtor lГ©trehozГЎsa, tГ¶rlГ©se. Jogok kezelГ©se. admin.content.client_gen_button=Gomb HTML kГіd lГ©trehozГЎsa. -admin.content.client_settings=OpciГіk megadГЎsa amik az ГјzenetkГјldЕ‘ ablakot Г©s a rendszerbeГЎllГ­tГЎsokat mГіdosГ­tjГЎk. +admin.content.client_settings=OpciГіk megadГЎsa, amik az ГјzenetkГјldЕ‘ ablakot Г©s a rendszerbeГЎllГ­tГЎsokat mГіdosГ­tjГЎk. admin.content.description=Az oldal operГЎtorai ГЎltal elГ©rhetЕ‘ funkciГіk. -agent.not_logged_in=A munkamenet lejГЎrt, jelentkezz be Гєjra +agent.not_logged_in=A munkamenet lejГЎrt, jelentkezzen be Гєjra app.descr=A Mibew ГјzenetkГјldЕ‘ egy nyГ­lt forrГЎskГіdГє ГјgyfГ©lszolgГЎlati alkalmazГЎs. app.title=Mibew ГјzenetkГјldЕ‘ ban.error.duplicate=A megadott cГ­m mГЎr hasznГЎlatban van, kattintson ide ha szerkeszteni akarja. button.delete=TГ¶rlГ©s button.enter=Bevitel button.offline.bottom=Hagyjon Гјzenetet -button.offline.top=Site-TanГЎcsadГі +button.offline.top=Oldal tanГЎcsadГі +button.offline=OFFLINE button.online.bottom=Tegye fel kГ©rdГ©sГ©t -button.online.top=Site-TanГЎcsadГі +button.online.top=Oldal tanГЎcsadГі +button.online=ONLINE button.save=MentГ©s button.search=KeresГ©s canned.actions.del=eltГЎvolГ­tГЎs @@ -36,7 +38,7 @@ char.redirect.operator.away_suff=(nincs a gГ©pnГ©l) char.redirect.operator.online_suff=(elГ©rhetЕ‘) chat.came.from=Az ГјgyfГ©l a {0} oldalrГіl jГ¶tt chat.client.changename=NГ©v mГіdosГ­tГЎsa -chat.client.name=Г–n +chat.client.name=Az Г–n azonosГ­tГіja: chat.client.spam.prefix=[spam]  chat.client.visited.page=Az ГјgyfГ©l megnyitotta a {0} oldalt chat.default.username=LГЎtogatГі @@ -50,21 +52,21 @@ chat.mailthread.sent.title=ElkГјldve chat.predefined_answers=ГњdvГ¶zlГ¶m, segГ­thetГјnk?\nГњdvГ¶zlГ¶m az ГјgyfГ©lszolgГЎlaton! Miben segГ­thetГјnk? chat.redirect.back=Vissza... chat.redirect.cannot=Nem beszГ©lget ГјgyfГ©llel. -chat.redirect.choose=VГЎlassz: +chat.redirect.choose=VГЎlasszon: chat.redirect.group=Csoport: chat.redirect.operator=OperГЎtor: chat.redirect.title=ГЃtirГЎnyГ­tГЎs
                  másik operátorhoz chat.redirected.close=Bezárás... chat.redirected.closewindow=Kattintson az ablak bezárásához -chat.redirected.content=Az ügyfél elsőbbséget élvez a(z) {0} operátornál. +chat.redirected.content=Az ügyfél elsőbbséget élvez {0} operátornál. chat.redirected.group.content=Az ügyfél elsőbbséget élvez a(z) {0} csoportnál. chat.redirected.title=Az ügyfél át lett irányítva másik operátorhoz chat.status.operator.changed=A(z) {0} operátor átváltott a(z) {1} operátorra chat.status.operator.dead=Az operátornál probléma van a kapcsolatban, ideiglenesen átváltottunk háttérben küldésre. Elnézését kérjük. -chat.status.operator.joined=Az operátor {0} csatlakozott a beszélgetéshez -chat.status.operator.left=Az operátor {0} elhagyta a beszélgetést -chat.status.operator.redirect=A(z) {0} operátor átirányította egy másik operátorhoz, kérem várjon -chat.status.operator.returned=Az operátor {0} visszajött +chat.status.operator.joined={0} operátor csatlakozott a beszélgetéshez +chat.status.operator.left={0} operátor elhagyta a beszélgetést +chat.status.operator.redirect={0} operátor átirányította egy másik operátorhoz, kérem várjon +chat.status.operator.returned={0} operátor visszajött chat.status.user.changedname=Az ügyfél megváltoztatta a nevét {0} -ról {1} -ra chat.status.user.dead=Az ügyfél bezárta az üzenet ablakot chat.status.user.left=Az ügyfél {0} kilépett a beszélgetésből @@ -77,27 +79,27 @@ chat.thread.state_wait_for_another_agent=Várakozás az operátorra chat.visitor.email=E-mail: {0} chat.visitor.info=Információ: {0} chat.wait=Köszönjük, hogy megkeresett bennünket! Kollégánk nemsokára felveszi önnel a kapcsolatot... -chat.window.chatting_with=Ön beszélget: +chat.window.chatting_with=Ügyfél neve: chat.window.close_title=Beszélgetés bezárása chat.window.poweredby=Powered by: chat.window.poweredreftext=mibew.org chat.window.predefined.select_answer=Válasz kiválasztása... chat.window.product_name=Mibew Messenger chat.window.send_message=Üzenet küldése -chat.window.send_message_short=Elküldve {{0}} +chat.window.send_message_short=Elküld {{0}} chat.window.title.agent=Mibew üzenetküldő chat.window.title.user=Mibew üzenetküldő chat.window.toolbar.mail_history=A beszélgetés elküldése e-mailben chat.window.toolbar.redirect_user=Az ügyfél átirányítása másik operátorhoz chat.window.toolbar.refresh=Frissítés -clients.how_to=Hogy válaszoljon az ügyfélnek kattintson a nevére a listában. +clients.how_to=Hogy válaszoljon az ügyfélnek, kattintson a nevére a listában. clients.intro=Ez az oldal a várakozó ügyfelek listáját mutatja. clients.no_clients=Nincs várakozó ügyfél clients.queue.chat=Ügyfelek beszélgetésben clients.queue.prio=Elsőbbségben lévő ügyfelek listája clients.queue.wait=Először várakoznak operátorra clients.title=Várakozó ügyfelek listája -common.asterisk_explanation=* - kötelező mezők +common.asterisk_explanation=* - kötelező mező company.title=Mibew Messenger Community confirm.take.head=Operátor váltása confirm.take.message=Az ügyfélnek{0}már segít {1}.
                  Biztos vagy benne, hogy beszГ©lni akarsz az ГјgyfГ©llel? @@ -117,9 +119,9 @@ errors.footer=
                errors.header=Javítsa ki a következő hibát (hibákat):
                  errors.invalid.file.type=Г‰rvГ©nytelen fГЎjltГ­pus errors.prefix=
                • -errors.required=KГ©rem tГ¶ltse ki "{0}". +errors.required="{0}" nincs kitГ¶ltve. errors.suffix=
                • -errors.wrong_field=KГ©rem tГ¶ltse ki "{0}" pontosan. +errors.wrong_field="{0}" nincs pontosan kitГ¶ltve. features.saved=Bekapcsolt szolgГЎltatГЎsok form.field.address.description=PГ©ldГЎul: 12.23.45.123 vagy proba.com form.field.address=LГЎtogatГіk cГ­mei @@ -129,7 +131,7 @@ form.field.agent_name.description=Ezt a nevet fogjГЎk lГЎtni az Гјgyfelek. form.field.agent_name=NГ©v form.field.avatar.current.description=ProfilkГ©pe. form.field.avatar.current=Jelenlegi profilkГ©p -form.field.avatar.upload.description=VГЎlassza ki a profilkГ©pet.
                  A kép mérete nem haladhatja meg a 100x100 pixelt. +form.field.avatar.upload.description=Válassza ki a profilképet. A kép mérete nem lehet nagyobb, mint 100x100 pixel. form.field.avatar.upload=Profilkép feltöltése form.field.ban_comment.description=Tiltás oka form.field.ban_comment=Kommentek @@ -142,17 +144,19 @@ form.field.groupcommonname.description=Név magyarul. form.field.groupcommonname=Nemzetközi név form.field.groupdesc.description=A csoport leírása. form.field.groupdesc=Leírás +form.field.groupemail.description=A Csoport e-mail címe az értesítéseknek. Maradjon üresen az alapértelmezett e-mail használatához. form.field.groupname.description=Név a csoport azonosításához. form.field.groupname=Név -form.field.login.description=A Login név tartalmazhat kis latin betűket és aláhúzást. -form.field.login=Belépés +form.field.login.description=A név csak kis latin betűket és aláhúzást tartalmazhat. +form.field.login=Felhasználónév +form.field.mail.description=Értesítések és jelszó visszaállítás céljára. form.field.mail=E-mail form.field.message=Üzenet form.field.name=Név -form.field.password.description=Írjon be új jelszót vagy hagyja üresen a mezőt a jelenlegi megtartásához. +form.field.password.description=Írjon be új jelszót, vagy hagyja üresen a jelenlegi megtartásához. form.field.password=Jelszó form.field.password_confirm.description=Az új jelszó még egyszer. -form.field.password_confirm=Újra +form.field.password_confirm=Jelszó újra form.field.translation=Fordítás harderrors.header=Nem futtatható:
                    image.button.login=/locales/hu/images/login.gif @@ -161,27 +165,36 @@ image.button.search=/locales/hu/images/search.gif image.chat.history=/locales/hu/images/history.gif image.chat.message=/locales/hu/images/message.gif image.chat.sprite=/locales/hu/images/wmchat.png +install.0.app=Az alkalmazás útvonala {0} +install.0.package=A Mibew telepítőcsomag érvényes. install.0.php=PHP verzió {0} -install.1.connected=Kapcsolódott a MySQL szerverhez {0} +install.1.connected=Kapcsolódott a MySQL szerverhez, verzó {0} install.2.create="{0}" adatbázis létrehozása install.2.db_exists="{0}" adatbázis létrehozva. -install.2.notice=Az adatbázis nem találom a szerveren. Ha van jogosultsága hozza létre most, kattintson a következő linkre. +install.2.notice=Az adatbázis nem található a szerveren. Ha van jogosultsága most létrehozni, kattintson a következő linkre. install.3.create=A szükséges táblák létrehozása. install.3.tables_exist=A szükséges táblák létrehozva. install.4.create=Táblák frissitése install.4.done=A táblák szerkezete megfelelő. install.4.notice=A táblák struktúráját változtatni kell az üzenetküldő új verziójához. install.5.newmessage=Új Üzenet -install.connection.error=Nem tudok csatlakozni, kérem ellenőrizze a szerver beállításait a config.php -ban. Hiba: {0} +install.5.newvisitor=Új Ügyfél +install.5.text=Ellenőrizze a hangokat: {0} és {1} +install.bad_checksum=Az ellenőrzés különbözik {0} +install.cannot_read=Nem olvasható a {0} fájl +install.check_files=Kérem, újra töltse fel a fájlokat a szerverre. +install.check_permissions=Nem megfelelő fájl jogosultságok {0} +install.connection.error=Nem lehet csatlakozni, kérem ellenőrizze a szerver beállításait a config.php -ban. Hiba: {0} install.done=Kész: install.err.back=Javítsa ki a hibát és próbálja újra. Nyomja meg a vissza gombot, hogy visszatérjen a varázslóhoz. install.err.title=Hiba install.kill_tables.notice=Lehetetlen frissíteni a táblákat. Próbálja meg kézzel vagy hozza létre újra az összes táblát (figyelem: az összes adata törlődik). install.kill_tables=Meglévő táblák törlése az adatbázisból install.license=Szoftver licenc szerződés -install.message=Kövesse az varászlót az adatbázis beállításához. +install.message=Kövesse az varázslót az adatbázis beállításához. +install.newfeatures=Gratulálunk! A Mibew Messenger {1} sikeresen fel lett telepítve. A részleteket beállíthatja a Kiegészítő szolgáltatások oldalon. install.next=Következő lépés: -install.no_file=A file hiányzik: {0} +install.no_file=A fájl: {0} hiányzik install.title=Installálás install.updatedb=Futtassa a Frissítés varázslót az adatbázis beállításához. installed.login_link=Tovább a bejelentkező oldalra @@ -211,12 +224,13 @@ mailthread.title=A beszélgetés elküldése
                    e-mailben menu.agents=OperГЎtorok listГЎja menu.blocked=Tiltott lГЎtogatГіk menu.canned=TГЎrolt Гјzenetek -menu.groups.content=OsztГЎly vagy kГ©szsГ©g alapГє operГЎtor csoportok. +menu.goonline=Most Г–n nem elГ©rhetЕ‘.
                    Kapcsolódjon.. +menu.groups.content=Operátor csoportok részleg vagy szakértelem szerint. menu.groups=Csoportok menu.locale.content=Nyelv beállítása. menu.locale=Nyelv menu.main=Menü -menu.operator=Ön {0} +menu.operator=Az Ön azonosítója -> {0} menu.profile.content=A személyes információkat tudja megváltoztatni ezen az oldalon. menu.profile=Profil menu.translate=Lokalizáció @@ -229,23 +243,26 @@ operator.groups.intro=Válassza ki a csoportokat az operátorok képességeinek operator.groups.title=Operátor csoportok page.analysis.search.head_browser=Böngésző page.analysis.search.head_group=Csoport -page.analysis.search.head_host=Ügyfelek címei -page.analysis.search.head_messages=Ügyfelek üzenetei +page.analysis.search.head_host=Ügyfél címe +page.analysis.search.head_messages=Ügyfél üzenetei page.analysis.search.head_name=Név page.analysis.search.head_operator=Operátor page.analysis.search.head_time=Idő page.analysis.userhistory.intro=Itt találja az ügyfelekkel folytatott beszélgetéseket. page.analysis.userhistory.title=Előzmények page.chat.old_browser.close=Bezárás... -page.chat.old_browser.list=
                    • Internet Explorer 5.5+
                    • Firefox 1.0+
                    • Opera 8.0+
                    • Mozilla 1.4+
                    • Netscape 7.1+
                    • Safari 1.2+

                    További támogatott böngészők:

                    • Internet Explorer 5.0
                    • Opera 7.0
                    -page.chat.old_browser.problem=

                    A böngészőjét nem teljesen támogatja a Mibew Messenger. \nKérem, használja a következő böngészők egyikét:

                    +page.chat.old_browser.list=
                    • Internet Explorer 5.5+
                    • Firefox 1.0+
                    • Opera 8.0+
                    • Mozilla 1.4+
                    • Netscape 7.1+
                    • Safari 1.2+

                    További támogatott régebbi böngészők:

                    • Internet Explorer 5.0
                    • Opera 7.0
                    +page.chat.old_browser.problem=

                    A böngészőjét nem teljesen támogatja a Mibew Messenger. \nKérem, használja a következő böngészők egyikét: \n

                    page.chat.old_browser.title=Kérem frissítse a böngészőjét +page.gen_button.choose_group=Csoport kiválasztása page.gen_button.choose_image=Kép kiválasztása -page.gen_button.code.description=Figyelem! Kérem ne változtassa meg
                    a kГіdot kГ©zzel,
                    mert nem tudjuk garantГЎlni,
                    hogy működni fog! +page.gen_button.choose_locale=Nyelv kiválasztása +page.gen_button.choose_style=Üzenetküldő ablak stílusa +page.gen_button.code.description=Figyelem! Ne változtassa
                    meg a kГіdot, mert
                    nem tudjuk garantГЎlni,
                    hogy működni fog! page.gen_button.code=HTML kód page.gen_button.default_group=-összes operátor- -page.gen_button.include_site_name=Tartalmazza a kiszolgáló nevét a kód -page.gen_button.intro=Itt tudja létrehozni a HTML kódot amit a weboldalába kell illeszteni. +page.gen_button.include_site_name=Tartalmazza-e a kiszolgáló nevét a kód +page.gen_button.intro=Itt tudja létrehozni azt a HTML kódot, amit a weboldalába kell illeszteni. page.gen_button.modsecurity=Kompatibilitás a mod_security -vel (modsecurity.org), csak akkor kapcsolja be, ha problémát okoz page.gen_button.sample=Példa page.gen_button.secure_links=Biztonságos kapcsolat használata (https) @@ -264,13 +281,25 @@ page.groups.isaway=Nincs a gépnél page.groups.isonline=Elérhető page.groups.new=Új csoport létrehozása... page.groups.title=Csoportok +page.preview.agentchat=Beszélgetés ablak (operátornak) +page.preview.agentrochat=Beszélgetés ablak (operátornak csak olvasható módban) +page.preview.chatsimple=Egyszerű beszélgetés ablak, Elküld gombbal (IE 5, Opera 7) page.preview.choose=Stílus kiválasztása page.preview.choosetpl=Sablon kiválasztása -page.preview.error=Hibaablak -page.preview.leavemessage=Üzenet ablak bezárása +page.preview.error=Hiba ablak +page.preview.intro=Itt láthatóak részletesen azok a témák, amik telepítve vannak. +page.preview.leavemessage=Hagyjon üzenetet ablak +page.preview.leavemessagesent="Az üzenet elküldve" ablak +page.preview.mail=Beszélgetés elküldése ablak +page.preview.mailsent="E-mail elküldve" ablak +page.preview.nochat=A támogatott böngészők listája +page.preview.redirect=Átirányítás másik operátorhoz ablak page.preview.redirected="Az ügyfél átirányítva" ablak page.preview.showerr=Hibák mutatása +page.preview.style_default=-általános beállítás- +page.preview.survey=Beszélgetés előtti felmérés page.preview.title=Oldal stílusa +page.preview.userchat=Beszélgetés ablak (ügyfélnek) page.translate.descr=Ha nem tetszik a jelenlegi fordítás, kérem küldjön frissítést. page.translate.done=Fordítás elmentve. page.translate.one=Írja be a fordítást. @@ -280,7 +309,7 @@ page_agent.clear_avatar=Profilkép eltávolítása page_agent.create_new=Itt tud új operátort létrehozni. page_agent.error.duplicate_login=Kérem válasszon másik nevet, ilyen nevű operátor már regisztrálva van. page_agent.error.wrong_login=A név csak karaktereket, számokat és aláhúzást tartalmazhat. -page_agent.intro=Az operátorok beállításának szerkesztése. +page_agent.intro=Az operátor beállításainak szerkesztése. page_agent.tab.avatar=Fotó page_agent.tab.groups=Csoportok page_agent.tab.main=Általános @@ -288,6 +317,8 @@ page_agent.tab.permissions=Jogok page_agent.title=Operátor tulajdonságai page_agents.agent_name=Név page_agents.agents=Operátorok teljes listája: +page_agents.confirm=Biztos benne, hogy törölni akarja "{0}" operátort? +page_agents.intro=Ez az oldal az operátorok teljes listáját mutatja. page_agents.isaway=Nincs a gép előtt page_agents.isonline=Elérhető page_agents.login=Bejelentkezve @@ -311,12 +342,13 @@ page_client.pending_users=Itt találja a várakozó ügyfeleket. page_group.tab.main=Általános page_group.tab.members=Tagok page_login.error=A felhasználónév vagy a jelszó hibás -page_login.intro=Kérem adja meg a felhasználónevét és jelszavát az adminisztrációs eszközök eléréséhez - itt láthatja az ügyfeleket és a beszélgetések előzményeit. +page_login.intro=Kérem adja meg a nevét és jelszavát az adminisztrációs eszközök eléréséhez, az ügyfelek és az előzmények megtekintéséhez. page_login.login=Felhasználónév: page_login.password=Jelszó: page_login.remember=Megjegyzés page_login.title=Bejelentkezés page_search.intro=Keresés az előzményekben egy ügyfélre vagy az üzenet egy részére. +page_settings.intro=Részletes lehetőségek, amik csevegés-ablakra és a rendszer viselkedésére vonatkoznak. page_settings.tab.features=Kiegészítő szolgáltatások page_settings.tab.main=Általános page_settings.tab.performance=Teljesítmény @@ -334,7 +366,7 @@ pending.table.head.operator=Operátor pending.table.head.state=Státusz pending.table.head.total=Összes idő pending.table.head.waittime=Várakozási idő -pending.table.speak=Kattintson ha beszélni szeretne az ügyféllel +pending.table.speak=Kattintson, ha beszélni szeretne az ügyféllel pending.table.view=Beszélgetés figyelése permission.admin=Rendszer adminisztráció: beállítások, operátorok kezelése, gomb létrehozása permission.modifyprofile=Profil módosításának engedélyezése @@ -342,8 +374,8 @@ permission.takeover=A beszélgetés átvétele permission.viewthreads=Másik operátor beszélgetéseinek megnézése permissions.intro=Az operátor jogainak megváltoztatása. permissions.title=Jogok -presurvey.department=Osztály választása: -presurvey.intro=Köszönjük, hogy megkeresett bennünket! A megfelelő tájékoztatás érdekében kérem töltse ki az adatokat, és kattintson a Beszélgetés indítása gombra. +presurvey.department=Részleg választása: +presurvey.intro=Köszönjük, hogy megkeresett bennünket! A megfelelő tájékoztatás érdekében kérjük töltse ki az adatokat, és kattintson a Beszélgetés indítása gombra. presurvey.mail=E-mail: presurvey.name=Név: presurvey.question=Indító kérdés: @@ -353,7 +385,7 @@ report.bydate.1=Dátum report.bydate.2=Beszélgetések report.bydate.3=Üzenetek az operátoroktól report.bydate.4=Üzenetek a látogatóktól -report.bydate.title=Használati statisztika minden napra +report.bydate.title=Statisztikai adatok minden napról report.byoperator.1=Operátor report.byoperator.2=Beszélgetések report.byoperator.3=Üzenetek @@ -361,39 +393,89 @@ report.byoperator.4=Átlagos üzenetek hossza (karakter) report.byoperator.title=Operátorok szálai report.no_items=Nincs elég adat report.total=Összesen: +resetpwd.changed.title=A jelszava megváltozott! +resetpwd.changed=Jelentkezzen be az új jelszóval. +resetpwd.intro=Válasszon egy jelszót a Mibew felhasználói fiókjához. +resetpwd.login=Tovább a bejelentkezéshez +resetpwd.submit=Változtat +resetpwd.title=Megváltoztatja a Mibew jelszavát +restore.back_to_login=Vissza a bejelentkezéshez +restore.emailorlogin=Felhasználónév vagy E-mail: +restore.intro=Nem tudjuk elküldeni a jelszavát, de beállíthat egy újat, ha követi az e-mailben elküldött hivatkozást. +restore.mailsubj=Állítsa be újra a Mibew jelszavát +restore.mailtext=Üdv {0}!\n\nKérjük kattintson az alábbi linkre vagy másolja be az URL-t a böngészőjébe:\n{1} \n\nEz lehetővé teszi, hogy új jelszót válasszon.\n\nMibew Messenger. +restore.pwd.message=Elfelejtette a jelszavát? +restore.sent.title=Jelszó visszaállítása +restore.sent=Elküldtük a tájékoztatást az e-mail címére. Kérjük ellenőrizze! +restore.submit=Jelszó beállítása +restore.title=Baj van a Bejelentkezéssel? right.administration=Adminisztráció right.main=Menü right.other=Egyéb settings.chat.title.description=Például a cég neve. settings.chat.title=A beszélgetés ablak címsora +settings.chatstyle.description=Az összes oldal különböző stílusú előnézetei megnézhetők itt +settings.chatstyle=Üzenetküldő ablak stílusa +settings.company.title.description=Írja be a cégének a nevét +settings.company.title=A cég elnevezése settings.email.description=Adja meg az e-mail címét, hogy megkapja a rendszerüzeneteket settings.email=E-mail -settings.enableban.description=Ezt a modult használva tud megadott IP címeket blokkolni +settings.enableban.description=Ezt a modult használva megadott IP címeket tud blokkolni settings.enableban=Engedélyezze a "Veszélyes látogatók" modult +settings.enablegroups.description=Arra való, hogy különböző kérdésekre legyenek elkülönített válaszok. settings.enablegroups="Csoportok" engedélyezése -settings.enablessl.description=Kérem vegye figyelembe, hogy a kiszolgálónak támogatnia kell a https kapcsolatokat. +settings.enablepresurvey.description=Az ügyfélnek meg kell adnia bizonyos adatokat a beszélgetés előtt. +settings.enablepresurvey="Beszélgetés előtti felmérés" engedélyezése +settings.enablessl.description=Vegye figyelembe, hogy ehhez a kiszolgálónak támogatnia kell a https kapcsolatokat. settings.enablessl=Biztonságos (SSL) kapcsolat szerkesztése +settings.enablestatistics.description=Az üzenetek használatáról szóló oldalakat készít. settings.enablestatistics="Statisztika" engedélyezése settings.forcessl.description=Csak a https kapcsolaton keresztül érkezett beszélgetések mutassa settings.forcessl=Biztonságos kapcsolat kényszerítése minden beszélgetéshez +settings.frequencychat.description=Adja meg a frissítési időt másodpercben. Az alapérték 2 mp. settings.frequencychat=Beszélgetés frissítése -settings.frequencyoldchat.description=A régebbi böngészőknél szükséges az egész oldalt újratölteni, hogy megkapják az üzeneteket. Az alapérték 7 másodperc. +settings.frequencyoldchat.description=Régebbi böngészőknél az egész oldalt kell újratölteni, hogy megkapják az üzeneteket. Az alapérték 7 mp. settings.frequencyoldchat=Oldal frissítési ideje a régi böngészőknél -settings.frequencyoperator.description=Adja meg a frissítési időt másodpercben. Az alapértelmezett 2 másodperc. +settings.frequencyoperator.description=Adja meg a frissítési időt másodpercben. Az alapérték 2 mp. settings.frequencyoperator=Az operátor konzolok frissítési ideje -settings.host=A weboldal címe +settings.geolink.description=Minden IP egy link megnyitása lesz egy új ablakban. Az {ip} helyére valódi ip kerül. +settings.geolink=Külső geolocation service-re mutató hivatkozás +settings.geolinkparams.description=Az ablak mérete és az eszköztárak elrejtése +settings.geolinkparams=Geolocation ablak beállításai +settings.host.description=Ahová a cég nevének és a logójának a linkje mutat +settings.host=Az Ön weboldalának címe +settings.leavemessage_captcha.description=Védelem az automatikusan küldött spam ellen (captcha) +settings.leavemessage_captcha=Az ügyfeleknek kötelező beírni ellenőrző kódot, amikor üzenetet hagynak settings.logo.description=Kérem adja meg a cég logójának http címét settings.logo=A cég logója settings.no.title=Kérem adja meg a cég nevét +settings.onehostconnections.description=0 nem engedélyez egy kapcsolatot sem +settings.onehostconnections=Szálak maximális száma egy címről +settings.onlinetimeout.description=Állítsa be hány mp-ig legyen az operátor online. Az alapértelmezés 30 mp. +settings.onlinetimeout=Az operátor mennyi ideig legyen online +settings.popup_notification.description=Egy kis ablak megjelenik, hogy felhívja a figyelmet. +settings.popup_notification=Engedélyezze az "Új ügyfél várakozik a válaszra" felugró ablakot. settings.saved=A változtatások elmentve +settings.sendmessagekey=Az üzenet elküldése: +settings.show_online_operators.description=Ez lelassíthatja a lista automatikus frissítését +settings.show_online_operators=Mutassa az elérhető operátorokat a "Várakozó ügyfelek listája" oldalon +settings.survey.askgroup.description=Mutatja vagy elrejti a részleg választás mezőt +settings.survey.askgroup=Részleg/csoport választás engedélyezése +settings.survey.askmail.description=Mutassa vagy rejtse el ezt a mezőt +settings.survey.askmail=Az ügyfél e-mail címe +settings.survey.askmessage.description=Mutassa vagy rejtse el az Indító kérdés mezőt +settings.survey.askmessage=Mutassa az Indító kérdés mezőt settings.title=Az üzenetküldő beállításai +settings.usercanchangename.description=Ha üresen marad, akkor elrejti a szerkesztő gombot a beszélgető ablakban settings.usercanchangename=Engedélyezi az ügyfeleknek a névváltoztatást +settings.usernamepattern.description=Az ügyfelek azonosítóját meghatározó string {name}, {id} vagy {addr}. Az alapértelmezett: {name} settings.usernamepattern=Ügyfelek azonosítója settings.wrong.email=Adja meg az E-mail címet +settings.wrong.onehostconnections=a "Szálak maximális száma" mezőben csak szám lehet site.title=mibew.org site.url=http://mibew.org statistics.dates=Dátumok kiválasztása -statistics.description=Erről az oldalról különböző használati statisztikákat lehet készíteni. +statistics.description=Erről az oldalról különböző statisztikákat lehet készíteni a használatról. statistics.from=Ettől: statistics.till=Eddig: statistics.title=Statisztika @@ -405,7 +487,7 @@ tag.pagination.no_items=Találtam 0 elemet tag.pagination.previous=előző thread.back_to_search=Kereséshez thread.chat_log=Beszélgetés naplója -thread.intro=Ez az oldal mutatja a beszélgetés részleteit és a tartalmát. +thread.intro=Ez az oldal a beszélgetés részleteit és a tartalmát mutatja. time.dateformat=%Y-%B-%d time.locale=hu_HU time.never=Soha From 567f61d7cad9339cefef3fcab4f0a35f979d39f9 Mon Sep 17 00:00:00 2001 From: Evgeny Gryaznov Date: Sun, 18 Sep 2011 01:38:54 +0200 Subject: [PATCH 31/40] update Persian (by Amir Khani) --- .../webim/locales/fa/images/login.gif | Bin 2472 -> 1751 bytes .../webim/locales/fa/images/save.gif | Bin 2506 -> 2492 bytes .../webim/locales/fa/images/search.gif | Bin 2523 -> 2470 bytes src/messenger/webim/locales/fa/properties | 27 +++++++++++++----- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/messenger/webim/locales/fa/images/login.gif b/src/messenger/webim/locales/fa/images/login.gif index 2c7a7da62d671123b490077f92291d79463095d3..51a02f89cbde4fd2da27862497a1a21bb05df5d4 100644 GIT binary patch delta 1002 zcmVtddqQ#37Giuxj@!}&SAdxu2$g!kJjTS?yTxs#7 z%a;`Ut(?iSAIzIDQ>u)$&X6=c*Z>WxX%nZ>js2pi#NdvNjW-_5nH%GQhYFQbE@~x- ze{ieUuVBN99a}LZoE$iwMP2nH85T8d8y!j$k}O4SAl>R ziAMO_&3m_-NWp;p`f`Zx>#nquD@TGZe?Fc60j8VRIi5a7kbby4KuiC5NnNR(BeRy1)_jv^O`vV#x1 z#TU&s{?HK(As-MELkO67@K|2n83bN{GY!}eJ@goOAV?J@k%WpWiDSkK2#|09e;B*f z5yvIFnL-CEXULKY2oQ_`NO%8zM{b;$k0H^9DIxutB6r3<;1kphDWUvZT90tn%UAc z$OH+Lasdoq>~?@HZr~w-C2rVqKq#<8FoGwYJX=sw(N3E$NY&2f#J*ZZf3a;v*tVG$ zE&-6^%q|`{dKv|zM1VpEllVsw6j4ASg%lW5n=!uyTgI`#`fA*9$sqGJOCAZ#F^mn4 z_P_uZ5QqW}4j5Pr8x&JWF$EMF|4cH_(E=T^UO@YNa?(OiOLWFi96i$mEfml|4L4+9 z&KEy0f(0WpZ~}t~F5r-Ze{o5QxbYNITycfZKLaiI$ps6nlGL-p(Tlek1$=V?8+<@D z#uy!V0L?ou$Pq+q_7c<&B8W)g_S=%P?ep3|#~t;oe8qA~3(VLczzLqHbAt^xuu+2| z0tgWgUz4SMFIlwLZo5{JnDsy&LqL*3009Uf{OBntkWNTtjCIuVRNo!lN-lY{pv)d- zn4!rzK+K|26m~K1y+9Q?veF>JJg~q5Ec{WzO3BOq{rlf(sx$ob$0UEI?$@us;}%Jw Y(iL3Up8&f8mH`^@fCx;WLjnQ-JFL355&!@I delta 1729 zcmV;y20r=M4X6_gM@dFFIbm)9BLMgRu?+qKe*gdgA^8LW00930EC2ui0B!&y000R8 z0RIUbNU)&6g9sBUT*$DY!-oUOSn0w=j2JFmtdN1ov7^V22(5$>RLIehdqtQ$@**gV z6_7Av$|Sg@O`#_Ea@N~f&tA_ZUfOJ#NwjFgEbW%$#5Zpq&z<(7+9R?ii_xoC|7oEz ze_$!TYl8q`(<9B$x>&XB$7U|i}W zDsITHvE!~e(;RA)?1vgGl~?(Fh9d_Y!(|+c9!C>oFt0rCKo@>`R`&0|JBNGKM zxP36d@})vI96_upsZvFWapT36>{G6Mf8V}*&zXgwoO4J*_Z)Qk*Z;|dSFe-I!8DH5PTNE`+jK!_a@=*Yk(#^@jd5Vsuvr_XUq zE=S#x6=oQoTHft6PZ9kzmFRqmvUp;nD<;9Bq|91M&$IM6i|JB*cz{U=F%a_sA<@v` z&osF#dNf2yLgMkJxE zr3TZpgr!V8+n87Q05S#yAfzJ88LZG@ijJ4WQHPFT96$mBFPI_Dk;^@&53WxB*-um! zez#$H`eup`iuf>k9+xT#+;hUv2K}tF3N!KWQuC-{4gny%$zwJj`|}D6BkQmS3%0Ur ztCLV-H!qb@^&>W+^@uI@e|i0^XLdg-f@v_b&=O1!6Ldej#NBu=!Nd_q9RIzP9_FCZ zw9`AH0WvQm&tb*_3!=Oyh1vDvos_{g6)ZlN1B-TRY@^uuz;6eAH?()tt@jaoqs}+# zM)QMoJ;!(uK?sEFD6T&~s38ghb1bt!yAVof7>1G;YB_oRY}gNMf6LFqwh?K+*U#Gn z56$or3YX405=b<$`sz)D-x#9x81hCUzR0kG1fW=8fbD4Dp(-!BTri9>SVwp3yBJoO ze3i-DNk5pfJd`XCSSNa364-Vy>@DF4rF)?F_?9}pH311nxZn}Gmq8?quPHkj2Os7@ z2^t^+0227X8T@gEe-B6i06M~gH%w58X|&)ENdg|d=%t;PZAgIl5TI-S(#AQ@v1oeA znqJXNH#gH|aBtqbVE4i&MebSAgZ!A;PCDU<5kvqMp*Vmo++Ya_;K2>HIDn460D}vZ zA^{T^M0Ai8FSY<`a`sqT@-Qbh^{h>L1?xw&7O1di(Jh1Df9v2CulR%~IN_0xd_okW z@Iml6U=kfbK?FuYf&J9Z1G{hrIRbzSKRgazT)Wq<=257bHN{`WT9E>YCbYfnjeDz` zq7^UL$Vei=36p%}Bq_;{LP^CQ7{CEIL;(RTFrWvuv%xUtkbpeQVmha+V}``z%3-+% zMFtdG!LXOGf4r5hf*IsxBcFf-M>?UAP>2E~qW}ddNFkn3XpGFFqW_H?;J^hYfB`3F zzz8fb;s;+aM+Rlg?qA83RB2uF^?IQGz38oFL(zuJkWtLjNvbQe_+E2zEJ=(^a2h^ViFIfM5UU| zW1}f@6cG?+DeT$pbcf8~JGtk`DD-lrCk-o0TY7~nOrfPx&?il!5)UB=KoK=y!wqb3 z19f=f1Ol)DGg@$pSSSfse;VGDxKj@ijmJGvT^231M>i%+kdfd?TPeeYK2d@{uwVfTcz`elVM-)9;w{e&?@`u3 zgbLXao9rq=Rm96)hSbCh^k9qDkYofeP+=(TE6uM$L=uQQT!9{HNrDva5D1s(_rMF0 X2t_P{5se`D!4QtHgeMG>fB*nHq?QO9 diff --git a/src/messenger/webim/locales/fa/images/save.gif b/src/messenger/webim/locales/fa/images/save.gif index d27f651e78971447967b568b841021da9d98507d..f8a7fcfc3228b8b3222a6d7a36a6dad308d4d43e 100644 GIT binary patch delta 1749 zcmV;`1}gc=6TA})M@dFFIbm)9BLL_9u?+qKfB*mgA^8LW00930EC2ui0B!&y000R7 z0RIUbNU)&6g9sBUT*$DY!-o(fN}PDmjh8cR%$R9&#)}(@AVZ2|=!MLpGy$l{y9Xse zq(x-BjGRex;+i^Xrr4{uvz||UK&?cov!$Y;AB8Szw8{n9Max%x9ZI~r!$i)BU%%KSAtGZE(0g3E z805#evE#>(BTJr4xw2)(Ucb%(qQYB}UvGjPAwb|rH#~mmP^A!gr4uJBsmhyuuXfwm z_@qwF&9kTPcs}C^A07{^y}S96C*QX(e_wOv`=msVF6E1q>({?nPp8C3xdv|t{`4E) zqJ@BALfmmPbhvhHd5mYvbMoW~?D@Fe-;+o6-eIcs%toJm0_Nu)fB)g*A5h9E*PL|D zQO6v1`+U*Q97`Nx!vJrLpvZXr2*M5nCVXHG0otghpni@`fLi_{SnY^Hiau zjsre1pA$d6R-b${t|X?KFV<(~YiSP1=6mtvqmOcXI*4RG(p4u#H3eAkLJR~5zyOu~ zV1R}u1}LBdDtO4SqI-da2M#Z(7W{c{?+t#Nhs~G#^#I>wS%qpiDpBu8q^EH(xSbO%l&z{rG3rZO` zT(E!%EvT~$29RXJ0|-38LC6oOFoFU$Y*^A3K8!&D#lurH?X;#;L_JS^5>Gv{6HBw| z^vBeWJkQA6G6hy~#lf4Le{@Fzy3Y)H1R-+~LkOY?29!Ji!Zsj0KneZ^2nb!lFT3mp zl*3dgy|mJWKOA+_oHG7(t5uv^IID$2LHQJmbL@}fk8fLrJ;c4+;E~f^w?P?u$h=Am zj8fSH2BVOJf-AoOax`OBdX*eL_hu7F%BF8_fs$c2#0WjGEq^*SQJ)3(K{6I(;vU#mCFwW=3vJ^ z^8XmK!pN?r6Q0}!WqHyQk+8QmX*`1j$5;h0`r!;sfQS-==*JI60e~Fzq7QOtL_KmN zmG}AXgucsN?oy~fe=5X}e<7oS?*Iru0fr27RNzTHhEu(=J?Dr1`$$9$IPr}am_s}a zFn}1)@PlUjpdVr|05Wu-fCE$l7CzApW3-@!D`4S^U%bKLRPaC`K}( z(2PopU(}#7y|AS0T|%!FAFEJ=2^f%vPvoH=CJ=xrLJ)%_#G(T_EFnL#poJ`KVGGm*V>QJXMofzF zlyIa%#;7??e{O2ho128ARHD)w9;U28w8}><9+81P41fv!{s<2+jL?E1unrgm_y9A| z;e!%5<(2keOcuDX1ukU4nhw>%7az*ShnjMXDXgCj{qfL-W)lk(t!5T3dcxkt4=6m* z4RM4sB+ z)Qk6H9_OyLtuU#HKzEwTI(ZTn(6O{#M1sy7cu@umcmf7@sDxkGz=jo^pcB`)!6B4D zhl4tWF?`^|7L0n-y%M#dLw#scNBYe+o-mG4OC0A?HK6;z#y`8cM{ssRJv^4pNcnh$ zDr!Ite+Nte2BM$^EgZmvJM2Ib6IcQ!?0VPBxc0TMji2pf+96gCJfaDwD1ZbcFoE8F zwg4KKgK@?XhR4k1xC`k57SI*}StR2THIRlL%20+-gaQe*u*F@ppcv$OmmypUz>yLF z0bzJx0~?q@B3!TuTk2yBaQUu$7orq-kd99WKh%d4t}@^LDr5~^NW&9I2c56XBMn6H ruYwa&l0OV$3snfqJisuBKg49g7*2>qFrpETcqGFh4zY+891s9I#6TZG delta 1763 zcmV<91|0dk6Uq||M@dFFIbm)9BLMgRu?+qKe*gdgA^8LW00930EC2ui0B!&y000R8 z0RIUbNU)&6g9sBUT*$DY!-oUicsbL?jF~oPytskLv7^V22)&S56e$3dd-A9RNVABH z7mzSx$|Sg^P9!V%a@N~f&tA_dY3i(*NwjFgFma~j#7B=F&z<(7+H(>ojM1xD|EcLh ze_<&;a1bno1C*^1yjQvG#nY#6Ocym-G;9Z?Faz^M}ocimBgD0Aae|laZI|j>C>oFt6t68w7h$;Vdpf&&7F{8 z0$Q}_$D6>L2IYJxNhjsY7b(b*AD6O^e>wAg`|?GHp09d!!)o=#+s-}S&Uik1LjUzi zFK5&8_)vO{EwBAjlun$WY#duQK04Y6So>gt0Xspw^`poLZwz3=Axq5B&lk-h2c3h{ zNg^o>LxzI3h|V#&;ro@r4sZJEJUnQK@R7L@q-YBnALiuE``uL--KWurIsIZI{f16^YU`Bdr zi_Sh#g|nM3JkJ!HQZa2~Ug2X28`z-0NGd-N0tXKu@Q?{47%Zbs3nnaZ!3|}Al4Nty z>BB3Ogo0;}KQ`CnkB8?0>?uAg;uC3lUbc9!(GF9q^t94GOa;YD(X-1h6=;kA29!Ji z!Zsj0KnVt#2r@(wDhHv*e+;_Ht1FaJYPZ(SQVHABzW8|P4@&afjnckiF8>TIwF%Ed z#o*IUVff)wPyq!LP%j0@FRq|K&L|l4AZL#)tfKNBWo+Q!%Ya_kom%=b+ElUrymohc zsXLLnivA$%x6+1FYxv-aL!r3ti|hV0KT+4C%n2cI3&6MihzrL!f9CRN1Od!ku*WnT z%sXL)hHYr&dHOQt)4u*VdbdAMunzvS(mG7V6c69-dlXSv(R=S!)ZbX6^)w8@CQ9$lR6IOElmD!mJ=Ap zz9~TAb|#eH;&!(eu@C{DXAQ4Nlo_6}>Ht&3ICpp2O-tq>YyrGYL3iC(ea3?t2!BBDXb7B1Ir$+d> zv4;GxU_D%L2o{8(6{HBn0ha+p-UMPdZ@>WwqLBd+Kwvsbf4Uc23I(2E@dSMJ0iT%2 zm%e?muZ%F99}VC5#w%O_3!nt$6||rQ8;Yj`u}DG;LSPC3n4lkd_(UEUU;;&~q8}%) z0Wq#20ahd+boOGKJ@oM_dMJu#O~Kovj;64tElqKXgJ18~=tdWMQj}4^0x3aB%2M(} zQBtu-34DMKe`b7u0Kn)+3x?1FBLKrU{b0fX_K<-`)S^1TR3wMUga1rN#b!nDxl|R{ z=P<F^lUdM0D7BDp8S!hgn5`_yO_`n7)D8d^q7oZ(*zydY! zz$Tn@A$mo^FGYV$q~VSglQ6vVG9pofRGm zzfWr6nnVSvUW;l}Fo1yzM%{u&n;I2NEMWqY*ufo`-~d|CLKHBVfCH#e1690&NxULd z_NwHse-asMSt^>8!f2Pf!BIhlom}WA^{P~)CN-&C0E0#SDqB9M@WC`;7(;gEpn(EJ zb^^eafCLI~iY7e517U?uJ6gls<~sMer7=hsv|t!p)B*{i2t^snpa*Hx;1S7?MFbv% zg~Tl8ybjsQ7%a327bIc^8`yvcgaLtHDk%VOO+l}Ij}iwbU}%x}l$SiJvflzTq$X*Y z2V2ypq$i}I3qvumgcTx^KMVp4^H56_wlIi4xMad0UWh~}ViAmJB*Z9Av5HsBVweO3 F06YHdEBgQd diff --git a/src/messenger/webim/locales/fa/images/search.gif b/src/messenger/webim/locales/fa/images/search.gif index 69554f970c60b150bf650592483f4c23927c5622..d188dfafb7b70642c991622ea20133aaf67205fb 100644 GIT binary patch delta 1727 zcmV;w20;1S6Q&akM@dFFIbm)9BLL@Tu?+qKfB*mgA^8LW00930EC2ui0B!&y000R7 z0RIUbNU)&6g9sBUT*$DY!-o(fN}PC*Pn^ytZRCk`KqAVZ2|7{?AIJQK)#!53zN zAV_xNjGRexBAq^X%G|TJ)1J?KK+y>5L#L+EqX*|G@N%zdPoMVa(F2;VjDk5xv(~Kh zeN>dNpWLyhFAIc^E}CUw}7tw8{nfhRs)fFL1yr7wHcQV#M~Kuz~~;P<(FQ z80^QmvE#>(BTJr4xw2)(UcVloBBb5lCs?pt5fHi(r9f0iL|*B|%Sx(WV&j|L_H{m~ zQ*ZO^$-9fsF2I9#0ekQ6zT?OF@!Pjte>uM~&!3NhGp2fVIMj`45ps%yfh&nD{xBJD z!5RVsrXU=iJ^Kse*k8PW0pmKpZT9%SP{ntcYSer@MYUUS#N9L8UHTkn9CFAl2OV?L zDQ6u&*!{9a1P@SPfDe!C0D=U?NC3hPy|8nIDX8UxA3lu9*P3fD#@O0Q?X?CJe|II?l*md|m+M+=SCXhXD&BEOE&Y954YwF*ju5h$E{M)4(_E7(fXk{Ncw~ zJ!ate<9uKc*<)+-#a1SpFQTbteE!tw&lhjH$Yz_ZttnrcUmQ8cKF}q(O9dtrafARC zbb<^30L+j~D1c<5iUv@yQV9|&e~Q^pJ!FC^YME%FDIckThAJwVrJ4$co&I;KI%=!) zohs)S$yuk5b*^L)K^3}OkcbXv6l?4!vvA^wFHV%effd7as^XaSkWmk;b(U!cw*JV; zEtzIqi|w0rrYWu&Wn_Eqw%E2AD1^>E2ZtyHY*GU)2>ft{AHWo%3^;zkf3ZvkfW)#u z5EP)G-hPacQ3j~rLfkH!5lalK8D-WfU%LK~S*OGn+qow{2}XA$0bDF`!UoM4aRv=3 zOd*RVB%C2m0-VfZ2oSyOF-TkaFcwA_4%b-*$Dop-bUm+j3~JLw`*ZZsbt+vh80<0~ zhS3~T?T^yd&i66XU=SLwe}nuaQ9u$Yi;D`cgwnOZ1tBYQ@OBfNB=C$T z%iKLh3J&ZH4KarR%@`WEXU^^J^&l=TtV4%^#_q%yPrUDDFxVV~e=USVIxPaYOhYLd zO!G|5;t+hp!7-o^&wqjUBL*768;>pdh;uuB7-E?3e(_--UdBH9ESDUFNu+~I4d-yc z%f2)qM<6fIg*Buud7o9U3g? zj}3OPf)o_t2-j!AfA}e_WDtUvB9!0`Y!o38SJ;NJc6f#XG{6D=P|&~yB0&J3;D#}5 zV1pXcz(gj3u!2t{U+|QehB`4(4Qha*KT2oS-D^somKlUPM;T``MMe;lFi?8JsNh(QhN3!xao zK*%%@@{xxe9|$pMM*1a4c^J4x2vVVr2cW;xLuN6UST4CeR}^vMPt#~GMV0U;<5iBk$7 zJWTKe6SQ%Le^yk37R(R=4xDlidfbCCYj8sw+^_~+(zB6i{-|dX>j}m%ib0uw*7(g^vxWW_WL5(6jKnPSA zMN^>i&VDS@4Q`Nw9OfC&dfF79{cL0wF)2l*5sh)Ze*+hp_EaDE;A1LM@ri+&LZAcL z&p8L+1{X|l3I_1SFMHSn4^Z%q2P`21S_lL?ox&JPSfULwohe#jI?tEZv!)02=LCm_ z2C)5 zSjl>sf6jXLv!H!U0H6v3OmLwV6$n8HM8I0dR)7TuAc;-@=J1%g*mfarNCR~E@quhy z0~1O}M*+CNg#r{H3(knfUD%+Q+d7vaT$w<;FyMi4z@P;!NP;4WfB{eH<1KM{u6Pxq zlt86XK?u@^7p^ki_9}!9Z@>c>&gPu2)B_JhDRHlU6H<~zNTLm92unTWAc;l9WWNYb Vh($1>5sr8y!4QtHg!LN`06SL?`ThU^ delta 1780 zcmV2(pNwjFgISR_;%twzN&z<+8-t(ehj?t@F|J8XD ze_(08Q62`_IuvixpjV*obC>oFt0w&gpKI4SA(%3Nz?uan zxGf~QVt~UbAzF-$fdglZapT3u@Kdgwe;>bn&z-E7~L4q zQ755c)ft9eRBLG$l|4@R#FRblF4D9OwK0078zVu1ih6k$RIy9~$NJ`O@z9d%N!H6@1I zLDkbeTb5Ved9IbX-g+#WiBFg;f3}Dwnr74^AEo&WV+98#IN^&UoXqmc8L-CxszV|d z=u$-lS-5hXKF2}19Cc7ys9|_&dAAciUobV^e6IO}Qi~{J%Ay%9c4}>?^<-NQwxccu z0SXiZu|O<yN}NYAbO)WHg>_8IVU_1{q<5k@ZrC5ChG~4x})}*vn}0Oah#!-3SLW6T(Fc z4B~8Ph5lZdoj>K#K3-Ey+vRV=O|RFqKNFh){M3+Z3wh&{he5gWf0Zkbbw66$6Aub8 zhnxIf|<-t4AeEDWmf5&N^P#${l9 zyz^oZ0~(swJTw@vF_W^#B>r%TZaCovjxa|sUP(<*&AQwD1 zLJUYDEB^rK5gaf83Lc=2RD|FfNRkl0>NYT9(F0OMYYIv%1-0N&ONP2HPp4?OKmSRtaRfA=7+TrNiN;b5YhVK`*|3H-v>~HwXw1-}G72gP;Q>XU z#yp;Ig_dH$0K~|F6r$h)6DR=&7>H7Z^ktQL`Wvh914B{RsnuaxG zl%s1X=NjDb(W$n<4IxFRI-?Q@Eks}m4|oR(c(8{({3S39IE4wgz>NbqDN0?`P?n5F z5230kQ!;F*QT>OVe+G!41M5)2Ene}YU@1y{SSr|vmK7}&Wolx?OCB6|*hh-Eg7dIgwdz%`>IOM@ zbg{m*ge6EbhX7pX04%70XGOr=5QLxtwcr9KVBl8ggl09^&8~L0D;k5mfenUTDhG}*Lu!JDdaz|~O#%ZR-Y^sidsrbNS%f6yP!F}3p$(E)giAim;)O_r WA{N1jMp{hc8r%5BIEG0;0029|#T=gi diff --git a/src/messenger/webim/locales/fa/properties b/src/messenger/webim/locales/fa/properties index 98ad181e..3e220e98 100644 --- a/src/messenger/webim/locales/fa/properties +++ b/src/messenger/webim/locales/fa/properties @@ -6,7 +6,7 @@ admin.content.client_gen_button=ایجاد کد برای دکمه‌ی چت admin.content.client_settings=تنظیمات پنجره‌ی چت admin.content.description=امکانات موجود برای متصدیان سایت agent.not_logged_in=لطفا دوباره وارد سیستم شوید -app.descr=Mibew یک پیامرسان تحت وب متن باز است +app.descr=Mibew یک پیام‌رسان تحت وب متن باز است app.title=پیام رسان Mibew button.delete=حذف button.enter=ورود @@ -73,7 +73,7 @@ chat.thread.state_wait=در صف انتظار chat.thread.state_wait_for_another_agent=در انتظار یک متصدی chat.visitor.email=آدرس ایمیل: {0} chat.visitor.info=اطلاعات: {0} -chat.wait=با تشکر از اینکه ایران سرور را انتخاب نمودید،لطفا منتظر بمانید... +chat.wait=با تشکر از اینکه ما را انتخاب نمودید،لطفا منتظر بمانید... chat.window.chatting_with=شما در حال هستید با: chat.window.close_title= اتمام چت chat.window.poweredby=قدرت گرفته از: @@ -120,6 +120,7 @@ form.field.agent_name.description=این نام توسط کاربر دیده م form.field.agent_name=نام form.field.avatar.current.description=آواتار شما form.field.avatar.current=آواتار فعلی +form.field.avatar.upload.description=فایل عکس آواتار خود را انتخاب کنید
                    Ш§Щ†ШЇШ§ШІЩ‡ Ш№Ъ©Ші ШЁШ§ЫЊШЇ Ъ©Щ…ШЄШ± Ш§ШІ Ы±Ы°Ы°*Ы±Ы°Ы° ЩѕЫЊЪ©ШіЩ„ ШЁШ§ШґШЇ. form.field.avatar.upload=ШўЩ€ЩѕЩ„Щ€ШЇ ШўЩ€Ш§ШЄШ§Ш± form.field.ban_comment.description=ШЇЩ„ЫЊЩ„ Щ…ШіШЇЩ€ШЇ ШіШ§ШІЫЊ form.field.ban_comment=ШЄЩ€Ш¶ЫЊШ­ @@ -132,20 +133,29 @@ form.field.groupdesc.description=ШЄЩ€Ш¶ЫЊШ­Ш§ШЄЫЊ ШЇШ± Ш±Ш§ШЁШ·Щ‡ ШЁШ§ Ш§ЫЊЩ† ШЁ form.field.groupdesc=ШЄЩ€Ш¶ЫЊШ­Ш§ШЄ form.field.groupname.description=ЫЊЪ© Щ†Ш§Щ… ШЁШ±Ш§ЫЊ ШґЩ†Ш§ШіШ§ЫЊЫЊ Ш§ЫЊЩ† ШЁШ®Шґ form.field.groupname=Щ†Ш§Щ… ШЁШ®Шґ +form.field.login.description=ШЁШ±Ш§ЫЊ Щ€Ш±Щ€ШЇ Щ…ЫЊ ШЄЩ€Ш§Щ†ЫЊШЇ Ш§ШІ Ш­Ш±Щ€ЩЃ Ъ©Щ€Ъ†Ъ© Ш§Щ†ЪЇЩ„ЫЊШіЫЊ Ш§ШіШЄЩЃШ§ШЇЩ‡ Ъ©Щ†ЫЊШЇ form.field.login=Щ€Ш±Щ€ШЇ form.field.mail.description=ШЁШ±Ш§ЫЊ ШЁШ§ШІЫЊШ§ШЁЫЊ Ш±Щ…ШІ Щ€ Ш§Ш®ШЁШ§Ш± Щ€ Ш§Ш·Щ„Ш§Ш№Ш§ШЄ form.field.mail=ШўШЇШ±Ші Ш§ЫЊЩ…ЫЊЩ„ form.field.message=ЩѕЫЊШ§Щ… form.field.name=Щ†Ш§Щ… ШґЩ…Ш§ +form.field.password.description=Ш±Щ…ШІ Ш№ШЁЩ€Ш± Ш®Щ€ШЇ Ш±Ш§ Щ€Ш§Ш±ШЇ Ъ©Щ†ЫЊШЇ form.field.password=Ш±Щ…ШІ form.field.password_confirm.description=Ш±Щ…ШІ Ш±Ш§ ШЇЩ€ШЁШ§Ш±Щ‡ Щ€Ш§Ш±ШЇ Ъ©Щ†ЫЊШЇ form.field.password_confirm=ШЄШ§ЫЊЫЊШЇ Ш±Щ…ШІ form.field.translation=ШЄШ±Ш¬Щ…Щ‡ +image.button.login=/locales/fa/images/login.gif +image.button.save=/locales/fa/images/save.gif +image.button.search=/locales/fa/images/search.gif +image.chat.history=/locales/fa/images/history.gif +image.chat.message=/locales/fa/images/message.gif +image.chat.sprite=/locales/fa/images/wmchat.png install.next=ЪЇШ§Щ… ШЁШ№ШЇЫЊ: +lang.choose=Ш§Щ†ШЄШ®Ш§ШЁ ШІШЁШ§Щ† leavemessage.close=Ш®Ш±Щ€Ш¬ leavemessage.descr=Щ…ШЄШ§ШіЩЃШ§Щ†Щ‡ ШЇШ± Ш­Ш§Щ„ Ш­Ш§Ш¶Ш± Щ‡ЫЊЪ† Щ…ШЄШµШЇЫЊ Ш§Щ…Ъ©Ш§Щ† Ъ†ШЄ Щ†ШЇШ§Ш±ШЇШЊ Щ„Ш·ЩЃШ§ Ш§ШІ Ш·Ш±ЫЊЩ‚ ЩЃШ±Щ… ШЇШ±Ш®Щ€Ш§ШіШЄ Ш®Щ€ШЇ Ш±Ш§ Ш§Ш±ШіШ§Щ„ Щ†Щ…Ш§ЫЊЫЊШЇ ШЄШ§ ШіШ±ЫЊШ№Ш§ ШЁШ±Ш±ШіЫЊ ШґЩ€ШЇ. leavemessage.perform=Ш§Ш±ШіШ§Щ„ -leavemessage.sent.message=ШЁШ§ ШЄШґЪ©Ш± Ш§ШІ Ш§Щ†ШЄШ®Ш§ШЁ Ш§ЫЊШ±Ш§Щ† ШіШ±Щ€Ш±ШЊ ШЁШІЩ€ШЇЫЊ Ш§ШІ Ш·Ш±ЫЊЩ‚ Ш§ЫЊЩ…ЫЊЩ„ ШЁЩ‡ ШґЩ…Ш§ ЩѕШ§ШіШ® Ш®Щ€Ш§Щ‡ЫЊЩ… ШЇШ§ШЇ. +leavemessage.sent.message=ШЁШ§ ШЄШґЪ©Ш± Ш§ШІ Ш§Щ†ШЄШ®Ш§ШЁ Щ…Ш§ШЊ ШЁШІЩ€ШЇЫЊ Ш§ШІ Ш·Ш±ЫЊЩ‚ Ш§ЫЊЩ…ЫЊЩ„ ШЁЩ‡ ШґЩ…Ш§ ЩѕШ§ШіШ® Ш®Щ€Ш§Щ‡ЫЊЩ… ШЇШ§ШЇ. leavemessage.sent.title=ЩѕЫЊШ§Щ… ШґЩ…Ш§ Ш§Ш±ШіШ§Щ„ ШґШЇ leavemessage.title=ЩѕЫЊШєШ§Щ… ШЁЪЇШ°Ш§Ш±ЫЊШЇ leftMenu.client_agents=Щ…ШЄШµШЇЫЊШ§Щ† @@ -165,7 +175,7 @@ menu.groups.content=بخش‌ها Щ€ ШЇЩѕШ§Ш±ШЄЩ…Ш§Щ†Щ‡Ш§ menu.groups=ШЇЩѕШ§Ш±ШЄЩ…Ш§Щ†Щ‡Ш§ menu.locale.content=ШЄШєЫЊЫЊШ±Ш§ШЄ Щ…Ш­Щ„ЫЊ menu.locale=ШІШЁШ§Щ† -menu.main=Щ…Щ†Щ€ЫЊ Ш§ШµЩ„ЫЊ +menu.main=ЩЃЩ‡Ш±ШіШЄ Ш§ШµЩ„ЫЊ menu.operator={0} Ш®Щ€Шґ ШўЩ…ШЇЫЊ menu.profile.content=ШЇШ± Ш§ЫЊЩ† Щ‚ШіЩ…ШЄ Щ…ЫЊШЄЩ€Ш§Щ†ЫЊШЇ Щ…ШґШ®ШµШ§ШЄ Ш®Щ€ШЇ Ш±Ш§ ШЄШєЫЊЫЊШ± ШЇЩ‡ЫЊШЇ. menu.profile=Щ…ШґШ®ШµШ§ШЄ ШґЩ…Ш§ @@ -237,6 +247,7 @@ page_agents.new_agent=Ш§ЩЃШІЩ€ШЇЩ† Щ…ШЄШµШЇЫЊ page_agents.status=ШўШ®Ш±ЫЊЩ† ЩЃШ№Ш§Щ„ЫЊШЄ page_agents.title=Щ…ШЄШµШЇЫЊШ§Щ† page_analysis.search.title=تاریخچه‌ی Ъ†ШЄ +page_avatar.intro= ШґЩ…Ш§ ЩЃЩ‚Ш· Щ…Ш¬Ш§ШІ ШЁЩ‡ ШўЩѕЩ„Щ€ШЇ ШЄШµШ§Щ€ЫЊШ± ШЁШ§ ЩѕШіЩ€Щ†ШЇ JPG, GIF, PNG ЫЊШ§ TIF Щ‡ШіШЄЫЊШЇ. . page_avatar.title=ШўЩѕЩ„Щ€ШЇ Ш№Ъ©Ші page_ban.title=Щ…ШіШЇЩ€ШЇШіШ§ШІЫЊ ШўШЇШ±Ші page_bans.add=Ш§ЩЃШІЩ€ШЇЩ† ШўШЇШ±Ші @@ -246,6 +257,8 @@ page_bans.to=ШЄШ§ page_client.pending_users=مشاهده‌ی ШµЩЃ Ъ©Ш§Ш±ШЁШ±Ш§Щ† ШЁШ±Ш§ЫЊ Ъ†ШЄ page_group.tab.main=Ш№Щ…Щ€Щ…ЫЊ page_group.tab.members=Ш§Ш№Ш¶Ш§ +page_login.error=Щ†Ш§Щ… Ъ©Ш§Ш±ШЁШ±ЫЊ ЫЊШ§ Ш±Щ…ШІ Щ€Ш±Щ€ШЇ Ш§ШґШЄШЁШ§Щ‡ Ш§ШіШЄ +page_login.intro=Щ„Ш·ЩЃШ§ Щ†Ш§Щ… Ъ©Ш§Ш±ШЁШ±ЫЊ Щ€ Ш±Щ…ШІ Щ€Ш±Щ€ШЇ Ш®Щ€ШЇ Ш±Ш§ ШЁШ±Ш§ЫЊ ШЇШіШЄШ±ШіЫЊ ШЁЩ‡ Ш§ШЁШІШ§Ш±Щ‡Ш§ЫЊ Ш§ШЇШ§Ш±ЫЊ, ШЇЫЊШЇЩ† Ъ©Ш§Ш±ШЁШ±Ш§Щ† Щ€ ШЄШ§Ш±ЫЊШ® Щ…Ъ©Ш§Щ„Щ…Ш§ШЄ Щ€Ш§Ш±ШЇ Ъ©Щ†ЫЊШЇ. page_login.login=Щ€Ш±Щ€ШЇ: page_login.password=Ш±Щ…ШІ: page_login.remember=Щ…Ш±Ш§ ШЁЩ‡ ЫЊШ§ШЇ ШЇШ§ШґШЄЩ‡ ШЁШ§Шґ @@ -290,11 +303,11 @@ resetpwd.changed=ШЁШ§ Ш±Щ…ШІ Ш¬ШЇЫЊШЇШЄШ§Щ† Щ€Ш§Ш±ШЇ ШґЩ€ЫЊШЇ. resetpwd.submit=Щ€ЫЊШ±Ш§ЫЊШґ resetpwd.title=ШЄШєЫЊЫЊШ± Ш±Щ…ШІ Щ€Ш±Щ€ШЇ restore.emailorlogin=Щ†Ш§Щ… Ъ©Ш§Ш±ШЁШ±ЫЊ ЫЊШ§ Ш§ЫЊЩ…ЫЊЩ„: -restore.pwd.message=Ш±Щ…ШІ Ш®Щ€ШЇ Ш±Ш§ ЩЃШ±Ш§Щ…Щ€Шґ کرده‌اید? +restore.pwd.message=Ш±Щ…ШІ Ш®Щ€ШЇ Ш±Ш§ ЩЃШ±Ш§Щ…Щ€Шґ کرده‌اید؟ restore.sent.title=ШЁШ§ШІЫЊШ§ШЁЫЊ Ш±Щ…ШІ restore.submit=Ш±ЫЊШіШЄ Щ†Щ…Щ€ШЇЩ† Ш±Щ…ШІ right.administration=Щ…ШЇЫЊШ± -right.main=Щ…Щ†Щ€ЫЊ Ш§ШµЩ„ЫЊ +right.main=ЩЃЩ‡Ш±ШіШЄ Ш§ШµЩ„ЫЊ right.other=ШЇЫЊЪЇШ± Ш§Щ…Ъ©Ш§Щ†Ш§ШЄ settings.chat.title.description=Ш№Щ†Щ€Ш§Щ†ЫЊ Ъ©Щ‡ Щ…Ш§ЫЊЩ„ Щ‡ШіШЄЫЊШЇ Ъ©Ш§Ш±ШЁШ±Ш§Щ† ШЇШ± پنچره‌ی Ъ†ШЄ Щ…ШґШ§Щ‡ШЇЩ‡ Ъ©Щ†Щ†ШЇ settings.chat.title=Щ†Ш§Щ… ШґШ±Ъ©ШЄ ШЇШ± پنجره‌ی Ъ†ШЄ @@ -342,7 +355,7 @@ time.never=Щ‡Ш±ЪЇШІ time.timeformat=%I:%M %p time.today.at=Ш§Щ…Ш±Щ€ШІ ШЇШ± time.yesterday.at=ШЇЫЊШ±Щ€ШІ ШЇШ± -topMenu.admin=Щ…Щ†Щ€ЫЊ Ш§ШµЩ„ЫЊ +topMenu.admin=ЩЃЩ‡Ш±ШіШЄ Ш§ШµЩ„ЫЊ topMenu.logoff=Ш®Ш±Щ€Ш¬ topMenu.main=Ш®Ш§Щ†Щ‡ topMenu.users.nomenu=ШЁШЇЩ€Щ† Щ…Щ†Щ€ From 7569720a52b963acb642a8e5d337d8178b901ab8 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 24 Nov 2011 16:25:43 +0000 Subject: [PATCH 32/40] Added view times in by page statistics --- src/messenger/webim/locales/en/properties | 3 ++- src/messenger/webim/locales/ru/properties | 3 ++- src/messenger/webim/operator/statistics.php | 4 +++- src/messenger/webim/view/statistics.php | 7 +++++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index 730dd771..19704490 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -405,7 +405,8 @@ report.byoperator.3=Messages report.byoperator.4=Average message length (in chars) report.byoperator.title=Threads by operator report.bypage.1=Page -report.bypage.2=Chat threads +report.bypage.2=View times +report.bypage.3=Chat threads report.bypage.title=Chat threads by page report.no_items=Not enough data report.total=Total: diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 759930c0..2d2207d8 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -403,7 +403,8 @@ report.byoperator.3= report.byoperator.4=Средняя длина сообщения (в символах) report.byoperator.title=Статистика по операторам report.bypage.1=Страница -report.bypage.2=Диалогов +report.bypage.2=Просмотров +report.bypage.3=Диалогов report.bypage.title=Статистика по страницам report.no_items=Мало данных report.total=Итого: diff --git a/src/messenger/webim/operator/statistics.php b/src/messenger/webim/operator/statistics.php index 0c38a24a..178201bf 100644 --- a/src/messenger/webim/operator/statistics.php +++ b/src/messenger/webim/operator/statistics.php @@ -82,7 +82,9 @@ $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT( "from ${mysqlprefix}chatmessage, ${mysqlprefix}chatoperator " . "where agentId = operatorid AND unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end group by operatorid", $link); -$page['reportByPage'] = select_multi_assoc("SELECT COUNT(threadid) as chattimes, referer FROM ${mysqlprefix}chatthread WHERE unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end GROUP BY referer", $link); +$page['reportByPage'] = select_multi_assoc("SELECT COUNT(p.pageid) as visittimes, p.address, COUNT(t.threadid) as chattimes " . + "FROM ${mysqlprefix}visitedpage p LEFT OUTER JOIN ${mysqlprefix}chatthread t ON (p.address = t.referer AND DATE(p.visittime) = DATE(t.dtmcreated)) " . + "WHERE unix_timestamp(p.visittime) >= $start AND unix_timestamp(p.visittime) < $end GROUP BY p.address", $link); $page['showresults'] = count($errors) == 0; diff --git a/src/messenger/webim/view/statistics.php b/src/messenger/webim/view/statistics.php index be1bd8bf..0ddfd711 100644 --- a/src/messenger/webim/view/statistics.php +++ b/src/messenger/webim/view/statistics.php @@ -164,19 +164,22 @@ require_once('inc_errors.php'); + + - + + - + From 777b640f8ed94db47200be83623b31c1b26d5d9a Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Fri, 25 Nov 2011 21:00:22 +0000 Subject: [PATCH 33/40] Added closing threads by timeout --- src/messenger/webim/libs/chat.php | 22 +++++++++++++++++++- src/messenger/webim/libs/common.php | 1 + src/messenger/webim/locales/en/properties | 3 +++ src/messenger/webim/locales/ru/properties | 3 +++ src/messenger/webim/operator/performance.php | 8 ++++++- src/messenger/webim/operator/update.php | 1 + src/messenger/webim/view/performance.php | 9 ++++++++ 7 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index 1588a611..4c3680f4 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -561,6 +561,21 @@ function close_thread($thread, $isuser) close_connection($link); } +function close_old_threads($link) +{ + global $state_closed, $state_left, $state_chatting, $mysqlprefix, $settings; + if ($settings['thread_lifetime'] == 0) { + return; + } + $next_revision = next_revision($link); + $query = "update ${mysqlprefix}chatthread set lrevision = $next_revision, dtmmodified = CURRENT_TIMESTAMP, istate = $state_closed " . + "where istate <> $state_closed and istate <> $state_left and " . + "(ABS(UNIX_TIMESTAMP(CURRENT_TIMESTAMP) - UNIX_TIMESTAMP(lastpinguser)) > " . $settings['thread_lifetime'] . " and " . + "ABS(UNIX_TIMESTAMP(CURRENT_TIMESTAMP) - UNIX_TIMESTAMP(lastpingagent)) > " . $settings['thread_lifetime'] . ")"; + + perform_query($query, $link); +} + function thread_by_id_($id, $link) { global $mysqlprefix; @@ -623,13 +638,18 @@ function do_take_thread($threadid, $operatorId, $operatorName, $chatstart = fals function reopen_thread($threadid) { - global $state_queue, $state_loading, $state_waiting, $state_chatting, $state_closed, $state_left, $kind_events; + global $state_queue, $state_loading, $state_waiting, $state_chatting, $state_closed, $state_left, $kind_events, $settings; $link = connect(); + $thread = thread_by_id_($threadid, $link); if (!$thread) return FALSE; + if ($settings['thread_lifetime'] != 0 && abs($thread['lpuser'] - time()) > $settings['thread_lifetime'] && abs($thread['lpagent'] - time()) > $settings['thread_lifetime']) { + return FALSE; + } + if ($thread['istate'] == $state_closed || $thread['istate'] == $state_left) return FALSE; diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index c5e3bcf6..b29dcb93 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -664,6 +664,7 @@ $settings = array( 'geolinkparams' => 'width=440,height=100,toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1', 'max_uploaded_file_size' => 100000, 'max_connections_from_one_host' => 10, + 'thread_lifetime' => 60, 'email' => '', /* inbox for left messages */ 'left_messages_locale' => $home_locale, diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index 19704490..9018f58a 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -491,6 +491,8 @@ settings.survey.askmessage=Show initial question field settings.title=Messenger settings settings.trackinglifetime.description=Specify the lifetime of old visitor's tracks in seconds. Default is 600 seconds. settings.trackinglifetime=Track lifetime +settings.threadlifetime.description=Specify the lifetime of the thread after closing the dialog box in seconds. Default is 60 seconds. Set 0 for unlimited thread lifetime. +settings.threadlifetime=Thread lifetime settings.usercanchangename.description=Turn off to hide edit box from chat window settings.usercanchangename=Allows users to change their names settings.usernamepattern.description=How to build visitor's identifying string from {name}, {id} or {addr}. Default: {name} @@ -499,6 +501,7 @@ settings.visitorslimit.description=Specify the number of items to display in tra settings.visitorslimit=Limit for tracked visitors list settings.wrong.email=Enter a valid email address settings.wrong.onehostconnections="Max number of threads" field should be a number +settings.wrong.threadlifetime="Thread lifetime" field should be a number site.title=mibew.org site.url=http://mibew.org statistics.dates=Select dates diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 2d2207d8..e901b141 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -481,6 +481,8 @@ settings.survey.askmessage= settings.title=Настройки мессенджера settings.trackinglifetime.description=Укажите срок хранения старых отслеженных путей в секундах. По умолчанию, 600 секунд. settings.trackinglifetime=Срок хранения отслеженных путей +settings.threadlifetime.description=Укажите время жизни диалога после закрытия диалогового окна в секундах. По умолчанию, 60 секунд. Укажите 0 для снятия ограничения. +settings.threadlifetime=Время жизни диалога settings.usercanchangename.description=Возможность убрать поле смены имени из чат окна settings.usercanchangename=Разрешать посетителям менять имена settings.usernamepattern.description=Укажите как отобразить имя посетителя операторам. Можно использовать {name}, {id} и {addr}. По умолчанию: {name} @@ -489,6 +491,7 @@ settings.visitorslimit.description= settings.visitorslimit=Ограничение на число выводимых в списке отслеживаемых посетителей settings.wrong.email=Введите правильный адрес электронной почты settings.wrong.onehostconnections=Поле "Максимальное количество диалогов" должно быть числом +settings.wrong.threadlifetime=Поле "Время жизни диалога" должно быть числом site.title=mibew.org site.url=http://mibew.org statistics.dates=Выберите даты diff --git a/src/messenger/webim/operator/performance.php b/src/messenger/webim/operator/performance.php index be9ffb29..23aac261 100644 --- a/src/messenger/webim/operator/performance.php +++ b/src/messenger/webim/operator/performance.php @@ -32,7 +32,7 @@ $options = array( 'online_timeout', 'updatefrequency_operator', 'updatefrequency_chat', 'updatefrequency_oldchat', 'max_connections_from_one_host', 'updatefrequency_tracking', 'visitors_limit', 'invitation_lifetime', - 'tracking_lifetime' ); + 'tracking_lifetime', 'thread_lifetime' ); loadsettings(); $params = array(); @@ -66,6 +66,11 @@ if (isset($_POST['onlinetimeout'])) { $errors[] = getlocal("settings.wrong.onehostconnections"); } + $params['thread_lifetime'] = getparam('threadlifetime'); + if (!is_numeric($params['thread_lifetime'])) { + $errors[] = getlocal("settings.wrong.threadlifetime"); + } + if ($settings['enabletracking']) { $params['updatefrequency_tracking'] = getparam('frequencytracking'); @@ -105,6 +110,7 @@ $page['formfrequencyoperator'] = $params['updatefrequency_operator']; $page['formfrequencychat'] = $params['updatefrequency_chat']; $page['formfrequencyoldchat'] = $params['updatefrequency_oldchat']; $page['formonehostconnections'] = $params['max_connections_from_one_host']; +$page['formthreadlifetime'] = $params['thread_lifetime']; if ($settings['enabletracking']) { diff --git a/src/messenger/webim/operator/update.php b/src/messenger/webim/operator/update.php index c8694af8..3175dabc 100644 --- a/src/messenger/webim/operator/update.php +++ b/src/messenger/webim/operator/update.php @@ -266,6 +266,7 @@ loadsettings_($link); if (!isset($_SESSION["${mysqlprefix}operatorgroups"])) { $_SESSION["${mysqlprefix}operatorgroups"] = get_operator_groupslist($operator['operatorid'], $link); } +close_old_threads($link); close_connection($link); $groupids = $_SESSION["${mysqlprefix}operatorgroups"]; diff --git a/src/messenger/webim/view/performance.php b/src/messenger/webim/view/performance.php index 937a2224..2da1937c 100644 --- a/src/messenger/webim/view/performance.php +++ b/src/messenger/webim/view/performance.php @@ -90,6 +90,15 @@ require_once('inc_errors.php');
+
+
+
+ +
+
+
+
+
From 04a096fea14ccb7490a31e4bb254e05e848f0379 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Fri, 9 Dec 2011 10:18:52 +0000 Subject: [PATCH 34/40] Added Cross-domain javascript requests --- src/messenger/webim/js/request.js | 8 ++ src/messenger/webim/js/source/build.xml | 4 + src/messenger/webim/js/source/request.js | 98 ++++++++++++++++++++++++ src/messenger/webim/libs/common.php | 8 ++ src/messenger/webim/libs/request.php | 31 ++++++++ src/messenger/webim/request.php | 30 ++++++++ 6 files changed, 179 insertions(+) create mode 100644 src/messenger/webim/js/request.js create mode 100644 src/messenger/webim/js/source/request.js create mode 100644 src/messenger/webim/libs/request.php create mode 100644 src/messenger/webim/request.php diff --git a/src/messenger/webim/js/request.js b/src/messenger/webim/js/request.js new file mode 100644 index 00000000..badd050f --- /dev/null +++ b/src/messenger/webim/js/request.js @@ -0,0 +1,8 @@ +var mibewRequestedScripts=[],mibewHandlers=[],mibewHandlersDependences=[]; +function mibewMakeRequest(){mibewDoLoadScript(mibewRequestUrl+"&rnd="+Math.random(),"responseScript")} +function mibewOnResponse(a){var b=a.load,c=a.handlers,e=a.data,a=a.dependences;for(id in b)if(!(b[id]in mibewRequestedScripts))mibewRequestedScripts[id]=[],mibewRequestedScripts[id].url=b[id],mibewRequestedScripts[id].status="loading",mibewLoadScript(id);for(handler in a)handler in mibewHandlersDependences||(mibewHandlersDependences[handler]=a[handler]);for(b=0;b + + + + diff --git a/src/messenger/webim/js/source/request.js b/src/messenger/webim/js/source/request.js new file mode 100644 index 00000000..df376c62 --- /dev/null +++ b/src/messenger/webim/js/source/request.js @@ -0,0 +1,98 @@ +var mibewRequestedScripts = new Array(); +var mibewHandlers = new Array(); +var mibewHandlersDependences = new Array(); + +function mibewMakeRequest() +{ + mibewDoLoadScript(mibewRequestUrl + '&rnd=' + Math.random(), 'responseScript'); +} + +function mibewOnResponse(response) +{ + var load = response.load; + var handlers = response.handlers; + var data = response.data; + var dependences = response.dependences; + + for(id in load){ + if(! (load[id] in mibewRequestedScripts)){ + mibewRequestedScripts[id] = new Array(); + mibewRequestedScripts[id]['url'] = load[id]; + mibewRequestedScripts[id]['status'] = 'loading'; + mibewLoadScript(id); + } + } + + for(handler in dependences){ + if(! (handler in mibewHandlersDependences)){ + mibewHandlersDependences[handler] = dependences[handler]; + } + } + + for(var i = 0; i < handlers.length; i++){ + var handlerName = handlers[i]; + if(mibewCanRunHandler(handlers[i])){ + window[handlerName](data); + }else{ + if(! (handlers[i] in mibewHandlers)){ + mibewHandlers[handlerName] = function(){ + window[handlerName](data); + }; + } + } + } + + mibewCleanUpAfterRequest(); + + window.setTimeout(mibewMakeRequest,mibewRequestTimeout); +} + +function mibewCleanUpAfterRequest() +{ + document.getElementsByTagName('head')[0].removeChild(document.getElementById('responseScript')); +} + +function mibewDoLoadScript(url, id) +{ + var script = document.createElement('script'); + script.setAttribute('type', 'text/javascript'); + script.setAttribute('src', url); + script.setAttribute('id', id); + document.getElementsByTagName('head')[0].appendChild(script); + return script; +} + +function mibewLoadScript(id) +{ + var script = mibewDoLoadScript(mibewRequestedScripts[id]['url'], id); + script.onload = function(){ + mibewScriptReady(id); + } + script.onreadystatechange = function(){ + if (this.readyState == 'complete' || this.readyState == 'loaded') { + mibewScriptReady(id); + } + } +} + +function mibewScriptReady(id) +{ + mibewRequestedScripts[id]['status'] = 'ready'; + for(handlerName in mibewHandlers){ + if(mibewCanRunHandler(handlerName)){ + mibewHandlers[handlerName](); + delete mibewHandlers[handlerName]; + } + } +} + +function mibewCanRunHandler(handlerName) +{ + var dependences = mibewHandlersDependences[handlerName]; + for(var i = 0; i < dependences.length; i++){ + if(mibewRequestedScripts[dependences[i]]['status'] != 'ready'){ + return false; + } + } + return true; +} \ No newline at end of file diff --git a/src/messenger/webim/libs/common.php b/src/messenger/webim/libs/common.php index b29dcb93..b267a680 100644 --- a/src/messenger/webim/libs/common.php +++ b/src/messenger/webim/libs/common.php @@ -465,6 +465,14 @@ function start_html_output() header("Content-type: text/html" . (isset($charset) ? "; charset=" . $charset : "")); } +function start_js_output(){ + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Pragma: no-cache"); + header("Content-type: application/javascript; charset=utf-8"); + header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); +} + function escape_with_cdata($text) { return "", "]]>]]>"; diff --git a/src/messenger/webim/libs/request.php b/src/messenger/webim/libs/request.php new file mode 100644 index 00000000..b4af2495 --- /dev/null +++ b/src/messenger/webim/libs/request.php @@ -0,0 +1,31 @@ + (isset($response['load'])?$response['load']:array()), + 'handlers' => (isset($response['handlers'])?$response['handlers']:array()), + 'dependences' => (isset($response['dependences'])?$response['dependences']:array()), + 'data' => (isset($response['data'])?$response['data']:array())); + return "mibewOnResponse(" . json_encode($result) . ");"; +} + +?> diff --git a/src/messenger/webim/request.php b/src/messenger/webim/request.php new file mode 100644 index 00000000..6a4eb6ca --- /dev/null +++ b/src/messenger/webim/request.php @@ -0,0 +1,30 @@ + \ No newline at end of file From b2167895e675e3e817a5893a2bec95365c8689e4 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Sun, 11 Dec 2011 18:53:49 +0000 Subject: [PATCH 35/40] Implemented cross-domain invitations --- src/messenger/webim/invite.php | 68 --------------------- src/messenger/webim/js/invite.js | 10 ++-- src/messenger/webim/js/source/invite.js | 80 ++++++------------------- src/messenger/webim/libs/getcode.php | 9 ++- src/messenger/webim/libs/invitation.php | 2 +- src/messenger/webim/request.php | 45 ++++++++++++++ 6 files changed, 74 insertions(+), 140 deletions(-) delete mode 100644 src/messenger/webim/invite.php diff --git a/src/messenger/webim/invite.php b/src/messenger/webim/invite.php deleted file mode 100644 index 3f7161f8..00000000 --- a/src/messenger/webim/invite.php +++ /dev/null @@ -1,68 +0,0 @@ -" . htmlspecialchars($operatorName) . "" . getlocal("invitation.message") . "" . htmlspecialchars($operator['vcavatar']) . ""; -} -else { - echo ""; -} - -exit; -?> \ No newline at end of file diff --git a/src/messenger/webim/js/invite.js b/src/messenger/webim/js/invite.js index 89bf9da6..1593f86b 100644 --- a/src/messenger/webim/js/invite.js +++ b/src/messenger/webim/js/invite.js @@ -1,6 +1,4 @@ -var mibewinviterequest,mibewinviteurl,mibewinvitetimeout,mibewinvitetimer,style=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(style);window.createPopup||(style.appendChild(document.createTextNode("")),style.setAttribute("type","text/css"));var sheet=document.styleSheets[document.styleSheets.length-1];if(window.createPopup)sheet.cssText=mibewInviteStyle;else{var node=document.createTextNode(mibewInviteStyle);style.appendChild(node)} -function mibewInviteMakeRequest(a,b){mibewinviteurl=a;mibewinvitetimeout=b;window.XMLHttpRequest?mibewinviterequest=new XMLHttpRequest:window.ActiveXObject&&(mibewinviterequest=new ActiveXObject("MSXML2.XMLHTTP"));if(mibewinviterequest)mibewinviterequest.onreadystatechange=mibewInviteOnResponse;mibewInviteSendRequest(a)}function mibewInviteSendRequest(a){clearTimeout(mibewinvitetimer);mibewinviterequest.open("GET",a+"&rnd="+Math.random(1),!0);mibewinviterequest.send()} -function mibewInviteCheckReadyState(a){if(a.readyState==4&&(a.status==200||a.status==304))return!0} -function mibewInviteOnResponse(){if(mibewInviteCheckReadyState(mibewinviterequest)){var a=mibewinviterequest.responseXML.documentElement,b=a.getElementsByTagName("message");if(b[0]){var b=b[0].firstChild.data,c=a.getElementsByTagName("operator")[0]&&a.getElementsByTagName("operator")[0].firstChild!=null?a.getElementsByTagName("operator")[0].firstChild.data:void 0,d=a.getElementsByTagName("avatar")[0]&&a.getElementsByTagName("avatar")[0].firstChild!=null?a.getElementsByTagName("avatar")[0].firstChild.data: -void 0,a='
';a+='';c&&(a+='

'+c+"

");d&&(a+=''+c+'');a+='

'+b+"

";a+='
';if(b=document.getElementById("mibewinvitation"))b.innerHTML=a}mibewinvitetimer=setTimeout(function(){mibewInviteMakeRequest(mibewinviteurl, -mibewinvitetimeout)},mibewinvitetimeout)}}function mibewHideInvitation(){if(document.getElementById("mibewinvitationpopup"))document.getElementById("mibewinvitationpopup").style.display="none"}function mibewOpenAgent(){document.getElementById("mibewAgentButton")&&(document.getElementById("mibewAgentButton").onclick(),mibewHideInvitation())}; +var style=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(style);window.createPopup||(style.appendChild(document.createTextNode("")),style.setAttribute("type","text/css"));var sheet=document.styleSheets[document.styleSheets.length-1];if(window.createPopup)sheet.cssText=mibewInviteStyle;else{var node=document.createTextNode(mibewInviteStyle);style.appendChild(node)} +function mibewInviteOnResponse(a){var c=a.invitation.message,b=a.invitation.operator,d=a.invitation.avatar,a='
';b&&(a+='

'+b+"

");d&&(a+=''+b+'');a=a+('

'+c+"

")+'
'; if(c=document.getElementById("mibewinvitation"))c.innerHTML=a} +function mibewHideInvitation(){if(document.getElementById("mibewinvitationpopup"))document.getElementById("mibewinvitationpopup").style.display="none"} +function mibewOpenAgent(){document.getElementById("mibewAgentButton")&&(document.getElementById("mibewAgentButton").onclick(),mibewHideInvitation())}; \ No newline at end of file diff --git a/src/messenger/webim/js/source/invite.js b/src/messenger/webim/js/source/invite.js index 28b399ec..4f36a2ea 100644 --- a/src/messenger/webim/js/source/invite.js +++ b/src/messenger/webim/js/source/invite.js @@ -1,8 +1,3 @@ -var mibewinviterequest; -var mibewinviteurl; -var mibewinvitetimeout; -var mibewinvitetimer; - var style = document.createElement('style'); document.getElementsByTagName('head')[0].appendChild(style); @@ -19,65 +14,26 @@ if (!window.createPopup) { sheet.cssText = mibewInviteStyle; } -function mibewInviteMakeRequest(url, timeout) +function mibewInviteOnResponse(response) { - mibewinviteurl = url; - mibewinvitetimeout = timeout; - if(window.XMLHttpRequest) - { - mibewinviterequest = new XMLHttpRequest(); - } - else if(window.ActiveXObject) - { - mibewinviterequest = new ActiveXObject("MSXML2.XMLHTTP"); - } - if (mibewinviterequest) { - mibewinviterequest.onreadystatechange = mibewInviteOnResponse; + var message = response.invitation.message; + var operator = response.invitation.operator; + var avatar = response.invitation.avatar; + + var popuptext = '
'; + popuptext += ''; + if (operator) { + popuptext += '

' + operator + '

'; + } + if (avatar) { + popuptext += '' + operator + ''; + } + popuptext += '

' + message + '

'; + popuptext += '
'; + var invitationdiv = document.getElementById("mibewinvitation"); + if (invitationdiv) { + invitationdiv.innerHTML = popuptext; } - mibewInviteSendRequest(url); -} - -function mibewInviteSendRequest(url) -{ - clearTimeout(mibewinvitetimer); - mibewinviterequest.open("GET", url + '&rnd=' + Math.random(1), true); - mibewinviterequest.send(); -} - -function mibewInviteCheckReadyState(obj) -{ - if ((obj.readyState == 4) && ((obj.status == 200) || (obj.status == 304))) {return true;} -} - -function mibewInviteOnResponse() -{ - if(mibewInviteCheckReadyState(mibewinviterequest)) - { - - var response = mibewinviterequest.responseXML.documentElement; - var invite = response.getElementsByTagName('message'); - if (invite[0]) { - var message = invite[0].firstChild.data; - var operator = response.getElementsByTagName('operator')[0] && response.getElementsByTagName('operator')[0].firstChild != null ? response.getElementsByTagName('operator')[0].firstChild.data : undefined; - var avatar = response.getElementsByTagName('avatar')[0] && response.getElementsByTagName('avatar')[0].firstChild != null ? response.getElementsByTagName('avatar')[0].firstChild.data : undefined; - - var popuptext = '
'; - popuptext += ''; - if (operator) { - popuptext += '

' + operator + '

'; - } - if (avatar) { - popuptext += '' + operator + ''; - } - popuptext += '

' + message + '

'; - popuptext += '
'; - var invitationdiv = document.getElementById("mibewinvitation"); - if (invitationdiv) { - invitationdiv.innerHTML = popuptext; - } - } - mibewinvitetimer = setTimeout( function(){ mibewInviteMakeRequest(mibewinviteurl, mibewinvitetimeout) }, mibewinvitetimeout); - } } function mibewHideInvitation() { diff --git a/src/messenger/webim/libs/getcode.php b/src/messenger/webim/libs/getcode.php index 475ec3c6..db248ecf 100644 --- a/src/messenger/webim/libs/getcode.php +++ b/src/messenger/webim/libs/getcode.php @@ -38,10 +38,13 @@ function generate_button($title, $locale, $style, $group, $inner, $showhost, $fo $temp = preg_replace('/^('; + $temp .= '/request.php?entry=\' + escape(document.referrer) + \'&lang=ru\''; } return "" . $temp . ""; } diff --git a/src/messenger/webim/libs/invitation.php b/src/messenger/webim/libs/invitation.php index 5a27af92..d5a1fd9e 100644 --- a/src/messenger/webim/libs/invitation.php +++ b/src/messenger/webim/libs/invitation.php @@ -60,7 +60,7 @@ function invitation_accept($visitorid, $threadid, $link) { global $mysqlprefix; - $query = "update ${mysqlprefix}chatsitevisitor set threadid = " . $threadid . ", chats = chats + 1 where visitorid = '" . db_escape_string($visitorid) . "'"; + $query = "update ${mysqlprefix}chatsitevisitor set threadid = " . $threadid . ", chats = chats + 1 where visitorid = " . db_escape_string($visitorid) . ""; perform_query($query, $link); $query = "select invitedby from ${mysqlprefix}chatsitevisitor where visitorid = '" . db_escape_string($visitorid) . "'"; diff --git a/src/messenger/webim/request.php b/src/messenger/webim/request.php index 6a4eb6ca..cfdd6950 100644 --- a/src/messenger/webim/request.php +++ b/src/messenger/webim/request.php @@ -16,12 +16,57 @@ * with the notice and other provisions required by the GPL. * * Contributors: + * Fedor Fetisov - tracking and inviting implementation * Dmitriy Simushev - Cross-domain javascript requests implementation */ +require_once('libs/common.php'); +require_once('libs/invitation.php'); +require_once('libs/operator.php'); +require_once('libs/track.php'); require_once('libs/request.php'); +loadsettings(); + +$invited = FALSE; +$operator = array(); +if ($settings['enabletracking'] == '1') { + + $entry = isset($_GET['entry']) ? $_GET['entry'] : ""; + $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ""; + + $link = connect(); + + if (isset($_SESSION['visitorid']) && preg_match('/^[0-9]+$/', $_SESSION['visitorid'])) { + $invited = invitation_check($_SESSION['visitorid'], $link); + $visitorid = track_visitor($_SESSION['visitorid'], $entry, $referer, $link); + } + else { + $visitorid = track_visitor_start($entry, $referer, $link); + } + + if ($visitorid) { + $_SESSION['visitorid'] = $visitorid; + } + + if ($invited !== FALSE) { + $operator = operator_by_id_($invited, $link); + } + + close_connection($link); +} + $response = array(); +if ($invited !== FALSE) { + $response['load']['mibewInvitationScript'] = get_app_location(true, is_secure_request()) . '/js/invite.js'; + $response['handlers'][] = 'mibewInviteOnResponse'; + $response['dependences']['mibewInviteOnResponse'] = array('mibewInvitationScript'); + $locale = isset($_GET['lang']) ? $_GET['lang'] : ''; + $operatorName = ($locale == $home_locale) ? $operator['vclocalename'] : $operator['vccommonname']; + $response['data']['invitation']['operator'] = htmlspecialchars($operatorName); + $response['data']['invitation']['message'] = getlocal("invitation.message"); + $response['data']['invitation']['avatar'] = htmlspecialchars($operator['vcavatar']); +} start_js_output(); echo build_js_response($response); From 57f742a5392018ae0bb01c6e2ab8ae36dd800dc8 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Wed, 14 Dec 2011 15:50:10 +0000 Subject: [PATCH 36/40] Added invitations styles --- src/messenger/webim/client.php | 12 +-- src/messenger/webim/invite.css | 65 -------------- src/messenger/webim/leavemessage.php | 4 +- src/messenger/webim/libs/expand.php | 2 +- src/messenger/webim/libs/getcode.php | 18 +--- src/messenger/webim/libs/settings.php | 5 +- src/messenger/webim/libs/styles.php | 36 ++++++++ src/messenger/webim/locales/en/properties | 8 +- src/messenger/webim/locales/ru/properties | 6 +- src/messenger/webim/mail.php | 4 +- src/messenger/webim/operator/agent.php | 10 +-- src/messenger/webim/operator/getcode.php | 19 +++- .../webim/operator/invitationthemes.php | 48 ++++++++++ src/messenger/webim/operator/redirect.php | 4 +- src/messenger/webim/operator/settings.php | 33 ++++--- src/messenger/webim/operator/themes.php | 20 ++--- .../styles/{ => dialogs}/default/chat.css | 0 .../{ => dialogs}/default/images/bg_btn.gif | Bin .../default/images/bg_domain.gif | Bin .../{ => dialogs}/default/images/butbg.gif | Bin .../default/images/buttondiv.gif | Bin .../default/images/buttons/back.gif | Bin .../default/images/buttons/close.gif | Bin .../default/images/buttons/closewin.gif | Bin .../default/images/buttons/email.gif | Bin .../default/images/buttons/exec.gif | Bin .../default/images/buttons/refresh.gif | Bin .../default/images/buttons/tracked.gif | Bin .../{ => dialogs}/default/images/quadrat.gif | Bin .../{ => dialogs}/default/images/wmchat.png | Bin .../{ => dialogs}/default/templates/.htaccess | 0 .../default/templates/agentchat.tpl | 0 .../default/templates/agentrochat.tpl | 0 .../{ => dialogs}/default/templates/chat.tpl | 0 .../default/templates/chatsimple.tpl | 0 .../{ => dialogs}/default/templates/error.tpl | 0 .../default/templates/leavemessage.tpl | 0 .../default/templates/leavemessagesent.tpl | 0 .../{ => dialogs}/default/templates/mail.tpl | 0 .../default/templates/mailsent.tpl | 0 .../default/templates/nochat.tpl | 0 .../default/templates/redirect.tpl | 0 .../default/templates/redirected.tpl | 0 .../default/templates/survey.tpl | 0 .../styles/{ => dialogs}/original/chat.css | 0 .../{ => dialogs}/original/images/banner.png | Bin .../{ => dialogs}/original/images/bg.gif | Bin .../original/images/buttondiv.gif | Bin .../original/images/buttons/close.gif | Bin .../original/images/buttons/closewin.gif | Bin .../original/images/buttons/email.gif | Bin .../original/images/buttons/exec.gif | Bin .../original/images/buttons/refresh.gif | Bin .../original/images/buttons/tracked.gif | Bin .../{ => dialogs}/original/images/winbg.gif | Bin .../{ => dialogs}/original/images/wmchat.png | Bin .../{ => dialogs}/original/images/wmfrm.png | Bin .../original/templates/.htaccess | 0 .../original/templates/agentchat.tpl | 0 .../original/templates/agentrochat.tpl | 0 .../{ => dialogs}/original/templates/chat.tpl | 0 .../original/templates/chatsimple.tpl | 0 .../original/templates/error.tpl | 0 .../original/templates/leavemessage.tpl | 0 .../original/templates/leavemessagesent.tpl | 0 .../{ => dialogs}/original/templates/mail.tpl | 0 .../original/templates/mailsent.tpl | 0 .../original/templates/nochat.tpl | 0 .../original/templates/redirect.tpl | 0 .../original/templates/redirected.tpl | 0 .../original/templates/survey.tpl | 0 .../styles/{ => dialogs}/silver/chat.css | 0 .../{ => dialogs}/silver/images/avatar.jpg | Bin .../{ => dialogs}/silver/images/avatarbg.gif | Bin .../{ => dialogs}/silver/images/bottombg.gif | Bin .../{ => dialogs}/silver/images/buttons.gif | Bin .../{ => dialogs}/silver/images/chatbgl.gif | Bin .../{ => dialogs}/silver/images/chatbgr.gif | Bin .../silver/images/chatheaderbg.gif | Bin .../silver/images/chatheaderbgc.gif | Bin .../silver/images/chatheaderbgl.gif | Bin .../silver/images/chatheaderbgr.gif | Bin .../{ => dialogs}/silver/images/content.gif | Bin .../silver/images/default-logo.gif | Bin .../silver/images/input_name.gif | Bin .../{ => dialogs}/silver/images/list.gif | Bin .../{ => dialogs}/silver/images/logobg.gif | Bin .../{ => dialogs}/silver/images/message.png | Bin .../{ => dialogs}/silver/images/sdwbgc.png | Bin .../{ => dialogs}/silver/images/sdwbgl.png | Bin .../{ => dialogs}/silver/images/sdwbgr.png | Bin .../{ => dialogs}/silver/images/submit.gif | Bin .../{ => dialogs}/silver/images/topbg.gif | Bin .../{ => dialogs}/silver/images/wndb.gif | Bin .../{ => dialogs}/silver/images/wndbl.gif | Bin .../{ => dialogs}/silver/images/wndbr.gif | Bin .../{ => dialogs}/silver/images/wndt.gif | Bin .../{ => dialogs}/silver/images/wndtl.gif | Bin .../{ => dialogs}/silver/images/wndtr.gif | Bin .../silver/templates/agentchat.tpl | 0 .../silver/templates/agentrochat.tpl | 0 .../{ => dialogs}/silver/templates/chat.tpl | 0 .../{ => dialogs}/silver/templates/error.tpl | 0 .../silver/templates/leavemessage.tpl | 0 .../silver/templates/leavemessagesent.tpl | 0 .../{ => dialogs}/silver/templates/mail.tpl | 0 .../silver/templates/mailsent.tpl | 0 .../{ => dialogs}/silver/templates/nochat.tpl | 0 .../silver/templates/redirect.tpl | 0 .../silver/templates/redirected.tpl | 0 .../{ => dialogs}/silver/templates/survey.tpl | 0 .../styles/{ => dialogs}/simplicity/chat.css | 0 .../simplicity/images/buttons/back.gif | Bin .../simplicity/images/buttons/change.gif | Bin .../simplicity/images/buttons/close.gif | Bin .../simplicity/images/buttons/closewin.gif | Bin .../simplicity/images/buttons/email.gif | Bin .../simplicity/images/buttons/exec.gif | Bin .../simplicity/images/buttons/history.gif | Bin .../simplicity/images/buttons/nosound.gif | Bin .../simplicity/images/buttons/redirect.gif | Bin .../simplicity/images/buttons/refresh.gif | Bin .../simplicity/images/buttons/send.jpg | Bin .../simplicity/images/buttons/sound.gif | Bin .../simplicity/images/buttons/ssl.gif | Bin .../simplicity/images/buttons/tracked.gif | Bin .../{ => dialogs}/simplicity/images/error.gif | Bin .../simplicity/images/toolbar_bg.jpg | Bin .../simplicity/templates/.htaccess | 0 .../simplicity/templates/agentchat.tpl | 0 .../simplicity/templates/agentrochat.tpl | 0 .../simplicity/templates/chat.tpl | 0 .../simplicity/templates/chatsimple.tpl | 0 .../simplicity/templates/error.tpl | 0 .../simplicity/templates/leavemessage.tpl | 0 .../simplicity/templates/leavemessagesent.tpl | 0 .../simplicity/templates/mail.tpl | 0 .../simplicity/templates/mailsent.tpl | 0 .../simplicity/templates/nochat.tpl | 0 .../simplicity/templates/redirect.tpl | 0 .../simplicity/templates/redirected.tpl | 0 .../simplicity/templates/survey.tpl | 0 src/messenger/webim/styles/howto.txt | 2 +- .../styles/invitations/default/invite.css | 82 ++++++++++++++++++ src/messenger/webim/view/gen_button.php | 26 ++++-- .../webim/view/invitation_themes.php | 74 ++++++++++++++++ src/messenger/webim/view/settings.php | 13 ++- 147 files changed, 351 insertions(+), 140 deletions(-) delete mode 100644 src/messenger/webim/invite.css create mode 100644 src/messenger/webim/libs/styles.php create mode 100644 src/messenger/webim/operator/invitationthemes.php rename src/messenger/webim/styles/{ => dialogs}/default/chat.css (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/bg_btn.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/bg_domain.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/butbg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttondiv.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/back.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/close.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/closewin.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/email.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/exec.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/refresh.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/buttons/tracked.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/quadrat.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/default/images/wmchat.png (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/.htaccess (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/agentchat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/agentrochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/chat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/chatsimple.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/error.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/leavemessage.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/leavemessagesent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/mail.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/mailsent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/nochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/redirect.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/redirected.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/default/templates/survey.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/chat.css (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/banner.png (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/bg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttondiv.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttons/close.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttons/closewin.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttons/email.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttons/exec.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttons/refresh.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/buttons/tracked.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/winbg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/wmchat.png (100%) rename src/messenger/webim/styles/{ => dialogs}/original/images/wmfrm.png (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/.htaccess (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/agentchat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/agentrochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/chat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/chatsimple.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/error.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/leavemessage.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/leavemessagesent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/mail.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/mailsent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/nochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/redirect.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/redirected.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/original/templates/survey.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/chat.css (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/avatar.jpg (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/avatarbg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/bottombg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/buttons.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/chatbgl.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/chatbgr.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/chatheaderbg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/chatheaderbgc.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/chatheaderbgl.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/chatheaderbgr.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/content.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/default-logo.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/input_name.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/list.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/logobg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/message.png (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/sdwbgc.png (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/sdwbgl.png (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/sdwbgr.png (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/submit.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/topbg.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/wndb.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/wndbl.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/wndbr.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/wndt.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/wndtl.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/images/wndtr.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/agentchat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/agentrochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/chat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/error.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/leavemessage.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/leavemessagesent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/mail.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/mailsent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/nochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/redirect.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/redirected.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/silver/templates/survey.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/chat.css (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/back.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/change.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/close.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/closewin.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/email.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/exec.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/history.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/nosound.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/redirect.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/refresh.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/send.jpg (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/sound.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/ssl.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/buttons/tracked.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/error.gif (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/images/toolbar_bg.jpg (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/.htaccess (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/agentchat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/agentrochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/chat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/chatsimple.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/error.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/leavemessage.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/leavemessagesent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/mail.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/mailsent.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/nochat.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/redirect.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/redirected.tpl (100%) rename src/messenger/webim/styles/{ => dialogs}/simplicity/templates/survey.tpl (100%) create mode 100644 src/messenger/webim/styles/invitations/default/invite.css create mode 100644 src/messenger/webim/view/invitation_themes.php diff --git a/src/messenger/webim/client.php b/src/messenger/webim/client.php index c3b64685..0d60d443 100644 --- a/src/messenger/webim/client.php +++ b/src/messenger/webim/client.php @@ -93,7 +93,7 @@ if( !isset($_GET['token']) || !isset($_GET['thread']) ) { $page = array(); setup_logo(); setup_leavemessage($visitor['name'],$email,$firstmessage,$groupid,$groupname,$info,$referrer,can_show_captcha()); - expand("styles", getchatstyle(), "leavemessage.tpl"); + expand("styles/dialogs", getchatstyle(), "leavemessage.tpl"); exit; } @@ -101,7 +101,7 @@ if( !isset($_GET['token']) || !isset($_GET['thread']) ) { $page = array(); setup_logo(); setup_survey($visitor['name'], $email, $groupid, $info, $referrer); - expand("styles", getchatstyle(), "survey.tpl"); + expand("styles/dialogs", getchatstyle(), "survey.tpl"); exit; } @@ -160,13 +160,13 @@ setup_chatview_for_user($thread, $level); $pparam = verifyparam( "act", "/^(mailthread)$/", "default"); if( $pparam == "mailthread" ) { - expand("styles", getchatstyle(), "mail.tpl"); + expand("styles/dialogs", getchatstyle(), "mail.tpl"); } else if( $level == "ajaxed" ) { - expand("styles", getchatstyle(), "chat.tpl"); + expand("styles/dialogs", getchatstyle(), "chat.tpl"); } else if( $level == "simple" ) { - expand("styles", getchatstyle(), "chatsimple.tpl"); + expand("styles/dialogs", getchatstyle(), "chatsimple.tpl"); } else if( $level == "old" ) { - expand("styles", getchatstyle(), "nochat.tpl"); + expand("styles/dialogs", getchatstyle(), "nochat.tpl"); } ?> \ No newline at end of file diff --git a/src/messenger/webim/invite.css b/src/messenger/webim/invite.css deleted file mode 100644 index ef968af0..00000000 --- a/src/messenger/webim/invite.css +++ /dev/null @@ -1,65 +0,0 @@ -/* - This file is part of Mibew Messenger project. - - Copyright (c) 2005-2011 Mibew Messenger Community - All rights reserved. The contents of this file are subject to the terms of - the Eclipse Public License v1.0 which accompanies this distribution, and - is available at http://www.eclipse.org/legal/epl-v10.html - - Alternatively, the contents of this file may be used under the terms of - the GNU General Public License Version 2 or later (the "GPL"), in which case - the provisions of the GPL are applicable instead of those above. If you wish - to allow use of your version of this file only under the terms of the GPL, and - not to allow others to use your version of this file under the terms of the - EPL, indicate your decision by deleting the provisions above and replace them - with the notice and other provisions required by the GPL. -*/ - -#mibewinvitationpopup { - border: 1px solid #aaa; - background-color: #ddd; - padding: 5px; - position: fixed; - top: 50%; - left: 0; - width: 400px; -} - -#mibewinvitationpopup h1, #mibewinvitationpopup p, #mibewinvitationclose a { - cursor: pointer; -} - -#mibewinvitationclose { - float: right; - background-color: red; - padding: 1px; - margin: 0; -} - -#mibewinvitationclose a { - font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; - font-size: 20px; - font-weight: bold; - color: white; - margin: 0 4px 0 4px; -} - -#mibewinvitationclose a, #mibewinvitationclose a:link, #mibewinvitationclose a:hover { - text-decoration: none; -} - -#mibewinvitationpopup h1 { - text-align: center; -} - -#mibewinvitationpopup p { - padding: 2px; - margin: 2px; -} - -#mibewinvitationavatar { - margin: 2px; - margin-right: 5px; - cursor: pointer; - float: left; -} diff --git a/src/messenger/webim/leavemessage.php b/src/messenger/webim/leavemessage.php index 12a407c9..bf13a34a 100644 --- a/src/messenger/webim/leavemessage.php +++ b/src/messenger/webim/leavemessage.php @@ -95,7 +95,7 @@ if($settings["enablecaptcha"] == "1" && can_show_captcha()) { if( count($errors) > 0 ) { setup_leavemessage($visitor_name,$email,$message,$groupid,$groupname,$info,$referrer,can_show_captcha()); setup_logo(); - expand("styles", getchatstyle(), "leavemessage.tpl"); + expand("styles/dialogs", getchatstyle(), "leavemessage.tpl"); exit; } @@ -122,5 +122,5 @@ if($inbox_mail) { } setup_logo(); -expand("styles", getchatstyle(), "leavemessagesent.tpl"); +expand("styles/dialogs", getchatstyle(), "leavemessagesent.tpl"); ?> \ No newline at end of file diff --git a/src/messenger/webim/libs/expand.php b/src/messenger/webim/libs/expand.php index c82c407d..755d60ef 100644 --- a/src/messenger/webim/libs/expand.php +++ b/src/messenger/webim/libs/expand.php @@ -55,7 +55,7 @@ function expand_var($matches) } else if ($var == 'jsver') { return $jsver; } else if ($var == 'tplroot') { - return "$webimroot/styles/$current_style"; + return "$webimroot/styles/dialogs/$current_style"; } else if ($var == 'styleid') { return $current_style; } else if ($var == 'pagination') { diff --git a/src/messenger/webim/libs/getcode.php b/src/messenger/webim/libs/getcode.php index db248ecf..6a229a14 100644 --- a/src/messenger/webim/libs/getcode.php +++ b/src/messenger/webim/libs/getcode.php @@ -19,7 +19,7 @@ * Evgeny Gryaznov - initial API and implementation */ -function generate_button($title, $locale, $style, $group, $inner, $showhost, $forcesecure, $modsecurity) +function generate_button($title, $locale, $style, $invitationstyle, $group, $inner, $showhost, $forcesecure, $modsecurity) { global $settings; $link = get_app_location($showhost, $forcesecure) . "/client.php"; @@ -38,6 +38,8 @@ function generate_button($title, $locale, $style, $group, $inner, $showhost, $fo $temp = preg_replace('/^(" . $temp . ""; } -function get_style_list($stylesfolder) -{ - $stylelist = array("" => getlocal("page.preview.style_default")); - if ($handle = opendir($stylesfolder)) { - while (false !== ($file = readdir($handle))) { - if (preg_match("/^\w+$/", $file) && is_dir("$stylesfolder/$file")) { - $stylelist[$file] = $file; - } - } - closedir($handle); - } - return $stylelist; -} - function verifyparam_groupid($paramid) { global $settings, $errors; diff --git a/src/messenger/webim/libs/settings.php b/src/messenger/webim/libs/settings.php index 85680bf8..20b478ca 100644 --- a/src/messenger/webim/libs/settings.php +++ b/src/messenger/webim/libs/settings.php @@ -36,13 +36,16 @@ function update_settings() function setup_settings_tabs($active) { - global $page, $webimroot; + global $settings, $page, $webimroot; $page['tabs'] = array( getlocal("page_settings.tab.main") => $active != 0 ? "$webimroot/operator/settings.php" : "", getlocal("page_settings.tab.features") => $active != 1 ? "$webimroot/operator/features.php" : "", getlocal("page_settings.tab.performance") => $active != 2 ? "$webimroot/operator/performance.php" : "", getlocal("page_settings.tab.themes") => $active != 3 ? "$webimroot/operator/themes.php" : "", ); + if ($settings['enabletracking']) { + $page['tabs'][getlocal("page_settings.tab.invitationthemes")] = ($active != 4 ? "$webimroot/operator/invitationthemes.php" : ""); + } } ?> diff --git a/src/messenger/webim/libs/styles.php b/src/messenger/webim/libs/styles.php new file mode 100644 index 00000000..d6dd5174 --- /dev/null +++ b/src/messenger/webim/libs/styles.php @@ -0,0 +1,36 @@ + diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index 9018f58a..14852919 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -265,6 +265,7 @@ page.chat.old_browser.problem=

Your web browser is not fully supported. \nPlea page.chat.old_browser.title=Please use a more recent browser page.gen_button.choose_group=Code for group page.gen_button.choose_image=Choose image +page.gen_button.choose_invitationstyle=Invitation style page.gen_button.choose_locale=Code for language page.gen_button.choose_style=Chat window style page.gen_button.code.description=Caution! Please don't change
the code manually because
we don't guarantee that
it will work! @@ -361,7 +362,8 @@ page_settings.intro=Specify options affecting chat window and common system beha page_settings.tab.features=Optional Services page_settings.tab.main=General page_settings.tab.performance=Performance -page_settings.tab.themes=Themes preview +page_settings.tab.themes=Chat themes preview +page_settings.tab.invitationthemes=Invitation themes preview pending.menu.hide=Hide menu >> pending.menu.show=Show menu >> pending.popup_notification=A new visitor is waiting for an answer. @@ -467,8 +469,10 @@ settings.host.description=Destination for your company name or logo link settings.host=URL of your website settings.invitationlifetime.description=Specify the lifetime of invitation in seconds. Default is 60 seconds. settings.invitationlifetime=Invitation lifetime +settings.invitationstyle.description=A preview for invitation style is available
here +settings.invitationstyle=Select a style for your invitation settings.leavemessage_captcha.description=Protection against automated spam (captcha) -settings.leavemessage_captcha=Force visitor to enter a verification code when leaving message +settings.leavemessage_captcha=Force visitorOD to enter a verification code when leaving message settings.logo.description=Enter http address of your company logo settings.logo=Your company logo settings.no.title=Please enter your company title diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index e901b141..558f8b2c 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -263,6 +263,7 @@ page.chat.old_browser.problem=

page.chat.old_browser.title=Используйте более новый browser page.gen_button.choose_group=Для группы page.gen_button.choose_image=Выбор картинки +page.gen_button.choose_invitationstyle=Стиль приглашения page.gen_button.choose_locale=Для какой локали создавать кнопку page.gen_button.choose_style=Стиль чат-окна page.gen_button.code.description=Внимание! При внесении
каких-либо изменений
в этот код работоспособность
кнопки не гарантируется! @@ -359,7 +360,8 @@ page_settings.intro= page_settings.tab.features=Расширения page_settings.tab.main=Общее page_settings.tab.performance=Производительность -page_settings.tab.themes=Просмотр стилей +page_settings.tab.themes=Просмотр стилей диалогов +page_settings.tab.invitationthemes=Просмотр стилей приглашений pending.menu.hide=Спрятать меню >> pending.menu.show=Показать меню >> pending.popup_notification=Новый посетитель ожидает ответа. @@ -457,6 +459,8 @@ settings.host.description= settings.host=Ссылка на ваш веб сайт settings.invitationlifetime.description=Укажите срок действия приглашения к диалогу в секундах. По умолчанию, 60 секунд. settings.invitationlifetime=Срок действия приглашения +settings.invitationstyle.description=Предпросмотр стиля приглашения доступен здесь +settings.invitationstyle=Выберите вид приглашения settings.leavemessage_captcha.description=Защита от автоматизированного спама (captcha) settings.leavemessage_captcha=Разрешать оставлять сообщение только после ввода специального кода с картинки settings.logo.description=Введите ссылку на логотип компании diff --git a/src/messenger/webim/mail.php b/src/messenger/webim/mail.php index bfe7166d..b1572e12 100644 --- a/src/messenger/webim/mail.php +++ b/src/messenger/webim/mail.php @@ -50,7 +50,7 @@ if( count($errors) > 0 ) { $page['ct.token'] = $thread['ltoken']; $page['level'] = ""; setup_logo(); - expand("styles", getchatstyle(), "mail.tpl"); + expand("styles/dialogs", getchatstyle(), "mail.tpl"); exit; } @@ -69,6 +69,6 @@ webim_mail($email, $webim_mailbox, $subject, $body, $link); close_connection($link); setup_logo(); -expand("styles", getchatstyle(), "mailsent.tpl"); +expand("styles/dialogs", getchatstyle(), "mailsent.tpl"); exit; ?> \ No newline at end of file diff --git a/src/messenger/webim/operator/agent.php b/src/messenger/webim/operator/agent.php index c8e93ff0..a48d4d8a 100644 --- a/src/messenger/webim/operator/agent.php +++ b/src/messenger/webim/operator/agent.php @@ -63,7 +63,7 @@ if (!isset($_GET['token'])) { if (!is_capable($can_takeover, $operator)) { $errors = array("Cannot take over"); start_html_output(); - expand("../styles", getchatstyle(), "error.tpl"); + expand("../styles/dialogs", getchatstyle(), "error.tpl"); exit; } @@ -82,7 +82,7 @@ if (!isset($_GET['token'])) { } else if (!is_capable($can_viewthreads, $operator)) { $errors = array("Cannot view threads"); start_html_output(); - expand("../styles", getchatstyle(), "error.tpl"); + expand("../styles/dialogs", getchatstyle(), "error.tpl"); exit; } @@ -101,7 +101,7 @@ if (!$thread || !isset($thread['ltoken']) || $token != $thread['ltoken']) { if ($thread['agentId'] != $operator['operatorid'] && !is_capable($can_viewthreads, $operator)) { $errors = array("Cannot view threads"); start_html_output(); - expand("../styles", getchatstyle(), "error.tpl"); + expand("../styles/dialogs", getchatstyle(), "error.tpl"); exit; } @@ -112,9 +112,9 @@ start_html_output(); $pparam = verifyparam("act", "/^(redirect)$/", "default"); if ($pparam == "redirect") { setup_redirect_links($threadid, $token); - expand("../styles", getchatstyle(), "redirect.tpl"); + expand("../styles/dialogs", getchatstyle(), "redirect.tpl"); } else { - expand("../styles", getchatstyle(), "chat.tpl"); + expand("../styles/dialogs", getchatstyle(), "chat.tpl"); } ?> \ No newline at end of file diff --git a/src/messenger/webim/operator/getcode.php b/src/messenger/webim/operator/getcode.php index c8dc3c14..ac19aa8b 100644 --- a/src/messenger/webim/operator/getcode.php +++ b/src/messenger/webim/operator/getcode.php @@ -23,6 +23,7 @@ require_once('../libs/common.php'); require_once('../libs/operator.php'); require_once('../libs/groups.php'); require_once('../libs/getcode.php'); +require_once('../libs/styles.php'); $operator = check_login(); force_password($operator); @@ -38,12 +39,20 @@ if (!isset($imageLocales[$image])) { } $image_locales = $imageLocales[$image]; -$stylelist = get_style_list("../styles"); +$stylelist = get_style_list("../styles/dialogs"); +$stylelist[""] = getlocal("page.preview.style_default"); $style = verifyparam("style", "/^\w*$/", ""); if ($style && !in_array($style, $stylelist)) { $style = ""; } +$invitationstylelist = get_style_list("../styles/invitations"); +$invitationstylelist[""] = getlocal("page.preview.style_default"); +$invitationstyle = verifyparam("invitationstyle", "/^\w*$/", ""); +if ($invitationstyle && !in_array($invitationstyle, $invitationstylelist)) { + $invitationstyle = ""; +} + $groupid = verifyparam_groupid("group"); $showhost = verifyparam("hostname", "/^on$/", "") == "on"; $forcesecure = verifyparam("secure", "/^on$/", "") == "on"; @@ -63,20 +72,24 @@ if ($groupid) { $message = get_image($imagehref, $size[0], $size[1]); $page = array(); -$page['buttonCode'] = generate_button("", $lang, $style, $groupid, $message, $showhost, $forcesecure, $modsecurity); +$page['buttonCode'] = generate_button("", $lang, $style, $invitationstyle, $groupid, $message, $showhost, $forcesecure, $modsecurity); $page['availableImages'] = array_keys($imageLocales); $page['availableLocales'] = $image_locales; -$page['availableStyles'] = $stylelist; +$page['availableChatStyles'] = $stylelist; +$page['availableInvitationStyles'] = $invitationstylelist; $page['groups'] = get_groups_list(); $page['formgroup'] = $groupid; $page['formstyle'] = $style; +$page['forminvitationstyle'] = $invitationstyle; $page['formimage'] = $image; $page['formlang'] = $lang; $page['formhostname'] = $showhost; $page['formsecure'] = $forcesecure; $page['formmodsecurity'] = $modsecurity; +$page['enabletracking'] = $settings['enabletracking']; + prepare_menu($operator); start_html_output(); require('../view/gen_button.php'); diff --git a/src/messenger/webim/operator/invitationthemes.php b/src/messenger/webim/operator/invitationthemes.php new file mode 100644 index 00000000..a8783f38 --- /dev/null +++ b/src/messenger/webim/operator/invitationthemes.php @@ -0,0 +1,48 @@ + \ No newline at end of file diff --git a/src/messenger/webim/operator/redirect.php b/src/messenger/webim/operator/redirect.php index bb27d0eb..ee0e0ca9 100644 --- a/src/messenger/webim/operator/redirect.php +++ b/src/messenger/webim/operator/redirect.php @@ -88,9 +88,9 @@ if (isset($_GET['nextGroup'])) { setup_logo(); if (count($errors) > 0) { - expand("../styles", getchatstyle(), "error.tpl"); + expand("../styles/dialogs", getchatstyle(), "error.tpl"); } else { - expand("../styles", getchatstyle(), "redirected.tpl"); + expand("../styles/dialogs", getchatstyle(), "redirected.tpl"); } ?> \ No newline at end of file diff --git a/src/messenger/webim/operator/settings.php b/src/messenger/webim/operator/settings.php index 894e8d6d..057c7ae3 100644 --- a/src/messenger/webim/operator/settings.php +++ b/src/messenger/webim/operator/settings.php @@ -22,6 +22,7 @@ require_once('../libs/common.php'); require_once('../libs/operator.php'); require_once('../libs/settings.php'); +require_once('../libs/styles.php'); $operator = check_login(); force_password($operator); @@ -29,22 +30,19 @@ force_password($operator); $page = array('agentId' => ''); $errors = array(); -$stylelist = array(); -$stylesfolder = "../styles"; -if ($handle = opendir($stylesfolder)) { - while (false !== ($file = readdir($handle))) { - if (preg_match("/^\w+$/", $file) && is_dir("$stylesfolder/$file")) { - $stylelist[] = $file; - } - } - closedir($handle); -} +$stylelist = get_style_list("../styles/dialogs"); $options = array( 'email', 'title', 'logo', 'hosturl', 'usernamepattern', 'chatstyle', 'chattitle', 'geolink', 'geolinkparams', 'sendmessagekey'); loadsettings(); + +if ($settings['enabletracking']) { + $options[] = 'invitationstyle'; + $invitationstylelist = get_style_list("../styles/invitations"); +} + $params = array(); foreach ($options as $opt) { $params[$opt] = $settings[$opt]; @@ -66,6 +64,13 @@ if (isset($_POST['email']) && isset($_POST['title']) && isset($_POST['logo'])) { $params['chatstyle'] = $stylelist[0]; } + if ($settings['enabletracking']) { + $params['invitationstyle'] = verifyparam("invitationstyle", "/^\w+$/", $params['invitationstyle']); + if (!in_array($params['invitationstyle'], $invitationstylelist)) { + $params['invitationstyle'] = $invitationstylelist[0]; + } + } + if ($params['email'] && !is_valid_email($params['email'])) { $errors[] = getlocal("settings.wrong.email"); } @@ -98,8 +103,14 @@ $page['formusernamepattern'] = topage($params['usernamepattern']); $page['formchatstyle'] = $params['chatstyle']; $page['formchattitle'] = topage($params['chattitle']); $page['formsendmessagekey'] = $params['sendmessagekey']; -$page['availableStyles'] = $stylelist; +$page['availableChatStyles'] = $stylelist; $page['stored'] = isset($_GET['stored']); +$page['enabletracking'] = $settings['enabletracking']; + +if ($settings['enabletracking']) { + $page['forminvitationstyle'] = $params['invitationstyle']; + $page['availableInvitationStyles'] = $invitationstylelist; +} prepare_menu($operator); setup_settings_tabs(0); diff --git a/src/messenger/webim/operator/themes.php b/src/messenger/webim/operator/themes.php index d9169bee..66a24677 100644 --- a/src/messenger/webim/operator/themes.php +++ b/src/messenger/webim/operator/themes.php @@ -26,19 +26,11 @@ require_once('../libs/operator.php'); require_once('../libs/groups.php'); require_once('../libs/expand.php'); require_once('../libs/settings.php'); +require_once('../libs/styles.php'); $operator = check_login(); -$stylelist = array(); -$stylesfolder = "../styles"; -if ($handle = opendir($stylesfolder)) { - while (false !== ($file = readdir($handle))) { - if (preg_match("/^\w+$/", $file) && is_dir("$stylesfolder/$file")) { - $stylelist[] = $file; - } - } - closedir($handle); -} +$stylelist = get_style_list("../styles/dialogs"); $preview = verifyparam("preview", "/^\w+$/", "default"); if (!in_array($preview, $stylelist)) { @@ -56,20 +48,20 @@ if ($show == 'chat' || $show == 'mail' || $show == 'leavemessage' || $show == 'l setup_chatview_for_user(array('threadid' => 0, 'userName' => getstring("chat.default.username"), 'ltoken' => 123), "ajaxed"); $page['mailLink'] = "$webimroot/operator/themes.php?preview=$preview&show=mail"; $page['info'] = ""; - expand("../styles", "$preview", "$show.tpl"); + expand("../styles/dialogs", "$preview", "$show.tpl"); exit; } if ($show == 'survey') { loadsettings(); setup_survey("Visitor", "", "", "", "http://google.com"); setup_logo(); - expand("../styles", "$preview", "$show.tpl"); + expand("../styles/dialogs", "$preview", "$show.tpl"); exit; } if ($show == 'mailsent' || $show == 'error') { $page['email'] = "admin@yourdomain.com"; setup_logo(); - expand("../styles", "$preview", "$show.tpl"); + expand("../styles/dialogs", "$preview", "$show.tpl"); exit; } if ($show == 'redirect' || $show == 'redirected' || $show == 'agentchat' || $show == 'agentrochat') { @@ -92,7 +84,7 @@ if ($show == 'redirect' || $show == 'redirected' || $show == 'agentchat' || $sho $page['message'] = getlocal2("chat.redirected.content", array("Administrator")); } $page['redirectLink'] = "$webimroot/operator/themes.php?preview=$preview&show=redirect"; - expand("../styles", "$preview", "$show.tpl"); + expand("../styles/dialogs", "$preview", "$show.tpl"); exit; } diff --git a/src/messenger/webim/styles/default/chat.css b/src/messenger/webim/styles/dialogs/default/chat.css similarity index 100% rename from src/messenger/webim/styles/default/chat.css rename to src/messenger/webim/styles/dialogs/default/chat.css diff --git a/src/messenger/webim/styles/default/images/bg_btn.gif b/src/messenger/webim/styles/dialogs/default/images/bg_btn.gif similarity index 100% rename from src/messenger/webim/styles/default/images/bg_btn.gif rename to src/messenger/webim/styles/dialogs/default/images/bg_btn.gif diff --git a/src/messenger/webim/styles/default/images/bg_domain.gif b/src/messenger/webim/styles/dialogs/default/images/bg_domain.gif similarity index 100% rename from src/messenger/webim/styles/default/images/bg_domain.gif rename to src/messenger/webim/styles/dialogs/default/images/bg_domain.gif diff --git a/src/messenger/webim/styles/default/images/butbg.gif b/src/messenger/webim/styles/dialogs/default/images/butbg.gif similarity index 100% rename from src/messenger/webim/styles/default/images/butbg.gif rename to src/messenger/webim/styles/dialogs/default/images/butbg.gif diff --git a/src/messenger/webim/styles/default/images/buttondiv.gif b/src/messenger/webim/styles/dialogs/default/images/buttondiv.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttondiv.gif rename to src/messenger/webim/styles/dialogs/default/images/buttondiv.gif diff --git a/src/messenger/webim/styles/default/images/buttons/back.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/back.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/back.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/back.gif diff --git a/src/messenger/webim/styles/default/images/buttons/close.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/close.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/close.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/close.gif diff --git a/src/messenger/webim/styles/default/images/buttons/closewin.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/closewin.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/closewin.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/closewin.gif diff --git a/src/messenger/webim/styles/default/images/buttons/email.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/email.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/email.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/email.gif diff --git a/src/messenger/webim/styles/default/images/buttons/exec.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/exec.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/exec.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/exec.gif diff --git a/src/messenger/webim/styles/default/images/buttons/refresh.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/refresh.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/refresh.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/refresh.gif diff --git a/src/messenger/webim/styles/default/images/buttons/tracked.gif b/src/messenger/webim/styles/dialogs/default/images/buttons/tracked.gif similarity index 100% rename from src/messenger/webim/styles/default/images/buttons/tracked.gif rename to src/messenger/webim/styles/dialogs/default/images/buttons/tracked.gif diff --git a/src/messenger/webim/styles/default/images/quadrat.gif b/src/messenger/webim/styles/dialogs/default/images/quadrat.gif similarity index 100% rename from src/messenger/webim/styles/default/images/quadrat.gif rename to src/messenger/webim/styles/dialogs/default/images/quadrat.gif diff --git a/src/messenger/webim/styles/default/images/wmchat.png b/src/messenger/webim/styles/dialogs/default/images/wmchat.png similarity index 100% rename from src/messenger/webim/styles/default/images/wmchat.png rename to src/messenger/webim/styles/dialogs/default/images/wmchat.png diff --git a/src/messenger/webim/styles/default/templates/.htaccess b/src/messenger/webim/styles/dialogs/default/templates/.htaccess similarity index 100% rename from src/messenger/webim/styles/default/templates/.htaccess rename to src/messenger/webim/styles/dialogs/default/templates/.htaccess diff --git a/src/messenger/webim/styles/default/templates/agentchat.tpl b/src/messenger/webim/styles/dialogs/default/templates/agentchat.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/agentchat.tpl rename to src/messenger/webim/styles/dialogs/default/templates/agentchat.tpl diff --git a/src/messenger/webim/styles/default/templates/agentrochat.tpl b/src/messenger/webim/styles/dialogs/default/templates/agentrochat.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/agentrochat.tpl rename to src/messenger/webim/styles/dialogs/default/templates/agentrochat.tpl diff --git a/src/messenger/webim/styles/default/templates/chat.tpl b/src/messenger/webim/styles/dialogs/default/templates/chat.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/chat.tpl rename to src/messenger/webim/styles/dialogs/default/templates/chat.tpl diff --git a/src/messenger/webim/styles/default/templates/chatsimple.tpl b/src/messenger/webim/styles/dialogs/default/templates/chatsimple.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/chatsimple.tpl rename to src/messenger/webim/styles/dialogs/default/templates/chatsimple.tpl diff --git a/src/messenger/webim/styles/default/templates/error.tpl b/src/messenger/webim/styles/dialogs/default/templates/error.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/error.tpl rename to src/messenger/webim/styles/dialogs/default/templates/error.tpl diff --git a/src/messenger/webim/styles/default/templates/leavemessage.tpl b/src/messenger/webim/styles/dialogs/default/templates/leavemessage.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/leavemessage.tpl rename to src/messenger/webim/styles/dialogs/default/templates/leavemessage.tpl diff --git a/src/messenger/webim/styles/default/templates/leavemessagesent.tpl b/src/messenger/webim/styles/dialogs/default/templates/leavemessagesent.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/leavemessagesent.tpl rename to src/messenger/webim/styles/dialogs/default/templates/leavemessagesent.tpl diff --git a/src/messenger/webim/styles/default/templates/mail.tpl b/src/messenger/webim/styles/dialogs/default/templates/mail.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/mail.tpl rename to src/messenger/webim/styles/dialogs/default/templates/mail.tpl diff --git a/src/messenger/webim/styles/default/templates/mailsent.tpl b/src/messenger/webim/styles/dialogs/default/templates/mailsent.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/mailsent.tpl rename to src/messenger/webim/styles/dialogs/default/templates/mailsent.tpl diff --git a/src/messenger/webim/styles/default/templates/nochat.tpl b/src/messenger/webim/styles/dialogs/default/templates/nochat.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/nochat.tpl rename to src/messenger/webim/styles/dialogs/default/templates/nochat.tpl diff --git a/src/messenger/webim/styles/default/templates/redirect.tpl b/src/messenger/webim/styles/dialogs/default/templates/redirect.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/redirect.tpl rename to src/messenger/webim/styles/dialogs/default/templates/redirect.tpl diff --git a/src/messenger/webim/styles/default/templates/redirected.tpl b/src/messenger/webim/styles/dialogs/default/templates/redirected.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/redirected.tpl rename to src/messenger/webim/styles/dialogs/default/templates/redirected.tpl diff --git a/src/messenger/webim/styles/default/templates/survey.tpl b/src/messenger/webim/styles/dialogs/default/templates/survey.tpl similarity index 100% rename from src/messenger/webim/styles/default/templates/survey.tpl rename to src/messenger/webim/styles/dialogs/default/templates/survey.tpl diff --git a/src/messenger/webim/styles/original/chat.css b/src/messenger/webim/styles/dialogs/original/chat.css similarity index 100% rename from src/messenger/webim/styles/original/chat.css rename to src/messenger/webim/styles/dialogs/original/chat.css diff --git a/src/messenger/webim/styles/original/images/banner.png b/src/messenger/webim/styles/dialogs/original/images/banner.png similarity index 100% rename from src/messenger/webim/styles/original/images/banner.png rename to src/messenger/webim/styles/dialogs/original/images/banner.png diff --git a/src/messenger/webim/styles/original/images/bg.gif b/src/messenger/webim/styles/dialogs/original/images/bg.gif similarity index 100% rename from src/messenger/webim/styles/original/images/bg.gif rename to src/messenger/webim/styles/dialogs/original/images/bg.gif diff --git a/src/messenger/webim/styles/original/images/buttondiv.gif b/src/messenger/webim/styles/dialogs/original/images/buttondiv.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttondiv.gif rename to src/messenger/webim/styles/dialogs/original/images/buttondiv.gif diff --git a/src/messenger/webim/styles/original/images/buttons/close.gif b/src/messenger/webim/styles/dialogs/original/images/buttons/close.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttons/close.gif rename to src/messenger/webim/styles/dialogs/original/images/buttons/close.gif diff --git a/src/messenger/webim/styles/original/images/buttons/closewin.gif b/src/messenger/webim/styles/dialogs/original/images/buttons/closewin.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttons/closewin.gif rename to src/messenger/webim/styles/dialogs/original/images/buttons/closewin.gif diff --git a/src/messenger/webim/styles/original/images/buttons/email.gif b/src/messenger/webim/styles/dialogs/original/images/buttons/email.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttons/email.gif rename to src/messenger/webim/styles/dialogs/original/images/buttons/email.gif diff --git a/src/messenger/webim/styles/original/images/buttons/exec.gif b/src/messenger/webim/styles/dialogs/original/images/buttons/exec.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttons/exec.gif rename to src/messenger/webim/styles/dialogs/original/images/buttons/exec.gif diff --git a/src/messenger/webim/styles/original/images/buttons/refresh.gif b/src/messenger/webim/styles/dialogs/original/images/buttons/refresh.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttons/refresh.gif rename to src/messenger/webim/styles/dialogs/original/images/buttons/refresh.gif diff --git a/src/messenger/webim/styles/original/images/buttons/tracked.gif b/src/messenger/webim/styles/dialogs/original/images/buttons/tracked.gif similarity index 100% rename from src/messenger/webim/styles/original/images/buttons/tracked.gif rename to src/messenger/webim/styles/dialogs/original/images/buttons/tracked.gif diff --git a/src/messenger/webim/styles/original/images/winbg.gif b/src/messenger/webim/styles/dialogs/original/images/winbg.gif similarity index 100% rename from src/messenger/webim/styles/original/images/winbg.gif rename to src/messenger/webim/styles/dialogs/original/images/winbg.gif diff --git a/src/messenger/webim/styles/original/images/wmchat.png b/src/messenger/webim/styles/dialogs/original/images/wmchat.png similarity index 100% rename from src/messenger/webim/styles/original/images/wmchat.png rename to src/messenger/webim/styles/dialogs/original/images/wmchat.png diff --git a/src/messenger/webim/styles/original/images/wmfrm.png b/src/messenger/webim/styles/dialogs/original/images/wmfrm.png similarity index 100% rename from src/messenger/webim/styles/original/images/wmfrm.png rename to src/messenger/webim/styles/dialogs/original/images/wmfrm.png diff --git a/src/messenger/webim/styles/original/templates/.htaccess b/src/messenger/webim/styles/dialogs/original/templates/.htaccess similarity index 100% rename from src/messenger/webim/styles/original/templates/.htaccess rename to src/messenger/webim/styles/dialogs/original/templates/.htaccess diff --git a/src/messenger/webim/styles/original/templates/agentchat.tpl b/src/messenger/webim/styles/dialogs/original/templates/agentchat.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/agentchat.tpl rename to src/messenger/webim/styles/dialogs/original/templates/agentchat.tpl diff --git a/src/messenger/webim/styles/original/templates/agentrochat.tpl b/src/messenger/webim/styles/dialogs/original/templates/agentrochat.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/agentrochat.tpl rename to src/messenger/webim/styles/dialogs/original/templates/agentrochat.tpl diff --git a/src/messenger/webim/styles/original/templates/chat.tpl b/src/messenger/webim/styles/dialogs/original/templates/chat.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/chat.tpl rename to src/messenger/webim/styles/dialogs/original/templates/chat.tpl diff --git a/src/messenger/webim/styles/original/templates/chatsimple.tpl b/src/messenger/webim/styles/dialogs/original/templates/chatsimple.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/chatsimple.tpl rename to src/messenger/webim/styles/dialogs/original/templates/chatsimple.tpl diff --git a/src/messenger/webim/styles/original/templates/error.tpl b/src/messenger/webim/styles/dialogs/original/templates/error.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/error.tpl rename to src/messenger/webim/styles/dialogs/original/templates/error.tpl diff --git a/src/messenger/webim/styles/original/templates/leavemessage.tpl b/src/messenger/webim/styles/dialogs/original/templates/leavemessage.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/leavemessage.tpl rename to src/messenger/webim/styles/dialogs/original/templates/leavemessage.tpl diff --git a/src/messenger/webim/styles/original/templates/leavemessagesent.tpl b/src/messenger/webim/styles/dialogs/original/templates/leavemessagesent.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/leavemessagesent.tpl rename to src/messenger/webim/styles/dialogs/original/templates/leavemessagesent.tpl diff --git a/src/messenger/webim/styles/original/templates/mail.tpl b/src/messenger/webim/styles/dialogs/original/templates/mail.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/mail.tpl rename to src/messenger/webim/styles/dialogs/original/templates/mail.tpl diff --git a/src/messenger/webim/styles/original/templates/mailsent.tpl b/src/messenger/webim/styles/dialogs/original/templates/mailsent.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/mailsent.tpl rename to src/messenger/webim/styles/dialogs/original/templates/mailsent.tpl diff --git a/src/messenger/webim/styles/original/templates/nochat.tpl b/src/messenger/webim/styles/dialogs/original/templates/nochat.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/nochat.tpl rename to src/messenger/webim/styles/dialogs/original/templates/nochat.tpl diff --git a/src/messenger/webim/styles/original/templates/redirect.tpl b/src/messenger/webim/styles/dialogs/original/templates/redirect.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/redirect.tpl rename to src/messenger/webim/styles/dialogs/original/templates/redirect.tpl diff --git a/src/messenger/webim/styles/original/templates/redirected.tpl b/src/messenger/webim/styles/dialogs/original/templates/redirected.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/redirected.tpl rename to src/messenger/webim/styles/dialogs/original/templates/redirected.tpl diff --git a/src/messenger/webim/styles/original/templates/survey.tpl b/src/messenger/webim/styles/dialogs/original/templates/survey.tpl similarity index 100% rename from src/messenger/webim/styles/original/templates/survey.tpl rename to src/messenger/webim/styles/dialogs/original/templates/survey.tpl diff --git a/src/messenger/webim/styles/silver/chat.css b/src/messenger/webim/styles/dialogs/silver/chat.css similarity index 100% rename from src/messenger/webim/styles/silver/chat.css rename to src/messenger/webim/styles/dialogs/silver/chat.css diff --git a/src/messenger/webim/styles/silver/images/avatar.jpg b/src/messenger/webim/styles/dialogs/silver/images/avatar.jpg similarity index 100% rename from src/messenger/webim/styles/silver/images/avatar.jpg rename to src/messenger/webim/styles/dialogs/silver/images/avatar.jpg diff --git a/src/messenger/webim/styles/silver/images/avatarbg.gif b/src/messenger/webim/styles/dialogs/silver/images/avatarbg.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/avatarbg.gif rename to src/messenger/webim/styles/dialogs/silver/images/avatarbg.gif diff --git a/src/messenger/webim/styles/silver/images/bottombg.gif b/src/messenger/webim/styles/dialogs/silver/images/bottombg.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/bottombg.gif rename to src/messenger/webim/styles/dialogs/silver/images/bottombg.gif diff --git a/src/messenger/webim/styles/silver/images/buttons.gif b/src/messenger/webim/styles/dialogs/silver/images/buttons.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/buttons.gif rename to src/messenger/webim/styles/dialogs/silver/images/buttons.gif diff --git a/src/messenger/webim/styles/silver/images/chatbgl.gif b/src/messenger/webim/styles/dialogs/silver/images/chatbgl.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/chatbgl.gif rename to src/messenger/webim/styles/dialogs/silver/images/chatbgl.gif diff --git a/src/messenger/webim/styles/silver/images/chatbgr.gif b/src/messenger/webim/styles/dialogs/silver/images/chatbgr.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/chatbgr.gif rename to src/messenger/webim/styles/dialogs/silver/images/chatbgr.gif diff --git a/src/messenger/webim/styles/silver/images/chatheaderbg.gif b/src/messenger/webim/styles/dialogs/silver/images/chatheaderbg.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/chatheaderbg.gif rename to src/messenger/webim/styles/dialogs/silver/images/chatheaderbg.gif diff --git a/src/messenger/webim/styles/silver/images/chatheaderbgc.gif b/src/messenger/webim/styles/dialogs/silver/images/chatheaderbgc.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/chatheaderbgc.gif rename to src/messenger/webim/styles/dialogs/silver/images/chatheaderbgc.gif diff --git a/src/messenger/webim/styles/silver/images/chatheaderbgl.gif b/src/messenger/webim/styles/dialogs/silver/images/chatheaderbgl.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/chatheaderbgl.gif rename to src/messenger/webim/styles/dialogs/silver/images/chatheaderbgl.gif diff --git a/src/messenger/webim/styles/silver/images/chatheaderbgr.gif b/src/messenger/webim/styles/dialogs/silver/images/chatheaderbgr.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/chatheaderbgr.gif rename to src/messenger/webim/styles/dialogs/silver/images/chatheaderbgr.gif diff --git a/src/messenger/webim/styles/silver/images/content.gif b/src/messenger/webim/styles/dialogs/silver/images/content.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/content.gif rename to src/messenger/webim/styles/dialogs/silver/images/content.gif diff --git a/src/messenger/webim/styles/silver/images/default-logo.gif b/src/messenger/webim/styles/dialogs/silver/images/default-logo.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/default-logo.gif rename to src/messenger/webim/styles/dialogs/silver/images/default-logo.gif diff --git a/src/messenger/webim/styles/silver/images/input_name.gif b/src/messenger/webim/styles/dialogs/silver/images/input_name.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/input_name.gif rename to src/messenger/webim/styles/dialogs/silver/images/input_name.gif diff --git a/src/messenger/webim/styles/silver/images/list.gif b/src/messenger/webim/styles/dialogs/silver/images/list.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/list.gif rename to src/messenger/webim/styles/dialogs/silver/images/list.gif diff --git a/src/messenger/webim/styles/silver/images/logobg.gif b/src/messenger/webim/styles/dialogs/silver/images/logobg.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/logobg.gif rename to src/messenger/webim/styles/dialogs/silver/images/logobg.gif diff --git a/src/messenger/webim/styles/silver/images/message.png b/src/messenger/webim/styles/dialogs/silver/images/message.png similarity index 100% rename from src/messenger/webim/styles/silver/images/message.png rename to src/messenger/webim/styles/dialogs/silver/images/message.png diff --git a/src/messenger/webim/styles/silver/images/sdwbgc.png b/src/messenger/webim/styles/dialogs/silver/images/sdwbgc.png similarity index 100% rename from src/messenger/webim/styles/silver/images/sdwbgc.png rename to src/messenger/webim/styles/dialogs/silver/images/sdwbgc.png diff --git a/src/messenger/webim/styles/silver/images/sdwbgl.png b/src/messenger/webim/styles/dialogs/silver/images/sdwbgl.png similarity index 100% rename from src/messenger/webim/styles/silver/images/sdwbgl.png rename to src/messenger/webim/styles/dialogs/silver/images/sdwbgl.png diff --git a/src/messenger/webim/styles/silver/images/sdwbgr.png b/src/messenger/webim/styles/dialogs/silver/images/sdwbgr.png similarity index 100% rename from src/messenger/webim/styles/silver/images/sdwbgr.png rename to src/messenger/webim/styles/dialogs/silver/images/sdwbgr.png diff --git a/src/messenger/webim/styles/silver/images/submit.gif b/src/messenger/webim/styles/dialogs/silver/images/submit.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/submit.gif rename to src/messenger/webim/styles/dialogs/silver/images/submit.gif diff --git a/src/messenger/webim/styles/silver/images/topbg.gif b/src/messenger/webim/styles/dialogs/silver/images/topbg.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/topbg.gif rename to src/messenger/webim/styles/dialogs/silver/images/topbg.gif diff --git a/src/messenger/webim/styles/silver/images/wndb.gif b/src/messenger/webim/styles/dialogs/silver/images/wndb.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/wndb.gif rename to src/messenger/webim/styles/dialogs/silver/images/wndb.gif diff --git a/src/messenger/webim/styles/silver/images/wndbl.gif b/src/messenger/webim/styles/dialogs/silver/images/wndbl.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/wndbl.gif rename to src/messenger/webim/styles/dialogs/silver/images/wndbl.gif diff --git a/src/messenger/webim/styles/silver/images/wndbr.gif b/src/messenger/webim/styles/dialogs/silver/images/wndbr.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/wndbr.gif rename to src/messenger/webim/styles/dialogs/silver/images/wndbr.gif diff --git a/src/messenger/webim/styles/silver/images/wndt.gif b/src/messenger/webim/styles/dialogs/silver/images/wndt.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/wndt.gif rename to src/messenger/webim/styles/dialogs/silver/images/wndt.gif diff --git a/src/messenger/webim/styles/silver/images/wndtl.gif b/src/messenger/webim/styles/dialogs/silver/images/wndtl.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/wndtl.gif rename to src/messenger/webim/styles/dialogs/silver/images/wndtl.gif diff --git a/src/messenger/webim/styles/silver/images/wndtr.gif b/src/messenger/webim/styles/dialogs/silver/images/wndtr.gif similarity index 100% rename from src/messenger/webim/styles/silver/images/wndtr.gif rename to src/messenger/webim/styles/dialogs/silver/images/wndtr.gif diff --git a/src/messenger/webim/styles/silver/templates/agentchat.tpl b/src/messenger/webim/styles/dialogs/silver/templates/agentchat.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/agentchat.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/agentchat.tpl diff --git a/src/messenger/webim/styles/silver/templates/agentrochat.tpl b/src/messenger/webim/styles/dialogs/silver/templates/agentrochat.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/agentrochat.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/agentrochat.tpl diff --git a/src/messenger/webim/styles/silver/templates/chat.tpl b/src/messenger/webim/styles/dialogs/silver/templates/chat.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/chat.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/chat.tpl diff --git a/src/messenger/webim/styles/silver/templates/error.tpl b/src/messenger/webim/styles/dialogs/silver/templates/error.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/error.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/error.tpl diff --git a/src/messenger/webim/styles/silver/templates/leavemessage.tpl b/src/messenger/webim/styles/dialogs/silver/templates/leavemessage.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/leavemessage.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/leavemessage.tpl diff --git a/src/messenger/webim/styles/silver/templates/leavemessagesent.tpl b/src/messenger/webim/styles/dialogs/silver/templates/leavemessagesent.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/leavemessagesent.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/leavemessagesent.tpl diff --git a/src/messenger/webim/styles/silver/templates/mail.tpl b/src/messenger/webim/styles/dialogs/silver/templates/mail.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/mail.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/mail.tpl diff --git a/src/messenger/webim/styles/silver/templates/mailsent.tpl b/src/messenger/webim/styles/dialogs/silver/templates/mailsent.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/mailsent.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/mailsent.tpl diff --git a/src/messenger/webim/styles/silver/templates/nochat.tpl b/src/messenger/webim/styles/dialogs/silver/templates/nochat.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/nochat.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/nochat.tpl diff --git a/src/messenger/webim/styles/silver/templates/redirect.tpl b/src/messenger/webim/styles/dialogs/silver/templates/redirect.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/redirect.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/redirect.tpl diff --git a/src/messenger/webim/styles/silver/templates/redirected.tpl b/src/messenger/webim/styles/dialogs/silver/templates/redirected.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/redirected.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/redirected.tpl diff --git a/src/messenger/webim/styles/silver/templates/survey.tpl b/src/messenger/webim/styles/dialogs/silver/templates/survey.tpl similarity index 100% rename from src/messenger/webim/styles/silver/templates/survey.tpl rename to src/messenger/webim/styles/dialogs/silver/templates/survey.tpl diff --git a/src/messenger/webim/styles/simplicity/chat.css b/src/messenger/webim/styles/dialogs/simplicity/chat.css similarity index 100% rename from src/messenger/webim/styles/simplicity/chat.css rename to src/messenger/webim/styles/dialogs/simplicity/chat.css diff --git a/src/messenger/webim/styles/simplicity/images/buttons/back.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/back.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/back.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/back.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/change.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/change.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/change.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/change.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/close.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/close.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/close.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/close.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/closewin.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/closewin.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/closewin.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/closewin.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/email.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/email.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/email.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/email.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/exec.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/exec.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/exec.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/exec.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/history.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/history.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/history.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/history.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/nosound.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/nosound.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/nosound.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/nosound.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/redirect.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/redirect.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/redirect.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/redirect.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/refresh.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/refresh.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/refresh.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/refresh.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/send.jpg b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/send.jpg similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/send.jpg rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/send.jpg diff --git a/src/messenger/webim/styles/simplicity/images/buttons/sound.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/sound.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/sound.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/sound.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/ssl.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/ssl.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/ssl.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/ssl.gif diff --git a/src/messenger/webim/styles/simplicity/images/buttons/tracked.gif b/src/messenger/webim/styles/dialogs/simplicity/images/buttons/tracked.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/buttons/tracked.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/buttons/tracked.gif diff --git a/src/messenger/webim/styles/simplicity/images/error.gif b/src/messenger/webim/styles/dialogs/simplicity/images/error.gif similarity index 100% rename from src/messenger/webim/styles/simplicity/images/error.gif rename to src/messenger/webim/styles/dialogs/simplicity/images/error.gif diff --git a/src/messenger/webim/styles/simplicity/images/toolbar_bg.jpg b/src/messenger/webim/styles/dialogs/simplicity/images/toolbar_bg.jpg similarity index 100% rename from src/messenger/webim/styles/simplicity/images/toolbar_bg.jpg rename to src/messenger/webim/styles/dialogs/simplicity/images/toolbar_bg.jpg diff --git a/src/messenger/webim/styles/simplicity/templates/.htaccess b/src/messenger/webim/styles/dialogs/simplicity/templates/.htaccess similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/.htaccess rename to src/messenger/webim/styles/dialogs/simplicity/templates/.htaccess diff --git a/src/messenger/webim/styles/simplicity/templates/agentchat.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/agentchat.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/agentchat.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/agentchat.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/agentrochat.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/agentrochat.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/agentrochat.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/agentrochat.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/chat.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/chat.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/chat.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/chat.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/chatsimple.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/chatsimple.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/chatsimple.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/chatsimple.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/error.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/error.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/error.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/error.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/leavemessage.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/leavemessage.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/leavemessage.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/leavemessage.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/leavemessagesent.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/leavemessagesent.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/leavemessagesent.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/leavemessagesent.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/mail.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/mail.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/mail.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/mail.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/mailsent.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/mailsent.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/mailsent.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/mailsent.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/nochat.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/nochat.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/nochat.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/nochat.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/redirect.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/redirect.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/redirect.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/redirect.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/redirected.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/redirected.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/redirected.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/redirected.tpl diff --git a/src/messenger/webim/styles/simplicity/templates/survey.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/survey.tpl similarity index 100% rename from src/messenger/webim/styles/simplicity/templates/survey.tpl rename to src/messenger/webim/styles/dialogs/simplicity/templates/survey.tpl diff --git a/src/messenger/webim/styles/howto.txt b/src/messenger/webim/styles/howto.txt index c3ebc54c..0892bba9 100644 --- a/src/messenger/webim/styles/howto.txt +++ b/src/messenger/webim/styles/howto.txt @@ -4,7 +4,7 @@ 1. Folder/files structure. - myskin/ + dialogs/myskin/ chat.tpl modern browser Ajax window chatsimple.tpl compatibility mode, reload to refresh thread nochat.tpl chat page for VERY old browsers (shows the list of supported software) diff --git a/src/messenger/webim/styles/invitations/default/invite.css b/src/messenger/webim/styles/invitations/default/invite.css new file mode 100644 index 00000000..feeac3fe --- /dev/null +++ b/src/messenger/webim/styles/invitations/default/invite.css @@ -0,0 +1,82 @@ +/* + This file is part of Mibew Messenger project. + + Copyright (c) 2005-2011 Mibew Messenger Community + All rights reserved. The contents of this file are subject to the terms of + the Eclipse Public License v1.0 which accompanies this distribution, and + is available at http://www.eclipse.org/legal/epl-v10.html + + Alternatively, the contents of this file may be used under the terms of + the GNU General Public License Version 2 or later (the "GPL"), in which case + the provisions of the GPL are applicable instead of those above. If you wish + to allow use of your version of this file only under the terms of the GPL, and + not to allow others to use your version of this file under the terms of the + EPL, indicate your decision by deleting the provisions above and replace them + with the notice and other provisions required by the GPL. +*/ + +#mibewinvitationpopup { + margin: 0 !important; + padding: 5px !important; + border: 0 !important; + outline: 0 !important; + font-weight: normal !important; + font-style: normal !important; + font-family: Arial, Helvetica, sans-serif !important; + font-size: 12px !important; + vertical-align: baseline !important; + line-height: normal !important; + border: 1px solid #aaa !important; + background-color: #ddd !important; + color: #000 !important; + position: fixed !important; + top: 50% !important; + left: 0 !important; + width: 400px !important; +} + +#mibewinvitationpopup h1, #mibewinvitationpopup p, #mibewinvitationclose a { + cursor: pointer !important; +} + +#mibewinvitationpopup h1{ + font-size: 20px !important; + font-weight: bold !important; + margin-top: 10px !important; + margin-bottom: 10px !important; +} + +#mibewinvitationclose { + float: right !important; + background-color: red !important; + padding: 1px !important; + margin: 0 !important; +} + +#mibewinvitationclose a { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif !important; + font-size: 20px !important; + font-weight: bold !important; + color: white !important; + margin: 0 4px 0 4px !important; +} + +#mibewinvitationclose a, #mibewinvitationclose a:link, #mibewinvitationclose a:hover { + text-decoration: none !important; +} + +#mibewinvitationpopup h1 { + text-align: center !important; +} + +#mibewinvitationpopup p { + padding: 2px !important; + margin: 2px !important; +} + +#mibewinvitationavatar { + margin: 2px !important; + margin-right: 5px !important; + cursor: pointer !important; + float: left !important; +} diff --git a/src/messenger/webim/view/gen_button.php b/src/messenger/webim/view/gen_button.php index 0fdd94c8..10dcee8f 100644 --- a/src/messenger/webim/view/gen_button.php +++ b/src/messenger/webim/view/gen_button.php @@ -52,6 +52,25 @@ require_once('inc_errors.php');


+ + +
+
+
+ +
+
+ + +
+
+
+ +
+
+ +
+
@@ -60,13 +79,6 @@ require_once('inc_errors.php');
- -
-
-
- -
-

diff --git a/src/messenger/webim/view/invitation_themes.php b/src/messenger/webim/view/invitation_themes.php new file mode 100644 index 00000000..4097d36a --- /dev/null +++ b/src/messenger/webim/view/invitation_themes.php @@ -0,0 +1,74 @@ + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ × +
+

+

+
+
+
+ + \ No newline at end of file diff --git a/src/messenger/webim/view/settings.php b/src/messenger/webim/view/settings.php index 06611de0..3ee86d1b 100644 --- a/src/messenger/webim/view/settings.php +++ b/src/messenger/webim/view/settings.php @@ -120,12 +120,21 @@ require_once('inc_errors.php');
- +

- + +
+
+
+ +
+
+
+
+
From 7bd3e21ca80c63eede214d164b386c5928d2dde8 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Thu, 15 Dec 2011 19:29:04 +0000 Subject: [PATCH 37/40] Excluded not started after invitation chats from daily statistics --- src/messenger/webim/operator/statistics.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/messenger/webim/operator/statistics.php b/src/messenger/webim/operator/statistics.php index 178201bf..bfa02c7a 100644 --- a/src/messenger/webim/operator/statistics.php +++ b/src/messenger/webim/operator/statistics.php @@ -72,11 +72,11 @@ $link = connect(); $page['reportByDate'] = select_multi_assoc("select DATE(t.dtmcreated) as date, COUNT(distinct t.threadid) as threads, SUM(m.ikind = $kind_agent) as agents, SUM(m.ikind = $kind_user) as users, ROUND(AVG(unix_timestamp(t.dtmchatstarted)-unix_timestamp(t.dtmcreated)),1) as avgwaitingtime, ROUND(AVG(tmp.lastmsgtime - unix_timestamp(t.dtmchatstarted)),1) as avgchattime " . "from ${mysqlprefix}chatmessage m, ${mysqlprefix}chatthread t, (SELECT i.threadid, unix_timestamp(MAX(i.dtmcreated)) AS lastmsgtime FROM ${mysqlprefix}chatmessage i WHERE (ikind = $kind_user OR ikind = $kind_agent) GROUP BY i.threadid) tmp " . - "where m.threadid = t.threadid AND tmp.threadid = t.threadid AND unix_timestamp(m.dtmcreated) >= $start AND unix_timestamp(m.dtmcreated) < $end group by DATE(m.dtmcreated) order by m.dtmcreated desc", $link); + "where m.threadid = t.threadid AND tmp.threadid = t.threadid AND unix_timestamp(t.dtmchatstarted) <> 0 AND unix_timestamp(m.dtmcreated) >= $start AND unix_timestamp(m.dtmcreated) < $end group by DATE(m.dtmcreated) order by m.dtmcreated desc", $link); $page['reportByDateTotal'] = select_one_row("select DATE(t.dtmcreated) as date, COUNT(distinct t.threadid) as threads, SUM(m.ikind = $kind_agent) as agents, SUM(m.ikind = $kind_user) as users, ROUND(AVG(unix_timestamp(t.dtmchatstarted)-unix_timestamp(t.dtmcreated)),1) as avgwaitingtime, ROUND(AVG(tmp.lastmsgtime - unix_timestamp(t.dtmchatstarted)),1) as avgchattime " . "from ${mysqlprefix}chatmessage m, ${mysqlprefix}chatthread t, (SELECT i.threadid, unix_timestamp(MAX(i.dtmcreated)) AS lastmsgtime FROM ${mysqlprefix}chatmessage i WHERE (ikind = $kind_user OR ikind = $kind_agent) GROUP BY i.threadid) tmp " . - "where m.threadid = t.threadid AND tmp.threadid = t.threadid AND unix_timestamp(m.dtmcreated) >= $start AND unix_timestamp(m.dtmcreated) < $end", $link); + "where m.threadid = t.threadid AND tmp.threadid = t.threadid AND unix_timestamp(t.dtmchatstarted) <> 0 AND unix_timestamp(m.dtmcreated) >= $start AND unix_timestamp(m.dtmcreated) < $end", $link); $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT(distinct threadid) as threads, SUM(ikind = $kind_agent) as msgs, AVG(CHAR_LENGTH(tmessage)) as avglen " . "from ${mysqlprefix}chatmessage, ${mysqlprefix}chatoperator " . From fbeba2a54f7030fbdd6c4e9df061a6d6c9d76861 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Mon, 19 Dec 2011 17:55:22 +0000 Subject: [PATCH 38/40] Added ability to disable operator's account --- src/messenger/webim/install/dbinfo.php | 3 +- src/messenger/webim/install/dbperform.php | 4 ++ src/messenger/webim/libs/operator.php | 9 ++- src/messenger/webim/locales/en/properties | 7 ++ src/messenger/webim/locales/ru/properties | 7 ++ src/messenger/webim/operator/login.php | 8 ++- src/messenger/webim/operator/operators.php | 74 +++++++++++++++------- src/messenger/webim/view/agents.php | 8 +++ 8 files changed, 93 insertions(+), 27 deletions(-) diff --git a/src/messenger/webim/install/dbinfo.php b/src/messenger/webim/install/dbinfo.php index 1ea596ab..03ed8a3c 100644 --- a/src/messenger/webim/install/dbinfo.php +++ b/src/messenger/webim/install/dbinfo.php @@ -74,6 +74,7 @@ $dbtables = array( "vcemail" => "varchar(64)", "dtmlastvisited" => "datetime DEFAULT 0", "istatus" => "int DEFAULT 0", /* 0 - online, 1 - away */ + "idisabled" => "int DEFAULT 0", "vcavatar" => "varchar(255)", "vcjabbername" => "varchar(255)", "iperm" => "int DEFAULT 65535", @@ -153,7 +154,7 @@ $memtables = array(); $dbtables_can_update = array( "${mysqlprefix}chatthread" => array("agentId", "userTyping", "agentTyping", "messageCount", "nextagent", "shownmessageid", "userid", "userAgent", "groupid", "dtmchatstarted"), "${mysqlprefix}chatmessage" => array("agentId"), - "${mysqlprefix}chatoperator" => array("vcavatar", "vcjabbername", "iperm", "istatus", "vcemail", "dtmrestore", "vcrestoretoken"), + "${mysqlprefix}chatoperator" => array("vcavatar", "vcjabbername", "iperm", "istatus", "idisabled", "vcemail", "dtmrestore", "vcrestoretoken"), "${mysqlprefix}chatban" => array(), "${mysqlprefix}chatgroup" => array("vcemail"), "${mysqlprefix}chatgroupoperator" => array(), diff --git a/src/messenger/webim/install/dbperform.php b/src/messenger/webim/install/dbperform.php index c51470e0..5d987dce 100644 --- a/src/messenger/webim/install/dbperform.php +++ b/src/messenger/webim/install/dbperform.php @@ -127,6 +127,10 @@ if ($act == "silentcreateall") { runsql("ALTER TABLE ${mysqlprefix}chatoperator ADD istatus int DEFAULT 0", $link); } + if (in_array("${mysqlprefix}chatoperator.idisabled", $absent)) { + runsql("ALTER TABLE ${mysqlprefix}chatoperator ADD idisabled int DEFAULT 0 AFTER istatus", $link); + } + if (in_array("${mysqlprefix}chatoperator.vcavatar", $absent)) { runsql("ALTER TABLE ${mysqlprefix}chatoperator ADD vcavatar varchar(255)", $link); } diff --git a/src/messenger/webim/libs/operator.php b/src/messenger/webim/libs/operator.php index a0fea376..fe2870ba 100755 --- a/src/messenger/webim/libs/operator.php +++ b/src/messenger/webim/libs/operator.php @@ -73,7 +73,7 @@ function operator_get_all() global $mysqlprefix; $link = connect(); - $query = "select operatorid, vclogin, vclocalename, vccommonname, istatus, (unix_timestamp(CURRENT_TIMESTAMP)-unix_timestamp(dtmlastvisited)) as time " . + $query = "select operatorid, vclogin, vclocalename, vccommonname, istatus, idisabled, (unix_timestamp(CURRENT_TIMESTAMP)-unix_timestamp(dtmlastvisited)) as time " . "from ${mysqlprefix}chatoperator order by vclogin"; $operators = select_multi_assoc($query, $link); close_connection($link); @@ -98,6 +98,11 @@ function operator_is_away($operator) return $operator['istatus'] != 0 && $operator['time'] < $settings['online_timeout'] ? "1" : ""; } +function operator_is_disabled($operator) +{ + return $operator['idisabled'] == '1'; +} + function update_operator($operatorid, $login, $email, $password, $localename, $commonname) { global $mysqlprefix; @@ -221,7 +226,7 @@ function check_login($redirect = true) if (isset($_COOKIE['webim_lite'])) { list($login, $pwd) = preg_split("/,/", $_COOKIE['webim_lite'], 2); $op = operator_by_login($login); - if ($op && isset($pwd) && isset($op['vcpassword']) && md5($op['vcpassword']) == $pwd) { + if ($op && isset($pwd) && isset($op['vcpassword']) && md5($op['vcpassword']) == $pwd && !operator_is_disabled($op)) { $_SESSION["${mysqlprefix}operator"] = $op; return $op; } diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index 14852919..cccf52cd 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -328,6 +328,12 @@ page_agent.title=Operator details page_agents.agent_name=Name page_agents.agents=Full list of operators: page_agents.confirm=Are you sure that you want to delete operator "{0}"? +page_agents.cannot.disable.admin=Cannot disable "admin". +page_agents.cannot.disable.self=Cannot disable self. +page_agents.disable.agent=disable +page_agents.disable.not.allowed=You are not allowed to disable operators. +page_agents.enable.agent=enable +page_agents.enable.not.allowed=You are not allowed to enable operators. page_agents.intro=This page displays a list of company operators. page_agents.isaway=Away page_agents.isonline=Online @@ -352,6 +358,7 @@ page_client.pending_users=You can find awaiting visitors. page_group.tab.main=General page_group.tab.members=Members page_login.error=Entered login/password is incorrect +page_login.operator.disabled=Your account is temporarily blocked. Please contact system administrator. page_login.intro=Please enter your username and password to access administrative tools. See your visitors and browse the history. page_login.login=Login: page_login.password=Password: diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 558f8b2c..8b52f824 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -326,6 +326,12 @@ page_agent.title= page_agents.agent_name=Имя page_agents.agents=Полный список операторов: page_agents.confirm=Вы уверены что хотите удалить оператора "{0}"? +page_agents.cannot.disable.admin=Невозможно заблокировать оператора "admin". +page_agents.cannot.disable.self=Невозможно заблокировать себя. +page_agents.disable.agent=заблокировать +page_agents.disable.not.allowed=Вы не можете блокировать операторов. +page_agents.enable.agent=разблокировать +page_agents.enable.not.allowed=Вы не можете разблокировать операторов. page_agents.intro=На этой странице можно просмотреть список операторов компании и добавить нового при наличии соответствующих прав доступа. page_agents.isaway=Отошел page_agents.isonline=Доступен @@ -352,6 +358,7 @@ page_group.tab.members= page_login.error=Введен неправильный логин или пароль page_login.intro=Пожалуйста, введите ваши имя и пароль для получения операторского доступа к системе. page_login.login=Логин: +page_login.operator.disabled=Ваша учетная запись временно заблокированна. Пожалуйста, свяжитесь с администратором системы. page_login.password=Пароль: page_login.remember=Запомнить page_login.title=Вход в систему diff --git a/src/messenger/webim/operator/login.php b/src/messenger/webim/operator/login.php index df202de5..3638b10a 100644 --- a/src/messenger/webim/operator/login.php +++ b/src/messenger/webim/operator/login.php @@ -31,7 +31,7 @@ if (isset($_POST['login']) && isset($_POST['password'])) { $remember = isset($_POST['isRemember']) && $_POST['isRemember'] == "on"; $operator = operator_by_login($login); - if ($operator && isset($operator['vcpassword']) && $operator['vcpassword'] == md5($password)) { + if ($operator && isset($operator['vcpassword']) && $operator['vcpassword'] == md5($password) && !operator_is_disabled($operator)) { $target = $password == '' ? "$webimroot/operator/operator.php?op=" . $operator['operatorid'] @@ -43,7 +43,11 @@ if (isset($_POST['login']) && isset($_POST['password'])) { header("Location: $target"); exit; } else { - $errors[] = getlocal("page_login.error"); + if (operator_is_disabled($operator)) { + $errors[] = getlocal('page_login.operator.disabled'); + } else { + $errors[] = getlocal("page_login.error"); + } $page['formlogin'] = $login; } } diff --git a/src/messenger/webim/operator/operators.php b/src/messenger/webim/operator/operators.php index 47937d35..e2c661e1 100644 --- a/src/messenger/webim/operator/operators.php +++ b/src/messenger/webim/operator/operators.php @@ -26,38 +26,68 @@ $operator = check_login(); force_password($operator); -if (isset($_GET['act']) && $_GET['act'] == 'del') { +if (isset($_GET['act'])) { + $operatorid = isset($_GET['id']) ? $_GET['id'] : ""; - if (!preg_match("/^\d+$/", $operatorid)) { - $errors[] = "Cannot delete: wrong argument"; + $errors[] = getlocal("no_such_operator"); } - if (!is_capable($can_administrate, $operator)) { - $errors[] = "You are not allowed to remove operators"; - } + if ($_GET['act'] == 'del') { + if (!is_capable($can_administrate, $operator)) { + $errors[] = "You are not allowed to remove operators"; + } - if ($operatorid == $operator['operatorid']) { - $errors[] = "Cannot remove self"; - } + if ($operatorid == $operator['operatorid']) { + $errors[] = "Cannot remove self"; + } - if (count($errors) == 0) { - $op = operator_by_id($operatorid); - if (!$op) { - $errors[] = getlocal("no_such_operator"); - } else if ($op['vclogin'] == 'admin') { - $errors[] = 'Cannot remove operator "admin"'; + if (count($errors) == 0) { + $op = operator_by_id($operatorid); + if (!$op) { + $errors[] = getlocal("no_such_operator"); + } else if ($op['vclogin'] == 'admin') { + $errors[] = 'Cannot remove operator "admin"'; + } + } + + if (count($errors) == 0) { + $link = connect(); + perform_query("delete from ${mysqlprefix}chatgroupoperator where operatorid = $operatorid", $link); + perform_query("delete from ${mysqlprefix}chatoperator where operatorid = $operatorid", $link); + close_connection($link); + + header("Location: $webimroot/operator/operators.php"); + exit; } } + if ($_GET['act'] == 'disable' || $_GET['act'] == 'enable') { + $act_disable = ($_GET['act'] == 'disable'); + if (!is_capable($can_administrate, $operator)) { + $errors[] = $act_disable?getlocal('page_agents.disable.not.allowed'):getlocal('page_agents.enable.not.allowed'); + } - if (count($errors) == 0) { - $link = connect(); - perform_query("delete from ${mysqlprefix}chatgroupoperator where operatorid = $operatorid", $link); - perform_query("delete from ${mysqlprefix}chatoperator where operatorid = $operatorid", $link); - close_connection($link); + if ($operatorid == $operator['operatorid'] && $act_disable) { + $errors[] = getlocal('page_agents.cannot.disable.self'); + } - header("Location: $webimroot/operator/operators.php"); - exit; + if (count($errors) == 0) { + $op = operator_by_id($operatorid); + if (!$op) { + $errors[] = getlocal("no_such_operator"); + } else if ($op['vclogin'] == 'admin' && $act_disable) { + $errors[] = getlocal('page_agents.cannot.disable.admin'); + } + } + + if (count($errors) == 0) { + $link = connect(); + perform_query("update ${mysqlprefix}chatoperator set idisabled = ".($act_disable?'1':'0')." where operatorid = $operatorid", $link); + close_connection($link); + + header("Location: $webimroot/operator/operators.php"); + exit; + } } } diff --git a/src/messenger/webim/view/agents.php b/src/messenger/webim/view/agents.php index b544f11b..fd25bf8d 100644 --- a/src/messenger/webim/view/agents.php +++ b/src/messenger/webim/view/agents.php @@ -60,6 +60,7 @@ require_once('inc_errors.php'); + @@ -85,6 +86,13 @@ require_once('inc_errors.php'); + + + + + + + remove From 2dc674e5d639bd9c1251735f5ed394e574f7ddc6 Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Mon, 26 Dec 2011 18:39:27 +0000 Subject: [PATCH 39/40] Added confirmation before closing chat --- src/messenger/webim/js/164/chat.js | 2 +- src/messenger/webim/js/source/chat.js | 3 +++ src/messenger/webim/libs/chat.php | 1 + src/messenger/webim/locales/en/properties | 1 + src/messenger/webim/locales/ru/properties | 1 + src/messenger/webim/styles/dialogs/default/templates/chat.tpl | 3 +++ src/messenger/webim/styles/dialogs/original/templates/chat.tpl | 3 +++ src/messenger/webim/styles/dialogs/silver/templates/chat.tpl | 3 +++ .../webim/styles/dialogs/simplicity/templates/chat.tpl | 3 +++ 9 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/messenger/webim/js/164/chat.js b/src/messenger/webim/js/164/chat.js index c29c3d2f..c96c5396 100644 --- a/src/messenger/webim/js/164/chat.js +++ b/src/messenger/webim/js/164/chat.js @@ -13,7 +13,7 @@ this.handleKeyDown.bind(this),this._options.message.onfocus=function(){this.focu "act="+a+"&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0)+"&lastid="+(this._options.lastid||0);this._options.user&&(this._options.parameters+="&user=true");a=="refresh"&&this._options.message&&this._options.message.value!=""&&(this._options.parameters+="&typed=1")},enableInput:function(a){if(this._options.message)this._options.message.disabled=!a},stopUpdate:function(){this.enableInput(!0);if(this.updater._options)this.updater._options.onComplete=void 0;clearTimeout(this.timer)}, update:function(){this.updateOptions("refresh");this.updater=new Ajax.Request(this._options.servl,this._options)},requestComplete:function(a){try{this.enableInput(!0);this.cansend=!0;var b=Ajax.getXml(a);b&&b.tagName=="thread"?this.updateContent(b):this.handleError(a,b,"refresh messages failed")}catch(c){}this.skipNextsound=!1;this.timer=setTimeout(this.update.bind(this),this.frequency*1E3)},postMessage:function(a){if(a!=""&&this.cansend){this.cansend=!1;this.stopUpdate();this.skipNextsound=!0;this.updateOptions("post"); var b={}.extend(this._options);b.parameters+="&message="+encodeURIComponent(a);b.onComplete=function(a){this.requestComplete(a);if(this._options.message)this._options.message.value="",this._options.message.focus()}.bind(this);myRealAgent!="opera"&&this.enableInput(!1);this.updater=new Ajax.Request(this._options.servl,b)}},changeName:function(a){this.skipNextsound=!0;new Ajax.Request(this._options.servl,{parameters:"act=rename&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0)+ -"&name="+encodeURIComponent(a)})},onThreadClosed:function(a){var b=Ajax.getXml(a);b&&b.tagName=="closed"?setTimeout("window.close()",2E3):this.handleError(a,b,"cannot close")},closeThread:function(){var a="act=close&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0);this._options.user&&(a+="&user=true");new Ajax.Request(this._options.servl,{parameters:a,onComplete:this.onThreadClosed.bind(this)})},processMessage:function(a,b){var c=NodeUtils.getNodeText(b);FrameUtils.insertIntoFrame(a, +"&name="+encodeURIComponent(a)})},onThreadClosed:function(a){var b=Ajax.getXml(a);b&&b.tagName=="closed"?setTimeout("window.close()",2E3):this.handleError(a,b,"cannot close")},closeThread:function(){if(!confirm(localized[0]))return!1;var a="act=close&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0);this._options.user&&(a+="&user=true");new Ajax.Request(this._options.servl,{parameters:a,onComplete:this.onThreadClosed.bind(this)})},processMessage:function(a,b){var c=NodeUtils.getNodeText(b);FrameUtils.insertIntoFrame(a, c)},showTyping:function(a){if($("typingdiv"))$("typingdiv").style.display=a?"inline":"none"},setupAvatar:function(a){a=NodeUtils.getNodeText(a);if(this._options.avatar&&this._options.user)this._options.avatar.innerHTML=a!=""?'':""},updateContent:function(a){var b=!1,c=this._options.container,d=NodeUtils.getAttrValue(a,"lastid");if(d)this._options.lastid=d;(d=NodeUtils.getAttrValue(a, "typing"))&&this.showTyping(d=="1");if((d=NodeUtils.getAttrValue(a,"canpost"))&&(d=="1"&&!this.ownThread||this.ownThread&&d!="1"))window.location.href=window.location.href;for(d=0;d=0?(a="updated",this.lastupdate>0&&(c=((new Date).getTime()-this.lastupdate)/1E3,a=a+", "+c+" secs",c>10&&alert(a)),this.lastupdate=(new Date).getTime(), this.setStatus(a)):this.clearStatus();b&&(FrameUtils.scrollDown(this._options.container),this.skipNextsound||(b=$("soundimg"),(b==null||b.className.match(/\bisound\b/))&&playSound(Chat.webimRoot+"/sounds/new_message.wav")),this.focused||window.focus())},isSendkey:function(a,b){return b==13&&(a||this._options.ignorectrl)||b==10},handleKeyDown:function(a){a?(ctrl=a.ctrlKey,a=a.which):(a=event.keyCode,ctrl=event.ctrlKey);if(this._options.message&&this.isSendkey(ctrl,a))return a=this._options.message.value, diff --git a/src/messenger/webim/js/source/chat.js b/src/messenger/webim/js/source/chat.js index 1e565fe1..5a3f8ae2 100644 --- a/src/messenger/webim/js/source/chat.js +++ b/src/messenger/webim/js/source/chat.js @@ -177,6 +177,9 @@ Class.inherit( Ajax.ChatThreadUpdater, Ajax.Base, { }, closeThread: function() { + if(! confirm(localized[0])){ + return false; + } var _params = 'act=close&thread=' + (this._options.threadid || 0) + '&token=' + (this._options.token || 0); if( this._options.user ) _params += "&user=true"; diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index 4c3680f4..5b511ea2 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -370,6 +370,7 @@ function setup_chatview_for_user($thread, $level) $page['ct.user.name'] = htmlspecialchars(topage($thread['userName'])); $page['canChangeName'] = $settings['usercanchangename'] == "1"; $page['chat.title'] = topage($settings['chattitle']); + $page['chat.close.confirmation'] = getlocal('chat.close.confirmation'); setup_logo(); if ($settings['sendmessagekey'] == 'enter') { diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index cccf52cd..580a0414 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -41,6 +41,7 @@ chat.client.changename=Change name chat.client.name=You are chat.client.spam.prefix=[spam]  chat.client.visited.page=Visitor navigated to {0} +chat.close.confirmation=Are you sure want to leave chat? chat.default.username=Guest chat.error_page.close=Close... chat.error_page.head=Error occurred: diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 8b52f824..64825104 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -41,6 +41,7 @@ chat.client.changename= chat.client.name=Вы chat.client.spam.prefix=[спам]  chat.client.visited.page=Посетитель перешел на {0} +chat.close.confirmation=Вы действительно хотите покинуть диалог? chat.default.username=Посетитель chat.error_page.close=Закрыть... chat.error_page.head=Произошла ошибка: diff --git a/src/messenger/webim/styles/dialogs/default/templates/chat.tpl b/src/messenger/webim/styles/dialogs/default/templates/chat.tpl index dbc777d3..1b4e2186 100644 --- a/src/messenger/webim/styles/dialogs/default/templates/chat.tpl +++ b/src/messenger/webim/styles/dialogs/default/templates/chat.tpl @@ -7,6 +7,9 @@ diff --git a/src/messenger/webim/styles/dialogs/original/templates/chat.tpl b/src/messenger/webim/styles/dialogs/original/templates/chat.tpl index df7b1327..981f5aec 100644 --- a/src/messenger/webim/styles/dialogs/original/templates/chat.tpl +++ b/src/messenger/webim/styles/dialogs/original/templates/chat.tpl @@ -7,6 +7,9 @@ diff --git a/src/messenger/webim/styles/dialogs/silver/templates/chat.tpl b/src/messenger/webim/styles/dialogs/silver/templates/chat.tpl index 1b0cc856..12549803 100644 --- a/src/messenger/webim/styles/dialogs/silver/templates/chat.tpl +++ b/src/messenger/webim/styles/dialogs/silver/templates/chat.tpl @@ -9,6 +9,9 @@ From f2ab19036a27b3dec310119def5309c7dab8930d Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Tue, 3 Jan 2012 19:45:49 +0000 Subject: [PATCH 40/40] Added department description at select department screen --- src/messenger/webim/libs/chat.php | 5 +++++ src/messenger/webim/locales/en/properties | 1 + src/messenger/webim/locales/ru/properties | 1 + .../webim/styles/dialogs/default/templates/survey.tpl | 10 ++++++++-- .../styles/dialogs/original/templates/survey.tpl | 11 ++++++++++- .../webim/styles/dialogs/silver/templates/survey.tpl | 9 ++++++++- .../styles/dialogs/simplicity/templates/survey.tpl | 9 ++++++++- 7 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/messenger/webim/libs/chat.php b/src/messenger/webim/libs/chat.php index 5b511ea2..ca48739d 100644 --- a/src/messenger/webim/libs/chat.php +++ b/src/messenger/webim/libs/chat.php @@ -330,6 +330,7 @@ function setup_survey($name, $email, $groupid, $info, $referrer) $allgroups = get_groups($link, false); close_connection($link); $val = ""; + $groupdescriptions = array(); foreach ($allgroups as $k) { $groupname = $k['vclocalname']; if ($k['inumofagents'] == 0) { @@ -338,14 +339,18 @@ function setup_survey($name, $email, $groupid, $info, $referrer) if ($k['ilastseen'] !== NULL && $k['ilastseen'] < $settings['online_timeout']) { if (!$groupid) { $groupid = $k['groupid']; // select first online group + $defaultdescription = $k['vclocaldescription']; } } else { $groupname .= " (offline)"; } $isselected = $k['groupid'] == $groupid; $val .= ""; + $groupdescriptions[] = $k['vclocaldescription']; } $page['groups'] = $val; + $page['group.descriptions'] = json_encode($groupdescriptions); + $page['default.department.description'] = empty($defaultdescription)?' ':$defaultdescription; } $page['showemail'] = $settings["surveyaskmail"] == "1" ? "1" : ""; diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index 580a0414..835c13fb 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -396,6 +396,7 @@ permission.viewthreads=View another operator's chat thread permissions.intro=Change restrictions and available features for this operator. permissions.title=Permissions presurvey.department=Choose Department: +presurvey.department.description=Department description: presurvey.intro=Thank you for contacting us. Please fill out the form below and click the Start Chat button. presurvey.mail=Email: presurvey.name=Name: diff --git a/src/messenger/webim/locales/ru/properties b/src/messenger/webim/locales/ru/properties index 64825104..e425cd1a 100644 --- a/src/messenger/webim/locales/ru/properties +++ b/src/messenger/webim/locales/ru/properties @@ -394,6 +394,7 @@ permission.viewthreads= permissions.intro=Здесь вы можете управлять возможностями оператора. permissions.title=Возможности оператора presurvey.department=Выберите отдел: +presurvey.department.description=Описание отдела: presurvey.intro=Спасибо, что связались с нами! Заполните, пожалуйста, небольшую форму и нажмите "Начать диалог". presurvey.mail=E-mail: presurvey.name=Ваше имя: diff --git a/src/messenger/webim/styles/dialogs/default/templates/survey.tpl b/src/messenger/webim/styles/dialogs/default/templates/survey.tpl index 2520a730..816b0324 100644 --- a/src/messenger/webim/styles/dialogs/default/templates/survey.tpl +++ b/src/messenger/webim/styles/dialogs/default/templates/survey.tpl @@ -34,7 +34,9 @@ text-decoration:none; } - +${if:groups} + +${endif:groups} @@ -114,9 +116,13 @@ ${if:groups} + + + + ${endif:groups} diff --git a/src/messenger/webim/styles/dialogs/original/templates/survey.tpl b/src/messenger/webim/styles/dialogs/original/templates/survey.tpl index a9ee4b58..1c02f031 100644 --- a/src/messenger/webim/styles/dialogs/original/templates/survey.tpl +++ b/src/messenger/webim/styles/dialogs/original/templates/survey.tpl @@ -20,6 +20,9 @@ .isubmit { background-position:0px -39px; width: 40px; height: 35px; } .isubmitrest { background-position:-31px -39px; width: 10px; height: 35px;} +${if:groups} + +${endif:groups}
${msg:presurvey.department} - +
${msg:presurvey.department.description}${page:default.department.description}
@@ -75,10 +78,16 @@ ${if:groups} + + + + + + ${endif:groups} diff --git a/src/messenger/webim/styles/dialogs/silver/templates/survey.tpl b/src/messenger/webim/styles/dialogs/silver/templates/survey.tpl index 13fc61ae..ac3ee6c8 100644 --- a/src/messenger/webim/styles/dialogs/silver/templates/survey.tpl +++ b/src/messenger/webim/styles/dialogs/silver/templates/survey.tpl @@ -4,6 +4,9 @@ ${msg:presurvey.title} + ${if:groups} + + ${endif:groups}
@@ -53,7 +56,11 @@ ${if:groups}
- + + + + + ${endif:groups} diff --git a/src/messenger/webim/styles/dialogs/simplicity/templates/survey.tpl b/src/messenger/webim/styles/dialogs/simplicity/templates/survey.tpl index 244d23a4..c3487485 100644 --- a/src/messenger/webim/styles/dialogs/simplicity/templates/survey.tpl +++ b/src/messenger/webim/styles/dialogs/simplicity/templates/survey.tpl @@ -4,6 +4,9 @@ ${msg:presurvey.title} +${if:groups} + +${endif:groups}
@@ -44,7 +47,11 @@ ${if:groups}
- + + + + + ${endif:groups}
${msg:presurvey.department} - +
${msg:presurvey.department.description}${page:default.department.description}
${msg:presurvey.department}
${msg:presurvey.department.description}${page:default.department.description}
${msg:presurvey.department}
${msg:presurvey.department.description}${page:default.department.description}