Browse Source

updated postgres docker; updated rounecube to 1.3.6

tags/v1.4.0^0
Robin Thoni 2 years ago
parent
commit
6486178dfa
100 changed files with 26 additions and 14414 deletions
  1. 1
    1
      postgresql/Dockerfile
  2. 0
    0
      postgresql/docker-entrypoint-initdb.d/1.2.2_01_init.sql
  3. 0
    0
      postgresql/docker-entrypoint-initdb.d/1.2.2_02_automatic_addressbook.sql
  4. 1
    0
      postgresql/docker-entrypoint-initdb.d/1.3.0_2016081200.sql
  5. 1
    0
      postgresql/docker-entrypoint-initdb.d/1.3.0_2016100900.sql
  6. 21
    0
      postgresql/docker-entrypoint-initdb.d/1.3.0_2016112200.sql
  7. 1
    0
      postgresql/docker-entrypoint-initdb.d/1.3.0_update_version.sql
  8. 1
    1
      roundcube/Dockerfile
  9. 0
    60
      roundcube/roundcubemail-1.2.2/.htaccess
  10. 0
    2307
      roundcube/roundcubemail-1.2.2/CHANGELOG
  11. 0
    263
      roundcube/roundcubemail-1.2.2/INSTALL
  12. 0
    93
      roundcube/roundcubemail-1.2.2/README.md
  13. 0
    398
      roundcube/roundcubemail-1.2.2/SQL/mssql.initial.sql
  14. 0
    200
      roundcube/roundcubemail-1.2.2/SQL/mysql.initial.sql
  15. 0
    221
      roundcube/roundcubemail-1.2.2/SQL/oracle.initial.sql
  16. 0
    256
      roundcube/roundcubemail-1.2.2/SQL/postgres.initial.sql
  17. 0
    181
      roundcube/roundcubemail-1.2.2/SQL/sqlite.initial.sql
  18. 0
    79
      roundcube/roundcubemail-1.2.2/UPGRADING
  19. 0
    108
      roundcube/roundcubemail-1.2.2/bin/installto.sh
  20. 0
    77
      roundcube/roundcubemail-1.2.2/bin/jsshrink.sh
  21. 0
    271
      roundcube/roundcubemail-1.2.2/bin/update.sh
  22. 0
    43
      roundcube/roundcubemail-1.2.2/composer.json-dist
  23. 0
    86
      roundcube/roundcubemail-1.2.2/config/config.inc.php.sample
  24. 0
    1213
      roundcube/roundcubemail-1.2.2/config/defaults.inc.php
  25. 0
    312
      roundcube/roundcubemail-1.2.2/index.php
  26. 0
    266
      roundcube/roundcubemail-1.2.2/installer/check.php
  27. 0
    51
      roundcube/roundcubemail-1.2.2/installer/client.js
  28. 0
    708
      roundcube/roundcubemail-1.2.2/installer/config.php
  29. BIN
      roundcube/roundcubemail-1.2.2/installer/images/add.png
  30. BIN
      roundcube/roundcubemail-1.2.2/installer/images/delete.png
  31. BIN
      roundcube/roundcubemail-1.2.2/installer/images/error.png
  32. BIN
      roundcube/roundcubemail-1.2.2/installer/images/roundcube_logo.png
  33. 0
    185
      roundcube/roundcubemail-1.2.2/installer/index.php
  34. 0
    235
      roundcube/roundcubemail-1.2.2/installer/styles.css
  35. 0
    460
      roundcube/roundcubemail-1.2.2/installer/test.php
  36. 0
    392
      roundcube/roundcubemail-1.2.2/plugins/acl/acl.js
  37. 0
    15
      roundcube/roundcubemail-1.2.2/plugins/acl/acl.min.js
  38. 0
    783
      roundcube/roundcubemail-1.2.2/plugins/acl/acl.php
  39. 0
    91
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ar_SA.inc
  40. 0
    80
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ast.inc
  41. 0
    91
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/az_AZ.inc
  42. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/be_BE.inc
  43. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/bg_BG.inc
  44. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/br.inc
  45. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/bs_BA.inc
  46. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ca_ES.inc
  47. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/cs_CZ.inc
  48. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/cy_GB.inc
  49. 0
    93
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/da_DK.inc
  50. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/de_CH.inc
  51. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/de_DE.inc
  52. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/el_GR.inc
  53. 0
    94
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/en_CA.inc
  54. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/en_GB.inc
  55. 0
    63
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/eo.inc
  56. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/es_419.inc
  57. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/es_AR.inc
  58. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/es_ES.inc
  59. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/et_EE.inc
  60. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/eu_ES.inc
  61. 0
    26
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/fa_AF.inc
  62. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/fa_IR.inc
  63. 0
    55
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/fi_FI.inc
  64. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/fo_FO.inc
  65. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/fr_FR.inc
  66. 0
    23
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/fy_NL.inc
  67. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/gl_ES.inc
  68. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/he_IL.inc
  69. 0
    90
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/hr_HR.inc
  70. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/hu_HU.inc
  71. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/hy_AM.inc
  72. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ia.inc
  73. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/id_ID.inc
  74. 0
    21
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/is_IS.inc
  75. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/it_IT.inc
  76. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ja_JP.inc
  77. 0
    21
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ka_GE.inc
  78. 0
    74
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/km_KH.inc
  79. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ko_KR.inc
  80. 0
    89
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ku.inc
  81. 0
    26
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ku_IQ.inc
  82. 0
    69
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/lb_LU.inc
  83. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/lt_LT.inc
  84. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/lv_LV.inc
  85. 0
    49
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/mn_MN.inc
  86. 0
    91
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/nb_NO.inc
  87. 0
    20
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/nl_BE.inc
  88. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/nl_NL.inc
  89. 0
    88
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/nn_NO.inc
  90. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/pl_PL.inc
  91. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/pt_BR.inc
  92. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/pt_PT.inc
  93. 0
    94
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ro_RO.inc
  94. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/ru_RU.inc
  95. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/sk_SK.inc
  96. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/sl_SI.inc
  97. 0
    25
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/sq_AL.inc
  98. 0
    52
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/sr_CS.inc
  99. 0
    98
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/sv_SE.inc
  100. 0
    0
      roundcube/roundcubemail-1.2.2/plugins/acl/localization/th_TH.inc

+ 1
- 1
postgresql/Dockerfile View File

@@ -1,4 +1,4 @@
1
-FROM robinthoni/postgres-backup-multiarch:9.6
1
+FROM robinthoni/postgres-backup-multiarch:9.6-1.1.0
2 2
 
