Apply bug fixes and localization updated from trunk for release 0.5.1
| | |
| | | CHANGELOG Roundcube Webmail |
| | | =========================== |
| | | |
| | | RELEASE 0.5.1 |
| | | ------------- |
| | | - Fix settings UI on IE 6 (#1487724) |
| | | - Remove double borders in folder listing (#1487713) |
| | | - Separate full message headers UI element from headers table (#1487715) |
| | | - Add part MIME ID to message_part_* hooks (#1487718) |
| | | - Updated PEAR::Net_Socket to 1.0.10 |
| | | - Updated PEAR::Net_IDNA2 to 0.1.1 |
| | | - Fix handling of comments inside an email address spec. (#1487673) |
| | | - Show full mail subject as title when hovering a cut subject link (#1487128) |
| | | - Fix randomly disappearing folders list in IE (#1487704) |
| | | - Fix list column add/removal in IE (#1487703) |
| | | - Fix login redirect issues (#1487686) |
| | | - Require PHP 5.2.1 or greater |
| | | - Fix %h/%z variables in username_domain option (#1487701) |
| | | - Workaround for setting charset in case of malformed bodystructure response (#1487700) |
| | | - Fix impossible to subscribe to protected folders (#1487656) |
| | | - Fix setting timezone in Preferences (#1487705) |
| | | |
| | | RELEASE 0.5 |
| | | ----------- |
| | | - Fix double-login/session issue (#1487104) |
| | | - Wrap HTML parts with <html><body> and add Doctype declaration (#1487098) |
| | | - Make rcube_autoload silently skip unknown classes (#1487109) |
| | |
| | | |
| | | * The Apache or Lighttpd Webserver |
| | | * .htaccess support allowing overrides for DirectoryIndex |
| | | * PHP Version 5.2 or greater including |
| | | * PHP Version 5.2.1 or greater including |
| | | - PCRE, DOM, JSON, XML, Session, Sockets (required) |
| | | - libiconv (recommended) |
| | | - mbstring, fileinfo, mcrypt (optional) |
| | |
| | | |
| | | ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL; |
| | | |
| | | TRUNCATE TABLE `messages`; |
| | | |
| | |
| | | ALTER TABLE users ADD UNIQUE (username, mail_host); |
| | | ALTER TABLE contacts ALTER email TYPE varchar(255); |
| | | |
| | | TRUNCATE messages; |
| | |
| | | CREATE INDEX ix_contacts_user_id ON contacts(user_id, email); |
| | | DROP TABLE contacts_tmp; |
| | | |
| | | DELETE FROM messages; |
| | | |
| | |
| | | /* |
| | | +-------------------------------------------------------------------------+ |
| | | | Roundcube Webmail IMAP Client | |
| | | | Version 0.5 | |
| | | | Version 0.5.1 | |
| | | | | |
| | | | Copyright (C) 2005-2010, Roundcube Dev. - Switzerland | |
| | | | Copyright (C) 2005-2011, Roundcube Dev. - Switzerland | |
| | | | | |
| | | | This program is free software; you can redistribute it and/or modify | |
| | | | it under the terms of the GNU General Public License version 2 | |
| | |
| | | rcmail_log_login(); |
| | | |
| | | // restore original request parameters |
| | | $query = array('_task' => 'mail'); |
| | | if ($url = get_input_value('_url', RCUBE_INPUT_POST)) |
| | | $query = array(); |
| | | if ($url = get_input_value('_url', RCUBE_INPUT_POST)) { |
| | | parse_str($url, $query); |
| | | |
| | | // prevent endless looping on login page |
| | | if ($query['_task'] == 'login') |
| | | unset($query['_task']); |
| | | } |
| | | |
| | | // allow plugins to control the redirect url after login success |
| | | $redir = $RCMAIL->plugins->exec_hook('login_after', $query); |
| | | $redir = $RCMAIL->plugins->exec_hook('login_after', $query + array('_task' => 'mail')); |
| | | unset($redir['abort']); |
| | | |
| | | // send redirect |
| | |
| | | <h3>Checking PHP version</h3> |
| | | <?php |
| | | |
| | | define('MIN_PHP_VERSION', '5.2.0'); |
| | | define('MIN_PHP_VERSION', '5.2.1'); |
| | | if (version_compare(PHP_VERSION, MIN_PHP_VERSION, '>=')) { |
| | | $RCI->pass('Version', 'PHP ' . PHP_VERSION . ' detected'); |
| | | } else { |
| | |
| | | } |
| | | |
| | | // application constants |
| | | define('RCMAIL_VERSION', '0.5'); |
| | | define('RCMAIL_VERSION', '0.5.1'); |
| | | define('RCMAIL_CHARSET', 'UTF-8'); |
| | | define('JS_OBJECT_NAME', 'rcmail'); |
| | | define('RCMAIL_START', microtime(true)); |
| | |
| | | $replacements = new rcube_string_replacer; |
| | | |
| | | // ignore the whole block if evil styles are detected |
| | | $stripped = preg_replace('/[^a-z\(:]/', '', rcmail_xss_entity_decode($source)); |
| | | if (preg_match('/expression|behavior|url\(|import/', $stripped)) |
| | | $stripped = preg_replace('/[^a-z\(:;]/', '', rcmail_xss_entity_decode($source)); |
| | | if (preg_match('/expression|behavior|url\(|import[^a]/', $stripped)) |
| | | return '/* evil! */'; |
| | | |
| | | // remove css comments (sometimes used for some ugly hacks) |
| | |
| | | * Replaces hostname variables |
| | | * |
| | | * @param string $name Hostname |
| | | * @param string $host Optional IMAP hostname |
| | | * @return string |
| | | */ |
| | | function rcube_parse_host($name) |
| | | function rcube_parse_host($name, $host='') |
| | | { |
| | | // %n - host |
| | | $n = preg_replace('/:\d+$/', '', $_SERVER['SERVER_NAME']); |
| | | // %d - domain name without first part, e.g. %d=mail.domain.tld, %m=domain.tld |
| | | $d = preg_replace('/^[^\.]+\./', '', $n); |
| | | // %h - IMAP host |
| | | $h = $_SESSION['imap_host']; |
| | | $h = $_SESSION['imap_host'] ? $_SESSION['imap_host'] : $host; |
| | | // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld |
| | | $z = preg_replace('/^[^\.]+\./', '', $h); |
| | | |
| | |
| | | // Check if we need to add domain |
| | | if (!empty($config['username_domain']) && strpos($username, '@') === false) { |
| | | if (is_array($config['username_domain']) && isset($config['username_domain'][$host])) |
| | | $username .= '@'.rcube_parse_host($config['username_domain'][$host]); |
| | | $username .= '@'.rcube_parse_host($config['username_domain'][$host], $host); |
| | | else if (is_string($config['username_domain'])) |
| | | $username .= '@'.rcube_parse_host($config['username_domain']); |
| | | $username .= '@'.rcube_parse_host($config['username_domain'], $host); |
| | | } |
| | | |
| | | // Convert username to lowercase. If IMAP backend |
| | |
| | | { |
| | | protected $scripts_path = ''; |
| | | protected $script_files = array(); |
| | | protected $css_files = array(); |
| | | protected $scripts = array(); |
| | | protected $charset = RCMAIL_CHARSET; |
| | | |
| | | protected $script_tag_file = "<script type=\"text/javascript\" src=\"%s\"></script>\n"; |
| | | protected $script_tag = "<script type=\"text/javascript\">\n/* <![CDATA[ */\n%s\n/* ]]> */\n</script>"; |
| | | protected $link_css_file = "<link rel=\"stylesheet\" type=\"text/css\" href=\"%s\" />\n"; |
| | | protected $default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>"; |
| | | |
| | | protected $title = ''; |
| | |
| | | if (in_array($file, $sa_files)) { |
| | | return; |
| | | } |
| | | |
| | | $sa_files[] = $file; |
| | | |
| | | if (!is_array($this->script_files[$position])) { |
| | | $this->script_files[$position] = array(); |
| | | } |
| | |
| | | } else { |
| | | $this->scripts[$position] .= "\n".rtrim($script); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Link an external css file |
| | | * |
| | | * @param string File URL |
| | | */ |
| | | public function include_css($file) |
| | | { |
| | | $this->css_files[] = $file; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | // replace specialchars in content |
| | | $__page_title = Q($this->title, 'show', FALSE); |
| | | $__page_header = $__page_body = $__page_footer = ''; |
| | | $page_title = Q($this->title, 'show', FALSE); |
| | | $page_header = ''; |
| | | $page_footer = ''; |
| | | |
| | | // include meta tag with charset |
| | | if (!empty($this->charset)) { |
| | | if (!headers_sent()) { |
| | | header('Content-Type: text/html; charset=' . $this->charset); |
| | | } |
| | | $__page_header = '<meta http-equiv="content-type"'; |
| | | $__page_header.= ' content="text/html; charset='; |
| | | $__page_header.= $this->charset . '" />'."\n"; |
| | | $page_header = '<meta http-equiv="content-type"'; |
| | | $page_header.= ' content="text/html; charset='; |
| | | $page_header.= $this->charset . '" />'."\n"; |
| | | } |
| | | |
| | | // definition of the code to be placed in the document header and footer |
| | | if (is_array($this->script_files['head'])) { |
| | | foreach ($this->script_files['head'] as $file) { |
| | | $__page_header .= sprintf($this->script_tag_file, $file); |
| | | $page_header .= sprintf($this->script_tag_file, $file); |
| | | } |
| | | } |
| | | |
| | | $head_script = $this->scripts['head_top'] . $this->scripts['head']; |
| | | if (!empty($head_script)) { |
| | | $__page_header .= sprintf($this->script_tag, $head_script); |
| | | $page_header .= sprintf($this->script_tag, $head_script); |
| | | } |
| | | |
| | | if (!empty($this->header)) { |
| | | $__page_header .= $this->header; |
| | | $page_header .= $this->header; |
| | | } |
| | | |
| | | if (is_array($this->script_files['foot'])) { |
| | | foreach ($this->script_files['foot'] as $file) { |
| | | $__page_footer .= sprintf($this->script_tag_file, $file); |
| | | $page_footer .= sprintf($this->script_tag_file, $file); |
| | | } |
| | | } |
| | | |
| | | if (!empty($this->scripts['foot'])) { |
| | | $__page_footer .= sprintf($this->script_tag, $this->scripts['foot']); |
| | | $page_footer .= sprintf($this->script_tag, $this->scripts['foot']); |
| | | } |
| | | |
| | | if (!empty($this->footer)) { |
| | | $__page_footer .= $this->footer; |
| | | $page_footer .= $this->footer; |
| | | } |
| | | |
| | | // find page header |
| | | if ($hpos = stripos($output, '</head>')) { |
| | | $__page_header .= "\n"; |
| | | $page_header .= "\n"; |
| | | } |
| | | else { |
| | | if (!is_numeric($hpos)) { |
| | |
| | | } |
| | | $hpos++; |
| | | } |
| | | $__page_header = "<head>\n<title>$__page_title</title>\n$__page_header\n</head>\n"; |
| | | $page_header = "<head>\n<title>$page_title</title>\n$page_header\n</head>\n"; |
| | | } |
| | | |
| | | // add page hader |
| | | if ($hpos) { |
| | | $output = substr($output,0,$hpos) . $__page_header . substr($output,$hpos,strlen($output)); |
| | | $output = substr($output,0,$hpos) . $page_header . substr($output,$hpos,strlen($output)); |
| | | } |
| | | else { |
| | | $output = $__page_header . $output; |
| | | $output = $page_header . $output; |
| | | } |
| | | |
| | | // find page body |
| | | if ($bpos = stripos($output, '<body')) { |
| | | while ($output[$bpos] != '>') { |
| | | $bpos++; |
| | | } |
| | | $bpos++; |
| | | } |
| | | else { |
| | | $bpos = stripos($output, '</head>')+7; |
| | | } |
| | | |
| | | // add page body |
| | | if ($bpos && $__page_body) { |
| | | $output = substr($output,0,$bpos) . "\n$__page_body\n" . substr($output,$bpos,strlen($output)); |
| | | } |
| | | |
| | | // find and add page footer |
| | | // add page footer |
| | | if (($fpos = strripos($output, '</body>')) || ($fpos = strripos($output, '</html>'))) { |
| | | $output = substr($output, 0, $fpos) . "$__page_footer\n" . substr($output, $fpos); |
| | | $output = substr($output, 0, $fpos) . "$page_footer\n" . substr($output, $fpos); |
| | | } |
| | | else { |
| | | $output .= "\n".$__page_footer; |
| | | $output .= "\n".$page_footer; |
| | | } |
| | | |
| | | // reset those global vars |
| | | $__page_header = $__page_footer = ''; |
| | | // add css files in head, before scripts, for speed up with parallel downloads |
| | | if (!empty($this->css_files) && |
| | | (($pos = stripos($output, '<script ')) || ($pos = stripos($output, '</head>'))) |
| | | ) { |
| | | $css = ''; |
| | | foreach ($this->css_files as $file) { |
| | | $css .= sprintf($this->link_css_file, $file); |
| | | } |
| | | $output = substr($output, 0, $pos) . $css . substr($output, $pos); |
| | | } |
| | | |
| | | $this->base_path = $base_path; |
| | | |
| | | // correct absolute paths in images and other tags |
| | | // add timestamp to .js and .css filename |
| | | $output = preg_replace_callback('!(src|href|background)=(["\']?)([a-z0-9/_.-]+)(["\'\s>])!i', |
| | | array($this, 'file_callback'), $output); |
| | | $output = preg_replace_callback( |
| | | '!(src|href|background)=(["\']?)([a-z0-9/_.-]+)(["\'\s>])!i', |
| | | array($this, 'file_callback'), $output); |
| | | $output = str_replace('$__skin_path', $base_path, $output); |
| | | |
| | | if ($this->charset != RCMAIL_CHARSET) |
| | |
| | | return false; |
| | | } |
| | | |
| | | $struct = &$this->_structure_part($structure); |
| | | $struct = &$this->_structure_part($structure, 0, '', $headers); |
| | | $struct->headers = get_object_vars($headers); |
| | | |
| | | // don't trust given content-type |
| | |
| | | $struct->charset = $struct->ctype_parameters['charset']; |
| | | } |
| | | |
| | | // #1487700: workaround for lack of charset in malformed structure |
| | | if (empty($struct->charset) && !empty($mime_headers) && $mime_headers->charset) { |
| | | $struct->charset = $mime_headers->charset; |
| | | } |
| | | |
| | | // read content encoding |
| | | if (!empty($part[5]) && $part[5]!='NIL') { |
| | | $struct->encoding = strtolower($part[5]); |
| | |
| | | $mime_headers = $this->conn->fetchPartHeader( |
| | | $this->mailbox, $this->_msg_id, false, $struct->mime_id); |
| | | } |
| | | $struct->headers = $this->_parse_headers($mime_headers) + $struct->headers; |
| | | |
| | | if (is_string($mime_headers)) |
| | | $struct->headers = $this->_parse_headers($mime_headers) + $struct->headers; |
| | | else if (is_object($mime_headers)) |
| | | $struct->headers = get_object_vars($mime_headers) + $struct->headers; |
| | | |
| | | // get real content-type of message/rfc822 |
| | | if ($struct->mimetype == 'message/rfc822') { |
| | |
| | | private function _parse_address_list($str, $decode=true) |
| | | { |
| | | // remove any newlines and carriage returns before |
| | | $a = rcube_explode_quoted_string('[,;]', preg_replace( "/[\r\n]/", " ", $str)); |
| | | $str = preg_replace('/\r?\n(\s|\t)?/', ' ', $str); |
| | | |
| | | // extract list items, remove comments |
| | | $str = self::explode_header_string(',;', $str, true); |
| | | $result = array(); |
| | | |
| | | foreach ($a as $key => $val) { |
| | | foreach ($str as $key => $val) { |
| | | $name = ''; |
| | | $address = ''; |
| | | $val = trim($val); |
| | |
| | | |
| | | |
| | | /** |
| | | * Explodes header (e.g. address-list) string into array of strings |
| | | * using specified separator characters with proper handling |
| | | * of quoted-strings and comments (RFC2822) |
| | | * |
| | | * @param string $separator String containing separator characters |
| | | * @param string $str Header string |
| | | * @param bool $remove_comments Enable to remove comments |
| | | * |
| | | * @return array Header items |
| | | */ |
| | | static function explode_header_string($separator, $str, $remove_comments=false) |
| | | { |
| | | $length = strlen($str); |
| | | $result = array(); |
| | | $quoted = false; |
| | | $comment = 0; |
| | | $out = ''; |
| | | |
| | | for ($i=0; $i<$length; $i++) { |
| | | // we're inside a quoted string |
| | | if ($quoted) { |
| | | if ($str[$i] == '"') { |
| | | $quoted = false; |
| | | } |
| | | else if ($str[$i] == '\\') { |
| | | if ($comment <= 0) { |
| | | $out .= '\\'; |
| | | } |
| | | $i++; |
| | | } |
| | | } |
| | | // we're inside a comment string |
| | | else if ($comment > 0) { |
| | | if ($str[$i] == ')') { |
| | | $comment--; |
| | | } |
| | | else if ($str[$i] == '(') { |
| | | $comment++; |
| | | } |
| | | else if ($str[$i] == '\\') { |
| | | $i++; |
| | | } |
| | | continue; |
| | | } |
| | | // separator, add to result array |
| | | else if (strpos($separator, $str[$i]) !== false) { |
| | | if ($out) { |
| | | $result[] = $out; |
| | | } |
| | | $out = ''; |
| | | continue; |
| | | } |
| | | // start of quoted string |
| | | else if ($str[$i] == '"') { |
| | | $quoted = true; |
| | | } |
| | | // start of comment |
| | | else if ($remove_comments && $str[$i] == '(') { |
| | | $comment++; |
| | | } |
| | | |
| | | if ($comment <= 0) { |
| | | $out .= $str[$i]; |
| | | } |
| | | } |
| | | |
| | | if ($out && $comment <= 0) { |
| | | $result[] = $out; |
| | | } |
| | | |
| | | return $result; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * This is our own debug handler for the IMAP connection |
| | | * @access public |
| | | */ |
| | |
| | | { |
| | | if ($this->output->type == 'html') { |
| | | $src = $this->resource_url($fn); |
| | | $this->output->add_header(html::tag('link', array('rel' => "stylesheet", 'type' => "text/css", 'href' => $src))); |
| | | $this->output->include_css($src); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | 'UTF-8' => 'UTF-8 ('.rcube_label('unicode').')', |
| | | 'US-ASCII' => 'ASCII ('.rcube_label('english').')', |
| | | 'ISO-8859-1' => 'ISO-8859-1 ('.rcube_label('westerneuropean').')', |
| | | 'ISO-8859-2' => 'ISO-8895-2 ('.rcube_label('easterneuropean').')', |
| | | 'ISO-8859-4' => 'ISO-8895-4 ('.rcube_label('baltic').')', |
| | | 'ISO-8859-2' => 'ISO-8859-2 ('.rcube_label('easterneuropean').')', |
| | | 'ISO-8859-4' => 'ISO-8859-4 ('.rcube_label('baltic').')', |
| | | 'ISO-8859-5' => 'ISO-8859-5 ('.rcube_label('cyrillic').')', |
| | | 'ISO-8859-6' => 'ISO-8859-6 ('.rcube_label('arabic').')', |
| | | 'ISO-8859-7' => 'ISO-8859-7 ('.rcube_label('greek').')', |
| | |
| | | |
| | | // user settings commands |
| | | case 'preferences': |
| | | this.goto_url(''); |
| | | break; |
| | | |
| | | case 'identities': |
| | | this.goto_url('settings/identities'); |
| | | break; |
| | | |
| | | case 'folders': |
| | | this.goto_url('settings/folders'); |
| | | this.goto_url('settings/' + command); |
| | | break; |
| | | |
| | | // unified command call (command name == function name) |
| | |
| | | var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show'; |
| | | var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid'; |
| | | cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(flags.mbox)+'&'+uid_param+'='+uid+'"'+ |
| | | ' onclick="return rcube_event.cancel(event)">'+cols.subject+'</a>'; |
| | | ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')">'+cols.subject+'</a>'; |
| | | } |
| | | |
| | | // add each submitted col |
| | |
| | | this.show_contentframe(false); |
| | | } |
| | | |
| | | if (this.env.group) |
| | | qs += '&_gid='+urlencode(this.env.group); |
| | | |
| | | // also send search request to get the right records from the next page |
| | | if (this.env.search_request) |
| | | qs += '&_search='+this.env.search_request; |
| | |
| | | } |
| | | }; |
| | | |
| | | // disables subscription checkbox (for protected folder) |
| | | this.disable_subscription = function(folder) |
| | | { |
| | | var id = this.get_folder_row_id(folder); |
| | | if (id) |
| | | $('input[name="_subscribed[]"]', $('#'+id)).attr('disabled', true); |
| | | }; |
| | | |
| | | this.folder_size = function(folder) |
| | | { |
| | | var lock = this.set_busy(true, 'loading'); |
| | |
| | | } |
| | | th.appendChild(tr); |
| | | thead.parentNode.replaceChild(th, thead); |
| | | thead = th; |
| | | } |
| | | |
| | | for (n=0, len=this.env.coltypes.length; n<len; n++) { |
| | |
| | | |
| | | } // end object rcube_webmail |
| | | |
| | | |
| | | // some static methods |
| | | rcube_webmail.long_subject_title = function(elem, indent) |
| | | { |
| | | if (!elem.title) { |
| | | var $elem = $(elem); |
| | | if ($elem.width() + indent * 15 > $elem.parent().width()) |
| | | elem.title = $elem.html(); |
| | | } |
| | | }; |
| | | |
| | | // copy event engine prototype |
| | | rcube_webmail.prototype.addEventListener = rcube_event_engine.prototype.addEventListener; |
| | | rcube_webmail.prototype.removeEventListener = rcube_event_engine.prototype.removeEventListener; |
| | |
| | | link_title:"Infoga/redigera l\u00E4nk",
|
| | | link_url:"L\u00E4nkens URL",
|
| | | link_target:"M\u00E5l",
|
| | | link_target_same:"\u00D6\u0096ppna l\u00E4nken i samma f\u00F6nster",
|
| | | link_target_blank:"\u00D6\u0096ppna l\u00E4nken i ett nytt f\u00F6nster",
|
| | | link_target_same:"\u00D6ppna l\u00E4nken i samma f\u00F6nster",
|
| | | link_target_blank:"\u00D6ppna l\u00E4nken i ett nytt f\u00F6nster",
|
| | | link_titlefield:"Titel",
|
| | | link_is_email:"L\u00E4nken du angav verkar vara en e-post adress. Vill du infoga mailto: prefixet p\u00E5 l\u00E4nken?",
|
| | | link_is_external:"L\u00E4nken du angav verkar vara en extern adress. Vill du infoga http:// prefixet p\u00E5 l\u00E4nken?",
|
| | |
| | | * |
| | | * ACE input and output is always expected to be ASCII. |
| | | * |
| | | * @package Net |
| | | * @author Markus Nix <mnix@docuverse.de> |
| | | * @author Matthias Sommerfeld <mso@phlylabs.de> |
| | | * @author Stefan Neufeind <pear.neufeind@speedpartner.de> |
| | | * @package Net |
| | | * @version $Id: IDNA2.php 301175 2010-07-12 03:31:17Z clockwerx $ |
| | | * @version $Id: IDNA2.php 305344 2010-11-14 23:52:42Z neufeind $ |
| | | */ |
| | | class Net_IDNA2 |
| | | { |
| | |
| | | 0x33BE => array(0x6B, 0x77), |
| | | 0x33BF => array(0x6D, 0x77), |
| | | 0x33C0 => array(0x6B, 0x3C9), |
| | | 0x33C1 => array(0x6D, 0x3C9), /* |
| | | 0x33C2 => array(0x61, 0x2E, 0x6D, 0x2E), */ |
| | | 0x33C1 => array(0x6D, 0x3C9), |
| | | /* 0x33C2 => array(0x61, 0x2E, 0x6D, 0x2E), */ |
| | | 0x33C3 => array(0x62, 0x71), |
| | | 0x33C6 => array(0x63, 0x2215, 0x6B, 0x67), |
| | | 0x33C7 => array(0x63, 0x6F, 0x2E), |
| | |
| | | private $_strict_mode = false; |
| | | |
| | | /** |
| | | * IDNA-version to use |
| | | * |
| | | * Values are "2003" and "2008". |
| | | * Defaults to "2003", since that was the original version and for |
| | | * compatibility with previous versions of this library. |
| | | * If you need to encode "new" characters like the German "Eszett", |
| | | * please switch to 2008 first before encoding. |
| | | * |
| | | * @var bool |
| | | * @access private |
| | | */ |
| | | private $_version = '2003'; |
| | | |
| | | /** |
| | | * Cached value indicating whether or not mbstring function overloading is |
| | | * on for strlen |
| | | * |
| | |
| | | /** |
| | | * Constructor |
| | | * |
| | | * @param array $options |
| | | * @param array $options Options to initialise the object with |
| | | * |
| | | * @access public |
| | | * @see setParams() |
| | | */ |
| | |
| | | * on failures; false: loose mode, ideal for "wildlife" applications |
| | | * by silently ignoring errors and returning the original input instead] |
| | | * |
| | | * @param mixed $option Parameter to set (string: single parameter; array of Parameter => Value pairs) |
| | | * @param string $value Value to use (if parameter 1 is a string) |
| | | * @return boolean true on success, false otherwise |
| | | * @access public |
| | | * @param mixed $option Parameter to set (string: single parameter; array of Parameter => Value pairs) |
| | | * @param string $value Value to use (if parameter 1 is a string) |
| | | * |
| | | * @return boolean true on success, false otherwise |
| | | * @access public |
| | | */ |
| | | public function setParams($option, $value = false) |
| | | { |
| | |
| | | $this->_strict_mode = ($v) ? true : false; |
| | | break; |
| | | |
| | | case 'version': |
| | | if (in_array($v, array('2003', '2008'))) { |
| | | $this->_version = $v; |
| | | } else { |
| | | throw new InvalidArgumentException('Set Parameter: Invalid parameter '.$v.' for option '.$k); |
| | | } |
| | | break; |
| | | |
| | | default: |
| | | return false; |
| | | } |
| | |
| | | /** |
| | | * Encode a given UTF-8 domain name. |
| | | * |
| | | * @param string $decoded Domain name (UTF-8 or UCS-4) |
| | | * [@param string $encoding Desired input encoding, see {@link set_parameter}] |
| | | * @return string Encoded Domain name (ACE string) |
| | | * @return mixed processed string |
| | | * @throws Exception |
| | | * @access public |
| | | * @param string $decoded Domain name (UTF-8 or UCS-4) |
| | | * @param string $one_time_encoding Desired input encoding, see {@link set_parameter} |
| | | * If not given will use default-encoding |
| | | * |
| | | * @return string Encoded Domain name (ACE string) |
| | | * @return mixed processed string |
| | | * @throws Exception |
| | | * @access public |
| | | */ |
| | | public function encode($decoded, $one_time_encoding = false) |
| | | { |
| | |
| | | $decoded = $this->_utf8_to_ucs4($decoded); |
| | | break; |
| | | case 'ucs4_string': |
| | | $decoded = $this->_ucs4_string_to_ucs4($decoded); |
| | | $decoded = $this->_ucs4_string_to_ucs4($decoded); |
| | | case 'ucs4_array': // No break; before this line. Catch case, but do nothing |
| | | break; |
| | | break; |
| | | default: |
| | | throw new InvalidArgumentException('Unsupported input format'); |
| | | } |
| | |
| | | case 0x40: |
| | | // Neither email addresses nor URLs allowed in strict mode |
| | | if ($this->_strict_mode) { |
| | | throw new InvalidArgumentException('Neither email addresses nor URLs are allowed in strict mode.'); |
| | | throw new InvalidArgumentException('Neither email addresses nor URLs are allowed in strict mode.'); |
| | | } |
| | | // Skip first char |
| | | if ($k) { |
| | |
| | | /** |
| | | * Decode a given ACE domain name. |
| | | * |
| | | * @param string $encoded Domain name (ACE string) |
| | | * @param string $encoding Desired output encoding, see {@link set_parameter} |
| | | * @return string Decoded Domain name (UTF-8 or UCS-4) |
| | | * @throws Exception |
| | | * @access public |
| | | * @param string $input Domain name (ACE string) |
| | | * @param string $one_time_encoding Desired output encoding, see {@link set_parameter} |
| | | * |
| | | * @return string Decoded Domain name (UTF-8 or UCS-4) |
| | | * @throws Exception |
| | | * @access public |
| | | */ |
| | | public function decode($input, $one_time_encoding = false) |
| | | { |
| | |
| | | if (isset($parsed['scheme'])) { |
| | | $parsed['scheme'] .= (strtolower($parsed['scheme']) == 'mailto') ? ':' : '://'; |
| | | } |
| | | $return = join('', $parsed); |
| | | $return = $this->_unparse_url($parsed); |
| | | } else { // parse_url seems to have failed, try without it |
| | | $arr = explode('.', $input); |
| | | foreach ($arr as $k => $v) { |
| | |
| | | return $return; |
| | | break; |
| | | case 'ucs4_string': |
| | | return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); |
| | | break; |
| | | return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); |
| | | break; |
| | | case 'ucs4_array': |
| | | return $this->_utf8_to_ucs4($return); |
| | | break; |
| | |
| | | |
| | | // {{{ private |
| | | /** |
| | | * Opposite function to parse_url() |
| | | * |
| | | * Inspired by code from comments of php.net-documentation for parse_url() |
| | | * |
| | | * @param array $parts_arr parts (strings) as returned by parse_url() |
| | | * |
| | | * @return string |
| | | * @access private |
| | | */ |
| | | private function _unparse_url($parts_arr) |
| | | { |
| | | if (!empty($parts_arr['scheme'])) { |
| | | $ret_url = $parts_arr['scheme']; |
| | | } |
| | | if (!empty($parts_arr['user'])) { |
| | | $ret_url .= $parts_arr['user']; |
| | | if (!empty($parts_arr['pass'])) { |
| | | $ret_url .= ':' . $parts_arr['pass']; |
| | | } |
| | | $ret_url .= '@'; |
| | | } |
| | | $ret_url .= $parts_arr['host']; |
| | | if (!empty($parts_arr['port'])) { |
| | | $ret_url .= ':' . $parts_arr['port']; |
| | | } |
| | | $ret_url .= $parts_arr['path']; |
| | | if (!empty($parts_arr['query'])) { |
| | | $ret_url .= '?' . $parts_arr['query']; |
| | | } |
| | | if (!empty($parts_arr['fragment'])) { |
| | | $ret_url .= '#' . $parts_arr['fragment']; |
| | | } |
| | | return $ret_url; |
| | | } |
| | | |
| | | /** |
| | | * The actual encoding algorithm. |
| | | * |
| | | * @return string |
| | | * @throws Exception |
| | | * @access private |
| | | * @param string $decoded Decoded string which should be encoded |
| | | * |
| | | * @return string Encoded string |
| | | * @throws Exception |
| | | * @access private |
| | | */ |
| | | private function _encode($decoded) |
| | | { |
| | |
| | | $test = $decoded[$i]; |
| | | // Will match [0-9a-zA-Z-] |
| | | if ((0x2F < $test && $test < 0x40) |
| | | || (0x40 < $test && $test < 0x5B) |
| | | || (0x60 < $test && $test <= 0x7B) |
| | | || (0x2D == $test)) { |
| | | || (0x40 < $test && $test < 0x5B) |
| | | || (0x60 < $test && $test <= 0x7B) |
| | | || (0x2D == $test) |
| | | ) { |
| | | $encoded .= chr($decoded[$i]); |
| | | $codecount++; |
| | | } |
| | |
| | | /** |
| | | * The actual decoding algorithm. |
| | | * |
| | | * @return string |
| | | * @throws Exception |
| | | * @access private |
| | | * @param string $encoded Encoded string which should be decoded |
| | | * |
| | | * @return string Decoded string |
| | | * @throws Exception |
| | | * @access private |
| | | */ |
| | | private function _decode($encoded) |
| | | { |
| | |
| | | /** |
| | | * Adapt the bias according to the current code point and position. |
| | | * |
| | | * @access private |
| | | * @param int $delta ... |
| | | * @param int $npoints ... |
| | | * @param boolean $is_first ... |
| | | * |
| | | * @return int |
| | | * @access private |
| | | */ |
| | | private function _adapt($delta, $npoints, $is_first) |
| | | { |
| | |
| | | /** |
| | | * Encoding a certain digit. |
| | | * |
| | | * @access private |
| | | * @param int $d One digit to encode |
| | | * |
| | | * @return char Encoded digit |
| | | * @access private |
| | | */ |
| | | private function _encodeDigit($d) |
| | | { |
| | |
| | | /** |
| | | * Decode a certain digit. |
| | | * |
| | | * @access private |
| | | * @param char $cp One digit (character) to decode |
| | | * |
| | | * @return int Decoded digit |
| | | * @access private |
| | | */ |
| | | private function _decodeDigit($cp) |
| | | { |
| | |
| | | /** |
| | | * Do Nameprep according to RFC3491 and RFC3454. |
| | | * |
| | | * @param array $input Unicode Characters |
| | | * @return string Unicode Characters, Nameprep'd |
| | | * @throws Exception |
| | | * @access private |
| | | * @param array $input Unicode Characters |
| | | * |
| | | * @return string Unicode Characters, Nameprep'd |
| | | * @throws Exception |
| | | * @access private |
| | | */ |
| | | private function _nameprep($input) |
| | | { |
| | |
| | | foreach ($this->_hangulDecompose($v) as $out) { |
| | | $output[] = $out; |
| | | } |
| | | } else if (isset(self::$_np_replacemaps[$v])) { // There's a decomposition mapping for that code point |
| | | } else if (($this->_version == '2003') && isset(self::$_np_replacemaps[$v])) { |
| | | // There's a decomposition mapping for that code point |
| | | // Decompositions only in version 2003 (original) of IDNA |
| | | foreach ($this->_applyCannonicalOrdering(self::$_np_replacemaps[$v]) as $out) { |
| | | $output[] = $out; |
| | | } |
| | |
| | | * Decomposes a Hangul syllable |
| | | * (see http://www.unicode.org/unicode/reports/tr15/#Hangul). |
| | | * |
| | | * @param integer $char 32bit UCS4 code point |
| | | * @return array Either Hangul Syllable decomposed or original 32bit |
| | | * value as one value array |
| | | * @access private |
| | | * @param integer $char 32bit UCS4 code point |
| | | * |
| | | * @return array Either Hangul Syllable decomposed or original 32bit |
| | | * value as one value array |
| | | * @access private |
| | | */ |
| | | private function _hangulDecompose($char) |
| | | { |
| | |
| | | * Ccomposes a Hangul syllable |
| | | * (see http://www.unicode.org/unicode/reports/tr15/#Hangul). |
| | | * |
| | | * @param array $input Decomposed UCS4 sequence |
| | | * @return array UCS4 sequence with syllables composed |
| | | * @access private |
| | | * @param array $input Decomposed UCS4 sequence |
| | | * |
| | | * @return array UCS4 sequence with syllables composed |
| | | * @access private |
| | | */ |
| | | private function _hangulCompose($input) |
| | | { |
| | |
| | | /** |
| | | * Returns the combining class of a certain wide char. |
| | | * |
| | | * @param integer $char Wide char to check (32bit integer) |
| | | * @return integer Combining class if found, else 0 |
| | | * @access private |
| | | * @param integer $char Wide char to check (32bit integer) |
| | | * |
| | | * @return integer Combining class if found, else 0 |
| | | * @access private |
| | | */ |
| | | private function _getCombiningClass($char) |
| | | { |
| | |
| | | /** |
| | | * Apllies the cannonical ordering of a decomposed UCS4 sequence. |
| | | * |
| | | * @param array $input Decomposed UCS4 sequence |
| | | * @return array Ordered USC4 sequence |
| | | * @access private |
| | | * @param array $input Decomposed UCS4 sequence |
| | | * |
| | | * @return array Ordered USC4 sequence |
| | | * @access private |
| | | */ |
| | | private function _applyCannonicalOrdering($input) |
| | | { |
| | |
| | | /** |
| | | * Do composition of a sequence of starter and non-starter. |
| | | * |
| | | * @param array $input UCS4 Decomposed sequence |
| | | * @return array Ordered USC4 sequence |
| | | * @access private |
| | | * @param array $input UCS4 Decomposed sequence |
| | | * |
| | | * @return array Ordered USC4 sequence |
| | | * @access private |
| | | */ |
| | | private function _combine($input) |
| | | { |
| | |
| | | * |
| | | * Each x represents a bit that can be used to store character data. |
| | | * |
| | | * @access private |
| | | * @param string $input utf8-encoded string |
| | | * |
| | | * @return array ucs4-encoded array |
| | | * @throws Exception |
| | | * @access private |
| | | */ |
| | | private function _utf8_to_ucs4($input) |
| | | { |
| | |
| | | } |
| | | |
| | | /** |
| | | * Convert UCS-4 array into UTF-8 string. |
| | | * Convert UCS-4 array into UTF-8 string |
| | | * |
| | | * @throws Exception |
| | | * @access private |
| | | * @param array $input ucs4-encoded array |
| | | * |
| | | * @return string utf8-encoded string |
| | | * @throws Exception |
| | | * @access private |
| | | */ |
| | | private function _ucs4_to_utf8($input) |
| | | { |
| | |
| | | /** |
| | | * Convert UCS-4 array into UCS-4 string |
| | | * |
| | | * @throws Exception |
| | | * @access private |
| | | * @param array $input ucs4-encoded array |
| | | * |
| | | * @return string ucs4-encoded string |
| | | * @throws Exception |
| | | * @access private |
| | | */ |
| | | private function _ucs4_to_ucs4_string($input) |
| | | { |
| | |
| | | } |
| | | |
| | | /** |
| | | * Convert UCS-4 strin into UCS-4 garray |
| | | * Convert UCS-4 string into UCS-4 array |
| | | * |
| | | * @throws InvalidArgumentException |
| | | * @access private |
| | | * @param string $input ucs4-encoded string |
| | | * |
| | | * @return array ucs4-encoded array |
| | | * @throws InvalidArgumentException |
| | | * @access private |
| | | */ |
| | | private function _ucs4_string_to_ucs4($input) |
| | | { |
| | |
| | | /** |
| | | * Echo hex representation of UCS4 sequence. |
| | | * |
| | | * @param array $input UCS4 sequence |
| | | * @param boolean $include_bit Include bitmask in output |
| | | * @return void |
| | | * @param array $input UCS4 sequence |
| | | * @param boolean $include_bit Include bitmask in output |
| | | * |
| | | * @return void |
| | | * @static |
| | | * @access private |
| | | * @access private |
| | | */ |
| | | private static function _showHex($input, $include_bit = false) |
| | | { |
| | |
| | | * Gives you a bit representation of given Byte (8 bits), Word (16 bits) or DWord (32 bits) |
| | | * Output width is automagically determined |
| | | * |
| | | * @param int $octet ... |
| | | * |
| | | * @return string Bitmask-representation |
| | | * @static |
| | | * @access private |
| | | * @access private |
| | | */ |
| | | private static function _showBitmask($octet) |
| | | { |
| | |
| | | $return = ''; |
| | | |
| | | for ($i = $w; $i > -1; $i--) { |
| | | $return .= ($octet & (1 << $i))? 1 : '0'; |
| | | $return .= ($octet & (1 << $i))? '1' : '0'; |
| | | } |
| | | |
| | | return $return; |
| | |
| | | <?php |
| | | // |
| | | // +----------------------------------------------------------------------+ |
| | | // | PHP Version 4 | |
| | | // +----------------------------------------------------------------------+ |
| | | // | Copyright (c) 1997-2003 The PHP Group | |
| | | // +----------------------------------------------------------------------+ |
| | | // | This source file is subject to version 2.0 of the PHP license, | |
| | | // | that is bundled with this package in the file LICENSE, and is | |
| | | // | available at through the world-wide-web at | |
| | | // | http://www.php.net/license/2_02.txt. | |
| | | // | If you did not receive a copy of the PHP license and are unable to | |
| | | // | obtain it through the world-wide-web, please send a note to | |
| | | // | license@php.net so we can mail you a copy immediately. | |
| | | // +----------------------------------------------------------------------+ |
| | | // | Authors: Stig Bakken <ssb@php.net> | |
| | | // | Chuck Hagenbuch <chuck@horde.org> | |
| | | // +----------------------------------------------------------------------+ |
| | | // |
| | | // $Id$ |
| | | /** |
| | | * Net_Socket |
| | | * |
| | | * PHP Version 4 |
| | | * |
| | | * Copyright (c) 1997-2003 The PHP Group |
| | | * |
| | | * This source file is subject to version 2.0 of the PHP license, |
| | | * that is bundled with this package in the file LICENSE, and is |
| | | * available at through the world-wide-web at |
| | | * http://www.php.net/license/2_02.txt. |
| | | * If you did not receive a copy of the PHP license and are unable to |
| | | * obtain it through the world-wide-web, please send a note to |
| | | * license@php.net so we can mail you a copy immediately. |
| | | * |
| | | * Authors: Stig Bakken <ssb@php.net> |
| | | * Chuck Hagenbuch <chuck@horde.org> |
| | | * |
| | | * @category Net |
| | | * @package Net_Socket |
| | | * @author Stig Bakken <ssb@php.net> |
| | | * @author Chuck Hagenbuch <chuck@horde.org> |
| | | * @copyright 1997-2003 The PHP Group |
| | | * @license http://www.php.net/license/2_02.txt PHP 2.02 |
| | | * @version CVS: $Id$ |
| | | * @link http://pear.php.net/packages/Net_Socket |
| | | */ |
| | | |
| | | require_once 'PEAR.php'; |
| | | |
| | | define('NET_SOCKET_READ', 1); |
| | | define('NET_SOCKET_READ', 1); |
| | | define('NET_SOCKET_WRITE', 2); |
| | | define('NET_SOCKET_ERROR', 4); |
| | | |
| | | /** |
| | | * Generalized Socket class. |
| | | * |
| | | * @version 1.1 |
| | | * @author Stig Bakken <ssb@php.net> |
| | | * @author Chuck Hagenbuch <chuck@horde.org> |
| | | * @category Net |
| | | * @package Net_Socket |
| | | * @author Stig Bakken <ssb@php.net> |
| | | * @author Chuck Hagenbuch <chuck@horde.org> |
| | | * @copyright 1997-2003 The PHP Group |
| | | * @license http://www.php.net/license/2_02.txt PHP 2.02 |
| | | * @link http://pear.php.net/packages/Net_Socket |
| | | */ |
| | | class Net_Socket extends PEAR { |
| | | |
| | | class Net_Socket extends PEAR |
| | | { |
| | | /** |
| | | * Socket file pointer. |
| | | * @var resource $fp |
| | |
| | | var $lineLength = 2048; |
| | | |
| | | /** |
| | | * The string to use as a newline terminator. Usually "\r\n" or "\n". |
| | | * @var string $newline |
| | | */ |
| | | var $newline = "\r\n"; |
| | | |
| | | /** |
| | | * Connect to the specified port. If called when the socket is |
| | | * already connected, it disconnects and connects again. |
| | | * |
| | | * @param string $addr IP address or host name. |
| | | * @param integer $port TCP port number. |
| | | * @param boolean $persistent (optional) Whether the connection is |
| | | * persistent (kept open between requests |
| | | * by the web server). |
| | | * @param integer $timeout (optional) How long to wait for data. |
| | | * @param array $options See options for stream_context_create. |
| | | * @param string $addr IP address or host name. |
| | | * @param integer $port TCP port number. |
| | | * @param boolean $persistent (optional) Whether the connection is |
| | | * persistent (kept open between requests |
| | | * by the web server). |
| | | * @param integer $timeout (optional) How long to wait for data. |
| | | * @param array $options See options for stream_context_create. |
| | | * |
| | | * @access public |
| | | * |
| | | * @return boolean | PEAR_Error True on success or a PEAR_Error on failure. |
| | | */ |
| | | function connect($addr, $port = 0, $persistent = null, $timeout = null, $options = null) |
| | | function connect($addr, $port = 0, $persistent = null, |
| | | $timeout = null, $options = null) |
| | | { |
| | | if (is_resource($this->fp)) { |
| | | @fclose($this->fp); |
| | |
| | | } |
| | | |
| | | $openfunc = $this->persistent ? 'pfsockopen' : 'fsockopen'; |
| | | $errno = 0; |
| | | $errstr = ''; |
| | | $errno = 0; |
| | | $errstr = ''; |
| | | |
| | | $old_track_errors = @ini_set('track_errors', 1); |
| | | |
| | | if ($options && function_exists('stream_context_create')) { |
| | | if ($this->timeout) { |
| | | $timeout = $this->timeout; |
| | |
| | | |
| | | // Since PHP 5 fsockopen doesn't allow context specification |
| | | if (function_exists('stream_socket_client')) { |
| | | $flags = $this->persistent ? STREAM_CLIENT_PERSISTENT : STREAM_CLIENT_CONNECT; |
| | | $flags = STREAM_CLIENT_CONNECT; |
| | | |
| | | if ($this->persistent) { |
| | | $flags = STREAM_CLIENT_PERSISTENT; |
| | | } |
| | | |
| | | $addr = $this->addr . ':' . $this->port; |
| | | $fp = stream_socket_client($addr, $errno, $errstr, $timeout, $flags, $context); |
| | | $fp = stream_socket_client($addr, $errno, $errstr, |
| | | $timeout, $flags, $context); |
| | | } else { |
| | | $fp = @$openfunc($this->addr, $this->port, $errno, $errstr, $timeout, $context); |
| | | $fp = @$openfunc($this->addr, $this->port, $errno, |
| | | $errstr, $timeout, $context); |
| | | } |
| | | } else { |
| | | if ($this->timeout) { |
| | | $fp = @$openfunc($this->addr, $this->port, $errno, $errstr, $this->timeout); |
| | | $fp = @$openfunc($this->addr, $this->port, $errno, |
| | | $errstr, $this->timeout); |
| | | } else { |
| | | $fp = @$openfunc($this->addr, $this->port, $errno, $errstr); |
| | | } |
| | | } |
| | | |
| | | if (!$fp) { |
| | | if ($errno == 0 && isset($php_errormsg)) { |
| | | if ($errno == 0 && !strlen($errstr) && isset($php_errormsg)) { |
| | | $errstr = $php_errormsg; |
| | | } |
| | | @ini_set('track_errors', $old_track_errors); |
| | |
| | | } |
| | | |
| | | /** |
| | | * Set the newline character/sequence to use. |
| | | * |
| | | * @param string $newline Newline character(s) |
| | | * @return boolean True |
| | | */ |
| | | function setNewline($newline) |
| | | { |
| | | $this->newline = $newline; |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * Find out if the socket is in blocking mode. |
| | | * |
| | | * @access public |
| | |
| | | * if there is no data available, whereas it will block until there |
| | | * is data for blocking sockets. |
| | | * |
| | | * @param boolean $mode True for blocking sockets, false for nonblocking. |
| | | * @param boolean $mode True for blocking sockets, false for nonblocking. |
| | | * |
| | | * @access public |
| | | * @return mixed true on success or a PEAR_Error instance otherwise |
| | | */ |
| | |
| | | } |
| | | |
| | | $this->blocking = $mode; |
| | | socket_set_blocking($this->fp, $this->blocking); |
| | | stream_set_blocking($this->fp, (int)$this->blocking); |
| | | return true; |
| | | } |
| | | |
| | |
| | | * Sets the timeout value on socket descriptor, |
| | | * expressed in the sum of seconds and microseconds |
| | | * |
| | | * @param integer $seconds Seconds. |
| | | * @param integer $microseconds Microseconds. |
| | | * @param integer $seconds Seconds. |
| | | * @param integer $microseconds Microseconds. |
| | | * |
| | | * @access public |
| | | * @return mixed true on success or a PEAR_Error instance otherwise |
| | | */ |
| | |
| | | * Sets the file buffering size on the stream. |
| | | * See php's stream_set_write_buffer for more information. |
| | | * |
| | | * @param integer $size Write buffer size. |
| | | * @param integer $size Write buffer size. |
| | | * |
| | | * @access public |
| | | * @return mixed on success or an PEAR_Error object otherwise |
| | | */ |
| | |
| | | * </p> |
| | | * |
| | | * @access public |
| | | * @return mixed Array containing information about existing socket resource or a PEAR_Error instance otherwise |
| | | * @return mixed Array containing information about existing socket |
| | | * resource or a PEAR_Error instance otherwise |
| | | */ |
| | | function getStatus() |
| | | { |
| | |
| | | /** |
| | | * Get a specified line of data |
| | | * |
| | | * @param int $size ?? |
| | | * |
| | | * @access public |
| | | * @return $size bytes of data from the socket, or a PEAR_Error if |
| | | * not connected. |
| | | */ |
| | | function gets($size) |
| | | function gets($size = null) |
| | | { |
| | | if (!is_resource($this->fp)) { |
| | | return $this->raiseError('not connected'); |
| | | } |
| | | |
| | | return @fgets($this->fp, $size); |
| | | if (is_null($size)) { |
| | | return @fgets($this->fp); |
| | | } else { |
| | | return @fgets($this->fp, $size); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * chunk; if you know the size of the data you're getting |
| | | * beforehand, this is definitely the way to go. |
| | | * |
| | | * @param integer $size The number of bytes to read from the socket. |
| | | * @param integer $size The number of bytes to read from the socket. |
| | | * |
| | | * @access public |
| | | * @return $size bytes of data from the socket, or a PEAR_Error if |
| | | * not connected. |
| | |
| | | /** |
| | | * Write a specified amount of data. |
| | | * |
| | | * @param string $data Data to write. |
| | | * @param integer $blocksize Amount of data to write at once. |
| | | * NULL means all at once. |
| | | * @param string $data Data to write. |
| | | * @param integer $blocksize Amount of data to write at once. |
| | | * NULL means all at once. |
| | | * |
| | | * @access public |
| | | * @return mixed If the socket is not connected, returns an instance of PEAR_Error |
| | | * @return mixed If the socket is not connected, returns an instance of |
| | | * PEAR_Error |
| | | * If the write succeeds, returns the number of bytes written |
| | | * If the write fails, returns false. |
| | | */ |
| | |
| | | $blocksize = 1024; |
| | | } |
| | | |
| | | $pos = 0; |
| | | $pos = 0; |
| | | $size = strlen($data); |
| | | while ($pos < $size) { |
| | | $written = @fwrite($this->fp, substr($data, $pos, $blocksize)); |
| | | if ($written === false) { |
| | | return false; |
| | | if (!$written) { |
| | | return $written; |
| | | } |
| | | $pos += $written; |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * Write a line of data to the socket, followed by a trailing "\r\n". |
| | | * Write a line of data to the socket, followed by a trailing newline. |
| | | * |
| | | * @param string $data Data to write |
| | | * |
| | | * @access public |
| | | * @return mixed fputs result, or an error |
| | |
| | | return $this->raiseError('not connected'); |
| | | } |
| | | |
| | | return fwrite($this->fp, $data . "\r\n"); |
| | | return fwrite($this->fp, $data . $this->newline); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | $string = ''; |
| | | while (($char = @fread($this->fp, 1)) != "\x00") { |
| | | while (($char = @fread($this->fp, 1)) != "\x00") { |
| | | $string .= $char; |
| | | } |
| | | return $string; |
| | |
| | | } |
| | | |
| | | $line = ''; |
| | | |
| | | $timeout = time() + $this->timeout; |
| | | |
| | | while (!feof($this->fp) && (!$this->timeout || time() < $timeout)) { |
| | | $line .= @fgets($this->fp, $this->lineLength); |
| | | if (substr($line, -1) == "\n") { |
| | | return rtrim($line, "\r\n"); |
| | | return rtrim($line, $this->newline); |
| | | } |
| | | } |
| | | return $line; |
| | |
| | | * Runs the equivalent of the select() system call on the socket |
| | | * with a timeout specified by tv_sec and tv_usec. |
| | | * |
| | | * @param integer $state Which of read/write/error to check for. |
| | | * @param integer $tv_sec Number of seconds for timeout. |
| | | * @param integer $tv_usec Number of microseconds for timeout. |
| | | * @param integer $state Which of read/write/error to check for. |
| | | * @param integer $tv_sec Number of seconds for timeout. |
| | | * @param integer $tv_usec Number of microseconds for timeout. |
| | | * |
| | | * @access public |
| | | * @return False if select fails, integer describing which of read/write/error |
| | |
| | | return $this->raiseError('not connected'); |
| | | } |
| | | |
| | | $read = null; |
| | | $write = null; |
| | | $read = null; |
| | | $write = null; |
| | | $except = null; |
| | | if ($state & NET_SOCKET_READ) { |
| | | $read[] = $this->fp; |
| | |
| | | if ($state & NET_SOCKET_ERROR) { |
| | | $except[] = $this->fp; |
| | | } |
| | | if (false === ($sr = stream_select($read, $write, $except, $tv_sec, $tv_usec))) { |
| | | if (false === ($sr = stream_select($read, $write, $except, |
| | | $tv_sec, $tv_usec))) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | /** |
| | | * Turns encryption on/off on a connected socket. |
| | | * |
| | | * @param bool $enabled Set this parameter to true to enable encryption |
| | | * and false to disable encryption. |
| | | * @param integer $type Type of encryption. See |
| | | * http://se.php.net/manual/en/function.stream-socket-enable-crypto.php for values. |
| | | * @param bool $enabled Set this parameter to true to enable encryption |
| | | * and false to disable encryption. |
| | | * @param integer $type Type of encryption. See stream_socket_enable_crypto() |
| | | * for values. |
| | | * |
| | | * @see http://se.php.net/manual/en/function.stream-socket-enable-crypto.php |
| | | * @access public |
| | | * @return false on error, true on success and 0 if there isn't enough data and the |
| | | * user should try again (non-blocking sockets only). A PEAR_Error object |
| | | * is returned if the socket is not connected |
| | | * @return false on error, true on success and 0 if there isn't enough data |
| | | * and the user should try again (non-blocking sockets only). |
| | | * A PEAR_Error object is returned if the socket is not |
| | | * connected |
| | | */ |
| | | function enableCrypto($enabled, $type) |
| | | { |
| | |
| | | } |
| | | return @stream_socket_enable_crypto($this->fp, $enabled, $type); |
| | | } else { |
| | | return $this->raiseError('Net_Socket::enableCrypto() requires php version >= 5.1.0'); |
| | | $msg = 'Net_Socket::enableCrypto() requires php version >= 5.1.0'; |
| | | return $this->raiseError($msg); |
| | | } |
| | | } |
| | | |
| | |
| | | $labels['cc'] = 'Nüsxə'; |
| | | $labels['bcc'] = 'Gizli'; |
| | | $labels['replyto'] = 'Cavabla'; |
| | | $labels['followupto'] = 'İzlə'; |
| | | $labels['date'] = 'Tarix'; |
| | | $labels['size'] = 'Ölçü'; |
| | | $labels['priority'] = 'Vaciblik'; |
| | | $labels['organization'] = 'Təşkilat'; |
| | | $labels['reply-to'] = 'Cavab ünvanı'; |
| | | $labels['readstatus'] = 'Statusu oxu'; |
| | | $labels['mailboxlist'] = 'Qovluqlar'; |
| | | $labels['messagesfromto'] = '$count mesajdan $from - $to arası mesajlar'; |
| | | $labels['threadsfromto'] = 'Müzakirə: $from - $to Toplam: $count'; |
| | |
| | | $labels['writenewmessage'] = 'Yeni məktub'; |
| | | $labels['replytomessage'] = 'Göndərənə cavabla'; |
| | | $labels['replytoallmessage'] = 'Hamıya cavabla'; |
| | | $labels['replyall'] = 'Hamıya cavab'; |
| | | $labels['replylist'] = 'Cavab siyahısı'; |
| | | $labels['forwardmessage'] = 'Yönəlt'; |
| | | $labels['deletemessage'] = 'Sil'; |
| | | $labels['movemessagetotrash'] = 'Məktubu səbətə köçür'; |
| | |
| | | $labels['folderactions'] = 'Qovluq işləri...'; |
| | | $labels['compact'] = 'Sıx'; |
| | | $labels['empty'] = 'Boşalt'; |
| | | $labels['purge'] = 'Təmizlə'; |
| | | $labels['quota'] = 'Disk istifadəsi'; |
| | | $labels['unknown'] = 'naməlum'; |
| | | $labels['unlimited'] = 'limitsiz'; |
| | |
| | | $labels['charset'] = 'Kodlaşdırma'; |
| | | $labels['editortype'] = 'Redaktor'; |
| | | $labels['returnreceipt'] = 'Cavab sorğusu'; |
| | | $labels['dsn'] = 'Çatdırılma statusu haqda bildiriş'; |
| | | $labels['editidents'] = 'İdentifikasiyanı dəyiş'; |
| | | $labels['checkspelling'] = 'Orfoqrafiyanı yoxla'; |
| | | $labels['resumeediting'] = 'Redaktəni davam et'; |
| | | $labels['revertto'] = 'Dəyişiklikləri ləğv et'; |
| | |
| | | $labels['addcc'] = 'Kopya əlavə et'; |
| | | $labels['addbcc'] = 'Gizli kopya əlavə et'; |
| | | $labels['addreplyto'] = 'Yönəltmə əlavə et'; |
| | | $labels['addfollowupto'] = '"İzlə" əlavə et'; |
| | | $labels['mdnrequest'] = 'Məktubu göndərən onu oxuduğunuz haqda sorğu almaq istəyir. Göndərilsin?'; |
| | | $labels['receiptread'] = 'Oxunulma haqda soğru'; |
| | | $labels['yourmessage'] = 'Bu məktubunuzun oxunulduğu haqda sorğudur'; |
| | |
| | | $labels['name'] = 'Göstərilən ad'; |
| | | $labels['firstname'] = 'Adı'; |
| | | $labels['surname'] = 'Soyadı'; |
| | | $labels['middlename'] = 'Orta adı'; |
| | | $labels['nameprefix'] = 'Prefiks'; |
| | | $labels['namesuffix'] = 'Suffiks'; |
| | | $labels['nickname'] = 'Ləqəb'; |
| | | $labels['jobtitle'] = 'Vəzifə'; |
| | | $labels['department'] = 'Departament'; |
| | | $labels['gender'] = 'Cins'; |
| | | $labels['maidenname'] = 'Qız adı'; |
| | | $labels['email'] = 'E-Poçt'; |
| | | $labels['phone'] = 'Telefon'; |
| | | $labels['address'] = 'Ünvan'; |
| | | $labels['street'] = 'Küçə'; |
| | | $labels['locality'] = 'Şəhər'; |
| | | $labels['zipcode'] = 'ZIP kod'; |
| | | $labels['region'] = 'Region'; |
| | | $labels['country'] = 'Ölkə'; |
| | | $labels['birthday'] = 'Ad günü'; |
| | | $labels['anniversary'] = 'İldönümü'; |
| | | $labels['website'] = 'Vebsayt'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Qeydlər'; |
| | | $labels['male'] = 'kişi'; |
| | | $labels['female'] = 'qadın'; |
| | | $labels['manager'] = 'Menecer'; |
| | | $labels['assistant'] = 'Assistent'; |
| | | $labels['spouse'] = 'Ər-arvad'; |
| | | $labels['addfield'] = 'Sahə əlavə et'; |
| | | $labels['addcontact'] = 'Ünvanlara əlavə et'; |
| | | $labels['editcontact'] = 'Ünvanı redaktə et'; |
| | | $labels['contacts'] = 'Əlaqələr'; |
| | | $labels['contactproperties'] = 'Kontakt xüsusiyyətləri'; |
| | | $labels['personalinfo'] = 'Şəxsi məlumat'; |
| | | $labels['edit'] = 'Redaktə et'; |
| | | $labels['cancel'] = 'Ləğv et'; |
| | | $labels['save'] = 'Saxla'; |
| | | $labels['delete'] = 'Sil'; |
| | | $labels['rename'] = 'Adlandır'; |
| | | $labels['addphoto'] = 'Əlavə et'; |
| | | $labels['replacephoto'] = 'Adı dəyiş'; |
| | | $labels['newcontact'] = 'Yeni ünvan kartı əlavə et'; |
| | | $labels['deletecontact'] = 'Seçilmiş ünvanları sil'; |
| | | $labels['composeto'] = 'Seçilmiş ünvanlara məktub yaz'; |
| | |
| | | $labels['signature'] = 'İmza'; |
| | | $labels['dstactive'] = 'Yay vaxtı'; |
| | | $labels['htmleditor'] = 'HTML-də mesaj yaz'; |
| | | $labels['htmlonreply'] = 'yalnız HTML mesajlar ilə cavab'; |
| | | $labels['htmlsignature'] = 'HTML imza'; |
| | | $labels['previewpane'] = 'Prevyu paneli göstər'; |
| | | $labels['skin'] = 'İnterfeys stili'; |
| | |
| | | $labels['mdnrequests'] = 'Göndərilmə bildirişi'; |
| | | $labels['askuser'] = 'göndərilmə zamanı istifadəçidən soruş'; |
| | | $labels['autosend'] = 'avtomatik göndər'; |
| | | $labels['autosendknown'] = 'kontaktlarıma qəbz yolla. Əks halda soruş'; |
| | | $labels['autosendknownignore'] = 'kontaktlarıma qəbz yolla. Əks halda iqnor et'; |
| | | $labels['ignore'] = 'iqnor'; |
| | | $labels['readwhendeleted'] = 'Məktubu siləndə oxunmuş kimi qeyd et'; |
| | | $labels['flagfordeletion'] = 'Silmə əvəzi silinmə işarəsilə qeyd et'; |
| | |
| | | $labels['insertsignature'] = 'İmza əlavə et'; |
| | | $labels['previewpanemarkread'] = 'Baxılmış şəkilləri oxunmuş kimi qeyd et'; |
| | | $labels['afternseconds'] = '$n saniyədən sonra'; |
| | | $labels['reqmdn'] = 'Hər zaman çatdırılma bildirişini istə'; |
| | | $labels['reqdsn'] = 'Hər zaman çatıdrılma haqda statusu istə'; |
| | | $labels['replysamefolder'] = 'Cavab mesajları üçün saxlanılan yer'; |
| | | $labels['folder'] = 'Qovluq'; |
| | | $labels['folders'] = 'Qovluqlar'; |
| | | $labels['foldername'] = 'Qovluq adı'; |
| | |
| | | $labels['createfolder'] = 'Yeni qovluq yarad'; |
| | | $labels['managefolders'] = 'Qovluqlarla iş'; |
| | | $labels['specialfolders'] = 'Xüsusi qovluqlar'; |
| | | $labels['properties'] = 'Xüsusiyyətlər'; |
| | | $labels['folderproperties'] = 'Qovluq xüsusiyyətləri'; |
| | | $labels['parentfolder'] = 'Ana qovluq'; |
| | | $labels['location'] = 'Yerləşmə'; |
| | | $labels['info'] = 'Məlumat'; |
| | | $labels['getfoldersize'] = 'Qovluq ölçüsünü öyrənmək üçün vur'; |
| | | $labels['changesubscription'] = 'Abunəni dəyişmək üçün vurun'; |
| | | $labels['sortby'] = 'Çeşidlə'; |
| | | $labels['sortasc'] = 'Azdan çoxa'; |
| | | $labels['sortdesc'] = 'Çoxdan aza'; |
| | |
| | | $messages['sessionerror'] = 'Sizin sessiya köhnəlib'; |
| | | $messages['imaperror'] = 'IMAP serverlə bağlantı alınmadı'; |
| | | $messages['servererror'] = 'Server xətası!'; |
| | | $messages['servererrormsg'] = 'Server xətası: $msg'; |
| | | $messages['errorreadonly'] = 'Əməliyyatı etmək mümkün deyil. Qovluq yalnız oxunuş üçündür.'; |
| | | $messages['errornoperm'] = 'Əməliyyatı etmək mümkün deyil. Giriş qadağandır.'; |
| | | $messages['invalidrequest'] = 'Səhv sorğu! Məlumat yaddaşda qalmadı.'; |
| | | $messages['nomessagesfound'] = 'Poçt qutusunda məktub tapılmadı'; |
| | | $messages['loggedout'] = 'Çıxış uğurlu oldu. Sağ olun!'; |
| | |
| | | $messages['purgefolderconfirm'] = 'Bu qovluqdakı bütün məktubları silməyə əminsiniz?'; |
| | | $messages['folderdeleting'] = 'Qovluğ silinir...'; |
| | | $messages['foldermoving'] = 'Qovluq köçürülür...'; |
| | | $messages['foldersubscribing'] = 'Qovluğa abunə...'; |
| | | $messages['folderunsubscribing'] = 'Qovluğa abunədən çıx...'; |
| | | $messages['formincomplete'] = 'Bütün sətrlər doldurulmayıb'; |
| | | $messages['noemailwarning'] = 'Lütfən, düzgün e-poçt ünvanı daxil edin'; |
| | | $messages['nonamewarning'] = 'Lütfən, ad daxil edin'; |
| | |
| | | $messages['checking'] = 'Yoxlanılır...'; |
| | | $messages['nospellerrors'] = 'Orfoqrafik səhvlət tapılmadı'; |
| | | $messages['folderdeleted'] = 'Qovluq uğurla silindi'; |
| | | $messages['foldersubscribed'] = 'Qovluq uğurla abunə oldu'; |
| | | $messages['folderunsubscribed'] = 'Qovluq uğurla abunədən çıxdı'; |
| | | $messages['folderpurged'] = 'Qovluq uğurla təmizləndi'; |
| | | $messages['folderexpunged'] = 'Qovluq uğurla sıxıldı'; |
| | | $messages['deletedsuccessfully'] = 'Silindi'; |
| | | $messages['converting'] = 'Məktubun formatlaşması silinir...'; |
| | | $messages['messageopenerror'] = 'Məktubu serverdən yükləmək alınmır'; |
| | |
| | | $messages['errorsavingcontact'] = 'Əlaqəni ünvanda saxlamaq mümkün deyil'; |
| | | $messages['movingmessage'] = 'Məktub köçürülür...'; |
| | | $messages['copyingmessage'] = 'Məktub kopyalanır...'; |
| | | $messages['deletingmessage'] = 'Məktub(lar) silinir...'; |
| | | $messages['markingmessage'] = 'Məktub(lar) işarələnir...'; |
| | | $messages['receiptsent'] = 'Oxunulma haqda bildiriş göndərildi'; |
| | | $messages['errorsendingreceipt'] = 'Oxunulma haqda bildiriş göndərilmədi'; |
| | | $messages['nodeletelastidentity'] = 'Siz bu kimliyi silə bilməzsiniz. Bu axırıncıdır. '; |
| | |
| | | $messages['smtpfromerror'] = 'SMTP Error ($code): Göndərəni səlavə etmək mümkün deyil - "$from" ($msg)'; |
| | | $messages['smtptoerror'] = 'SMTP Error ($code): Qəbul edəni əlavə etmək mümkün deyil - "$to" ($msg)'; |
| | | $messages['smtprecipientserror'] = 'SMTP Error ($code): Qəbul edənlərin siyahısını emal etmək mümkün deyil'; |
| | | $messages['smtpdsnerror'] = 'SMTP xəta: çatdırılma haqda bildiriş dəstəyi yoxdur'; |
| | | $messages['smtperror'] = 'SMTP Error ($code): $msg'; |
| | | $messages['emailformaterror'] = 'Səhv ünvan: $email'; |
| | | $messages['toomanyrecipients'] = 'Qəbul edənlər həddindən artıq çoxdur. Lütfən, $max qədər azaldın.'; |
| | | $messages['maxgroupmembersreached'] = 'Qrupun ölçüsü imkan verilən maksimumdan artıqdır - $max'; |
| | | $messages['internalerror'] = 'Daxili xəta baş verdi. Lütfən, bir daha cəhd edin'; |
| | | $messages['contactdelerror'] = 'Kontak(lar)ı silmək alınmadı'; |
| | | $messages['contactdeleted'] = 'Kontak(lar) uğurla silindi'; |
| | | $messages['groupdeleted'] = 'Qrup silindi'; |
| | | $messages['grouprenamed'] = 'Qrupun adı dəyişdirildi'; |
| | | $messages['groupcreated'] = 'Qrup yaradıldı'; |
| | | $messages['messagedeleted'] = 'Məktub(lar) uğurla silindi'; |
| | | $messages['messagemoved'] = 'Məktub(lar) uğurla köçürüldü'; |
| | | $messages['messagecopied'] = 'Məktub(lar) uğurla kopyalandı'; |
| | | $messages['messagemarked'] = 'Məktub(lar) uğurla işarələndi'; |
| | | $messages['autocompletechars'] = 'Avtokomplektasiya üçün $min işarə daxil edin'; |
| | | $messages['namecannotbeempty'] = 'Ad boş ola bilməz'; |
| | | $messages['nametoolong'] = 'Ad çox uzundur'; |
| | | $messages['folderupdated'] = 'Qovluq yeniləndi'; |
| | | $messages['foldercreated'] = 'Qovluq yaradıldı'; |
| | | $messages['invalidimageformat'] = 'Şəkil formatı düzgün deyil'; |
| | | |
| | | ?> |
| | |
| | | $labels['priority'] = 'Приоритет'; |
| | | $labels['organization'] = 'Организация'; |
| | | $labels['readstatus'] = 'Статут (прочетено/непрочетено)'; |
| | | $labels['reply-to'] = 'Отговор до'; |
| | | $labels['mail-reply-to'] = 'Отговор към'; |
| | | $labels['mail-followup-to'] = 'Препращане към'; |
| | | $labels['mailboxlist'] = 'Папки'; |
| | | $labels['messagesfromto'] = 'Съобщения $from до $to от $count'; |
| | | $labels['threadsfromto'] = 'Съобщения $from до $to от $count'; |
| | |
| | | $labels['folderactions'] = 'Десйтвия за папки...'; |
| | | $labels['compact'] = 'Свий'; |
| | | $labels['empty'] = 'Изпразни'; |
| | | $labels['purge'] = 'Изчисти'; |
| | | $labels['quota'] = 'Използвано място'; |
| | | $labels['unknown'] = 'няма информация'; |
| | | $labels['unlimited'] = 'няма ограничение'; |
| | |
| | | $labels['name'] = 'Кратко име'; |
| | | $labels['firstname'] = 'Име'; |
| | | $labels['surname'] = 'Фамилия'; |
| | | $labels['middlename'] = 'Презиме'; |
| | | $labels['nameprefix'] = 'Представка (Титла)'; |
| | | $labels['namesuffix'] = 'Наставка (Титла)'; |
| | | $labels['nickname'] = 'Прякор'; |
| | | $labels['jobtitle'] = 'Длъжност'; |
| | | $labels['department'] = 'Отдел'; |
| | | $labels['gender'] = 'Пол'; |
| | | $labels['maidenname'] = 'Бащино име'; |
| | | $labels['email'] = 'E-Mail'; |
| | | $labels['phone'] = 'Телефон'; |
| | | $labels['address'] = 'Адрес'; |
| | | $labels['street'] = 'Улица'; |
| | | $labels['locality'] = 'Град'; |
| | | $labels['zipcode'] = 'Пощенски код'; |
| | | $labels['region'] = 'Област'; |
| | | $labels['country'] = 'Държава'; |
| | | $labels['birthday'] = 'Рожден ден'; |
| | | $labels['anniversary'] = 'Годишнина'; |
| | | $labels['website'] = 'Уебсайт'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Бележки'; |
| | | $labels['male'] = 'Мъж'; |
| | | $labels['female'] = 'Жена'; |
| | | $labels['manager'] = 'Мениджър'; |
| | | $labels['assistant'] = 'Асистент'; |
| | | $labels['spouse'] = 'Съпруг (а)'; |
| | | $labels['addfield'] = 'Добави поле'; |
| | | $labels['addcontact'] = 'Добави'; |
| | | $labels['editcontact'] = 'Редактирай'; |
| | | $labels['contacts'] = 'Контакти'; |
| | | $labels['contactproperties'] = 'Свойства на контакт'; |
| | | $labels['personalinfo'] = 'Лична информация'; |
| | | $labels['edit'] = 'Редактирай'; |
| | | $labels['cancel'] = 'Отказ'; |
| | | $labels['save'] = 'Запиши'; |
| | | $labels['delete'] = 'Изтрий'; |
| | | $labels['rename'] = 'Преименувай'; |
| | | $labels['addphoto'] = 'Добави'; |
| | | $labels['replacephoto'] = 'Замени'; |
| | | $labels['newcontact'] = 'Нов контакт'; |
| | | $labels['deletecontact'] = 'Изтрий маркираните контакти'; |
| | | $labels['composeto'] = 'Напиши писмо до'; |
| | |
| | | $labels['readwhendeleted'] = 'Отбележи като прочетено при изтриване'; |
| | | $labels['flagfordeletion'] = 'Отбележи съобщението за изтриване'; |
| | | $labels['skipdeleted'] = 'Не показвай изтритите съобщения'; |
| | | $labels['deletealways'] = 'При неуспешн преместване на съобщение в Кошчето, да се изтрие'; |
| | | $labels['deletealways'] = 'При неуспешно преместване на съобщение в Кошчето, да се изтрие'; |
| | | $labels['showremoteimages'] = 'Покажи блокираните изображения'; |
| | | $labels['fromknownsenders'] = 'Oт познати изпращачи'; |
| | | $labels['always'] = 'Винаги'; |
| | |
| | | $labels['afternseconds'] = 'след $n секунди'; |
| | | $labels['reqmdn'] = 'Винаги връщай обратна разписка'; |
| | | $labels['reqdsn'] = 'Винаги изисквай отговор при доставка на съобщение'; |
| | | $labels['replysamefolder'] = 'Постави отговора в папката на съобщението, на което се отговаря'; |
| | | $labels['folder'] = 'Папка'; |
| | | $labels['folders'] = 'Папки'; |
| | | $labels['foldername'] = 'Име на папката'; |
| | |
| | | $labels['createfolder'] = 'Направи нова папка'; |
| | | $labels['managefolders'] = 'Настройки на папките'; |
| | | $labels['specialfolders'] = 'Служебни папки'; |
| | | $labels['properties'] = 'Свойства'; |
| | | $labels['folderproperties'] = 'Свойства на папката'; |
| | | $labels['parentfolder'] = 'Родителска папка'; |
| | | $labels['location'] = 'Местоположение'; |
| | | $labels['info'] = 'Информация'; |
| | | $labels['getfoldersize'] = 'Щракни за големина на папката'; |
| | | $labels['changesubscription'] = 'Щракни за промяна на абонамент'; |
| | | $labels['sortby'] = 'Сортирай по'; |
| | | $labels['sortasc'] = 'Сортирай възходящо'; |
| | | $labels['sortdesc'] = 'Сортирай низходящо'; |
| | |
| | | $messages['imaperror'] = 'Неуспешно свързване към IMAP сървъра'; |
| | | $messages['servererror'] = 'Грешка!'; |
| | | $messages['servererrormsg'] = 'Сървърна грешка: $msg'; |
| | | $messages['errorreadonly'] = 'Операцията не може да бъде изпълнена. Папката е с права само за четене'; |
| | | $messages['errornoperm'] = 'Операцията не може да бъде изпълнена. Отказани права за достъп'; |
| | | $messages['invalidrequest'] = 'Невалидна заявка! Данните не са съхранени.'; |
| | | $messages['nomessagesfound'] = 'Няма съобщения'; |
| | | $messages['loggedout'] = 'Довиждане!'; |
| | |
| | | $messages['purgefolderconfirm'] = 'Искате ли да изтриете всички писма в тази папка?'; |
| | | $messages['folderdeleting'] = 'Изтриване на папка...'; |
| | | $messages['foldermoving'] = 'Преместване на папка...'; |
| | | $messages['foldersubscribing'] = 'Абониране...'; |
| | | $messages['folderunsubscribing'] = 'Отписване на папка...'; |
| | | $messages['formincomplete'] = 'Не сте попълнили всички полета'; |
| | | $messages['noemailwarning'] = 'Моля, въведете валиден e-mail адрес'; |
| | | $messages['nonamewarning'] = 'Моля, въведете име'; |
| | |
| | | $messages['checking'] = 'Проверка...'; |
| | | $messages['nospellerrors'] = 'Не са открити правописни грешки'; |
| | | $messages['folderdeleted'] = 'Папката е изтрита'; |
| | | $messages['foldersubscribed'] = 'Абонирането успешно'; |
| | | $messages['folderunsubscribed'] = 'Отписването успешно'; |
| | | $messages['folderpurged'] = 'Папката е изпразнена'; |
| | | $messages['folderexpunged'] = 'Уплътняването успешно'; |
| | | $messages['deletedsuccessfully'] = 'Изтриването е успешно'; |
| | | $messages['converting'] = 'Премахване форматирането на писмото...'; |
| | | $messages['messageopenerror'] = 'Писмото не може да бъде заредено от сървъра'; |
| | |
| | | $messages['messagecopied'] = 'Съобщението беше копирано'; |
| | | $messages['messagemarked'] = 'Съобщението беше маркирано'; |
| | | $messages['autocompletechars'] = 'Въведете минимум $min знака, за да започне автоматичното попълване'; |
| | | $messages['namecannotbeempty'] = 'Полето за име не може да бъде празно'; |
| | | $messages['nametoolong'] = 'Името е прекалено дълго'; |
| | | $messages['folderupdated'] = 'Папката е обновена'; |
| | | $messages['foldercreated'] = 'Папката е създадена'; |
| | | $messages['invalidimageformat'] = 'Невалиден формат на изображението'; |
| | | |
| | | ?> |
| | |
| | | $labels['cc'] = 'Kopi til'; |
| | | $labels['bcc'] = 'BCC'; |
| | | $labels['replyto'] = 'Svar til'; |
| | | $labels['followupto'] = 'Følg-op til'; |
| | | $labels['date'] = 'Dato'; |
| | | $labels['size'] = 'Størrelse'; |
| | | $labels['priority'] = 'Prioritet'; |
| | | $labels['organization'] = 'Organisation'; |
| | | $labels['reply-to'] = 'Svar til'; |
| | | $labels['readstatus'] = 'Læst status'; |
| | | $labels['mailboxlist'] = 'Mapper'; |
| | | $labels['messagesfromto'] = 'Besked $from til $to af $count'; |
| | | $labels['threadsfromto'] = 'Tråd $from til $to af $count'; |
| | |
| | | $labels['writenewmessage'] = 'Skriv en ny besked'; |
| | | $labels['replytomessage'] = 'Svar på denne besked'; |
| | | $labels['replytoallmessage'] = 'Svar til alle modtagere'; |
| | | $labels['replyall'] = 'Svar alle'; |
| | | $labels['replylist'] = 'Svar til listen'; |
| | | $labels['forwardmessage'] = 'Videresend denne besked'; |
| | | $labels['deletemessage'] = 'Slet besked'; |
| | | $labels['movemessagetotrash'] = 'Flyt besked til skrald'; |
| | |
| | | $labels['listsorting'] = 'Sorterings kolonne'; |
| | | $labels['listorder'] = 'Sorter efter'; |
| | | $labels['listmode'] = 'Listevisningsmode'; |
| | | $labels['folderactions'] = 'Mappe handlinger...'; |
| | | $labels['compact'] = 'Ryd op'; |
| | | $labels['empty'] = 'Tøm'; |
| | | $labels['purge'] = 'Udrens'; |
| | | $labels['quota'] = 'Disk forbrug'; |
| | | $labels['unknown'] = 'ukendt'; |
| | | $labels['unlimited'] = 'ubegrænset'; |
| | | $labels['quicksearch'] = 'Hurtigsøgning'; |
| | | $labels['resetsearch'] = 'Nulstil søgning'; |
| | | $labels['searchmod'] = 'Søgeparametere'; |
| | | $labels['msgtext'] = 'Hele beskeden'; |
| | | $labels['openinextwin'] = 'Åbn i nyt vindue'; |
| | | $labels['emlsave'] = 'Download (.eml)'; |
| | |
| | | $labels['charset'] = 'Tegnsæt'; |
| | | $labels['editortype'] = 'Tekstbehandler'; |
| | | $labels['returnreceipt'] = 'Anmod om kvittering'; |
| | | $labels['dsn'] = 'Notifikation om leveringstatus'; |
| | | $labels['editidents'] = 'Ret identiteter'; |
| | | $labels['checkspelling'] = 'Stavekontrol'; |
| | | $labels['resumeediting'] = 'Genoptag redigering'; |
| | | $labels['revertto'] = 'Vend tilbage til'; |
| | | $labels['attachments'] = 'Vedhæftninger'; |
| | | $labels['upload'] = 'Upload'; |
| | | $labels['close'] = 'Luk'; |
| | | $labels['messageoptions'] = 'Besked muligheder...'; |
| | | $labels['low'] = 'Lav'; |
| | | $labels['lowest'] = 'Lavest'; |
| | | $labels['normal'] = 'Normal'; |
| | |
| | | $labels['addcc'] = 'Tilføj Cc'; |
| | | $labels['addbcc'] = 'Tilføj Bcc'; |
| | | $labels['addreplyto'] = 'Tilføj Svar-Til adresse'; |
| | | $labels['addfollowupto'] = 'Tilføj følg-op adresse'; |
| | | $labels['mdnrequest'] = 'Afsenderen af denne besked har bedt om at modtage en bekræftelse når du læser beskeden. Vil du sende kvittering for læsning?'; |
| | | $labels['receiptread'] = 'Send kvittering for læsning'; |
| | | $labels['yourmessage'] = 'Dette er en kvittering for at din besked er blevet vist'; |
| | |
| | | $labels['name'] = 'Vist navn'; |
| | | $labels['firstname'] = 'Fornavn'; |
| | | $labels['surname'] = 'Efternavn'; |
| | | $labels['middlename'] = 'Mellemnavn'; |
| | | $labels['nickname'] = 'Alias/Kaldenavn'; |
| | | $labels['jobtitle'] = 'Job titel'; |
| | | $labels['department'] = 'Afdeling'; |
| | | $labels['gender'] = 'Køn'; |
| | | $labels['maidenname'] = 'Pigenavn'; |
| | | $labels['email'] = 'E-mail'; |
| | | $labels['phone'] = 'Telefon'; |
| | | $labels['address'] = 'Adresse'; |
| | | $labels['street'] = 'Vejnavn'; |
| | | $labels['locality'] = 'By'; |
| | | $labels['zipcode'] = 'Postnr.'; |
| | | $labels['region'] = 'Område/region'; |
| | | $labels['country'] = 'Land'; |
| | | $labels['birthday'] = 'Fødselsdag'; |
| | | $labels['anniversary'] = 'Jubilæum'; |
| | | $labels['website'] = 'Hjemmeside'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Noter'; |
| | | $labels['male'] = 'Mand'; |
| | | $labels['female'] = 'Kvinde'; |
| | | $labels['manager'] = 'Manager'; |
| | | $labels['assistant'] = 'Assistent'; |
| | | $labels['spouse'] = 'Ægtefælle'; |
| | | $labels['addfield'] = 'Tilføj felt...'; |
| | | $labels['addcontact'] = 'Tilføj en ny kontakt'; |
| | | $labels['editcontact'] = 'Redigér kontakt'; |
| | | $labels['contacts'] = 'Kontakter'; |
| | | $labels['contactproperties'] = 'Kontakt egenskaber'; |
| | | $labels['edit'] = 'Redigér'; |
| | | $labels['cancel'] = 'Afbryd'; |
| | | $labels['save'] = 'Gem'; |
| | | $labels['delete'] = 'Slet'; |
| | | $labels['rename'] = 'Omdøb'; |
| | | $labels['addphoto'] = 'Tilføj'; |
| | | $labels['replacephoto'] = 'Erstat'; |
| | | $labels['newcontact'] = 'Opret nyt kontaktkort'; |
| | | $labels['deletecontact'] = 'Slet valgte kontakter'; |
| | | $labels['composeto'] = 'Skriv brev til'; |
| | |
| | | $labels['signature'] = 'Signatur'; |
| | | $labels['dstactive'] = 'Sommertid'; |
| | | $labels['htmleditor'] = 'Skriv HTML-besked'; |
| | | $labels['htmlonreply'] = 'kun når jeg besvarer HTML-beskeder'; |
| | | $labels['htmlsignature'] = 'HTML-signatur'; |
| | | $labels['previewpane'] = 'Forhåndsvisning'; |
| | | $labels['skin'] = 'Interface skin'; |
| | |
| | | $labels['mdnrequests'] = 'Kvitteringer'; |
| | | $labels['askuser'] = 'spørg brugeren'; |
| | | $labels['autosend'] = 'send automatisk'; |
| | | $labels['autosendknown'] = 'send automatisk til mine kontakter, ellers spørg mig'; |
| | | $labels['autosendknownignore'] = 'send automatisk til mine kontakter, ellers ignorér'; |
| | | $labels['ignore'] = 'ignorér'; |
| | | $labels['readwhendeleted'] = 'Markér beskeden som læst ved sletning'; |
| | | $labels['flagfordeletion'] = 'Markér beskeden til sletning istedet for at slette'; |
| | |
| | | $labels['insertsignature'] = 'Indsæt signatur'; |
| | | $labels['previewpanemarkread'] = 'Markér forhåndsviste beskeder som læst'; |
| | | $labels['afternseconds'] = 'efter $n sekunder'; |
| | | $labels['reqmdn'] = 'Bed altid om at få besked om læsning'; |
| | | $labels['reqdsn'] = 'Bed altid om at få en status på levering'; |
| | | $labels['replysamefolder'] = 'Placer svar til en besked i samme mappe som beskeden der besvares'; |
| | | $labels['folder'] = 'Mappe'; |
| | | $labels['folders'] = 'Mapper'; |
| | | $labels['foldername'] = 'Mappenavn'; |
| | |
| | | $labels['createfolder'] = 'Opret ny mappe'; |
| | | $labels['managefolders'] = 'Administrér mapper'; |
| | | $labels['specialfolders'] = 'Specielle mapper'; |
| | | $labels['properties'] = 'Egenskaber'; |
| | | $labels['folderproperties'] = 'Mappe egenskaber'; |
| | | $labels['parentfolder'] = 'Mappe et niveau op'; |
| | | $labels['location'] = 'Placering'; |
| | | $labels['info'] = 'Information'; |
| | | $labels['getfoldersize'] = 'Klik for at hente mappestørrelse'; |
| | | $labels['changesubscription'] = 'Klik for at ændre abonnement'; |
| | | $labels['sortby'] = 'Sortér efter'; |
| | | $labels['sortasc'] = 'Ældste først'; |
| | | $labels['sortdesc'] = 'Nyeste først'; |
| | |
| | | $messages['sessionerror'] = 'Din session er ugyldig eller udløbet'; |
| | | $messages['imaperror'] = 'Forbindelse til IMAP serveren fejlede'; |
| | | $messages['servererror'] = 'Server fejl!'; |
| | | $messages['servererrormsg'] = 'Server fejl: $msg'; |
| | | $messages['errorreadonly'] = 'Kunne ikke udføre den ønskede handling. Mappen er skrivebeskyttet'; |
| | | $messages['errornoperm'] = 'Kunne ikke udføre den ønskede handling. Adgang nægtet'; |
| | | $messages['invalidrequest'] = 'Ugyldig forespørgsel! Ingen data blev gemt.'; |
| | | $messages['nomessagesfound'] = 'Der blev ikke fundet nogen beskeder i denne postkasse'; |
| | | $messages['loggedout'] = 'Du er nu logget af webmail. Farvel så længe!'; |
| | |
| | | $messages['purgefolderconfirm'] = 'Vil du virkelig slette alle beskeder i denne mappe?'; |
| | | $messages['folderdeleting'] = 'Sletter mappen...'; |
| | | $messages['foldermoving'] = 'Flytter mappen...'; |
| | | $messages['foldersubscribing'] = 'Abonnere på mappen...'; |
| | | $messages['folderunsubscribing'] = 'Fjerner abonnement på mappen...'; |
| | | $messages['formincomplete'] = 'Formularen var ikke fuldstændig fyldt ud'; |
| | | $messages['noemailwarning'] = 'Indtast venligst en gyldig e-mail adresse'; |
| | | $messages['nonamewarning'] = 'Angiv venligst et navn'; |
| | |
| | | $messages['checking'] = 'Tjekker...'; |
| | | $messages['nospellerrors'] = 'Ingen stavefejl fundet'; |
| | | $messages['folderdeleted'] = 'Mappen er slettet'; |
| | | $messages['foldersubscribed'] = 'Mappe abonnement oprettet'; |
| | | $messages['folderunsubscribed'] = 'Mappe abonnement opsagt'; |
| | | $messages['folderpurged'] = 'Mappen er tømt'; |
| | | $messages['folderexpunged'] = 'Mappen er blevet optimeret'; |
| | | $messages['deletedsuccessfully'] = 'Slettet'; |
| | | $messages['converting'] = 'Fjerner formatering fra besked...'; |
| | | $messages['messageopenerror'] = 'Beskeden kunne ikke hentes fra serveren'; |
| | |
| | | $messages['errorsavingcontact'] = 'Kunne ikke gemme kontakt adressen'; |
| | | $messages['movingmessage'] = 'Flytter besked...'; |
| | | $messages['copyingmessage'] = 'Kopierer besked...'; |
| | | $messages['deletingmessage'] = 'Sletter besked(er)...'; |
| | | $messages['markingmessage'] = 'Markerer besked(er)...'; |
| | | $messages['receiptsent'] = 'Kvittering for læsning er sendt'; |
| | | $messages['errorsendingreceipt'] = 'Kvitteringen kunne ikke sendes'; |
| | | $messages['nodeletelastidentity'] = 'Du kan ikke slette denne identitet, da det er den eneste der er tilbage.'; |
| | |
| | | $messages['smtpfromerror'] = 'SMTP fejl ($code): Kunne ikke afsende som "$from" ($msg)'; |
| | | $messages['smtptoerror'] = 'SMTP fejl ($code): Kunne ikke tilføje modtageren "$to" ($msg)'; |
| | | $messages['smtprecipientserror'] = 'SMTP fejl: kan ikke fortolke listen af modtagere'; |
| | | $messages['smtpdsnerror'] = 'SMTP fejl: Ingen understøttelse af leveringsnotifikation'; |
| | | $messages['smtperror'] = 'SMTP fejl: $msg'; |
| | | $messages['emailformaterror'] = 'Ugyldig email-adresse: $email'; |
| | | $messages['toomanyrecipients'] = 'For mange modtagere. Reducer antallet af modtagere til $max'; |
| | | $messages['maxgroupmembersreached'] = 'Antallet af gruppemedlemmer overstiger maksimum på $max'; |
| | | $messages['internalerror'] = 'Der opstod en intern fejl - prøv venligst igen'; |
| | | $messages['contactdelerror'] = 'Kunne ikke slette kontakt(er)'; |
| | | $messages['contactdeleted'] = 'Kontakt(er) slettet'; |
| | | $messages['groupdeleted'] = 'Gruppen er slettet'; |
| | | $messages['grouprenamed'] = 'Gruppen er omdøbt'; |
| | | $messages['groupcreated'] = 'Gruppen er oprettet'; |
| | | $messages['messagedeleted'] = 'Besked(er) slettet'; |
| | | $messages['messagemoved'] = 'Besked(er) flyttet'; |
| | | $messages['messagecopied'] = 'Besked(er) kopieret'; |
| | | $messages['messagemarked'] = 'Besked(er) markeret'; |
| | | $messages['autocompletechars'] = 'Du skal min. indtaste $min for at benytte autoopslag'; |
| | | $messages['namecannotbeempty'] = 'Navnet kan ikke været tomt'; |
| | | $messages['nametoolong'] = 'Navnet er for langt'; |
| | | $messages['folderupdated'] = 'Mappen er opdateret'; |
| | | $messages['foldercreated'] = 'Mappen er oprettet'; |
| | | $messages['invalidimageformat'] = 'Ikke et gyldigt billedformat'; |
| | | |
| | | ?> |
| | |
| | | $labels['priority'] = 'Priorität'; |
| | | $labels['organization'] = 'Organisation'; |
| | | $labels['readstatus'] = 'Gelesen/Ungelesen'; |
| | | $labels['reply-to'] = 'Antwort an'; |
| | | $labels['mail-reply-to'] = 'Mail-Reply-To'; |
| | | $labels['mail-followup-to'] = 'Mail-Followup-To'; |
| | | $labels['mailboxlist'] = 'Ordner'; |
| | | $labels['messagesfromto'] = 'Nachrichten $from bis $to von $count'; |
| | | $labels['threadsfromto'] = 'Konversationen $from bis $to von $count'; |
| | |
| | | $labels['folderactions'] = 'Ordneraktionen...'; |
| | | $labels['compact'] = 'Packen'; |
| | | $labels['empty'] = 'Leeren'; |
| | | $labels['purge'] = 'Bereinigen'; |
| | | $labels['quota'] = 'Speicherplatz'; |
| | | $labels['unknown'] = 'unbekannt'; |
| | | $labels['unlimited'] = 'unbegrenzt'; |
| | |
| | | $labels['name'] = 'Angezeigter Name'; |
| | | $labels['firstname'] = 'Vorname'; |
| | | $labels['surname'] = 'Nachname'; |
| | | $labels['middlename'] = 'zweiter Vorname'; |
| | | $labels['nameprefix'] = 'Anrede'; |
| | | $labels['namesuffix'] = 'Namenszusatz'; |
| | | $labels['nickname'] = 'Spitzname'; |
| | | $labels['jobtitle'] = 'Berufsbezeichnung'; |
| | | $labels['department'] = 'Firma'; |
| | | $labels['gender'] = 'Geschlecht'; |
| | | $labels['maidenname'] = 'Mädchenname'; |
| | | $labels['email'] = 'E-Mail'; |
| | | $labels['phone'] = 'Telefon'; |
| | | $labels['address'] = 'Adresse'; |
| | | $labels['street'] = 'Straße'; |
| | | $labels['locality'] = 'Ort'; |
| | | $labels['zipcode'] = 'PLZ'; |
| | | $labels['region'] = 'Region'; |
| | | $labels['country'] = 'Land'; |
| | | $labels['birthday'] = 'Geburtstag'; |
| | | $labels['anniversary'] = 'Jahrestag'; |
| | | $labels['website'] = 'Webseite'; |
| | | $labels['instantmessenger'] = 'IM-Adresse'; |
| | | $labels['notes'] = 'Notizen'; |
| | | $labels['male'] = 'männlich'; |
| | | $labels['female'] = 'weiblich'; |
| | | $labels['manager'] = 'Vorgesetze(r)'; |
| | | $labels['assistant'] = 'Assistent'; |
| | | $labels['spouse'] = 'Partner/in'; |
| | | $labels['addfield'] = 'Feld hinzufügen...'; |
| | | $labels['addcontact'] = 'Kontakt hinzufügen'; |
| | | $labels['editcontact'] = 'Kontakt bearbeiten'; |
| | | $labels['contacts'] = 'Kontakte'; |
| | | $labels['contactproperties'] = 'Kontaktdaten'; |
| | | $labels['personalinfo'] = 'Persönliche Informationen'; |
| | | $labels['edit'] = 'Bearbeiten'; |
| | | $labels['cancel'] = 'Abbrechen'; |
| | | $labels['save'] = 'Speichern'; |
| | | $labels['delete'] = 'Löschen'; |
| | | $labels['rename'] = 'umbenennen'; |
| | | $labels['addphoto'] = 'Kontaktbild hinzufügen'; |
| | | $labels['replacephoto'] = 'Bild ändern'; |
| | | $labels['newcontact'] = 'Neuen Kontakt erstellen'; |
| | | $labels['deletecontact'] = 'Gewählte Kontakte löschen'; |
| | | $labels['composeto'] = 'Nachricht verfassen'; |
| | |
| | | $messages['imaperror'] = 'Keine Verbindung zum IMAP-Server'; |
| | | $messages['servererror'] = 'Serverfehler!'; |
| | | $messages['servererrormsg'] = 'Serverfehler: $msg'; |
| | | $messages['errorreadonly'] = 'Die Aktion nicht ausgeführt werden. Der Ordner ist schreibgeschützt.'; |
| | | $messages['errornoperm'] = 'Die Aktion nicht ausgeführt werden. Zugriff verweigert.'; |
| | | $messages['invalidrequest'] = 'Ungültige Anfrage! Es wurden keine Daten gespeichert.'; |
| | | $messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner'; |
| | | $messages['loggedout'] = 'Sie haben Ihre Session erfolgreich beendet. Auf Wiedersehen!'; |
| | |
| | | $messages['nametoolong'] = 'Der Name ist zu lang'; |
| | | $messages['folderupdated'] = 'Der Ordner wurde erfolgreich aktualisiert'; |
| | | $messages['foldercreated'] = 'Der Ordner wurde erfolgreich erstellt'; |
| | | $messages['errorreadonly'] = 'Die Aktion nicht ausgeführt werden. Der Ordner ist schreibgeschützt.'; |
| | | $messages['errornoperm'] = 'Die Aktion nicht ausgeführt werden. Zugriff verweigert.'; |
| | | $messages['invalidimageformat'] = 'Kein gültiges Bildformat'; |
| | | |
| | | ?> |
| | |
| | | $labels['cc'] = 'Cc'; |
| | | $labels['bcc'] = 'Cci'; |
| | | $labels['replyto'] = 'Répondre à'; |
| | | $labels['followupto'] = 'Faire suivre à'; |
| | | $labels['date'] = 'Date'; |
| | | $labels['size'] = 'Taille'; |
| | | $labels['priority'] = 'Priorité'; |
| | | $labels['organization'] = 'Organisation'; |
| | | $labels['readstatus'] = 'Status de lecture'; |
| | | $labels['reply-to'] = 'Répondre à'; |
| | | $labels['mailboxlist'] = 'Dossiers'; |
| | | $labels['messagesfromto'] = 'Messages de $from à $to sur $count'; |
| | | $labels['threadsfromto'] = 'Fil de $from à $to sur $count'; |
| | |
| | | $labels['folderactions'] = 'Actions du dossier'; |
| | | $labels['compact'] = 'Compacter'; |
| | | $labels['empty'] = 'Vider'; |
| | | $labels['purge'] = 'Purger'; |
| | | $labels['quota'] = 'Occupation disque'; |
| | | $labels['unknown'] = 'inconnue'; |
| | | $labels['unlimited'] = 'illimitée'; |
| | |
| | | $labels['addcc'] = 'Ajouter Cc'; |
| | | $labels['addbcc'] = 'Ajouter Cci'; |
| | | $labels['addreplyto'] = 'Ajouter Répondre à'; |
| | | $labels['addfollowupto'] = 'Ajouter Faire suivre à'; |
| | | $labels['mdnrequest'] = 'L\'expéditeur de ce message a demandé d\'être prévenu quand vous lirez ce message. Souhaitez-vous prévenir l\'expéditeur ?'; |
| | | $labels['receiptread'] = 'Accusé de réception (lu)'; |
| | | $labels['yourmessage'] = 'Ceci est un accusé de réception pour votre message'; |
| | |
| | | $labels['cancel'] = 'Annuler'; |
| | | $labels['save'] = 'Sauvegarder'; |
| | | $labels['delete'] = 'Supprimer'; |
| | | $labels['rename'] = 'Renommer'; |
| | | $labels['newcontact'] = 'Créer un nouveau contact'; |
| | | $labels['deletecontact'] = 'Supprimer les contacts sélectionnés'; |
| | | $labels['composeto'] = 'Écrire un message à'; |
| | |
| | | $messages['imaperror'] = 'Erreur de connexion au serveur IMAP'; |
| | | $messages['servererror'] = 'Erreur Serveur !'; |
| | | $messages['servererrormsg'] = 'Erreur du serveur: $msg'; |
| | | $messages['errorreadonly'] = 'Impossible d\'effectuer cette opération. Le dossier est en lecture seule'; |
| | | $messages['errornoperm'] = 'Impossible d\'effectuer cette opération. Permission refusée'; |
| | | $messages['invalidrequest'] = 'Requête invalide ! Aucune donnée n\'a été sauvegardée.'; |
| | | $messages['nomessagesfound'] = 'Aucun message trouvé dans cette boîte aux lettres'; |
| | | $messages['loggedout'] = 'Vous venez de vous déconnecter avec succès. Au revoir !'; |
| | |
| | | $messages['purgefolderconfirm'] = 'Voulez-vous vraiment effacer tous les messages de ce dossier ?'; |
| | | $messages['folderdeleting'] = 'Suppression du dossier...'; |
| | | $messages['foldermoving'] = 'Déplacement du dossier...'; |
| | | $messages['foldersubscribing'] = 'Inscription du dossier...'; |
| | | $messages['folderunsubscribing'] = 'Désinscription du dossier...'; |
| | | $messages['formincomplete'] = 'Le formulaire n\'a pas été entièrement rempli'; |
| | | $messages['noemailwarning'] = 'Veuillez spécifier un courriel valide'; |
| | | $messages['nonamewarning'] = 'Veuillez fournir un nom'; |
| | |
| | | $messages['checking'] = 'Vérification...'; |
| | | $messages['nospellerrors'] = 'Aucune faute trouvée'; |
| | | $messages['folderdeleted'] = 'Dossier effacé'; |
| | | $messages['foldersubscribed'] = 'Le dossier a bien été inscrit'; |
| | | $messages['folderunsubscribed'] = 'Le dossier a bien été désinscrit'; |
| | | $messages['folderpurged'] = 'Le dossier a bien été vidé'; |
| | | $messages['folderexpunged'] = 'Le dossier a bien été comptacté'; |
| | | $messages['deletedsuccessfully'] = 'Supprimé(s) avec succès'; |
| | | $messages['converting'] = 'Suppression de la mise en forme...'; |
| | | $messages['messageopenerror'] = 'Impossible de charger le message depuis serveur'; |
| | |
| | | $messages['messagecopied'] = 'Les messages ont bien été copiés'; |
| | | $messages['messagemarked'] = 'Les messages ont bien été marqués'; |
| | | $messages['autocompletechars'] = 'Entrez au moins $min caractères pour l\'auto-complétion'; |
| | | $messages['namecannotbeempty'] = 'Le nom ne peut pas être vide'; |
| | | $messages['nametoolong'] = 'Le nom est trop long'; |
| | | $messages['folderupdated'] = 'Le dossier a bien été mis à jour'; |
| | | $messages['foldercreated'] = 'Le dossier a bien été créé'; |
| | | |
| | | ?> |
| | |
| | | $labels['folderactions'] = 'פעולות על תיקים'; |
| | | $labels['compact'] = 'פינוי שטח לא מנוצל'; |
| | | $labels['empty'] = 'ריקון'; |
| | | $labels['purge'] = 'מחיקה'; |
| | | $labels['quota'] = 'ניצול קיבולת'; |
| | | $labels['unknown'] = 'לא ידוע'; |
| | | $labels['unlimited'] = 'ללא הגבלה'; |
| | |
| | | $labels['name'] = 'שם להצגה'; |
| | | $labels['firstname'] = 'שם פרטי'; |
| | | $labels['surname'] = 'שם משפחה'; |
| | | $labels['middlename'] = 'שם אמצעי'; |
| | | $labels['nameprefix'] = 'קידומת'; |
| | | $labels['namesuffix'] = 'סיומת'; |
| | | $labels['nickname'] = 'שם חיבה'; |
| | | $labels['jobtitle'] = 'תפקיד באירגון'; |
| | | $labels['department'] = 'מחלקה'; |
| | | $labels['gender'] = 'מגדר'; |
| | | $labels['maidenname'] = 'שם משפחה לפני נישואין'; |
| | | $labels['email'] = 'כתובת דוא"ל'; |
| | | $labels['phone'] = 'מספר טלפון'; |
| | | $labels['address'] = 'כתובת'; |
| | | $labels['street'] = 'רחוב'; |
| | | $labels['locality'] = 'עיר'; |
| | | $labels['zipcode'] = 'מיקוד'; |
| | | $labels['region'] = 'אישור'; |
| | | $labels['country'] = 'מדינה'; |
| | | $labels['birthday'] = 'יום הולדת'; |
| | | $labels['anniversary'] = 'יום נישואין'; |
| | | $labels['website'] = 'אתר אינטרנט'; |
| | | $labels['instantmessenger'] = 'כינוי בצ\'ט'; |
| | | $labels['notes'] = 'הערות'; |
| | | $labels['male'] = 'זכר'; |
| | | $labels['female'] = 'נקבה'; |
| | | $labels['manager'] = 'מנהל/ת'; |
| | | $labels['assistant'] = 'עוזר/ת'; |
| | | $labels['spouse'] = 'בן/בת זוג'; |
| | | $labels['addfield'] = 'הוסף שדה'; |
| | | $labels['addcontact'] = 'הוספת איש קשר'; |
| | | $labels['editcontact'] = 'עריכת איש קשר'; |
| | | $labels['contacts'] = 'אנשי קשר'; |
| | | $labels['contactproperties'] = 'מאפייני איש קשר'; |
| | | $labels['personalinfo'] = 'מידע אישי'; |
| | | $labels['edit'] = 'עריכה'; |
| | | $labels['cancel'] = 'ביטול'; |
| | | $labels['save'] = 'שמירה'; |
| | | $labels['delete'] = 'מחיקה'; |
| | | $labels['rename'] = 'שינוי שם'; |
| | | $labels['addphoto'] = 'הוספה'; |
| | | $labels['replacephoto'] = 'החלפה'; |
| | | $labels['newcontact'] = 'איש קשר חדש'; |
| | | $labels['deletecontact'] = 'מחיקת אנשי קשר מסומנים'; |
| | | $labels['composeto'] = 'יצירת הודעה אל'; |
| | |
| | | $messages['nametoolong'] = 'השם ארוך מדי'; |
| | | $messages['folderupdated'] = 'התיק עודכן בהצלחה'; |
| | | $messages['foldercreated'] = 'התיק נוצר בהצלחה'; |
| | | $messages['invalidimageformat'] = 'פורמט תמונה לא חוקי'; |
| | | |
| | | ?> |
| | |
| | | $labels['mailboxlist'] = 'Mappák'; |
| | | $labels['messagesfromto'] = 'Üzenetek: $from - $to / $count'; |
| | | $labels['threadsfromto'] = 'Témák ($from - $to, összesen $count)'; |
| | | $labels['messagenrof'] = '$nr / $coun t üzenet'; |
| | | $labels['messagenrof'] = '$nr / $count üzenet'; |
| | | $labels['copy'] = 'Másolás'; |
| | | $labels['move'] = 'Áthelyezés'; |
| | | $labels['moveto'] = 'áthelyezés...'; |
| | |
| | | $labels['from'] = 'Mittente'; |
| | | $labels['to'] = 'Destinatario'; |
| | | $labels['cc'] = 'Cc'; |
| | | $labels['bcc'] = 'Bcn'; |
| | | $labels['bcc'] = 'Bcc'; |
| | | $labels['replyto'] = 'Rispondi a'; |
| | | $labels['followupto'] = 'Followup-To'; |
| | | $labels['date'] = 'Data'; |
| | | $labels['size'] = 'Dimensione'; |
| | | $labels['priority'] = 'Priorità'; |
| | | $labels['organization'] = 'Società'; |
| | | $labels['readstatus'] = 'Visualizza lo stato'; |
| | | $labels['mailboxlist'] = 'Cartelle'; |
| | | $labels['messagesfromto'] = 'Messaggi da $from a $to di $count'; |
| | | $labels['threadsfromto'] = 'Thread da $from a $to di $count'; |
| | |
| | | $labels['checkmail'] = 'Controlla nuovi messaggi'; |
| | | $labels['writenewmessage'] = 'Scrivi un nuovo messaggio'; |
| | | $labels['replytomessage'] = 'Rispondi al mittente'; |
| | | $labels['replytoallmessage'] = 'Rispondi a tutti o alla mailing list'; |
| | | $labels['replytoallmessage'] = 'Rispondi a l mittente e ai destinatari'; |
| | | $labels['replyall'] = 'Rispondi a tutti'; |
| | | $labels['replylist'] = 'Rispondi alla mailing list'; |
| | | $labels['forwardmessage'] = 'Inoltra il messaggio'; |
| | |
| | | $labels['name'] = 'Nome visualizzato'; |
| | | $labels['firstname'] = 'Nome'; |
| | | $labels['surname'] = 'Cognome'; |
| | | $labels['middlename'] = 'Secondo nome'; |
| | | $labels['nameprefix'] = 'Prefisso'; |
| | | $labels['namesuffix'] = 'Suffisso'; |
| | | $labels['nickname'] = 'Soprannome'; |
| | | $labels['jobtitle'] = 'Titolo'; |
| | | $labels['department'] = 'Dipartimento'; |
| | | $labels['gender'] = 'Sesso'; |
| | | $labels['maidenname'] = 'Cognome da nubile'; |
| | | $labels['email'] = 'E-Mail'; |
| | | $labels['phone'] = 'Telefono'; |
| | | $labels['address'] = 'Indirizzo'; |
| | | $labels['street'] = 'Via'; |
| | | $labels['locality'] = 'Città'; |
| | | $labels['zipcode'] = 'CAP'; |
| | | $labels['region'] = 'Regione'; |
| | | $labels['country'] = 'Stato'; |
| | | $labels['birthday'] = 'Compleanno'; |
| | | $labels['anniversary'] = 'Anniversario'; |
| | | $labels['website'] = 'Sito web'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Note'; |
| | | $labels['male'] = 'maschio'; |
| | | $labels['female'] = 'femmina'; |
| | | $labels['manager'] = 'Manager'; |
| | | $labels['assistant'] = 'Assistente'; |
| | | $labels['spouse'] = 'Coniuge'; |
| | | $labels['addfield'] = 'Aggiungi campo...'; |
| | | $labels['addcontact'] = 'Aggiungi contatto alla rubrica'; |
| | | $labels['editcontact'] = 'Modifica contatto'; |
| | | $labels['contacts'] = 'Contatti'; |
| | |
| | | $labels['save'] = 'Salva'; |
| | | $labels['delete'] = 'Elimina'; |
| | | $labels['rename'] = 'Rinomina'; |
| | | $labels['addphoto'] = 'Aggiungi'; |
| | | $labels['replacephoto'] = 'Sostituisci'; |
| | | $labels['newcontact'] = 'Crea un nuovo contatto'; |
| | | $labels['deletecontact'] = 'Elimina i contatti selezionati'; |
| | | $labels['composeto'] = 'Invia email a'; |
| | |
| | | $labels['properties'] = 'Proprietà'; |
| | | $labels['folderproperties'] = 'Proprietà cartella'; |
| | | $labels['parentfolder'] = 'Cartella padre'; |
| | | $labels['location'] = 'Ubicazione'; |
| | | $labels['info'] = 'Informazioni'; |
| | | $labels['getfoldersize'] = 'Click per la dimensione della cartella'; |
| | | $labels['changesubscription'] = 'Click per cambiare sottoscrizione'; |
| | |
| | | $labels['chinese'] = 'Cinese'; |
| | | |
| | | ?> |
| | | |
| | | |
| | |
| | | $messages['invalidrequest'] = 'Richiesta non valida! Nessun dato salvato.'; |
| | | $messages['nomessagesfound'] = 'Nessun messaggio trovato in questa cartella'; |
| | | $messages['loggedout'] = 'Sessione chiusa correttamente. Arrivederci!'; |
| | | $messages['mailboxempty'] = 'La cartella è vuota'; |
| | | $messages['mailboxempty'] = 'La casella è vuota'; |
| | | $messages['loading'] = 'Caricamento...'; |
| | | $messages['uploading'] = 'Caricamento file...'; |
| | | $messages['loadingdata'] = 'Caricamento dati...'; |
| | |
| | | $messages['nametoolong'] = 'Nome troppo lungo'; |
| | | $messages['folderupdated'] = 'Cartella aggiornata correttamente'; |
| | | $messages['foldercreated'] = 'Cartella creata correttamente'; |
| | | $messages['invalidimageformat'] = 'Formato non valido'; |
| | | |
| | | ?> |
| | | |
| | | |
| | |
| | | |
| | | @version $Id$ |
| | | |
| | | EN-Revision: 4353 |
| | | EN-Revision: 4441 |
| | | |
| | | */ |
| | | |
| | |
| | | $labels['cc'] = 'コピー'; |
| | | $labels['bcc'] = 'Bcc'; |
| | | $labels['replyto'] = 'Reply-To (返信先)'; |
| | | $labels['followupto'] = 'Followup-To'; |
| | | $labels['followupto'] = 'Followup-To (ML の宛先)'; |
| | | $labels['date'] = '日付'; |
| | | $labels['size'] = '容量'; |
| | | $labels['priority'] = '優先度'; |
| | | $labels['organization'] = '所属'; |
| | | $labels['organization'] = '企業名'; |
| | | $labels['readstatus'] = '閲覧の状態'; |
| | | $labels['mailboxlist'] = 'フォルダー一覧'; |
| | | $labels['messagesfromto'] = '表示中のメール: $from ~ $to (全: $count 件)'; |
| | |
| | | $labels['folderactions'] = 'フォルダーの操作...'; |
| | | $labels['compact'] = 'コンパクト'; |
| | | $labels['empty'] = '空'; |
| | | $labels['purge'] = 'ごみ箱を空にする'; |
| | | $labels['quota'] = 'ディスク使用量'; |
| | | $labels['unknown'] = '不明'; |
| | | $labels['unlimited'] = '無制限'; |
| | |
| | | $labels['yourmessage'] = 'これはあなたが送信したメールに対する開封確認です。'; |
| | | $labels['receiptnote'] = '注意: この開封確認はメールが受信者に表示されたことの通知です。受信者がメールを読んだこと、内容を理解したことを保証するものではありません。'; |
| | | $labels['name'] = '表示名'; |
| | | $labels['firstname'] = '名 (ファースト ネーム)'; |
| | | $labels['surname'] = '姓 (ラスト ネーム)'; |
| | | $labels['firstname'] = '名 (ファーストネーム)'; |
| | | $labels['surname'] = '姓 (ラストネーム)'; |
| | | $labels['middlename'] = 'ミドルネーム'; |
| | | $labels['nameprefix'] = '敬称 (名前の前)'; |
| | | $labels['namesuffix'] = '敬称 (名前の後)'; |
| | | $labels['nickname'] = 'ニックネーム'; |
| | | $labels['jobtitle'] = '肩書き'; |
| | | $labels['department'] = '部署名'; |
| | | $labels['gender'] = '性別'; |
| | | $labels['maidenname'] = '旧姓'; |
| | | $labels['email'] = 'メールアドレス'; |
| | | $labels['phone'] = '電話番号'; |
| | | $labels['address'] = '住所'; |
| | | $labels['street'] = '通り'; |
| | | $labels['locality'] = '都市'; |
| | | $labels['zipcode'] = '郵便番号'; |
| | | $labels['region'] = '州'; |
| | | $labels['country'] = '国'; |
| | | $labels['birthday'] = '誕生日'; |
| | | $labels['anniversary'] = '記念日'; |
| | | $labels['website'] = 'ウェブサイト'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Notes'; |
| | | $labels['male'] = '男性'; |
| | | $labels['female'] = '女性'; |
| | | $labels['manager'] = '管理者'; |
| | | $labels['assistant'] = 'アシスタント'; |
| | | $labels['spouse'] = '配偶者'; |
| | | $labels['addfield'] = '項目の追加...'; |
| | | $labels['addcontact'] = '連絡先の新規追加'; |
| | | $labels['editcontact'] = '連絡先の編集'; |
| | | $labels['contacts'] = '連絡先'; |
| | | $labels['contactproperties'] = '連絡先のプロパティ'; |
| | | $labels['personalinfo'] = '個人情報'; |
| | | $labels['edit'] = '編集'; |
| | | $labels['cancel'] = 'キャンセル'; |
| | | $labels['save'] = '保存'; |
| | | $labels['delete'] = '削除'; |
| | | $labels['rename'] = '名前の変更'; |
| | | $labels['addphoto'] = '追加'; |
| | | $labels['replacephoto'] = '置換'; |
| | | $labels['newcontact'] = '連絡先の新規作成'; |
| | | $labels['deletecontact'] = '連絡先の削除'; |
| | | $labels['composeto'] = 'この連絡先へメールの送信'; |
| | |
| | | |
| | | @version $Id$ |
| | | |
| | | // EN-Revision: 4321 |
| | | // EN-Revision: 4424 |
| | | |
| | | */ |
| | | |
| | |
| | | $messages['nametoolong'] = '名前が長すぎます。'; |
| | | $messages['folderupdated'] = 'フォルダーの更新に成功しました。'; |
| | | $messages['foldercreated'] = 'フォルダーの作成に成功しました。'; |
| | | $messages['invalidimageformat'] = '画像の形式が正しくありません。'; |
| | | |
| | | ?> |
| | |
| | | $labels['name'] = 'Nome completo'; |
| | | $labels['firstname'] = 'Primeiro nome'; |
| | | $labels['surname'] = 'Apelido'; |
| | | $labels['middlename'] = 'Outros nomes/apelidos'; |
| | | $labels['nameprefix'] = 'Título'; |
| | | $labels['namesuffix'] = 'Sufixo'; |
| | | $labels['nickname'] = 'Alcunha'; |
| | | $labels['jobtitle'] = 'Cargo'; |
| | | $labels['department'] = 'Departamento'; |
| | | $labels['gender'] = 'Género'; |
| | | $labels['maidenname'] = 'Nome solteiro'; |
| | | $labels['email'] = 'E-mail'; |
| | | $labels['phone'] = 'Telefone'; |
| | | $labels['address'] = 'Endereço'; |
| | | $labels['street'] = 'Rua'; |
| | | $labels['locality'] = 'Cidade'; |
| | | $labels['zipcode'] = 'Código postal'; |
| | | $labels['region'] = 'Localidade'; |
| | | $labels['country'] = 'Pais'; |
| | | $labels['birthday'] = 'Data de nascimento'; |
| | | $labels['anniversary'] = 'Aniversário'; |
| | | $labels['website'] = 'Página web'; |
| | | $labels['instantmessenger'] = 'Endereço IM'; |
| | | $labels['notes'] = 'Notas'; |
| | | $labels['male'] = 'masculino'; |
| | | $labels['female'] = 'feminino'; |
| | | $labels['manager'] = 'Gerente'; |
| | | $labels['assistant'] = 'Assistente'; |
| | | $labels['spouse'] = 'Cônjuge'; |
| | | $labels['addfield'] = 'Adicionar campo...'; |
| | | $labels['addcontact'] = 'Criar novo contacto'; |
| | | $labels['editcontact'] = 'Editar contacto'; |
| | | $labels['contacts'] = 'Contactos'; |
| | | $labels['contactproperties'] = 'Propriedades dos contactos'; |
| | | $labels['personalinfo'] = 'Informação pessoal'; |
| | | $labels['edit'] = 'Editar'; |
| | | $labels['cancel'] = 'Cancelar'; |
| | | $labels['save'] = 'Guardar'; |
| | | $labels['delete'] = 'Eliminar'; |
| | | $labels['rename'] = 'Renomear'; |
| | | $labels['addphoto'] = 'Adicionar'; |
| | | $labels['replacephoto'] = 'Substituir'; |
| | | $labels['newcontact'] = 'Criar novo contacto'; |
| | | $labels['deletecontact'] = 'Eliminar contactos seleccionados'; |
| | | $labels['composeto'] = 'Escrever mensagem para'; |
| | |
| | | $messages['nametoolong'] = 'O nome é demasiado longo'; |
| | | $messages['folderupdated'] = 'Actualização da pasta concluída com sucesso'; |
| | | $messages['foldercreated'] = 'Pasta criada com sucesso'; |
| | | $messages['invalidimageformat'] = 'Formato de imagem não suportado'; |
| | | |
| | | ?> |
| | |
| | | $labels['folderactions'] = 'Операции над папкой...'; |
| | | $labels['compact'] = 'Сжать'; |
| | | $labels['empty'] = 'Опустошить'; |
| | | $labels['purge'] = 'Очистить'; |
| | | $labels['quota'] = 'Квота'; |
| | | $labels['unknown'] = 'неизвестно'; |
| | | $labels['unlimited'] = 'без ограничений'; |
| | |
| | | $labels['name'] = 'Отображаемое имя'; |
| | | $labels['firstname'] = 'Имя'; |
| | | $labels['surname'] = 'Фамилия'; |
| | | $labels['middlename'] = 'Отчество'; |
| | | $labels['nameprefix'] = 'Префикс'; |
| | | $labels['namesuffix'] = 'Суффикс'; |
| | | $labels['nickname'] = 'Прозвище'; |
| | | $labels['jobtitle'] = 'Должность'; |
| | | $labels['department'] = 'Отдел'; |
| | | $labels['gender'] = 'Пол'; |
| | | $labels['maidenname'] = 'Девичья фамилия'; |
| | | $labels['email'] = 'E-Mail'; |
| | | $labels['phone'] = 'Телефон'; |
| | | $labels['address'] = 'Адрес'; |
| | | $labels['street'] = 'Улица'; |
| | | $labels['locality'] = 'Город'; |
| | | $labels['zipcode'] = 'Индекс'; |
| | | $labels['region'] = 'Область'; |
| | | $labels['country'] = 'Страна'; |
| | | $labels['birthday'] = 'День рождения'; |
| | | $labels['anniversary'] = 'Годовщина'; |
| | | $labels['website'] = 'Веб-сайт'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Заметки'; |
| | | $labels['male'] = 'мужской'; |
| | | $labels['female'] = 'женский'; |
| | | $labels['manager'] = 'Менеджер'; |
| | | $labels['assistant'] = 'Помощник'; |
| | | $labels['spouse'] = 'Супруг'; |
| | | $labels['addfield'] = 'Добавить поле...'; |
| | | $labels['addcontact'] = 'Добавить выбранные контакты в список контактов'; |
| | | $labels['editcontact'] = 'Редактировать контакт'; |
| | | $labels['contacts'] = 'Контакты'; |
| | | $labels['contactproperties'] = 'Свойства контакта'; |
| | | $labels['personalinfo'] = 'Личная информация'; |
| | | $labels['edit'] = 'Правка'; |
| | | $labels['cancel'] = 'Отмена'; |
| | | $labels['save'] = 'Сохранить'; |
| | | $labels['delete'] = 'Удалить'; |
| | | $labels['rename'] = 'Переименовать'; |
| | | $labels['addphoto'] = 'Добавить'; |
| | | $labels['replacephoto'] = 'Заменить'; |
| | | $labels['newcontact'] = 'Создать новый контакт'; |
| | | $labels['deletecontact'] = 'Удалить выбранные контакты'; |
| | | $labels['composeto'] = 'Создать сообщение для выбранных контактов'; |
| | |
| | | $messages['nametoolong'] = 'Слишком длинное имя'; |
| | | $messages['folderupdated'] = 'Папка обновлена'; |
| | | $messages['foldercreated'] = 'Папка создана'; |
| | | $messages['invalidimageformat'] = 'Неверный формат изображения'; |
| | | |
| | | ?> |
| | |
| | | | Lukas Kraic <lukas.kraic@truni.sk> | |
| | | | Peter Mann <peter.mann@tuke.sk> | |
| | | | Ales Pospichal <ales@pospichalales.info> | |
| | | | Martin Lacina <martin@whistler.sk> | |
| | | +-----------------------------------------------------------------------+ |
| | | |
| | | @version $Id$ |
| | |
| | | $labels['size'] = 'Veľkosť'; |
| | | $labels['priority'] = 'Priorita'; |
| | | $labels['organization'] = 'Organizácia'; |
| | | $labels['reply-to'] = 'Odpovedať na'; |
| | | $labels['readstatus'] = 'Čítať stav'; |
| | | $labels['mailboxlist'] = 'Adresár'; |
| | | $labels['messagesfromto'] = 'Správy od $from do $to z $count'; |
| | | $labels['threadsfromto'] = 'Konverzácie od $from do $to z $count '; |
| | |
| | | $labels['writenewmessage'] = 'Vytvoriť novú správu'; |
| | | $labels['replytomessage'] = 'Odpovedať'; |
| | | $labels['replytoallmessage'] = 'Odpovedať všetkým'; |
| | | $labels['replyall'] = 'Odpovedať všetkým'; |
| | | $labels['replylist'] = 'Zoznam odpovedí'; |
| | | $labels['forwardmessage'] = 'Poslať ďalej'; |
| | | $labels['deletemessage'] = 'Zmazať správu'; |
| | | $labels['movemessagetotrash'] = 'Presunúť správu do koša'; |
| | |
| | | $labels['folderactions'] = 'Akcie so zložkou...'; |
| | | $labels['compact'] = 'Zhustiť priečinok'; |
| | | $labels['empty'] = 'Prázdne'; |
| | | $labels['purge'] = 'Vyprázdniť'; |
| | | $labels['quota'] = 'Zaplnenie schránky'; |
| | | $labels['unknown'] = 'neznáme'; |
| | | $labels['unlimited'] = 'neobmedzené'; |
| | |
| | | $labels['charset'] = 'Znaková sada'; |
| | | $labels['editortype'] = 'Typ editora'; |
| | | $labels['returnreceipt'] = 'Potvrdenie o doručení'; |
| | | $labels['dsn'] = 'Doručenie oznámenia o stave'; |
| | | $labels['editidents'] = 'Editovať identity'; |
| | | $labels['checkspelling'] = 'Skontrolovať pravopis'; |
| | | $labels['resumeediting'] = 'Pokračovať v úpravách'; |
| | |
| | | $labels['addcontact'] = 'Pridať nový kontakt'; |
| | | $labels['editcontact'] = 'Upraviť kontakt'; |
| | | $labels['contacts'] = 'Kontakty'; |
| | | $labels['contactproperties'] = 'Vlastnosti kontaktu'; |
| | | $labels['edit'] = 'Upraviť'; |
| | | $labels['cancel'] = 'Zrušiť'; |
| | | $labels['save'] = 'Uložiť'; |
| | | $labels['delete'] = 'Zmazať'; |
| | | $labels['rename'] = 'Premenovať'; |
| | | $labels['newcontact'] = 'Vytvoriť nový kontakt'; |
| | | $labels['deletecontact'] = 'Zmazať zvolené kontakty'; |
| | | $labels['composeto'] = 'Vytvoriť správu pre'; |
| | |
| | | $labels['signature'] = 'Podpis'; |
| | | $labels['dstactive'] = 'Letný čas'; |
| | | $labels['htmleditor'] = 'Vytvoriť HTML správu'; |
| | | $labels['htmlonreply'] = 'len v odpovedi na HTML správy'; |
| | | $labels['htmlsignature'] = 'HTML podpis'; |
| | | $labels['previewpane'] = 'Ukázať náhľad'; |
| | | $labels['skin'] = 'Vzhľad'; |
| | |
| | | $labels['askuser'] = 'spýtať sa používateľa'; |
| | | $labels['autosend'] = 'poslať potvrdenie automaticky'; |
| | | $labels['autosendknown'] = 'poslať potvrdenie iba mojím kontaktom'; |
| | | $labels['autosendknownignore'] = 'poslať potvrdenie mojím kontaktom, inak ignorovať'; |
| | | $labels['ignore'] = 'ignorovať'; |
| | | $labels['readwhendeleted'] = 'Označiť správu '; |
| | | $labels['flagfordeletion'] = 'Pri odstránení správy iba označiť správu ako odstránenú'; |
| | |
| | | $labels['previewpanemarkread'] = 'Označiť zobrazenej správy ako prečítané'; |
| | | $labels['afternseconds'] = 'po $ sekundách'; |
| | | $labels['reqmdn'] = 'Vždy požadovať doručenku'; |
| | | $labels['reqdsn'] = 'Vždy vyžadovať potvrdenie o doručení správy'; |
| | | $labels['replysamefolder'] = 'Umietniť odpoveď do adresára, kde je umiestnená správa, na ktorú sa odpovedalo'; |
| | | $labels['folder'] = 'Priečinok'; |
| | | $labels['folders'] = 'Priečinky'; |
| | | $labels['foldername'] = 'Názov priečinku'; |
| | |
| | | $labels['createfolder'] = 'Vytvor nový priečinok'; |
| | | $labels['managefolders'] = 'Spravovať priečinky'; |
| | | $labels['specialfolders'] = 'Špeciálne priečinky'; |
| | | $labels['properties'] = 'Vlastnosti'; |
| | | $labels['folderproperties'] = 'Vlastnosti adresára'; |
| | | $labels['parentfolder'] = 'Rodičovský adresár'; |
| | | $labels['location'] = 'Umiestnenie'; |
| | | $labels['info'] = 'Informácia'; |
| | | $labels['getfoldersize'] = 'Kliknúť pre získanie leľkosti adresára'; |
| | | $labels['changesubscription'] = 'Kliknúť pre zmenu prihlásenia odberu'; |
| | | $labels['sortby'] = 'Triediť podľa'; |
| | | $labels['sortasc'] = 'Triediť vzostupne'; |
| | | $labels['sortdesc'] = 'Triediť zostupne'; |
| | |
| | | $labels['korean'] = 'Korejčina'; |
| | | $labels['chinese'] = 'Čínština'; |
| | | |
| | | ?> |
| | | ?> |
| | |
| | | | Lukas Kraic <lukas.kraic@truni.sk> | |
| | | | Peter Mann <peter.mann@tuke.sk> | |
| | | | Ales Pospichal <ales@pospichalales.info> | |
| | | | Martin Lacina <martin@whistler.sk> | |
| | | +-----------------------------------------------------------------------+ |
| | | |
| | | @version $Id$ |
| | |
| | | $messages['sessionerror'] = 'Vaše prihlásenie je neplatné alebo vypršala jeho platnosť'; |
| | | $messages['imaperror'] = 'Nepodarilo sa spojiť s IMAP serverom'; |
| | | $messages['servererror'] = 'Chyba servera!'; |
| | | $messages['servererrormsg'] = 'Chyba servera: $msg'; |
| | | $messages['errorreadonly'] = 'Nemožno vykonať operáciu. Adresár je len na čítanie'; |
| | | $messages['errornoperm'] = 'Nemožno vykonať operáciu. Prístup odmietnutý'; |
| | | $messages['invalidrequest'] = 'Chybný požiadavek. Žiadne údaje neboli uložené.'; |
| | | $messages['nomessagesfound'] = 'Vo Vašej schránke nie je žiadna správa'; |
| | | $messages['loggedout'] = 'Odhlásenie prebehlo úspešne. Dovidenia.'; |
| | |
| | | $messages['purgefolderconfirm'] = 'Ste si istý, že chcete zmazať všetky správy v tomto priečinku?'; |
| | | $messages['folderdeleting'] = 'Odstraňuje sa priečinok ...'; |
| | | $messages['foldermoving'] = 'Prečinok sa presúva ...'; |
| | | $messages['foldersubscribing'] = 'Prihlasujem sa k adresáru...'; |
| | | $messages['folderunsubscribing'] = 'Odhlasujem sa z adresára...'; |
| | | $messages['formincomplete'] = 'Formulár nie je kompletne vyplnený'; |
| | | $messages['noemailwarning'] = 'Prosím, vložte platnú emailovú adresu'; |
| | | $messages['nonamewarning'] = 'Prosím, zadajte meno'; |
| | |
| | | $messages['checking'] = 'Kontroluje sa...'; |
| | | $messages['nospellerrors'] = 'Pri kontrole pravopisu neboli nájdené chyby'; |
| | | $messages['folderdeleted'] = 'Priečinok bol zmazaný'; |
| | | $messages['foldersubscribed'] = 'Úspešne prihlásený k adresáru'; |
| | | $messages['folderunsubscribed'] = 'Úspešne odhlásený z adresára'; |
| | | $messages['folderpurged'] = 'Adresár bol vyprázdnený'; |
| | | $messages['folderexpunged'] = 'Adresár bol zhustený'; |
| | | $messages['deletedsuccessfully'] = 'Úspešne zmazané'; |
| | | $messages['converting'] = 'Odstraňuje sa formátovanie správy...'; |
| | | $messages['messageopenerror'] = 'Nedá sa načítať správa zo servera'; |
| | |
| | | $messages['errorsavingcontact'] = 'Nedá sa uložiť adresa kontaktu'; |
| | | $messages['movingmessage'] = 'Správa sa presúva...'; |
| | | $messages['copyingmessage'] = 'Správa sa kopíruje...'; |
| | | $messages['deletingmessage'] = 'Mažem správu(y)...'; |
| | | $messages['markingmessage'] = 'Označujem správu(y)...'; |
| | | $messages['receiptsent'] = 'Potvrdenie o prijatí správy bolo odoslané'; |
| | | $messages['errorsendingreceipt'] = 'Potvrdenie o prijatí správy sa nedalo odoslať'; |
| | | $messages['nodeletelastidentity'] = 'Identita sa nedá odstrániť, je posledná a musí zostať.'; |
| | |
| | | $messages['smtpfromerror'] = 'Chyba SMTP: Nemožno nastaviť odosielateľa ($msg)'; |
| | | $messages['smtptoerror'] = 'Chyba SMTP: Nemožno pridať príjemca ($msg)'; |
| | | $messages['smtprecipientserror'] = 'Chyba SMTP: Nemožno spracovať zoznam príjemcov'; |
| | | $messages['smtpdsnerror'] = 'SMTP chyba: Oznámenie o doručení nie je podporované'; |
| | | $messages['smtperror'] = 'Chyba SMTP: $msg'; |
| | | $messages['emailformaterror'] = 'Neplatná e-mailová adresa: $email'; |
| | | $messages['toomanyrecipients'] = 'Príliš veľa príjemcov. Zmenšite počet príjemcov na $max.'; |
| | | $messages['maxgroupmembersreached'] = 'Počet členov skupiny dosiahol maxima z $max'; |
| | | $messages['internalerror'] = 'Došlo k internej chybe. Skúste to znova'; |
| | | $messages['contactdelerror'] = 'Nemôžem vymazať kontakt(y)'; |
| | | $messages['contactdeleted'] = 'Kontakt(y) bol vymazaný'; |
| | | $messages['groupdeleted'] = 'Skupina bola vymazaná'; |
| | | $messages['grouprenamed'] = 'Skupina bola premenovaná'; |
| | | $messages['groupcreated'] = 'Skupina bola vytvorená'; |
| | | $messages['messagedeleted'] = 'Správa(y) bola vymazaná'; |
| | | $messages['messagemoved'] = 'Správa(y) bola presunutá'; |
| | | $messages['messagecopied'] = 'Správa(y) bola skopírovaná'; |
| | | $messages['messagemarked'] = 'Správa(y) bola označená'; |
| | | $messages['autocompletechars'] = 'Zadajte najmenej $min znamkov pre automatické dopĺňanie'; |
| | | $messages['namecannotbeempty'] = 'Meno nemôže byť prázdne'; |
| | | $messages['nametoolong'] = 'Meno je príliš dlhé'; |
| | | $messages['folderupdated'] = 'Adresár bol aktualizovaný'; |
| | | $messages['foldercreated'] = 'Adresár bol vytvorený'; |
| | | |
| | | ?> |
| | |
| | | $labels['markunread'] = 'Oläst'; |
| | | $labels['markflagged'] = 'Flaggat'; |
| | | $labels['markunflagged'] = 'Oflaggat'; |
| | | $labels['messageactions'] = 'Hantera meddelanden'; |
| | | $labels['messageactions'] = 'Hantera meddelande'; |
| | | $labels['select'] = 'Välj'; |
| | | $labels['all'] = 'Alla'; |
| | | $labels['none'] = 'Ingen'; |
| | |
| | | $labels['folderactions'] = 'Hantera kataloger'; |
| | | $labels['compact'] = 'Packa'; |
| | | $labels['empty'] = 'Töm'; |
| | | $labels['purge'] = 'Rensa'; |
| | | $labels['quota'] = 'Diskutrymme'; |
| | | $labels['unknown'] = 'okänt'; |
| | | $labels['unlimited'] = 'obegränsat'; |
| | |
| | | $labels['name'] = 'Namn'; |
| | | $labels['firstname'] = 'Förnamn'; |
| | | $labels['surname'] = 'Efternamn'; |
| | | $labels['middlename'] = 'Mellannamn'; |
| | | $labels['nameprefix'] = 'Prefix'; |
| | | $labels['namesuffix'] = 'Suffix'; |
| | | $labels['nickname'] = 'Smeknamn'; |
| | | $labels['jobtitle'] = 'Titel'; |
| | | $labels['department'] = 'Avdelning'; |
| | | $labels['gender'] = 'Kön'; |
| | | $labels['maidenname'] = 'Flicknamn'; |
| | | $labels['email'] = 'E-post'; |
| | | $labels['phone'] = 'Telefon'; |
| | | $labels['address'] = 'Adress'; |
| | | $labels['street'] = 'Gata'; |
| | | $labels['locality'] = 'Ort'; |
| | | $labels['zipcode'] = 'Postnummer'; |
| | | $labels['region'] = 'Region'; |
| | | $labels['country'] = 'Land'; |
| | | $labels['birthday'] = 'Födelsedag'; |
| | | $labels['anniversary'] = 'Årsdag'; |
| | | $labels['website'] = 'Webbplats'; |
| | | $labels['instantmessenger'] = 'IM'; |
| | | $labels['notes'] = 'Anteckningar'; |
| | | $labels['male'] = 'Man'; |
| | | $labels['female'] = 'Kvinna'; |
| | | $labels['manager'] = 'Chef'; |
| | | $labels['assistant'] = 'Assistent'; |
| | | $labels['spouse'] = 'Make/Maka'; |
| | | $labels['addfield'] = 'Lägg till fält...'; |
| | | $labels['addcontact'] = 'Lägg till ny kontakt'; |
| | | $labels['editcontact'] = 'Ändra kontakt'; |
| | | $labels['contacts'] = 'Kontakter'; |
| | |
| | | $labels['cancel'] = 'Avbryt'; |
| | | $labels['save'] = 'Spara'; |
| | | $labels['delete'] = 'Ta bort'; |
| | | $labels['rename'] = 'Ändra namn'; |
| | | $labels['addphoto'] = 'Lägg till'; |
| | | $labels['replacephoto'] = 'Ersätt'; |
| | | $labels['newcontact'] = 'Ny kontakt'; |
| | | $labels['deletecontact'] = 'Ta bort vald kontakt'; |
| | | $labels['composeto'] = 'Nytt meddelande till vald kontakt'; |
| | |
| | | $labels['folder'] = 'Katalog'; |
| | | $labels['folders'] = 'Kataloger'; |
| | | $labels['foldername'] = 'Katalognamn'; |
| | | $labels['subscribed'] = 'Prenumererad'; |
| | | $labels['subscribed'] = 'Prenumererad'; |
| | | $labels['messagecount'] = 'Meddelanden'; |
| | | $labels['create'] = 'Skapa'; |
| | | $labels['createfolder'] = 'Ny katalog'; |
| | |
| | | $messages['nametoolong'] = 'Namnet är för långt'; |
| | | $messages['folderupdated'] = 'Katalog uppdaterad'; |
| | | $messages['foldercreated'] = 'Katalog skapad'; |
| | | $messages['invalidimageformat'] = 'Ogiltigt bildfilsformat'; |
| | | |
| | | ?> |
| | |
| | | $labels['priority'] = '優先順序'; |
| | | $labels['organization'] = '組織'; |
| | | $labels['readstatus'] = '讀信狀態'; |
| | | $labels['reply-to'] = '回覆至'; |
| | | $labels['mail-reply-to'] = '信件回覆至'; |
| | | $labels['mail-followup-to'] = '信件跟隨至'; |
| | | $labels['mailboxlist'] = '資料夾'; |
| | | $labels['messagesfromto'] = '郵件 $from 至 $to,共有 $count 封郵件'; |
| | | $labels['threadsfromto'] = '郵件串 $from 至 $to,共有 $count 個'; |
| | |
| | | $labels['folderactions'] = '資料夾動作...'; |
| | | $labels['compact'] = '壓縮'; |
| | | $labels['empty'] = '清空'; |
| | | $labels['purge'] = '清除'; |
| | | $labels['quota'] = '磁碟使用量'; |
| | | $labels['unknown'] = '未知'; |
| | | $labels['unlimited'] = '無限制'; |
| | |
| | | $labels['name'] = '顯示名稱'; |
| | | $labels['firstname'] = '名稱'; |
| | | $labels['surname'] = '姓氏'; |
| | | $labels['middlename'] = '中名'; |
| | | $labels['nameprefix'] = '名'; |
| | | $labels['namesuffix'] = '姓'; |
| | | $labels['nickname'] = '暱稱'; |
| | | $labels['jobtitle'] = '職位'; |
| | | $labels['department'] = '部門'; |
| | | $labels['gender'] = '性別'; |
| | | $labels['maidenname'] = '姓'; |
| | | $labels['email'] = '電子郵件'; |
| | | $labels['phone'] = '電話'; |
| | | $labels['address'] = '地址'; |
| | | $labels['street'] = '街道'; |
| | | $labels['locality'] = '城市'; |
| | | $labels['zipcode'] = '郵遞區號'; |
| | | $labels['region'] = '地區'; |
| | | $labels['country'] = '國家'; |
| | | $labels['birthday'] = '生日'; |
| | | $labels['anniversary'] = '周年纪念日'; |
| | | $labels['website'] = '網站'; |
| | | $labels['instantmessenger'] = '即時通訊'; |
| | | $labels['notes'] = '註解'; |
| | | $labels['male'] = '男'; |
| | | $labels['female'] = '女'; |
| | | $labels['manager'] = '經理'; |
| | | $labels['assistant'] = '助理'; |
| | | $labels['spouse'] = '配偶'; |
| | | $labels['addfield'] = '新增欄位...'; |
| | | $labels['addcontact'] = '新增聯絡人'; |
| | | $labels['editcontact'] = '編輯聯絡人'; |
| | | $labels['contacts'] = '聯絡人'; |
| | | $labels['contactproperties'] = '聯絡人資訊'; |
| | | $labels['personalinfo'] = '個人資訊'; |
| | | $labels['edit'] = '編輯'; |
| | | $labels['cancel'] = '取消'; |
| | | $labels['save'] = '儲存'; |
| | | $labels['delete'] = '刪除'; |
| | | $labels['rename'] = '重新命名'; |
| | | $labels['addphoto'] = '新增'; |
| | | $labels['replacephoto'] = '取代'; |
| | | $labels['newcontact'] = '建立新聯絡人資料'; |
| | | $labels['deletecontact'] = '刪除所選擇的聯絡人'; |
| | | $labels['composeto'] = '寄信至所選擇的聯絡人'; |
| | |
| | | $labels['createfolder'] = '建立新資料夾'; |
| | | $labels['managefolders'] = '管理資料夾'; |
| | | $labels['specialfolders'] = '預設資料夾設定'; |
| | | $labels['properties'] = '屬性'; |
| | | $labels['folderproperties'] = '資料夾屬性'; |
| | | $labels['parentfolder'] = '上一層資料夾'; |
| | | $labels['location'] = '位置'; |
| | | $labels['info'] = '資訊'; |
| | | $labels['getfoldersize'] = '點擊顯示資料夾大小'; |
| | | $labels['changesubscription'] = '點擊以改變訂閱'; |
| | | $labels['sortby'] = '排序'; |
| | | $labels['sortasc'] = '遞增排序'; |
| | | $labels['sortdesc'] = '遞減排序'; |
| | |
| | | $messages['imaperror'] = '連線到 IMAP 伺服器失敗'; |
| | | $messages['servererror'] = '伺服器錯誤!'; |
| | | $messages['servererrormsg'] = '伺服器錯誤:$msg'; |
| | | $messages['errorreadonly'] = '動作無法完成。資料夾唯讀'; |
| | | $messages['errornoperm'] = '動作無法完成。權限不符'; |
| | | $messages['invalidrequest'] = '要求無效!未儲存任何資料。'; |
| | | $messages['nomessagesfound'] = '此郵件匣沒有任何郵件'; |
| | | $messages['loggedout'] = '你已成功地登出並結束工作階段了。再見!'; |
| | |
| | | $messages['purgefolderconfirm'] = '你確定要刪除這個資料夾裡面所有的郵件嗎?'; |
| | | $messages['folderdeleting'] = '刪除資料夾中...'; |
| | | $messages['foldermoving'] = '移動資料夾中...'; |
| | | $messages['foldersubscribing'] = '訂閱資料夾...'; |
| | | $messages['folderunsubscribing'] = '取消訂閱資料夾...'; |
| | | $messages['formincomplete'] = '這個表單有部分未填,請完整填寫'; |
| | | $messages['noemailwarning'] = '請輸入一個有效的電子郵件位址'; |
| | | $messages['nonamewarning'] = '請輸入名字'; |
| | |
| | | $messages['checking'] = '檢查中...'; |
| | | $messages['nospellerrors'] = '沒有找到任何拼字錯誤'; |
| | | $messages['folderdeleted'] = '資料夾已經成功地被刪除'; |
| | | $messages['foldersubscribed'] = '資料夾成功訂閱'; |
| | | $messages['folderunsubscribed'] = '資料夾成功取消訂閱'; |
| | | $messages['folderpurged'] = '資料夾成功清空'; |
| | | $messages['folderexpunged'] = '資料夾成功壓縮'; |
| | | $messages['deletedsuccessfully'] = '刪除成功'; |
| | | $messages['converting'] = '移除郵件格式中...'; |
| | | $messages['messageopenerror'] = '無法從伺服器載入郵件'; |
| | |
| | | $messages['messagecopied'] = '訊息成功複製'; |
| | | $messages['messagemarked'] = '訊息成功標示'; |
| | | $messages['autocompletechars'] = '輸入至少 $min 字元才能自動完成自動完成'; |
| | | $messages['namecannotbeempty'] = '名稱不可空白'; |
| | | $messages['nametoolong'] = '名稱太長'; |
| | | $messages['folderupdated'] = '資料夾成功更新'; |
| | | $messages['foldercreated'] = '資料夾成功建立'; |
| | | $messages['invalidimageformat'] = '圖片格式錯誤'; |
| | | |
| | | ?> |
| | |
| | | |
| | | |
| | | if ($insert_id) { |
| | | // add new contact to the specified group |
| | | if ($CONTACTS->group_id) { |
| | | $plugin = $RCMAIL->plugins->exec_hook('group_addmembers', array('group_id' => $CONTACTS->group_id, 'ids' => $insert_id, 'source' => $source)); |
| | | |
| | | if (!$plugin['abort']) { |
| | | if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($CONTACTS->count()->count + 1 > $maxnum)) |
| | | $OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum)); |
| | | |
| | | $CONTACTS->add_to_group($gid, $plugin['ids']); |
| | | } |
| | | } |
| | | |
| | | // add contact row or jump to the page where it should appear |
| | | $CONTACTS->reset(); |
| | | $result = $CONTACTS->search($CONTACTS->primary_key, $insert_id); |
| | |
| | | if (in_array($col, array('from', 'to', 'cc', 'replyto'))) |
| | | $cont = Q(rcmail_address_string($header->$col, 3), 'show'); |
| | | else if ($col=='subject') { |
| | | $cont = abbreviate_string(trim($IMAP->decode_header($header->$col)), 160); |
| | | $cont = trim($IMAP->decode_header($header->$col)); |
| | | if (!$cont) $cont = rcube_label('nosubject'); |
| | | $cont = Q($cont); |
| | | } |
| | |
| | | |
| | | // trigger plugin hook |
| | | $data = $RCMAIL->plugins->exec_hook('message_part_before', |
| | | array('type' => $part->ctype_secondary, 'body' => $part->body) + $p + array('safe' => false, 'plain' => false, 'inline_html' => true)); |
| | | array('type' => $part->ctype_secondary, 'body' => $part->body, 'id' => $part->mime_id) |
| | | + $p + array('safe' => false, 'plain' => false, 'inline_html' => true)); |
| | | |
| | | // convert html to text/plain |
| | | if ($data['type'] == 'html' && $data['plain']) { |
| | |
| | | $body = rcmail_plain_body($body, $part->ctype_parameters['format'] == 'flowed'); |
| | | |
| | | // allow post-processing of the message body |
| | | $data = $RCMAIL->plugins->exec_hook('message_part_after', array('type' => $part->ctype_secondary, 'body' => $body) + $data); |
| | | $data = $RCMAIL->plugins->exec_hook('message_part_after', |
| | | array('type' => $part->ctype_secondary, 'body' => $body, 'id' => $part->mime_id) + $data); |
| | | |
| | | return $data['type'] == 'html' ? $data['body'] : html::tag('pre', array(), $data['body']); |
| | | } |
| | |
| | | |
| | | case 'style': |
| | | // decode all escaped entities and reduce to ascii strings |
| | | $stripped = preg_replace('/[^a-zA-Z\(:]/', '', rcmail_xss_entity_decode($content)); |
| | | $stripped = preg_replace('/[^a-zA-Z\(:;]/', '', rcmail_xss_entity_decode($content)); |
| | | |
| | | // now check for evil strings like expression, behavior or url() |
| | | if (!preg_match('/expression|behavior|url\(|import/', $stripped)) { |
| | | if (!preg_match('/expression|behavior|url\(|import[^a]/', $stripped)) { |
| | | $out = html::tag('style', array('type' => 'text/css'), $content); |
| | | break; |
| | | } |
| | |
| | | $table->add(array('class' => 'header '.$hkey), Q($row['value'], ($hkey == 'subject' ? 'strict' : 'show'))); |
| | | } |
| | | |
| | | // all headers division |
| | | $table->add(array('colspan' => 2, 'class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), ''); |
| | | $table->add_row(array('id' => "all-headers")); |
| | | $table->add(array('colspan' => 2, 'class' => "all"), html::div(array('id' => 'headers-source'), '')); |
| | | return $table->show($attrib); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * return block to show full message headers |
| | | */ |
| | | function rcmail_message_full_headers($attrib, $headers=NULL) |
| | | { |
| | | global $OUTPUT; |
| | | |
| | | $html = html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), ''); |
| | | $html .= html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), '')); |
| | | |
| | | $OUTPUT->add_gui_object('all_headers_row', 'all-headers'); |
| | | $OUTPUT->add_gui_object('all_headers_box', 'headers-source'); |
| | | |
| | | return $table->show($attrib); |
| | | } |
| | | |
| | | return html::div($attrib, $html); |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | 'quotadisplay' => 'rcmail_quota_display', |
| | | 'mailboxname' => 'rcmail_mailbox_name_display', |
| | | 'messageheaders' => 'rcmail_message_headers', |
| | | 'messagefullheaders' => 'rcmail_message_full_headers', |
| | | 'messagebody' => 'rcmail_message_body', |
| | | 'messagecontentframe' => 'rcmail_messagecontent_frame', |
| | | 'messagepartframe' => 'rcmail_message_part_frame', |
| | |
| | | } |
| | | } |
| | | |
| | | if ($result) |
| | | if ($result) { |
| | | // Handle subscription of protected folder (#1487656) |
| | | if ($CONFIG['protect_default_folders'] == true |
| | | && in_array($mbox, $CONFIG['default_imap_folders']) |
| | | ) { |
| | | $OUTPUT->command('disable_subscription', $mbox); |
| | | } |
| | | |
| | | $OUTPUT->show_message('foldersubscribed', 'confirmation'); |
| | | } |
| | | else |
| | | rcmail_display_server_error('errorsaving'); |
| | | } |
| | |
| | | $noselect = in_array('\\Noselect', $opts); |
| | | } |
| | | |
| | | $disabled = (($protected && $subscribed) || $noselect); |
| | | |
| | | $table->add_row(array('id' => 'rcmrow'.$idx, 'class' => join(' ', $classes))); |
| | | |
| | | $table->add('name', $display_folder); |
| | | $table->add('subscribed', $checkbox_subscribe->show(($subscribed ? $folder_utf8 : ''), |
| | | array('value' => $folder_utf8, 'disabled' => ($protected || $noselect) ? 'disabled' : ''))); |
| | | array('value' => $folder_utf8, 'disabled' => $disabled ? 'disabled' : ''))); |
| | | |
| | | $a_js_folders['rcmrow'.$idx] = array($folder_utf8, Q($display_folder), $protected || $folder['virtual']); |
| | | $a_js_folders['rcmrow'.$idx] = array($folder_utf8, |
| | | Q($display_folder), $protected || $folder['virtual']); |
| | | } |
| | | |
| | | $RCMAIL->plugins->exec_hook('folders_list', array('table' => $table)); |
| | |
| | | return $skins; |
| | | } |
| | | |
| | | |
| | | // register UI objects |
| | | $OUTPUT->add_handlers(array( |
| | | 'prefsframe' => 'rcmail_preferences_frame', |
| | |
| | | if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['pagesize'] > $CONFIG['max_pagesize'])) |
| | | $a_user_prefs['pagesize'] = (int) $CONFIG['max_pagesize']; |
| | | |
| | | $a_user_prefs['timezone'] = $_SESSION['timezone'] = (string) $a_user_prefs['timezone']; |
| | | |
| | | break; |
| | | case 'mailbox': |
| | | |
| | |
| | | span.tablink a, |
| | | span.tablink-selected a |
| | | { |
| | | display: block; |
| | | display: inline-block; |
| | | padding: 5px 10px 0 5px; |
| | | margin-left: 5px; |
| | | height: 23px; |
| | |
| | | height: expression((parseInt(this.parentNode.offsetHeight)-23-parseInt(this.style.top?this.style.top:21))+'px'); |
| | | } |
| | | |
| | | #directorylistbox |
| | | #directorylistbox, #folder-manager |
| | | { |
| | | height: expression((parseInt(document.documentElement.clientHeight)-105)+'px'); |
| | | } |
| | |
| | | { |
| | | margin-top: 2px; |
| | | } |
| | | |
| | | #directorylistbox div |
| | | { |
| | | min-height: 0; |
| | | } |
| | |
| | | border-bottom: 1px solid #EBEBEB; |
| | | } |
| | | |
| | | #mailboxlist li ul li:last-child |
| | | { |
| | | border-bottom: none; |
| | | } |
| | | |
| | | #mailboxlist li div |
| | | { |
| | | position: absolute; |
| | |
| | | background-color: #EBEBEB; |
| | | } |
| | | |
| | | #messagebody #full-headers, |
| | | #messagebody table.headers-table |
| | | { |
| | | width: auto; |
| | | margin: 6px 8px; |
| | | background-color: #F4F4F4; |
| | | border: 1px solid #ccc; |
| | | } |
| | | |
| | | #messageframe table.headers-table |
| | | { |
| | | border-bottom: 1px solid #ccc; |
| | | } |
| | | |
| | | table.headers-table tr td |
| | |
| | | font-weight: bold; |
| | | text-align: right; |
| | | white-space: nowrap; |
| | | padding: 0 4px; |
| | | padding: 0 4px 0 8px; |
| | | } |
| | | |
| | | table.headers-table tr td.header |
| | |
| | | font-weight: bold; |
| | | } |
| | | |
| | | table.headers-table tr td.all |
| | | { |
| | | width: 100%; |
| | | color: #666666; |
| | | text-align: left; |
| | | padding-right: 10px; |
| | | text-align: center; |
| | | padding: 2px 6px 4px 6px; |
| | | border-bottom: 0; |
| | | } |
| | | |
| | | table.headers-table tr td.more-headers |
| | | { |
| | | cursor: pointer; |
| | | width: 100%; |
| | | height: 8px; |
| | | border-bottom: 0; |
| | | } |
| | | |
| | | #attachment-list |
| | | { |
| | | margin: 0; |
| | |
| | | list-style-image: none; |
| | | list-style-type: none; |
| | | background: url(images/icons/attachment.png) 4px 2px no-repeat #DFDFDF; |
| | | } |
| | | |
| | | #messageframe #attachment-list |
| | | { |
| | | border-bottom: 1px solid #ccc; |
| | | } |
| | | |
| | | .messageheaderbox #attachment-list |
| | | { |
| | | border-top: 1px solid #ccc; |
| | | } |
| | | |
| | | #attachment-list:after |
| | |
| | | border: 0; |
| | | } |
| | | |
| | | td.show-headers |
| | | #full-headers |
| | | { |
| | | color: #666666; |
| | | text-align: center; |
| | | padding: 2px 6px; |
| | | border-bottom: 1px solid #ccc; |
| | | background-color: #EBEBEB; |
| | | } |
| | | |
| | | .messageheaderbox #full-headers |
| | | { |
| | | border-bottom: 0; |
| | | } |
| | | |
| | | div.more-headers |
| | | { |
| | | cursor: pointer; |
| | | height: 8px; |
| | | border-bottom: 0; |
| | | } |
| | | |
| | | div.show-headers |
| | | { |
| | | background: url(images/icons/down_small.gif) no-repeat center; |
| | | } |
| | | |
| | | td.hide-headers |
| | | div.hide-headers |
| | | { |
| | | background: url(images/icons/up_small.gif) no-repeat center; |
| | | } |
| | | |
| | | #all-headers |
| | | { |
| | | height: 150px; |
| | | display: none; |
| | | } |
| | | |
| | | #headers-source |
| | | { |
| | | margin: 0 5px; |
| | | margin: 0 0 2px 0; |
| | | padding: 0.5em; |
| | | height: 145px; |
| | | background: white; |
| | | overflow: auto; |
| | | font-size: 11px; |
| | | white-space: nowrap; |
| | | border: 1px solid #999999; |
| | | display: none; |
| | | text-align: left; |
| | |
| | | <roundcube:object name="directorylist" id="directorylist" /> |
| | | <roundcube:object name="groupslist" id="contactgroupslist" /> |
| | | </div> |
| | | <!--[if lte IE 7]><div></div><![endif]--> |
| | | <div class="boxfooter"> |
| | | <roundcube:button command="group-create" type="link" title="newcontactgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " /> |
| | | <roundcube:button name="groupmenulink" id="groupmenulink" type="link" title="groupactions" class="button groupactions" onclick="rcmail_ui.show_popup('groupmenu');return false" content=" " /> |
| | |
| | | <div id="messageframe"> |
| | | <div class="boxlistcontent" style="top:0; overflow-x:auto"> |
| | | <roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" /> |
| | | <roundcube:object name="messageFullHeaders" id="full-headers" /> |
| | | <roundcube:object name="messageAttachments" id="attachment-list" /> |
| | | |
| | | <roundcube:object name="blockedObjects" id="remote-objects-message" /> |
| | |
| | | <div class="messageheaderbox"> |
| | | <roundcube:button command="permaurl" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="messageviewlink" target="_blank" /> |
| | | <roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" /> |
| | | <roundcube:object name="messageFullHeaders" id="full-headers" /> |
| | | <roundcube:object name="messageAttachments" id="attachment-list" /> |
| | | </div> |
| | | |