From be5749ac0a37fbda93e0e5b05f6054383b476417 Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 25 Sep 2023 20:36:46 +0100 Subject: [PATCH 01/24] Fix: .gitignore hm3 files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 87bd994dea..734ff252c2 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ scripts/test.php *.sublime-workspace composer.phar lib/hm3/users/ +/scripts/hm3.ini +/scripts/hm3.rc From ffc1898794fe8c4c340003f5ea94878f80f03373 Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 25 Sep 2023 20:38:22 +0100 Subject: [PATCH 02/24] Fix: conflict --- modules/contacts/hm-contacts.php | 21 +- modules/contacts/site.js | 13 +- modules/imap/output_modules.php | 50 ++ modules/imap/site.css | 58 ++ modules/imap/site.js | 7 + modules/ldap_contacts/modules.php | 2 +- scripts/hm3.ini | 900 ++++++++++++++++++++++++++++++ scripts/hm3.rc | 1 + 8 files changed, 1045 insertions(+), 7 deletions(-) create mode 100755 scripts/hm3.ini create mode 100755 scripts/hm3.rc diff --git a/modules/contacts/hm-contacts.php b/modules/contacts/hm-contacts.php index ce24c71ce1..4993a9716a 100644 --- a/modules/contacts/hm-contacts.php +++ b/modules/contacts/hm-contacts.php @@ -25,11 +25,24 @@ public function add_contact($data) { return true; } - public function get($id, $default=false) { - if (!array_key_exists($id, $this->contacts)) { - return $default; + public function get($id, $email_address="", $default=false) { + if(array_key_exists($id, $this->contacts)) { + return $this->contacts[$id]; + } + + if(!empty($email_address)){ + $res = false; + foreach ($this->contacts as $id => $contact) { + if ($contact->value('email_address') == $email_address) { + $res = $contact; + break; + } + } + + return $res; } - return $this->contacts[$id]; + + return $default; } public function search($flds) { diff --git a/modules/contacts/site.js b/modules/contacts/site.js index 4fc3b4bcf7..27e6adcc1a 100644 --- a/modules/contacts/site.js +++ b/modules/contacts/site.js @@ -17,7 +17,7 @@ var delete_contact = function(id, source, type) { ); }; -var add_contact_from_message_view = function() { +var add_contact_from_message_view = function(fromHeader = true) { var contact = $('#add_contact').val(); var source = $('#contact_source').val(); if (contact) { @@ -25,7 +25,16 @@ var add_contact_from_message_view = function() { [{'name': 'hm_ajax_hook', 'value': 'ajax_add_contact'}, {'name': 'contact_value', 'value': contact}, {'name': 'contact_source', 'value': source}], - function(res) { $('.add_contact_controls').toggle(); } + function(res) { + if(fromHeader){ + $('.add_contact_controls').toggle(); + }else{ + var popup = document.getElementById("contact_popup"); + if(popup.classList.contains("show")) { + popup.classList.toggle("show"); + } + } + } ); } }; diff --git a/modules/imap/output_modules.php b/modules/imap/output_modules.php index b18f2b7b32..67a81ebf4a 100644 --- a/modules/imap/output_modules.php +++ b/modules/imap/output_modules.php @@ -197,6 +197,56 @@ protected function output() { } catch (Exception $e) {} $txt .= ''.$this->trans($name).''.$this->html_safe($value).''; } + elseif($fld == 'from'){ + + $regexp = '/\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>/'; + + $contact_email = ""; + $contact_name = ""; + + if(preg_match($regexp, $value, $matches)){ + $contact_name = $matches[1]; + $contact_email = $matches[2]; + }else{ + $EmailRegexp = "/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i"; + if(preg_match($EmailRegexp, $value, $matches)){ + $contact_email = $matches[0][0]; + } + } + + $contacts = $this->get('contact_store'); + $contact_exists = !empty($contacts->get(null, $contact_email)); + + $txt .= ''.$this->trans($name).''.$this->html_safe($value); + + if($contact_exists){ + $txt .= ' '; + } else { + $backends = $this->get('contact_edit', array()); + $txt .= ''; + } + + $txt .= ''; + } else { if (strtolower($name) == 'flags') { $name = $this->trans('Tags'); diff --git a/modules/imap/site.css b/modules/imap/site.css index 4091d200b8..f66f2c2d0a 100644 --- a/modules/imap/site.css +++ b/modules/imap/site.css @@ -96,3 +96,61 @@ .dropdown { display: none; position: absolute; margin-top: 15px; background-color: #fff; border: 1px solid #ddd; box-shadow: 3px 3px 3px #ddd; font-variant: none; min-width: 250px; } .dropdown a { padding: 8px; padding-left: 15px !important; padding-right: 15px !important; white-space: nowrap; font-size: 1rem; display: block !important; margin-right: 0; border: 0; cursor: pointer; } .dropdown a:hover { background-color: #eee; } + + +/* Popup container - can be anything you want */ +.popup { + margin-left: 5px; + position: relative; + display: inline-block; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + /* The actual popup */ + .popup .popup-container { + visibility: hidden; + width: 350px; + background-color: #fff; + border: 1px black solid; + text-align: center; + border-radius: 6px; + padding: 8px 0; + position: absolute; + z-index: 1; + top: 125%; + margin-left: -169px; + } + + /* Popup arrow */ + .popup .popup-container::after { + content: ""; + position: absolute; + bottom: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: transparent transparent #555 transparent; + } + + /* Toggle this class - hide and show the popup */ + .popup .show { + visibility: visible; + -webkit-animation: fadeIn 1s; + animation: fadeIn 1s; + } + + /* Add animation (fade in the popup) */ + @-webkit-keyframes fadeIn { + from {opacity: 0;} + to {opacity: 1;} + } + + @keyframes fadeIn { + from {opacity: 0;} + to {opacity:1 ;} + } diff --git a/modules/imap/site.js b/modules/imap/site.js index 06aa963e04..423b830238 100644 --- a/modules/imap/site.js +++ b/modules/imap/site.js @@ -1176,3 +1176,10 @@ var imap_archive_message = function(state, supplied_uid, supplied_detail) { } return false; }; + +var imap_show_add_contact_popup = function() { + var popup = document.getElementById("contact_popup"); + if(!popup.classList.contains("show")) { + popup.classList.toggle("show"); + } +}; diff --git a/modules/ldap_contacts/modules.php b/modules/ldap_contacts/modules.php index 3ac520b182..a3a571f912 100644 --- a/modules/ldap_contacts/modules.php +++ b/modules/ldap_contacts/modules.php @@ -17,7 +17,7 @@ class Hm_Handler_process_add_ldap_contact_from_message extends Hm_Handler_Module public function process() { $ldap_config = $this->get('ldap_config'); list($success, $form) = $this->process_form(array('contact_source', 'contact_value')); - if (!$success) { + if (!$success) { return; } list($type, $source) = explode(':', $form['contact_source']); diff --git a/scripts/hm3.ini b/scripts/hm3.ini new file mode 100755 index 0000000000..be40cb296e --- /dev/null +++ b/scripts/hm3.ini @@ -0,0 +1,900 @@ + +; ----------------------------------------------------------------------------- +; General settings +; ----------------------------------------------------------------------------- + +; Session Type +; ------------ +; Sessions are how the server maintains your logged in state. Cypht supports +; standard PHP sessions, as well as its own completely independent session +; system that uses memcached or a database for storage. In order to use +; database sessions, the database must be correctly configured in the "DB +; Support" section and the hm_user_session table must be created. In order to +; use Memcached sessions, the memcached server must be correctly configured +; in the "Memcached Support" section. In order to use Redis session, the +; Redis server must be configured in the "Redis Support" section. +; +; Valid values for this setting: +; +; PHP Standard PHP session handlers +; DB Custom database based sessions +; MEM Custom Memcached based sessions +; REDIS Custom Redis based sessions +; custom Create your own session class. See the modules/site/lib.php file for +; more info +; +session_type=PHP + + +; Authentication Type +; ------------------- +; This setting defines how Cypht will authenticate your username and password +; when you login. If you want to use a database it must be correctly configured +; in the "DB Support" section and the hm_user table must be created. There are +; 3 PHP cli scripts to help manage database users in the scripts/ directory ( +; create_account.php, delete_account.php, and update_password.php). If you want +; to authenticate against an IMAP server, you must setup the imap_auth_* settings +; below. If you want to authenticate against a POP3 server, you must setup the +; pop3_auth_* settings below. If you want to authenticate against an LDAP server, +; you must setup the ldap_auth_* settings. Finally, if you want to let users +; pick from a list of popular mail services or try to auto-discover a mail +; system, set this to dynamic and make sure the dynamic_login module set is +; enabled in the "Module Sets" section of this file. +; +; Valid values for this setting: +; +; DB Authenticate against the database +; LDAP Authenticate against an LDAP server +; IMAP Authenticate using an IMAP server +; POP3 Authenticate using a POP3 server +; dynamic Let the user choose from a list, or try to auto discover the mail +; services based on the email domain +; custom Create your own auth class. See the modules/site/lib.php file for +; more info +; +auth_type=DB + + +; LDAP Authentication +; ------------------- +; If auth_type is set to LDAP, configure the LDAP server to authenticate against +; with the following settings, otherwise these are ignored. +; + +; The hostname or IP address of the LDAP server to authenticate to +ldap_auth_server=localhost + +; The port the LDAP server is listening on. +ldap_auth_port=389 + +; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to +; true to enable TLS connections. +ldap_auth_tls= + +; The "base dn" of the LDAP server +ldap_auth_base_dn="example,dc=com" + + +; IMAP Authentication +; ------------------- +; If auth_type is set to IMAP, configure the IMAP server to authenticate against +; with the following settings, otherwise these are ignored. +; +; This is just a label used in the UI. It can be set to anything +imap_auth_name=localhost + +; The hostname or IP address of the IMAP server to authenticate to +imap_auth_server=localhost + +; The port the IMAP server is listening on. +imap_auth_port=143 + +; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to +; true to enable TLS connections. If you want to use IMAP STARTTLS, do NOT +; enable this. This is only for TLS enabled sockets (typically on port 993). +imap_auth_tls= + + +; POP3 Authentication +; ------------------- +; if auth_type is set to POP3, configure the POP3 server to authenticate against +; with the following settings, otherwise these are ignored. +; +; This is just a label used in the UI. It can be set to anything +pop3_auth_name=localhost + +; The hostname or IP address of the POP3 server to authenticate to +pop3_auth_server=localhost + +; The port the POP3 server is listening on. +pop3_auth_port=110 + +; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to +; true to enable TLS connections. +pop3_auth_tls= + + +; Default SMTP Server +; ------------------- +; You can set a default SMTP server for all Cypht users. Authentication will be +; done with the users login credentials, so this only makes sense if you are +; using POP3 or IMAP for authentication. Leave these values blank to disable a +; default SMTP server, otherwise fill in the required values below +; +; This is just a label used in the UI. It can be set to anything +default_smtp_name= + +; The hostname or IP address of the SMTP server +default_smtp_server= + +; The port the SMTP server is listening on. +default_smtp_port= + +; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to +; true to enable TLS connections. +default_smtp_tls= + +; If your SMTP service does not require authentication, you can disable it +; by setting the following to true. +default_smtp_no_auth= + + +; Settings Storage +; ---------------- +; Cypht supports 3 methods for saving user settings between logins. File based +; settings, database table or custom implementation. To store settings in a +; database, it must be configured in the "DB Support" section and the +; hm_user_settings table must be created. To store settings on the filesystem, +; the user_settings_dir must be created and the webserver software must be able +; to write to it. For custom implementations, see Hm_User_Config_File. +; +; Valid values for this setting: +; +; file Store user settings in the filesystem +; DB Store user settings in a database +; custom Store user settings via custom implementation. Specify class name +; after colon, e.g. custom:Custom_User_Config +; +user_config_type=file + + +; Settings Location +; ----------------- +; If user_config_type is set to file, this must be set to an existing directory +; that the webserver software can read and write to. If settings storage is set +; to DB, this is ignored. It should not be inside the webserver document root. +user_settings_dir=/var/lib/hm3/users + + +; Attachment Location +; ------------------- +; Cypht needs a temporary place to store attachments that are to be sent with +; an outgoing message. This folder must exist and be writable by the webserver +; software. It should not be inside the webserver document root. +attachment_dir=/var/lib/hm3/attachments + + +; Application Data Location +; ------------------------- +; Some Cypht module sets have their own ini files that need to be readable by +; the webserver software, but not writable, and definitely not inside the +; webserver document root. +app_data_dir=/var/lib/hm3/app_data + + +; Disable origin check +; -------------------- +; To help protect against CSRF attacks, Cypht checks origin headers to confirm +; that the source and target origin domains match. If you are using proxies this +; could create a problem making it impossible to login. Change this to true to +; disable the origin check. +disable_origin_check=false + + +; Admin Users +; ---------- +; You can define a comma delimited list of admin users that Cypht will grant +; special rights to. Currently this only enables the "create account" link in +; the account module set that provides a form to create a new account. This is +; only used if the auth_type is set to DB. Leave this blank if you don't want +; to define any admin users, or are using IMAP or POP3 authentication. +admin_users= + + +; Cookie Domain +; ------------- +; By default Cypht uses the server name used in the request to determine +; the domain name to set the cookie for. Configurations that use a reverse +; proxy might need to define the domain name used for cookies. Leave this +; blank to let Cypht automatically determine the domain. You can also use +; the special value of "none" to force Cypht to NOT set the cookie domain +; property at all. This is not recommended unless you know what you are +; doing! +cookie_domain= + + +; Cookie Path +; ------------- +; By default Cypht uses the request URI to determine the cookie path to set +; the cookie for. Configurations that use mod_rewrite might need to define +; the path used for cookies. E.g. /cypht/embedded?page=compose will set path +; to /cypht/embedded/ which won't send the cookies back to the server. In that +; case set cookie_path=/cypht/. Leave this blank to let Cypht automatically +; determine the path. You can also use the special value of "none" to force +; Cypht to NOT set the cookie path property at all. This is not recommended +; unless you know what you are doing! +cookie_path= + + +; Outbound Email Domain +; ---------------------- +; Default domain used for outbound email addresses when using IMAP auth and +; users don't login with a full email address. Users can customize this with +; the profiles module which will override this default +default_email_domain= + + +; Auto-Create Profile +; ------------------- +; When a user logs in and they have only 1 IMAP server and 1 SMTP server, and +; no configured profiles - enabling this option will auto-create a profile for +; them. Email and reply-to addresses will use the default_email_domain if +; set, otherwise it will fallback to the domain Cypht is hosted on. +autocreate_profile= + + +; Redirect After Login +; -------------------- +; You can login directly to any page in Cypht by going to the correct url before +; logging in, but that is not very user-friendly. To redirect users to a url +; after login, add the url arguments below (everything in the url after, but +; including, the question mark). You must use double quotes around the value +; otherwise it will cause an ini parsing error. To redirect users after login +; to the combined unread view you would use: +; +; redirect_after_login="?page=message_list&list_path=unread" +redirect_after_login= + + +; Application Name +; ---------------- +; This label is used in the UI to reference the program - you can change it to +; "Your awesome webmail" to replace the Cypht name used in various places. +app_name=Cypht + + +; Force Mobile UI +; --------------- +; Cypht will detect mobile devices and display a mobile optimized UI. If you want +; to aways use this UI regardless of device, set this to true +always_mobile_ui= + + +; Default Language +; ---------------- +; Users can select from available interface languages on the site settings page. +; This sets the default for a user who has not done so. Valid values are 2 character +; langauge codes that have matching language definitions in the language/ folder. +default_language=en + + +; JavaScript Compression +; ---------------------- +; When the configuration script is run, all JavaScript files are concatenated +; and optionally compressed. To compress the content, define a command and its +; options below. Cypht does not come with compresson software, so you must +; install and configure that separately. Leave blank or set to false to disable +; external compression. Compression software must be able to handle ES6. +; +; Example: +; js_compress='uglifyjs.terser -c -m --verbose --warn' +; +js_compress=false + + +; CSS Compression +; --------------- +; When the configuration script is run, all CSS files are concatenated and +; optionally compressed. To compress the content, define a command and its +; options below. Cypht does not come with compresson software, so you must +; install and configure that separately. Leave blank or set to false to disable +; external compression. +; +; Example: +; css_compress='java -jar /usr/local/lib/yuicompressor-2.4.8.jar --type css' +; +css_compress=false + + +; Caching Server Support +; --------------------- + +; Cypht can use Redis or Memcache to improve performance, as well as to store +; user sessions. Configure Redis or Memcached below and Cypht will +; automatically use them for caching. All data cached for a user in either +; system is encrypted. Currently, the feeds, POP3, and IMAP modules will use +; the configured cache. If both Redis and Memcached are configured, Redis will +; be used for the cache. +; +; If you want to use the user session as a cache, uncomment the line below and +; set to true. THIS IS NOT RECOMMENDED. Cypht uses parallel requests to the +; server, and using the session as a cache is likely to cause race conditions +; and integrity issues. If you are running Cypht in an "embedded" mode with +; only one email source, this option is less likely to be a problem. + +; allow_session_cache=false + +; Redis Support +; ------------- + +; Configure Redis details below to use it for caching +enable_redis=true +redis_server=127.0.0.1 +redis_port=6379 +redis_index=1 +redis_pass= +redis_socket=/var/run/redis/redis-server.sock + + +; Memcached Support +; ----------------- +; Configure Memcached details below to use it for caching +enable_memcached=true +memcached_server=127.0.0.1 +memcached_port=11211 + +; If you need SASL authentication for memcached, set the following to true +; and add the username and password to authenticate with +memcached_auth=false +memcached_user= +memcached_pass= + + +; Allow Long Sessions +; ------------------- +; Cypht logins only last as long as the browser is open. Closing the browser, +; or moving to a new network, will cause you to be logged out. This setting +; provides users with a "stay logged in" option during login that will set the +; sesison lifetime to a default of 30 days, and disable the IP address check. +; +; USE WITH CAUTION SINCE THIS DISABLES SOME SESSION PROTECTIONS. +; +; Specifically: +; +; - Session cookies stay active after a browser restart making them more +; susceptible to snooping +; - The browser "fingerprint" was use to help protect against session hijacking +; includes the client's IP. With this option enabled a client IP can change +; mid-session and it won't log them out +allow_long_session=false + +; Set the session lifetime in days. Only applies if allow_long_session is set to +; true, and a user checks the box to "stay logged in" during login. +long_session_lifetime=30 + + +; Browser Encryption Options +; -------------------------- +; Cypht can use the Forge JavaScript encryption library to encrypt AJAX +; responses and data stored in browser local storage. Enabling either one of +; these options causes the Forge JavaScript library to be included. This adds +; about 70KB to the page size (when gzipped). + +; Use AES encryption for AJAX responses. Set to true to enable, leave blank or +; set to false to disable. +encrypt_ajax_requests= + +; Use AES encryption for data stored in the browser local storage. Set to true +; to enable, or leave blank or set to false to disable. +encrypt_local_storage= + + +; Allow client IP changes +; ----------------------- +; By default Cypht will log you out if your client IP address changes. This is +; an extra layer of protection against session hijacking, but it's not uncommon +; for your client IP to change. Change this to true if you want to disable this +; check +disable_ip_check=false + + +; Allow remote image sources +; -------------------------- +; +; WARNING: Using this feature could leak information to external sources. +; +; By default, Cypht will not allow external images to be loaded when viewing an +; HTML formatted email message. A Content Security Policy header limits images +; sources to "self" only and the message content is filtered to remove any external +; resource. If you really want the ability to view external images in an email, +; you first need to change the following setting to true. When viewing an HTML +; formatted message, you will now have a link before the message body called "Allow +; Images" that will reload the message part with external images visible. +allow_external_image_sources=false + + +; +; Single server mode +; ------------------ +; This setting restricts Cypht to only using a single email source (POP3 or +; IMAP) and the default SMTP server defined in this file. It modifies the UI to +; remove the ability to add other email sources, and removes the password +; restriction when saving data between logins. You must use either IMAP or POP3 +; authentication for this setting to be enforced, and auth server will be the +; single email source users have access to. If you enable this after users +; have saved any settings, they will be lost (or if you disable it after they +; have saved any settings). WARNING: USER SETTINGS SAVED TO THE SERVER WILL NOT +; BE ENCRYPTED WITH THIS ENABLED +single_server_mode=false + + +; Integration options +; ------------------- +; Cypht does a few things to make it more secure by default, but these features +; can make it difficult to integrate Cypht into 3rd party software. Specifically, +; Cypht disables PHP "super globals", and sets a restrictive PHP "open basedir" +; setting, tweaks PHP ini settings to increase security, and uses a browser +; "fingerprint" to improve session security. You can disable each with the +; following options: + +; Don't empty PHP super globals +disable_empty_superglobals=false + +; Don't apply open basedir restrictions +disable_open_basedir=false + +; Don't tweak ini settings +disable_ini_settings=false + +; Don't use a browser fingerprint +disable_fingerprint=false + +; You can create your own custom authentication and session classes using the +; site module set, however you might want those classes located somewhere else +; outside of the Cypht code base. By setting session_type and auth_type to custom, +; you can control what class is used with the following settings + +; auth_class= +; session_class= + + +; ----------------------------------------------------------------------------- +; DB Support +; ----------------------------------------------------------------------------- + +; Database Support +; ---------------- +; Cypht can use a database for 3 different purposes: authentication, sessions, +; and user settings. Each requires the following settings to be configured and +; the correct table to be created. CREATE TABLE SQL statements for MySQL and +; Postgresql are below. +; +; Connection type. Can be "host" to connect to a hostname, or "socket" to +; connect to a unix socket. +db_connection_type=host + +; Database host name or ip address. If db_connection_type is set to "socket", +; this value is ignored +db_host=127.0.0.1 + +; Database port. Only needed if your database is running on a non-standard +; port +db_port= + +; If db_connection_type is set to "socket", this should be the filesystem +; location of the unix socket file. If db_connection_type is set to "host" +; this value is ignored. +db_socket=/var/lib/mysqld/mysqld.sock + +; Name of the database with the required tables +db_name=cypht + +; User to connect to the database with +db_user=root + +; Password to connect to the database with +db_pass=123456 + +; Database type. can be any supported PDO driver ; (http://php.net/manual/en/pdo.drivers.php) +db_driver=mysql + + +; DB Sessions +; ----------- +; If your session_type is set to DB, the following table must exist in the DB +; defined above, and the db user must have read-write access to it: +; +; Postgresql: +; CREATE TABLE hm_user_session (hm_id varchar(250) primary key not null, data text, date timestamp); +; +; MySQL or SQLite: +; CREATE TABLE hm_user_session (hm_id varchar(180), data longblob, date timestamp, primary key (hm_id)); + + +; DB Authentication +; ----------------- +; If your auth_type is set to DB, the following table must exist in the DB +; defined above, and the db user must have read-write access to it: +; +; Postgresql: +; CREATE TABLE hm_user (username varchar(255) primary key not null, hash varchar(255)); +; +; MySQL or SQLite: +; CREATE TABLE hm_user (username varchar(250), hash varchar(250), primary key (username)); + + +; DB Settings +; ----------- +; If your user_config_type is set to DB, the following table must exist in the +; DB defined above, and the db user must have read-write access to it: +; +; Postgresql: +; CREATE TABLE hm_user_settings (username varchar(250) primary key not null, settings text); +; +; MySQL or SQLite: +; CREATE TABLE hm_user_settings(username varchar(250), settings longblob, primary key (username)); + + +; ----------------------------------------------------------------------------- +; Modules +; ----------------------------------------------------------------------------- + +; Module Sets +; ----------- +; Cypht uses module sets to separate functionality in the program. Module sets +; can be enabled and disabled independently by commenting out or uncommenting +; the assignments below. Add a new assignment to enable your own module sets. + + +; Core +; ---- +; Handles page layout, login/logout, and the default settings pages. This set +; is required. +modules[]=core + +; Contacts +; ------- +; Contact support. This module requires that at least one "backend" contacts +; module be enabled (ldap_contacts, gmail_contacts, or local_contacts). You +; can enable all the backends you want to support. +modules[]=contacts + +; Local contact support. Simple, locally stored contacts backend +modules[]=local_contacts + +; LDAP contact support. Use an LDAP server to store contacts. This module +; uses its own ini file in modules/ldap_contacts/. This file must be edited +; and moved to your app_data_dir to configure LDAP access. +; modules[]=ldap_contacts + +; Gmail contact support. Read-only support for Gmail contacts. Only available +; if you have a Gmail account enabled that uses OAuth2 authentication +; modules[]=gmail_contacts + +; Feeds +; ----- +; RSS/ATOM feed support +modules[]=feeds + +; POP3 +; ---- +; POP3 email account support +modules[]=pop3 + +; IMAP +; ---- +; IMAP email account support. If you want to use OAuth2 over IMAP (currently +; only supported by Gmail and Outlook.com), you will need to edit the oauth2.ini +; file in modules/imap/, and move it to your app_data_dir location. +modules[]=imap + +; 2 factor authentication +; ----------------------- +; This module enables 2 factor authentication using TOTP (compatible with +; Google Authenticator). You must edit the ini file in modules/2fa/ to +; configure a shared secret, then move that file to your app_data_dir. +; modules[]=2fa + +; SMTP +; ---- +; Send outbound email using SMTP servers +modules[]=smtp + +; Account +; ------ +; UI features for admins to create accounts, and for users to update passwords +; (when using the built-in DB authentication) +modules[]=account + +; Idle timer +; --------- +; Controls idle time and automatic logout +modules[]=idle_timer + +; Desktop notifications +; --------------------- +; Enable desktop notifications for new messages +; modules[]=desktop_notifications + +; Calendar +; ------- +; Basic calendar +modules[]=calendar + +; Themes +; ------ +; Change the UI using CSS +modules[]=themes + +; NUX +; --- +; Friendly new user experience. Quickly add common email services, and view +; development updates +modules[]=nux + +; Developer +; --------- +; For development, provides resources and installation details. Only available +; in "debug mode" +modules[]=developer + +; Github +; ------ +; Github repository tracking. This module has its own ini file located in +; modules/github/. You must edit this file, and move it to your app_data_dir +; to establish communication with github. +; modules[]=github + +; reCAPTCHA +; --------- +; Use the reCAPTCHA server on login. This module has its own ini file in +; modules/recaptcha/. You must edit this file, and move it to the location +; defined in app_data_dir to gain access to the WordPress notification API. +; modules[]=recaptcha + +; WordPress +; --------- +; WordPress.com notifications. This module has its own ini file in +; modules/wordpress/. You must edit this file, and move it to the location +; defined in app_data_dir to gain access to the WordPress notification API. +; modules[]=wordpress + +; History +; ------- +; Simple list of messages read since login +modules[]=history + +; Saved searches +; -------------- +; Save and re-run searches easily +modules[]=saved_searches + +; Advanced search +; --------------- +; Enable the advanced search form +modules[]=advanced_search + +; Message highlighting +; -------------------- +; Create custom rules to highlight messages in lists with different colors +modules[] = highlights + +; NASA +; ---- +; Access the NASA APOD API content +; modules[]=nasa + +; Profiles +; -------- +; Profiles to set reply-to, name, and signature to associated email accounts +modules[]=profiles + +; Inline message +; -------------- +; View messages inline in a reading pane instead of on a new page +modules[]=inline_message + +; IMAP folders +; ----------- +; Support for adding/renaming/deleting folders in IMAP accounts +modules[]=imap_folders + +; Keyboard Shortcuts +; ------------------ +; Enables configurable keyboard shortcuts for navigations and actions +modules[]=keyboard_shortcuts + +; Site +; ---- +; Site specific overrides. Used to control other module sets without hacking +; the code. +; modules[]=site + +; Dynamic login +; ------------- +; Allows user to authenticate against a list of popular mail services, or to +; auto-discover the services for the specified email address. The auth_type +; setting must be set to "dynamic", otherwise this module set does not do +; anything +; modules[]=dynamic_login + +; API login +; -------- +; Allows an API based login that returns a JSON response containing the session +; and hm_id values needed to create a login session. You will need to set the +; api_login_key value to something unique and include that in the POST request. +; modules[]=api_login +; api_login_key= + +; Recover settings +; ---------------- +; When using IMAP or POP3 authentication, if a user's password is changed, we +; can't decrypt the existing user settings. This module detects that situation +; and provides a page where a user can enter their old and new passwords to +; recover their previous settings. +; modules[]=recover_settings + +; Hello World +; ----------- +; Example module set with lots of comments +; modules[]=hello_world + + +; ----------------------------------------------------------------------------- +; User Defaults +; All of these settings can be changed by users, but you can uncomment and set +; the default behavior using the following options. This will only effect new +; users or ones that have never saved their settings. +; +; Per source time limits have valid values of: +; -1 day +; -1 week +; -2 weeks +; -4 weeks +; -6 weeks +; -6 months +; -1 year +; -5 years +; +; Per source maximums can be from 1 to 1000 +; ----------------------------------------------------------------------------- + +; If set to true, passwords for email accounts will never be saved between logins +; Defaults to false +; default_setting_no_password_save=false + +; Number of messages per page when viewing IMAP folders +; Defaults to 20 +; default_setting_imap_per_page=20 + +; Amount of IMAP message structure detail on the message view page +; Defaults to full structure +; default_setting_simple_msg_parts=false + +; Show icons for each IMAP message part type +; Defaults to true +; default_setting_msg_part_icons=true + +; Prefer text parts when viewing a message +; Defaults to false +; default_setting_text_only=false + +; Per source max for the combined sent view +; Defaults to 20 +; default_setting_sent_per_source=20 + +; Per source time limit for the combined sent view +; Defaults to 1 week +; default_setting_sent_since='-1 week' + +; Display source icons in message lists +; Defaults to true +; default_setting_show_list_icons=true + +; Redirect to this page on login +; Defaults to none +; default_setting_start_page=none + +; Don't prompt when deleting something +; Defaults to false +; default_setting_disable_delete_prompt=false + +; Hide icons in the folder list +; Defaults to false +; default_setting_no_folder_icons=false + +; Source max for the all email combined view +; Defaults to 20 +; default_setting_all_email_per_source=20 + +; Per source time limit for the all email combined view +; Defaults to 1 week +; default_setting_all_email_since='-1 week' + +; Per source time limit for the everything combined view +; Defaults to 1 week +; default_setting_all_since='-1 week' + +; Per source max for the everything combined view +; Defaults to 20 +; default_setting_all_per_source=20 + +; Per source max for the unread combined view +; Defaults to 20 +; default_setting_unread_per_source=20 + +; Per source max for the flagged combined view +; Defaults to 20 +; default_setting_flagged_per_source=20 + +; Per source time limit for the flagged combined view +; Defaults to 1 week +; default_setting_flagged_since='-1 week' + +; Per source time limit for the unread combined view +; Defaults to 1 week +; default_setting_unread_since='-1 week' + +; Timezone for date displays +; Defaults to UTC +; default_setting_timezone='UTC' + +; Message list format style +; Defaults to email client style +; default_setting_list_style='email_style' + +; Interface language +; Defaults to en (English) +; default_setting_language='en' + +; Hide new news feed items from the unread combined view +; Defaults to false +; default_setting_unread_exclude_feeds=false + +; Per source max for news feeds +; Defaults to 20 +; default_setting_feed_limit=20 + +; Per source time limit for news feeds +; Defaults to 1 week +; default_setting_feed_since='-1 week' + +; Toggle between plain text or HTML formatted mail on the compose page +; Defaults to 0 (plain text) +; default_setting_smtp_compose_type=0 + +; BCC a copy of outbound mail to the sender +; Defaults to false +; default_setting_smtp_auto_bcc=false + +; UI theme +; Defaults to the default white one ("White Bread") +; default_setting_theme='default' + +; Hide WordPress notifications from the unread combined view +; Defaults to false +; default_setting_unread_exclude_wordpress=false + +; Time limit for WordPress notifications +; Defaults to 1 week +; default_setting_wordpress_since='-1 week' + +; Hide Github notifications from the unread combined view +; Defaults to false +; default_setting_unread_exclude_github=false + +; Max per source for Github notifications +; Defaults to 20 +; default_setting_github_limit=20 + +; Per source time limit for Github notifications +; Defaults to 1 week +; default_setting_github_since='-1 weeks' + +; Display message details inline from the message list +; Defaults to false +; default_setting_inline_message=false + +; Enable keyboard shortcuts +; Defaults to false +; default_setting_enable_keyboard_shortcuts=1 diff --git a/scripts/hm3.rc b/scripts/hm3.rc new file mode 100755 index 0000000000..bb0a97944b --- /dev/null +++ b/scripts/hm3.rc @@ -0,0 +1 @@ +{"session_type":"PHP","auth_type":"DB","ldap_auth_server":"localhost","ldap_auth_port":"389","ldap_auth_tls":"","ldap_auth_base_dn":"example,dc=com","imap_auth_name":"localhost","imap_auth_server":"localhost","imap_auth_port":"143","imap_auth_tls":"","pop3_auth_name":"localhost","pop3_auth_server":"localhost","pop3_auth_port":"110","pop3_auth_tls":"","default_smtp_name":"","default_smtp_server":"","default_smtp_port":"","default_smtp_tls":"","default_smtp_no_auth":"","user_config_type":"file","user_settings_dir":"\/var\/lib\/hm3\/users","attachment_dir":"\/var\/lib\/hm3\/attachments","app_data_dir":"\/var\/lib\/hm3\/app_data","disable_origin_check":"","admin_users":"","cookie_domain":"","cookie_path":"","default_email_domain":"","autocreate_profile":"","redirect_after_login":"","app_name":"Cypht","always_mobile_ui":"","default_language":"en","js_compress":"","css_compress":"","enable_redis":"1","redis_server":"127.0.0.1","redis_port":"6379","redis_index":"1","redis_pass":"","redis_socket":"\/var\/run\/redis\/redis-server.sock","enable_memcached":"1","memcached_server":"127.0.0.1","memcached_port":"11211","memcached_auth":"","memcached_user":"","memcached_pass":"","allow_long_session":"","long_session_lifetime":"30","encrypt_ajax_requests":"","encrypt_local_storage":"","disable_ip_check":"","allow_external_image_sources":"","single_server_mode":"","disable_empty_superglobals":"","disable_open_basedir":"","disable_ini_settings":"","disable_fingerprint":"","db_connection_type":"host","db_host":"127.0.0.1","db_port":"3306","db_socket":"\/var\/lib\/mysqld\/mysqld.sock","db_name":"cypht","db_user":"root","db_pass":"123456","db_driver":"mysql","modules":["core","contacts","local_contacts","feeds","pop3","imap","smtp","account","idle_timer","calendar","themes","nux","developer","history","saved_searches","advanced_search","highlights","profiles","inline_message","imap_folders","keyboard_shortcuts"],"version":0.1,"handler_modules":{"home":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"load_smtp_servers_from_config":["smtp",true],"check_missing_passwords":["core",true],"message_list_type":["core",true],"process_oauth2_authorization":["nux",true],"nux_homepage_data":["nux",true],"nux_dev_news":["nux",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"servers":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"process_add_pop3_server":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"save_pop3_servers":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"process_add_feed":["feeds",true],"add_feeds_to_page_data":["feeds",true],"save_feeds":["feeds",true],"message_list_type":["core",true],"process_add_imap_server":["imap",true],"process_add_jmap_server":["imap",true],"save_imap_servers":["imap",true],"language":["core",true],"load_smtp_servers_from_config":["smtp",true],"process_add_smtp_server":["smtp",true],"add_smtp_servers_to_page_data":["smtp",true],"save_smtp_servers":["smtp",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"reload_folder_cookie":["core",true],"logout":["core",true],"http_headers":["core",true]},"compose":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"imap_forward_attachments":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"special_folders":["imap_folders",true],"smtp_from_replace":["smtp",true],"load_smtp_is_imap_draft":["smtp",true],"load_smtp_reply_to_details":["smtp",true],"load_smtp_servers_from_config":["smtp",true],"compose_profile_data":["profiles",true],"process_compose_form_submit":["smtp",true],"imap_mark_as_answered":["imap",true],"imap_save_sent":["imap",true],"imap_unflag_on_send":["imap",true],"add_smtp_servers_to_page_data":["smtp",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"process_send_to_contact":["contacts",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"save":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"process_save_form":["core",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"settings":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"process_idle_time_setting":["idle_timer",true],"process_imap_per_page_setting":["imap",true],"process_unread_on_open":["imap",true],"process_simple_msg_parts":["imap",true],"process_msg_part_icons":["imap",true],"process_text_only_setting":["imap",true],"process_sent_source_max_setting":["imap",true],"process_sent_since_setting":["imap",true],"process_show_list_icons":["core",true],"process_mailto_handler_setting":["core",true],"process_default_sort_order_setting":["core",true],"process_start_page_setting":["core",true],"process_no_password_setting":["core",true],"process_delete_prompt_setting":["core",true],"process_hide_folder_icons":["core",true],"process_all_email_source_max_setting":["core",true],"process_all_email_since_setting":["core",true],"process_all_since_setting":["core",true],"process_all_source_max_setting":["core",true],"process_unread_source_max_setting":["core",true],"process_flagged_source_max_setting":["core",true],"process_flagged_since_setting":["core",true],"process_unread_since_setting":["core",true],"process_timezone_setting":["core",true],"process_list_style_setting":["core",true],"process_language_setting":["core",true],"reset_factory":["core",true],"process_unread_feeds_setting":["feeds",true],"process_feed_limit_setting":["feeds",true],"process_feed_since_setting":["feeds",true],"process_compose_type":["smtp",true],"process_auto_bcc":["smtp",true],"process_theme_setting":["themes",true],"process_inline_message_setting":["inline_message",true],"process_inline_message_style":["inline_message",true],"process_enable_shortcut_setting":["keyboard_shortcuts",true],"save_user_settings":["core",true],"attachment_dir":["smtp",true],"reload_folder_cookie":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"message_list":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_inline_message_setting":["inline_message",true],"highlight_list_data":["highlights",true],"load_feeds_from_config":["feeds",true],"load_feeds_for_message_list":["feeds",true],"default_sort_order_setting":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"pop3_message_list_type":["pop3",true],"feed_list_type":["feeds",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"search":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_search":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_inline_message_setting":["inline_message",true],"save_searches_data":["saved_searches",true],"load_feeds_from_config":["feeds",true],"load_feeds_for_search":["feeds",true],"default_sort_order_setting":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_for_search":["imap",true],"pop3_message_list_type":["pop3",true],"feed_list_type":["feeds",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"advanced_search":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"default_sort_order_setting":["core",true],"message_list_type":["advanced_search",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"advanced_search_prepare":["advanced_search",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_reset_search":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"reset_search":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"message":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"add_feeds_to_page_data":["feeds",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"imap_show_message":["imap",true],"imap_download_message":["imap",true],"pop3_message_list_type":["pop3",true],"feed_list_type":["feeds",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"notfound":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_message_action":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"imap_message_action":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"imap_oauth2_token_check":["imap",true],"load_pop3_servers_from_config":["pop3",true],"pop3_message_action":["pop3",true],"save_pop3_servers":["pop3",true],"load_feeds_from_config":["feeds",true],"feed_message_action":["feeds",true],"save_feeds":["feeds",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_update_server_pw":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_smtp_servers_from_config":["smtp",true],"load_imap_servers_from_config":["imap",true],"load_pop3_servers_from_config":["pop3",true],"check_missing_passwords":["core",true],"process_pw_update":["core",true],"save_imap_servers":["imap",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_hm_folders":{"login":["core",false],"check_internal_users":["account",true],"default_page_data":["core",true],"load_user_data":["core",true],"get_shortcut_setting":["keyboard_shortcuts",true],"imap_folder_check":["imap_folders",true],"saved_search_folder_data":["saved_searches",true],"load_theme":["themes",true],"load_imap_servers_from_config":["imap",true],"smtp_auto_bcc_check":["smtp",true],"add_imap_servers_to_page_data":["imap",true],"load_imap_folders":["imap",true],"imap_oauth2_token_check":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_folders":["pop3",true],"load_feeds_from_config":["feeds",true],"add_feeds_to_page_data":["feeds",true],"load_feed_folders":["feeds",true],"check_folder_icon_setting":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_test":{"login":["core",false],"load_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"contacts":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"process_edit_contact":["local_contacts",true],"load_edit_contact":["local_contacts",true],"process_add_contact":["local_contacts",true],"message_list_type":["contacts",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_imap_message_content":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_bust_cache":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_message_content":["imap",true],"find_message_contacts":["contacts",true],"history_record_imap_message":["history",true],"vcalendar_check":["calendar",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"close_session_early":["core",true]},"ajax_add_contact":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"language":["core",true],"process_add_contact_from_message":["local_contacts",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_autocomplete_contact":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"autocomplete_contact":["contacts",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_delete_contact":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"language":["core",true],"process_delete_contact":["local_contacts",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"info":[],"ajax_feed_combined":{"login":["core",false],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"message_list_type":["core",true],"feed_list_type":["feeds",true],"load_feeds_from_config":["feeds",true],"close_session_early":["core",true],"feed_list_content":["feeds",true],"date":["core",true],"http_headers":["core",true]},"ajax_feed_item_content":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_feeds_from_config":["feeds",true],"feed_item_content":["feeds",true],"history_record_feed_message":["history",true],"save_feeds":["feeds",true],"date":["core",true],"http_headers":["core",true]},"ajax_feed_debug":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_feeds_from_config":["feeds",true],"delete_feed":["feeds",true],"feed_connect":["feeds",true],"save_feeds":["feeds",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_feed_status":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_feeds_from_config":["feeds",true],"close_session_early":["core",true],"feed_status":["feeds",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_folder_display":{"login":["core",false],"load_user_data":["core",true],"load_theme":["themes",true],"load_pop3_servers_from_config":["pop3",true],"language":["core",true],"message_list_type":["core",true],"pop3_message_list_type":["pop3",true],"close_session_early":["core",true],"pop3_folder_page":["pop3",true],"save_pop3_cache":["pop3",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_message_display":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_pop3_servers_from_config":["pop3",true],"pop3_message_content":["pop3",true],"history_record_pop3_message":["history",true],"save_pop3_servers":["pop3",true],"save_pop3_cache":["pop3",true],"close_session_early":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_status":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_pop3_servers_from_config":["pop3",true],"close_session_early":["core",true],"pop3_status":["pop3",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_debug":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"pop3_connect":["pop3",true],"pop3_delete":["pop3",true],"pop3_forget":["pop3",true],"pop3_save":["pop3",true],"save_pop3_servers":["pop3",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_mark_as_read":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_mark_as_read":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_debug":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_hide":["imap",true],"imap_connect":["imap",true],"imap_delete":["imap",true],"imap_forget":["imap",true],"imap_save":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"save_user_data":["core",true]},"ajax_imap_flag_message":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"flag_imap_message":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true]},"ajax_imap_sent":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_sent":["imap",true],"save_imap_cache":["imap",true]},"ajax_imap_folder_status":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_folder_status":["imap",true]},"ajax_imap_unread":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_unread":["imap",true],"save_imap_cache":["imap",true]},"ajax_imap_update_combined_source":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"process_imap_source_update":["imap",true],"close_session_early":["core",true]},"ajax_imap_status":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_status":["imap",true]},"ajax_imap_move_copy_action":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_process_move":["imap",true],"save_imap_cache":["imap",true],"close_session_early":["core",true]},"ajax_imap_flagged":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_flagged":["imap",true]},"ajax_imap_delete_message":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_delete_message":["imap",true]},"ajax_imap_archive_message":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_archive_message":["imap",true]},"ajax_imap_folder_expand":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_folder_expand":["imap",true],"add_folder_manage_link":["imap_folders",true],"save_imap_cache":["imap",true]},"ajax_imap_folder_display":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_folder_page":["imap",true],"save_imap_cache":["imap",true],"close_session_early":["core",true]},"ajax_imap_search":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"default_sort_order_setting":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_search":["imap",true]},"ajax_adv_search":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"process_adv_search_request":["advanced_search",true],"default_sort_order_setting":["core",true],"language":["core",true],"date":["core",true],"advanced_search_prepare":["advanced_search",true],"http_headers":["core",true]},"ajax_imap_combined_inbox":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_combined_inbox":["imap",true]},"ajax_imap_all_email":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_combined_inbox":["imap",true]},"functional_api":{"default_smtp_server":["smtp",true]},"profiles":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_smtp_servers_from_config":["smtp",true],"add_smtp_servers_to_page_data":["smtp",true],"profile_data":["profiles",true],"process_profile_delete":["profiles",true],"process_profile_update":["profiles",true],"profile_edit_data":["profiles",true],"message_list_type":["profiles",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_smtp_debug":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["smtp",true],"add_smtp_servers_to_page_data":["smtp",true],"smtp_connect":["smtp",true],"smtp_delete":["smtp",true],"smtp_forget":["smtp",true],"smtp_save":["smtp",true],"save_smtp_servers":["smtp",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_smtp_save_draft":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["imap",true],"compose_profile_data":["profiles",true],"load_imap_servers_from_config":["imap",true],"smtp_save_draft":["smtp",true],"date":["core",true],"http_headers":["core",true]},"ajax_get_test_chunk":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["imap",true],"load_imap_servers_from_config":["imap",true],"get_test_chunk":["smtp",true]},"ajax_upload_chunk":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["smtp",true],"load_imap_servers_from_config":["smtp",true],"compose_profile_data":["profiles",true],"upload_chunk":["smtp",true]},"ajax_smtp_delete_draft":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"process_delete_draft":["smtp",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_profiles_status":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"profile_status":["smtp",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_clear_attachment_chunks":{"login":["core",false],"load_user_data":["core",true],"clear_attachment_chunks":["smtp",true]},"accounts":{"stay_logged_in":["core",false],"login":["core",false],"check_internal_users":["account",true],"account_list":["account",true],"process_create_account":["account",true],"process_delete_account":["account",true],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["account",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"change_password":{"stay_logged_in":["core",false],"login":["core",false],"check_internal_users":["account",true],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"process_change_password":["account",true],"message_list_type":["account",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_no_op":{"login":["core",false],"load_user_data":["core",true],"process_idle_time":["idle_timer",true],"date":["core",true],"http_headers":["core",true]},"calendar":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_calendar_date":["calendar",true],"process_delete_event":["calendar",true],"process_add_event":["calendar",true],"message_list_type":["calendar",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_wordpess_notifications":[],"ajax_github_data":[],"ajax_nux_service_select":{"login":["core",false],"load_user_data":["core",true],"setup_nux":["nux",true],"process_nux_service":["nux",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_nux_add_service":{"login":["core",false],"load_user_data":["core",true],"setup_nux":["nux",true],"load_smtp_servers_from_config":["smtp",true],"load_imap_servers_from_config":["imap",true],"process_nux_add_service":["nux",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"history":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_inline_message_setting":["inline_message",true],"message_list_type":["history",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"load_message_history":["history",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_github_event_detail":[],"ajax_wp_notice_display":[],"ajax_save_search":{"login":["core",false],"load_user_data":["core",true],"save_search":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"ajax_update_search":{"login":["core",false],"load_user_data":["core",true],"update_search":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"ajax_delete_search":{"login":["core",false],"load_user_data":["core",true],"delete_search":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"ajax_update_save_search_label":{"login":["core",false],"load_user_data":["core",true],"update_save_search_label":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"highlights":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"message_list_type":["highlights",true],"language":["core",true],"highlight_process_form":["highlights",true],"highlight_page_data":["highlights",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_smtp_attach_file":[],"folders":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"folders_server_id":["imap_folders",true],"special_folders":["imap_folders",true],"message_list_type":["imap_folders",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_imap_folders_delete":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_folder_delete":["imap_folders",true],"imap_bust_cache":["imap",true],"close_session_early":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_folders_rename":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_folder_rename":["imap_folders",true],"imap_bust_cache":["imap",true],"close_session_early":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_folders_create":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_folder_create":["imap_folders",true],"imap_bust_cache":["imap",true],"close_session_early":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_clear_special_folder":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_clear_special_folder":["imap_folders",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_special_folder":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_special_folder":["imap_folders",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"shortcuts":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_edit_id":["keyboard_shortcuts",true],"process_edit_shortcut":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["keyboard_shortcuts",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]}},"output_modules":{"home":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"home_heading":["core",true],"home_password_dialogs":["core",true],"welcome_dialog":["nux",true],"nux_help":["nux",true],"nux_dev_news":["nux",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"servers":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"server_content_start":["core",true],"quick_add_section":["nux",true],"quick_add_dialog":["nux",true],"add_smtp_server_dialog":["smtp",true],"display_configured_smtp_servers":["smtp",true],"add_imap_server_dialog":["imap",true],"display_configured_imap_servers":["imap",true],"add_jmap_server_dialog":["imap",true],"display_configured_jmap_servers":["imap",true],"add_pop3_server_dialog":["pop3",true],"display_configured_pop3_servers":["pop3",true],"add_feed_dialog":["feeds",true],"display_configured_feeds":["feeds",true],"server_content_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"feed_ids":["feeds",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"compose":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"compose_form_draft_list":["smtp",true],"compose_signature_values":["profiles",true],"compose_form_start":["smtp",true],"compose_form_content":["smtp",true],"compose_signature_button":["profiles",true],"imap_unflag_on_send_controls":["imap",true],"compose_form_end":["smtp",true],"compose_form_attach":["smtp",true],"content_section_end":["core",true],"save_reminder":["core",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"save":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"save_form":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"settings":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"start_settings_form":["core",true],"start_general_settings":["core",true],"enable_shortcut_setting":["keyboard_shortcuts",true],"inline_message_setting":["inline_message",true],"inline_message_style":["inline_message",true],"compose_type_setting":["smtp",true],"attachment_setting":["smtp",true],"auto_bcc_setting":["smtp",true],"language_setting":["core",true],"theme_setting":["feeds",true],"timezone_setting":["core",true],"no_folder_icon_setting":["core",true],"mailto_handler_setting":["core",true],"msg_list_icons_setting":["core",true],"imap_msg_icons_setting":["imap",true],"imap_unread_on_open":["imap",true],"imap_simple_msg_parts":["imap",true],"imap_per_page_setting":["imap",true],"list_style_setting":["core",true],"idle_time_setting":["idle_timer",true],"text_only_setting":["imap",true],"delete_prompt_setting":["core",true],"no_password_setting":["core",true],"start_page_setting":["core",true],"default_sort_order_setting":["core",true],"start_unread_settings":["core",true],"unread_since_setting":["core",true],"unread_source_max_setting":["core",true],"unread_feeds_included":["feeds",true],"start_flagged_settings":["core",true],"flagged_since_setting":["core",true],"flagged_source_max_setting":["core",true],"start_everything_settings":["core",true],"all_since_setting":["core",true],"all_source_max_setting":["core",true],"start_all_email_settings":["core",true],"all_email_since_setting":["core",true],"all_email_source_max_setting":["core",true],"start_feed_settings":["feeds",true],"feed_since_setting":["feeds",true],"feed_limit_setting":["feeds",true],"start_sent_settings":["imap",true],"sent_since_setting":["imap",true],"sent_source_max_setting":["imap",true],"end_settings_form":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"message_list":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"inline_message_flag":["inline_message",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"highlight_css":["highlights",true],"content_section_start":["core",true],"imap_custom_controls":["imap",true],"move_copy_controls":["imap",true],"message_list_heading":["core",true],"nux_message_list_notice":["nux",true],"message_list_start":["core",true],"message_list_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"search":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"inline_message_flag":["inline_message",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"search_move_copy_controls":["core",true],"search_content_start":["core",true],"search_form_start":["core",true],"search_form_content":["core",true],"search_name_fld":["saved_searches",true],"advanced_search_link":["advanced_search",true],"search_form_end":["core",true],"update_search_icon":["saved_searches",true],"delete_search_icon":["saved_searches",true],"message_list_start":["core",true],"search_results_table_end":["core",true],"update_search_label_icon":["saved_searches",true],"save_search_icon":["saved_searches",true],"search_content_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"advanced_search":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"search_move_copy_controls":["core",true],"advanced_search_content_start":["advanced_search",true],"advanced_search_form_start":["advanced_search",true],"advanced_search_form_content":["advanced_search",true],"advanced_search_form_end":["advanced_search",true],"message_list_start":["advanced_search",true],"advanced_search_results_table_end":["advanced_search",true],"advanced_search_content_end":["advanced_search",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"message":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"message_start":["core",true],"message_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"notfound":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"notfound_content":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_hm_folders":{"filter_feed_folders":["feeds",true],"filter_pop3_folders":["pop3",true],"filter_imap_folders":["imap",true],"search_folders":["saved_searches",true],"folder_list_content_start":["core",true],"main_menu_start":["core",true],"search_from_folder_list":["core",true],"main_menu_content":["core",true],"contacts_page_link":["contacts",true],"compose_page_link":["smtp",true],"sent_folder_link":["smtp",true],"calendar_page_link":["calendar",true],"history_page_link":["history",true],"logout_menu_item":["core",true],"main_menu_end":["core",true],"email_menu_content":["core",true],"settings_menu_start":["core",true],"settings_servers_link":["core",true],"settings_site_link":["core",true],"settings_save_link":["core",true],"highlight_link":["highlights",true],"change_password_link":["account",true],"create_account_link":["account",true],"profile_page_link":["profiles",true],"folders_page_link":["imap_folders",true],"shortcuts_page_link":["keyboard_shortcuts",true],"settings_menu_end":["core",true],"folder_list_content_end":["core",true]},"contacts":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"contacts_content_start":["contacts",true],"contacts_form":["contacts",true],"contacts_list":["contacts",true],"contacts_content_end":["contacts",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_imap_message_content":{"filter_message_headers":["imap",true],"add_message_contacts":["contacts",true],"filter_message_body":["imap",true],"filter_message_struct":["imap",true]},"ajax_autocomplete_contact":{"filter_autocomplete_list":["contacts",true]},"info":[],"ajax_feed_combined":{"filter_feed_list_data":["feeds",true]},"ajax_feed_item_content":{"filter_feed_item_content":["feeds",true]},"ajax_feed_status":{"filter_feed_status_data":["feeds",true]},"ajax_pop3_folder_display":{"filter_pop3_message_list":["pop3",true]},"ajax_pop3_message_display":{"filter_pop3_message_content":["pop3",true]},"ajax_pop3_status":{"filter_pop3_status_data":["pop3",true]},"ajax_imap_sent":{"filter_sent_data":["imap",true]},"ajax_imap_unread":{"filter_unread_data":["imap",true]},"ajax_imap_status":{"filter_imap_status_data":["imap",true]},"ajax_imap_flagged":{"filter_flagged_data":["imap",true]},"ajax_imap_folder_expand":{"filter_expanded_folder_data":["imap",true]},"ajax_imap_folder_display":{"filter_folder_page":["imap",true]},"ajax_imap_search":{"filter_imap_search":["imap",true]},"ajax_imap_combined_inbox":{"filter_combined_inbox":["imap",true]},"ajax_imap_all_email":{"filter_all_email":["imap",true]},"accounts":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"create_form":["account",true],"user_list":["account",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"change_password":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"change_password":["account",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"calendar":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"add_cal_event_form":["calendar",true],"calendar_content":["calendar",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_nux_service_select":{"filter_service_select":["nux",true]},"history":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"inline_message_flag":["inline_message",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"history_heading":["history",true],"history_content":["history",true],"history_footer":["history",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_save_search":{"filter_saved_search_result":["saved_searches",true]},"ajax_update_search":{"filter_saved_search_result":["saved_searches",true]},"ajax_delete_search":{"filter_saved_search_result":["saved_searches",true]},"ajax_update_save_search_label":{"filter_saved_search_result":["saved_searches",true]},"ajax_adv_search":{"filter_imap_advanced_search":["advanced_search",true]},"highlights":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"highlight_config_page":["highlights",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"profiles":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"profile_edit_form":["profiles",true],"profile_content":["profiles",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"folders":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"folders_content_start":["imap_folders",true],"folders_server_select":["imap_folders",true],"folders_create_dialog":["imap_folders",true],"folders_rename_dialog":["imap_folders",true],"folders_delete_dialog":["imap_folders",true],"folders_trash_dialog":["imap_folders",true],"folders_sent_dialog":["imap_folders",true],"folders_draft_dialog":["imap_folders",true],"folders_archive_dialog":["imap_folders",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"shortcuts":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"start_shortcuts_page":["keyboard_shortcuts",true],"shortcut_edit_form":["keyboard_shortcuts",true],"shortcuts_content":["keyboard_shortcuts",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]}},"input_filters":{"allowed_output":{"date":[522,false],"formatted_folder_list":[516,false],"router_user_msgs":[522,16777216],"router_login_state":[258,false],"formatted_message_list":[516,16777216],"just_saved_credentials":[258,false],"just_forgot_credentials":[258,false],"deleted_server_id":[257,false],"msg_headers":[516,false],"msg_text":[516,false],"msg_parts":[516,false],"page_links":[516,false],"folder_status":[522,16777216],"contact_deleted":[257,false],"contact_suggestions":[522,16777216],"feed_connect_status":[522,false],"feed_connect_time":[522,false],"feed_detail_display":[516,false],"feed_status_display":[516,false],"feed_status_server_id":[257,false],"feed_server_ids":[522,false],"feed_msg_headers":[516,false],"feed_msg_text":[516,false],"pop3_connect_status":[522,false],"pop3_connect_time":[522,false],"pop3_detail_display":[522,false],"pop3_status_display":[516,false],"pop3_status_server_id":[257,false],"pop3_server_id":[257,false],"imap_connect_status":[522,false],"connect_status":[522,false],"auto_sent_folder":[522,false],"imap_connect_time":[522,false],"imap_detail_display":[516,false],"imap_status_display":[516,false],"imap_status_server_id":[257,false],"imap_expanded_folder_path":[522,false],"imap_expanded_folder_formatted":[516,false],"imap_server_ids":[522,false],"imap_server_id":[257,false],"combined_inbox_server_ids":[522,false],"imap_delete_error":[258,false],"move_count":[522,16777216],"file_details":[516,false],"draft_subject":[522,false],"draft_id":[257,false],"profile_value":[522,false],"nux_service_step_two":[516,false],"nux_account_added":[258,false],"saved_search_result":[257,false],"new_saved_search_label":[522,false],"imap_folders_success":[257,false],"imap_special_name":[522,false]},"allowed_get":{"page":522,"msgs":522,"list_path":522,"list_parent":522,"list_page":257,"uid":522,"search_terms":516,"search_since":522,"search_fld":522,"filter":522,"sort":522,"keyword":522,"contact_id":257,"contact_page":257,"contact_type":522,"contact_source":522,"imap_server_id":257,"imap_download_message":258,"imap_show_message":258,"imap_msg_part":522,"imap_draft":257,"reply":257,"reply_all":257,"forward":257,"draft_id":257,"hm_ajax_hook":522,"compose_to":522,"mailto_uri":522,"compose_from":522,"resumableChunkNumber":257,"resumableTotalChunks":257,"resumableChunkSize":257,"resumableCurrentChunkSize":257,"resumableTotalSize":257,"resumableType":522,"resumableIdentifier":522,"resumableFilename":522,"resumableRelativePath":522,"draft_smtp":522,"date":522,"view":522,"action":522,"code":522,"state":522,"error":522,"security_token":522,"search_name":522,"profile_id":257,"edit_id":257},"allowed_cookie":{"CYPHTID":522,"hm_id":522,"hm_session":522,"hm_msgs":522},"allowed_post":{"payload":522,"reset_factory":522,"hm_page_key":522,"logout":258,"save_and_logout":258,"limit":257,"username":522,"show_list_icons":258,"password":516,"hm_ajax_hook":522,"save_settings":522,"save_settings_permanently":522,"save_settings_permanently_then_logout":522,"language":522,"flagged_per_source":257,"flagged_since":522,"unread_per_source":257,"unread_since":522,"all_email_per_source":257,"all_email_since":522,"all_per_source":257,"all_since":522,"no_folder_icons":258,"mailto_handler":258,"list_style":522,"timezone":522,"disable_delete_prompt":257,"section_state":522,"section_class":522,"message_ids":522,"action_type":522,"server_pw_id":522,"message_list_since":522,"no_password_save":258,"start_page":522,"default_sort_order":522,"stay_logged_in":258,"contact_email":522,"contact_name":522,"contact_phone":522,"contact_id":257,"contact_value":522,"edit_contact":522,"add_contact":522,"contact_source":522,"contact_type":522,"feed_id":257,"delete_feed":257,"feed_connect":257,"feed_server_ids":522,"submit_feed":522,"new_feed_name":522,"feed_delete":257,"new_feed_address":522,"unread_exclude_feeds":257,"feed_list_path":522,"feed_uid":522,"feed_since":522,"feed_limit":257,"feed_search":257,"new_pop3_name":522,"new_pop3_address":522,"new_pop3_port":522,"pop3_connect":257,"pop3_forget":257,"pop3_save":257,"pop3_delete":257,"submit_pop3_server":522,"pop3_server_id":257,"pop3_server_ids":522,"pop3_user":522,"pop3_pass":516,"pop3_list_path":522,"pop3_uid":257,"pop3_limit":257,"pop3_since":522,"pop3_unread_only":258,"pop3_search":257,"server_port":257,"server":522,"imap_server_id":257,"imap_server_ids":522,"imap_user":522,"imap_pass":516,"text_only":258,"msg_part_icons":258,"simple_msg_parts":258,"unread_on_open":258,"imap_allow_images":258,"imap_delete":522,"imap_connect":522,"imap_remember":257,"imap_folder_ids":522,"imap_forget":522,"imap_save":522,"submit_imap_server":522,"submit_jmap_server":522,"new_jmap_address":518,"new_jmap_name":522,"new_imap_address":522,"new_imap_hidden":258,"new_imap_port":257,"new_imap_name":522,"tls":258,"folder":522,"force_update":258,"imap_folder_state":516,"imap_msg_uid":522,"imap_msg_part":522,"imap_prefetch":258,"hide_imap_server":258,"imap_flag_state":522,"combined_source_state":257,"list_path":522,"imap_move_ids":522,"imap_move_to":522,"imap_move_action":522,"sent_since":522,"sent_per_source":522,"imap_move_page":522,"compose_unflag_send":258,"imap_per_page":257,"post_archive":257,"attachment_id":522,"smtp_compose_type":257,"new_smtp_name":522,"new_smtp_address":522,"new_smtp_port":522,"smtp_connect":257,"smtp_forget":257,"smtp_save":257,"smtp_delete":257,"smtp_send":257,"submit_smtp_server":522,"smtp_server_id":257,"smtp_user":522,"smtp_pass":516,"delete_uploaded_files":258,"compose_to":516,"compose_msg_path":522,"compose_msg_uid":257,"compose_body":516,"compose_subject":516,"compose_in_reply_to":516,"compose_cc":516,"compose_bcc":516,"compose_smtp_id":522,"draft_id":257,"draft_body":516,"draft_subject":516,"draft_to":516,"draft_smtp":522,"draft_cc":516,"draft_bcc":516,"draft_in_reply_to":516,"draft_notice":258,"smtp_auto_bcc":257,"profile_value":522,"uploaded_files":522,"send_uploaded_files":522,"create_username":522,"create_password":516,"create_password_again":516,"delete_username":522,"new_pass1":516,"new_pass2":516,"old_pass":516,"change_password":522,"idle_time":257,"event_title":522,"event_detail":522,"event_date":522,"event_time":522,"event_repeat":522,"delete_id":522,"theme_setting":522,"nux_service":522,"nux_email":522,"nux_name":522,"nux_pass":516,"nux_account_name":522,"search_name":522,"search_terms":522,"search_fld":522,"search_since":522,"search_terms_label":522,"old_search_terms_label":522,"adv_source":522,"adv_start":522,"adv_source_limit":257,"adv_end":522,"adv_charset":522,"adv_flags":{"filter":522,"flags":16777216},"adv_terms":{"filter":522,"flags":16777216},"adv_targets":{"filter":522,"flags":16777216},"rule_del_id":257,"hl_target":522,"hl_color":522,"hl_source_type":522,"hl_important":258,"hl_feeds_unseen":258,"hl_github_unseen":258,"hl_imap_flags":{"filter":522,"flags":16777216},"hl_imap_sources":{"filter":522,"flags":16777216},"hl_github_sources":{"filter":522,"flags":16777216},"hl_feeds_sources":{"filter":522,"flags":16777216},"profile_name":522,"profile_id":257,"profile_replyto":522,"profile_smtp":522,"profile_imap":522,"profile_default":257,"profile_address":522,"profile_sig":516,"profile_delete":522,"inline_message":257,"inline_message_style":522,"parent":522,"new_folder":522,"special_folder_type":522,"enable_keyboard_shortcuts":257,"shortcut_meta":{"filter":522,"flags":67108864},"shortcut_key":257,"shortcut_id":257},"allowed_server":{"REQUEST_URI":522,"REQUEST_METHOD":522,"SERVER_ADDR":275,"REMOTE_ADDR":275,"SERVER_PORT":257,"SERVER_PROTOCOL":522,"PHP_SELF":522,"REQUEST_SCHEME":522,"HTTP_HOST":522,"HTTP_ORIGIN":273,"HTTP_REFERER":273,"HTTP_ACCEPT_LANGUAGE":522,"HTTP_ACCEPT_ENCODING":522,"HTTP_ACCEPT_CHARSET":522,"HTTP_ACCEPT":522,"HTTP_USER_AGENT":522,"HTTPS":522,"SERVER_NAME":522,"HTTP_X_REQUESTED_WITH":522,"HTTP_X_FORWARDED_HOST":522},"allowed_pages":["save","home","compose","message_list","message","settings","servers","ajax_test","ajax_hm_folders","ajax_message_action","ajax_reset_search","ajax_update_server_pw","ajax_no_op","notfound","search","contacts","ajax_add_contact","ajax_delete_contact","ajax_autocomplete_contact","ajax_feed_combined_inbox","ajax_feed_list_display","ajax_feed_item_content","ajax_feed_combined","ajax_feed_debug","ajax_feed_status","ajax_pop3_debug","ajax_pop3_message_display","ajax_pop3_folder_display","ajax_pop3_unread","ajax_pop3_status","ajax_imap_debug","ajax_imap_status","ajax_imap_unread","ajax_imap_sent","ajax_imap_flagged","ajax_imap_folder_expand","ajax_imap_folder_display","ajax_imap_combined_inbox","ajax_imap_search","ajax_unread_count","ajax_imap_message_content","ajax_imap_save_folder_state","ajax_imap_message_action","ajax_imap_delete_message","ajax_imap_archive_message","ajax_imap_flag_message","ajax_imap_update_combined_source","ajax_imap_mark_as_read","ajax_imap_move_copy_action","ajax_imap_folder_status","ajax_clear_attachment_chunks","ajax_smtp_debug","ajax_smtp_save_draft","ajax_smtp_delete_draft","ajax_profiles_status","ajax_get_test_chunk","ajax_upload_chunk","accounts","change_password","ajax_no_op","calendar","ajax_nux_service_select","ajax_nux_add_service","history","ajax_save_search","ajax_update_search","ajax_delete_search","ajax_update_save_search_label","advanced_search","ajax_adv_search","highlights","profiles","folders","ajax_imap_folders_delete","ajax_imap_folders_create","ajax_imap_folders_rename","ajax_imap_special_folder","ajax_imap_clear_special_folder","shortcuts"]}} \ No newline at end of file From 452d558293b8d86117297a405a3d1887b00a56b4 Mon Sep 17 00:00:00 2001 From: Henock Date: Sun, 15 Jan 2023 00:03:54 +0100 Subject: [PATCH 03/24] Feat: add dropdown arrow image --- lib/output.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/output.php b/lib/output.php index e3c1d1cfe3..1754c7461f 100644 --- a/lib/output.php +++ b/lib/output.php @@ -133,6 +133,8 @@ public static function __callStatic(string $method, array $parameters) public static $three_dot = 'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230px%22%20height%3D%2230px%22%3E%20%20%20%20%3Cpath%20d%3D%22M%207%204%20C%206.744125%204%206.4879687%204.0974687%206.2929688%204.2929688%20L%204.2929688%206.2929688%20C%203.9019687%206.6839688%203.9019687%207.3170313%204.2929688%207.7070312%20L%2011.585938%2015%20L%204.2929688%2022.292969%20C%203.9019687%2022.683969%203.9019687%2023.317031%204.2929688%2023.707031%20L%206.2929688%2025.707031%20C%206.6839688%2026.098031%207.3170313%2026.098031%207.7070312%2025.707031%20L%2015%2018.414062%20L%2022.292969%2025.707031%20C%2022.682969%2026.098031%2023.317031%2026.098031%2023.707031%2025.707031%20L%2025.707031%2023.707031%20C%2026.098031%2023.316031%2026.098031%2022.682969%2025.707031%2022.292969%20L%2018.414062%2015%20L%2025.707031%207.7070312%20C%2026.098031%207.3170312%2026.098031%206.6829688%2025.707031%206.2929688%20L%2023.707031%204.2929688%20C%2023.316031%203.9019687%2022.682969%203.9019687%2022.292969%204.2929688%20L%2015%2011.585938%20L%207.7070312%204.2929688%20C%207.5115312%204.0974687%207.255875%204%207%204%20z%22%2F%3E%3C%2Fsvg%3E'; public static $close = 'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%0D%0Awidth%3D%228%22%20height%3D%228%22%20viewBox%3D%220%200%2030%2030%22%3E%0D%0A%20%20%20%20%3Cpath%20d%3D%22M%207%204%20C%206.744125%204%206.4879687%204.0974687%206.2929688%204.2929688%20L%204.2929688%206.2929688%20C%203.9019687%206.6839688%203.9019687%207.3170313%204.2929688%207.7070312%20L%2011.585938%2015%20L%204.2929688%2022.292969%20C%203.9019687%2022.683969%203.9019687%2023.317031%204.2929688%2023.707031%20L%206.2929688%2025.707031%20C%206.6839688%2026.098031%207.3170313%2026.098031%207.7070312%2025.707031%20L%2015%2018.414062%20L%2022.292969%2025.707031%20C%2022.682969%2026.098031%2023.317031%2026.098031%2023.707031%2025.707031%20L%2025.707031%2023.707031%20C%2026.098031%2023.316031%2026.098031%2022.682969%2025.707031%2022.292969%20L%2018.414062%2015%20L%2025.707031%207.7070312%20C%2026.098031%207.3170312%2026.098031%206.6829688%2025.707031%206.2929688%20L%2023.707031%204.2929688%20C%2023.316031%203.9019687%2022.682969%203.9019687%2022.292969%204.2929688%20L%2015%2011.585938%20L%207.7070312%204.2929688%20C%207.5115312%204.0974687%207.255875%204%207%204%20z%22%3E%3C%2Fpath%3E%0D%0A%3C%2Fsvg%3E'; + public static $arrow_drop_down = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDBWMHoiLz48cGF0aCBkPSJNNyAxMGw1IDUgNS01SDd6Ii8+PC9zdmc+'; + public static $arrow_drop_up = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDBWMHoiLz48cGF0aCBkPSJNNyAxNGw1LTUgNSA1SDd6Ii8+PC9zdmc+'; } /** From 75c8e24bd0880eb222f2bdda769129589e5568ce Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 25 Sep 2023 20:42:37 +0100 Subject: [PATCH 04/24] Fix: conflict --- modules/contacts/site.js | 14 ++++++----- modules/imap/output_modules.php | 41 ++++++++++++++------------------- modules/imap/site.css | 31 +++++++++++++++++++------ 3 files changed, 49 insertions(+), 37 deletions(-) diff --git a/modules/contacts/site.js b/modules/contacts/site.js index 27e6adcc1a..d2afad1569 100644 --- a/modules/contacts/site.js +++ b/modules/contacts/site.js @@ -17,22 +17,24 @@ var delete_contact = function(id, source, type) { ); }; -var add_contact_from_message_view = function(fromHeader = true) { +var add_contact_from_message_view = function(from_popup) { var contact = $('#add_contact').val(); var source = $('#contact_source').val(); + + if(from_popup) { + contact = $('#contact_info').text().replace('>','').replace('<',''); + } + if (contact) { Hm_Ajax.request( [{'name': 'hm_ajax_hook', 'value': 'ajax_add_contact'}, {'name': 'contact_value', 'value': contact}, {'name': 'contact_source', 'value': source}], function(res) { - if(fromHeader){ + if(!fromPopup){ $('.add_contact_controls').toggle(); }else{ - var popup = document.getElementById("contact_popup"); - if(popup.classList.contains("show")) { - popup.classList.toggle("show"); - } + $(".popup .show").removeClass('show'); } } ); diff --git a/modules/imap/output_modules.php b/modules/imap/output_modules.php index 67a81ebf4a..5c95c8db02 100644 --- a/modules/imap/output_modules.php +++ b/modules/imap/output_modules.php @@ -217,35 +217,28 @@ protected function output() { $contacts = $this->get('contact_store'); $contact_exists = !empty($contacts->get(null, $contact_email)); - $txt .= ''.$this->trans($name).''.$this->html_safe($value); + $rr = print_r($contacts->get(null, $contact_email), true); + + $txt .= ''.$this->trans($name).' + + + + + '; } else { if (strtolower($name) == 'flags') { diff --git a/modules/imap/site.css b/modules/imap/site.css index f66f2c2d0a..0a31bbfe16 100644 --- a/modules/imap/site.css +++ b/modules/imap/site.css @@ -100,7 +100,6 @@ /* Popup container - can be anything you want */ .popup { - margin-left: 5px; position: relative; display: inline-block; cursor: pointer; @@ -108,25 +107,26 @@ -moz-user-select: none; -ms-user-select: none; user-select: none; + display: flex; + align-items: center; } /* The actual popup */ - .popup .popup-container { + .popup > .popup-container { visibility: hidden; - width: 350px; + width: 200px; background-color: #fff; border: 1px black solid; text-align: center; border-radius: 6px; - padding: 8px 0; + padding: 20px 0; position: absolute; z-index: 1; top: 125%; - margin-left: -169px; } /* Popup arrow */ - .popup .popup-container::after { + .popup > .popup-container::after { content: ""; position: absolute; bottom: 100%; @@ -137,13 +137,30 @@ border-color: transparent transparent #555 transparent; } + .popup > .icon_arrow_up { + display: none; + } + + .popup > .icon_arrow_down { + display: block; + } + + /* Toggle this class - hide and show the popup */ - .popup .show { + .show > .popup-container { visibility: visible; -webkit-animation: fadeIn 1s; animation: fadeIn 1s; } + .show > .icon_arrow_up { + display: block; + } + .show > .icon_arrow_down { + display: none; + } + + /* Add animation (fade in the popup) */ @-webkit-keyframes fadeIn { from {opacity: 0;} From 1b8f4a5c6aaa94be37258db69dc4542b7435d858 Mon Sep 17 00:00:00 2001 From: Henock Date: Tue, 17 Jan 2023 17:31:07 +0100 Subject: [PATCH 05/24] Refactor (add contact function): split function by adding add contact from popup --- modules/contacts/site.js | 54 ++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/modules/contacts/site.js b/modules/contacts/site.js index d2afad1569..7558233ebd 100644 --- a/modules/contacts/site.js +++ b/modules/contacts/site.js @@ -17,25 +17,59 @@ var delete_contact = function(id, source, type) { ); }; -var add_contact_from_message_view = function(from_popup) { +var add_contact_from_message_view = function () { var contact = $('#add_contact').val(); var source = $('#contact_source').val(); - - if(from_popup) { - contact = $('#contact_info').text().replace('>','').replace('<',''); + + if (contact) { + Hm_Ajax.request( + [ + { name: 'hm_ajax_hook', value: 'ajax_add_contact' }, + { name: 'contact_value', value: contact }, + { name: 'contact_source', value: source }, + ], + function (res) { + $('.add_contact_controls').toggle(); + window.location.reload(); + remove_message_content(); + } + ); } + }; + + var add_contact_from_popup = function () { + var source = 'local:local'; + var contact = $('#contact_info').text().replace('>', '').replace('<', ''); + + if (contact) { + Hm_Ajax.request( + [ + { name: 'hm_ajax_hook', value: 'ajax_add_contact' }, + { name: 'contact_value', value: contact }, + { name: 'contact_source', value: source }, + ], + function (res) { + $('.popup .show').removeClass('show'); + window.location.reload(); + remove_message_content(); + } + ); + } + }; + +var add_contact_from_popup = function() { + var source = 'local:local'; + var contact = $('#contact_info').text().replace('>','').replace('<',''); if (contact) { Hm_Ajax.request( [{'name': 'hm_ajax_hook', 'value': 'ajax_add_contact'}, {'name': 'contact_value', 'value': contact}, {'name': 'contact_source', 'value': source}], - function(res) { - if(!fromPopup){ - $('.add_contact_controls').toggle(); - }else{ - $(".popup .show").removeClass('show'); - } + function (res) { + $(".popup .show").removeClass('show'); + window.location.reload(); + remove_message_content(); } ); } From 8db1d6807997b8955515f2628a52182699122d6b Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 25 Sep 2023 20:45:14 +0100 Subject: [PATCH 06/24] Fix: conflicts --- modules/imap/output_modules.php | 48 +++++++++++++++++++++++++++------ modules/imap/site.css | 20 +++++++++++--- 2 files changed, 56 insertions(+), 12 deletions(-) diff --git a/modules/imap/output_modules.php b/modules/imap/output_modules.php index 5c95c8db02..8660cfd669 100644 --- a/modules/imap/output_modules.php +++ b/modules/imap/output_modules.php @@ -214,25 +214,57 @@ protected function output() { } } - $contacts = $this->get('contact_store'); - $contact_exists = !empty($contacts->get(null, $contact_email)); - - $rr = print_r($contacts->get(null, $contact_email), true); + $contact = ($this->get('contact_store'))->get(null, $contact_email); + $contact_exists = !empty($contact); $txt .= ''.$this->trans($name).' - @@ -304,7 +304,7 @@ protected function output() { if ($this->get('list_headers')) { $txt .= format_list_headers($this); } - $lc_headers = lc_headers($headers); + $lc_headers = lc_headers($headers); if (array_key_exists('to', $lc_headers)) { $addr_list = process_address_fld($lc_headers['to']); $size = count($addr_list); @@ -322,7 +322,7 @@ protected function output() { }); $size += count($addr_list); } - + $txt .= ''; $txt .= ''; $txt .= '
'. @@ -448,7 +448,7 @@ protected function output() { $default_value = ''; if (isset($vals['sieve_config_host'])) { $default_value = $vals['sieve_config_host']; - + $res .= ''. ''; } From 62dcf9650e6de273a02c6197bc3e3296a41e35e1 Mon Sep 17 00:00:00 2001 From: Henock Date: Fri, 28 Jul 2023 21:24:37 +0100 Subject: [PATCH 08/24] lint: remove space --- modules/contacts/hm-contacts.php | 2 +- modules/contacts/site.js | 2 +- modules/ldap_contacts/modules.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/contacts/hm-contacts.php b/modules/contacts/hm-contacts.php index 5e64d678d5..2a00ee2b4f 100644 --- a/modules/contacts/hm-contacts.php +++ b/modules/contacts/hm-contacts.php @@ -25,7 +25,7 @@ public function add_contact($data) { return true; } - public function get($id, $default = false, $email_address = ""){ + public function get($id, $default=false, $email_address=""){ if(array_key_exists($id, $this->contacts)) { return $this->contacts[$id]; } diff --git a/modules/contacts/site.js b/modules/contacts/site.js index 7558233ebd..02466e73d7 100644 --- a/modules/contacts/site.js +++ b/modules/contacts/site.js @@ -17,7 +17,7 @@ var delete_contact = function(id, source, type) { ); }; -var add_contact_from_message_view = function () { +var add_contact_from_message_view = function() { var contact = $('#add_contact').val(); var source = $('#contact_source').val(); diff --git a/modules/ldap_contacts/modules.php b/modules/ldap_contacts/modules.php index a3a571f912..3ac520b182 100644 --- a/modules/ldap_contacts/modules.php +++ b/modules/ldap_contacts/modules.php @@ -17,7 +17,7 @@ class Hm_Handler_process_add_ldap_contact_from_message extends Hm_Handler_Module public function process() { $ldap_config = $this->get('ldap_config'); list($success, $form) = $this->process_form(array('contact_source', 'contact_value')); - if (!$success) { + if (!$success) { return; } list($type, $source) = explode(':', $form['contact_source']); From 8d1069863b1c5a92c757bdc32ae28108a115fa9d Mon Sep 17 00:00:00 2001 From: Henock Date: Fri, 28 Jul 2023 21:30:02 +0100 Subject: [PATCH 09/24] Fix: git ignore scripts/hm3.rc --- scripts/hm3.rc | 1 - 1 file changed, 1 deletion(-) delete mode 100755 scripts/hm3.rc diff --git a/scripts/hm3.rc b/scripts/hm3.rc deleted file mode 100755 index bb0a97944b..0000000000 --- a/scripts/hm3.rc +++ /dev/null @@ -1 +0,0 @@ -{"session_type":"PHP","auth_type":"DB","ldap_auth_server":"localhost","ldap_auth_port":"389","ldap_auth_tls":"","ldap_auth_base_dn":"example,dc=com","imap_auth_name":"localhost","imap_auth_server":"localhost","imap_auth_port":"143","imap_auth_tls":"","pop3_auth_name":"localhost","pop3_auth_server":"localhost","pop3_auth_port":"110","pop3_auth_tls":"","default_smtp_name":"","default_smtp_server":"","default_smtp_port":"","default_smtp_tls":"","default_smtp_no_auth":"","user_config_type":"file","user_settings_dir":"\/var\/lib\/hm3\/users","attachment_dir":"\/var\/lib\/hm3\/attachments","app_data_dir":"\/var\/lib\/hm3\/app_data","disable_origin_check":"","admin_users":"","cookie_domain":"","cookie_path":"","default_email_domain":"","autocreate_profile":"","redirect_after_login":"","app_name":"Cypht","always_mobile_ui":"","default_language":"en","js_compress":"","css_compress":"","enable_redis":"1","redis_server":"127.0.0.1","redis_port":"6379","redis_index":"1","redis_pass":"","redis_socket":"\/var\/run\/redis\/redis-server.sock","enable_memcached":"1","memcached_server":"127.0.0.1","memcached_port":"11211","memcached_auth":"","memcached_user":"","memcached_pass":"","allow_long_session":"","long_session_lifetime":"30","encrypt_ajax_requests":"","encrypt_local_storage":"","disable_ip_check":"","allow_external_image_sources":"","single_server_mode":"","disable_empty_superglobals":"","disable_open_basedir":"","disable_ini_settings":"","disable_fingerprint":"","db_connection_type":"host","db_host":"127.0.0.1","db_port":"3306","db_socket":"\/var\/lib\/mysqld\/mysqld.sock","db_name":"cypht","db_user":"root","db_pass":"123456","db_driver":"mysql","modules":["core","contacts","local_contacts","feeds","pop3","imap","smtp","account","idle_timer","calendar","themes","nux","developer","history","saved_searches","advanced_search","highlights","profiles","inline_message","imap_folders","keyboard_shortcuts"],"version":0.1,"handler_modules":{"home":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"load_smtp_servers_from_config":["smtp",true],"check_missing_passwords":["core",true],"message_list_type":["core",true],"process_oauth2_authorization":["nux",true],"nux_homepage_data":["nux",true],"nux_dev_news":["nux",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"servers":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"process_add_pop3_server":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"save_pop3_servers":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"process_add_feed":["feeds",true],"add_feeds_to_page_data":["feeds",true],"save_feeds":["feeds",true],"message_list_type":["core",true],"process_add_imap_server":["imap",true],"process_add_jmap_server":["imap",true],"save_imap_servers":["imap",true],"language":["core",true],"load_smtp_servers_from_config":["smtp",true],"process_add_smtp_server":["smtp",true],"add_smtp_servers_to_page_data":["smtp",true],"save_smtp_servers":["smtp",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"reload_folder_cookie":["core",true],"logout":["core",true],"http_headers":["core",true]},"compose":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"imap_forward_attachments":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"special_folders":["imap_folders",true],"smtp_from_replace":["smtp",true],"load_smtp_is_imap_draft":["smtp",true],"load_smtp_reply_to_details":["smtp",true],"load_smtp_servers_from_config":["smtp",true],"compose_profile_data":["profiles",true],"process_compose_form_submit":["smtp",true],"imap_mark_as_answered":["imap",true],"imap_save_sent":["imap",true],"imap_unflag_on_send":["imap",true],"add_smtp_servers_to_page_data":["smtp",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"process_send_to_contact":["contacts",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"save":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"process_save_form":["core",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"settings":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"process_idle_time_setting":["idle_timer",true],"process_imap_per_page_setting":["imap",true],"process_unread_on_open":["imap",true],"process_simple_msg_parts":["imap",true],"process_msg_part_icons":["imap",true],"process_text_only_setting":["imap",true],"process_sent_source_max_setting":["imap",true],"process_sent_since_setting":["imap",true],"process_show_list_icons":["core",true],"process_mailto_handler_setting":["core",true],"process_default_sort_order_setting":["core",true],"process_start_page_setting":["core",true],"process_no_password_setting":["core",true],"process_delete_prompt_setting":["core",true],"process_hide_folder_icons":["core",true],"process_all_email_source_max_setting":["core",true],"process_all_email_since_setting":["core",true],"process_all_since_setting":["core",true],"process_all_source_max_setting":["core",true],"process_unread_source_max_setting":["core",true],"process_flagged_source_max_setting":["core",true],"process_flagged_since_setting":["core",true],"process_unread_since_setting":["core",true],"process_timezone_setting":["core",true],"process_list_style_setting":["core",true],"process_language_setting":["core",true],"reset_factory":["core",true],"process_unread_feeds_setting":["feeds",true],"process_feed_limit_setting":["feeds",true],"process_feed_since_setting":["feeds",true],"process_compose_type":["smtp",true],"process_auto_bcc":["smtp",true],"process_theme_setting":["themes",true],"process_inline_message_setting":["inline_message",true],"process_inline_message_style":["inline_message",true],"process_enable_shortcut_setting":["keyboard_shortcuts",true],"save_user_settings":["core",true],"attachment_dir":["smtp",true],"reload_folder_cookie":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"message_list":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_inline_message_setting":["inline_message",true],"highlight_list_data":["highlights",true],"load_feeds_from_config":["feeds",true],"load_feeds_for_message_list":["feeds",true],"default_sort_order_setting":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"pop3_message_list_type":["pop3",true],"feed_list_type":["feeds",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"search":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_search":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_inline_message_setting":["inline_message",true],"save_searches_data":["saved_searches",true],"load_feeds_from_config":["feeds",true],"load_feeds_for_search":["feeds",true],"default_sort_order_setting":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_for_search":["imap",true],"pop3_message_list_type":["pop3",true],"feed_list_type":["feeds",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"advanced_search":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"default_sort_order_setting":["core",true],"message_list_type":["advanced_search",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"advanced_search_prepare":["advanced_search",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_reset_search":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"reset_search":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"message":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"add_feeds_to_page_data":["feeds",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"imap_show_message":["imap",true],"imap_download_message":["imap",true],"pop3_message_list_type":["pop3",true],"feed_list_type":["feeds",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"notfound":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["core",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_message_action":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"imap_message_action":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"imap_oauth2_token_check":["imap",true],"load_pop3_servers_from_config":["pop3",true],"pop3_message_action":["pop3",true],"save_pop3_servers":["pop3",true],"load_feeds_from_config":["feeds",true],"feed_message_action":["feeds",true],"save_feeds":["feeds",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_update_server_pw":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_smtp_servers_from_config":["smtp",true],"load_imap_servers_from_config":["imap",true],"load_pop3_servers_from_config":["pop3",true],"check_missing_passwords":["core",true],"process_pw_update":["core",true],"save_imap_servers":["imap",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_hm_folders":{"login":["core",false],"check_internal_users":["account",true],"default_page_data":["core",true],"load_user_data":["core",true],"get_shortcut_setting":["keyboard_shortcuts",true],"imap_folder_check":["imap_folders",true],"saved_search_folder_data":["saved_searches",true],"load_theme":["themes",true],"load_imap_servers_from_config":["imap",true],"smtp_auto_bcc_check":["smtp",true],"add_imap_servers_to_page_data":["imap",true],"load_imap_folders":["imap",true],"imap_oauth2_token_check":["imap",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"load_pop3_folders":["pop3",true],"load_feeds_from_config":["feeds",true],"add_feeds_to_page_data":["feeds",true],"load_feed_folders":["feeds",true],"check_folder_icon_setting":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_test":{"login":["core",false],"load_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"contacts":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"process_edit_contact":["local_contacts",true],"load_edit_contact":["local_contacts",true],"process_add_contact":["local_contacts",true],"message_list_type":["contacts",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_imap_message_content":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_bust_cache":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_message_content":["imap",true],"find_message_contacts":["contacts",true],"history_record_imap_message":["history",true],"vcalendar_check":["calendar",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"close_session_early":["core",true]},"ajax_add_contact":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"language":["core",true],"process_add_contact_from_message":["local_contacts",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_autocomplete_contact":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"autocomplete_contact":["contacts",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_delete_contact":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_contacts":["contacts",true],"load_local_contacts":["local_contacts",true],"language":["core",true],"process_delete_contact":["local_contacts",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"info":[],"ajax_feed_combined":{"login":["core",false],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"message_list_type":["core",true],"feed_list_type":["feeds",true],"load_feeds_from_config":["feeds",true],"close_session_early":["core",true],"feed_list_content":["feeds",true],"date":["core",true],"http_headers":["core",true]},"ajax_feed_item_content":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_feeds_from_config":["feeds",true],"feed_item_content":["feeds",true],"history_record_feed_message":["history",true],"save_feeds":["feeds",true],"date":["core",true],"http_headers":["core",true]},"ajax_feed_debug":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_feeds_from_config":["feeds",true],"delete_feed":["feeds",true],"feed_connect":["feeds",true],"save_feeds":["feeds",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_feed_status":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_feeds_from_config":["feeds",true],"close_session_early":["core",true],"feed_status":["feeds",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_folder_display":{"login":["core",false],"load_user_data":["core",true],"load_theme":["themes",true],"load_pop3_servers_from_config":["pop3",true],"language":["core",true],"message_list_type":["core",true],"pop3_message_list_type":["pop3",true],"close_session_early":["core",true],"pop3_folder_page":["pop3",true],"save_pop3_cache":["pop3",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_message_display":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_pop3_servers_from_config":["pop3",true],"pop3_message_content":["pop3",true],"history_record_pop3_message":["history",true],"save_pop3_servers":["pop3",true],"save_pop3_cache":["pop3",true],"close_session_early":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_status":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_pop3_servers_from_config":["pop3",true],"close_session_early":["core",true],"pop3_status":["pop3",true],"date":["core",true],"http_headers":["core",true]},"ajax_pop3_debug":{"login":["core",false],"load_user_data":["core",true],"language":["core",true],"load_pop3_servers_from_config":["pop3",true],"add_pop3_servers_to_page_data":["pop3",true],"pop3_connect":["pop3",true],"pop3_delete":["pop3",true],"pop3_forget":["pop3",true],"pop3_save":["pop3",true],"save_pop3_servers":["pop3",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_mark_as_read":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_mark_as_read":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_debug":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_hide":["imap",true],"imap_connect":["imap",true],"imap_delete":["imap",true],"imap_forget":["imap",true],"imap_save":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true],"save_user_data":["core",true]},"ajax_imap_flag_message":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"flag_imap_message":["imap",true],"save_imap_cache":["imap",true],"save_imap_servers":["imap",true]},"ajax_imap_sent":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_sent":["imap",true],"save_imap_cache":["imap",true]},"ajax_imap_folder_status":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_folder_status":["imap",true]},"ajax_imap_unread":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_unread":["imap",true],"save_imap_cache":["imap",true]},"ajax_imap_update_combined_source":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"process_imap_source_update":["imap",true],"close_session_early":["core",true]},"ajax_imap_status":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_status":["imap",true]},"ajax_imap_move_copy_action":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_process_move":["imap",true],"save_imap_cache":["imap",true],"close_session_early":["core",true]},"ajax_imap_flagged":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_flagged":["imap",true]},"ajax_imap_delete_message":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_delete_message":["imap",true]},"ajax_imap_archive_message":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_archive_message":["imap",true]},"ajax_imap_folder_expand":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_folder_expand":["imap",true],"add_folder_manage_link":["imap_folders",true],"save_imap_cache":["imap",true]},"ajax_imap_folder_display":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"imap_folder_page":["imap",true],"save_imap_cache":["imap",true],"close_session_early":["core",true]},"ajax_imap_search":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"default_sort_order_setting":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_search":["imap",true]},"ajax_adv_search":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"process_adv_search_request":["advanced_search",true],"default_sort_order_setting":["core",true],"language":["core",true],"date":["core",true],"advanced_search_prepare":["advanced_search",true],"http_headers":["core",true]},"ajax_imap_combined_inbox":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_combined_inbox":["imap",true]},"ajax_imap_all_email":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_theme":["themes",true],"language":["core",true],"date":["core",true],"http_headers":["core",true],"message_list_type":["core",true],"imap_message_list_type":["imap",true],"load_imap_servers_from_config":["imap",true],"imap_oauth2_token_check":["imap",true],"close_session_early":["core",true],"imap_combined_inbox":["imap",true]},"functional_api":{"default_smtp_server":["smtp",true]},"profiles":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_smtp_servers_from_config":["smtp",true],"add_smtp_servers_to_page_data":["smtp",true],"profile_data":["profiles",true],"process_profile_delete":["profiles",true],"process_profile_update":["profiles",true],"profile_edit_data":["profiles",true],"message_list_type":["profiles",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_smtp_debug":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["smtp",true],"add_smtp_servers_to_page_data":["smtp",true],"smtp_connect":["smtp",true],"smtp_delete":["smtp",true],"smtp_forget":["smtp",true],"smtp_save":["smtp",true],"save_smtp_servers":["smtp",true],"save_user_data":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_smtp_save_draft":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["imap",true],"compose_profile_data":["profiles",true],"load_imap_servers_from_config":["imap",true],"smtp_save_draft":["smtp",true],"date":["core",true],"http_headers":["core",true]},"ajax_get_test_chunk":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["imap",true],"load_imap_servers_from_config":["imap",true],"get_test_chunk":["smtp",true]},"ajax_upload_chunk":{"login":["core",false],"load_user_data":["core",true],"load_smtp_servers_from_config":["smtp",true],"load_imap_servers_from_config":["smtp",true],"compose_profile_data":["profiles",true],"upload_chunk":["smtp",true]},"ajax_smtp_delete_draft":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"process_delete_draft":["smtp",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_profiles_status":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"profile_status":["smtp",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_clear_attachment_chunks":{"login":["core",false],"load_user_data":["core",true],"clear_attachment_chunks":["smtp",true]},"accounts":{"stay_logged_in":["core",false],"login":["core",false],"check_internal_users":["account",true],"account_list":["account",true],"process_create_account":["account",true],"process_delete_account":["account",true],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["account",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"change_password":{"stay_logged_in":["core",false],"login":["core",false],"check_internal_users":["account",true],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"process_change_password":["account",true],"message_list_type":["account",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_no_op":{"login":["core",false],"load_user_data":["core",true],"process_idle_time":["idle_timer",true],"date":["core",true],"http_headers":["core",true]},"calendar":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_calendar_date":["calendar",true],"process_delete_event":["calendar",true],"process_add_event":["calendar",true],"message_list_type":["calendar",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_wordpess_notifications":[],"ajax_github_data":[],"ajax_nux_service_select":{"login":["core",false],"load_user_data":["core",true],"setup_nux":["nux",true],"process_nux_service":["nux",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_nux_add_service":{"login":["core",false],"load_user_data":["core",true],"setup_nux":["nux",true],"load_smtp_servers_from_config":["smtp",true],"load_imap_servers_from_config":["imap",true],"process_nux_add_service":["nux",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"history":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"get_inline_message_setting":["inline_message",true],"message_list_type":["history",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"load_message_history":["history",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_github_event_detail":[],"ajax_wp_notice_display":[],"ajax_save_search":{"login":["core",false],"load_user_data":["core",true],"save_search":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"ajax_update_search":{"login":["core",false],"load_user_data":["core",true],"update_search":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"ajax_delete_search":{"login":["core",false],"load_user_data":["core",true],"delete_search":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"ajax_update_save_search_label":{"login":["core",false],"load_user_data":["core",true],"update_save_search_label":["core",true],"language":["saved_searches",true],"date":["core",true],"http_headers":["core",true]},"highlights":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"load_feeds_from_config":["feeds",true],"message_list_type":["highlights",true],"language":["core",true],"highlight_process_form":["highlights",true],"highlight_page_data":["highlights",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_smtp_attach_file":[],"folders":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"folders_server_id":["imap_folders",true],"special_folders":["imap_folders",true],"message_list_type":["imap_folders",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]},"ajax_imap_folders_delete":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_folder_delete":["imap_folders",true],"imap_bust_cache":["imap",true],"close_session_early":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_folders_rename":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_folder_rename":["imap_folders",true],"imap_bust_cache":["imap",true],"close_session_early":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_folders_create":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_folder_create":["imap_folders",true],"imap_bust_cache":["imap",true],"close_session_early":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_clear_special_folder":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_clear_special_folder":["imap_folders",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"ajax_imap_special_folder":{"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_imap_servers_from_config":["imap",true],"process_special_folder":["imap_folders",true],"save_user_data":["core",true],"language":["core",true],"date":["core",true],"http_headers":["core",true]},"shortcuts":{"stay_logged_in":["core",false],"login":["core",false],"default_page_data":["core",true],"load_user_data":["core",true],"load_keyboard_shortcuts":["keyboard_shortcuts",true],"load_edit_id":["keyboard_shortcuts",true],"process_edit_shortcut":["keyboard_shortcuts",true],"load_theme":["themes",true],"idle_time_check":["idle_timer",true],"smtp_default_server":["smtp",true],"load_imap_servers_from_config":["imap",true],"fix_folder_assignments":["imap_folders",true],"imap_oauth2_token_check":["imap",true],"add_imap_servers_to_page_data":["imap",true],"prefetch_imap_folders":["imap",true],"load_imap_servers_for_message_list":["imap",true],"load_pop3_servers_from_config":["pop3",true],"load_pop3_servers_for_message_list":["pop3",true],"message_list_type":["keyboard_shortcuts",true],"language":["core",true],"process_search_terms":["core",true],"title":["core",true],"date":["core",true],"save_user_data":["core",true],"logout":["core",true],"http_headers":["core",true]}},"output_modules":{"home":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"home_heading":["core",true],"home_password_dialogs":["core",true],"welcome_dialog":["nux",true],"nux_help":["nux",true],"nux_dev_news":["nux",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"servers":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"server_content_start":["core",true],"quick_add_section":["nux",true],"quick_add_dialog":["nux",true],"add_smtp_server_dialog":["smtp",true],"display_configured_smtp_servers":["smtp",true],"add_imap_server_dialog":["imap",true],"display_configured_imap_servers":["imap",true],"add_jmap_server_dialog":["imap",true],"display_configured_jmap_servers":["imap",true],"add_pop3_server_dialog":["pop3",true],"display_configured_pop3_servers":["pop3",true],"add_feed_dialog":["feeds",true],"display_configured_feeds":["feeds",true],"server_content_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"feed_ids":["feeds",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"compose":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"compose_form_draft_list":["smtp",true],"compose_signature_values":["profiles",true],"compose_form_start":["smtp",true],"compose_form_content":["smtp",true],"compose_signature_button":["profiles",true],"imap_unflag_on_send_controls":["imap",true],"compose_form_end":["smtp",true],"compose_form_attach":["smtp",true],"content_section_end":["core",true],"save_reminder":["core",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"save":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"save_form":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"settings":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"start_settings_form":["core",true],"start_general_settings":["core",true],"enable_shortcut_setting":["keyboard_shortcuts",true],"inline_message_setting":["inline_message",true],"inline_message_style":["inline_message",true],"compose_type_setting":["smtp",true],"attachment_setting":["smtp",true],"auto_bcc_setting":["smtp",true],"language_setting":["core",true],"theme_setting":["feeds",true],"timezone_setting":["core",true],"no_folder_icon_setting":["core",true],"mailto_handler_setting":["core",true],"msg_list_icons_setting":["core",true],"imap_msg_icons_setting":["imap",true],"imap_unread_on_open":["imap",true],"imap_simple_msg_parts":["imap",true],"imap_per_page_setting":["imap",true],"list_style_setting":["core",true],"idle_time_setting":["idle_timer",true],"text_only_setting":["imap",true],"delete_prompt_setting":["core",true],"no_password_setting":["core",true],"start_page_setting":["core",true],"default_sort_order_setting":["core",true],"start_unread_settings":["core",true],"unread_since_setting":["core",true],"unread_source_max_setting":["core",true],"unread_feeds_included":["feeds",true],"start_flagged_settings":["core",true],"flagged_since_setting":["core",true],"flagged_source_max_setting":["core",true],"start_everything_settings":["core",true],"all_since_setting":["core",true],"all_source_max_setting":["core",true],"start_all_email_settings":["core",true],"all_email_since_setting":["core",true],"all_email_source_max_setting":["core",true],"start_feed_settings":["feeds",true],"feed_since_setting":["feeds",true],"feed_limit_setting":["feeds",true],"start_sent_settings":["imap",true],"sent_since_setting":["imap",true],"sent_source_max_setting":["imap",true],"end_settings_form":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"message_list":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"inline_message_flag":["inline_message",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"highlight_css":["highlights",true],"content_section_start":["core",true],"imap_custom_controls":["imap",true],"move_copy_controls":["imap",true],"message_list_heading":["core",true],"nux_message_list_notice":["nux",true],"message_list_start":["core",true],"message_list_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"search":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"inline_message_flag":["inline_message",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"search_move_copy_controls":["core",true],"search_content_start":["core",true],"search_form_start":["core",true],"search_form_content":["core",true],"search_name_fld":["saved_searches",true],"advanced_search_link":["advanced_search",true],"search_form_end":["core",true],"update_search_icon":["saved_searches",true],"delete_search_icon":["saved_searches",true],"message_list_start":["core",true],"search_results_table_end":["core",true],"update_search_label_icon":["saved_searches",true],"save_search_icon":["saved_searches",true],"search_content_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"advanced_search":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"search_move_copy_controls":["core",true],"advanced_search_content_start":["advanced_search",true],"advanced_search_form_start":["advanced_search",true],"advanced_search_form_content":["advanced_search",true],"advanced_search_form_end":["advanced_search",true],"message_list_start":["advanced_search",true],"advanced_search_results_table_end":["advanced_search",true],"advanced_search_content_end":["advanced_search",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"message":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"message_start":["core",true],"message_end":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"imap_server_ids":["imap",true],"page_js":["core",true],"content_end":["core",false]},"notfound":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"notfound_content":["core",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_hm_folders":{"filter_feed_folders":["feeds",true],"filter_pop3_folders":["pop3",true],"filter_imap_folders":["imap",true],"search_folders":["saved_searches",true],"folder_list_content_start":["core",true],"main_menu_start":["core",true],"search_from_folder_list":["core",true],"main_menu_content":["core",true],"contacts_page_link":["contacts",true],"compose_page_link":["smtp",true],"sent_folder_link":["smtp",true],"calendar_page_link":["calendar",true],"history_page_link":["history",true],"logout_menu_item":["core",true],"main_menu_end":["core",true],"email_menu_content":["core",true],"settings_menu_start":["core",true],"settings_servers_link":["core",true],"settings_site_link":["core",true],"settings_save_link":["core",true],"highlight_link":["highlights",true],"change_password_link":["account",true],"create_account_link":["account",true],"profile_page_link":["profiles",true],"folders_page_link":["imap_folders",true],"shortcuts_page_link":["keyboard_shortcuts",true],"settings_menu_end":["core",true],"folder_list_content_end":["core",true]},"contacts":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"contacts_content_start":["contacts",true],"contacts_form":["contacts",true],"contacts_list":["contacts",true],"contacts_content_end":["contacts",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_imap_message_content":{"filter_message_headers":["imap",true],"add_message_contacts":["contacts",true],"filter_message_body":["imap",true],"filter_message_struct":["imap",true]},"ajax_autocomplete_contact":{"filter_autocomplete_list":["contacts",true]},"info":[],"ajax_feed_combined":{"filter_feed_list_data":["feeds",true]},"ajax_feed_item_content":{"filter_feed_item_content":["feeds",true]},"ajax_feed_status":{"filter_feed_status_data":["feeds",true]},"ajax_pop3_folder_display":{"filter_pop3_message_list":["pop3",true]},"ajax_pop3_message_display":{"filter_pop3_message_content":["pop3",true]},"ajax_pop3_status":{"filter_pop3_status_data":["pop3",true]},"ajax_imap_sent":{"filter_sent_data":["imap",true]},"ajax_imap_unread":{"filter_unread_data":["imap",true]},"ajax_imap_status":{"filter_imap_status_data":["imap",true]},"ajax_imap_flagged":{"filter_flagged_data":["imap",true]},"ajax_imap_folder_expand":{"filter_expanded_folder_data":["imap",true]},"ajax_imap_folder_display":{"filter_folder_page":["imap",true]},"ajax_imap_search":{"filter_imap_search":["imap",true]},"ajax_imap_combined_inbox":{"filter_combined_inbox":["imap",true]},"ajax_imap_all_email":{"filter_all_email":["imap",true]},"accounts":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"create_form":["account",true],"user_list":["account",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"change_password":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"change_password":["account",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"calendar":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"add_cal_event_form":["calendar",true],"calendar_content":["calendar",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_nux_service_select":{"filter_service_select":["nux",true]},"history":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"inline_message_flag":["inline_message",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"history_heading":["history",true],"history_content":["history",true],"history_footer":["history",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"ajax_save_search":{"filter_saved_search_result":["saved_searches",true]},"ajax_update_search":{"filter_saved_search_result":["saved_searches",true]},"ajax_delete_search":{"filter_saved_search_result":["saved_searches",true]},"ajax_update_save_search_label":{"filter_saved_search_result":["saved_searches",true]},"ajax_adv_search":{"filter_imap_advanced_search":["advanced_search",true]},"highlights":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"highlight_config_page":["highlights",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"profiles":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"profile_edit_form":["profiles",true],"profile_content":["profiles",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"folders":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"folders_content_start":["imap_folders",true],"folders_server_select":["imap_folders",true],"folders_create_dialog":["imap_folders",true],"folders_rename_dialog":["imap_folders",true],"folders_delete_dialog":["imap_folders",true],"folders_trash_dialog":["imap_folders",true],"folders_sent_dialog":["imap_folders",true],"folders_draft_dialog":["imap_folders",true],"folders_archive_dialog":["imap_folders",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]},"shortcuts":{"header_start":["core",false],"header_css":["core",true],"theme_css":["themes",true],"header_content":["core",false],"keyboard_shortcut_data":["keyboard_shortcuts",true],"js_data":["core",true],"js_search_data":["core",true],"header_end":["core",false],"content_start":["core",false],"prefetch_imap_folder_ids":["imap",true],"login_start":["core",false],"login":["core",false],"login_end":["core",false],"loading_icon":["core",true],"date":["core",true],"msgs":["core",false],"folder_list_start":["core",true],"folder_list_end":["core",true],"content_section_start":["core",true],"start_shortcuts_page":["keyboard_shortcuts",true],"shortcut_edit_form":["keyboard_shortcuts",true],"shortcuts_content":["keyboard_shortcuts",true],"content_section_end":["core",true],"save_reminder":["core",true],"page_js":["core",true],"content_end":["core",false]}},"input_filters":{"allowed_output":{"date":[522,false],"formatted_folder_list":[516,false],"router_user_msgs":[522,16777216],"router_login_state":[258,false],"formatted_message_list":[516,16777216],"just_saved_credentials":[258,false],"just_forgot_credentials":[258,false],"deleted_server_id":[257,false],"msg_headers":[516,false],"msg_text":[516,false],"msg_parts":[516,false],"page_links":[516,false],"folder_status":[522,16777216],"contact_deleted":[257,false],"contact_suggestions":[522,16777216],"feed_connect_status":[522,false],"feed_connect_time":[522,false],"feed_detail_display":[516,false],"feed_status_display":[516,false],"feed_status_server_id":[257,false],"feed_server_ids":[522,false],"feed_msg_headers":[516,false],"feed_msg_text":[516,false],"pop3_connect_status":[522,false],"pop3_connect_time":[522,false],"pop3_detail_display":[522,false],"pop3_status_display":[516,false],"pop3_status_server_id":[257,false],"pop3_server_id":[257,false],"imap_connect_status":[522,false],"connect_status":[522,false],"auto_sent_folder":[522,false],"imap_connect_time":[522,false],"imap_detail_display":[516,false],"imap_status_display":[516,false],"imap_status_server_id":[257,false],"imap_expanded_folder_path":[522,false],"imap_expanded_folder_formatted":[516,false],"imap_server_ids":[522,false],"imap_server_id":[257,false],"combined_inbox_server_ids":[522,false],"imap_delete_error":[258,false],"move_count":[522,16777216],"file_details":[516,false],"draft_subject":[522,false],"draft_id":[257,false],"profile_value":[522,false],"nux_service_step_two":[516,false],"nux_account_added":[258,false],"saved_search_result":[257,false],"new_saved_search_label":[522,false],"imap_folders_success":[257,false],"imap_special_name":[522,false]},"allowed_get":{"page":522,"msgs":522,"list_path":522,"list_parent":522,"list_page":257,"uid":522,"search_terms":516,"search_since":522,"search_fld":522,"filter":522,"sort":522,"keyword":522,"contact_id":257,"contact_page":257,"contact_type":522,"contact_source":522,"imap_server_id":257,"imap_download_message":258,"imap_show_message":258,"imap_msg_part":522,"imap_draft":257,"reply":257,"reply_all":257,"forward":257,"draft_id":257,"hm_ajax_hook":522,"compose_to":522,"mailto_uri":522,"compose_from":522,"resumableChunkNumber":257,"resumableTotalChunks":257,"resumableChunkSize":257,"resumableCurrentChunkSize":257,"resumableTotalSize":257,"resumableType":522,"resumableIdentifier":522,"resumableFilename":522,"resumableRelativePath":522,"draft_smtp":522,"date":522,"view":522,"action":522,"code":522,"state":522,"error":522,"security_token":522,"search_name":522,"profile_id":257,"edit_id":257},"allowed_cookie":{"CYPHTID":522,"hm_id":522,"hm_session":522,"hm_msgs":522},"allowed_post":{"payload":522,"reset_factory":522,"hm_page_key":522,"logout":258,"save_and_logout":258,"limit":257,"username":522,"show_list_icons":258,"password":516,"hm_ajax_hook":522,"save_settings":522,"save_settings_permanently":522,"save_settings_permanently_then_logout":522,"language":522,"flagged_per_source":257,"flagged_since":522,"unread_per_source":257,"unread_since":522,"all_email_per_source":257,"all_email_since":522,"all_per_source":257,"all_since":522,"no_folder_icons":258,"mailto_handler":258,"list_style":522,"timezone":522,"disable_delete_prompt":257,"section_state":522,"section_class":522,"message_ids":522,"action_type":522,"server_pw_id":522,"message_list_since":522,"no_password_save":258,"start_page":522,"default_sort_order":522,"stay_logged_in":258,"contact_email":522,"contact_name":522,"contact_phone":522,"contact_id":257,"contact_value":522,"edit_contact":522,"add_contact":522,"contact_source":522,"contact_type":522,"feed_id":257,"delete_feed":257,"feed_connect":257,"feed_server_ids":522,"submit_feed":522,"new_feed_name":522,"feed_delete":257,"new_feed_address":522,"unread_exclude_feeds":257,"feed_list_path":522,"feed_uid":522,"feed_since":522,"feed_limit":257,"feed_search":257,"new_pop3_name":522,"new_pop3_address":522,"new_pop3_port":522,"pop3_connect":257,"pop3_forget":257,"pop3_save":257,"pop3_delete":257,"submit_pop3_server":522,"pop3_server_id":257,"pop3_server_ids":522,"pop3_user":522,"pop3_pass":516,"pop3_list_path":522,"pop3_uid":257,"pop3_limit":257,"pop3_since":522,"pop3_unread_only":258,"pop3_search":257,"server_port":257,"server":522,"imap_server_id":257,"imap_server_ids":522,"imap_user":522,"imap_pass":516,"text_only":258,"msg_part_icons":258,"simple_msg_parts":258,"unread_on_open":258,"imap_allow_images":258,"imap_delete":522,"imap_connect":522,"imap_remember":257,"imap_folder_ids":522,"imap_forget":522,"imap_save":522,"submit_imap_server":522,"submit_jmap_server":522,"new_jmap_address":518,"new_jmap_name":522,"new_imap_address":522,"new_imap_hidden":258,"new_imap_port":257,"new_imap_name":522,"tls":258,"folder":522,"force_update":258,"imap_folder_state":516,"imap_msg_uid":522,"imap_msg_part":522,"imap_prefetch":258,"hide_imap_server":258,"imap_flag_state":522,"combined_source_state":257,"list_path":522,"imap_move_ids":522,"imap_move_to":522,"imap_move_action":522,"sent_since":522,"sent_per_source":522,"imap_move_page":522,"compose_unflag_send":258,"imap_per_page":257,"post_archive":257,"attachment_id":522,"smtp_compose_type":257,"new_smtp_name":522,"new_smtp_address":522,"new_smtp_port":522,"smtp_connect":257,"smtp_forget":257,"smtp_save":257,"smtp_delete":257,"smtp_send":257,"submit_smtp_server":522,"smtp_server_id":257,"smtp_user":522,"smtp_pass":516,"delete_uploaded_files":258,"compose_to":516,"compose_msg_path":522,"compose_msg_uid":257,"compose_body":516,"compose_subject":516,"compose_in_reply_to":516,"compose_cc":516,"compose_bcc":516,"compose_smtp_id":522,"draft_id":257,"draft_body":516,"draft_subject":516,"draft_to":516,"draft_smtp":522,"draft_cc":516,"draft_bcc":516,"draft_in_reply_to":516,"draft_notice":258,"smtp_auto_bcc":257,"profile_value":522,"uploaded_files":522,"send_uploaded_files":522,"create_username":522,"create_password":516,"create_password_again":516,"delete_username":522,"new_pass1":516,"new_pass2":516,"old_pass":516,"change_password":522,"idle_time":257,"event_title":522,"event_detail":522,"event_date":522,"event_time":522,"event_repeat":522,"delete_id":522,"theme_setting":522,"nux_service":522,"nux_email":522,"nux_name":522,"nux_pass":516,"nux_account_name":522,"search_name":522,"search_terms":522,"search_fld":522,"search_since":522,"search_terms_label":522,"old_search_terms_label":522,"adv_source":522,"adv_start":522,"adv_source_limit":257,"adv_end":522,"adv_charset":522,"adv_flags":{"filter":522,"flags":16777216},"adv_terms":{"filter":522,"flags":16777216},"adv_targets":{"filter":522,"flags":16777216},"rule_del_id":257,"hl_target":522,"hl_color":522,"hl_source_type":522,"hl_important":258,"hl_feeds_unseen":258,"hl_github_unseen":258,"hl_imap_flags":{"filter":522,"flags":16777216},"hl_imap_sources":{"filter":522,"flags":16777216},"hl_github_sources":{"filter":522,"flags":16777216},"hl_feeds_sources":{"filter":522,"flags":16777216},"profile_name":522,"profile_id":257,"profile_replyto":522,"profile_smtp":522,"profile_imap":522,"profile_default":257,"profile_address":522,"profile_sig":516,"profile_delete":522,"inline_message":257,"inline_message_style":522,"parent":522,"new_folder":522,"special_folder_type":522,"enable_keyboard_shortcuts":257,"shortcut_meta":{"filter":522,"flags":67108864},"shortcut_key":257,"shortcut_id":257},"allowed_server":{"REQUEST_URI":522,"REQUEST_METHOD":522,"SERVER_ADDR":275,"REMOTE_ADDR":275,"SERVER_PORT":257,"SERVER_PROTOCOL":522,"PHP_SELF":522,"REQUEST_SCHEME":522,"HTTP_HOST":522,"HTTP_ORIGIN":273,"HTTP_REFERER":273,"HTTP_ACCEPT_LANGUAGE":522,"HTTP_ACCEPT_ENCODING":522,"HTTP_ACCEPT_CHARSET":522,"HTTP_ACCEPT":522,"HTTP_USER_AGENT":522,"HTTPS":522,"SERVER_NAME":522,"HTTP_X_REQUESTED_WITH":522,"HTTP_X_FORWARDED_HOST":522},"allowed_pages":["save","home","compose","message_list","message","settings","servers","ajax_test","ajax_hm_folders","ajax_message_action","ajax_reset_search","ajax_update_server_pw","ajax_no_op","notfound","search","contacts","ajax_add_contact","ajax_delete_contact","ajax_autocomplete_contact","ajax_feed_combined_inbox","ajax_feed_list_display","ajax_feed_item_content","ajax_feed_combined","ajax_feed_debug","ajax_feed_status","ajax_pop3_debug","ajax_pop3_message_display","ajax_pop3_folder_display","ajax_pop3_unread","ajax_pop3_status","ajax_imap_debug","ajax_imap_status","ajax_imap_unread","ajax_imap_sent","ajax_imap_flagged","ajax_imap_folder_expand","ajax_imap_folder_display","ajax_imap_combined_inbox","ajax_imap_search","ajax_unread_count","ajax_imap_message_content","ajax_imap_save_folder_state","ajax_imap_message_action","ajax_imap_delete_message","ajax_imap_archive_message","ajax_imap_flag_message","ajax_imap_update_combined_source","ajax_imap_mark_as_read","ajax_imap_move_copy_action","ajax_imap_folder_status","ajax_clear_attachment_chunks","ajax_smtp_debug","ajax_smtp_save_draft","ajax_smtp_delete_draft","ajax_profiles_status","ajax_get_test_chunk","ajax_upload_chunk","accounts","change_password","ajax_no_op","calendar","ajax_nux_service_select","ajax_nux_add_service","history","ajax_save_search","ajax_update_search","ajax_delete_search","ajax_update_save_search_label","advanced_search","ajax_adv_search","highlights","profiles","folders","ajax_imap_folders_delete","ajax_imap_folders_create","ajax_imap_folders_rename","ajax_imap_special_folder","ajax_imap_clear_special_folder","shortcuts"]}} \ No newline at end of file From 637f0f302ee2036a2bf12576faa67fd9c7b4d010 Mon Sep 17 00:00:00 2001 From: Henock Date: Fri, 28 Jul 2023 21:38:22 +0100 Subject: [PATCH 10/24] Fix: git ignore scripts/hm3.ini --- scripts/hm3.ini | 900 ------------------------------------------------ 1 file changed, 900 deletions(-) delete mode 100755 scripts/hm3.ini diff --git a/scripts/hm3.ini b/scripts/hm3.ini deleted file mode 100755 index be40cb296e..0000000000 --- a/scripts/hm3.ini +++ /dev/null @@ -1,900 +0,0 @@ - -; ----------------------------------------------------------------------------- -; General settings -; ----------------------------------------------------------------------------- - -; Session Type -; ------------ -; Sessions are how the server maintains your logged in state. Cypht supports -; standard PHP sessions, as well as its own completely independent session -; system that uses memcached or a database for storage. In order to use -; database sessions, the database must be correctly configured in the "DB -; Support" section and the hm_user_session table must be created. In order to -; use Memcached sessions, the memcached server must be correctly configured -; in the "Memcached Support" section. In order to use Redis session, the -; Redis server must be configured in the "Redis Support" section. -; -; Valid values for this setting: -; -; PHP Standard PHP session handlers -; DB Custom database based sessions -; MEM Custom Memcached based sessions -; REDIS Custom Redis based sessions -; custom Create your own session class. See the modules/site/lib.php file for -; more info -; -session_type=PHP - - -; Authentication Type -; ------------------- -; This setting defines how Cypht will authenticate your username and password -; when you login. If you want to use a database it must be correctly configured -; in the "DB Support" section and the hm_user table must be created. There are -; 3 PHP cli scripts to help manage database users in the scripts/ directory ( -; create_account.php, delete_account.php, and update_password.php). If you want -; to authenticate against an IMAP server, you must setup the imap_auth_* settings -; below. If you want to authenticate against a POP3 server, you must setup the -; pop3_auth_* settings below. If you want to authenticate against an LDAP server, -; you must setup the ldap_auth_* settings. Finally, if you want to let users -; pick from a list of popular mail services or try to auto-discover a mail -; system, set this to dynamic and make sure the dynamic_login module set is -; enabled in the "Module Sets" section of this file. -; -; Valid values for this setting: -; -; DB Authenticate against the database -; LDAP Authenticate against an LDAP server -; IMAP Authenticate using an IMAP server -; POP3 Authenticate using a POP3 server -; dynamic Let the user choose from a list, or try to auto discover the mail -; services based on the email domain -; custom Create your own auth class. See the modules/site/lib.php file for -; more info -; -auth_type=DB - - -; LDAP Authentication -; ------------------- -; If auth_type is set to LDAP, configure the LDAP server to authenticate against -; with the following settings, otherwise these are ignored. -; - -; The hostname or IP address of the LDAP server to authenticate to -ldap_auth_server=localhost - -; The port the LDAP server is listening on. -ldap_auth_port=389 - -; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to -; true to enable TLS connections. -ldap_auth_tls= - -; The "base dn" of the LDAP server -ldap_auth_base_dn="example,dc=com" - - -; IMAP Authentication -; ------------------- -; If auth_type is set to IMAP, configure the IMAP server to authenticate against -; with the following settings, otherwise these are ignored. -; -; This is just a label used in the UI. It can be set to anything -imap_auth_name=localhost - -; The hostname or IP address of the IMAP server to authenticate to -imap_auth_server=localhost - -; The port the IMAP server is listening on. -imap_auth_port=143 - -; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to -; true to enable TLS connections. If you want to use IMAP STARTTLS, do NOT -; enable this. This is only for TLS enabled sockets (typically on port 993). -imap_auth_tls= - - -; POP3 Authentication -; ------------------- -; if auth_type is set to POP3, configure the POP3 server to authenticate against -; with the following settings, otherwise these are ignored. -; -; This is just a label used in the UI. It can be set to anything -pop3_auth_name=localhost - -; The hostname or IP address of the POP3 server to authenticate to -pop3_auth_server=localhost - -; The port the POP3 server is listening on. -pop3_auth_port=110 - -; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to -; true to enable TLS connections. -pop3_auth_tls= - - -; Default SMTP Server -; ------------------- -; You can set a default SMTP server for all Cypht users. Authentication will be -; done with the users login credentials, so this only makes sense if you are -; using POP3 or IMAP for authentication. Leave these values blank to disable a -; default SMTP server, otherwise fill in the required values below -; -; This is just a label used in the UI. It can be set to anything -default_smtp_name= - -; The hostname or IP address of the SMTP server -default_smtp_server= - -; The port the SMTP server is listening on. -default_smtp_port= - -; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to -; true to enable TLS connections. -default_smtp_tls= - -; If your SMTP service does not require authentication, you can disable it -; by setting the following to true. -default_smtp_no_auth= - - -; Settings Storage -; ---------------- -; Cypht supports 3 methods for saving user settings between logins. File based -; settings, database table or custom implementation. To store settings in a -; database, it must be configured in the "DB Support" section and the -; hm_user_settings table must be created. To store settings on the filesystem, -; the user_settings_dir must be created and the webserver software must be able -; to write to it. For custom implementations, see Hm_User_Config_File. -; -; Valid values for this setting: -; -; file Store user settings in the filesystem -; DB Store user settings in a database -; custom Store user settings via custom implementation. Specify class name -; after colon, e.g. custom:Custom_User_Config -; -user_config_type=file - - -; Settings Location -; ----------------- -; If user_config_type is set to file, this must be set to an existing directory -; that the webserver software can read and write to. If settings storage is set -; to DB, this is ignored. It should not be inside the webserver document root. -user_settings_dir=/var/lib/hm3/users - - -; Attachment Location -; ------------------- -; Cypht needs a temporary place to store attachments that are to be sent with -; an outgoing message. This folder must exist and be writable by the webserver -; software. It should not be inside the webserver document root. -attachment_dir=/var/lib/hm3/attachments - - -; Application Data Location -; ------------------------- -; Some Cypht module sets have their own ini files that need to be readable by -; the webserver software, but not writable, and definitely not inside the -; webserver document root. -app_data_dir=/var/lib/hm3/app_data - - -; Disable origin check -; -------------------- -; To help protect against CSRF attacks, Cypht checks origin headers to confirm -; that the source and target origin domains match. If you are using proxies this -; could create a problem making it impossible to login. Change this to true to -; disable the origin check. -disable_origin_check=false - - -; Admin Users -; ---------- -; You can define a comma delimited list of admin users that Cypht will grant -; special rights to. Currently this only enables the "create account" link in -; the account module set that provides a form to create a new account. This is -; only used if the auth_type is set to DB. Leave this blank if you don't want -; to define any admin users, or are using IMAP or POP3 authentication. -admin_users= - - -; Cookie Domain -; ------------- -; By default Cypht uses the server name used in the request to determine -; the domain name to set the cookie for. Configurations that use a reverse -; proxy might need to define the domain name used for cookies. Leave this -; blank to let Cypht automatically determine the domain. You can also use -; the special value of "none" to force Cypht to NOT set the cookie domain -; property at all. This is not recommended unless you know what you are -; doing! -cookie_domain= - - -; Cookie Path -; ------------- -; By default Cypht uses the request URI to determine the cookie path to set -; the cookie for. Configurations that use mod_rewrite might need to define -; the path used for cookies. E.g. /cypht/embedded?page=compose will set path -; to /cypht/embedded/ which won't send the cookies back to the server. In that -; case set cookie_path=/cypht/. Leave this blank to let Cypht automatically -; determine the path. You can also use the special value of "none" to force -; Cypht to NOT set the cookie path property at all. This is not recommended -; unless you know what you are doing! -cookie_path= - - -; Outbound Email Domain -; ---------------------- -; Default domain used for outbound email addresses when using IMAP auth and -; users don't login with a full email address. Users can customize this with -; the profiles module which will override this default -default_email_domain= - - -; Auto-Create Profile -; ------------------- -; When a user logs in and they have only 1 IMAP server and 1 SMTP server, and -; no configured profiles - enabling this option will auto-create a profile for -; them. Email and reply-to addresses will use the default_email_domain if -; set, otherwise it will fallback to the domain Cypht is hosted on. -autocreate_profile= - - -; Redirect After Login -; -------------------- -; You can login directly to any page in Cypht by going to the correct url before -; logging in, but that is not very user-friendly. To redirect users to a url -; after login, add the url arguments below (everything in the url after, but -; including, the question mark). You must use double quotes around the value -; otherwise it will cause an ini parsing error. To redirect users after login -; to the combined unread view you would use: -; -; redirect_after_login="?page=message_list&list_path=unread" -redirect_after_login= - - -; Application Name -; ---------------- -; This label is used in the UI to reference the program - you can change it to -; "Your awesome webmail" to replace the Cypht name used in various places. -app_name=Cypht - - -; Force Mobile UI -; --------------- -; Cypht will detect mobile devices and display a mobile optimized UI. If you want -; to aways use this UI regardless of device, set this to true -always_mobile_ui= - - -; Default Language -; ---------------- -; Users can select from available interface languages on the site settings page. -; This sets the default for a user who has not done so. Valid values are 2 character -; langauge codes that have matching language definitions in the language/ folder. -default_language=en - - -; JavaScript Compression -; ---------------------- -; When the configuration script is run, all JavaScript files are concatenated -; and optionally compressed. To compress the content, define a command and its -; options below. Cypht does not come with compresson software, so you must -; install and configure that separately. Leave blank or set to false to disable -; external compression. Compression software must be able to handle ES6. -; -; Example: -; js_compress='uglifyjs.terser -c -m --verbose --warn' -; -js_compress=false - - -; CSS Compression -; --------------- -; When the configuration script is run, all CSS files are concatenated and -; optionally compressed. To compress the content, define a command and its -; options below. Cypht does not come with compresson software, so you must -; install and configure that separately. Leave blank or set to false to disable -; external compression. -; -; Example: -; css_compress='java -jar /usr/local/lib/yuicompressor-2.4.8.jar --type css' -; -css_compress=false - - -; Caching Server Support -; --------------------- - -; Cypht can use Redis or Memcache to improve performance, as well as to store -; user sessions. Configure Redis or Memcached below and Cypht will -; automatically use them for caching. All data cached for a user in either -; system is encrypted. Currently, the feeds, POP3, and IMAP modules will use -; the configured cache. If both Redis and Memcached are configured, Redis will -; be used for the cache. -; -; If you want to use the user session as a cache, uncomment the line below and -; set to true. THIS IS NOT RECOMMENDED. Cypht uses parallel requests to the -; server, and using the session as a cache is likely to cause race conditions -; and integrity issues. If you are running Cypht in an "embedded" mode with -; only one email source, this option is less likely to be a problem. - -; allow_session_cache=false - -; Redis Support -; ------------- - -; Configure Redis details below to use it for caching -enable_redis=true -redis_server=127.0.0.1 -redis_port=6379 -redis_index=1 -redis_pass= -redis_socket=/var/run/redis/redis-server.sock - - -; Memcached Support -; ----------------- -; Configure Memcached details below to use it for caching -enable_memcached=true -memcached_server=127.0.0.1 -memcached_port=11211 - -; If you need SASL authentication for memcached, set the following to true -; and add the username and password to authenticate with -memcached_auth=false -memcached_user= -memcached_pass= - - -; Allow Long Sessions -; ------------------- -; Cypht logins only last as long as the browser is open. Closing the browser, -; or moving to a new network, will cause you to be logged out. This setting -; provides users with a "stay logged in" option during login that will set the -; sesison lifetime to a default of 30 days, and disable the IP address check. -; -; USE WITH CAUTION SINCE THIS DISABLES SOME SESSION PROTECTIONS. -; -; Specifically: -; -; - Session cookies stay active after a browser restart making them more -; susceptible to snooping -; - The browser "fingerprint" was use to help protect against session hijacking -; includes the client's IP. With this option enabled a client IP can change -; mid-session and it won't log them out -allow_long_session=false - -; Set the session lifetime in days. Only applies if allow_long_session is set to -; true, and a user checks the box to "stay logged in" during login. -long_session_lifetime=30 - - -; Browser Encryption Options -; -------------------------- -; Cypht can use the Forge JavaScript encryption library to encrypt AJAX -; responses and data stored in browser local storage. Enabling either one of -; these options causes the Forge JavaScript library to be included. This adds -; about 70KB to the page size (when gzipped). - -; Use AES encryption for AJAX responses. Set to true to enable, leave blank or -; set to false to disable. -encrypt_ajax_requests= - -; Use AES encryption for data stored in the browser local storage. Set to true -; to enable, or leave blank or set to false to disable. -encrypt_local_storage= - - -; Allow client IP changes -; ----------------------- -; By default Cypht will log you out if your client IP address changes. This is -; an extra layer of protection against session hijacking, but it's not uncommon -; for your client IP to change. Change this to true if you want to disable this -; check -disable_ip_check=false - - -; Allow remote image sources -; -------------------------- -; -; WARNING: Using this feature could leak information to external sources. -; -; By default, Cypht will not allow external images to be loaded when viewing an -; HTML formatted email message. A Content Security Policy header limits images -; sources to "self" only and the message content is filtered to remove any external -; resource. If you really want the ability to view external images in an email, -; you first need to change the following setting to true. When viewing an HTML -; formatted message, you will now have a link before the message body called "Allow -; Images" that will reload the message part with external images visible. -allow_external_image_sources=false - - -; -; Single server mode -; ------------------ -; This setting restricts Cypht to only using a single email source (POP3 or -; IMAP) and the default SMTP server defined in this file. It modifies the UI to -; remove the ability to add other email sources, and removes the password -; restriction when saving data between logins. You must use either IMAP or POP3 -; authentication for this setting to be enforced, and auth server will be the -; single email source users have access to. If you enable this after users -; have saved any settings, they will be lost (or if you disable it after they -; have saved any settings). WARNING: USER SETTINGS SAVED TO THE SERVER WILL NOT -; BE ENCRYPTED WITH THIS ENABLED -single_server_mode=false - - -; Integration options -; ------------------- -; Cypht does a few things to make it more secure by default, but these features -; can make it difficult to integrate Cypht into 3rd party software. Specifically, -; Cypht disables PHP "super globals", and sets a restrictive PHP "open basedir" -; setting, tweaks PHP ini settings to increase security, and uses a browser -; "fingerprint" to improve session security. You can disable each with the -; following options: - -; Don't empty PHP super globals -disable_empty_superglobals=false - -; Don't apply open basedir restrictions -disable_open_basedir=false - -; Don't tweak ini settings -disable_ini_settings=false - -; Don't use a browser fingerprint -disable_fingerprint=false - -; You can create your own custom authentication and session classes using the -; site module set, however you might want those classes located somewhere else -; outside of the Cypht code base. By setting session_type and auth_type to custom, -; you can control what class is used with the following settings - -; auth_class= -; session_class= - - -; ----------------------------------------------------------------------------- -; DB Support -; ----------------------------------------------------------------------------- - -; Database Support -; ---------------- -; Cypht can use a database for 3 different purposes: authentication, sessions, -; and user settings. Each requires the following settings to be configured and -; the correct table to be created. CREATE TABLE SQL statements for MySQL and -; Postgresql are below. -; -; Connection type. Can be "host" to connect to a hostname, or "socket" to -; connect to a unix socket. -db_connection_type=host - -; Database host name or ip address. If db_connection_type is set to "socket", -; this value is ignored -db_host=127.0.0.1 - -; Database port. Only needed if your database is running on a non-standard -; port -db_port= - -; If db_connection_type is set to "socket", this should be the filesystem -; location of the unix socket file. If db_connection_type is set to "host" -; this value is ignored. -db_socket=/var/lib/mysqld/mysqld.sock - -; Name of the database with the required tables -db_name=cypht - -; User to connect to the database with -db_user=root - -; Password to connect to the database with -db_pass=123456 - -; Database type. can be any supported PDO driver ; (http://php.net/manual/en/pdo.drivers.php) -db_driver=mysql - - -; DB Sessions -; ----------- -; If your session_type is set to DB, the following table must exist in the DB -; defined above, and the db user must have read-write access to it: -; -; Postgresql: -; CREATE TABLE hm_user_session (hm_id varchar(250) primary key not null, data text, date timestamp); -; -; MySQL or SQLite: -; CREATE TABLE hm_user_session (hm_id varchar(180), data longblob, date timestamp, primary key (hm_id)); - - -; DB Authentication -; ----------------- -; If your auth_type is set to DB, the following table must exist in the DB -; defined above, and the db user must have read-write access to it: -; -; Postgresql: -; CREATE TABLE hm_user (username varchar(255) primary key not null, hash varchar(255)); -; -; MySQL or SQLite: -; CREATE TABLE hm_user (username varchar(250), hash varchar(250), primary key (username)); - - -; DB Settings -; ----------- -; If your user_config_type is set to DB, the following table must exist in the -; DB defined above, and the db user must have read-write access to it: -; -; Postgresql: -; CREATE TABLE hm_user_settings (username varchar(250) primary key not null, settings text); -; -; MySQL or SQLite: -; CREATE TABLE hm_user_settings(username varchar(250), settings longblob, primary key (username)); - - -; ----------------------------------------------------------------------------- -; Modules -; ----------------------------------------------------------------------------- - -; Module Sets -; ----------- -; Cypht uses module sets to separate functionality in the program. Module sets -; can be enabled and disabled independently by commenting out or uncommenting -; the assignments below. Add a new assignment to enable your own module sets. - - -; Core -; ---- -; Handles page layout, login/logout, and the default settings pages. This set -; is required. -modules[]=core - -; Contacts -; ------- -; Contact support. This module requires that at least one "backend" contacts -; module be enabled (ldap_contacts, gmail_contacts, or local_contacts). You -; can enable all the backends you want to support. -modules[]=contacts - -; Local contact support. Simple, locally stored contacts backend -modules[]=local_contacts - -; LDAP contact support. Use an LDAP server to store contacts. This module -; uses its own ini file in modules/ldap_contacts/. This file must be edited -; and moved to your app_data_dir to configure LDAP access. -; modules[]=ldap_contacts - -; Gmail contact support. Read-only support for Gmail contacts. Only available -; if you have a Gmail account enabled that uses OAuth2 authentication -; modules[]=gmail_contacts - -; Feeds -; ----- -; RSS/ATOM feed support -modules[]=feeds - -; POP3 -; ---- -; POP3 email account support -modules[]=pop3 - -; IMAP -; ---- -; IMAP email account support. If you want to use OAuth2 over IMAP (currently -; only supported by Gmail and Outlook.com), you will need to edit the oauth2.ini -; file in modules/imap/, and move it to your app_data_dir location. -modules[]=imap - -; 2 factor authentication -; ----------------------- -; This module enables 2 factor authentication using TOTP (compatible with -; Google Authenticator). You must edit the ini file in modules/2fa/ to -; configure a shared secret, then move that file to your app_data_dir. -; modules[]=2fa - -; SMTP -; ---- -; Send outbound email using SMTP servers -modules[]=smtp - -; Account -; ------ -; UI features for admins to create accounts, and for users to update passwords -; (when using the built-in DB authentication) -modules[]=account - -; Idle timer -; --------- -; Controls idle time and automatic logout -modules[]=idle_timer - -; Desktop notifications -; --------------------- -; Enable desktop notifications for new messages -; modules[]=desktop_notifications - -; Calendar -; ------- -; Basic calendar -modules[]=calendar - -; Themes -; ------ -; Change the UI using CSS -modules[]=themes - -; NUX -; --- -; Friendly new user experience. Quickly add common email services, and view -; development updates -modules[]=nux - -; Developer -; --------- -; For development, provides resources and installation details. Only available -; in "debug mode" -modules[]=developer - -; Github -; ------ -; Github repository tracking. This module has its own ini file located in -; modules/github/. You must edit this file, and move it to your app_data_dir -; to establish communication with github. -; modules[]=github - -; reCAPTCHA -; --------- -; Use the reCAPTCHA server on login. This module has its own ini file in -; modules/recaptcha/. You must edit this file, and move it to the location -; defined in app_data_dir to gain access to the WordPress notification API. -; modules[]=recaptcha - -; WordPress -; --------- -; WordPress.com notifications. This module has its own ini file in -; modules/wordpress/. You must edit this file, and move it to the location -; defined in app_data_dir to gain access to the WordPress notification API. -; modules[]=wordpress - -; History -; ------- -; Simple list of messages read since login -modules[]=history - -; Saved searches -; -------------- -; Save and re-run searches easily -modules[]=saved_searches - -; Advanced search -; --------------- -; Enable the advanced search form -modules[]=advanced_search - -; Message highlighting -; -------------------- -; Create custom rules to highlight messages in lists with different colors -modules[] = highlights - -; NASA -; ---- -; Access the NASA APOD API content -; modules[]=nasa - -; Profiles -; -------- -; Profiles to set reply-to, name, and signature to associated email accounts -modules[]=profiles - -; Inline message -; -------------- -; View messages inline in a reading pane instead of on a new page -modules[]=inline_message - -; IMAP folders -; ----------- -; Support for adding/renaming/deleting folders in IMAP accounts -modules[]=imap_folders - -; Keyboard Shortcuts -; ------------------ -; Enables configurable keyboard shortcuts for navigations and actions -modules[]=keyboard_shortcuts - -; Site -; ---- -; Site specific overrides. Used to control other module sets without hacking -; the code. -; modules[]=site - -; Dynamic login -; ------------- -; Allows user to authenticate against a list of popular mail services, or to -; auto-discover the services for the specified email address. The auth_type -; setting must be set to "dynamic", otherwise this module set does not do -; anything -; modules[]=dynamic_login - -; API login -; -------- -; Allows an API based login that returns a JSON response containing the session -; and hm_id values needed to create a login session. You will need to set the -; api_login_key value to something unique and include that in the POST request. -; modules[]=api_login -; api_login_key= - -; Recover settings -; ---------------- -; When using IMAP or POP3 authentication, if a user's password is changed, we -; can't decrypt the existing user settings. This module detects that situation -; and provides a page where a user can enter their old and new passwords to -; recover their previous settings. -; modules[]=recover_settings - -; Hello World -; ----------- -; Example module set with lots of comments -; modules[]=hello_world - - -; ----------------------------------------------------------------------------- -; User Defaults -; All of these settings can be changed by users, but you can uncomment and set -; the default behavior using the following options. This will only effect new -; users or ones that have never saved their settings. -; -; Per source time limits have valid values of: -; -1 day -; -1 week -; -2 weeks -; -4 weeks -; -6 weeks -; -6 months -; -1 year -; -5 years -; -; Per source maximums can be from 1 to 1000 -; ----------------------------------------------------------------------------- - -; If set to true, passwords for email accounts will never be saved between logins -; Defaults to false -; default_setting_no_password_save=false - -; Number of messages per page when viewing IMAP folders -; Defaults to 20 -; default_setting_imap_per_page=20 - -; Amount of IMAP message structure detail on the message view page -; Defaults to full structure -; default_setting_simple_msg_parts=false - -; Show icons for each IMAP message part type -; Defaults to true -; default_setting_msg_part_icons=true - -; Prefer text parts when viewing a message -; Defaults to false -; default_setting_text_only=false - -; Per source max for the combined sent view -; Defaults to 20 -; default_setting_sent_per_source=20 - -; Per source time limit for the combined sent view -; Defaults to 1 week -; default_setting_sent_since='-1 week' - -; Display source icons in message lists -; Defaults to true -; default_setting_show_list_icons=true - -; Redirect to this page on login -; Defaults to none -; default_setting_start_page=none - -; Don't prompt when deleting something -; Defaults to false -; default_setting_disable_delete_prompt=false - -; Hide icons in the folder list -; Defaults to false -; default_setting_no_folder_icons=false - -; Source max for the all email combined view -; Defaults to 20 -; default_setting_all_email_per_source=20 - -; Per source time limit for the all email combined view -; Defaults to 1 week -; default_setting_all_email_since='-1 week' - -; Per source time limit for the everything combined view -; Defaults to 1 week -; default_setting_all_since='-1 week' - -; Per source max for the everything combined view -; Defaults to 20 -; default_setting_all_per_source=20 - -; Per source max for the unread combined view -; Defaults to 20 -; default_setting_unread_per_source=20 - -; Per source max for the flagged combined view -; Defaults to 20 -; default_setting_flagged_per_source=20 - -; Per source time limit for the flagged combined view -; Defaults to 1 week -; default_setting_flagged_since='-1 week' - -; Per source time limit for the unread combined view -; Defaults to 1 week -; default_setting_unread_since='-1 week' - -; Timezone for date displays -; Defaults to UTC -; default_setting_timezone='UTC' - -; Message list format style -; Defaults to email client style -; default_setting_list_style='email_style' - -; Interface language -; Defaults to en (English) -; default_setting_language='en' - -; Hide new news feed items from the unread combined view -; Defaults to false -; default_setting_unread_exclude_feeds=false - -; Per source max for news feeds -; Defaults to 20 -; default_setting_feed_limit=20 - -; Per source time limit for news feeds -; Defaults to 1 week -; default_setting_feed_since='-1 week' - -; Toggle between plain text or HTML formatted mail on the compose page -; Defaults to 0 (plain text) -; default_setting_smtp_compose_type=0 - -; BCC a copy of outbound mail to the sender -; Defaults to false -; default_setting_smtp_auto_bcc=false - -; UI theme -; Defaults to the default white one ("White Bread") -; default_setting_theme='default' - -; Hide WordPress notifications from the unread combined view -; Defaults to false -; default_setting_unread_exclude_wordpress=false - -; Time limit for WordPress notifications -; Defaults to 1 week -; default_setting_wordpress_since='-1 week' - -; Hide Github notifications from the unread combined view -; Defaults to false -; default_setting_unread_exclude_github=false - -; Max per source for Github notifications -; Defaults to 20 -; default_setting_github_limit=20 - -; Per source time limit for Github notifications -; Defaults to 1 week -; default_setting_github_since='-1 weeks' - -; Display message details inline from the message list -; Defaults to false -; default_setting_inline_message=false - -; Enable keyboard shortcuts -; Defaults to false -; default_setting_enable_keyboard_shortcuts=1 From 64d1fc29d830d94ec8a9ca7f768a7ec19c53ae94 Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 25 Sep 2023 20:49:09 +0100 Subject: [PATCH 11/24] Fix: conflicts --- modules/imap/setup.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/imap/setup.php b/modules/imap/setup.php index 1a214a1e96..9bf43db43b 100644 --- a/modules/imap/setup.php +++ b/modules/imap/setup.php @@ -35,6 +35,7 @@ add_handler('settings', 'process_msg_part_icons', true, 'imap', 'date', 'after'); add_handler('settings', 'process_simple_msg_parts', true, 'imap', 'date', 'after'); add_handler('settings', 'process_pagination_links', true, 'imap', 'date', 'after'); +add_handler('settings', 'process_enable_simple_download_options', true, 'imap', 'date', 'after'); add_handler('settings', 'process_unread_on_open', true, 'imap', 'date', 'after'); add_handler('settings', 'process_imap_per_page_setting', true, 'imap', 'date', 'after'); add_handler('settings', 'process_max_google_contacts_number', true, 'imap', 'date', 'after'); @@ -50,6 +51,7 @@ add_output('settings', 'imap_pagination_links', true, 'imap', 'imap_msg_icons_setting', 'after'); add_output('settings', 'imap_unread_on_open', true, 'imap', 'imap_msg_icons_setting', 'after'); add_output('settings', 'imap_per_page_setting', true, 'imap', 'imap_pagination_links', 'after'); +add_output('settings', 'enable_simple_download_options', true, 'imap', 'imap_per_page_setting', 'after'); add_output('settings', 'max_google_contacts_number', true, 'imap', 'imap_per_page_setting', 'after'); add_output('settings', 'review_sent_email', true, 'imap', 'imap_pagination_links', 'after'); @@ -344,6 +346,7 @@ 'msg_part_icons' => FILTER_VALIDATE_BOOLEAN, 'simple_msg_parts' => FILTER_VALIDATE_BOOLEAN, 'pagination_links' => FILTER_VALIDATE_BOOLEAN, + 'imap_per_page_setting' => FILTER_VALIDATE_BOOLEAN, 'unread_on_open' => FILTER_VALIDATE_BOOLEAN, 'imap_allow_images' => FILTER_VALIDATE_BOOLEAN, 'imap_delete' => FILTER_SANITIZE_FULL_SPECIAL_CHARS, @@ -387,3 +390,4 @@ ) ); + From 8187bad167f836a28c1d1596485f6140036d97bd Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 25 Sep 2023 20:50:18 +0100 Subject: [PATCH 12/24] Fix: conflicts --- modules/imap/functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/imap/functions.php b/modules/imap/functions.php index bf31235a8b..28bc2239e7 100644 --- a/modules/imap/functions.php +++ b/modules/imap/functions.php @@ -85,7 +85,7 @@ function imap_data_sources($callback, $custom=array()) { }} /** - * Prepare and format message list data + * Prepare and format message list data * @subpackage imap/functions * @param array $msgs list of message headers to format * @param object $mod Hm_Output_Module From 5a2d88373a59e397df1be8070090e7873d59c2e2 Mon Sep 17 00:00:00 2001 From: Henock Date: Mon, 31 Jul 2023 22:50:42 +0100 Subject: [PATCH 13/24] Ref: Set simple UI as default --- modules/imap/handler_modules.php | 4 ++-- modules/imap/output_modules.php | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/imap/handler_modules.php b/modules/imap/handler_modules.php index 4aa6b3bcbc..4d7e312859 100644 --- a/modules/imap/handler_modules.php +++ b/modules/imap/handler_modules.php @@ -163,7 +163,7 @@ public function process() { function simple_msg_view_callback($val) { return $val; } - process_site_setting('simple_msg_parts', $this, 'simple_msg_view_callback', false, true); + process_site_setting('simple_msg_parts', $this, 'simple_msg_view_callback', true, true); } } @@ -1872,7 +1872,7 @@ public function process() { $this->out('imap_prefecth', $prefetch); $this->out('imap_msg_part', "$part"); $this->out('use_message_part_icons', $this->user_config->get('msg_part_icons_setting', false)); - $this->out('simple_msg_part_view', $this->user_config->get('simple_msg_parts_setting', false)); + $this->out('simple_msg_part_view', $this->user_config->get('simple_msg_parts_setting', true)); if ($msg_struct_current) { $this->out('msg_struct_current', $msg_struct_current); } diff --git a/modules/imap/output_modules.php b/modules/imap/output_modules.php index e91ee81d4c..cd8f4b09bd 100644 --- a/modules/imap/output_modules.php +++ b/modules/imap/output_modules.php @@ -989,6 +989,7 @@ protected function output() { $reset = ''; if (array_key_exists('simple_msg_parts', $settings) && $settings['simple_msg_parts']) { $checked = ' checked="checked"'; + } else { $reset = 'Refresh'; } return '
'; @@ -362,7 +364,7 @@ protected function output() { $txt .= ' | '.$this->trans('Delete').''; $txt .= ' | '.$this->trans('Copy').''; $txt .= ' | '.$this->trans('Move').''; - $txt .= ' | '.$this->trans('Archive').''; + $txt .= ' | '.$this->trans('Archive').''; $txt .= ' | ' . snooze_dropdown($this, isset($headers['X-Snoozed'])); if ($this->get('sieve_filters_enabled')) { diff --git a/modules/imap/site.css b/modules/imap/site.css index c31957e33b..3d7b8dedcf 100644 --- a/modules/imap/site.css +++ b/modules/imap/site.css @@ -162,17 +162,17 @@ /* Toggle this class - hide and show the popup */ - .show > .popup-container { + .show.popup-container { visibility: visible; -webkit-animation: fadeIn 1s; animation: fadeIn 1s; } - .show > .icon_arrow_up { + .show.icon_arrow_up { display: block; } - .show > .icon_arrow_down { + .show.icon_arrow_down { display: none; } @@ -198,3 +198,21 @@ from {opacity: 0;} to {opacity:1 ;} } + + @keyframes fadeOut { + 0% { opacity: 1; } + 100% { opacity: 0; } + } + + .fade { + animation-duration: 0.5s; + animation-fill-mode: forwards; + } + + .fade-out { + animation-name: fadeOut; + } + + .fade-in { + animation-name: fadeIn; + } diff --git a/modules/imap/site.js b/modules/imap/site.js index a4e05f3842..28c6dc86e9 100644 --- a/modules/imap/site.js +++ b/modules/imap/site.js @@ -301,7 +301,7 @@ var imap_message_list_content = function(id, folder, hook, batch_callback) { } Hm_Message_List.update(ids, res.formatted_message_list, 'imap'); - + $('.page_links').html(res.page_links); cache_imap_page(); }, @@ -793,7 +793,7 @@ var imap_prefetch_message_content = function(uid, server_id, folder) { var imap_prefetch_msgs = function() { var detail; var key; - + $(Hm_Utils.get_from_local_storage('formatted_unread_data')).each(function() { if ($(this).attr('class').match(/^imap/)) { detail = Hm_Utils.parse_folder_path($(this).attr('class'), 'imap'); @@ -902,7 +902,7 @@ var imap_move_copy = function(e, action, context) { folders.show(); $('.imap_folder_link', folders).addClass('imap_move_folder_link').removeClass('imap_folder_link'); if (action == 'move') { - label = $('.move_to_string1').val(); + label = $('.move_to_string1').val(); } else { label = $('.move_to_string2').val(); @@ -1131,7 +1131,7 @@ var imap_setup_snooze = function() { }); } -var imap_unsnooze_messages = function() { +var imap_unsnooze_messages = function() { Hm_Ajax.request( [{'name': 'hm_ajax_hook', 'value': 'ajax_imap_unsnooze'}], function() {}, @@ -1186,7 +1186,7 @@ $(function() { else if (hm_page_name() === 'info') { setTimeout(imap_status_update, 100); } - + if (hm_page_name() === 'message_list' || hm_page_name() === 'message') { imap_setup_snooze(); } @@ -1263,7 +1263,11 @@ var imap_archive_message = function(state, supplied_uid, supplied_detail) { var imap_show_add_contact_popup = function() { var popup = document.getElementById("contact_popup"); - if(!popup.classList.contains("show")) { - popup.classList.toggle("show"); - } + popup.classList.toggle("show"); +}; + +var imap_hide_add_contact_popup = function(event) { + event.stopPropagation() + var popup = document.getElementById("contact_popup"); + popup.classList.toggle("show"); }; From 2a2a9e03fefb380037fba5a6ae89f6b7ea4f1b86 Mon Sep 17 00:00:00 2001 From: Henock Date: Tue, 17 Oct 2023 13:01:35 +0100 Subject: [PATCH 24/24] Fix: remove wrong path in .gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 734ff252c2..87bd994dea 100644 --- a/.gitignore +++ b/.gitignore @@ -23,5 +23,3 @@ scripts/test.php *.sublime-workspace composer.phar lib/hm3/users/ -/scripts/hm3.ini -/scripts/hm3.rc