3 3
 RUN rm -rf /var/log/*
4 4
 

postgresql/docker-entrypoint-initdb.d/01_init.sql → postgresql/docker-entrypoint-initdb.d/1.2.2_01_init.sql View File


postgresql/docker-entrypoint-initdb.d/02_automatic_addressbook.sql → postgresql/docker-entrypoint-initdb.d/1.2.2_02_automatic_addressbook.sql View File


+ 1
- 0
postgresql/docker-entrypoint-initdb.d/1.3.0_2016081200.sql View File

@@ -0,0 +1 @@
1
+ALTER TABLE "session" DROP COLUMN created;

+ 1
- 0
postgresql/docker-entrypoint-initdb.d/1.3.0_2016100900.sql View File

@@ -0,0 +1 @@
1
+ALTER TABLE session ALTER COLUMN ip TYPE character varying(41);

+ 21
- 0
postgresql/docker-entrypoint-initdb.d/1.3.0_2016112200.sql View File

@@ -0,0 +1,21 @@
1
+DROP TABLE "cache";
2
+DROP TABLE "cache_shared";
3
+
4
+CREATE TABLE "cache" (
5
+    user_id integer NOT NULL
6
+        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
7
+    cache_key varchar(128) DEFAULT '' NOT NULL,
8
+    expires timestamp with time zone DEFAULT NULL,
9
+    data text NOT NULL,
10
+    PRIMARY KEY (user_id, cache_key)
11
+);
12
+
13
+CREATE INDEX cache_expires_idx ON "cache" (expires);
14
+
15
+CREATE TABLE "cache_shared" (
16
+    cache_key varchar(255) NOT NULL PRIMARY KEY,
17
+    expires timestamp with time zone DEFAULT NULL,
18
+    data text NOT NULL
19
+);
20
+
21
+CREATE INDEX cache_shared_expires_idx ON "cache_shared" (expires);

+ 1
- 0
postgresql/docker-entrypoint-initdb.d/1.3.0_update_version.sql View File

@@ -0,0 +1 @@
1
+UPDATE system SET value='2016112200' WHERE name='roundcube-version';

+ 1
- 1
roundcube/Dockerfile View File

@@ -31,7 +31,7 @@ RUN rm -rf /var/log/* &&\
31 31
 
32 32
 COPY ./apache2.conf /etc/apache2/apache2.conf
33 33
 
34
-COPY ./roundcubemail-1.2.2/ /var/www/html/
34
+COPY ./roundcubemail-1.3.6/ /var/www/html/
35 35
 
36 36
 RUN ln -s /dev/stderr /var/www/html/logs/errors
37 37
 

+ 0
- 60
roundcube/roundcubemail-1.2.2/.htaccess View File

@@ -1,60 +0,0 @@
1
-# WARNING: For PHP 7 the module name in the line below need to be modified!
2
-<IfModule mod_php5.c>
3
-php_flag    display_errors  Off
4
-php_flag    log_errors      On
5
-# php_value    error_log    logs/errors
6
-
7
-php_value   upload_max_filesize   50M
8
-php_value   post_max_size         51M
9
-php_value   memory_limit          64M
10
-
11
-php_flag    register_globals            Off
12
-php_flag    zlib.output_compression     Off
13
-php_flag    magic_quotes_gpc            Off
14
-php_flag    magic_quotes_runtime        Off
15
-php_flag    suhosin.session.encrypt     Off
16
-
17
-#php_value   session.cookie_path     /
18
-#php_value   session.hash_function   sha256
19
-php_flag    session.auto_start       Off
20
-php_value   session.gc_maxlifetime   21600
21
-php_value   session.gc_divisor       500
22
-php_value   session.gc_probability   1
23
-</IfModule>
24
-
25
-<IfModule mod_rewrite.c>
26
-Options +SymLinksIfOwnerMatch
27
-RewriteEngine On
28
-RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
29
-
30
-# security rules:
31
-# - deny access to files not containing a dot or starting with a dot
32
-#   in all locations except installer directory
33
-RewriteRule ^(?!installer|\.well-known\/|[a-zA-Z0-9]{16})(\.?[^\.]+)$ - [F]
34
-# - deny access to some locations
35
-RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
36
-# - deny access to some documentation files
37
-RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml|Dockerfile)$ - [F]
38
-</IfModule>
39
-
40
-<IfModule mod_deflate.c>
41
-SetOutputFilter DEFLATE
42
-</IfModule>
43
-
44
-<IfModule mod_headers.c>
45
-# replace 'append' with 'merge' for Apache version 2.2.9 and later
46
-#Header append Cache-Control public env=!NO_CACHE
47
-# for better privacy/security ask browsers to not set the Referer
48
-#Header set Content-Security-Policy "referrer no-referrer"
49
-</IfModule>
50
-
51
-<IfModule mod_expires.c>
52
-ExpiresActive On
53
-ExpiresDefault "access plus 1 month"
54
-</IfModule>
55
-
56
-FileETag MTime Size
57
-
58
-<IfModule mod_autoindex.c>
59
-Options -Indexes
60
-</ifModule>

+ 0
- 2307
roundcube/roundcubemail-1.2.2/CHANGELOG
File diff suppressed because it is too large
View File


+ 0
- 263
roundcube/roundcubemail-1.2.2/INSTALL View File

@@ -1,263 +0,0 @@
1
-INTRODUCTION
2
-============
3
-
4
-This file describes the basic steps to install Roundcube Webmail on your
5
-web server. For additional information, please also consult the project's
6
-wiki page at http://trac.roundcube.net/wiki
7
-
8
-
9
-REQUIREMENTS
10
-============
11
-
12
-* The Apache, Lighttpd, Cherokee or Hiawatha web server
13
-* .htaccess support allowing overrides for DirectoryIndex
14
-* PHP Version 5.3.7 or greater including:
15
-   - PCRE, DOM, JSON, Session, Sockets, OpenSSL, Mbstring (required)
16
-   - PHP PDO with driver for either MySQL, PostgreSQL, SQL Server, Oracle or SQLite (required)
17
-   - Libiconv, Zip, Fileinfo, Intl, Exif (recommended)
18
-   - LDAP for LDAP addressbook support (optional)
19
-* PEAR and PEAR packages distributed with Roundcube or external:
20
-   - Mail_Mime 1.10.0 or newer
21
-   - Net_SMTP 1.7.1 or newer
22
-   - Net_Socket 1.0.12 or newer
23
-   - Net_IDNA2 0.1.1 or newer
24
-   - Auth_SASL 1.0.6 or newer
25
-   - Net_Sieve 1.3.2 or newer (for managesieve plugin)
26
-   - Crypt_GPG 1.4.1 or newer (for enigma plugin)
27
-* php.ini options (see .htaccess file):
28
-   - error_reporting E_ALL & ~E_NOTICE (or lower)
29
-   - memory_limit > 16MB (increase as suitable to support large attachments)
30
-   - file_uploads enabled (for attachment upload features)
31
-   - session.auto_start disabled
32
-   - suhosin.session.encrypt disabled
33
-   - mbstring.func_overload disabled
34
-   - magic_quotes_runtime disabled
35
-   - magic_quotes_sybase disabled
36
-   - register_globals disabled (PHP < 5.4)
37
-* A MySQL (4.0.8 or newer), PostgreSQL, MS SQL Server (2005 or newer), Oracle
38
-  database or SQLite support in PHP
39
-* One of the above databases with permission to create tables
40
-* An SMTP server (recommended) or PHP configured for mail delivery
41
-* Composer installed either locally or globally (optional, for plugin installation)
42
-
43
-
44
-INSTALLATION
45
-============
46
-
47
-1. Decompress and put this folder somewhere inside your document root
48
-2. Make sure that the following directories (and the files within)
49
-   are writable by the webserver
50
-   - /temp
51
-   - /logs
52
-3. Create a new database and a database user for Roundcube (see DATABASE SETUP)
53
-4. Point your browser to http://url-to-roundcube/installer/
54
-5. Follow the instructions of the install script (or see MANUAL CONFIGURATION)
55
-6. After creating and testing the configuration, remove the installer directory
56
-7. Check Known Issues section of this file
57
-
58
-
59
-CONFIGURATION HINTS
60
-===================
61
-
62
-IMPORTANT! Read all comments in defaults.inc.php, understand them
63
-and configure your installation to be not surprised by default behaviour.
64
-
65
-Roundcube writes internal errors to the 'errors' log file located in the logs
66
-directory which can be configured in config/config.inc.php. If you want ordinary
67
-PHP errors to be logged there as well, enable the 'php_value error_log' line
68
-in the .htaccess file and set the path to the log file accordingly.
69
-
70
-By default the session_path settings of PHP are not modified by Roundcube.
71
-However if you want to limit the session cookies to the directory where
72
-Roundcube resides you can uncomment and configure the according line
73
-in the .htaccess file.
74
-
75
-
76
-DATABASE SETUP
77
-==============
78
-
79
-Note: Database for Roundcube must use UTF-8 character set.
80
-Note: See defaults.inc.php file for examples of DSN configuration.
81
-
82
-* MySQL
83
--------
84
-Setting up the mysql database can be done by creating an empty database,
85
-importing the table layout and granting the proper permissions to the
86
-roundcube user. Here is an example of that procedure:
87
-
88
-# mysql
89
-> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
90
-> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
91
-    IDENTIFIED BY 'password';
92
-> quit
93
-
94
-# mysql roundcubemail < SQL/mysql.initial.sql
95
-
96
-Note 1: 'password' is the master password for the roundcube user. It is strongly
97
-recommended you replace this with a more secure password. Please keep in
98
-mind: You need to specify this password later in 'config/db.inc.php'.
99
-
100
-
101
-* SQLite
102
---------
103
-Versions of sqlite database engine older than 3 aren't supported.
104
-Database file and structure is created automatically by Roundcube.
105
-Make sure your configuration points to some file location and that the
106
-webserver can write to the file and the directory containing the file.
107
-
108
-
109
-* PostgreSQL
110
-------------
111
-To use Roundcube with PostgreSQL support you have to follow these
112
-simple steps, which have to be done as the postgres system user (or
113
-which ever is the database superuser):
114
-
115
-$ createuser -P roundcube
116
-$ createdb -O roundcube -E UNICODE roundcubemail
117
-$ psql -U roundcube -f SQL/postgres.initial.sql roundcubemail
118
-
119
-Note: in some system configurations you might need to add '-U postgres' to
120
-createuser and createdb commands.
121
-
122
-
123
-* Microsoft SQL Server
124
-----------------------
125
-Language/locale of the database must be set to us_english (1033). More info
126
-on this at http://trac.roundcube.net/ticket/1488918.
127
-
128
-
129
-Database cleaning
130
------------------
131
-To keep your database slick and clean we recommend to periodically execute
132
-bin/cleandb.sh which finally removes all records that are marked as deleted.
133
-Best solution is to install a cronjob running this script daily.
134
-
135
-
136
-MANUAL CONFIGURATION
137
-====================
138
-
139
-First of all, copy the sample configuration file config/config.inc.php.sample
140
-to config/config.inc.php and make the necessary adjustments according to your
141
-environment and your needs. More configuration options can be copied from the
142
-config/defaults.inc.php file into your local config.inc.php file as needed.
143
-Read the comments above the individual configuration options to find out what
144
-they do or read http://trac.roundcube.net/wiki/Howto_Install for even more
145
-guidance.
146
-
147
-You can also modify the default .htaccess file. This is necessary to
148
-increase the allowed size of file attachments, for example:
149
-	php_value       upload_max_filesize     2M
150
-
151
-
152
-SECURE YOUR INSTALLATION
153
-========================
154
-
155
-Access through the webserver to the following directories should be denied:
156
-
157
-  /config
158
-  /temp
159
-  /logs
160
-
161
-Roundcube uses .htaccess files to protect these directories, so be sure to
162
-allow override of the Limit directives to get them taken into account. The
163
-package also ships a .htaccess file in the root directory which defines some
164
-rewrite rules. In order to properly secure your installation, please enable
165
-mod_rewrite for Apache webserver and double check access to the above listed
166
-directories and their contents is denied.
167
-
168
-NOTE: In Apache 2.4, support for .htaccess files has been disabled by
169
-default. Therefore you first need to enable this in your Apache main or
170
-virtual host config by with:
171
-
172
- AllowOverride all
173
-
174
-
175
-UPGRADING
176
-=========
177
-
178
-If you already have a previous version of Roundcube installed,
179
-please refer to the instructions in UPGRADING guide.
180
-
181
-
182
-OPTIMISING
183
-==========
184
-
185
-There are two forms of optimisation here, compression and caching, both aimed
186
-at increasing an end user's experience using Roundcube Webmail. Compression
187
-allows the static web pages to be delivered with less bandwidth. The index.php
188
-of Roundcube Webmail already enables compression on its output. The settings
189
-below allow compression to occur for all static files. Caching sets HTTP 
190
-response headers that enable a user's web client to understand what is static
191
-and how to cache it.
192
-
193
-The caching directives used are:
194
- * Etags - sets at tag so the client can request is the page has changed
195
- * Cache-control - defines the age of the page and that the page is 'public'
196
-   This enables clients to cache javascript files that don't have private 
197
-   information between sessions even if using HTTPS. It also allows proxies
198
-   to share the same cached page between users.
199
- * Expires - provides another hint to increase the lifetime of static pages.
200
-
201
-For more information refer to RFC 2616.
202
-
203
-Side effects:
204
--------------
205
-These directives are designed for production use. If you are using this in
206
-a development environment you may get horribly confused if your webclient
207
-is caching stuff that you changed on the server. Disabling the expires 
208
-parts below should save you some grief.
209
-
210
-If you are changing the skins, it is recommended that you copy content to 
211
-a different directory apart from 'default'.
212
-
213
-Apache:
214
--------
215
-To enable these features in apache the following modules need to be enabled:
216
- * mod_deflate
217
- * mod_expires
218
- * mod_headers
219
-
220
-The optimisation is already included in the .htaccess file in the top 
221
-directory of your installation.
222
-
223
-If you are using Apache version 2.2.9 and later, in the .htaccess file
224
-change the 'append' word to 'merge' for a more correct response. Keeping
225
-as 'append' shouldn't cause any problems though changing to merge will 
226
-eliminate the possibility of duplicate 'public' headers in Cache-control.
227
-
228
-Lighttpd:
229
----------
230
-With Lightty the addition of Expire: tags by mod_expire is incompatible with
231
-the addition of "Cache-control: public". Using Cache-control 'public' is 
232
-used below as it is assumed to give a better caching result.
233
-
234
-Enable modules in server.modules:
235
-    "mod_setenv"
236
-    "mod_compress"
237
-
238
-Mod_compress is a server side cache of compressed files to improve its performance.
239
-
240
-$HTTP["host"] == "www.example.com" {
241
-
242
-    static-file.etags = "enable"
243
-    # http://redmine.lighttpd.net/projects/lighttpd/wiki/Etag.use-mtimeDetails
244
-    etag.use-mtime = "enable"
245
-
246
-    # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModSetEnv
247
-    $HTTP["url"] =~ "^/roundcubemail/(plugins|skins|program)" {
248
-        setenv.add-response-header  = ( "Cache-Control" => "public, max-age=2592000")
249
-    }
250
-
251
-    # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModCompress
252
-    # set compress.cache-dir to somewhere outside the docroot.
253
-    compress.cache-dir   = var.statedir + "/cache/compress"
254
-
255
-    compress.filetype = ("text/plain", "text/html", "text/javascript", "text/css", "text/xml", "image/gif", "image/png")
256
-}
257
-
258
-
259
-KNOWN ISSUES
260
-============
261
-
262
-Installations with uw-imap server should set imap_disabled_caps = array('ESEARCH')
263
-in main configuration file. ESEARCH implementation in this server is broken (#1489184).

+ 0
- 93
roundcube/roundcubemail-1.2.2/README.md View File

@@ -1,93 +0,0 @@
1
-Roundcube Webmail 
2
-=================
3
-[roundcube.net](http://roundcube.net)
4
-
5
-
6
-INTRODUCTION
7
-------------
8
-Roundcube Webmail is a browser-based multilingual IMAP client with an
9
-application-like user interface. It provides full functionality you expect
10
-from an email client, including MIME support, address book, folder management,
11
-message searching and spell checking. Roundcube Webmail is written in PHP and
12
-requires the MySQL, PostgreSQL or SQLite database. With its plugin API it is
13
-easily extendable and the user interface is fully customizable using skins
14
-which are pure XHTML and CSS 2.
15
-
16
-The code is mainly written in PHP and is designed to run on a webserver.
17
-It includes other open-source classes/libraries from [PEAR][pear],
18
-an IMAP library derived from [IlohaMail][iloha] the [TinyMCE][tinymce] rich
19
-text editor, [Googiespell][googiespell] library for spell checking or
20
-the [WASHTML][washtml] sanitizer by Frederic Motte.
21
-
22
-The current default skin 'Larry' was kindly created by FLINT / Büro für
23
-Gestaltung, Berne, Switzerland.
24
-
25
-
26
-INSTALLATION
27
-------------
28
-For detailed instructions on how to install Roundcube webmail on your server,
29
-please refer to the INSTALL document in the same directory as this document.
30
-
31
-If you're updating an older version of Roundcube please follow the steps
32
-described in the UPGRADING file.
33
-
34
-
35
-LICENSE
36
--------
37
-This program is free software: you can redistribute it and/or modify
38
-it under the terms of the GNU General Public License (**with exceptions
39
-for skins & plugins**) as published by the Free Software Foundation,
40
-either version 3 of the License, or (at your option) any later version.
41
-
42
-This program is distributed in the hope that it will be useful,
43
-but WITHOUT ANY WARRANTY; without even the implied warranty of
44
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45
-GNU General Public License for more details.
46
-
47
-You should have received a copy of the GNU General Public License
48
-along with this program. If not, see [www.gnu.org/licenses/][gpl].
49
-
50
-This file forms part of the Roundcube Webmail Software for which the
51
-following exception is added: Plugins and Skins which merely make
52
-function calls to the Roundcube Webmail Software, and for that purpose
53
-include it by reference shall not be considered modifications of
54
-the software.
55
-
56
-If you wish to use this file in another project or create a modified
57
-version that will not be part of the Roundcube Webmail Software, you
58
-may remove the exception above and use this source code under the
59
-original version of the license.
60
-
61
-For more details about licensing and the exceptions for skins and plugins
62
-see [roundcube.net/license][license]
63
-
64
-
65
-CONTRIBUTION
66
-------------
67
-Want to help make Roundcube the best webmail solution ever?
68
-Roundcube is open source software. Our developers and contributors all
69
-are volunteers and we're always looking for new additions and resources.
70
-For more information visit [roundcube.net/contribute][contrib]
71
-
72
-
73
-CONTACT
74
--------
75
-For bug reports or feature requests please refer to the tracking system
76
-at [Github][githubissues] or subscribe to our mailing list.
77
-See [roundcube.net/support][support] for details.
78
-
79
-You're always welcome to send a message to the project admin:
80
-hello(at)roundcube(dot)net
81
-
82
-
83
-[pear]:         http://pear.php.net
84
-[iloha]:        http://sourceforge.net/projects/ilohamail/
85
-[tinymce]:      http://www.tinymce.com/
86
-[googiespell]:  http://orangoo.com/labs/GoogieSpell/
87
-[washtml]:      http://www.ubixis.com/washtml/
88
-[kmgerich]:     http://kmgerich.com/
89
-[gpl]:          http://www.gnu.org/licenses/
90
-[license]:      http://roundcube.net/license
91
-[contrib]:      http://roundcube.net/contribute
92
-[support]:      http://roundcube.net/support
93
-[githubissues]: https://github.com/roundcube/roundcubemail/issues

+ 0
- 398
roundcube/roundcubemail-1.2.2/SQL/mssql.initial.sql View File

@@ -1,400 +0,0 @@
1
-CREATE TABLE [dbo].[cache] (
2
-	[user_id] [int] NOT NULL ,
3
-	[cache_key] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
4
-	[created] [datetime] NOT NULL ,
5
-	[expires] [datetime] NULL ,
6
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
7
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
8
-GO
9
-
10
-CREATE TABLE [dbo].[cache_shared] (
11
-	[cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL ,
12
-	[created] [datetime] NOT NULL ,
13
-	[expires] [datetime] NULL ,
14
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
15
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
16
-GO
17
-
18
-CREATE TABLE [dbo].[cache_index] (
19
-	[user_id] [int] NOT NULL ,
20
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
21
-	[expires] [datetime] NULL ,
22
-	[valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
23
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
24
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
25
-GO
26
-
27
-CREATE TABLE [dbo].[cache_thread] (
28
-	[user_id] [int] NOT NULL ,
29
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
30
-	[expires] [datetime] NULL ,
31
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
32
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
33
-GO
34
-
35
-CREATE TABLE [dbo].[cache_messages] (
36
-	[user_id] [int] NOT NULL ,
37
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
38
-	[uid] [int] NOT NULL ,
39
-	[expires] [datetime] NULL ,
40
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL ,
41
-	[flags] [int] NOT NULL
42
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
43
-GO
44
-
45
-CREATE TABLE [dbo].[contacts] (
46
-	[contact_id] [int] IDENTITY (1, 1) NOT NULL ,
47
-	[user_id] [int] NOT NULL ,
48
-	[changed] [datetime] NOT NULL ,
49
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
50
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
51
-	[email] [varchar] (8000) COLLATE Latin1_General_CI_AI NOT NULL ,
52
-	[firstname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
53
-	[surname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
54
-	[vcard] [text] COLLATE Latin1_General_CI_AI NULL ,
55
-	[words] [text] COLLATE Latin1_General_CI_AI NULL 
56
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
57
-GO
58
-
59
-CREATE TABLE [dbo].[contactgroups] (
60
-	[contactgroup_id] [int] IDENTITY (1, 1) NOT NULL ,
61
-	[user_id] [int] NOT NULL ,
62
-	[changed] [datetime] NOT NULL ,
63
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
64
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL
65
-) ON [PRIMARY] 
66
-GO
67
-
68
-CREATE TABLE [dbo].[contactgroupmembers] (
69
-	[contactgroup_id] [int] NOT NULL ,
70
-	[contact_id] [int] NOT NULL ,
71
-	[created] [datetime] NOT NULL
72
-) ON [PRIMARY] 
73
-GO
74
-
75
-CREATE TABLE [dbo].[identities] (
76
-	[identity_id] [int] IDENTITY (1, 1) NOT NULL ,
77
-	[user_id] [int] NOT NULL ,
78
-	[changed] [datetime] NOT NULL ,
79
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
80
-	[standard] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
81
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
82
-	[organization] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
83
-	[email] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
84
-	[reply-to] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
85
-	[bcc] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
86
-	[signature] [text] COLLATE Latin1_General_CI_AI NULL, 
87
-	[html_signature] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL
88
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
89
-GO
90
-
91
-CREATE TABLE [dbo].[session] (
92
-	[sess_id] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
93
-	[created] [datetime] NOT NULL ,
94
-	[changed] [datetime] NULL ,
95
-	[ip] [varchar] (40) COLLATE Latin1_General_CI_AI NOT NULL ,
96
-	[vars] [text] COLLATE Latin1_General_CI_AI NOT NULL 
97
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
98
-GO
99
-
100
-CREATE TABLE [dbo].[users] (
101
-	[user_id] [int] IDENTITY (1, 1) NOT NULL ,
102
-	[username] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
103
-	[mail_host] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
104
-	[created] [datetime] NOT NULL ,
105
-	[last_login] [datetime] NULL ,
106
-	[failed_login] [datetime] NULL ,
107
-	[failed_login_counter] [int] NULL ,
108
-	[language] [varchar] (5) COLLATE Latin1_General_CI_AI NULL ,
109
-	[preferences] [text] COLLATE Latin1_General_CI_AI NULL 
110
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
111
-GO
112
-
113
-CREATE TABLE [dbo].[dictionary] (
114
-	[user_id] [int] ,
115
-	[language] [varchar] (5) COLLATE Latin1_General_CI_AI NOT NULL ,
116
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
117
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
118
-GO
119
-
120
-CREATE TABLE [dbo].[searches] (
121
-	[search_id] [int] IDENTITY (1, 1) NOT NULL ,
122
-	[user_id] [int] NOT NULL ,
123
-	[type] [tinyint] NOT NULL ,
124
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
125
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
126
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
127
-GO
128
-
129
-CREATE TABLE [dbo].[system] (
130
-	[name] [varchar] (64) COLLATE Latin1_General_CI_AI NOT NULL ,
131
-	[value] [text] COLLATE Latin1_General_CI_AI NOT NULL 
132
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
133
-GO
134
-
135
-ALTER TABLE [dbo].[cache_index] WITH NOCHECK ADD 
136
-	 PRIMARY KEY CLUSTERED 
137
-	(
138
-		[user_id],[mailbox]
139
-	) ON [PRIMARY] 
140
-GO
141
-
142
-ALTER TABLE [dbo].[cache_thread] WITH NOCHECK ADD 
143
-	 PRIMARY KEY CLUSTERED 
144
-	(
145
-		[user_id],[mailbox]
146
-	) ON [PRIMARY] 
147
-GO
148
-
149
-ALTER TABLE [dbo].[cache_messages] WITH NOCHECK ADD 
150
-	 PRIMARY KEY CLUSTERED 
151
-	(
152
-		[user_id],[mailbox],[uid]
153
-	) ON [PRIMARY] 
154
-GO
155
-
156
-ALTER TABLE [dbo].[contacts] WITH NOCHECK ADD 
157
-	CONSTRAINT [PK_contacts_contact_id] PRIMARY KEY  CLUSTERED 
158
-	(
159
-		[contact_id]
160
-	) ON [PRIMARY] 
161
-GO
162
-
163
-ALTER TABLE [dbo].[contactgroups] WITH NOCHECK ADD 
164
-	CONSTRAINT [PK_contactgroups_contactgroup_id] PRIMARY KEY CLUSTERED 
165
-	(
166
-		[contactgroup_id]
167
-	) ON [PRIMARY] 
168
-GO
169
-
170
-ALTER TABLE [dbo].[contactgroupmembers] WITH NOCHECK ADD 
171
-	CONSTRAINT [PK_contactgroupmembers_id] PRIMARY KEY CLUSTERED 
172
-	(
173
-		[contactgroup_id], [contact_id]
174
-	) ON [PRIMARY] 
175
-GO
176
-
177
-ALTER TABLE [dbo].[identities] WITH NOCHECK ADD 
178
-	 PRIMARY KEY  CLUSTERED 
179
-	(
180
-		[identity_id]
181
-	) ON [PRIMARY] 
182
-GO
183
-
184
-ALTER TABLE [dbo].[session] WITH NOCHECK ADD 
185
-	CONSTRAINT [PK_session_sess_id] PRIMARY KEY  CLUSTERED 
186
-	(
187
-		[sess_id]
188
-	) ON [PRIMARY] 
189
-GO
190
-
191
-ALTER TABLE [dbo].[users] WITH NOCHECK ADD 
192
-	CONSTRAINT [PK_users_user_id] PRIMARY KEY  CLUSTERED 
193
-	(
194
-		[user_id]
195
-	) ON [PRIMARY] 
196
-GO
197
-
198
-ALTER TABLE [dbo].[searches] WITH NOCHECK ADD 
199
-	CONSTRAINT [PK_searches_search_id] PRIMARY KEY CLUSTERED 
200
-	(
201
-		[search_id]
202
-	) ON [PRIMARY] 
203
-GO
204
-
205
-ALTER TABLE [dbo].[system] WITH NOCHECK ADD 
206
-	CONSTRAINT [PK_system_name] PRIMARY KEY CLUSTERED 
207
-	(
208
-		[name]
209
-	) ON [PRIMARY] 
210
-GO
211
-
212
-ALTER TABLE [dbo].[cache] ADD 
213
-	CONSTRAINT [DF_cache_user_id] DEFAULT ('0') FOR [user_id],
214
-	CONSTRAINT [DF_cache_cache_key] DEFAULT ('') FOR [cache_key],
215
-	CONSTRAINT [DF_cache_created] DEFAULT (getdate()) FOR [created]
216
-GO
217
-
218
-ALTER TABLE [dbo].[cache_shared] ADD 
219
-	CONSTRAINT [DF_cache_shared_created] DEFAULT (getdate()) FOR [created]
220
-GO
221
-
222
-ALTER TABLE [dbo].[cache_index] ADD 
223
-	CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid]
224
-GO
225
-
226
-ALTER TABLE [dbo].[cache_messages] ADD 
227
-	CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags]
228
-GO
229
-
230
-CREATE INDEX [IX_cache_user_id] ON [dbo].[cache]([user_id]) ON [PRIMARY]
231
-GO
232
-
233
-CREATE INDEX [IX_cache_cache_key] ON [dbo].[cache]([cache_key]) ON [PRIMARY]
234
-GO
235
-
236
-CREATE INDEX [IX_cache_shared_cache_key] ON [dbo].[cache_shared]([cache_key]) ON [PRIMARY]
237
-GO
238
-
239
-CREATE INDEX [IX_cache_index_user_id] ON [dbo].[cache_index]([user_id]) ON [PRIMARY]
240
-GO
241
-
242
-CREATE INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [PRIMARY]
243
-GO
244
-
245
-CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY]
246
-GO
247
-
248
-CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY]
249
-GO
250
-
251
-CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY]
252
-GO
253
-
254
-CREATE INDEX [IX_cache_index_expires] ON [dbo].[cache_index]([expires]) ON [PRIMARY]
255
-GO
256
-
257
-CREATE INDEX [IX_cache_thread_expires] ON [dbo].[cache_thread]([expires]) ON [PRIMARY]
258
-GO
259
-
260
-CREATE INDEX [IX_cache_messages_expires] ON [dbo].[cache_messages]([expires]) ON [PRIMARY]
261
-GO
262
-
263
-ALTER TABLE [dbo].[contacts] ADD 
264
-	CONSTRAINT [DF_contacts_user_id] DEFAULT (0) FOR [user_id],
265
-	CONSTRAINT [DF_contacts_changed] DEFAULT (getdate()) FOR [changed],
266
-	CONSTRAINT [DF_contacts_del] DEFAULT ('0') FOR [del],
267
-	CONSTRAINT [DF_contacts_name] DEFAULT ('') FOR [name],
268
-	CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email],
269
-	CONSTRAINT [DF_contacts_firstname] DEFAULT ('') FOR [firstname],
270
-	CONSTRAINT [DF_contacts_surname] DEFAULT ('') FOR [surname],
271
-	CONSTRAINT [CK_contacts_del] CHECK ([del] = '1' or [del] = '0')
272
-GO
273
-
274
-CREATE INDEX [IX_contacts_user_id] ON [dbo].[contacts]([user_id]) ON [PRIMARY]
275
-GO
276
-
277
-ALTER TABLE [dbo].[contactgroups] ADD 
278
-	CONSTRAINT [DF_contactgroups_user_id] DEFAULT (0) FOR [user_id],
279
-	CONSTRAINT [DF_contactgroups_changed] DEFAULT (getdate()) FOR [changed],
280
-	CONSTRAINT [DF_contactgroups_del] DEFAULT ('0') FOR [del],
281
-	CONSTRAINT [DF_contactgroups_name] DEFAULT ('') FOR [name],
282
-	CONSTRAINT [CK_contactgroups_del] CHECK ([del] = '1' or [del] = '0')
283
-GO
284
-
285
-CREATE INDEX [IX_contactgroups_user_id] ON [dbo].[contactgroups]([user_id]) ON [PRIMARY]
286
-GO
287
-
288
-ALTER TABLE [dbo].[contactgroupmembers] ADD 
289
-	CONSTRAINT [DF_contactgroupmembers_contactgroup_id] DEFAULT (0) FOR [contactgroup_id],
290
-	CONSTRAINT [DF_contactgroupmembers_contact_id] DEFAULT (0) FOR [contact_id],
291
-	CONSTRAINT [DF_contactgroupmembers_created] DEFAULT (getdate()) FOR [created]
292
-GO
293
-
294
-CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY]
295
-GO
296
-
297
-ALTER TABLE [dbo].[identities] ADD 
298
-	CONSTRAINT [DF_identities_user] DEFAULT ('0') FOR [user_id],
299
-	CONSTRAINT [DF_identities_del] DEFAULT ('0') FOR [del],
300
-	CONSTRAINT [DF_identities_standard] DEFAULT ('0') FOR [standard],
301
-	CONSTRAINT [DF_identities_name] DEFAULT ('') FOR [name],
302
-	CONSTRAINT [DF_identities_organization] DEFAULT ('') FOR [organization],
303
-	CONSTRAINT [DF_identities_email] DEFAULT ('') FOR [email],
304
-	CONSTRAINT [DF_identities_reply] DEFAULT ('') FOR [reply-to],
305
-	CONSTRAINT [DF_identities_bcc] DEFAULT ('') FOR [bcc],
306
-	CONSTRAINT [DF_identities_html_signature] DEFAULT ('0') FOR [html_signature],
307
-	CHECK ([standard] = '1' or [standard] = '0'),
308
-	CHECK ([del] = '1' or [del] = '0')
309
-GO
310
-
311
-CREATE INDEX [IX_identities_user_id] ON [dbo].[identities]([user_id]) ON [PRIMARY]
312
-GO
313
-CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY]
314
-GO
315
-
316
-ALTER TABLE [dbo].[session] ADD 
317
-	CONSTRAINT [DF_session_sess_id] DEFAULT ('') FOR [sess_id],
318
-	CONSTRAINT [DF_session_created] DEFAULT (getdate()) FOR [created],
319
-	CONSTRAINT [DF_session_ip] DEFAULT ('') FOR [ip]
320
-GO
321
-
322
-CREATE INDEX [IX_session_changed] ON [dbo].[session]([changed]) ON [PRIMARY]
323
-GO
324
-
325
-ALTER TABLE [dbo].[users] ADD 
326
-	CONSTRAINT [DF_users_username] DEFAULT ('') FOR [username],
327
-	CONSTRAINT [DF_users_mail_host] DEFAULT ('') FOR [mail_host],
328
-	CONSTRAINT [DF_users_created] DEFAULT (getdate()) FOR [created]
329
-GO
330
-
331
-CREATE UNIQUE INDEX [IX_users_username] ON [dbo].[users]([username],[mail_host]) ON [PRIMARY]
332
-GO
333
-
334
-CREATE UNIQUE INDEX [IX_dictionary_user_language] ON [dbo].[dictionary]([user_id],[language]) ON [PRIMARY]
335
-GO
336
-
337
-ALTER TABLE [dbo].[searches] ADD 
338
-	CONSTRAINT [DF_searches_user] DEFAULT (0) FOR [user_id],
339
-	CONSTRAINT [DF_searches_type] DEFAULT (0) FOR [type]
340
-GO
341
-
342
-CREATE UNIQUE INDEX [IX_searches_user_type_name] ON [dbo].[searches]([user_id],[type],[name]) ON [PRIMARY]
343
-GO
344
-
345
-ALTER TABLE [dbo].[identities] ADD CONSTRAINT [FK_identities_user_id] 
346
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
347
-    ON DELETE CASCADE ON UPDATE CASCADE
348
-GO
349
-
350
-ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [FK_contacts_user_id]
351
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
352
-    ON DELETE CASCADE ON UPDATE CASCADE
353
-GO
354
-
355
-ALTER TABLE [dbo].[contactgroups] ADD CONSTRAINT [FK_contactgroups_user_id]
356
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
357
-    ON DELETE CASCADE ON UPDATE CASCADE
358
-GO
359
-
360
-ALTER TABLE [dbo].[cache] ADD CONSTRAINT [FK_cache_user_id]
361
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
362
-    ON DELETE CASCADE ON UPDATE CASCADE
363
-GO
364
-
365
-ALTER TABLE [dbo].[cache_index] ADD CONSTRAINT [FK_cache_index_user_id]
366
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
367
-    ON DELETE CASCADE ON UPDATE CASCADE
368
-GO
369
-
370
-ALTER TABLE [dbo].[cache_thread] ADD CONSTRAINT [FK_cache_thread_user_id]
371
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
372
-    ON DELETE CASCADE ON UPDATE CASCADE
373
-GO
374
-
375
-ALTER TABLE [dbo].[cache_messages] ADD CONSTRAINT [FK_cache_messages_user_id]
376
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
377
-    ON DELETE CASCADE ON UPDATE CASCADE
378
-GO
379
-
380
-ALTER TABLE [dbo].[contactgroupmembers] ADD CONSTRAINT [FK_contactgroupmembers_contactgroup_id]
381
-    FOREIGN KEY ([contactgroup_id]) REFERENCES [dbo].[contactgroups] ([contactgroup_id])
382
-    ON DELETE CASCADE ON UPDATE CASCADE
383
-GO
384
-
385
-ALTER TABLE [dbo].[searches] ADD CONSTRAINT [FK_searches_user_id]
386
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
387
-    ON DELETE CASCADE ON UPDATE CASCADE
388
-GO
389
-
390
-CREATE TRIGGER [contact_delete_member] ON [dbo].[contacts]
391
-    AFTER DELETE AS
392
-    DELETE FROM [dbo].[contactgroupmembers]
393
-    WHERE [contact_id] IN (SELECT [contact_id] FROM deleted)
394
-GO
395
-
396
-INSERT INTO [dbo].[system] ([name], [value]) VALUES ('roundcube-version', '2015111100')
397
-GO
398
-

+ 0
- 200
roundcube/roundcubemail-1.2.2/SQL/mysql.initial.sql View File

@@ -1,214 +0,0 @@
1
-
2
-
3
-/*!40014  SET FOREIGN_KEY_CHECKS=0 */;
4
-
5
-
6
-CREATE TABLE `session` (
7
- `sess_id` varchar(128) NOT NULL,
8
- `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
9
- `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
10
- `ip` varchar(40) NOT NULL,
11
- `vars` mediumtext NOT NULL,
12
- PRIMARY KEY(`sess_id`),
13
- INDEX `changed_index` (`changed`)
14
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
15
-
16
-
17
-
18
-CREATE TABLE `users` (
19
- `user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
20
- `username` varchar(128) BINARY NOT NULL,
21
- `mail_host` varchar(128) NOT NULL,
22
- `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
23
- `last_login` datetime DEFAULT NULL,
24
- `failed_login` datetime DEFAULT NULL,
25
- `failed_login_counter` int(10) UNSIGNED DEFAULT NULL,
26
- `language` varchar(5),
27
- `preferences` longtext,
28
- PRIMARY KEY(`user_id`),
29
- UNIQUE `username` (`username`, `mail_host`)
30
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
31
-
32
-
33
-
34
-CREATE TABLE `cache` (
35
- `user_id` int(10) UNSIGNED NOT NULL,
36
- `cache_key` varchar(128) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL,
37
- `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
38
- `expires` datetime DEFAULT NULL,
39
- `data` longtext NOT NULL,
40
- CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
41
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
42
- INDEX `expires_index` (`expires`),
43
- INDEX `user_cache_index` (`user_id`,`cache_key`)
44
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
45
-
46
-
47
-
48
-CREATE TABLE `cache_shared` (
49
- `cache_key` varchar(255) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL,
50
- `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
51
- `expires` datetime DEFAULT NULL,
52
- `data` longtext NOT NULL,
53
- INDEX `expires_index` (`expires`),
54
- INDEX `cache_key_index` (`cache_key`)
55
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
56
-
57
-
58
-
59
-CREATE TABLE `cache_index` (
60
- `user_id` int(10) UNSIGNED NOT NULL,
61
- `mailbox` varchar(255) BINARY NOT NULL,
62
- `expires` datetime DEFAULT NULL,
63
- `valid` tinyint(1) NOT NULL DEFAULT '0',
64
- `data` longtext NOT NULL,
65
- CONSTRAINT `user_id_fk_cache_index` FOREIGN KEY (`user_id`)
66
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
67
- INDEX `expires_index` (`expires`),
68
- PRIMARY KEY (`user_id`, `mailbox`)
69
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
70
-
71
-
72
-
73
-CREATE TABLE `cache_thread` (
74
- `user_id` int(10) UNSIGNED NOT NULL,
75
- `mailbox` varchar(255) BINARY NOT NULL,
76
- `expires` datetime DEFAULT NULL,
77
- `data` longtext NOT NULL,
78
- CONSTRAINT `user_id_fk_cache_thread` FOREIGN KEY (`user_id`)
79
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
80
- INDEX `expires_index` (`expires`),
81
- PRIMARY KEY (`user_id`, `mailbox`)
82
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
83
-
84
-
85
-
86
-CREATE TABLE `cache_messages` (
87
- `user_id` int(10) UNSIGNED NOT NULL,
88
- `mailbox` varchar(255) BINARY NOT NULL,
89
- `uid` int(11) UNSIGNED NOT NULL DEFAULT '0',
90
- `expires` datetime DEFAULT NULL,
91
- `data` longtext NOT NULL,
92
- `flags` int(11) NOT NULL DEFAULT '0',
93
- CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`)
94
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
95
- INDEX `expires_index` (`expires`),
96
- PRIMARY KEY (`user_id`, `mailbox`, `uid`)
97
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
98
-
99
-
100
-
101
-CREATE TABLE `contacts` (
102
- `contact_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
103
- `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
104
- `del` tinyint(1) NOT NULL DEFAULT '0',
105
- `name` varchar(128) NOT NULL DEFAULT '',
106
- `email` text NOT NULL,
107
- `firstname` varchar(128) NOT NULL DEFAULT '',
108
- `surname` varchar(128) NOT NULL DEFAULT '',
109
- `vcard` longtext NULL,
110
- `words` text NULL,
111
- `user_id` int(10) UNSIGNED NOT NULL,
112
- PRIMARY KEY(`contact_id`),
113
- CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
114
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
115
- INDEX `user_contacts_index` (`user_id`,`del`)
116
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
117
-
118
-
119
-CREATE TABLE `contactgroups` (
120
-  `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
121
-  `user_id` int(10) UNSIGNED NOT NULL,
122
-  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
123
-  `del` tinyint(1) NOT NULL DEFAULT '0',
124
-  `name` varchar(128) NOT NULL DEFAULT '',
125
-  PRIMARY KEY(`contactgroup_id`),
126
-  CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`)
127
-    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
128
-  INDEX `contactgroups_user_index` (`user_id`,`del`)
129
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
130
-
131
-CREATE TABLE `contactgroupmembers` (
132
-  `contactgroup_id` int(10) UNSIGNED NOT NULL,
133
-  `contact_id` int(10) UNSIGNED NOT NULL,
134
-  `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
135
-  PRIMARY KEY (`contactgroup_id`, `contact_id`),
136
-  CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`)
137
-    REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE,
138
-  CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`)
139
-    REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE,
140
-  INDEX `contactgroupmembers_contact_index` (`contact_id`)
141
-) /*!40000 ENGINE=INNODB */;
142
-
143
-
144
-
145
-CREATE TABLE `identities` (
146
- `identity_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
147
- `user_id` int(10) UNSIGNED NOT NULL,
148
- `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
149
- `del` tinyint(1) NOT NULL DEFAULT '0',
150
- `standard` tinyint(1) NOT NULL DEFAULT '0',
151
- `name` varchar(128) NOT NULL,
152
- `organization` varchar(128) NOT NULL DEFAULT '',
153
- `email` varchar(128) NOT NULL,
154
- `reply-to` varchar(128) NOT NULL DEFAULT '',
155
- `bcc` varchar(128) NOT NULL DEFAULT '',
156
- `signature` longtext,
157
- `html_signature` tinyint(1) NOT NULL DEFAULT '0',
158
- PRIMARY KEY(`identity_id`),
159
- CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
160
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
161
- INDEX `user_identities_index` (`user_id`, `del`),
162
- INDEX `email_identities_index` (`email`, `del`)
163
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
164
-
165
-
166
-
167
-CREATE TABLE `dictionary` (
168
-  `user_id` int(10) UNSIGNED DEFAULT NULL,
169
-  `language` varchar(5) NOT NULL,
170
-  `data` longtext NOT NULL,
171
-  CONSTRAINT `user_id_fk_dictionary` FOREIGN KEY (`user_id`)
172
-    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
173
-  UNIQUE `uniqueness` (`user_id`, `language`)
174
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
175
-
176
-
177
-
178
-CREATE TABLE `searches` (
179
- `search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
180
- `user_id` int(10) UNSIGNED NOT NULL,
181
- `type` int(3) NOT NULL DEFAULT '0',
182
- `name` varchar(128) NOT NULL,
183
- `data` text,
184
- PRIMARY KEY(`search_id`),
185
- CONSTRAINT `user_id_fk_searches` FOREIGN KEY (`user_id`)
186
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
187
- UNIQUE `uniqueness` (`user_id`, `type`, `name`)
188
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
189
-
190
-
191
-
192
-CREATE TABLE `system` (
193
- `name` varchar(64) NOT NULL,
194
- `value` mediumtext,
195
- PRIMARY KEY(`name`)
196
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
197
-
198
-/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
199
-
200
-INSERT INTO system (name, value) VALUES ('roundcube-version', '2015111100');

+ 0
- 221
roundcube/roundcubemail-1.2.2/SQL/oracle.initial.sql View File

@@ -1,223 +0,0 @@
1
-
2
-CREATE TABLE "users" (
3
-    "user_id" integer PRIMARY KEY,
4
-    "username" varchar(128) NOT NULL,
5
-    "mail_host" varchar(128) NOT NULL,
6
-    "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
7
-    "last_login" timestamp with time zone DEFAULT NULL,
8
-    "failed_login" timestamp with time zone DEFAULT NULL,
9
-    "failed_login_counter" integer DEFAULT NULL,
10
-    "language" varchar(5),
11
-    "preferences" long DEFAULT NULL,
12
-    CONSTRAINT "users_username_key" UNIQUE ("username", "mail_host")
13
-);
14
-
15
-CREATE SEQUENCE "users_seq"
16
-    START WITH 1 INCREMENT BY 1 NOMAXVALUE;
17
-
18
-CREATE TRIGGER "users_seq_trig"
19
-BEFORE INSERT ON "users" FOR EACH ROW
20
-BEGIN
21
-    :NEW."user_id" := "users_seq".nextval;
22
-END;
23
-/
24
-
25
-CREATE TABLE "session" (
26
-    "sess_id" varchar(128) NOT NULL PRIMARY KEY,
27
-    "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
28
-    "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL,
29
-    "ip" varchar(41) NOT NULL,
30
-    "vars" long NOT NULL
31
-);
32
-
33
-CREATE INDEX "session_changed_idx" ON "session" ("changed");
34
-
35
-
36
-CREATE TABLE "identities" (
37
-    "identity_id" integer PRIMARY KEY,
38
-    "user_id" integer NOT NULL
39
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
40
-    "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL,
41
-    "del" smallint DEFAULT 0 NOT NULL,
42
-    "standard" smallint DEFAULT 0 NOT NULL,
43
-    "name" varchar(128) NOT NULL,
44
-    "organization" varchar(128),
45
-    "email" varchar(128) NOT NULL,
46
-    "reply-to" varchar(128),
47
-    "bcc" varchar(128),
48
-    "signature" long,
49
-    "html_signature" integer DEFAULT 0 NOT NULL
50
-);
51
-
52
-CREATE INDEX "identities_user_id_idx" ON "identities" ("user_id", "del");
53
-CREATE INDEX "identities_email_idx" ON "identities" ("email", "del");
54
-
55
-CREATE SEQUENCE "identities_seq"
56
-    START WITH 1 INCREMENT BY 1 NOMAXVALUE;
57
-
58
-CREATE TRIGGER "identities_seq_trig"
59
-BEFORE INSERT ON "identities" FOR EACH ROW
60
-BEGIN
61
-    :NEW."identity_id" := "identities_seq".nextval;
62
-END;
63
-/
64
-
65
-CREATE TABLE "contacts" (
66
-    "contact_id" integer PRIMARY KEY,
67
-    "user_id" integer NOT NULL
68
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
69
-    "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL,
70
-    "del" smallint DEFAULT 0 NOT NULL,
71
-    "name" varchar(128) DEFAULT NULL,
72
-    "email" varchar(4000) DEFAULT NULL,
73
-    "firstname" varchar(128) DEFAULT NULL,
74
-    "surname" varchar(128) DEFAULT NULL,
75
-    "vcard" long,
76
-    "words" varchar(4000)
77
-);
78
-
79
-CREATE INDEX "contacts_user_id_idx" ON "contacts" ("user_id", "del");
80
-
81
-CREATE SEQUENCE "contacts_seq"
82
-    START WITH 1 INCREMENT BY 1 NOMAXVALUE;
83
-
84
-CREATE TRIGGER "contacts_seq_trig"
85
-BEFORE INSERT ON "contacts" FOR EACH ROW
86
-BEGIN
87
-    :NEW."contact_id" := "contacts_seq".nextval;
88
-END;
89
-/
90
-
91
-CREATE TABLE "contactgroups" (
92
-    "contactgroup_id" integer PRIMARY KEY,
93
-    "user_id" integer NOT NULL
94
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
95
-    "changed" timestamp with time zone DEFAULT current_timestamp NOT NULL,
96
-    "del" smallint DEFAULT 0 NOT NULL,
97
-    "name" varchar(128) NOT NULL
98
-);
99
-
100
-CREATE INDEX "contactgroups_user_id_idx" ON "contactgroups" ("user_id", "del");
101
-
102
-CREATE SEQUENCE "contactgroups_seq"
103
-    START WITH 1 INCREMENT BY 1 NOMAXVALUE;
104
-
105
-CREATE TRIGGER "contactgroups_seq_trig"
106
-BEFORE INSERT ON "contactgroups" FOR EACH ROW
107
-BEGIN
108
-    :NEW."contactgroup_id" := "contactgroups_seq".nextval;
109
-END;
110
-/
111
-
112
-CREATE TABLE "contactgroupmembers" (
113
-    "contactgroup_id" integer NOT NULL
114
-        REFERENCES "contactgroups" ("contactgroup_id") ON DELETE CASCADE,
115
-    "contact_id" integer NOT NULL
116
-        REFERENCES "contacts" ("contact_id") ON DELETE CASCADE,
117
-    "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
118
-    PRIMARY KEY ("contactgroup_id", "contact_id")
119
-);
120
-
121
-CREATE INDEX "contactgroupmembers_idx" ON "contactgroupmembers" ("contact_id");
122
-
123
-
124
-CREATE TABLE "cache" (
125
-    "user_id" integer NOT NULL
126
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
127
-    "cache_key" varchar(128) NOT NULL,
128
-    "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
129
-    "expires" timestamp with time zone DEFAULT NULL,
130
-    "data" long NOT NULL
131
-);
132
-
133
-CREATE INDEX "cache_user_id_idx" ON "cache" ("user_id", "cache_key");
134
-CREATE INDEX "cache_expires_idx" ON "cache" ("expires");
135
-
136
-
137
-CREATE TABLE "cache_shared" (
138
-    "cache_key" varchar(255) NOT NULL,
139
-    "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
140
-    "expires" timestamp with time zone DEFAULT NULL,
141
-    "data" long NOT NULL
142
-);
143
-
144
-CREATE INDEX "cache_shared_cache_key_idx" ON "cache_shared" ("cache_key");
145
-CREATE INDEX "cache_shared_expires_idx" ON "cache_shared" ("expires");
146
-
147
-
148
-CREATE TABLE "cache_index" (
149
-    "user_id" integer NOT NULL
150
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
151
-    "mailbox" varchar(255) NOT NULL,
152
-    "expires" timestamp with time zone DEFAULT NULL,
153
-    "valid" smallint DEFAULT 0 NOT NULL,
154
-    "data" long NOT NULL,
155
-    PRIMARY KEY ("user_id", "mailbox")
156
-);
157
-
158
-CREATE INDEX "cache_index_expires_idx" ON "cache_index" ("expires");
159
-
160
-
161
-CREATE TABLE "cache_thread" (
162
-    "user_id" integer NOT NULL
163
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
164
-    "mailbox" varchar(255) NOT NULL,
165
-    "expires" timestamp with time zone DEFAULT NULL,
166
-    "data" long NOT NULL,
167
-    PRIMARY KEY ("user_id", "mailbox")
168
-);
169
-
170
-CREATE INDEX "cache_thread_expires_idx" ON "cache_thread" ("expires");
171
-
172
-
173
-CREATE TABLE "cache_messages" (
174
-    "user_id" integer NOT NULL
175
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
176
-    "mailbox" varchar(255) NOT NULL,
177
-    "uid" integer NOT NULL,
178
-    "expires" timestamp with time zone DEFAULT NULL,
179
-    "data" long NOT NULL,
180
-    "flags" integer DEFAULT 0 NOT NULL,
181
-    PRIMARY KEY ("user_id", "mailbox", "uid")
182
-);
183
-
184
-CREATE INDEX "cache_messages_expires_idx" ON "cache_messages" ("expires");
185
-
186
-
187
-CREATE TABLE "dictionary" (
188
-    "user_id" integer DEFAULT NULL
189
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
190
-    "language" varchar(5) NOT NULL,
191
-    "data" long DEFAULT NULL,
192
-    CONSTRAINT "dictionary_user_id_lang_key" UNIQUE ("user_id", "language")
193
-);
194
-
195
-
196
-CREATE TABLE "searches" (
197
-    "search_id" integer PRIMARY KEY,
198
-    "user_id" integer NOT NULL
199
-        REFERENCES "users" ("user_id") ON DELETE CASCADE,
200
-    "type" smallint DEFAULT 0 NOT NULL,
201
-    "name" varchar(128) NOT NULL,
202
-    "data" long NOT NULL,
203
-    CONSTRAINT "searches_user_id_key" UNIQUE ("user_id", "type", "name")
204
-);
205
-
206
-CREATE SEQUENCE "searches_seq"
207
-    START WITH 1 INCREMENT BY 1 NOMAXVALUE;
208
-
209
-CREATE TRIGGER "searches_seq_trig"
210
-BEFORE INSERT ON "searches" FOR EACH ROW
211
-BEGIN
212
-    :NEW."search_id" := "searches_seq".nextval;
213
-END;
214
-/
215
-
216
-CREATE TABLE "system" (
217
-    "name" varchar(64) NOT NULL PRIMARY KEY,
218
-    "value" long
219
-);
220
-
221
-INSERT INTO "system" ("name", "value") VALUES ('roundcube-version', '2015111100');

+ 0
- 256
roundcube/roundcubemail-1.2.2/SQL/postgres.initial.sql View File

@@ -1,295 +0,0 @@
1
-
2
---
3
---
4
-
5
-CREATE SEQUENCE users_seq
6
-    INCREMENT BY 1
7
-    NO MAXVALUE
8
-    NO MINVALUE
9
-    CACHE 1;
10
-
11
---
12
---
13
-
14
-CREATE TABLE users (
15
-    user_id integer DEFAULT nextval('users_seq'::text) PRIMARY KEY,
16
-    username varchar(128) DEFAULT '' NOT NULL,
17
-    mail_host varchar(128) DEFAULT '' NOT NULL,
18
-    created timestamp with time zone DEFAULT now() NOT NULL,
19
-    last_login timestamp with time zone DEFAULT NULL,
20
-    failed_login timestamp with time zone DEFAULT NULL,
21
-    failed_login_counter integer DEFAULT NULL,
22
-    "language" varchar(5),
23
-    preferences text DEFAULT ''::text NOT NULL,
24
-    CONSTRAINT users_username_key UNIQUE (username, mail_host)
25
-);
26
-
27
-
28
---
29
---
30
-
31
-CREATE TABLE "session" (
32
-    sess_id varchar(128) DEFAULT '' PRIMARY KEY,
33
-    created timestamp with time zone DEFAULT now() NOT NULL,
34
-    changed timestamp with time zone DEFAULT now() NOT NULL,
35
-    ip varchar(41) NOT NULL,
36
-    vars text NOT NULL
37
-);
38
-
39
-CREATE INDEX session_changed_idx ON session (changed);
40
-
41
-
42
---
43
---
44
-
45
-CREATE SEQUENCE identities_seq
46
-    START WITH 1
47
-    INCREMENT BY 1
48
-    NO MAXVALUE
49
-    NO MINVALUE
50
-    CACHE 1;
51
-
52
---
53
---
54
-
55
-CREATE TABLE identities (
56
-    identity_id integer DEFAULT nextval('identities_seq'::text) PRIMARY KEY,
57
-    user_id integer NOT NULL
58
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
59
-    changed timestamp with time zone DEFAULT now() NOT NULL,
60
-    del smallint DEFAULT 0 NOT NULL,
61
-    standard smallint DEFAULT 0 NOT NULL,
62
-    name varchar(128) NOT NULL,
63
-    organization varchar(128),
64
-    email varchar(128) NOT NULL,
65
-    "reply-to" varchar(128),
66
-    bcc varchar(128),
67
-    signature text,
68
-    html_signature integer DEFAULT 0 NOT NULL
69
-);
70
-
71
-CREATE INDEX identities_user_id_idx ON identities (user_id, del);
72
-CREATE INDEX identities_email_idx ON identities (email, del);
73
-
74
-
75
---
76
---
77
-
78
-CREATE SEQUENCE contacts_seq
79
-    START WITH 1
80
-    INCREMENT BY 1
81
-    NO MAXVALUE
82
-    NO MINVALUE
83
-    CACHE 1;
84
-
85
---
86
---
87
-
88
-CREATE TABLE contacts (
89
-    contact_id integer DEFAULT nextval('contacts_seq'::text) PRIMARY KEY,
90
-    user_id integer NOT NULL
91
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
92
-    changed timestamp with time zone DEFAULT now() NOT NULL,
93
-    del smallint DEFAULT 0 NOT NULL,
94
-    name varchar(128) DEFAULT '' NOT NULL,
95
-    email text DEFAULT '' NOT NULL,
96
-    firstname varchar(128) DEFAULT '' NOT NULL,
97
-    surname varchar(128) DEFAULT '' NOT NULL,
98
-    vcard text,
99
-    words text
100
-);
101
-
102
-CREATE INDEX contacts_user_id_idx ON contacts (user_id, del);
103
-
104
---
105
---
106
-
107
-CREATE SEQUENCE contactgroups_seq
108
-    INCREMENT BY 1
109
-    NO MAXVALUE
110
-    NO MINVALUE
111
-    CACHE 1;
112
-
113
---
114
---
115
-
116
-CREATE TABLE contactgroups (
117
-    contactgroup_id integer DEFAULT nextval('contactgroups_seq'::text) PRIMARY KEY,
118
-    user_id integer NOT NULL
119
-        REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
120
-    changed timestamp with time zone DEFAULT now() NOT NULL,
121
-    del smallint NOT NULL DEFAULT 0,
122
-    name varchar(128) NOT NULL DEFAULT ''
123
-);
124
-
125
-CREATE INDEX contactgroups_user_id_idx ON contactgroups (user_id, del);
126
-
127
---
128
---
129
-
130
-CREATE TABLE contactgroupmembers (
131
-    contactgroup_id integer NOT NULL
132
-        REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE,
133
-    contact_id integer NOT NULL
134
-        REFERENCES contacts(contact_id) ON DELETE CASCADE ON UPDATE CASCADE,
135
-    created timestamp with time zone DEFAULT now() NOT NULL,
136
-    PRIMARY KEY (contactgroup_id, contact_id)
137
-);
138
-
139
-CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id);
140
-
141
---
142
---
143
-
144
-CREATE TABLE "cache" (
145
-    user_id integer NOT NULL
146
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
147
-    cache_key varchar(128) DEFAULT '' NOT NULL,
148
-    created timestamp with time zone DEFAULT now() NOT NULL,
149
-    expires timestamp with time zone DEFAULT NULL,
150
-    data text NOT NULL
151
-);
152
-
153
-CREATE INDEX cache_user_id_idx ON "cache" (user_id, cache_key);
154
-CREATE INDEX cache_expires_idx ON "cache" (expires);
155
-
156
---
157
---
158
-
159
-CREATE TABLE "cache_shared" (
160
-    cache_key varchar(255) NOT NULL,
161
-    created timestamp with time zone DEFAULT now() NOT NULL,
162
-    expires timestamp with time zone DEFAULT NULL,
163
-    data text NOT NULL
164
-);
165
-
166
-CREATE INDEX cache_shared_cache_key_idx ON "cache_shared" (cache_key);
167
-CREATE INDEX cache_shared_expires_idx ON "cache_shared" (expires);
168
-
169
---
170
---
171
-
172
-CREATE TABLE cache_index (
173
-    user_id integer NOT NULL
174
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
175
-    mailbox varchar(255) NOT NULL,
176
-    expires timestamp with time zone DEFAULT NULL,
177
-    valid smallint NOT NULL DEFAULT 0,
178
-    data text NOT NULL,
179
-    PRIMARY KEY (user_id, mailbox)
180
-);
181
-
182
-CREATE INDEX cache_index_expires_idx ON cache_index (expires);
183
-
184
---
185
---
186
-
187
-CREATE TABLE cache_thread (
188
-    user_id integer NOT NULL
189
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
190
-    mailbox varchar(255) NOT NULL,
191
-    expires timestamp with time zone DEFAULT NULL,
192
-    data text NOT NULL,
193
-    PRIMARY KEY (user_id, mailbox)
194
-);
195
-
196
-CREATE INDEX cache_thread_expires_idx ON cache_thread (expires);
197
-
198
---
199
---
200
-
201
-CREATE TABLE cache_messages (
202
-    user_id integer NOT NULL
203
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
204
-    mailbox varchar(255) NOT NULL,
205
-    uid integer NOT NULL,
206
-    expires timestamp with time zone DEFAULT NULL,
207
-    data text NOT NULL,
208
-    flags integer NOT NULL DEFAULT 0,
209
-    PRIMARY KEY (user_id, mailbox, uid)
210
-);
211
-
212
-CREATE INDEX cache_messages_expires_idx ON cache_messages (expires);
213
-
214
---
215
---
216
-
217
-CREATE TABLE dictionary (
218
-    user_id integer DEFAULT NULL
219
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
220
-   "language" varchar(5) NOT NULL,
221
-    data text NOT NULL,
222
-    CONSTRAINT dictionary_user_id_language_key UNIQUE (user_id, "language")
223
-);
224
-
225
---
226
---
227
-
228
-CREATE SEQUENCE searches_seq
229
-    INCREMENT BY 1
230
-    NO MAXVALUE
231
-    NO MINVALUE
232
-    CACHE 1;
233
-
234
---
235
---
236
-
237
-CREATE TABLE searches (
238
-    search_id integer DEFAULT nextval('searches_seq'::text) PRIMARY KEY,
239
-    user_id integer NOT NULL
240
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
241
-    "type" smallint DEFAULT 0 NOT NULL,
242
-    name varchar(128) NOT NULL,
243
-    data text NOT NULL,
244
-    CONSTRAINT searches_user_id_key UNIQUE (user_id, "type", name)
245
-);
246
-
247
-
248
---
249
---
250
-
251
-CREATE TABLE "system" (
252
-    name varchar(64) NOT NULL PRIMARY KEY,
253
-    value text
254
-);
255
-
256
-INSERT INTO system (name, value) VALUES ('roundcube-version', '2015111100');

+ 0
- 181
roundcube/roundcubemail-1.2.2/SQL/sqlite.initial.sql View File

@@ -1,206 +0,0 @@
1
-
2
-
3
-CREATE TABLE contacts (
4
-  contact_id integer NOT NULL PRIMARY KEY,
5
-  user_id integer NOT NULL,
6
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
7
-  del tinyint NOT NULL default '0',
8
-  name varchar(128) NOT NULL default '',
9
-  email text NOT NULL default '',
10
-  firstname varchar(128) NOT NULL default '',
11
-  surname varchar(128) NOT NULL default '',
12
-  vcard text NOT NULL default '',
13
-  words text NOT NULL default ''
14
-);
15
-
16
-CREATE INDEX ix_contacts_user_id ON contacts(user_id, del);
17
-
18
-
19
-CREATE TABLE contactgroups (
20
-  contactgroup_id integer NOT NULL PRIMARY KEY,
21
-  user_id integer NOT NULL default '0',
22
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
23
-  del tinyint NOT NULL default '0',
24
-  name varchar(128) NOT NULL default ''
25
-);
26
-
27
-CREATE INDEX ix_contactgroups_user_id ON contactgroups(user_id, del);
28
-
29
-
30
-CREATE TABLE contactgroupmembers (
31
-  contactgroup_id integer NOT NULL,
32
-  contact_id integer NOT NULL default '0',
33
-  created datetime NOT NULL default '0000-00-00 00:00:00',
34
-  PRIMARY KEY (contactgroup_id, contact_id)
35
-);
36
-
37
-CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id);
38
-
39
-
40
-CREATE TABLE identities (
41
-  identity_id integer NOT NULL PRIMARY KEY,
42
-  user_id integer NOT NULL default '0',
43
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
44
-  del tinyint NOT NULL default '0',
45
-  standard tinyint NOT NULL default '0',
46
-  name varchar(128) NOT NULL default '',
47
-  organization varchar(128) default '',
48
-  email varchar(128) NOT NULL default '',
49
-  "reply-to" varchar(128) NOT NULL default '',
50
-  bcc varchar(128) NOT NULL default '',
51
-  signature text NOT NULL default '',
52
-  html_signature tinyint NOT NULL default '0'
53
-);
54
-
55
-CREATE INDEX ix_identities_user_id ON identities(user_id, del);
56
-CREATE INDEX ix_identities_email ON identities(email, del);
57
-
58
-
59
-CREATE TABLE users (
60
-  user_id integer NOT NULL PRIMARY KEY,
61
-  username varchar(128) NOT NULL default '',
62
-  mail_host varchar(128) NOT NULL default '',
63
-  created datetime NOT NULL default '0000-00-00 00:00:00',
64
-  last_login datetime DEFAULT NULL,
65
-  failed_login datetime DEFAULT NULL,
66
-  failed_login_counter integer DEFAULT NULL,
67
-  language varchar(5),
68
-  preferences text NOT NULL default ''
69
-);
70
-
71
-CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host);
72
-
73
-
74
-CREATE TABLE session (
75
-  sess_id varchar(128) NOT NULL PRIMARY KEY,
76
-  created datetime NOT NULL default '0000-00-00 00:00:00',
77
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
78
-  ip varchar(40) NOT NULL default '',
79
-  vars text NOT NULL
80
-);
81
-
82
-CREATE INDEX ix_session_changed ON session (changed);
83
-
84
---
85
---
86
-
87
-CREATE TABLE dictionary (
88
-    user_id integer DEFAULT NULL,
89
-   "language" varchar(5) NOT NULL,
90
-    data text NOT NULL
91
-);
92
-
93
-CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, "language");
94
-
95
---
96
---
97
-
98
-CREATE TABLE searches (
99
-  search_id integer NOT NULL PRIMARY KEY,
100
-  user_id integer NOT NULL DEFAULT '0',
101
-  "type" smallint NOT NULL DEFAULT '0',
102
-  name varchar(128) NOT NULL,
103
-  data text NOT NULL
104
-);
105
-
106
-CREATE UNIQUE INDEX ix_searches_user_type_name ON searches (user_id, type, name);
107
-
108
-
109
-CREATE TABLE cache (
110
-  user_id integer NOT NULL default 0,
111
-  cache_key varchar(128) NOT NULL default '',
112
-  created datetime NOT NULL default '0000-00-00 00:00:00',
113
-  expires datetime DEFAULT NULL,
114
-  data text NOT NULL
115
-);
116
-
117
-CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key);
118
-CREATE INDEX ix_cache_expires ON cache(expires);
119
-
120
-
121
-CREATE TABLE cache_shared (
122
-  cache_key varchar(255) NOT NULL,
123
-  created datetime NOT NULL default '0000-00-00 00:00:00',
124
-  expires datetime DEFAULT NULL,
125
-  data text NOT NULL
126
-);
127
-
128
-CREATE INDEX ix_cache_shared_cache_key ON cache_shared(cache_key);
129
-CREATE INDEX ix_cache_shared_expires ON cache_shared(expires);
130
-
131
---
132
---
133
-
134
-CREATE TABLE cache_index (
135
-    user_id integer NOT NULL,
136
-    mailbox varchar(255) NOT NULL,
137
-    expires datetime DEFAULT NULL,
138
-    valid smallint NOT NULL DEFAULT '0',
139
-    data text NOT NULL,
140
-    PRIMARY KEY (user_id, mailbox)
141
-);
142
-
143
-CREATE INDEX ix_cache_index_expires ON cache_index (expires);
144
-
145
---
146
---
147
-
148
-CREATE TABLE cache_thread (
149
-    user_id integer NOT NULL,
150
-    mailbox varchar(255) NOT NULL,
151
-    expires datetime DEFAULT NULL,
152
-    data text NOT NULL,
153
-    PRIMARY KEY (user_id, mailbox)
154
-);
155
-
156
-CREATE INDEX ix_cache_thread_expires ON cache_thread (expires);
157
-
158
---
159
---
160
-
161
-CREATE TABLE cache_messages (
162
-    user_id integer NOT NULL,
163
-    mailbox varchar(255) NOT NULL,
164
-    uid integer NOT NULL,
165
-    expires datetime DEFAULT NULL,
166
-    data text NOT NULL,
167
-    flags integer NOT NULL DEFAULT '0',
168
-    PRIMARY KEY (user_id, mailbox, uid)
169
-);
170
-
171
-CREATE INDEX ix_cache_messages_expires ON cache_messages (expires);
172
-
173
---
174
---
175
-
176
-CREATE TABLE system (
177
-  name varchar(64) NOT NULL PRIMARY KEY,
178
-  value text NOT NULL
179
-);
180
-
181
-INSERT INTO system (name, value) VALUES ('roundcube-version', '2015111100');

+ 0
- 79
roundcube/roundcubemail-1.2.2/UPGRADING View File

@@ -1,79 +0,0 @@
1
-UPGRADING instructions
2
-======================
3
-
4
-Follow these instructions if upgrading from a previous version
5
-of Roundcube Webmail. We recommend to carefully backup the existing
6
-installation as well as the database before going through the following steps.
7
-
8
-Using the update script
9
------------------------
10
-There is a shell script (for unix based systems) that does the job for you.
11
-To use it, unpack the archive of the new Roundcube version to a temporary location
12
-(don't replace the Roundcube installation you want to update)
13
-and cd into that directory. From there, run the following command in a shell:
14
-
15
-  ./bin/installto.sh <TARGET-FOLDER>
16
-
17
-For <TARGET-FOLDER> you specify the path to the Roundcube installation 
18
-which should be updated. The update script will then copy all new files to the 
19
-target location and check and update the configuration and database schema.
20
-After all is done, the temporary folder with the new Roundcube files can be 
21
-removed again.
22
-
23
-WARNING: See Post-Upgrade Activities section below.
24
-
25
-
26
-Updating manually
27
------------------
28
-If you don't have shell access to the Roundcube installation or if not running 
29
-it on a unix system, you need to do the following operations by hand:
30
-
31
-1. Replace index.php and all files in
32
-   - ./bin/
33
-   - ./SQL/
34
-   - ./program/
35
-   - ./installer/
36
-2. Replace the configuration defaults files:
37
-   - config/defaults.inc.php
38
-   - config/mimetypes.php
39
-3. rsync the contents of the following folders from your installation
40
-   directory into the target folder:
41
-   ./skins/
42
-   ./plugins/
43
-   ./vendor/
44
-4a. If you previously installed plugins through composer, update dependencies
45
-   by running `php composer.phar update --no-dev`
46
-4b. Install/update dependencies using composer:
47
-   - get composer from https://getcomposer.org/download/
48
-   - rename the composer.json-dist file into composer.json
49
-   - if you want to use LDAP address books, enable the LDAP libraries in your
50
-     composer.json file by moving the items from "suggest" to the "require"
51
-     section (remove the explanation texts after the version!).
52
-   - run `php composer.phar install --no-dev`
53
-5. Run `./bin/update.sh` from the commandline OR
54
-   open http://url-to-roundcube/installer/ in a browser and choose "3 Test config".
55
-   To enable the latter one, you have to temporary set 'enable_installer'
56
-   to true in your local config/config.inc.php file.
57
-   WARNING: See SQLite database upgrade below.
58
-6. Let the update script/installer check your configuration and
59
-   update your config files and database schema as suggested by the updater.
60
-7. Make sure 'enable_installer' is set to false again.
61
-8. See Post-Upgrade Activities section.
62
-
63
-
64
-Post-Upgrade Activities
65
------------------------
66
-1. Check .htaccess settings (some php settings could become required)
67
-2. If you're using build-in addressbook, run indexing script /bin/indexcontacts.sh.
68
-3. When upgrading from version older than 0.6-beta you should make sure
69
-   your folder settings contain namespace prefix. For example Courier users
70
-   should add INBOX. prefix to folder names in main configuration file.
71
-4. Check system requirements in INSTALL file.
72
-
73
-SQLite database upgrade
74
------------------------
75
-Versions older than 0.9 were supporting SQLite v2 only. Newer versions require
76
-database in v3 format. The best what you can do is to convert database file
77
-to the new format using command line tools:
78
-
79
-sqlite OLD.DB .dump | sqlite3 NEW.DB

+ 0
- 108
roundcube/roundcubemail-1.2.2/bin/installto.sh View File

@@ -1,108 +0,0 @@
1
-#!/usr/bin/env php
2
-<?php
3
-/*
4
- +-----------------------------------------------------------------------+
5
- | bin/installto.sh                                                      |
6
- |                                                                       |
7
- | This file is part of the Roundcube Webmail client                     |
8
- | Copyright (C) 2014-2016, The Roundcube Dev Team                       |
9
- |                                                                       |
10
- | Licensed under the GNU General Public License version 3 or            |
11
- | any later version with exceptions for skins & plugins.                |
12
- | See the README file for a full license statement.                     |
13
- |                                                                       |
14
- | PURPOSE:                                                              |
15
- |   Update an existing Roundcube installation with files from           |
16
- |   this version                                                        |
17
- +-----------------------------------------------------------------------+
18
- | Author: Thomas Bruederli <roundcube@gmail.com>                        |
19
- +-----------------------------------------------------------------------+
20
-*/
21
-
22
-define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
23
-
24
-require_once INSTALL_PATH . 'program/include/clisetup.php';
25
-
26
-$target_dir = unslashify($_SERVER['argv'][1]);
27
-
28
-if (empty($target_dir) || !is_dir(realpath($target_dir)))
29
-  rcube::raise_error("Invalid target: not a directory\nUsage: installto.sh <TARGET>", false, true);
30
-
31
-// read version from iniset.php
32
-$iniset = @file_get_contents($target_dir . '/program/include/iniset.php');
33
-if (!preg_match('/define\(.RCMAIL_VERSION.,\s*.([0-9.]+[a-z-]*)/', $iniset, $m))
34
-  rcube::raise_error("No valid Roundcube installation found at $target_dir", false, true);
35
-
36
-$oldversion = $m[1];
37
-
38
-if (version_compare(version_parse($oldversion), version_parse(RCMAIL_VERSION), '>='))
39
-  rcube::raise_error("Installation at target location is up-to-date!", false, true);
40
-
41
-echo "Upgrading from $oldversion. Do you want to continue? (y/N)\n";
42
-$input = trim(fgets(STDIN));
43
-
44
-if (strtolower($input) == 'y') {
45
-  $err = false;
46
-  echo "Copying files to target location...";
47
-
48
-  // Save a copy of original .htaccess file (#1490623)
49
-  if (file_exists("$target_dir/.htaccess")) {
50
-    $htaccess_copied = copy("$target_dir/.htaccess", "$target_dir/.htaccess.orig");
51
-  }
52
-
53
-  $dirs = array('program','installer','bin','SQL','plugins','skins');
54
-  if (is_dir(INSTALL_PATH . 'vendor') && !is_file(INSTALL_PATH . 'composer.json')) {
55
-    $dirs[] = 'vendor';
56
-  }
57
-  foreach ($dirs as $dir) {
58
-    // @FIXME: should we use --delete for all directories?
59
-    $delete = in_array($dir, array('program', 'installer')) ? '--delete ' : '';
60
-    if (!system("rsync -avC " . $delete . INSTALL_PATH . "$dir/* $target_dir/$dir/")) {
61
-      $err = true;
62
-      break;
63
-    }
64
-  }
65
-  foreach (array('index.php','.htaccess','config/defaults.inc.php','composer.json-dist','CHANGELOG','README.md','UPGRADING','LICENSE','INSTALL') as $file) {
66
-    if (!system("rsync -av " . INSTALL_PATH . "$file $target_dir/$file")) {
67
-      $err = true;
68
-      break;
69
-    }
70
-  }
71
-
72
-  // remove old (<1.0) .htaccess file
73
-  @unlink("$target_dir/program/.htaccess");
74
-  echo "done.";
75
-
76
-  // Inform the user about .htaccess change
77
-  if (!empty($htaccess_copied)) {
78
-    if (file_get_contents("$target_dir/.htaccess") != file_get_contents("$target_dir/.htaccess.orig")) {
79
-      echo "\n!! Old .htaccess file saved as .htaccess.orig !!";
80
-    }
81
-    else {
82
-      @unlink("$target_dir/.htaccess.orig");
83
-    }
84
-  }
85
-
86
-  echo "\n\n";
87
-
88
-  if (is_dir("$target_dir/skins/default")) {
89
-      echo "Removing old default skin...";
90
-      system("rm -rf $target_dir/skins/default $target_dir/plugins/jqueryui/themes/default");
91
-      foreach (glob(INSTALL_PATH . "plugins/*/skins") as $plugin_skin_dir) {
92
-          $plugin_skin_dir = preg_replace('!^.*' . INSTALL_PATH . '!', '', $plugin_skin_dir);
93
-          if (is_dir("$target_dir/$plugin_skin_dir/classic"))
94
-            system("rm -rf $target_dir/$plugin_skin_dir/default");
95
-      }
96
-      echo "done.\n\n";
97
-  }
98
-
99
-  if (!$err) {
100
-    echo "Running update script at target...\n";
101
-    system("cd $target_dir && php bin/update.sh --version=$oldversion");
102
-    echo "All done.\n";
103
-  }
104
-}
105
-else
106
-  echo "Update cancelled. See ya!\n";
107
-
108
-?>

+ 0
- 77
roundcube/roundcubemail-1.2.2/bin/jsshrink.sh View File

@@ -1,77 +0,0 @@
1
-#!/bin/sh
2
-PWD=`dirname "$0"`
3
-JS_DIR="$PWD/../program/js"
4
-JAR_DIR='/tmp'
5
-LANG_IN='ECMASCRIPT3'
6
-# latest version requires Java 7, we'll use an older one
7
-#CLOSURE_COMPILER_URL='http://dl.google.com/closure-compiler/compiler-latest.zip'
8
-CLOSURE_COMPILER_URL='http://dl.google.com/closure-compiler/compiler-20131014.zip'
9
-
10
-do_shrink() {
11
-	rm -f "$2"
12
-	# copy the first comment block with license information for LibreJS
13
-	grep -q '@lic' $1 && sed -n '/\/\*/,/\*\// { p; /\*\//q; }' $1 > $2
14
-	java -jar $JAR_DIR/compiler.jar --compilation_level=SIMPLE_OPTIMIZATIONS --js="$1" --language_in="$3" >> $2
15
-}
16
-
17
-if [ ! -d "$JS_DIR" ]; then
18
-	echo "Directory $JS_DIR not found."
19
-	exit 1
20
-fi
21
-
22
-if [ ! -w "$JAR_DIR" ]; then
23
-	JAR_DIR=$PWD
24
-fi
25
-
26
-if java -version >/dev/null 2>&1; then
27
-	:
28
-else
29
-	echo "Java not found. Please ensure that the 'java' program is in your PATH."
30
-	exit 1
31
-fi
32
-
33
-if [ ! -r "$JAR_DIR/compiler.jar" ]; then
34
-	if which wget >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then
35
-		wget "$CLOSURE_COMPILER_URL" -O "/tmp/$$.zip"
36
-	elif which curl >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then
37
-		curl "$CLOSURE_COMPILER_URL" -o "/tmp/$$.zip"
38
-	else
39
-		echo "Please download $CLOSURE_COMPILER_URL and extract compiler.jar to $JAR_DIR/."
40
-		exit 1
41
-	fi
42
-	(cd $JAR_DIR && unzip "/tmp/$$.zip" "compiler.jar")
43
-	rm -f "/tmp/$$.zip"
44
-fi
45
-
46
-# compress single file from argument
47
-if [ $# -gt 0 ]; then
48
-	JS_DIR=`dirname "$1"`
49
-	JS_FILE="$1"
50
-
51
-	if [ $# -gt 1 ]; then
52
-		LANG_IN="$2"
53
-	fi
54
-
55
-	echo "Shrinking $JS_FILE"
56
-    minfile=`echo $JS_FILE | sed -e 's/\.js$/\.min\.js/'`
57
-	do_shrink "$JS_FILE" "$minfile" "$LANG_IN"
58
-	exit
59
-fi
60
-
61
-DIRS="$PWD/../program/js $PWD/../skins/* $PWD/../plugins/* $PWD/../plugins/*/skins/*"
62
-# default: compress application scripts
63
-for dir in $DIRS; do
64
-    for file in $dir/*.js; do
65
-        echo "$file" | grep -e '.min.js$' >/dev/null
66
-        if [ $? -eq 0 ]; then
67
-            continue
68
-        fi
69
-        if [ ! -f "$file" ]; then
70
-            continue
71
-        fi
72
-
73
-        echo "Shrinking $file"
74
-        minfile=`echo $file | sed -e 's/\.js$/\.min\.js/'`
75
-        do_shrink "$file" "$minfile" "$LANG_IN"
76
-    done
77
-done

+ 0
- 271
roundcube/roundcubemail-1.2.2/bin/update.sh View File

@@ -1,271 +0,0 @@
1
-#!/usr/bin/env php
2
-<?php
3
-/*
4
- +-----------------------------------------------------------------------+
5
- | bin/update.sh                                                         |
6
- |                                                                       |
7
- | This file is part of the Roundcube Webmail client                     |
8
- | Copyright (C) 2010-2015, The Roundcube Dev Team                       |
9
- |                                                                       |
10
- | Licensed under the GNU General Public License version 3 or            |
11
- | any later version with exceptions for skins & plugins.                |
12
- | See the README file for a full license statement.                     |
13
- |                                                                       |
14
- | PURPOSE:                                                              |
15
- |   Check local configuration and database schema after upgrading       |
16
- |   to a new version                                                    |
17
- +-----------------------------------------------------------------------+
18
- | Author: Thomas Bruederli <roundcube@gmail.com>                        |
19
- +-----------------------------------------------------------------------+
20
-*/
21
-
22
-define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
23
-
24
-require_once INSTALL_PATH . 'program/include/clisetup.php';
25
-
26
-// get arguments
27
-$opts = rcube_utils::get_opt(array('v' => 'version', 'y' => 'accept:bool'));
28
-
29
-// ask user if no version is specified
30
-if (!$opts['version']) {
31
-  echo "What version are you upgrading from? Type '?' if you don't know.\n";
32
-  if (($input = trim(fgets(STDIN))) && preg_match('/^[0-9.]+[a-z-]*$/', $input))
33
-    $opts['version'] = $input;
34
-  else
35
-    $opts['version'] = RCMAIL_VERSION;
36
-}
37
-
38
-$RCI = rcmail_install::get_instance();
39
-$RCI->load_config();
40
-
41
-if ($RCI->configured) {
42
-  $success = true;
43
-
44
-  if (($messages = $RCI->check_config()) || $RCI->legacy_config) {
45
-    $success = false;
46
-    $err = 0;
47
-
48
-    // list old/replaced config options
49
-    if (is_array($messages['replaced'])) {
50
-      echo "WARNING: Replaced config options:\n";
51
-      echo "(These config options have been replaced or renamed)\n";
52
-
53
-      foreach ($messages['replaced'] as $msg) {
54
-        echo "- '" . $msg['prop'] . "' was replaced by '" . $msg['replacement'] . "'\n";
55
-        $err++;
56
-      }
57
-      echo "\n";
58
-    }
59
-
60
-    // list obsolete config options (just a notice)
61
-    if (is_array($messages['obsolete'])) {
62
-      echo "NOTICE: Obsolete config options:\n";
63
-      echo "(You still have some obsolete or inexistent properties set. This isn't a problem but should be noticed)\n";
64
-
65
-      foreach ($messages['obsolete'] as $msg) {
66
-        echo "- '" . $msg['prop'] . ($msg['name'] ? "': " . $msg['name'] : "'") . "\n";
67
-        $err++;
68
-      }
69
-      echo "\n";
70
-    }
71
-
72
-    if (!$err && $RCI->legacy_config) {
73
-      echo "WARNING: Your configuration needs to be migrated!\n";
74
-      echo "We changed the configuration files structure and your two config files main.inc.php and db.inc.php have to be merged into one single file.\n";
75
-      $err++;
76
-    }
77
-
78
-    // ask user to update config files
79
-    if ($err) {
80
-      if (!$opts['accept']) {
81
-        echo "Do you want me to fix your local configuration? (y/N)\n";
82
-        $input = trim(fgets(STDIN));
83
-      }
84
-
85
-      // positive: let's merge the local config with the defaults
86
-      if ($opts['accept'] || strtolower($input) == 'y') {
87
-        $error = $written = false;
88
-
89
-        // backup current config
90
-        echo ". backing up the current config file(s)...\n";
91
-
92
-        foreach (array('config', 'main', 'db') as $file) {
93
-          if (file_exists(RCMAIL_CONFIG_DIR . '/' . $file . '.inc.php')) {
94
-            if (!copy(RCMAIL_CONFIG_DIR . '/' . $file . '.inc.php', RCMAIL_CONFIG_DIR . '/' . $file . '.old.php')) {
95
-              $error = true;
96
-            }
97
-          }
98
-        }
99
-
100
-        if (!$error) {
101
-          $RCI->merge_config();
102
-          echo ". writing " . RCMAIL_CONFIG_DIR . "/config.inc.php...\n";
103
-          $written = $RCI->save_configfile($RCI->create_config());
104
-        }
105
-
106
-        // Success!
107
-        if ($written) {
108
-          echo "Done.\n";
109
-          echo "Your configuration files are now up-to-date!\n";
110
-
111
-          if ($messages['missing']) {
112
-            echo "But you still need to add the following missing options:\n";
113
-            foreach ($messages['missing'] as $msg)
114
-              echo "- '" . $msg['prop'] . ($msg['name'] ? "': " . $msg['name'] : "'") . "\n";
115
-          }
116
-
117
-          if ($RCI->legacy_config) {
118
-            foreach (array('main', 'db') as $file) {
119
-              @unlink(RCMAIL_CONFIG_DIR . '/' . $file . '.inc.php');
120
-            }
121
-          }
122
-        }
123
-        else {
124
-          echo "Failed to write config file(s)!\n";
125
-          echo "Grant write privileges to the current user or update the files manually according to the above messages.\n";
126
-        }
127
-      }
128
-      else {
129
-        echo "Please update your config files manually according to the above messages.\n";
130
-      }
131
-    }
132
-
133
-    // check dependencies based on the current configuration
134
-    if (is_array($messages['dependencies'])) {
135
-      echo "WARNING: Dependency check failed!\n";
136
-      echo "(Some of your configuration settings require other options to be configured or additional PHP modules to be installed)\n";
137
-
138
-      foreach ($messages['dependencies'] as $msg) {
139
-        echo "- " . $msg['prop'] . ': ' . $msg['explain'] . "\n";
140
-      }
141
-      echo "Please fix your config files and run this script again!\n";
142
-      echo "See ya.\n";
143
-    }
144
-  }
145
-
146
-  // check file type detection
147
-  if ($RCI->check_mime_detection()) {
148
-    echo "WARNING: File type detection doesn't work properly!\n";
149
-    echo "Please check the 'mime_magic' config option or the finfo functions of PHP and run this script again.\n";
150
-  }
151
-  if ($RCI->check_mime_extensions()) {
152
-    echo "WARNING: Mimetype to file extension mapping doesn't work properly!\n";
153
-    echo "Please check the 'mime_types' config option and run this script again.\n";
154
-  }
155
-
156
-  // check database schema
157
-  if ($RCI->config['db_dsnw']) {
158
-    echo "Executing database schema update.\n";
159
-    $success = rcmail_utils::db_update(INSTALL_PATH . 'SQL', 'roundcube', $opts['version'],
160
-        array('errors' => true));
161
-  }
162
-
163
-  // update composer dependencies
164
-  if (is_file(INSTALL_PATH . 'composer.json') && is_readable(INSTALL_PATH . 'composer.json-dist')) {
165
-    $composer_data = json_decode(file_get_contents(INSTALL_PATH . 'composer.json'), true);
166
-    $composer_template = json_decode(file_get_contents(INSTALL_PATH . 'composer.json-dist'), true);
167
-    $comsposer_json = null;
168
-
169
-    // update the require section with the new dependencies
170
-    if (is_array($composer_data['require']) && is_array($composer_template['require'])) {
171
-      $composer_data['require'] = array_merge($composer_data['require'], $composer_template['require']);
172
-
173
-      // remove obsolete packages
174
-      $old_packages = array(
175
-        'pear/mail_mime',
176
-        'pear/mail_mime-decode',
177
-        'pear/net_smtp',
178
-        'pear/net_sieve',
179
-        'pear-pear.php.net/net_sieve',
180
-      );
181
-      foreach ($old_packages as $pkg) {
182
-        if (array_key_exists($pkg, $composer_data['require'])) {
183
-          unset($composer_data['require'][$pkg]);
184
-        }
185
-      }
186
-    }
187
-
188
-    // update the repositories section with the new dependencies
189
-    if (is_array($composer_template['repositories'])) {
190
-      if (!is_array($composer_data['repositories'])) {
191
-        $composer_data['repositories'] = array();
192
-      }
193
-
194
-      foreach ($composer_template['repositories'] as $repo) {
195
-        $rkey = $repo['type'] . preg_replace('/^https?:/', '', $repo['url']) . $repo['package']['name'];
196
-        $existing = false;
197
-        foreach ($composer_data['repositories'] as $k =>  $_repo) {
198
-          if ($rkey == $_repo['type'] . preg_replace('/^https?:/', '', $_repo['url']) . $_repo['package']['name']) {
199
-            // switch to https://
200
-            if (isset($_repo['url']) && strpos($_repo['url'], 'http://') === 0)
201
-              $composer_data['repositories'][$k]['url'] = 'https:' . substr($_repo['url'], 5);
202
-            $existing = true;
203
-            break;
204
-          }
205
-          // remove old repos
206
-          else if (strpos($_repo['url'], 'git://git.kolab.org') === 0) {
207
-            unset($composer_data['repositories'][$k]);
208
-          }
209
-          else if ($_repo['type'] == 'package' && $_repo['package']['name'] == 'Net_SMTP') {
210
-            unset($composer_data['repositories'][$k]);
211
-          }
212
-        }
213
-        if (!$existing) {
214
-          $composer_data['repositories'][] = $repo;
215
-        }
216
-      }
217
-
218
-      $composer_data['repositories'] = array_values($composer_data['repositories']);
219
-    }
220
-
221
-    // use the JSON encoder from the Composer package
222
-    if (is_file('composer.phar')) {
223
-      include 'phar://composer.phar/src/Composer/Json/JsonFile.php';
224
-      $comsposer_json = \Composer\Json\JsonFile::encode($composer_data);
225
-    }
226
-    // PHP 5.4's json_encode() does the job, too
227
-    else if (defined('JSON_PRETTY_PRINT')) {
228
-      $comsposer_json = json_encode($composer_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
229
-    }
230
-    else {
231
-      $success = false;
232
-      $comsposer_json = null;
233
-    }
234
-
235
-    // write updated composer.json back to disk
236
-    if ($comsposer_json && is_writeable(INSTALL_PATH . 'composer.json')) {
237
-      $success &= (bool)file_put_contents(INSTALL_PATH . 'composer.json', $comsposer_json);
238
-    }
239
-    else {
240
-      echo "WARNING: unable to update composer.json!\n";
241
-      echo "Please replace the 'require' section in your composer.json with the following:\n";
242
-
243
-      $require_json = '';
244
-      foreach ($composer_data['require'] as $pkg => $ver) {
245
-        $require_json .= sprintf('        "%s": "%s",'."\n", $pkg, $ver);
246
-      }
247
-
248
-      echo '    "require": {'."\n";
249
-      echo rtrim($require_json, ",\n");
250
-      echo "\n    }\n\n";
251
-    }
252
-
253
-    echo "NOTE: Update dependencies by running `php composer.phar update --no-dev`\n";
254
-  }
255
-
256
-  // index contacts for fulltext searching
257
-  if ($opts['version'] && version_compare(version_parse($opts['version']), '0.6.0', '<')) {
258
-    rcmail_utils::indexcontacts();
259
-  }
260
-
261
-  if ($success) {
262
-    echo "This instance of Roundcube is up-to-date.\n";
263
-    echo "Have fun!\n";
264
-  }
265
-}
266
-else {
267
-  echo "This instance of Roundcube is not yet configured!\n";
268
-  echo "Open http://url-to-roundcube/installer/ in your browser and follow the instuctions.\n";
269
-}
270
-
271
-?>

+ 0
- 43
roundcube/roundcubemail-1.2.2/composer.json-dist View File

@@ -1,43 +0,0 @@
1
-{
2
-    "name": "roundcube/roundcubemail",
3
-    "description": "The Roundcube Webmail suite",
4
-    "license": "GPL-3.0+",
5
-    "repositories": [
6
-        {
7
-            "type": "pear",
8
-            "url": "https://pear.php.net/"
9
-        },
10
-        {
11
-            "type": "composer",
12
-            "url": "https://plugins.roundcube.net/"
13
-        },
14
-        {
15
-            "type": "vcs",
16
-            "url": "https://github.com/roundcube/Net_Sieve.git"
17
-        },
18
-        {
19
-            "type": "vcs",
20
-            "url": "https://git.kolab.org/diffusion/PNL/php-net_ldap.git"
21
-        }
22
-    ],
23
-    "require": {
24
-        "php": ">=5.3.7",
25
-        "pear/pear-core-minimal": "~1.10.1",
26
-        "roundcube/plugin-installer": "~0.1.6",
27
-        "pear-pear.php.net/net_socket": "~1.0.12",
28
-        "pear-pear.php.net/auth_sasl": "~1.0.6",
29
-        "pear-pear.php.net/net_idna2": "~0.1.1",
30
-        "pear-pear.php.net/mail_mime": "~1.10.0",
31
-        "pear-pear.php.net/net_smtp": "~1.7.1",
32
-        "pear-pear.php.net/crypt_gpg": "~1.4.2",
33
-        "roundcube/net_sieve": "~1.5.0"
34
-    },
35
-    "require-dev": {
36
-        "phpunit/phpunit": "*"
37
-    },
38
-    "suggest": {
39
-        "pear-pear.php.net/net_ldap2": "~2.2.0 required for connecting to LDAP address books",
40
-        "kolab/Net_LDAP3": "dev-master required for connecting to LDAP address books"
41
-    },
42
-    "minimum-stability": "dev"
43
-}

+ 0
- 86
roundcube/roundcubemail-1.2.2/config/config.inc.php.sample View File

@@ -1,86 +0,0 @@
1
-<?php
2
-
3
-/*
4
- +-----------------------------------------------------------------------+
5
- | Local configuration for the Roundcube Webmail installation.           |
6
- |                                                                       |
7
- | This is a sample configuration file only containing the minimum       |
8
- | setup required for a functional installation. Copy more options       |
9
- | from defaults.inc.php to this file to override the defaults.          |
10
- |                                                                       |
11
- | This file is part of the Roundcube Webmail client                     |
12
- | Copyright (C) 2005-2013, The Roundcube Dev Team                       |
13
- |                                                                       |
14
- | Licensed under the GNU General Public License version 3 or            |
15
- | any later version with exceptions for skins & plugins.                |
16
- | See the README file for a full license statement.                     |
17
- +-----------------------------------------------------------------------+
18
-*/
19
-
20
-$config = array();
21
-
22
-// Database connection string (DSN) for read+write operations
23
-// Format (compatible with PEAR MDB2): db_provider://user:password@host/database
24
-// Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle
25
-// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
26
-// NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646'
27
-//       or (Windows): 'sqlite:///C:/full/path/to/sqlite.db'
28
-$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
29
-
30
-// The mail host chosen to perform the log-in.
31
-// Leave blank to show a textbox at login, give a list of hosts
32
-// to display a pulldown menu or set one host as string.
33
-// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
34
-// Supported replacement variables:
35
-// %n - hostname ($_SERVER['SERVER_NAME'])
36
-// %t - hostname without the first part
37
-// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
38
-// %s - domain name after the '@' from e-mail address provided at login screen
39
-// For example %n = mail.domain.tld, %t = domain.tld
40
-$config['default_host'] = 'localhost';
41
-
42
-// SMTP server host (for sending mails).
43
-// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
44
-// If left blank, the PHP mail() function is used
45
-// Supported replacement variables:
46
-// %h - user's IMAP hostname
47
-// %n - hostname ($_SERVER['SERVER_NAME'])
48
-// %t - hostname without the first part
49
-// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
50
-// %z - IMAP domain (IMAP hostname without the first part)
51
-// For example %n = mail.domain.tld, %t = domain.tld
52
-$config['smtp_server'] = '';
53
-
54
-// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
55
-// deprecated SSL over SMTP (aka SMTPS))
56
-$config['smtp_port'] = 25;
57
-
58
-// SMTP username (if required) if you use %u as the username Roundcube
59
-// will use the current username for login
60
-$config['smtp_user'] = '';
61
-
62
-// SMTP password (if required) if you use %p as the password Roundcube
63
-// will use the current user's password for login
64
-$config['smtp_pass'] = '';
65
-
66
-// provide an URL where a user can get support for this Roundcube installation
67
-// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
68
-$config['support_url'] = '';
69
-
70
-// Name your service. This is displayed on the login screen and in the window title
71
-$config['product_name'] = 'Roundcube Webmail';
72
-
73
-// this key is used to encrypt the users imap password which is stored
74
-// in the session record (and the client cookie if remember password is enabled).
75
-// please provide a string of exactly 24 chars.
76