hastymail-cvs Mailing List for Hastymail (Page 2)
Brought to you by:
sailfrog,
slushpupie
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(133) |
Dec
(199) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(83) |
Feb
(165) |
Mar
(221) |
Apr
(47) |
May
(29) |
Jun
(69) |
Jul
(212) |
Aug
(284) |
Sep
(84) |
Oct
(113) |
Nov
(148) |
Dec
(155) |
2004 |
Jan
(97) |
Feb
(77) |
Mar
(138) |
Apr
(48) |
May
(102) |
Jun
(101) |
Jul
(158) |
Aug
(136) |
Sep
(66) |
Oct
(34) |
Nov
(25) |
Dec
(28) |
2005 |
Jan
(39) |
Feb
(20) |
Mar
(134) |
Apr
(130) |
May
(66) |
Jun
(59) |
Jul
(18) |
Aug
(49) |
Sep
(7) |
Oct
(2) |
Nov
(10) |
Dec
(60) |
2006 |
Jan
(35) |
Feb
(17) |
Mar
(176) |
Apr
(44) |
May
(52) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(2) |
Dec
|
2007 |
Jan
(9) |
Feb
(2) |
Mar
(11) |
Apr
|
May
|
Jun
|
Jul
(18) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
(151) |
Feb
(75) |
Mar
(60) |
Apr
(89) |
May
(119) |
Jun
(19) |
Jul
(18) |
Aug
(21) |
Sep
(14) |
Oct
(18) |
Nov
(32) |
Dec
(66) |
2009 |
Jan
(61) |
Feb
(17) |
Mar
(62) |
Apr
(60) |
May
(26) |
Jun
(42) |
Jul
(33) |
Aug
(41) |
Sep
(11) |
Oct
(88) |
Nov
(113) |
Dec
(55) |
2010 |
Jan
(31) |
Feb
(35) |
Mar
(49) |
Apr
(76) |
May
(63) |
Jun
(31) |
Jul
(56) |
Aug
(18) |
Sep
(16) |
Oct
(7) |
Nov
(40) |
Dec
(23) |
2011 |
Jan
(37) |
Feb
(31) |
Mar
(15) |
Apr
(28) |
May
(16) |
Jun
(35) |
Jul
(39) |
Aug
(30) |
Sep
(26) |
Oct
(3) |
Nov
(3) |
Dec
(16) |
2012 |
Jan
(17) |
Feb
(6) |
Mar
(9) |
Apr
(4) |
May
(6) |
Jun
(2) |
Jul
(6) |
Aug
(7) |
Sep
|
Oct
(9) |
Nov
(39) |
Dec
(9) |
2013 |
Jan
(6) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(3) |
Nov
|
Dec
(1) |
From: <sai...@us...> - 2012-11-30 15:15:17
|
Revision: 2130 http://hastymail.svn.sourceforge.net/hastymail/?rev=2130&view=rev Author: sailfrog Date: 2012-11-30 15:15:06 +0000 (Fri, 30 Nov 2012) Log Message: ----------- fix a bug in the find message part routine that could return the wrong message part due to string/numeric intreptation in php. Modified Paths: -------------- trunk/hastymail2/lib/url_action_class.php Modified: trunk/hastymail2/lib/url_action_class.php =================================================================== --- trunk/hastymail2/lib/url_action_class.php 2012-11-29 23:30:08 UTC (rev 2129) +++ trunk/hastymail2/lib/url_action_class.php 2012-11-30 15:15:06 UTC (rev 2130) @@ -626,7 +626,7 @@ } $subs = array(); foreach ($struct as $id => $vals) { - if ($part && $id == $part) { + if ($part && $id === $part) { $vals['imap_id'] = $id; $res = $vals; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-29 23:30:15
|
Revision: 2129 http://hastymail.svn.sourceforge.net/hastymail/?rev=2129&view=rev Author: sailfrog Date: 2012-11-29 23:30:08 +0000 (Thu, 29 Nov 2012) Log Message: ----------- remove extra paren Modified Paths: -------------- trunk/hastymail2/plugins/html_mail/tiny_mce/plugins/spellchecker/classes/PSpellShell.php Modified: trunk/hastymail2/plugins/html_mail/tiny_mce/plugins/spellchecker/classes/PSpellShell.php =================================================================== --- trunk/hastymail2/plugins/html_mail/tiny_mce/plugins/spellchecker/classes/PSpellShell.php 2012-11-29 18:49:27 UTC (rev 2128) +++ trunk/hastymail2/plugins/html_mail/tiny_mce/plugins/spellchecker/classes/PSpellShell.php 2012-11-29 23:30:08 UTC (rev 2129) @@ -110,7 +110,7 @@ if (preg_match("#win#i", php_uname())) return "$bin -a --lang=$lang --encoding=utf-8 -H < $file 2>&1"; - return "cat $file | $bin -a --lang=$lang --encoding=utf-8 -H"); + return "cat $file | $bin -a --lang=$lang --encoding=utf-8 -H"; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-29 18:49:33
|
Revision: 2128 http://hastymail.svn.sourceforge.net/hastymail/?rev=2128&view=rev Author: sailfrog Date: 2012-11-29 18:49:27 +0000 (Thu, 29 Nov 2012) Log Message: ----------- httponly cookie flag is only supported in php version 5.2+ Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-28 14:40:45 UTC (rev 2127) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-29 18:49:27 UTC (rev 2128) @@ -830,10 +830,13 @@ $this->random_session_id = false; } function set_ini_vals($use_cookies, $path, $secure) { + global $phpversion; if ($use_cookies) { @ini_set('session.use_cookies', 1); @ini_set('session.use_trans_sid', 0); - @ini_set('session.cookie_httponly', 1); + if ($phpversion >= 5.2) { + @ini_set('session.cookie_httponly', 1); + } @ini_set('session.cookie_path', $path); @ini_set('session.cookie_secure', $secure); session_name($this->cookie_name); @@ -847,6 +850,7 @@ function start_session() { global $user; global $conf; + global $phpversion; @ini_set('arg_separator.output', '&'); $this->set_ini_vals($user->use_cookies, $user->cookie_path, $user->cookie_secure); @session_start(); @@ -858,7 +862,12 @@ $_SESSION['browser_fingerprint'] = build_browser_fingerprint(); if ($user->use_cookies) { $_SESSION['hm_int_id'] = build_internal_id(); - setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure, true); + if ($phpversion >= 5.2) { + setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure, true); + } + else { + setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure); + } } } function check_basic_auth() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-28 14:40:57
|
Revision: 2127 http://hastymail.svn.sourceforge.net/hastymail/?rev=2127&view=rev Author: sailfrog Date: 2012-11-28 14:40:45 +0000 (Wed, 28 Nov 2012) Log Message: ----------- fix log warning issued when the hm_int_id cookie is missing Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-28 14:33:34 UTC (rev 2126) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-28 14:40:45 UTC (rev 2127) @@ -1112,7 +1112,7 @@ } $_SESSION['hm_version'] = $hastymail_version; if (!$this->logout && $user->use_cookies) { - if ($_COOKIE['hm_int_id'] != $_SESSION['hm_int_id']) { + if (!isset($_COOKIE['hm_int_id']) || $_COOKIE['hm_int_id'] != $_SESSION['hm_int_id']) { sleep(1); $this->logged_in = false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-28 14:33:45
|
Revision: 2126 http://hastymail.svn.sourceforge.net/hastymail/?rev=2126&view=rev Author: sailfrog Date: 2012-11-28 14:33:34 +0000 (Wed, 28 Nov 2012) Log Message: ----------- F5 refresh was being trapped and the keycode translated to "T" for some reason. Exclude keycode 116 (F5) until we figure out what is broken Modified Paths: -------------- trunk/hastymail2/plugins/accesskey/work.php Modified: trunk/hastymail2/plugins/accesskey/work.php =================================================================== --- trunk/hastymail2/plugins/accesskey/work.php 2012-11-28 14:27:11 UTC (rev 2125) +++ trunk/hastymail2/plugins/accesskey/work.php 2012-11-28 14:33:34 UTC (rev 2126) @@ -118,6 +118,7 @@ code = event.which; } if (code) { + if (code == 116) { return; } var char = String.fromCharCode(code).toUpperCase(); var page_char = page+char; var page_code = page+code; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-28 14:27:22
|
Revision: 2125 http://hastymail.svn.sourceforge.net/hastymail/?rev=2125&view=rev Author: sailfrog Date: 2012-11-28 14:27:11 +0000 (Wed, 28 Nov 2012) Log Message: ----------- more connection dropped handling improvements, this time to limit warnings from feof() Modified Paths: -------------- trunk/hastymail2/lib/imap_class.php Modified: trunk/hastymail2/lib/imap_class.php =================================================================== --- trunk/hastymail2/lib/imap_class.php 2012-11-27 19:04:15 UTC (rev 2124) +++ trunk/hastymail2/lib/imap_class.php 2012-11-28 14:27:11 UTC (rev 2125) @@ -169,7 +169,7 @@ $n = -1; do { $n++; - if (feof($this->handle)) { + if (!is_resource($this->handle) || feof($this->handle)) { break; } $result[$n] = $this->fgets($line_length); @@ -179,7 +179,7 @@ break; } while(substr($result[$n], -2) != "\r\n" && substr($result[$n], -1) != "\n") { - if (feof($this->handle)) { + if (!is_resource($this->handle) || feof($this->handle)) { break; } $result[$n] .= $this->fgets($line_length); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-27 19:04:27
|
Revision: 2124 http://hastymail.svn.sourceforge.net/hastymail/?rev=2124&view=rev Author: sailfrog Date: 2012-11-27 19:04:15 +0000 (Tue, 27 Nov 2012) Log Message: ----------- better external image replacement regex Modified Paths: -------------- trunk/hastymail2/lib/misc_functions.php Modified: trunk/hastymail2/lib/misc_functions.php =================================================================== --- trunk/hastymail2/lib/misc_functions.php 2012-11-27 18:12:40 UTC (rev 2123) +++ trunk/hastymail2/lib/misc_functions.php 2012-11-27 19:04:15 UTC (rev 2124) @@ -814,7 +814,7 @@ } } if ($image_replace) { - $regex = "/((background|src))=(\"|'|)((http|ftp|rtsp)s?:\/\/|\/)[^\s]+(\"|'|)/im"; + $regex = "/((background|src))=\s*(\"|'|)\s*((http|ftp|rtsp)s?:\/\/|\/)[^\s]+\s*(\"|'|)/im"; if (preg_match_all($regex, $string, $matches)) { $outside_sources = $matches[0]; $replaced = count($outside_sources); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-27 18:12:51
|
Revision: 2123 http://hastymail.svn.sourceforge.net/hastymail/?rev=2123&view=rev Author: sailfrog Date: 2012-11-27 18:12:40 +0000 (Tue, 27 Nov 2012) Log Message: ----------- testing fixes to IMAP connection handling on server side error situations Modified Paths: -------------- trunk/hastymail2/lib/imap_class.php Modified: trunk/hastymail2/lib/imap_class.php =================================================================== --- trunk/hastymail2/lib/imap_class.php 2012-11-26 16:17:47 UTC (rev 2122) +++ trunk/hastymail2/lib/imap_class.php 2012-11-27 18:12:40 UTC (rev 2123) @@ -169,7 +169,7 @@ $n = -1; do { $n++; - if (!is_resource($this->handle)) { + if (feof($this->handle)) { break; } $result[$n] = $this->fgets($line_length); @@ -179,7 +179,7 @@ break; } while(substr($result[$n], -2) != "\r\n" && substr($result[$n], -1) != "\n") { - if (!is_resource($this->handle)) { + if (feof($this->handle)) { break; } $result[$n] .= $this->fgets($line_length); @@ -2358,7 +2358,7 @@ } } function fgets($len=false) { - if (is_resource($this->handle)) { + if (is_resource($this->handle) && !feof($this->handle)) { if ($len) { return fgets($this->handle, $len); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-26 16:17:58
|
Revision: 2122 http://hastymail.svn.sourceforge.net/hastymail/?rev=2122&view=rev Author: sailfrog Date: 2012-11-26 16:17:47 +0000 (Mon, 26 Nov 2012) Log Message: ----------- translation fixes for the calendar plugin thanks to Jesus Marin Modified Paths: -------------- trunk/hastymail2/plugins/calendar/config.php Modified: trunk/hastymail2/plugins/calendar/config.php =================================================================== --- trunk/hastymail2/plugins/calendar/config.php 2012-11-26 16:14:25 UTC (rev 2121) +++ trunk/hastymail2/plugins/calendar/config.php 2012-11-26 16:17:47 UTC (rev 2122) @@ -95,7 +95,7 @@ ), 'es_ES' => array( 1 => 'Calendario', - 2 => 'Enerio', + 2 => 'Enero', 3 => 'Febrero', 4 => 'Marzo', 5 => 'Abril', @@ -121,7 +121,7 @@ 25 => 'Semanálmente', 26 => 'Diariamente', 27 => 'Añadir', - 28 => 'Mostrar resumen de evetos bajo lista de carpetas', + 28 => 'Mostrar resumen de eventos bajo lista de carpetas', ), 'pl_PL' => array( 1 => 'Kalendarz', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-26 16:14:35
|
Revision: 2121 http://hastymail.svn.sourceforge.net/hastymail/?rev=2121&view=rev Author: sailfrog Date: 2012-11-26 16:14:25 +0000 (Mon, 26 Nov 2012) Log Message: ----------- updated Japanese interface translation and example configuration file thanks to Takao Abe Modified Paths: -------------- trunk/hastymail2/contrib/hastymail2.conf.example-JP trunk/hastymail2/lang/ja_JP.php Modified: trunk/hastymail2/contrib/hastymail2.conf.example-JP =================================================================== --- trunk/hastymail2/contrib/hastymail2.conf.example-JP 2012-11-26 16:08:34 UTC (rev 2120) +++ trunk/hastymail2/contrib/hastymail2.conf.example-JP 2012-11-26 16:14:25 UTC (rev 2121) @@ -31,7 +31,12 @@ # http_prefix # ----------- - # Set to https if your site is running over SSL/TLS + # set to http or https to force visitors to use one or the other. Useful if + # for some reason hastymail can't automatically detect SSL (could happen + # with some obscure web server software). This will ONLY force users to a more + # secure connection so if they connect via https and this is set to http it is + # ignored (also the forcing up to https happens on the next page load, it will not + # cause a redirect) http_prefix = http @@ -49,6 +54,7 @@ settings_path = /var/hastymail2/user_settings/ + # IMAP SETTINGS # ------------------------------------------------------------------------ # The following options are available to configure Hastymail to work with @@ -68,7 +74,7 @@ # ----------- # Hostname or IP address of the IMAP server -imap_server = localhost +imap_server = imapserver.example.jp # imap_read_only # -------------- @@ -187,12 +193,26 @@ # ------------------- # IMAP search commands can contain an optional charset. If you have problems # with the search page or the filters plugin changing this might help. - # Available options are utf-8, ascii, or you can leave this blank to + # Available options are UTF-8, US-ASCII, or you can leave this blank to # omit the charset option from searches completely. -imap_search_charset = utf-8 +imap_search_charset = + # imap_use_namespaces + # ------------------ + # To enable support for the IMAP NAMESPACE extension change the following to + # true. This will allow Hastymail to automatically discover any available + # namespaces +imap_use_namespaces = false + + # imap_enable_proxyauth + # --------------------- + # Enable IMAP proxy authentication mechanism + +imap_enable_proxyauth = false + + # ALTERNATE IMAP SERVER SETTINGS # ------------------------------------------------------------------------ # Hastymail can support logging into multiple IMAP acccounts using the following @@ -225,9 +245,12 @@ # smtp_server # ---------- - # SMTP server ip address or hostname + # SMTP server ip address or hostname. If the $smtp_server_pool variable in + # the index.php file is set to true, this can be a comma separated list + # of SMTP servers that will get tried in a random order until one can + # be successfully connected to. -smtp_server = localhost +smtp_server = smtpserver.example.jp # smtp_port # --------- @@ -390,21 +413,38 @@ site_ajax_enabled = true + # http_content_header + # ---------------------- + # Hastymail outputs valid W3C XHTML. Because of this it is possible to use + # the application/xhtml-xml content header. This allows browsers to more + # effeciently parse the page as XML instead of HTML. If however a page contains + # even one entity or tag structure problem the browser will return an XML parse + # error instead of rendering the page. To enable the application/xhmtl-xml header + # change the following to xhtml, otherwise leave as html + +http_content_header = html + # site_default_lang # ----------------- # The default language for users who don't have a language set in their # options. Available languages are: # + # bg_BG Bulgarian # ca_ES Catalan + # de_DE German # en_US English # es_ES Spanish # fi_FI Finnish # fr_FR French + # it_IT Italian + # ja_JP Japanese # nl_NL Dutch + # pl_PL Polish + # ro_RO Romanian + # ru_RU Russian # tr_TR Turkish # uk_UA Ukranian # zh_CN Chinese - # ja_JP Japanese site_default_lang = ja_JP @@ -414,7 +454,7 @@ # options. This only works with PHP5. If you are running PHP4 it should # be set to false -site_default_timezone = false +site_default_timezone = Asia/Tokyo # site_page_title # --------------- @@ -432,14 +472,6 @@ search_max = 3 - # html_squish - # ----------- - # This removes any extra whitespace and newlines from the final XHTML - # before sending it to the browser. It makes the page slightly smaller - # at the cost of source readablity and a few string_replace functions. - -html_squish = true - # html_message_iframe # ------------------- # poorly formatted HTML messages can break the Hastymail layout. To @@ -460,6 +492,14 @@ use_cookies = true + # no_simplemode_cookies + # ------------ + # Hastymail can use the PHP trans-sid ability to do login sessions + # only for users logging into the simple mode version of the interface + # by setting the following to true + +no_simplemode_cookies = false + # cookie_name # ----------- # This is the name of the cookie used to manage your PHP session when @@ -533,46 +573,121 @@ logout_url = false + # alt_imap_profiles + # ----------------- + # This setting only effects sites with multiple IMAP server logins. When set + # to true each IMAP server entry can have a default email address format + # (alt_1_default_email_address for example). When logging in if no profile exists + # with this default email address one will be created and assigned as the default + # profile. +alt_imap_profiles = false + + # trim_login_fields + # -------------- + # To avoid accidentally including extra white-space in the username and + # password fields when logging in set the following to true + +trim_login_fields = false + + # PLUGINS # ------------------------------------------------------------------------ # Every enabled plugin should be listed on a single line preceded by plugin =. # Plugin information is cached during login so adding and removing plugins # requires users to logout then back in to see the changes -# example plugin with lost of comments -#plugin = hello_world +# Adds address auto-complete ability to the compose page +plugin = auto_address # Adds 3 javascript warning options to the compose page plugin = compose_warning -# adds a custom header option to the compose page (very basic) -#plugin = custom_headers +# add extended help to the options page that uses javascript/AJAX +# when settings are moused over +plugin = js_help -# adds a basic calender app to the menu (no scheduling support yet) -#plugin = calendar +# simple plugin that uses javascript to show/hide user messages +plugin = js_notice +# changes the "Sign" button on the compose page to use javascript +# to insert the signature at the current cursor position +plugin = js_sign + # adds a "compose with HTML" option on the options page and replaces # the textarea on the compose page with tinymce -#plugin = html_mail +plugin = html_mail -# adds support to integrate an LDAP addressbook into the compose page -#plugin = ldap_addressbook - # adds the ability to filter messages to other folders based on content -#plugin = filters +plugin = filters -# add the ability to log activity with many different options -#plugin = logger - # add the ability to play a sound file or pop open a window when a new # message arrives -#plugin = notices +plugin = notices # adds an rss/atom news feed page -#plugin = news +plugin = news +# adds a toolbar to the message view page that enables quick searches of +# selected text +plugin = context +# adds support for downloading uuencoded attachments +plugin = uuencode + +# adds a custom header option to the compose page +#plugin = custom_headers + +# adds a custom reply-to field to the compose page +plugin = custom_reply_to + +# adds a calendar application. Datebase support required for event storage +#plugin = calendar + +# adds support for displaying mailbox quotas +#plugin = quota + +# allows sites to map the username logged in with to a different username +# for the IMAP server +#plugin = login_alias + +# add the ability to log activity with many different options +#plugin = logger + +# adds support to integrate an LDAP addressbook into the compose page +#plugin = ldap_addressbook + +# adds support for selecting the sent mail folder from compose page +plugin = move_sent + +# adds enhanced message digest and rfc822 attachment navigation +plugin = message_digest + +# adds a feature that can fetch mail from pop3 accounts and deliver them +# into the specified local IMAP folder +#plugin = pop_fetch + +# adds the ability to save and rerun searches on the search page +plugin = saved_search + +# adds the current username to the top of each page +#plugin = username + +# adds support for tagging messages +plugin = message_tags + +# adds support for a designated spam folder +#plugin = spam_folder + +# adds methods to select multiple messages quickly +plugin = select_range + +# adds a display mode switch link to the main menu +#plugin = display_switch + +# example plugin with lost of comments +#plugin = hello_world + # THEMES # ------------------------------------------------------------------------ # Every enabled theme should be listed on a single line precded by theme =. @@ -582,11 +697,16 @@ theme = default,true,true,true theme = green,true,true,false -theme = buuf,true,true,false +theme = buuf,true,true,true theme = buuf_deuce,true,true,false theme = dark,true,true,false theme = albook_sepia,true,true,true theme = aqua,true,true,false +theme = newstyle,true,true,true +theme = moss,true,true,false +theme = tango,true,true,false +theme = dark_gray,true,true,false +theme = clean,true,true,true # DEBUG @@ -616,6 +736,15 @@ show_full_debug = false + # show_smtp_debug + # --------------- + # This will output a list of SMTP commands and responses from the SMTP + # server. Only applicable when sending mail is attempted. If you are having + # problems sending mail change this to true to see what the SMTP server and + # Hastymail are saying to each other. + +show_smtp_debug = false + # show_cache_usage # ---------------- # This outputs a small estimation of the amount of memory being used by @@ -651,7 +780,7 @@ # The "percent_d_host" option in the SITE SETTINGS section # must be properly set for the %d option to work -default_email_address = %u...@ha... +default_email_address = %u...@ex... # theme name @@ -663,7 +792,7 @@ # timezone (PHP5 only) -default_timezone = Japan +default_timezone = Asia/Tokyo # first page after login. @@ -680,7 +809,7 @@ # Show the folder list/tree -default_show_folder_list = false +default_show_folder_list = true # auto switch to simple mode when the browser is on a PDA/phone/text @@ -696,7 +825,7 @@ # time format for the clock -default_time_format = h:i +default_time_format = H:i # date format for the clock @@ -710,7 +839,32 @@ default_mailbox_date_format = Y-m-d + # Default page to load after logging in. +default_start_page = false + + # Disable the js highlighting of selected rows + +default_disable_checked_js = false + + # Disable the folder icons in the folder tree + +default_disable_folder_icons = false + + # Disable the read/unread icons in message lists + +default_disable_list_icons = false + + # Hide messages with the deleted flag set + +default_hide_deleted_messages = false + + # enable an icon in messages lists to selectively read messages in a new window + +default_new_window_icon = true + + + # FOLDER OPTIONS # --------------- # @@ -739,7 +893,12 @@ default_folder_list_ajax = false + # Limit the folder list to only folders that are subscribed +default_subscribed_only = false + + + # MESSAGE VIEW OPTIONS # -------------------- @@ -786,7 +945,16 @@ default_default_message_action = false + # Limit the message parts display to exclude alternative parts +default_short_message_parts = true + + # Read messages in a new window by default + +default_message_window = false + + + # MAILBOX VIEW OPTIONS # -------------------- @@ -813,9 +981,24 @@ # page links above and below -default_top_page_links = false +default_top_page_link = false + # Trim from fields to this many characters (0 is unlimited) +default_trim_from_fld = 0 + + # Trim subject fields to this many characters (0 is unlimited) + +default_trim_subject_fld = 0 + + # Show the "Operate on" dialog on mailbox pages + +default_full_mailbox_option = true + + # Use AJAX to update the mailbox view when new messages are detected + +default_mailbox_update = true + # NEW PAGE OPTIONS # ---------------- @@ -852,7 +1035,20 @@ default_compose_autosave = 120 + # Delete associated draft when sending a message +default_delete_draft = false + + # Compose in a new browser window + +default_compose_window = false + + # Close the compose window automatically after sending + +default_close_on_send = false + + + # PLUGIN DEFAULTS # ------------------------------- @@ -871,3 +1067,68 @@ # compose using html format default_html_format_mail = false + + # Number of auto-completed addresses to display + +default_auto_address_max_results = 10 + + # Number of letters entered before auto-complete starts + +default_auto_address_min_chars = 2 + + # Fields to auto-complete on. 3 is both name and e-mail + +default_auto_address_search_fld = 3 + + # Set to true to limit the autocomplete to only the local addressbook + +default_auto_address_source_type = false + + # Show an event summary link on the folder tree for the calendar + +default_calendar_event_summary = false + + # Enable the custom header field display on the compose page + +default_custom_header_enabled = false + + # Default font family used by tinyMCE + +default_html_font_family = Arial + + # Default font size used by tinyMCE + +default_html_font_size = small + + # Display a link to toggle HTML/text mode on the compose page + +default_html_mode_toggle = true + + # Enable the move sent display on the compose page + +default_move_sent_enabled = false + + # Enable a pop up window when a new message arrives + +default_notices_enable_popup = false + + # enable a sound when a new message arrives + +default_notices_enable_sound = false + + # Sound file to play when a new message arrives, options are elk.mp3, elephant.mp3, + # frog.mp3, loon.mp3, rsnake.mp3, apmail.mp3, havemail.mp3, carlin.mp3, worf.mp3 + +default_notices_sound_file = false + + # Enable quota display on the folder list + +default_quota_display = false + + # Enable the enhanced message digest display on the message view page + +default_enable_digest_display = true + + # Enable the custom reply to field on the compose page + +default_custom_reply_to_enabled = false Modified: trunk/hastymail2/lang/ja_JP.php =================================================================== --- trunk/hastymail2/lang/ja_JP.php 2012-11-26 16:08:34 UTC (rev 2120) +++ trunk/hastymail2/lang/ja_JP.php 2012-11-26 16:14:25 UTC (rev 2121) @@ -345,7 +345,7 @@ 317 => '次のメール', // Next 318 => '前のメッセージ部分', // Previous message part 319 => '次のメッセージ部分', // Next message part - 320 => 'Close', + 320 => '閉じる', // Close 321 => 'Page', // 9 322 => 'Viewing message', 323 => '次頁', // Next page @@ -417,9 +417,9 @@ 389 => 'No response found', 390 => 'Maximum read length exceeded, the message was truncated', 391 => 'Outgoing mail is DISABLED until a profile is setup. You can add one at the Profile page', - 392 => 'Corrupt settings file detected', - 393 => 'No database connection found', - 394 => 'Corrupt settings in in database<br />Table row ID', + 392 => '不適切な設定があるファイルが検出されました', // Corrupt settings file detected + 393 => 'データベースとの接続がありません', // No database connection found + 394 => '不適切な設定がデータベース内で検出されました', // Corrupt settings in in database<br />Table row ID 395 => 'このフォルダーは、変更禁止です', // This folder is currently frozen 396 => '参照モードでは、その操作できません', // Operation not permitted in read-only mode 397 => 'メールを既読にしました', // Messages read @@ -444,7 +444,7 @@ 416 => 'All sources', 417 => '更新チェック中...', // Checking for updates... 418 => 'メール・ボックスが更新されました', // Mailbox change detected - 419 => 'Search results', + 419 => '検索結果', // Search results 420 => '全て削除', // Empty Trash 421 => '削除フォルダーのメールを削除します。\nよろしいですか?', // Are you sure you want to empty the trash folder? 422 => '選択されたメールを完全削除します。\nよろしいですか?', // Are you sure you want to expunge the selected message(s)? @@ -455,14 +455,13 @@ 427 => 'ログアウト時にINBOXを空にする', // Expunge INBOX on logout 428 => 'No Action', 429 => 'HTML中の外部リンク画像を表示する', // Show external images in HTML by default - 430 => 'メールのデフォルト処理', // Default message action + 430 => 'メールのデフォルト処理', // Default message action 431 => '=', // On // in the advanced search date range dialog 432 => 'メールボックスは空です', // Mailbox is Empty 433 => '復活', // Undelete 434 => '指定したフォルダーのみ表示する', // Only display subscribed folders 435 => '前頁次頁のリンクを一覧の上下に表示する', // Show page links above and below message list - 436 => 'INBOX', - + 436 => 'INBOX', 437 => 'Let the browser wrap text messages', 438 => '復活するメールを選択して下さい', // Message to undelete 439 => '削除するメールを選択して下さい', // Message to delete @@ -475,102 +474,102 @@ 446 => '移動するメールを選択して下さい', // Message to move 447 => '削除されたメールを非表示にする', // Hide deleted messages 448 => '送信後にドラフトを削除する', // Delete resumed drafts after sending - 449 => 'Website', + 449 => 'Website', // Retain English for "About" 450 => '新しいウィンドウでメールを作成する', // Compose messages in a new window 451 => '新しいウィンドウでメールを読む', // Read messages in a new window 452 => 'Previous + Action', 453 => 'Next + Action', 454 => 'Up to Mailbox + Action', - 455 => 'Minimize message parts display', + 455 => 'メッセージ部分の最小表示', // Options: Message view options // Minimize message parts display 456 => 'Show All', 457 => 'Show Minimal', - 458 => 'WARNING: The message controls will now operate on the ALL the messages in this mailbox', - 459 => 'Entire Mailbox', - 460 => 'Selected', - 461 => 'Show "Entire Mailbox" option in the message controls', - 462 => 'Operate on', - 463 => 'Sending Message...', - 464 => '%s minute ago', - 465 => '%s minutes ago', - 466 => '%s hour ago', - 467 => '%s hour, %s minute ago', - 468 => '%s hour, %s minutes ago', - 469 => '%s hours ago', - 470 => '%s hours, %s minute ago', - 471 => '%s hours, %s minutes ago', - 472 => '%s day ago', - 473 => '%s day, %s minute ago', - 474 => '%s day, %s minutes ago', - 475 => '%s day, %s hour ago', - 476 => '%s day, %s hours ago', - 477 => '%s days ago', - 478 => '%s days, %s minute ago', - 479 => '%s days, %s minutes ago', - 480 => '%s days, %s hour ago', - 481 => '%s days, %s hours ago', - 482 => '%s year ago', - 483 => '%s year, %s minute ago', - 484 => '%s year, %s minutes ago', - 485 => '%s year, %s hour ago', - 486 => '%s year, %s hours ago', - 487 => '%s year, %s day ago', - 488 => '%s year, %s days ago', - 489 => '%s years ago', - 490 => '%s years, %s minute ago', - 491 => '%s years, %s minutes ago', - 492 => '%s years, %s hour ago', - 493 => '%s years, %s hours ago', - 494 => '%s years, %s day ago', - 495 => '%s years, %s days ago', - 496 => 'Just now', - 497 => 'Refresh the list when the folders are updated', - 498 => 'Do not show the read/unread messsage list icons', - 499 => 'Do not show the folder list icons', + 458 => '注意:操作対象は、メール・ボックスの全てのメッセージが対象になります', // WARNING: The message controls will now operate on the ALL the messages in this mailbox + 459 => 'Mailbox内', // Entire Mailbox + 460 => '表示ページ内', // Selected + 461 => 'メール・ボックスの全メールを表示するボタンを表示する', // Options: Mailbox view options // Show "Entire Mailbox" option in the message controls + 462 => '操作範囲', // Operate on + 463 => '送信中', // Sending Message... + 464 => '%s分前', // %s minute ago + 465 => '%s分前', // %s minutes ago + 466 => '%s時間前', // %s hour ago + 467 => '%s時間 %s分前', // %s hour, %s minute ago + 468 => '%s時間 %s分前', // %s hour, %s minutes ago + 469 => '%s時間前', // %s hours ago + 470 => '%s時間 %s分前', // %s hours, %s minute ago + 471 => '%s時間 %s分前', // %s hours, %s minutes ago + 472 => '%s日前', // %s day ago + 473 => '%s日 %s分前', // %s day, %s minute ago + 474 => '%s日 %s分前', // %s day, %s minutes ago + 475 => '%s日 %s時間前', // %s day, %s hour ago + 476 => '%s日 %s時間前', // %s day, %s hours ago + 477 => '%s日前', // %s days ago + 478 => '%s日 %s分前', // %s days, %s minute ago + 479 => '%s日 %s分前', // %s days, %s minutes ago + 480 => '%s日 %s時間前', // %s days, %s hour ago + 481 => '%s日 %s時間前', // %s days, %s hours ago + 482 => '%s年前', // %s year ago + 483 => '%s年 %s分前', // %s year, %s minute ago + 484 => '%s年 %s分前', // %s year, %s minutes ago + 485 => '%s年 %s時間前', // %s year, %s hour ago + 486 => '%s年 %s時間前', // %s year, %s hours ago + 487 => '%s年 %s日前', // %s year, %s day ago + 488 => '%s年 %s日前', // %s year, %s days ago + 489 => '%s年前', // %s years ago + 490 => '%s年 %s分前', // %s years, %s minute ago + 491 => '%s年 %s分前', // %s years, %s minutes ago + 492 => '%s年 %s時間前', // %s years, %s hour ago + 493 => '%s年 %s時間前', // %s years, %s hours ago + 494 => '%s年 %s日前', // %s years, %s day ago + 495 => '%s年 %s日前', // %s years, %s days ago + 496 => '今少し前', // Just now + 497 => 'フォルダーが更新されたときにリストを最新表示する', // Refresh the list when the folders are updated + 498 => '既読・未読のアイコンを非表示にする', // Options: General Options // Do not show the read/unread messsage list icons + 499 => 'フォルダーのアイコンを非表示にする', // Options: General Options // Do not show the folder list icons 500 => 'Unknown', - 501 => 'Show All', - 502 => 'Show Pages', + 501 => '全て表示', // Show All + 502 => 'ページ表示', // Show Pages 503 => 'Opening mailbox', - 504 => 'Disable selected message highlighting', - 505 => 'Could not connect to the IMAP server', - 506 => 'Add Group', - 507 => 'Edit Group', - 508 => 'Members', - 509 => 'No groups found', - 510 => 'Group Name', - 511 => 'Existing Groups', - 512 => 'Groups', - 513 => 'Group Updated', - 514 => 'Added %s contacts to group', - 515 => 'Added %s contact to group', - 516 => 'Removed %s contacts from group', - 517 => 'Removed %s contact from group', - 518 => 'Maximum length of the From field (0 for unlimited)', - 519 => 'A group with that name already exists', + 504 => '選択されたメッセージの強調表示を無効にする', // Options: General Options // Disable selected message highlighting + 505 => 'IMAPサーバーに接続できません', // Could not connect to the IMAP server + 506 => '新規追加グループ', // Contacts // Add Group + 507 => 'グループの編集', // Contacts // Edit Group + 508 => 'メンバー', // Contacts // Members + 509 => 'グループなし', // Contacts // No groups found + 510 => 'グループ名', // Contacts // Group Name + 511 => '登録済みグループ', // Contacts // Existing Groups + 512 => 'グループ', // Groups + 513 => 'グループを更新しました', // Group Updated + 514 => 'グループに連絡先を%sつ追加しました', // Added %s contacts to group + 515 => 'グループに連絡先を%sつ追加しました', // Added %s contact to group + 516 => 'グループから連絡先を%sつ削除しました', // Removed %s contacts from group + 517 => 'グループから連絡先を%sつ削除しました', // Removed %s contact from group + 518 => 'Fromの折り返し表示文字数(0は無制限)', // Options: Mailbox view options // Maximum length of the From field (0 for unlimited) + 519 => 'グループ名は登録済みです', // A group with that name already exists 520 => 'Close new window after sending', 521 => 'Show', 522 => 'Hide', - 523 => 'Maximum length of the Subject field (0 for unlimited)', + 523 => 'Subjectの折り返し表示文字数(0は無制限)', // Options: Mailbox view options // Maximum length of the Subject field (0 for unlimited) 524 => 'No Subject', - 525 => 'Are you sure you want to expunge this mailbox?', + 525 => 'メール・ボックスを削除します。\nよろしいですか?', // Are you sure you want to expunge this mailbox? 526 => 'Link', 527 => 'Email', - 528 => 'Could not open the selected message part', - 529 => 'Could not find a viewable message part', - 530 => 'Open in a new window', - 531 => 'Show open in new window icons in message lists', - 532 => 'Hastymail2 has been updated to a new version: %s', - 533 => 'PHP5 utility module enabled', - 534 => 'Yes', - 535 => 'No', - 536 => '30 Seconds', - 537 => 'Unread: %s', /* unread page link on the main menu, the %s is the number of unread messages */ + 528 => '選択したメッセージ部分を表示できません', // Could not open the selected message part + 529 => '表示可能なメッセージ部分が見つかりません', // Could not find a viewable message part + 530 => '別ウィンドウで内容表示', // Open in a new window + 531 => 'メッセージ・リストに新しいウィンドウを開くアイコンを表示する', // Options: General Options // Show open in new window icons in message lists + 532 => 'Hastymail2 が、バージョン %s に更新されています', // Hastymail2 has been updated to a new version: %s + 533 => 'PHP5 utility module enabled', // Retain English for "About" + 534 => 'Yes', // Retain English for "About" + 535 => 'No', // Retain English for "About" + 536 => '30秒', // 30 Seconds + 537 => '未読: %s', // Unread: %s /* unread page link on the main menu, the %s is the number of unread messages */ 538 => 'To', /* As in "into" */ - 539 => 'Unable to save sent message', + 539 => '送信したメッセージが保存できませんでした', // Unable to save sent message 540 => 'Attach', /* As "forward as attachment" */ - 541 => 'Found %s messages in %s folders', - 542 => 'Hide External Images', - 543 => 'Show External Images', - 544 => '%s external images replaced', + 541 => '%s メッセージが、%s フォルダーに見つかりました', // Found %s messages in %s folders + 542 => '外部の画像を表示しない', // Hide External Images + 543 => '外部の画像を表示する', // Show External Images + 544 => '%s個の外部の画像を置き換えました' // %s external images replaced ); return $strings; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-26 16:08:46
|
Revision: 2120 http://hastymail.svn.sourceforge.net/hastymail/?rev=2120&view=rev Author: sailfrog Date: 2012-11-26 16:08:34 +0000 (Mon, 26 Nov 2012) Log Message: ----------- testing a fix for not catching an untagged bye response from the IMAP server which can happen when there is a server side error. Modified Paths: -------------- trunk/hastymail2/lib/imap_class.php Modified: trunk/hastymail2/lib/imap_class.php =================================================================== --- trunk/hastymail2/lib/imap_class.php 2012-11-13 21:26:26 UTC (rev 2119) +++ trunk/hastymail2/lib/imap_class.php 2012-11-26 16:08:34 UTC (rev 2120) @@ -228,6 +228,9 @@ $chunked_result[$c] = $chunks; } } + if (substr(strtoupper($result[$n]), 0, 6) == '* BYE ') { + break; + } } while (substr($result[$n], 0, strlen('A'.$this->command_count)) != 'A'.$this->command_count); $this->responses[] = $result; if ($chunked) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-13 21:26:33
|
Revision: 2119 http://hastymail.svn.sourceforge.net/hastymail/?rev=2119&view=rev Author: sailfrog Date: 2012-11-13 21:26:26 +0000 (Tue, 13 Nov 2012) Log Message: ----------- couple useful ids and added the proper HTTP content type header to image thumbnail previews Modified Paths: -------------- trunk/hastymail2/lib/url_action_classes/message.php Modified: trunk/hastymail2/lib/url_action_classes/message.php =================================================================== --- trunk/hastymail2/lib/url_action_classes/message.php 2012-11-13 21:21:45 UTC (rev 2118) +++ trunk/hastymail2/lib/url_action_classes/message.php 2012-11-13 21:26:26 UTC (rev 2119) @@ -289,6 +289,7 @@ imagealphablending($im2, false); imagesavealpha($im2, true); imagecopyresampled($im2, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height); + header('Content-Type: image/png'); imagepng($im2); } $imap->disconnect(); @@ -1126,7 +1127,7 @@ $data .= '<table class="mprev_next" cellpadding="0" cellspacing="0"><tr><td>'; $data .= '<span class="message_parts_heading"><a href="'.$sticky_url.'#parts">'.$this->user->str[80].'</a></span></td><td>'; if ($prev_part) { - $data .= '<a href="?page=message&uid='.$this->pd['message_uid'].'&sort_by='.$this->pd['sort_by']. + $data .= '<a id="prev_msg_link" href="?page=message&uid='.$this->pd['message_uid'].'&sort_by='.$this->pd['sort_by']. '&filter_by='.$this->pd['filter_by'].'&mailbox='.urlencode($this->pd['mailbox']). '&message_part='.$prev_part.$this->pd['new_window_arg'].$smp_arg. '"><span class="pbutton"> </span></a>'; @@ -1136,7 +1137,7 @@ } $data .= '</td><td>'; if ($next_part) { - $data .= '<a href="?page=message&uid='.$this->pd['message_uid'].'&sort_by='.$this->pd['sort_by']. + $data .= '<a id="next_msg_link" href="?page=message&uid='.$this->pd['message_uid'].'&sort_by='.$this->pd['sort_by']. '&filter_by='.$this->pd['filter_by'].'&mailbox='.urlencode($this->pd['mailbox']). '&message_part='.$next_part.$this->pd['new_window_arg'].$smp_arg. '"><span class="nbutton"> </span></a>'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-13 21:21:52
|
Revision: 2118 http://hastymail.svn.sourceforge.net/hastymail/?rev=2118&view=rev Author: sailfrog Date: 2012-11-13 21:21:45 +0000 (Tue, 13 Nov 2012) Log Message: ----------- access key plugin updates Modified Paths: -------------- trunk/hastymail2/plugins/accesskey/work.php Modified: trunk/hastymail2/plugins/accesskey/work.php =================================================================== --- trunk/hastymail2/plugins/accesskey/work.php 2012-11-12 14:35:29 UTC (rev 2117) +++ trunk/hastymail2/plugins/accesskey/work.php 2012-11-13 21:21:45 UTC (rev 2118) @@ -26,65 +26,89 @@ function accesskey_init($tools) { $tools->add_js_event_handler('document', 'onkeyup', 'access_keys_check'); $tools->disable_xhtml_http_header(); - if ($tools->get_setting('compose_window')) { - $new_window = true; + if ($tools->get_setting('compose_window') || $tools->is_new_window()) { + $new_window = 1; } else { - $new_window = false; + $new_window = 0; } + $special_folders = array(); + if ($trash = $tools->get_setting('trash_folder')) { + $special_folders['T'] = urlencode($trash); + } + if ($drafts = $tools->get_setting('draft_folder')) { + $special_folders['D'] = urlencode($drafts); + } + if ($sent = $tools->get_setting('sent_folder')) { + $special_folders['S'] = urlencode($sent); + } $js_code = ' - function access_keys_check(event) { - var compose_page = function() {document.location.href = "?page=compose";}; + function access_keys_check(event) {'; + foreach ($special_folders as $folder) { + $js_code .= 'var '.strtolower($folder).' = function() {document.location.href = "?page=mailbox&mailbox='.$folder.'";};'; + } + $js_code .= ' + var ak_nwindow = '.$new_window.'; var options_page = function() {document.location.href = "?page=options";}; var folders_page = function() {document.location.href = "?page=folders";}; + var inbox = function() {document.location.href = "?page=mailbox&mailbox=INBOX";}; var new_page = function() {document.location.href = "?page=new";}; + var close = function() { if (ak_nwindow) { window.close(); } }; + var compose_page = function() { + if (ak_nwindow) { alert("hmmm..."); open_window("?page=compose&new_window=1", 900, 950); } + else { document.location.href = "?page=compose&mailbox='.urlencode($tools->get_mailbox()).'"; } + }; + var prev_msg_part = function() { + var href = document.getElementById("prev_msg_link").href; + if (href) { document.location.href = href; } + }; + var next_msg_part = function() { + var href = document.getElementById("next_msg_link").href; + if (href) { document.location.href = href; } + }; var next_msg = function() { var href = document.getElementsByClassName("next_button")[0].parentNode.href; - if (href) { - document.location.href = href; - } + if (href) { document.location.href = href; } }; var prev_msg = function() { var href = document.getElementsByClassName("prev_button")[0].parentNode.href; - if (href) { - document.location.href = href; - } + if (href) { document.location.href = href; } }; var up_to_folder = function() { var href = document.getElementsByClassName("up_button")[0].parentNode.href; - if (href) { - document.location.href = href; - } + if (href) { document.location.href = href; } }; - var forward = function() {'; - if ($new_window) { - $js_code .= 'document.getElementById("forward").onclick();'; - + var forward = function() { + if (ak_nwindow) { document.getElementById("forward").onclick(); } + else { document.location.href = document.getElementById("forward").href; } + }; + var reply = function() { + if (ak_nwindow) { document.getElementById("reply").onclick(); } + else { document.location.href = document.getElementById("reply").href; } + }; + var actions = {'; + foreach ($special_folders as $key => $folder) { + $js_code .= '"'.$key.'" : '.strtolower($folder).','; } - else { - $js_code .= 'document.location.href = document.getElementById("forward").href;'; - } - $js_code .= '}; var reply = function() {'; - if ($new_window) { - $js_code .= 'document.getElementById("reply").onclick();'; - } - else { - $js_code .= 'document.location.href = document.getElementById("reply").href;'; - } - $js_code .= '}; - var actions = { - "C" : compose_page, - "O" : options_page, - "F" : folders_page, - "N" : new_page, - "messageN": next_msg, - "messageP": prev_msg, - "messageU": up_to_folder, - "messageR": reply, - "messageF": forward + $js_code .= ' + "C" : compose_page, + "O" : options_page, + "F" : folders_page, + "N" : new_page, + "I" : inbox, + "messageN" : next_msg, + "messageP" : prev_msg, + "messageU" : up_to_folder, + "messageR" : reply, + "messageF" : forward, + "messageC" : close, + "composeC" : close, + "message39": next_msg_part, + "message37": prev_msg_part }; var elType = document.activeElement.type; - if (elType != "text" && elType != "textarea" && elType != "select") { + if (!elType || (elType != "text" && elType != "textarea" && elType != "radio" && + elType != "submit" && elType.substring(0,6) != "select")) { var page = "'.$tools->get_page().'"; var code = 0; if (event.keyCode) { @@ -96,13 +120,20 @@ if (code) { var char = String.fromCharCode(code).toUpperCase(); var page_char = page+char; + var page_code = page+code; var action = actions[page_char]; if (action) { action(); } else { + action = actions[page_code]; + if (action) { + action(); + } action = actions[char]; - if (action) { action(); } + if (action) { + action(); + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-12 14:35:40
|
Revision: 2117 http://hastymail.svn.sourceforge.net/hastymail/?rev=2117&view=rev Author: sailfrog Date: 2012-11-12 14:35:29 +0000 (Mon, 12 Nov 2012) Log Message: ----------- - fix warning on logout from new extra cookie id check - allow plugins to pass a default return value to get_setting() Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-09 20:03:12 UTC (rev 2116) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-12 14:35:29 UTC (rev 2117) @@ -1111,7 +1111,7 @@ $this->logged_in = false; } $_SESSION['hm_version'] = $hastymail_version; - if ($user->use_cookies) { + if (!$this->logout && $user->use_cookies) { if ($_COOKIE['hm_int_id'] != $_SESSION['hm_int_id']) { sleep(1); $this->logged_in = false; @@ -2073,8 +2073,8 @@ $user->user_action->write_settings(true); } } - function get_setting($name) { - $res = false; + function get_setting($name, $default=false) { + $res = $default; if (isset($_SESSION['user_settings'][$name])) { $res = $_SESSION['user_settings'][$name]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-09 20:03:18
|
Revision: 2116 http://hastymail.svn.sourceforge.net/hastymail/?rev=2116&view=rev Author: sailfrog Date: 2012-11-09 20:03:12 +0000 (Fri, 09 Nov 2012) Log Message: ----------- some more progress on an access keys plugin Modified Paths: -------------- trunk/hastymail2/plugins/accesskey/work.php Modified: trunk/hastymail2/plugins/accesskey/work.php =================================================================== --- trunk/hastymail2/plugins/accesskey/work.php 2012-11-09 20:02:25 UTC (rev 2115) +++ trunk/hastymail2/plugins/accesskey/work.php 2012-11-09 20:03:12 UTC (rev 2116) @@ -26,7 +26,13 @@ function accesskey_init($tools) { $tools->add_js_event_handler('document', 'onkeyup', 'access_keys_check'); $tools->disable_xhtml_http_header(); - $tools->add_inline_js(' + if ($tools->get_setting('compose_window')) { + $new_window = true; + } + else { + $new_window = false; + } + $js_code = ' function access_keys_check(event) { var compose_page = function() {document.location.href = "?page=compose";}; var options_page = function() {document.location.href = "?page=options";}; @@ -50,6 +56,22 @@ document.location.href = href; } }; + var forward = function() {'; + if ($new_window) { + $js_code .= 'document.getElementById("forward").onclick();'; + + } + else { + $js_code .= 'document.location.href = document.getElementById("forward").href;'; + } + $js_code .= '}; var reply = function() {'; + if ($new_window) { + $js_code .= 'document.getElementById("reply").onclick();'; + } + else { + $js_code .= 'document.location.href = document.getElementById("reply").href;'; + } + $js_code .= '}; var actions = { "C" : compose_page, "O" : options_page, @@ -57,10 +79,12 @@ "N" : new_page, "messageN": next_msg, "messageP": prev_msg, - "messageU": up_to_folder + "messageU": up_to_folder, + "messageR": reply, + "messageF": forward }; var elType = document.activeElement.type; - if (elType != "text" && elType != "textarea") { + if (elType != "text" && elType != "textarea" && elType != "select") { var page = "'.$tools->get_page().'"; var code = 0; if (event.keyCode) { @@ -82,7 +106,7 @@ } } } - } - '); + }'; + $tools->add_inline_js($js_code); } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-09 20:02:31
|
Revision: 2115 http://hastymail.svn.sourceforge.net/hastymail/?rev=2115&view=rev Author: sailfrog Date: 2012-11-09 20:02:25 +0000 (Fri, 09 Nov 2012) Log Message: ----------- remove unneeded global Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-09 20:01:43 UTC (rev 2114) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-09 20:02:25 UTC (rev 2115) @@ -2074,7 +2074,6 @@ } } function get_setting($name) { - global $user; $res = false; if (isset($_SESSION['user_settings'][$name])) { $res = $_SESSION['user_settings'][$name]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-09 20:01:49
|
Revision: 2114 http://hastymail.svn.sourceforge.net/hastymail/?rev=2114&view=rev Author: sailfrog Date: 2012-11-09 20:01:43 +0000 (Fri, 09 Nov 2012) Log Message: ----------- don't allow plus signs in the page id since urlencoded converts them to spaces and that can cause issues in various places Modified Paths: -------------- trunk/hastymail2/lib/misc_functions.php Modified: trunk/hastymail2/lib/misc_functions.php =================================================================== --- trunk/hastymail2/lib/misc_functions.php 2012-11-09 20:01:12 UTC (rev 2113) +++ trunk/hastymail2/lib/misc_functions.php 2012-11-09 20:01:43 UTC (rev 2114) @@ -1088,7 +1088,7 @@ if (is_readable($file)) { require_check($file); require_once($include_path.$file); - if (function_exists($function_name)) { + if (function_exists($function_name) && isset($tools[$plugin])) { $return .= $function_name($tools[$plugin], $args); } } @@ -1681,6 +1681,6 @@ return md5($string); } function build_internal_id() { - return base64_encode(pack('N6', mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand())); + return str_replace('+', chr(rand(48,57)), base64_encode(pack('N6', mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand()))); } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-09 20:01:18
|
Revision: 2113 http://hastymail.svn.sourceforge.net/hastymail/?rev=2113&view=rev Author: sailfrog Date: 2012-11-09 20:01:12 +0000 (Fri, 09 Nov 2012) Log Message: ----------- add some useful ids Modified Paths: -------------- trunk/hastymail2/lib/url_action_classes/message.php Modified: trunk/hastymail2/lib/url_action_classes/message.php =================================================================== --- trunk/hastymail2/lib/url_action_classes/message.php 2012-11-09 15:07:15 UTC (rev 2112) +++ trunk/hastymail2/lib/url_action_classes/message.php 2012-11-09 20:01:12 UTC (rev 2113) @@ -1382,11 +1382,11 @@ } } } - $data .= '<a '.$onclicks[0].'href="'.$hrefs[0].'">'.$this->user->str[70].'</a> <a '.$onclicks[1].'href="'.$hrefs[1].'">'.$this->user->str[71].'</a> '; + $data .= '<a id="reply" '.$onclicks[0].'href="'.$hrefs[0].'">'.$this->user->str[70].'</a> <a id="reply_all" '.$onclicks[1].'href="'.$hrefs[1].'">'.$this->user->str[71].'</a> '; if ($list_link) { $data .= '<a '.$onclicks[2].'href="'.$hrefs[2].'" title="'.$this->user->htmlsafe($list_link).'">'.$this->user->str[37].'</a> '; } - $data .= '<a '.$onclicks[3].'href="'.$hrefs[3].'">'.$this->user->str[72].'</a> '; + $data .= '<a id="forward" '.$onclicks[3].'href="'.$hrefs[3].'">'.$this->user->str[72].'</a> '; $data .= '<a '.$onclicks[4].'href="'.$hrefs[4].'">'.$this->user->str[60].'</a> '; if (isset($this->pd['settings']['draft_folder']) && $this->pd['mailbox'] == $this->pd['settings']['draft_folder']) { $data .= '<a '.$onclicks[5].'href="'.$hrefs[5].'">'.$this->user->str[74].'</a>'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-09 15:07:26
|
Revision: 2112 http://hastymail.svn.sourceforge.net/hastymail/?rev=2112&view=rev Author: sailfrog Date: 2012-11-09 15:07:15 +0000 (Fri, 09 Nov 2012) Log Message: ----------- changing the new hm_int_id each page load creates a race condition. If two requests overlap the user is incorrectly logged out, so set the value only once at login Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-08 21:26:25 UTC (rev 2111) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-09 15:07:15 UTC (rev 2112) @@ -1112,11 +1112,7 @@ } $_SESSION['hm_version'] = $hastymail_version; if ($user->use_cookies) { - if ($_COOKIE['hm_int_id'] == $_SESSION['hm_int_id']) { - $_SESSION['hm_int_id'] = build_internal_id(); - setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure, true); - } - else { + if ($_COOKIE['hm_int_id'] != $_SESSION['hm_int_id']) { sleep(1); $this->logged_in = false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-08 21:26:32
|
Revision: 2111 http://hastymail.svn.sourceforge.net/hastymail/?rev=2111&view=rev Author: sailfrog Date: 2012-11-08 21:26:25 +0000 (Thu, 08 Nov 2012) Log Message: ----------- in case of dodgy requests that could very well be session hijack attempts don't wipe the session data but instead insert a bit of a delay and disable access to logged in content Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-08 20:23:36 UTC (rev 2110) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-08 21:26:25 UTC (rev 2111) @@ -1107,7 +1107,7 @@ } } if ($this->logged_in && $_SESSION['browser_fingerprint'] != build_browser_fingerprint()) { - $_SESSION = array(); + sleep(1); $this->logged_in = false; } $_SESSION['hm_version'] = $hastymail_version; @@ -1117,7 +1117,7 @@ setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure, true); } else { - $_SESSION = array(); + sleep(1); $this->logged_in = false; } } @@ -1128,9 +1128,6 @@ if (is_array($pass_bits) && isset($pass_bits[1])) { $_SESSION['user_data']['pass'] = $user->string_crypt($pass_bits[1]); } - else { - echo 'BUG'; - } } function imap_continue() { global $imap; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-08 20:23:42
|
Revision: 2110 http://hastymail.svn.sourceforge.net/hastymail/?rev=2110&view=rev Author: sailfrog Date: 2012-11-08 20:23:36 +0000 (Thu, 08 Nov 2012) Log Message: ----------- more security related updates: - built a better unique id generator - added a second cookie that contains a large random id generated on each page load and stored in both the cookie and the SESSION. These values much match on each page load or access to logged-in pages is denied Modified Paths: -------------- trunk/hastymail2/index.php trunk/hastymail2/lib/misc_functions.php trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/index.php =================================================================== --- trunk/hastymail2/index.php 2012-11-08 15:23:16 UTC (rev 2109) +++ trunk/hastymail2/index.php 2012-11-08 20:23:36 UTC (rev 2110) @@ -62,7 +62,7 @@ $sticky_url = get_page_url(); /* Generate a unique page id. */ -$page_id = md5(uniqid(rand(),1)); +$page_id = build_internal_id(); /* Define the current version. */ $hastymail_version = 'Hastymail2 1.1'; Modified: trunk/hastymail2/lib/misc_functions.php =================================================================== --- trunk/hastymail2/lib/misc_functions.php 2012-11-08 15:23:16 UTC (rev 2109) +++ trunk/hastymail2/lib/misc_functions.php 2012-11-08 20:23:36 UTC (rev 2110) @@ -1680,4 +1680,7 @@ } return md5($string); } +function build_internal_id() { + return base64_encode(pack('N6', mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand(), mt_rand())); +} ?> Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-08 15:23:16 UTC (rev 2109) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-08 20:23:36 UTC (rev 2110) @@ -856,6 +856,10 @@ $_SESSION['just_logged_in'] = true; $_SESSION['user_data'] = $this->user_atts; $_SESSION['browser_fingerprint'] = build_browser_fingerprint(); + if ($user->use_cookies) { + $_SESSION['hm_int_id'] = build_internal_id(); + setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure, true); + } } function check_basic_auth() { global $conf; @@ -1029,6 +1033,7 @@ $this->logged_in = false; if ($user->use_cookies) { setcookie($this->cookie_name, '', time()-42000, $user->cookie_path); + setcookie('hm_int_id', '', time()-42000, $user->cookie_path); } } else { @@ -1106,6 +1111,16 @@ $this->logged_in = false; } $_SESSION['hm_version'] = $hastymail_version; + if ($user->use_cookies) { + if ($_COOKIE['hm_int_id'] == $_SESSION['hm_int_id']) { + $_SESSION['hm_int_id'] = build_internal_id(); + setcookie('hm_int_id', $_SESSION['hm_int_id'], 0, $user->cookie_path, '', $user->cookie_secure, true); + } + else { + $_SESSION = array(); + $this->logged_in = false; + } + } } function recrypt_pass() { global $user; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-08 15:23:27
|
Revision: 2109 http://hastymail.svn.sourceforge.net/hastymail/?rev=2109&view=rev Author: sailfrog Date: 2012-11-08 15:23:16 +0000 (Thu, 08 Nov 2012) Log Message: ----------- unify the ini_set calls and add the httponly flag to the session cookie Modified Paths: -------------- trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-07 20:14:26 UTC (rev 2108) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-08 15:23:16 UTC (rev 2109) @@ -829,15 +829,13 @@ $this->logout = false; $this->random_session_id = false; } - function start_session() { - global $user; - global $conf; - @ini_set('arg_separator.output', '&'); - if ($user->use_cookies) { + function set_ini_vals($use_cookies, $path, $secure) { + if ($use_cookies) { @ini_set('session.use_cookies', 1); @ini_set('session.use_trans_sid', 0); - @ini_set('session.cookie_path', $user->cookie_path); - @ini_set('session.cookie_secure', $user->cookie_secure); + @ini_set('session.cookie_httponly', 1); + @ini_set('session.cookie_path', $path); + @ini_set('session.cookie_secure', $secure); session_name($this->cookie_name); } else { @@ -845,6 +843,12 @@ @ini_set('session.use_trans_sid', 1); ob_start(); } + } + function start_session() { + global $user; + global $conf; + @ini_set('arg_separator.output', '&'); + $this->set_ini_vals($user->use_cookies, $user->cookie_path, $user->cookie_secure); @session_start(); $_SESSION['last_page'] = false; $_SESSION['last_dsp_page'] = false; @@ -1019,18 +1023,7 @@ global $hastymail_version; @ini_set('arg_separator.output', '&'); if ($this->logout) { - if ($user->use_cookies) { - @ini_set('session.use_cookies', 1); - @ini_set('session.use_trans_sid', 0); - @ini_set('session.cookie_path', $user->cookie_path); - @ini_set('session.cookie_secure', $user->cookie_secure); - session_name($this->cookie_name); - } - else { - @ini_set('session.use_trans_sid', 1); - @ini_set('session.use_cookies', 0); - ob_start(); - } + $this->set_ini_vals($user->use_cookies, $user->cookie_path, $user->cookie_secure); @session_start(); $user->user_action->logout_actions(); $this->logged_in = false; @@ -1039,18 +1032,7 @@ } } else { - if ($user->use_cookies) { - @ini_set('session.use_cookies', 1); - @ini_set('session.use_trans_sid', 0); - @ini_set('session.cookie_path', $user->cookie_path); - @ini_set('session.cookie_secure', $user->cookie_secure); - session_name($this->cookie_name); - } - else { - @ini_set('session.use_trans_sid', 1); - @ini_set('session.use_cookies', 0); - ob_start(); - } + $this->set_ini_vals($user->use_cookies, $user->cookie_path, $user->cookie_secure); @session_start(); if (isset($conf['site_random_session_id']) && $conf['site_random_session_id'] && !isset($_POST['rs']) && (!isset($_GET['page']) || $_GET['page'] != 'inline_image') && !isset($_GET['show_image'])) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-07 20:14:32
|
Revision: 2108 http://hastymail.svn.sourceforge.net/hastymail/?rev=2108&view=rev Author: sailfrog Date: 2012-11-07 20:14:26 +0000 (Wed, 07 Nov 2012) Log Message: ----------- request accept header changes on AJAX calls so remove it from the fingerprint set Modified Paths: -------------- trunk/hastymail2/index.php Modified: trunk/hastymail2/index.php =================================================================== --- trunk/hastymail2/index.php 2012-11-07 19:23:32 UTC (rev 2107) +++ trunk/hastymail2/index.php 2012-11-07 20:14:26 UTC (rev 2108) @@ -522,8 +522,7 @@ 'HTTP_CONNECTION', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_ACCEPT_ENCODING', - 'HTTP_ACCEPT_CHARSET', - 'HTTP_ACCEPT' + 'HTTP_ACCEPT_CHARSET' ); /* display message list headings or not. Can be overriden by a theme, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-07 19:23:39
|
Revision: 2107 http://hastymail.svn.sourceforge.net/hastymail/?rev=2107&view=rev Author: sailfrog Date: 2012-11-07 19:23:32 +0000 (Wed, 07 Nov 2012) Log Message: ----------- improve session hijacking resistance by fingerprinting HTTP request headers and using those as a browser id. Move the bind to ip option to the same md5 calculation. Modified Paths: -------------- trunk/hastymail2/index.php trunk/hastymail2/lib/misc_functions.php trunk/hastymail2/lib/utility_classes.php Modified: trunk/hastymail2/index.php =================================================================== --- trunk/hastymail2/index.php 2012-11-07 16:01:08 UTC (rev 2106) +++ trunk/hastymail2/index.php 2012-11-07 19:23:32 UTC (rev 2107) @@ -514,6 +514,18 @@ 'size_cell', ); +/* These HTTP request header fields are hashed into a unique id on login, then + * checked on subsequent page loads. If the hash does not match the page is + * not loaded. This helps secure sessions from hijack attempts */ +$browser_id_fields = array( + 'HTTP_USER_AGENT', + 'HTTP_CONNECTION', + 'HTTP_ACCEPT_LANGUAGE', + 'HTTP_ACCEPT_ENCODING', + 'HTTP_ACCEPT_CHARSET', + 'HTTP_ACCEPT' +); + /* display message list headings or not. Can be overriden by a theme, * and then again by a user's settings */ $default_list_heading = true; Modified: trunk/hastymail2/lib/misc_functions.php =================================================================== --- trunk/hastymail2/lib/misc_functions.php 2012-11-07 16:01:08 UTC (rev 2106) +++ trunk/hastymail2/lib/misc_functions.php 2012-11-07 19:23:32 UTC (rev 2107) @@ -1665,4 +1665,19 @@ } return $result; } +function build_browser_fingerprint() { + global $conf; + global $browser_id_fields; + $parts = $browser_id_fields; + if (isset($conf['site_bind_ip_to_session']) && $conf['site_bind_ip_to_session']) { + $parts[] = 'REMOTE_ADDR'; + } + $string = ''; + foreach ($parts as $v) { + if (isset($_SERVER[$v])) { + $string .= $_SERVER[$v]; + } + } + return md5($string); +} ?> Modified: trunk/hastymail2/lib/utility_classes.php =================================================================== --- trunk/hastymail2/lib/utility_classes.php 2012-11-07 16:01:08 UTC (rev 2106) +++ trunk/hastymail2/lib/utility_classes.php 2012-11-07 19:23:32 UTC (rev 2107) @@ -850,15 +850,8 @@ $_SESSION['last_dsp_page'] = false; $_SESSION['logged_in'] = true; $_SESSION['just_logged_in'] = true; - if (isset($conf['site_bind_ip_to_session']) && $conf['site_bind_ip_to_session']) { - if (isset($_SERVER['REMOTE_ADDR'])) { - $_SESSION['bind_to_ip'] = $_SERVER['REMOTE_ADDR']; - } - else { - $_SESSION['bind_to_ip'] = 'unknown'; - } - } $_SESSION['user_data'] = $this->user_atts; + $_SESSION['browser_fingerprint'] = build_browser_fingerprint(); } function check_basic_auth() { global $conf; @@ -1126,17 +1119,9 @@ } } } - if (isset($conf['site_bind_ip_to_session']) && $conf['site_bind_ip_to_session']) { - $bail = true; - if (isset($_SESSION['bind_to_ip']) && isset($_SERVER['REMOTE_ADDR'])) { - if ($_SESSION['bind_to_ip'] == $_SERVER['REMOTE_ADDR']) { - $bail = false; - } - } - if ($bail) { - $_SESSION = array(); - $this->logged_in = false; - } + if ($this->logged_in && $_SESSION['browser_fingerprint'] != build_browser_fingerprint()) { + $_SESSION = array(); + $this->logged_in = false; } $_SESSION['hm_version'] = $hastymail_version; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sai...@us...> - 2012-11-07 16:01:19
|
Revision: 2106 http://hastymail.svn.sourceforge.net/hastymail/?rev=2106&view=rev Author: sailfrog Date: 2012-11-07 16:01:08 +0000 (Wed, 07 Nov 2012) Log Message: ----------- remove debug Modified Paths: -------------- trunk/hastymail2/lib/misc_functions.php Modified: trunk/hastymail2/lib/misc_functions.php =================================================================== --- trunk/hastymail2/lib/misc_functions.php 2012-11-06 20:31:17 UTC (rev 2105) +++ trunk/hastymail2/lib/misc_functions.php 2012-11-07 16:01:08 UTC (rev 2106) @@ -1663,7 +1663,6 @@ $result = true; } } - error_log($_SESSION['outbound_throttle']); return $result; } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |