5 Commits

Author SHA1 Message Date
  Robin Thoni 15e6a1effd
Removed TODO 4 years ago
  Robin Thoni f4c55e509a
Switched to roundcube docker image; Upgraded to 1.4.2 4 years ago
  Robin Thoni dc07da3883
Set default env values 4 years ago
  Robin Thoni d6b8c65e3c
Deleted roundcube binaries 4 years ago
  Robin Thoni ad3f0fe5b1 increased file max upload size 6 years ago
100 changed files with 37 additions and 6309 deletions
  1. 0
    1
      TODO
  2. 4
    4
      env
  3. 10
    31
      roundcube/Dockerfile
  4. 0
    59
      roundcube/apache2.conf
  5. 21
    0
      roundcube/config/config/config_custom.inc.php
  6. 2
    2
      roundcube/config/plugins/authres_status/config.inc.php
  7. 0
    0
      roundcube/config/plugins/automatic_addressbook/config/config.inc.php
  8. 0
    0
      roundcube/config/plugins/managesieve/config.inc.php
  9. 0
    0
      roundcube/config/plugins/password/config.inc.php
  10. 0
    89
      roundcube/roundcubemail-1.3.6/.htaccess
  11. 0
    2560
      roundcube/roundcubemail-1.3.6/CHANGELOG
  12. 0
    279
      roundcube/roundcubemail-1.3.6/INSTALL
  13. 0
    674
      roundcube/roundcubemail-1.3.6/LICENSE
  14. 0
    95
      roundcube/roundcubemail-1.3.6/README.md
  15. 0
    397
      roundcube/roundcubemail-1.3.6/SQL/mssql.initial.sql
  16. 0
    86
      roundcube/roundcubemail-1.3.6/SQL/mssql/2009103100.sql
  17. 0
    8
      roundcube/roundcubemail-1.3.6/SQL/mssql/2010100600.sql
  18. 0
    9
      roundcube/roundcubemail-1.3.6/SQL/mssql/2011011200.sql
  19. 0
    126
      roundcube/roundcubemail-1.3.6/SQL/mssql/2011092800.sql
  20. 0
    3
      roundcube/roundcubemail-1.3.6/SQL/mssql/2011111600.sql
  21. 0
    8
      roundcube/roundcubemail-1.3.6/SQL/mssql/2011121400.sql
  22. 0
    16
      roundcube/roundcubemail-1.3.6/SQL/mssql/2012051800.sql
  23. 0
    7
      roundcube/roundcubemail-1.3.6/SQL/mssql/2012080700.sql
  24. 0
    13
      roundcube/roundcubemail-1.3.6/SQL/mssql/2013011000.sql
  25. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/mssql/2013042700.sql
  26. 0
    17
      roundcube/roundcubemail-1.3.6/SQL/mssql/2013052500.sql
  27. 0
    44
      roundcube/roundcubemail-1.3.6/SQL/mssql/2013061000.sql
  28. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/mssql/2014042900.sql
  29. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/mssql/2015030800.sql
  30. 0
    4
      roundcube/roundcubemail-1.3.6/SQL/mssql/2015111100.sql
  31. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/mssql/2016081200.sql
  32. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/mssql/2016100900.sql
  33. 0
    36
      roundcube/roundcubemail-1.3.6/SQL/mssql/2016112200.sql
  34. 0
    198
      roundcube/roundcubemail-1.3.6/SQL/mysql.initial.sql
  35. 0
    15
      roundcube/roundcubemail-1.3.6/SQL/mysql/2008030300.sql
  36. 0
    8
      roundcube/roundcubemail-1.3.6/SQL/mysql/2008040500.sql
  37. 0
    3
      roundcube/roundcubemail-1.3.6/SQL/mysql/2008060900.sql
  38. 0
    19
      roundcube/roundcubemail-1.3.6/SQL/mysql/2008092100.sql
  39. 0
    11
      roundcube/roundcubemail-1.3.6/SQL/mysql/2009090400.sql
  40. 0
    49
      roundcube/roundcubemail-1.3.6/SQL/mysql/2009103100.sql
  41. 0
    3
      roundcube/roundcubemail-1.3.6/SQL/mysql/2010042300.sql
  42. 0
    7
      roundcube/roundcubemail-1.3.6/SQL/mysql/2010100600.sql
  43. 0
    7
      roundcube/roundcubemail-1.3.6/SQL/mysql/2011011200.sql
  44. 0
    66
      roundcube/roundcubemail-1.3.6/SQL/mysql/2011092800.sql
  45. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/mysql/2011111600.sql
  46. 0
    21
      roundcube/roundcubemail-1.3.6/SQL/mysql/2011121400.sql
  47. 0
    4
      roundcube/roundcubemail-1.3.6/SQL/mysql/2012080700.sql
  48. 0
    6
      roundcube/roundcubemail-1.3.6/SQL/mysql/2013011000.sql
  49. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/mysql/2013042700.sql
  50. 0
    7
      roundcube/roundcubemail-1.3.6/SQL/mysql/2013052500.sql
  51. 0
    23
      roundcube/roundcubemail-1.3.6/SQL/mysql/2013061000.sql
  52. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/mysql/2014042900.sql
  53. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/mysql/2015030800.sql
  54. 0
    3
      roundcube/roundcubemail-1.3.6/SQL/mysql/2015111100.sql
  55. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/mysql/2016081200.sql
  56. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/mysql/2016100900.sql
  57. 0
    24
      roundcube/roundcubemail-1.3.6/SQL/mysql/2016112200.sql
  58. 0
    218
      roundcube/roundcubemail-1.3.6/SQL/oracle.initial.sql
  59. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/oracle/2015030800.sql
  60. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/oracle/2015111100.sql
  61. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/oracle/2016081200.sql
  62. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/oracle/2016100900.sql
  63. 0
    23
      roundcube/roundcubemail-1.3.6/SQL/oracle/2016112200.sql
  64. 0
    252
      roundcube/roundcubemail-1.3.6/SQL/postgres.initial.sql
  65. 0
    16
      roundcube/roundcubemail-1.3.6/SQL/postgres/2008030300.sql
  66. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/postgres/2008060900.sql
  67. 0
    13
      roundcube/roundcubemail-1.3.6/SQL/postgres/2008092100.sql
  68. 0
    5
      roundcube/roundcubemail-1.3.6/SQL/postgres/2009090400.sql
  69. 0
    31
      roundcube/roundcubemail-1.3.6/SQL/postgres/2009103100.sql
  70. 0
    3
      roundcube/roundcubemail-1.3.6/SQL/postgres/2010042300.sql
  71. 0
    6
      roundcube/roundcubemail-1.3.6/SQL/postgres/2010100600.sql
  72. 0
    6
      roundcube/roundcubemail-1.3.6/SQL/postgres/2011011200.sql
  73. 0
    63
      roundcube/roundcubemail-1.3.6/SQL/postgres/2011092800.sql
  74. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/postgres/2011111600.sql
  75. 0
    4
      roundcube/roundcubemail-1.3.6/SQL/postgres/2011121400.sql
  76. 0
    6
      roundcube/roundcubemail-1.3.6/SQL/postgres/2012080700.sql
  77. 0
    4
      roundcube/roundcubemail-1.3.6/SQL/postgres/2013011000.sql
  78. 0
    14
      roundcube/roundcubemail-1.3.6/SQL/postgres/2013042700.sql
  79. 0
    8
      roundcube/roundcubemail-1.3.6/SQL/postgres/2013052500.sql
  80. 0
    23
      roundcube/roundcubemail-1.3.6/SQL/postgres/2013061000.sql
  81. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/postgres/2014042900.sql
  82. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/postgres/2015030800.sql
  83. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/postgres/2015111100.sql
  84. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/postgres/2016081200.sql
  85. 0
    1
      roundcube/roundcubemail-1.3.6/SQL/postgres/2016100900.sql
  86. 0
    21
      roundcube/roundcubemail-1.3.6/SQL/postgres/2016112200.sql
  87. 0
    178
      roundcube/roundcubemail-1.3.6/SQL/sqlite.initial.sql
  88. 0
    24
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2008030300.sql
  89. 0
    2
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2008060900.sql
  90. 0
    3
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2008092100.sql
  91. 0
    7
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2009090400.sql
  92. 0
    59
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2009103100.sql
  93. 0
    34
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2010042300.sql
  94. 0
    39
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2010100600.sql
  95. 0
    40
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2011011200.sql
  96. 0
    53
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2011092800.sql
  97. 0
    10
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2011111600.sql
  98. 0
    37
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2011121400.sql
  99. 0
    43
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2012080700.sql
  100. 0
    0
      roundcube/roundcubemail-1.3.6/SQL/sqlite/2013011000.sql

+ 0
- 1
TODO View File

1
-vacation plugin

+ 4
- 4
env View File

3
 POSTGRES_PASSWORD=pg_password
3
 POSTGRES_PASSWORD=pg_password
4
 POSTGRES_DB=roundcube
4
 POSTGRES_DB=roundcube
5
 
5
 
6
-IMAP_HOST=tls://test-mx.rthoni.com
6
+IMAP_HOST=tls://mail1.example.com
7
 
7
 
8
-SMTP_HOST=tls://test-mx.rthoni.com
8
+SMTP_HOST=tls://mail1.example.com
9
 
9
 
10
-SIEVE_HOST=test-mx.rthoni.com
10
+SIEVE_HOST=mail1.example.com
11
 
11
 
12
-MAIL_USER_DB_HOST=test-mx.rthoni.com
12
+MAIL_USER_DB_HOST=mail1.example.com
13
 MAIL_USER_DB_USER=postfixadmin
13
 MAIL_USER_DB_USER=postfixadmin
14
 MAIL_USER_DB_PASSWORD=pg_password
14
 MAIL_USER_DB_PASSWORD=pg_password
15
 MAIL_USER_DB_DB=postfixadmin
15
 MAIL_USER_DB_DB=postfixadmin

+ 10
- 31
roundcube/Dockerfile View File

1
-FROM robinthoni/debian-multiarch:jessie
1
+FROM roundcube/roundcubemail:1.4.2-apache
2
 
2
 
3
-# FROM https://github.com/ZHAJOR/Docker-Apache-2.4-Php-5.6-for-Laravel
4
-MAINTAINER Robin Thoni <robin@rthoni.com>
3
+RUN ln -s /bin/true /usr/local/bin/apache2-fake
5
 
4
 
5
+ADD https://getcomposer.org/installer /tmp/composer-installer.php
6
 
6
 
7
-RUN apt-get update && apt-get -y install\
8
-        apache2=2.4.*\
9
-        libapache2-mod-php5\
10
-        php5\
11
-        php5-mcrypt\
12
-        php5-pgsql\
13
-        php5-mysql\
14
-        php5-gd\
15
-        php5-curl\
16
-        php5-intl\
17
-        php5-ldap\
18
-        php5-imap &&\
19
-        apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
7
+RUN php /tmp/composer-installer.php --install-dir=/usr/local/bin/ && rm /tmp/composer-installer.php
20
 
8
 
21
-RUN /usr/sbin/a2enmod rewrite &&\
22
-    rm -rf /var/www/html &&\
23
-    mkdir -p /var/lock/apache2 /var/run/apache2 /var/log/apache2 /var/www/html &&\
24
-    chown -R www-data:www-data /var/lock/apache2 /var/run/apache2 /var/log/apache2 /var/www/html
9
+RUN cd /usr/src/roundcubemail/ && composer.phar require sblaisot/automatic_addressbook 0.4.3
25
 
10
 
26
-RUN rm -rf /var/log/* &&\
27
-    mkdir -p /var/log/apache2 &&\
28
-    ln -s /dev/stderr /var/log/apache2/error.log &&\
29
-    ln -s /dev/stdout /var/log/apache2/access.log &&\
30
-    ln -s /dev/stdout /var/log/apache2/other_vhosts_access.log
11
+RUN cd /usr/src/roundcubemail/ && composer.phar require roundcube/authres_status 0.5.2
31
 
12
 
32
-COPY ./apache2.conf /etc/apache2/apache2.conf
13
+RUN cd /usr/src/roundcubemail/ && composer.phar require kitist/html5_notifier 0.6.3
33
 
14
 
34
-COPY ./roundcubemail-1.3.6/ /var/www/html/
35
-
36
-RUN ln -s /dev/stderr /var/www/html/logs/errors
15
+COPY ./config/ /usr/src/roundcubemail/
37
 
16
 
38
 COPY ./vars-vars /etc/vars-vars
17
 COPY ./vars-vars /etc/vars-vars
39
 
18
 
41
 
20
 
42
 COPY ./run.sh /run.sh
21
 COPY ./run.sh /run.sh
43
 
22
 
44
-EXPOSE 80
23
+ENTRYPOINT ["/run.sh"]
45
 
24
 
46
-CMD ["/run.sh"]
25
+CMD ["apache2-foreground"]

+ 0
- 59
roundcube/apache2.conf View File

1
-# see http://sources.debian.net/src/apache2/2.4.10-1/debian/config-dir/apache2.conf
2
-
3
-Mutex file:/var/lock/apache2 default
4
-PidFile /var/run/apache2/apache2.pid
5
-Timeout 300
6
-KeepAlive On
7
-MaxKeepAliveRequests 100
8
-KeepAliveTimeout 5
9
-User www-data
10
-Group www-data
11
-HostnameLookups Off
12
-ErrorLog /var/log/apache2/error.log
13
-LogLevel warn
14
-
15
-IncludeOptional mods-enabled/*.load
16
-IncludeOptional mods-enabled/*.conf
17
-
18
-# ports.conf
19
-Listen 80
20
-<IfModule ssl_module>
21
-    Listen 443
22
-</IfModule>
23
-<IfModule mod_gnutls.c>
24
-    Listen 443
25
-</IfModule>
26
-
27
-DocumentRoot "/var/www/html/"
28
-
29
-<Directory />
30
-    Options FollowSymLinks
31
-    AllowOverride None
32
-    Require all denied
33
-</Directory>
34
-
35
-<Directory /var/www/html/>
36
-    Options FollowSymLinks
37
-    AllowOverride All
38
-    Require all granted
39
-</Directory>
40
-
41
-
42
-
43
-LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
44
-LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
45
-LogFormat "%h %l %u %t \"%r\" %>s %O" common
46
-LogFormat "%{Referer}i -> %U" referer
47
-LogFormat "%{User-agent}i" agent
48
-
49
-CustomLog /var/log/apache2/access.log combined
50
-
51
-<FilesMatch \.php$>
52
-    SetHandler application/x-httpd-php
53
-</FilesMatch>
54
-
55
-# Multiple DirectoryIndex directives within the same context will add
56
-# to the list of resources to look for rather than replace
57
-# https://httpd.apache.org/docs/current/mod/mod_dir.html#directoryindex
58
-DirectoryIndex disabled
59
-DirectoryIndex index.php index.html

+ 21
- 0
roundcube/config/config/config_custom.inc.php View File

1
+$config['smtp_user'] = '%u';
2
+
3
+$config['smtp_pass'] = '%p';
4
+
5
+$config['draft_autosave'] = 60;
6
+
7
+$config['create_default_folders'] = true;
8
+
9
+$config['list_cols'] = array('authres_status', 'subject', 'status', 'fromto', 'date', 'size', 'flag', 'attachment');
10
+
11
+$config['skin'] = 'elastic';
12
+
13
+$config['enable_installer'] = true;
14
+
15
+//$config['debug_level'] = 1;
16
+
17
+//$config['support_url'] = 'mailto:root@example.com';
18
+
19
+//$config['product_name'] = 'Example Webmail';
20
+
21
+//$config['username_domain'] = 'example.com';

roundcube/roundcubemail-1.3.6/plugins/authres_status/config.inc.php → roundcube/config/plugins/authres_status/config.inc.php View File

10
 
10
 
11
 // Set to true to use internal DKIM verifier, default false
11
 // Set to true to use internal DKIM verifier, default false
12
 // (only when a signature sfound but no auth. results header)
12
 // (only when a signature sfound but no auth. results header)
13
-//$config['use_fallback_verifier'] = false;
13
+$config['use_fallback_verifier'] = true;
14
 
14
 
15
 // Set the statuses that should be shown
15
 // Set the statuses that should be shown
16
 // 
16
 // 
30
 //
30
 //
31
 //$config['show_statuses'] = authres_status::STATUS_ALL & ~authres_status::STATUS_NOSIG;
31
 //$config['show_statuses'] = authres_status::STATUS_ALL & ~authres_status::STATUS_NOSIG;
32
 
32
 
33
-//$config['trusted_mtas'] = array('mail.example.com');
34
 $config['dont_override'][] = 'trusted_mtas';
33
 $config['dont_override'][] = 'trusted_mtas';
35
 $config['dont_override'][] = 'use_fallback_verifier';
34
 $config['dont_override'][] = 'use_fallback_verifier';
36
 $config['dont_override'][] = 'show_statuses';
35
 $config['dont_override'][] = 'show_statuses';
37
 $config['dont_override'][] = 'enable_authres_status_column';
36
 $config['dont_override'][] = 'enable_authres_status_column';
37
+//$config['trusted_mtas'] = array('mail.example.com');
38
 
38
 

roundcube/roundcubemail-1.3.6/plugins/automatic_addressbook/config/config.inc.php → roundcube/config/plugins/automatic_addressbook/config/config.inc.php View File


roundcube/roundcubemail-1.3.6/plugins/managesieve/config.inc.php → roundcube/config/plugins/managesieve/config.inc.php View File


roundcube/roundcubemail-1.3.6/plugins/password/config.inc.php → roundcube/config/plugins/password/config.inc.php View File


+ 0
- 89
roundcube/roundcubemail-1.3.6/.htaccess View File

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   5M
8
-php_value   post_max_size         6M
9
-php_value   memory_limit          64M
10
-
11
-php_flag    zlib.output_compression     Off
12
-php_flag    suhosin.session.encrypt     Off
13
-
14
-#php_value   session.cookie_path     /
15
-#php_value   session.hash_function   sha256
16
-php_flag    session.auto_start       Off
17
-php_value   session.gc_maxlifetime   21600
18
-php_value   session.gc_divisor       500
19
-php_value   session.gc_probability   1
20
-</IfModule>
21
-
22
-<IfModule mod_rewrite.c>
23
-Options +SymLinksIfOwnerMatch
24
-RewriteEngine On
25
-RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
26
-
27
-# security rules:
28
-# - deny access to files not containing a dot or starting with a dot
29
-#   in all locations except installer directory
30
-RewriteRule ^(?!installer|\.well-known\/|[a-zA-Z0-9]{16})(\.?[^\.]+)$ - [F]
31
-# - deny access to some locations
32
-RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
33
-# - deny access to composer binaries
34
-RewriteRule ^/vendor\/bin\/.* - [F]
35
-# - deny access to some documentation files
36
-RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml|jsdeps.json|Dockerfile)$ - [F]
37
-</IfModule>
38
-
39
-<IfModule mod_deflate.c>
40
-SetOutputFilter DEFLATE
41
-</IfModule>
42
-
43
-<IfModule mod_expires.c>
44
-ExpiresActive On
45
-ExpiresDefault "access plus 1 month"
46
-</IfModule>
47
-
48
-FileETag MTime Size
49
-
50
-<IfModule mod_autoindex.c>
51
-Options -Indexes
52
-</ifModule>
53
-
54
-<IfModule mod_headers.c>
55
-# Disable page indexing
56
-Header set X-Robots-Tag "noindex, nofollow"
57
-
58
-# replace 'append' with 'merge' for Apache version 2.2.9 and later
59
-#Header append Cache-Control public env=!NO_CACHE
60
-
61
-# Optional security header
62
-# Only increased security if the browser support those features
63
-# Be careful! Testing is required! They should be adusted to your intallation / user environment
64
-
65
-# HSTS - HTTP Strict Transport Security
66
-#Header always set Strict-Transport-Security "max-age=31536000; preload" env=HTTPS
67
-
68
-# HPKP - HTTP Public Key Pinning
69
-# Only template - fill with your values
70
-#Header always set Public-Key-Pins "max-age=3600; report-uri=\"\"; pin-sha256=\"\"; pin-sha256=\"\"" env=HTTPS
71
-
72
-# X-Xss-Protection
73
-# This header is used to configure the built in reflective XSS protection found in Internet Explorer, Chrome and Safari (Webkit). 
74
-#Header set X-XSS-Protection "1; mode=block"
75
-
76
-# X-Frame-Options
77
-# The X-Frame-Options header (RFC), or XFO header, protects your visitors against clickjacking attacks
78
-# Already set by php code! Do not activate both options
79
-#Header set X-Frame-Options SAMEORIGIN
80
-
81
-# X-Content-Type-Options
82
-# It prevents Google Chrome and Internet Explorer from trying to mime-sniff the content-type of a response away from the one being declared by the server.
83
-#Header set X-Content-Type-Options: "nosniff"
84
-
85
-# CSP - Content Security Policy
86
-# for better privacy/security ask browsers to not set the Referer
87
-# more flags for script, stylesheets and images available, read RFC for more information
88
-#Header set Content-Security-Policy "referrer no-referrer"
89
-</IfModule>

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


+ 0
- 279
roundcube/roundcubemail-1.3.6/INSTALL View File

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

+ 0
- 674
roundcube/roundcubemail-1.3.6/LICENSE View File

1
-                    GNU GENERAL PUBLIC LICENSE
2
-                       Version 3, 29 June 2007
3
-
4
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
- Everyone is permitted to copy and distribute verbatim copies
6
- of this license document, but changing it is not allowed.
7
-
8
-                            Preamble
9
-
10
-  The GNU General Public License is a free, copyleft license for
11
-software and other kinds of works.
12
-
13
-  The licenses for most software and other practical works are designed
14
-to take away your freedom to share and change the works.  By contrast,
15
-the GNU General Public License is intended to guarantee your freedom to
16
-share and change all versions of a program--to make sure it remains free
17
-software for all its users.  We, the Free Software Foundation, use the
18
-GNU General Public License for most of our software; it applies also to
19
-any other work released this way by its authors.  You can apply it to
20
-your programs, too.
21
-
22
-  When we speak of free software, we are referring to freedom, not
23
-price.  Our General Public Licenses are designed to make sure that you
24
-have the freedom to distribute copies of free software (and charge for
25
-them if you wish), that you receive source code or can get it if you
26
-want it, that you can change the software or use pieces of it in new
27
-free programs, and that you know you can do these things.
28
-
29
-  To protect your rights, we need to prevent others from denying you
30
-these rights or asking you to surrender the rights.  Therefore, you have
31
-certain responsibilities if you distribute copies of the software, or if
32
-you modify it: responsibilities to respect the freedom of others.
33
-
34
-  For example, if you distribute copies of such a program, whether
35
-gratis or for a fee, you must pass on to the recipients the same
36
-freedoms that you received.  You must make sure that they, too, receive
37
-or can get the source code.  And you must show them these terms so they
38
-know their rights.
39
-
40
-  Developers that use the GNU GPL protect your rights with two steps:
41
-(1) assert copyright on the software, and (2) offer you this License
42
-giving you legal permission to copy, distribute and/or modify it.
43
-
44
-  For the developers' and authors' protection, the GPL clearly explains
45
-that there is no warranty for this free software.  For both users' and
46
-authors' sake, the GPL requires that modified versions be marked as
47
-changed, so that their problems will not be attributed erroneously to
48
-authors of previous versions.
49
-
50
-  Some devices are designed to deny users access to install or run
51
-modified versions of the software inside them, although the manufacturer
52
-can do so.  This is fundamentally incompatible with the aim of
53
-protecting users' freedom to change the software.  The systematic
54
-pattern of such abuse occurs in the area of products for individuals to
55
-use, which is precisely where it is most unacceptable.  Therefore, we
56
-have designed this version of the GPL to prohibit the practice for those
57
-products.  If such problems arise substantially in other domains, we
58
-stand ready to extend this provision to those domains in future versions
59
-of the GPL, as needed to protect the freedom of users.
60
-
61
-  Finally, every program is threatened constantly by software patents.
62
-States should not allow patents to restrict development and use of
63
-software on general-purpose computers, but in those that do, we wish to
64
-avoid the special danger that patents applied to a free program could
65
-make it effectively proprietary.  To prevent this, the GPL assures that
66
-patents cannot be used to render the program non-free.
67
-
68
-  The precise terms and conditions for copying, distribution and
69
-modification follow.
70
-
71
-                       TERMS AND CONDITIONS
72
-
73
-  0. Definitions.
74
-
75
-  "This License" refers to version 3 of the GNU General Public License.
76
-
77
-  "Copyright" also means copyright-like laws that apply to other kinds of
78
-works, such as semiconductor masks.
79
-
80
-  "The Program" refers to any copyrightable work licensed under this
81
-License.  Each licensee is addressed as "you".  "Licensees" and
82
-"recipients" may be individuals or organizations.
83
-
84
-  To "modify" a work means to copy from or adapt all or part of the work
85
-in a fashion requiring copyright permission, other than the making of an
86
-exact copy.  The resulting work is called a "modified version" of the
87
-earlier work or a work "based on" the earlier work.
88
-
89
-  A "covered work" means either the unmodified Program or a work based
90
-on the Program.
91
-
92
-  To "propagate" a work means to do anything with it that, without
93
-permission, would make you directly or secondarily liable for
94
-infringement under applicable copyright law, except executing it on a
95
-computer or modifying a private copy.  Propagation includes copying,
96
-distribution (with or without modification), making available to the
97
-public, and in some countries other activities as well.
98
-
99
-  To "convey" a work means any kind of propagation that enables other
100
-parties to make or receive copies.  Mere interaction with a user through
101
-a computer network, with no transfer of a copy, is not conveying.
102
-
103
-  An interactive user interface displays "Appropriate Legal Notices"
104
-to the extent that it includes a convenient and prominently visible
105
-feature that (1) displays an appropriate copyright notice, and (2)
106
-tells the user that there is no warranty for the work (except to the
107
-extent that warranties are provided), that licensees may convey the
108
-work under this License, and how to view a copy of this License.  If
109
-the interface presents a list of user commands or options, such as a
110
-menu, a prominent item in the list meets this criterion.
111
-
112
-  1. Source Code.
113
-
114
-  The "source code" for a work means the preferred form of the work
115
-for making modifications to it.  "Object code" means any non-source
116
-form of a work.
117
-
118
-  A "Standard Interface" means an interface that either is an official
119
-standard defined by a recognized standards body, or, in the case of
120
-interfaces specified for a particular programming language, one that
121
-is widely used among developers working in that language.
122
-
123
-  The "System Libraries" of an executable work include anything, other
124
-than the work as a whole, that (a) is included in the normal form of
125
-packaging a Major Component, but which is not part of that Major
126
-Component, and (b) serves only to enable use of the work with that
127
-Major Component, or to implement a Standard Interface for which an
128
-implementation is available to the public in source code form.  A
129
-"Major Component", in this context, means a major essential component
130
-(kernel, window system, and so on) of the specific operating system
131
-(if any) on which the executable work runs, or a compiler used to
132
-produce the work, or an object code interpreter used to run it.
133
-
134
-  The "Corresponding Source" for a work in object code form means all
135
-the source code needed to generate, install, and (for an executable
136
-work) run the object code and to modify the work, including scripts to
137
-control those activities.  However, it does not include the work's
138
-System Libraries, or general-purpose tools or generally available free
139
-programs which are used unmodified in performing those activities but
140
-which are not part of the work.  For example, Corresponding Source
141
-includes interface definition files associated with source files for
142
-the work, and the source code for shared libraries and dynamically
143
-linked subprograms that the work is specifically designed to require,
144
-such as by intimate data communication or control flow between those
145
-subprograms and other parts of the work.
146
-
147
-  The Corresponding Source need not include anything that users
148
-can regenerate automatically from other parts of the Corresponding
149
-Source.
150
-
151
-  The Corresponding Source for a work in source code form is that
152
-same work.
153
-
154
-  2. Basic Permissions.
155
-
156
-  All rights granted under this License are granted for the term of
157
-copyright on the Program, and are irrevocable provided the stated
158
-conditions are met.  This License explicitly affirms your unlimited
159
-permission to run the unmodified Program.  The output from running a
160
-covered work is covered by this License only if the output, given its
161
-content, constitutes a covered work.  This License acknowledges your
162
-rights of fair use or other equivalent, as provided by copyright law.
163
-
164
-  You may make, run and propagate covered works that you do not
165
-convey, without conditions so long as your license otherwise remains
166
-in force.  You may convey covered works to others for the sole purpose
167
-of having them make modifications exclusively for you, or provide you
168
-with facilities for running those works, provided that you comply with
169
-the terms of this License in conveying all material for which you do
170
-not control copyright.  Those thus making or running the covered works
171
-for you must do so exclusively on your behalf, under your direction
172
-and control, on terms that prohibit them from making any copies of
173
-your copyrighted material outside their relationship with you.
174
-
175
-  Conveying under any other circumstances is permitted solely under
176
-the conditions stated below.  Sublicensing is not allowed; section 10
177
-makes it unnecessary.
178
-
179
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
-
181
-  No covered work shall be deemed part of an effective technological
182
-measure under any applicable law fulfilling obligations under article
183
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
184
-similar laws prohibiting or restricting circumvention of such
185
-measures.
186
-
187
-  When you convey a covered work, you waive any legal power to forbid
188
-circumvention of technological measures to the extent such circumvention
189
-is effected by exercising rights under this License with respect to
190
-the covered work, and you disclaim any intention to limit operation or
191
-modification of the work as a means of enforcing, against the work's
192
-users, your or third parties' legal rights to forbid circumvention of
193
-technological measures.
194
-
195
-  4. Conveying Verbatim Copies.
196
-
197
-  You may convey verbatim copies of the Program's source code as you
198
-receive it, in any medium, provided that you conspicuously and
199
-appropriately publish on each copy an appropriate copyright notice;
200
-keep intact all notices stating that this License and any
201
-non-permissive terms added in accord with section 7 apply to the code;
202
-keep intact all notices of the absence of any warranty; and give all
203
-recipients a copy of this License along with the Program.
204
-
205
-  You may charge any price or no price for each copy that you convey,
206
-and you may offer support or warranty protection for a fee.
207
-
208
-  5. Conveying Modified Source Versions.
209
-
210
-  You may convey a work based on the Program, or the modifications to
211
-produce it from the Program, in the form of source code under the
212
-terms of section 4, provided that you also meet all of these conditions:
213
-
214
-    a) The work must carry prominent notices stating that you modified
215
-    it, and giving a relevant date.
216
-
217
-    b) The work must carry prominent notices stating that it is
218
-    released under this License and any conditions added under section
219
-    7.  This requirement modifies the requirement in section 4 to
220
-    "keep intact all notices".
221
-
222
-    c) You must license the entire work, as a whole, under this
223
-    License to anyone who comes into possession of a copy.  This
224
-    License will therefore apply, along with any applicable section 7
225
-    additional terms, to the whole of the work, and all its parts,
226
-    regardless of how they are packaged.  This License gives no
227
-    permission to license the work in any other way, but it does not
228
-    invalidate such permission if you have separately received it.
229
-
230
-    d) If the work has interactive user interfaces, each must display
231
-    Appropriate Legal Notices; however, if the Program has interactive
232
-    interfaces that do not display Appropriate Legal Notices, your
233
-    work need not make them do so.
234
-
235
-  A compilation of a covered work with other separate and independent
236
-works, which are not by their nature extensions of the covered work,
237
-and which are not combined with it such as to form a larger program,
238
-in or on a volume of a storage or distribution medium, is called an
239
-"aggregate" if the compilation and its resulting copyright are not
240
-used to limit the access or legal rights of the compilation's users
241
-beyond what the individual works permit.  Inclusion of a covered work
242
-in an aggregate does not cause this License to apply to the other
243
-parts of the aggregate.
244
-
245
-  6. Conveying Non-Source Forms.
246
-
247
-  You may convey a covered work in object code form under the terms
248
-of sections 4 and 5, provided that you also convey the
249
-machine-readable Corresponding Source under the terms of this License,
250
-in one of these ways:
251
-
252
-    a) Convey the object code in, or embodied in, a physical product
253
-    (including a physical distribution medium), accompanied by the
254
-    Corresponding Source fixed on a durable physical medium
255
-    customarily used for software interchange.
256
-
257
-    b) Convey the object code in, or embodied in, a physical product
258
-    (including a physical distribution medium), accompanied by a
259
-    written offer, valid for at least three years and valid for as
260
-    long as you offer spare parts or customer support for that product
261
-    model, to give anyone who possesses the object code either (1) a
262
-    copy of the Corresponding Source for all the software in the
263
-    product that is covered by this License, on a durable physical
264
-    medium customarily used for software interchange, for a price no
265
-    more than your reasonable cost of physically performing this
266
-    conveying of source, or (2) access to copy the
267
-    Corresponding Source from a network server at no charge.
268
-
269
-    c) Convey individual copies of the object code with a copy of the
270
-    written offer to provide the Corresponding Source.  This
271
-    alternative is allowed only occasionally and noncommercially, and
272
-    only if you received the object code with such an offer, in accord
273
-    with subsection 6b.
274
-
275
-    d) Convey the object code by offering access from a designated
276
-    place (gratis or for a charge), and offer equivalent access to the
277
-    Corresponding Source in the same way through the same place at no
278
-    further charge.  You need not require recipients to copy the
279
-    Corresponding Source along with the object code.  If the place to
280
-    copy the object code is a network server, the Corresponding Source
281
-    may be on a different server (operated by you or a third party)
282
-    that supports equivalent copying facilities, provided you maintain
283
-    clear directions next to the object code saying where to find the
284
-    Corresponding Source.  Regardless of what server hosts the
285
-    Corresponding Source, you remain obligated to ensure that it is
286
-    available for as long as needed to satisfy these requirements.
287
-
288
-    e) Convey the object code using peer-to-peer transmission, provided
289
-    you inform other peers where the object code and Corresponding
290
-    Source of the work are being offered to the general public at no
291
-    charge under subsection 6d.
292
-
293
-  A separable portion of the object code, whose source code is excluded
294
-from the Corresponding Source as a System Library, need not be
295
-included in conveying the object code work.
296
-
297
-  A "User Product" is either (1) a "consumer product", which means any
298
-tangible personal property which is normally used for personal, family,
299
-or household purposes, or (2) anything designed or sold for incorporation
300
-into a dwelling.  In determining whether a product is a consumer product,
301
-doubtful cases shall be resolved in favor of coverage.  For a particular
302
-product received by a particular user, "normally used" refers to a
303
-typical or common use of that class of product, regardless of the status
304
-of the particular user or of the way in which the particular user
305
-actually uses, or expects or is expected to use, the product.  A product
306
-is a consumer product regardless of whether the product has substantial
307
-commercial, industrial or non-consumer uses, unless such uses represent
308
-the only significant mode of use of the product.
309
-
310
-  "Installation Information" for a User Product means any methods,
311
-procedures, authorization keys, or other information required to install
312
-and execute modified versions of a covered work in that User Product from
313
-a modified version of its Corresponding Source.  The information must
314
-suffice to ensure that the continued functioning of the modified object
315
-code is in no case prevented or interfered with solely because
316
-modification has been made.
317
-
318
-  If you convey an object code work under this section in, or with, or
319
-specifically for use in, a User Product, and the conveying occurs as
320
-part of a transaction in which the right of possession and use of the
321
-User Product is transferred to the recipient in perpetuity or for a
322
-fixed term (regardless of how the transaction is characterized), the
323
-Corresponding Source conveyed under this section must be accompanied
324
-by the Installation Information.  But this requirement does not apply
325
-if neither you nor any third party retains the ability to install
326
-modified object code on the User Product (for example, the work has
327
-been installed in ROM).
328
-
329
-  The requirement to provide Installation Information does not include a
330
-requirement to continue to provide support service, warranty, or updates
331
-for a work that has been modified or installed by the recipient, or for
332
-the User Product in which it has been modified or installed.  Access to a
333
-network may be denied when the modification itself materially and
334
-adversely affects the operation of the network or violates the rules and
335
-protocols for communication across the network.
336
-
337
-  Corresponding Source conveyed, and Installation Information provided,
338
-in accord with this section must be in a format that is publicly
339
-documented (and with an implementation available to the public in
340
-source code form), and must require no special password or key for
341
-unpacking, reading or copying.
342
-
343
-  7. Additional Terms.
344
-
345
-  "Additional permissions" are terms that supplement the terms of this
346
-License by making exceptions from one or more of its conditions.
347
-Additional permissions that are applicable to the entire Program shall
348
-be treated as though they were included in this License, to the extent
349
-that they are valid under applicable law.  If additional permissions
350
-apply only to part of the Program, that part may be used separately
351
-under those permissions, but the entire Program remains governed by
352
-this License without regard to the additional permissions.
353
-
354
-  When you convey a copy of a covered work, you may at your option
355
-remove any additional permissions from that copy, or from any part of
356
-it.  (Additional permissions may be written to require their own
357
-removal in certain cases when you modify the work.)  You may place
358
-additional permissions on material, added by you to a covered work,
359
-for which you have or can give appropriate copyright permission.
360
-
361
-  Notwithstanding any other provision of this License, for material you
362
-add to a covered work, you may (if authorized by the copyright holders of
363
-that material) supplement the terms of this License with terms:
364
-
365
-    a) Disclaiming warranty or limiting liability differently from the
366
-    terms of sections 15 and 16 of this License; or
367
-
368
-    b) Requiring preservation of specified reasonable legal notices or
369
-    author attributions in that material or in the Appropriate Legal
370
-    Notices displayed by works containing it; or
371
-
372
-    c) Prohibiting misrepresentation of the origin of that material, or
373
-    requiring that modified versions of such material be marked in
374
-    reasonable ways as different from the original version; or
375
-
376
-    d) Limiting the use for publicity purposes of names of licensors or
377
-    authors of the material; or
378
-
379
-    e) Declining to grant rights under trademark law for use of some
380
-    trade names, trademarks, or service marks; or
381
-
382
-    f) Requiring indemnification of licensors and authors of that
383
-    material by anyone who conveys the material (or modified versions of
384
-    it) with contractual assumptions of liability to the recipient, for
385
-    any liability that these contractual assumptions directly impose on
386
-    those licensors and authors.
387
-
388
-  All other non-permissive additional terms are considered "further
389
-restrictions" within the meaning of section 10.  If the Program as you
390
-received it, or any part of it, contains a notice stating that it is
391
-governed by this License along with a term that is a further
392
-restriction, you may remove that term.  If a license document contains
393
-a further restriction but permits relicensing or conveying under this
394
-License, you may add to a covered work material governed by the terms
395
-of that license document, provided that the further restriction does
396
-not survive such relicensing or conveying.
397
-
398
-  If you add terms to a covered work in accord with this section, you
399
-must place, in the relevant source files, a statement of the
400
-additional terms that apply to those files, or a notice indicating
401
-where to find the applicable terms.
402
-
403
-  Additional terms, permissive or non-permissive, may be stated in the
404
-form of a separately written license, or stated as exceptions;
405
-the above requirements apply either way.
406
-
407
-  8. Termination.
408
-
409
-  You may not propagate or modify a covered work except as expressly
410
-provided under this License.  Any attempt otherwise to propagate or
411
-modify it is void, and will automatically terminate your rights under
412
-this License (including any patent licenses granted under the third
413
-paragraph of section 11).
414
-
415
-  However, if you cease all violation of this License, then your
416
-license from a particular copyright holder is reinstated (a)
417
-provisionally, unless and until the copyright holder explicitly and
418
-finally terminates your license, and (b) permanently, if the copyright
419
-holder fails to notify you of the violation by some reasonable means
420
-prior to 60 days after the cessation.
421
-
422
-  Moreover, your license from a particular copyright holder is
423
-reinstated permanently if the copyright holder notifies you of the
424
-violation by some reasonable means, this is the first time you have
425
-received notice of violation of this License (for any work) from that
426
-copyright holder, and you cure the violation prior to 30 days after
427
-your receipt of the notice.
428
-
429
-  Termination of your rights under this section does not terminate the
430
-licenses of parties who have received copies or rights from you under
431
-this License.  If your rights have been terminated and not permanently
432
-reinstated, you do not qualify to receive new licenses for the same
433
-material under section 10.
434
-
435
-  9. Acceptance Not Required for Having Copies.
436
-
437
-  You are not required to accept this License in order to receive or
438
-run a copy of the Program.  Ancillary propagation of a covered work
439
-occurring solely as a consequence of using peer-to-peer transmission
440
-to receive a copy likewise does not require acceptance.  However,
441
-nothing other than this License grants you permission to propagate or
442
-modify any covered work.  These actions infringe copyright if you do
443
-not accept this License.  Therefore, by modifying or propagating a
444
-covered work, you indicate your acceptance of this License to do so.
445
-
446
-  10. Automatic Licensing of Downstream Recipients.
447
-
448
-  Each time you convey a covered work, the recipient automatically
449
-receives a license from the original licensors, to run, modify and
450
-propagate that work, subject to this License.  You are not responsible
451
-for enforcing compliance by third parties with this License.
452
-
453
-  An "entity transaction" is a transaction transferring control of an
454
-organization, or substantially all assets of one, or subdividing an
455
-organization, or merging organizations.  If propagation of a covered
456
-work results from an entity transaction, each party to that
457
-transaction who receives a copy of the work also receives whatever
458
-licenses to the work the party's predecessor in interest had or could
459
-give under the previous paragraph, plus a right to possession of the
460
-Corresponding Source of the work from the predecessor in interest, if
461
-the predecessor has it or can get it with reasonable efforts.
462
-
463
-  You may not impose any further restrictions on the exercise of the
464
-rights granted or affirmed under this License.  For example, you may
465
-not impose a license fee, royalty, or other charge for exercise of
466
-rights granted under this License, and you may not initiate litigation
467
-(including a cross-claim or counterclaim in a lawsuit) alleging that
468
-any patent claim is infringed by making, using, selling, offering for
469
-sale, or importing the Program or any portion of it.
470
-
471
-  11. Patents.
472
-
473
-  A "contributor" is a copyright holder who authorizes use under this
474
-License of the Program or a work on which the Program is based.  The
475
-work thus licensed is called the contributor's "contributor version".
476
-
477
-  A contributor's "essential patent claims" are all patent claims
478
-owned or controlled by the contributor, whether already acquired or
479
-hereafter acquired, that would be infringed by some manner, permitted
480
-by this License, of making, using, or selling its contributor version,
481
-but do not include claims that would be infringed only as a
482
-consequence of further modification of the contributor version.  For
483
-purposes of this definition, "control" includes the right to grant
484
-patent sublicenses in a manner consistent with the requirements of
485
-this License.
486
-
487
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
488
-patent license under the contributor's essential patent claims, to
489
-make, use, sell, offer for sale, import and otherwise run, modify and
490
-propagate the contents of its contributor version.
491
-
492
-  In the following three paragraphs, a "patent license" is any express
493
-agreement or commitment, however denominated, not to enforce a patent
494
-(such as an express permission to practice a patent or covenant not to
495
-sue for patent infringement).  To "grant" such a patent license to a
496
-party means to make such an agreement or commitment not to enforce a
497
-patent against the party.
498
-
499
-  If you convey a covered work, knowingly relying on a patent license,
500
-and the Corresponding Source of the work is not available for anyone
501
-to copy, free of charge and under the terms of this License, through a
502
-publicly available network server or other readily accessible means,
503
-then you must either (1) cause the Corresponding Source to be so
504
-available, or (2) arrange to deprive yourself of the benefit of the
505
-patent license for this particular work, or (3) arrange, in a manner
506
-consistent with the requirements of this License, to extend the patent
507
-license to downstream recipients.  "Knowingly relying" means you have
508
-actual knowledge that, but for the patent license, your conveying the
509
-covered work in a country, or your recipient's use of the covered work
510
-in a country, would infringe one or more identifiable patents in that
511
-country that you have reason to believe are valid.
512
-
513
-  If, pursuant to or in connection with a single transaction or
514
-arrangement, you convey, or propagate by procuring conveyance of, a
515
-covered work, and grant a patent license to some of the parties
516
-receiving the covered work authorizing them to use, propagate, modify
517
-or convey a specific copy of the covered work, then the patent license
518
-you grant is automatically extended to all recipients of the covered
519
-work and works based on it.
520
-
521
-  A patent license is "discriminatory" if it does not include within
522
-the scope of its coverage, prohibits the exercise of, or is
523
-conditioned on the non-exercise of one or more of the rights that are
524
-specifically granted under this License.  You may not convey a covered
525
-work if you are a party to an arrangement with a third party that is
526
-in the business of distributing software, under which you make payment
527
-to the third party based on the extent of your activity of conveying
528
-the work, and under which the third party grants, to any of the
529
-parties who would receive the covered work from you, a discriminatory
530
-patent license (a) in connection with copies of the covered work
531
-conveyed by you (or copies made from those copies), or (b) primarily
532
-for and in connection with specific products or compilations that
533
-contain the covered work, unless you entered into that arrangement,
534
-or that patent license was granted, prior to 28 March 2007.
535
-
536
-  Nothing in this License shall be construed as excluding or limiting
537
-any implied license or other defenses to infringement that may
538
-otherwise be available to you under applicable patent law.
539
-
540
-  12. No Surrender of Others' Freedom.
541
-
542
-  If conditions are imposed on you (whether by court order, agreement or
543
-otherwise) that contradict the conditions of this License, they do not
544
-excuse you from the conditions of this License.  If you cannot convey a
545
-covered work so as to satisfy simultaneously your obligations under this
546
-License and any other pertinent obligations, then as a consequence you may
547
-not convey it at all.  For example, if you agree to terms that obligate you
548
-to collect a royalty for further conveying from those to whom you convey
549
-the Program, the only way you could satisfy both those terms and this
550
-License would be to refrain entirely from conveying the Program.
551
-
552
-  13. Use with the GNU Affero General Public License.
553
-
554
-  Notwithstanding any other provision of this License, you have
555
-permission to link or combine any covered work with a work licensed
556
-under version 3 of the GNU Affero General Public License into a single
557
-combined work, and to convey the resulting work.  The terms of this
558
-License will continue to apply to the part which is the covered work,
559
-but the special requirements of the GNU Affero General Public License,
560
-section 13, concerning interaction through a network will apply to the
561
-combination as such.
562
-
563
-  14. Revised Versions of this License.
564
-
565
-  The Free Software Foundation may publish revised and/or new versions of
566
-the GNU General Public License from time to time.  Such new versions will
567
-be similar in spirit to the present version, but may differ in detail to
568
-address new problems or concerns.
569
-
570
-  Each version is given a distinguishing version number.  If the
571
-Program specifies that a certain numbered version of the GNU General
572
-Public License "or any later version" applies to it, you have the
573
-option of following the terms and conditions either of that numbered
574
-version or of any later version published by the Free Software
575
-Foundation.  If the Program does not specify a version number of the
576
-GNU General Public License, you may choose any version ever published
577
-by the Free Software Foundation.
578
-
579
-  If the Program specifies that a proxy can decide which future
580
-versions of the GNU General Public License can be used, that proxy's
581
-public statement of acceptance of a version permanently authorizes you
582
-to choose that version for the Program.
583
-
584
-  Later license versions may give you additional or different
585
-permissions.  However, no additional obligations are imposed on any
586
-author or copyright holder as a result of your choosing to follow a
587
-later version.
588
-
589
-  15. Disclaimer of Warranty.
590
-
591
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
-
600
-  16. Limitation of Liability.
601
-
602
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610
-SUCH DAMAGES.
611
-
612
-  17. Interpretation of Sections 15 and 16.
613
-
614
-  If the disclaimer of warranty and limitation of liability provided
615
-above cannot be given local legal effect according to their terms,
616
-reviewing courts shall apply local law that most closely approximates
617
-an absolute waiver of all civil liability in connection with the
618
-Program, unless a warranty or assumption of liability accompanies a
619
-copy of the Program in return for a fee.
620
-
621
-                     END OF TERMS AND CONDITIONS
622
-
623
-            How to Apply These Terms to Your New Programs
624
-
625
-  If you develop a new program, and you want it to be of the greatest
626
-possible use to the public, the best way to achieve this is to make it
627
-free software which everyone can redistribute and change under these terms.
628
-
629
-  To do so, attach the following notices to the program.  It is safest
630
-to attach them to the start of each source file to most effectively
631
-state the exclusion of warranty; and each file should have at least
632
-the "copyright" line and a pointer to where the full notice is found.
633
-
634
-    <one line to give the program's name and a brief idea of what it does.>
635
-    Copyright (C) <year>  <name of author>
636
-
637
-    This program is free software: you can redistribute it and/or modify
638
-    it under the terms of the GNU General Public License as published by
639
-    the Free Software Foundation, either version 3 of the License, or
640
-    (at your option) any later version.
641
-
642
-    This program is distributed in the hope that it will be useful,
643
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
644
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
645
-    GNU General Public License for more details.
646
-
647
-    You should have received a copy of the GNU General Public License
648
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
649
-
650
-Also add information on how to contact you by electronic and paper mail.
651
-
652
-  If the program does terminal interaction, make it output a short
653
-notice like this when it starts in an interactive mode:
654
-
655
-    <program>  Copyright (C) <year>  <name of author>
656
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657
-    This is free software, and you are welcome to redistribute it
658
-    under certain conditions; type `show c' for details.
659
-
660
-The hypothetical commands `show w' and `show c' should show the appropriate
661
-parts of the General Public License.  Of course, your program's commands
662
-might be different; for a GUI interface, you would use an "about box".
663
-
664
-  You should also get your employer (if you work as a programmer) or school,
665
-if any, to sign a "copyright disclaimer" for the program, if necessary.
666
-For more information on this, and how to apply and follow the GNU GPL, see
667
-<http://www.gnu.org/licenses/>.
668
-
669
-  The GNU General Public License does not permit incorporating your program
670
-into proprietary programs.  If your program is a subroutine library, you
671
-may consider it more useful to permit linking proprietary applications with
672
-the library.  If this is what you want to do, use the GNU Lesser General
673
-Public License instead of this License.  But first, please read
674
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.

+ 0
- 95
roundcube/roundcubemail-1.3.6/README.md View File

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

+ 0
- 397
roundcube/roundcubemail-1.3.6/SQL/mssql.initial.sql View File

1
-CREATE TABLE [dbo].[cache] (
2
-	[user_id] [int] NOT NULL ,
3
-	[cache_key] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
4
-	[expires] [datetime] NULL ,
5
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
6
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
7
-GO
8
-
9
-CREATE TABLE [dbo].[cache_shared] (
10
-	[cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL ,
11
-	[expires] [datetime] NULL ,
12
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
13
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
14
-GO
15
-
16
-CREATE TABLE [dbo].[cache_index] (
17
-	[user_id] [int] NOT NULL ,
18
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
19
-	[expires] [datetime] NULL ,
20
-	[valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
21
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
22
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
23
-GO
24
-
25
-CREATE TABLE [dbo].[cache_thread] (
26
-	[user_id] [int] NOT NULL ,
27
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
28
-	[expires] [datetime] NULL ,
29
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
30
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
31
-GO
32
-
33
-CREATE TABLE [dbo].[cache_messages] (
34
-	[user_id] [int] NOT NULL ,
35
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
36
-	[uid] [int] NOT NULL ,
37
-	[expires] [datetime] NULL ,
38
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL ,
39
-	[flags] [int] NOT NULL
40
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
41
-GO
42
-
43
-CREATE TABLE [dbo].[contacts] (
44
-	[contact_id] [int] IDENTITY (1, 1) NOT NULL ,
45
-	[user_id] [int] NOT NULL ,
46
-	[changed] [datetime] NOT NULL ,
47
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
48
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
49
-	[email] [varchar] (8000) COLLATE Latin1_General_CI_AI NOT NULL ,
50
-	[firstname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
51
-	[surname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
52
-	[vcard] [text] COLLATE Latin1_General_CI_AI NULL ,
53
-	[words] [text] COLLATE Latin1_General_CI_AI NULL 
54
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
55
-GO
56
-
57
-CREATE TABLE [dbo].[contactgroups] (
58
-	[contactgroup_id] [int] IDENTITY (1, 1) NOT NULL ,
59
-	[user_id] [int] NOT NULL ,
60
-	[changed] [datetime] NOT NULL ,
61
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
62
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL
63
-) ON [PRIMARY] 
64
-GO
65
-
66
-CREATE TABLE [dbo].[contactgroupmembers] (
67
-	[contactgroup_id] [int] NOT NULL ,
68
-	[contact_id] [int] NOT NULL ,
69
-	[created] [datetime] NOT NULL
70
-) ON [PRIMARY] 
71
-GO
72
-
73
-CREATE TABLE [dbo].[identities] (
74
-	[identity_id] [int] IDENTITY (1, 1) NOT NULL ,
75
-	[user_id] [int] NOT NULL ,
76
-	[changed] [datetime] NOT NULL ,
77
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
78
-	[standard] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
79
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
80
-	[organization] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
81
-	[email] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
82
-	[reply-to] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
83
-	[bcc] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
84
-	[signature] [text] COLLATE Latin1_General_CI_AI NULL, 
85
-	[html_signature] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL
86
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
87
-GO
88
-
89
-CREATE TABLE [dbo].[session] (
90
-	[sess_id] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
91
-	[changed] [datetime] NULL ,
92
-	[ip] [varchar] (40) COLLATE Latin1_General_CI_AI NOT NULL ,
93
-	[vars] [text] COLLATE Latin1_General_CI_AI NOT NULL 
94
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
95
-GO
96
-
97
-CREATE TABLE [dbo].[users] (
98
-	[user_id] [int] IDENTITY (1, 1) NOT NULL ,
99
-	[username] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
100
-	[mail_host] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
101
-	[created] [datetime] NOT NULL ,
102
-	[last_login] [datetime] NULL ,
103
-	[failed_login] [datetime] NULL ,
104
-	[failed_login_counter] [int] NULL ,
105
-	[language] [varchar] (5) COLLATE Latin1_General_CI_AI NULL ,
106
-	[preferences] [text] COLLATE Latin1_General_CI_AI NULL 
107
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
108
-GO
109
-
110
-CREATE TABLE [dbo].[dictionary] (
111
-	[user_id] [int] ,
112
-	[language] [varchar] (5) COLLATE Latin1_General_CI_AI NOT NULL ,
113
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
114
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
115
-GO
116
-
117
-CREATE TABLE [dbo].[searches] (
118
-	[search_id] [int] IDENTITY (1, 1) NOT NULL ,
119
-	[user_id] [int] NOT NULL ,
120
-	[type] [tinyint] NOT NULL ,
121
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
122
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
123
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
124
-GO
125
-
126
-CREATE TABLE [dbo].[system] (
127
-	[name] [varchar] (64) COLLATE Latin1_General_CI_AI NOT NULL ,
128
-	[value] [text] COLLATE Latin1_General_CI_AI NOT NULL 
129
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
130
-GO
131
-
132
-ALTER TABLE [dbo].[cache] WITH NOCHECK ADD 
133
-	 PRIMARY KEY CLUSTERED 
134
-	(
135
-		[user_id],[cache_key]
136
-	) ON [PRIMARY] 
137
-GO
138
-
139
-ALTER TABLE [dbo].[cache_shared] WITH NOCHECK ADD 
140
-	 PRIMARY KEY CLUSTERED 
141
-	(
142
-		[cache_key]
143
-	) ON [PRIMARY] 
144
-GO
145
-
146
-ALTER TABLE [dbo].[cache_index] WITH NOCHECK ADD 
147
-	 PRIMARY KEY CLUSTERED 
148
-	(
149
-		[user_id],[mailbox]
150
-	) ON [PRIMARY] 
151
-GO
152
-
153
-ALTER TABLE [dbo].[cache_thread] WITH NOCHECK ADD 
154
-	 PRIMARY KEY CLUSTERED 
155
-	(
156
-		[user_id],[mailbox]
157
-	) ON [PRIMARY] 
158
-GO
159
-
160
-ALTER TABLE [dbo].[cache_messages] WITH NOCHECK ADD 
161
-	 PRIMARY KEY CLUSTERED 
162
-	(
163
-		[user_id],[mailbox],[uid]
164
-	) ON [PRIMARY] 
165
-GO
166
-
167
-ALTER TABLE [dbo].[contacts] WITH NOCHECK ADD 
168
-	CONSTRAINT [PK_contacts_contact_id] PRIMARY KEY  CLUSTERED 
169
-	(
170
-		[contact_id]
171
-	) ON [PRIMARY] 
172
-GO
173
-
174
-ALTER TABLE [dbo].[contactgroups] WITH NOCHECK ADD 
175
-	CONSTRAINT [PK_contactgroups_contactgroup_id] PRIMARY KEY CLUSTERED 
176
-	(
177
-		[contactgroup_id]
178
-	) ON [PRIMARY] 
179
-GO
180
-
181
-ALTER TABLE [dbo].[contactgroupmembers] WITH NOCHECK ADD 
182
-	CONSTRAINT [PK_contactgroupmembers_id] PRIMARY KEY CLUSTERED 
183
-	(
184
-		[contactgroup_id], [contact_id]
185
-	) ON [PRIMARY] 
186
-GO
187
-
188
-ALTER TABLE [dbo].[identities] WITH NOCHECK ADD 
189
-	 PRIMARY KEY  CLUSTERED 
190
-	(
191
-		[identity_id]
192
-	) ON [PRIMARY] 
193
-GO
194
-
195
-ALTER TABLE [dbo].[session] WITH NOCHECK ADD 
196
-	CONSTRAINT [PK_session_sess_id] PRIMARY KEY  CLUSTERED 
197
-	(
198
-		[sess_id]
199
-	) ON [PRIMARY] 
200
-GO
201
-
202
-ALTER TABLE [dbo].[users] WITH NOCHECK ADD 
203
-	CONSTRAINT [PK_users_user_id] PRIMARY KEY  CLUSTERED 
204
-	(
205
-		[user_id]
206
-	) ON [PRIMARY] 
207
-GO
208
-
209
-ALTER TABLE [dbo].[searches] WITH NOCHECK ADD 
210
-	CONSTRAINT [PK_searches_search_id] PRIMARY KEY CLUSTERED 
211
-	(
212
-		[search_id]
213
-	) ON [PRIMARY] 
214
-GO
215
-
216
-ALTER TABLE [dbo].[system] WITH NOCHECK ADD 
217
-	CONSTRAINT [PK_system_name] PRIMARY KEY CLUSTERED 
218
-	(
219
-		[name]
220
-	) ON [PRIMARY] 
221
-GO
222
-
223
-ALTER TABLE [dbo].[cache] ADD 
224
-	CONSTRAINT [DF_cache_user_id] DEFAULT ('0') FOR [user_id],
225
-	CONSTRAINT [DF_cache_cache_key] DEFAULT ('') FOR [cache_key]
226
-GO
227
-
228
-ALTER TABLE [dbo].[cache_index] ADD 
229
-	CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid]
230
-GO
231
-
232
-ALTER TABLE [dbo].[cache_messages] ADD 
233
-	CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags]
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_ip] DEFAULT ('') FOR [ip]
319
-GO
320
-
321
-CREATE INDEX [IX_session_changed] ON [dbo].[session]([changed]) ON [PRIMARY]
322
-GO
323
-
324
-ALTER TABLE [dbo].[users] ADD 
325
-	CONSTRAINT [DF_users_username] DEFAULT ('') FOR [username],
326
-	CONSTRAINT [DF_users_mail_host] DEFAULT ('') FOR [mail_host],
327
-	CONSTRAINT [DF_users_created] DEFAULT (getdate()) FOR [created]
328
-GO
329
-
330
-CREATE UNIQUE INDEX [IX_users_username] ON [dbo].[users]([username],[mail_host]) ON [PRIMARY]
331
-GO
332
-
333
-CREATE UNIQUE INDEX [IX_dictionary_user_language] ON [dbo].[dictionary]([user_id],[language]) ON [PRIMARY]
334
-GO
335
-
336
-ALTER TABLE [dbo].[searches] ADD 
337
-	CONSTRAINT [DF_searches_user] DEFAULT (0) FOR [user_id],
338
-	CONSTRAINT [DF_searches_type] DEFAULT (0) FOR [type]
339
-GO
340
-
341
-CREATE UNIQUE INDEX [IX_searches_user_type_name] ON [dbo].[searches]([user_id],[type],[name]) ON [PRIMARY]
342
-GO
343
-
344
-ALTER TABLE [dbo].[identities] ADD CONSTRAINT [FK_identities_user_id] 
345
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
346
-    ON DELETE CASCADE ON UPDATE CASCADE
347
-GO
348
-
349
-ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [FK_contacts_user_id]
350
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
351
-    ON DELETE CASCADE ON UPDATE CASCADE
352
-GO
353
-
354
-ALTER TABLE [dbo].[contactgroups] ADD CONSTRAINT [FK_contactgroups_user_id]
355
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
356
-    ON DELETE CASCADE ON UPDATE CASCADE
357
-GO
358
-
359
-ALTER TABLE [dbo].[cache] ADD CONSTRAINT [FK_cache_user_id]
360
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
361
-    ON DELETE CASCADE ON UPDATE CASCADE
362
-GO
363
-
364
-ALTER TABLE [dbo].[cache_index] ADD CONSTRAINT [FK_cache_index_user_id]
365
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
366
-    ON DELETE CASCADE ON UPDATE CASCADE
367
-GO
368
-
369
-ALTER TABLE [dbo].[cache_thread] ADD CONSTRAINT [FK_cache_thread_user_id]
370
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
371
-    ON DELETE CASCADE ON UPDATE CASCADE
372
-GO
373
-
374
-ALTER TABLE [dbo].[cache_messages] ADD CONSTRAINT [FK_cache_messages_user_id]
375
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
376
-    ON DELETE CASCADE ON UPDATE CASCADE
377
-GO
378
-
379
-ALTER TABLE [dbo].[contactgroupmembers] ADD CONSTRAINT [FK_contactgroupmembers_contactgroup_id]
380
-    FOREIGN KEY ([contactgroup_id]) REFERENCES [dbo].[contactgroups] ([contactgroup_id])
381
-    ON DELETE CASCADE ON UPDATE CASCADE
382
-GO
383
-
384
-ALTER TABLE [dbo].[searches] ADD CONSTRAINT [FK_searches_user_id]
385
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
386
-    ON DELETE CASCADE ON UPDATE CASCADE
387
-GO
388
-
389
-CREATE TRIGGER [contact_delete_member] ON [dbo].[contacts]
390
-    AFTER DELETE AS
391
-    DELETE FROM [dbo].[contactgroupmembers]
392
-    WHERE [contact_id] IN (SELECT [contact_id] FROM deleted)
393
-GO
394
-
395
-INSERT INTO [dbo].[system] ([name], [value]) VALUES ('roundcube-version', '2016112200')
396
-GO
397
-

+ 0
- 86
roundcube/roundcubemail-1.3.6/SQL/mssql/2009103100.sql View File

1
-
2
-ALTER TABLE [dbo].[messages] ADD CONSTRAINT [FK_messages_user_id]
3
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
4
-    ON DELETE CASCADE ON UPDATE CASCADE
5
-GO
6
-
7
-ALTER TABLE [dbo].[cache] ADD CONSTRAINT [FK_cache_user_id]
8
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
9
-    ON DELETE CASCADE ON UPDATE CASCADE
10
-GO
11
-
12
-ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [FK_contacts_user_id]
13
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
14
-    ON DELETE CASCADE ON UPDATE CASCADE
15
-GO
16
-
17
-ALTER TABLE [dbo].[identities] ADD CONSTRAINT [FK_identities_user_id] 
18
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
19
-    ON DELETE CASCADE ON UPDATE CASCADE
20
-GO
21
-
22
-ALTER TABLE [dbo].[identities] ADD [changed] [datetime] NULL 
23
-GO
24
-
25
-CREATE TABLE [dbo].[contactgroups] (
26
-	[contactgroup_id] [int] IDENTITY (1, 1) NOT NULL ,
27
-	[user_id] [int] NOT NULL ,
28
-	[changed] [datetime] NOT NULL ,
29
-	[del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
30
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL
31
-) ON [PRIMARY] 
32
-GO
33
-
34
-CREATE TABLE [dbo].[contactgroupmembers] (
35
-	[contactgroup_id] [int] NOT NULL ,
36
-	[contact_id] [int] NOT NULL ,
37
-	[created] [datetime] NOT NULL
38
-) ON [PRIMARY] 
39
-GO
40
-
41
-ALTER TABLE [dbo].[contactgroups] WITH NOCHECK ADD 
42
-	CONSTRAINT [PK_contactgroups_contactgroup_id] PRIMARY KEY CLUSTERED 
43
-	(
44
-		[contactgroup_id]
45
-	)  ON [PRIMARY] 
46
-GO
47
-
48
-ALTER TABLE [dbo].[contactgroupmembers] WITH NOCHECK ADD 
49
-	CONSTRAINT [PK_contactgroupmembers_id] PRIMARY KEY CLUSTERED 
50
-	(
51
-		[contactgroup_id], [contact_id]
52
-	)  ON [PRIMARY] 
53
-GO
54
-
55
-ALTER TABLE [dbo].[contactgroups] ADD 
56
-	CONSTRAINT [DF_contactgroups_user_id] DEFAULT (0) FOR [user_id],
57
-	CONSTRAINT [DF_contactgroups_changed] DEFAULT (getdate()) FOR [changed],
58
-	CONSTRAINT [DF_contactgroups_del] DEFAULT ('0') FOR [del],
59
-	CONSTRAINT [DF_contactgroups_name] DEFAULT ('') FOR [name],
60
-	CONSTRAINT [CK_contactgroups_del] CHECK ([del] = '1' or [del] = '0')
61
-GO
62
-
63
-CREATE  INDEX [IX_contactgroups_user_id] ON [dbo].[contacts]([user_id]) ON [PRIMARY]
64
-GO
65
-
66
-ALTER TABLE [dbo].[contactgroupmembers] ADD 
67
-	CONSTRAINT [DF_contactgroupmembers_contactgroup_id] DEFAULT (0) FOR [contactgroup_id],
68
-	CONSTRAINT [DF_contactgroupmembers_contact_id] DEFAULT (0) FOR [contact_id],
69
-	CONSTRAINT [DF_contactgroupmembers_created] DEFAULT (getdate()) FOR [created]
70
-GO
71
-
72
-ALTER TABLE [dbo].[contactgroupmembers] ADD CONSTRAINT [FK_contactgroupmembers_contactgroup_id]
73
-    FOREIGN KEY ([contactgroup_id]) REFERENCES [dbo].[contactgroups] ([contactgroup_id])
74
-    ON DELETE CASCADE ON UPDATE CASCADE
75
-GO
76
-
77
-CREATE TRIGGER [contact_delete_member] ON [dbo].[contacts]
78
-    AFTER DELETE AS
79
-    DELETE FROM [dbo].[contactgroupmembers]
80
-    WHERE [contact_id] IN (SELECT [contact_id] FROM deleted)
81
-GO
82
-
83
-ALTER TABLE [dbo].[contactgroups] ADD CONSTRAINT [FK_contactgroups_user_id]
84
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
85
-    ON DELETE CASCADE ON UPDATE CASCADE
86
-GO

+ 0
- 8
roundcube/roundcubemail-1.3.6/SQL/mssql/2010100600.sql View File

1
-
2
-DROP INDEX [IX_users_username]
3
-GO
4
-CREATE UNIQUE INDEX [IX_users_username] ON [dbo].[users]([username],[mail_host]) ON [PRIMARY]
5
-GO
6
-ALTER TABLE [dbo].[contacts] ALTER COLUMN [email] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL
7
-GO
8
-

+ 0
- 9
roundcube/roundcubemail-1.3.6/SQL/mssql/2011011200.sql View File

1
-
2
-ALTER TABLE [dbo].[contacts] ADD [words] [text] COLLATE Latin1_General_CI_AI NULL 
3
-GO
4
-CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY]
5
-GO
6
-DELETE FROM [dbo].[messages]
7
-GO
8
-DELETE FROM [dbo].[cache]
9
-GO

+ 0
- 126
roundcube/roundcubemail-1.3.6/SQL/mssql/2011092800.sql View File

1
-
2
-CREATE TABLE [dbo].[dictionary] (
3
-    [user_id] [int] ,
4
-    [language] [varchar] (5) COLLATE Latin1_General_CI_AI NOT NULL ,
5
-    [data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
6
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
7
-GO
8
-CREATE  UNIQUE INDEX [IX_dictionary_user_language] ON [dbo].[dictionary]([user_id],[language]) ON [PRIMARY]
9
-GO
10
-
11
-CREATE TABLE [dbo].[searches] (
12
-	[search_id] [int] IDENTITY (1, 1) NOT NULL ,
13
-	[user_id] [int] NOT NULL ,
14
-	[type] [tinyint] NOT NULL ,
15
-	[name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
16
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
17
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
18
-GO
19
-
20
-ALTER TABLE [dbo].[searches] WITH NOCHECK ADD 
21
-	CONSTRAINT [PK_searches_search_id] PRIMARY KEY CLUSTERED 
22
-	(
23
-		[search_id]
24
-	) ON [PRIMARY] 
25
-GO
26
-
27
-ALTER TABLE [dbo].[searches] ADD 
28
-	CONSTRAINT [DF_searches_user] DEFAULT (0) FOR [user_id],
29
-	CONSTRAINT [DF_searches_type] DEFAULT (0) FOR [type],
30
-GO
31
-
32
-CREATE UNIQUE INDEX [IX_searches_user_type_name] ON [dbo].[searches]([user_id],[type],[name]) ON [PRIMARY]
33
-GO
34
-
35
-ALTER TABLE [dbo].[searches] ADD CONSTRAINT [FK_searches_user_id]
36
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
37
-    ON DELETE CASCADE ON UPDATE CASCADE
38
-GO
39
-
40
-DROP TABLE [dbo].[messages]
41
-GO
42
-CREATE TABLE [dbo].[cache_index] (
43
-	[user_id] [int] NOT NULL ,
44
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
45
-	[changed] [datetime] NOT NULL ,
46
-	[valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
47
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
48
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
49
-GO
50
-
51
-CREATE TABLE [dbo].[cache_thread] (
52
-	[user_id] [int] NOT NULL ,
53
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
54
-	[changed] [datetime] NOT NULL ,
55
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
56
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
57
-GO
58
-
59
-CREATE TABLE [dbo].[cache_messages] (
60
-	[user_id] [int] NOT NULL ,
61
-	[mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
62
-	[uid] [int] NOT NULL ,
63
-	[changed] [datetime] NOT NULL ,
64
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL ,
65
-	[flags] [int] NOT NULL
66
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
67
-GO
68
-
69
-ALTER TABLE [dbo].[cache_index] WITH NOCHECK ADD 
70
-	 PRIMARY KEY CLUSTERED 
71
-	(
72
-		[user_id],[mailbox]
73
-	) ON [PRIMARY] 
74
-GO
75
-
76
-ALTER TABLE [dbo].[cache_thread] WITH NOCHECK ADD 
77
-	 PRIMARY KEY CLUSTERED 
78
-	(
79
-		[user_id],[mailbox]
80
-	) ON [PRIMARY] 
81
-GO
82
-
83
-ALTER TABLE [dbo].[cache_messages] WITH NOCHECK ADD 
84
-	 PRIMARY KEY CLUSTERED 
85
-	(
86
-		[user_id],[mailbox],[uid]
87
-	) ON [PRIMARY] 
88
-GO
89
-
90
-ALTER TABLE [dbo].[cache_index] ADD 
91
-	CONSTRAINT [DF_cache_index_changed] DEFAULT (getdate()) FOR [changed],
92
-	CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid]
93
-GO
94
-
95
-CREATE  INDEX [IX_cache_index_user_id] ON [dbo].[cache_index]([user_id]) ON [PRIMARY]
96
-GO
97
-
98
-ALTER TABLE [dbo].[cache_thread] ADD 
99
-	CONSTRAINT [DF_cache_thread_changed] DEFAULT (getdate()) FOR [changed]
100
-GO
101
-
102
-CREATE  INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [PRIMARY]
103
-GO
104
-
105
-ALTER TABLE [dbo].[cache_messages] ADD 
106
-	CONSTRAINT [DF_cache_messages_changed] DEFAULT (getdate()) FOR [changed],
107
-	CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags]
108
-GO
109
-
110
-CREATE  INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY]
111
-GO
112
-
113
-ALTER TABLE [dbo].[cache_index] ADD CONSTRAINT [FK_cache_index_user_id]
114
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
115
-    ON DELETE CASCADE ON UPDATE CASCADE
116
-GO
117
-
118
-ALTER TABLE [dbo].[cache_thread] ADD CONSTRAINT [FK_cache_thread_user_id]
119
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
120
-    ON DELETE CASCADE ON UPDATE CASCADE
121
-GO
122
-
123
-ALTER TABLE [dbo].[cache_messages] ADD CONSTRAINT [FK_cache_messages_user_id]
124
-    FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
125
-    ON DELETE CASCADE ON UPDATE CASCADE
126
-GO

+ 0
- 3
roundcube/roundcubemail-1.3.6/SQL/mssql/2011111600.sql View File

1
-
2
-ALTER TABLE [dbo].[session] ALTER COLUMN [sess_id] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL
3
-GO

+ 0
- 8
roundcube/roundcubemail-1.3.6/SQL/mssql/2011121400.sql View File

1
-
2
-ALTER TABLE [dbo].[contacts] DROP CONSTRAINT [DF_contacts_email]
3
-GO
4
-ALTER TABLE [dbo].[contacts] ALTER COLUMN [email] [text] COLLATE Latin1_General_CI_AI NOT NULL
5
-GO
6
-ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email]
7
-GO
8
-

+ 0
- 16
roundcube/roundcubemail-1.3.6/SQL/mssql/2012051800.sql View File

1
-
2
-ALTER TABLE [dbo].[contacts] DROP CONSTRAINT [DF_contacts_email]
3
-GO
4
-ALTER TABLE [dbo].[contacts] ALTER COLUMN [email] [varchar] (8000) COLLATE Latin1_General_CI_AI NOT NULL
5
-GO
6
-ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email]
7
-GO
8
-
9
-
10
-ALTER TABLE [dbo].[cache] DROP COLUMN [cache_id]
11
-GO
12
-ALTER TABLE [dbo].[users] DROP COLUMN [alias]
13
-GO
14
-CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY]
15
-GO
16
-

+ 0
- 7
roundcube/roundcubemail-1.3.6/SQL/mssql/2012080700.sql View File

1
-
2
-ALTER TABLE [dbo].[cache] DROP COLUMN [cache_id]
3
-GO
4
-ALTER TABLE [dbo].[users] DROP COLUMN [alias]
5
-GO
6
-CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY]
7
-GO

+ 0
- 13
roundcube/roundcubemail-1.3.6/SQL/mssql/2013011000.sql View File

1
-
2
-CREATE TABLE [dbo].[system] (
3
-    [name] [varchar] (64) COLLATE Latin1_General_CI_AI NOT NULL ,
4
-    [value] [text] COLLATE Latin1_General_CI_AI 
5
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
6
-GO
7
-
8
-ALTER TABLE [dbo].[system] WITH NOCHECK ADD
9
-    CONSTRAINT [PK_system_name] PRIMARY KEY CLUSTERED
10
-    (
11
-        [name]
12
-    ) ON [PRIMARY]
13
-GO

+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/mssql/2013042700.sql View File


+ 0
- 17
roundcube/roundcubemail-1.3.6/SQL/mssql/2013052500.sql View File

1
-CREATE TABLE [dbo].[cache_shared] (
2
-	[cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL ,
3
-	[created] [datetime] NOT NULL ,
4
-	[data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
5
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
6
-GO
7
-
8
-ALTER TABLE [dbo].[cache_shared] ADD 
9
-	CONSTRAINT [DF_cache_shared_created] DEFAULT (getdate()) FOR [created]
10
-GO
11
-
12
-CREATE  INDEX [IX_cache_shared_cache_key] ON [dbo].[cache_shared]([cache_key]) ON [PRIMARY]
13
-GO
14
-
15
-CREATE  INDEX [IX_cache_shared_created] ON [dbo].[cache_shared]([created]) ON [PRIMARY]
16
-GO
17
-

+ 0
- 44
roundcube/roundcubemail-1.3.6/SQL/mssql/2013061000.sql View File

1
-ALTER TABLE [dbo].[cache] ADD [expires] [datetime] NULL
2
-GO
3
-ALTER TABLE [dbo].[cache_shared] ADD [expires] [datetime] NULL
4
-GO
5
-ALTER TABLE [dbo].[cache_index] ADD [expires] [datetime] NULL
6
-GO
7
-ALTER TABLE [dbo].[cache_thread] ADD [expires] [datetime] NULL
8
-GO
9
-ALTER TABLE [dbo].[cache_messages] ADD [expires] [datetime] NULL
10
-GO
11
-
12
-UPDATE [dbo].[cache] SET [expires] = DATEADD(second, 604800, [created])
13
-GO
14
-UPDATE [dbo].[cache_shared] SET [expires] = DATEADD(second, 604800, [created])
15
-GO
16
-UPDATE [dbo].[cache_index] SET [expires] = DATEADD(second, 604800, [changed])
17
-GO
18
-UPDATE [dbo].[cache_thread] SET [expires] = DATEADD(second, 604800, [changed])
19
-GO
20
-UPDATE [dbo].[cache_messages] SET [expires] = DATEADD(second, 604800, [changed])
21
-GO
22
-
23
-DROP INDEX [IX_cache_created]
24
-GO
25
-DROP INDEX [IX_cache_shared_created]
26
-GO
27
-ALTER TABLE [dbo].[cache_index] DROP COLUMN [changed]
28
-GO
29
-ALTER TABLE [dbo].[cache_thread] DROP COLUMN [changed]
30
-GO
31
-ALTER TABLE [dbo].[cache_messages] DROP COLUMN [changed]
32
-GO
33
-
34
-CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY]
35
-GO
36
-CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY]
37
-GO
38
-CREATE INDEX [IX_cache_index_expires] ON [dbo].[cache_index]([expires]) ON [PRIMARY]
39
-GO
40
-CREATE INDEX [IX_cache_thread_expires] ON [dbo].[cache_thread]([expires]) ON [PRIMARY]
41
-GO
42
-CREATE INDEX [IX_cache_messages_expires] ON [dbo].[cache_messages]([expires]) ON [PRIMARY]
43
-GO
44
-

+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/mssql/2014042900.sql View File


+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/mssql/2015030800.sql View File


+ 0
- 4
roundcube/roundcubemail-1.3.6/SQL/mssql/2015111100.sql View File

1
-ALTER TABLE [dbo].[users] ADD [failed_login] [datetime] NULL
2
-GO
3
-ALTER TABLE [dbo].[users] ADD [failed_login_counter] [int] NULL
4
-GO

+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/mssql/2016081200.sql View File

1
-ALTER TABLE [dbo].[session] DROP COLUMN [created]
2
-GO

+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/mssql/2016100900.sql View File

1
-ALTER TABLE [dbo].[session] ALTER COLUMN [ip] [varchar] (40) COLLATE Latin1_General_CI_AI NOT NULL
2
-GO

+ 0
- 36
roundcube/roundcubemail-1.3.6/SQL/mssql/2016112200.sql View File

1
-DROP TABLE [dbo].[cache]
2
-GO
3
-DROP TABLE [dbo].[cache_shared]
4
-GO
5
-
6
-CREATE TABLE [dbo].[cache] (
7
-  [user_id] [int] NOT NULL ,
8
-  [cache_key] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
9
-  [expires] [datetime] NULL ,
10
-  [data] [text] COLLATE Latin1_General_CI_AI NOT NULL 
11
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
12
-GO
13
-CREATE TABLE [dbo].[cache_shared] (
14
-  [cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL ,
15
-  [expires] [datetime] NULL ,
16
-  [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
17
-) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
18
-GO
19
-ALTER TABLE [dbo].[cache] ADD
20
-  CONSTRAINT [DF_cache_user_id] DEFAULT ('0') FOR [user_id],
21
-  CONSTRAINT [DF_cache_cache_key] DEFAULT ('') FOR [cache_key],
22
-GO
23
-CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY]
24
-GO
25
-CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY]
26
-GO
27
-ALTER TABLE [dbo].[cache] WITH NOCHECK ADD
28
-  PRIMARY KEY CLUSTERED (
29
-    [user_id],[cache_key]
30
-  ) ON [PRIMARY]
31
-GO
32
-ALTER TABLE [dbo].[cache_shared] WITH NOCHECK ADD
33
-  PRIMARY KEY CLUSTERED (
34
-    [cache_key]
35
-  ) ON [PRIMARY]
36
-GO

+ 0
- 198
roundcube/roundcubemail-1.3.6/SQL/mysql.initial.sql View File

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

+ 0
- 15
roundcube/roundcubemail-1.3.6/SQL/mysql/2008030300.sql View File

1
-
2
-TRUNCATE TABLE `messages`;
3
-
4
-ALTER TABLE `messages`
5
-  DROP INDEX `idx`,
6
-  DROP INDEX `uid`;
7
-
8
-ALTER TABLE `cache`
9
-  DROP INDEX `cache_key`,
10
-  DROP INDEX `session_id`,
11
-  ADD INDEX `user_cache_index` (`user_id`,`cache_key`);
12
-
13
-ALTER TABLE `users`
14
-    ADD INDEX `username_index` (`username`),
15
-    ADD INDEX `alias_index` (`alias`);

+ 0
- 8
roundcube/roundcubemail-1.3.6/SQL/mysql/2008040500.sql View File

1
-
2
-ALTER TABLE `identities`
3
-    MODIFY `signature` text, 
4
-    MODIFY `bcc` varchar(128) NOT NULL DEFAULT '', 
5
-    MODIFY `reply-to` varchar(128) NOT NULL DEFAULT '', 
6
-    MODIFY `organization` varchar(128) NOT NULL DEFAULT '',
7
-    MODIFY `name` varchar(128) NOT NULL, 
8
-    MODIFY `email` varchar(128) NOT NULL; 

+ 0
- 3
roundcube/roundcubemail-1.3.6/SQL/mysql/2008060900.sql View File

1
-
2
-ALTER TABLE `messages`
3
-    ADD INDEX `created_index` (`created`);

+ 0
- 19
roundcube/roundcubemail-1.3.6/SQL/mysql/2008092100.sql View File

1
-
2
-ALTER TABLE `cache`
3
-    DROP `session_id`;
4
-
5
-ALTER TABLE `session`
6
-    ADD INDEX `changed_index` (`changed`);
7
-
8
-ALTER TABLE `cache`
9
-    ADD INDEX `created_index` (`created`);
10
-
11
-ALTER TABLE `users`
12
-    CHANGE `language` `language` varchar(5);
13
-
14
-ALTER TABLE `cache` ENGINE=InnoDB;
15
-ALTER TABLE `session` ENGINE=InnoDB;
16
-ALTER TABLE `messages` ENGINE=InnoDB;
17
-ALTER TABLE `users` ENGINE=InnoDB;
18
-ALTER TABLE `contacts` ENGINE=InnoDB;
19
-ALTER TABLE `identities` ENGINE=InnoDB;

+ 0
- 11
roundcube/roundcubemail-1.3.6/SQL/mysql/2009090400.sql View File

1
-
2
-TRUNCATE `messages`;
3
-
4
-ALTER TABLE `messages`
5
-    ADD INDEX `index_index` (`user_id`, `cache_key`, `idx`);
6
-
7
-ALTER TABLE `session` 
8
-    CHANGE `vars` `vars` MEDIUMTEXT NOT NULL;
9
-
10
-ALTER TABLE `contacts`
11
-    ADD INDEX `user_contacts_index` (`user_id`,`email`);

+ 0
- 49
roundcube/roundcubemail-1.3.6/SQL/mysql/2009103100.sql View File

1
-
2
-/* MySQL bug workaround: http://bugs.mysql.com/bug.php?id=46293 */
3
-/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
4
-
5
-ALTER TABLE `messages` DROP FOREIGN KEY `user_id_fk_messages`;
6
-ALTER TABLE `cache` DROP FOREIGN KEY `user_id_fk_cache`;
7
-ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`;
8
-ALTER TABLE `identities` DROP FOREIGN KEY `user_id_fk_identities`;
9
-
10
-ALTER TABLE `messages` ADD CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
11
- REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
12
-ALTER TABLE `cache` ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
13
- REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
14
-ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
15
- REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
16
-ALTER TABLE `identities` ADD CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
17
- REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
18
-
19
-ALTER TABLE `contacts` ALTER `name` SET DEFAULT '';
20
-ALTER TABLE `contacts` ALTER `firstname` SET DEFAULT '';
21
-ALTER TABLE `contacts` ALTER `surname` SET DEFAULT '';
22
-
23
-ALTER TABLE `identities` ADD INDEX `user_identities_index` (`user_id`, `del`);
24
-ALTER TABLE `identities` ADD `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00' AFTER `user_id`;
25
-
26
-CREATE TABLE `contactgroups` (
27
-  `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
28
-  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
29
-  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
30
-  `del` tinyint(1) NOT NULL DEFAULT '0',
31
-  `name` varchar(128) NOT NULL DEFAULT '',
32
-  PRIMARY KEY(`contactgroup_id`),
33
-  CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`)
34
-    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
35
-  INDEX `contactgroups_user_index` (`user_id`,`del`)
36
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
37
-
38
-CREATE TABLE `contactgroupmembers` (
39
-  `contactgroup_id` int(10) UNSIGNED NOT NULL,
40
-  `contact_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
41
-  `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
42
-  PRIMARY KEY (`contactgroup_id`, `contact_id`),
43
-  CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`)
44
-    REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE,
45
-  CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`)
46
-    REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE
47
-) /*!40000 ENGINE=INNODB */;
48
-
49
-/*!40014 SET FOREIGN_KEY_CHECKS=1 */;

+ 0
- 3
roundcube/roundcubemail-1.3.6/SQL/mysql/2010042300.sql View File

1
-
2
-ALTER TABLE `users` CHANGE `last_login` `last_login` datetime DEFAULT NULL;
3
-UPDATE `users` SET `last_login` = NULL WHERE `last_login` = '1000-01-01 00:00:00';

+ 0
- 7
roundcube/roundcubemail-1.3.6/SQL/mysql/2010100600.sql View File

1
-
2
-ALTER TABLE `users` DROP INDEX `username_index`;
3
-ALTER TABLE `users` ADD UNIQUE `username` (`username`, `mail_host`);
4
-
5
-ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL;
6
-
7
-TRUNCATE TABLE `messages`;

+ 0
- 7
roundcube/roundcubemail-1.3.6/SQL/mysql/2011011200.sql View File

1
-
2
-ALTER TABLE `contacts` ADD `words` TEXT NULL AFTER `vcard`;
3
-ALTER TABLE `contacts` CHANGE `vcard` `vcard` LONGTEXT /*!40101 CHARACTER SET utf8 */ NULL DEFAULT NULL;
4
-ALTER TABLE `contactgroupmembers` ADD INDEX `contactgroupmembers_contact_index` (`contact_id`);
5
-
6
-TRUNCATE TABLE `messages`;
7
-TRUNCATE TABLE `cache`;

+ 0
- 66
roundcube/roundcubemail-1.3.6/SQL/mysql/2011092800.sql View File

1
-
2
-/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
3
-
4
-ALTER TABLE `users` CHANGE `alias` `alias` varchar(128) BINARY NOT NULL;
5
-ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL;
6
-
7
-CREATE TABLE `dictionary` (
8
-  `user_id` int(10) UNSIGNED DEFAULT NULL,
9
-  `language` varchar(5) NOT NULL,
10
-  `data` longtext NOT NULL,
11
-  CONSTRAINT `user_id_fk_dictionary` FOREIGN KEY (`user_id`)
12
-    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
13
-  UNIQUE `uniqueness` (`user_id`, `language`)
14
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
15
-
16
-CREATE TABLE `searches` (
17
-  `search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
18
-  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
19
-  `type` int(3) NOT NULL DEFAULT '0',
20
-  `name` varchar(128) NOT NULL,
21
-  `data` text,
22
-  PRIMARY KEY(`search_id`),
23
-  CONSTRAINT `user_id_fk_searches` FOREIGN KEY (`user_id`)
24
-    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
25
-  UNIQUE `uniqueness` (`user_id`, `type`, `name`)
26
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
27
-
28
-DROP TABLE `messages`;
29
-
30
-CREATE TABLE `cache_index` (
31
- `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
32
- `mailbox` varchar(255) BINARY NOT NULL,
33
- `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
34
- `valid` tinyint(1) NOT NULL DEFAULT '0',
35
- `data` longtext NOT NULL,
36
- CONSTRAINT `user_id_fk_cache_index` FOREIGN KEY (`user_id`)
37
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
38
- INDEX `changed_index` (`changed`),
39
- PRIMARY KEY (`user_id`, `mailbox`)
40
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
41
-
42
-CREATE TABLE `cache_thread` (
43
- `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
44
- `mailbox` varchar(255) BINARY NOT NULL,
45
- `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
46
- `data` longtext NOT NULL,
47
- CONSTRAINT `user_id_fk_cache_thread` FOREIGN KEY (`user_id`)
48
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
49
- INDEX `changed_index` (`changed`),
50
- PRIMARY KEY (`user_id`, `mailbox`)
51
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
52
-
53
-CREATE TABLE `cache_messages` (
54
- `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
55
- `mailbox` varchar(255) BINARY NOT NULL,
56
- `uid` int(11) UNSIGNED NOT NULL DEFAULT '0',
57
- `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
58
- `data` longtext NOT NULL,
59
- `flags` int(11) NOT NULL DEFAULT '0',
60
- CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`)
61
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
62
- INDEX `changed_index` (`changed`),
63
- PRIMARY KEY (`user_id`, `mailbox`, `uid`)
64
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
65
-
66
-/*!40014 SET FOREIGN_KEY_CHECKS=1 */;

+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/mysql/2011111600.sql View File

1
-
2
-ALTER TABLE `session` CHANGE `sess_id` `sess_id` varchar(128) NOT NULL;

+ 0
- 21
roundcube/roundcubemail-1.3.6/SQL/mysql/2011121400.sql View File

1
-
2
-/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
3
-
4
-ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`;
5
-ALTER TABLE `contacts` DROP INDEX `user_contacts_index`;
6
-ALTER TABLE `contacts` MODIFY `email` text NOT NULL;
7
-ALTER TABLE `contacts` ADD INDEX `user_contacts_index` (`user_id`,`del`);
8
-ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
9
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
10
-
11
-ALTER TABLE `cache` ALTER `user_id` DROP DEFAULT;
12
-ALTER TABLE `cache_index` ALTER `user_id` DROP DEFAULT;
13
-ALTER TABLE `cache_thread` ALTER `user_id` DROP DEFAULT;
14
-ALTER TABLE `cache_messages` ALTER `user_id` DROP DEFAULT;
15
-ALTER TABLE `contacts` ALTER `user_id` DROP DEFAULT;
16
-ALTER TABLE `contactgroups` ALTER `user_id` DROP DEFAULT;
17
-ALTER TABLE `contactgroupmembers` ALTER `contact_id` DROP DEFAULT;
18
-ALTER TABLE `identities` ALTER `user_id` DROP DEFAULT;
19
-ALTER TABLE `searches` ALTER `user_id` DROP DEFAULT;
20
-
21
-/*!40014 SET FOREIGN_KEY_CHECKS=1 */;

+ 0
- 4
roundcube/roundcubemail-1.3.6/SQL/mysql/2012080700.sql View File

1
-
2
-ALTER TABLE `cache` DROP COLUMN `cache_id`;
3
-ALTER TABLE `users` DROP COLUMN `alias`;
4
-ALTER TABLE `identities` ADD INDEX `email_identities_index` (`email`, `del`);

+ 0
- 6
roundcube/roundcubemail-1.3.6/SQL/mysql/2013011000.sql View File

1
-
2
-CREATE TABLE IF NOT EXISTS `system` (
3
- `name` varchar(64) NOT NULL,
4
- `value` mediumtext,
5
- PRIMARY KEY(`name`)
6
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;

+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/mysql/2013042700.sql View File


+ 0
- 7
roundcube/roundcubemail-1.3.6/SQL/mysql/2013052500.sql View File

1
-CREATE TABLE `cache_shared` (
2
- `cache_key` varchar(255) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL,
3
- `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
4
- `data` longtext NOT NULL,
5
- INDEX `created_index` (`created`),
6
- INDEX `cache_key_index` (`cache_key`)
7
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;

+ 0
- 23
roundcube/roundcubemail-1.3.6/SQL/mysql/2013061000.sql View File

1
-ALTER TABLE `cache` ADD `expires` datetime DEFAULT NULL;
2
-ALTER TABLE `cache_shared` ADD `expires` datetime DEFAULT NULL;
3
-ALTER TABLE `cache_index` ADD `expires` datetime DEFAULT NULL;
4
-ALTER TABLE `cache_thread` ADD `expires` datetime DEFAULT NULL;
5
-ALTER TABLE `cache_messages` ADD `expires` datetime DEFAULT NULL;
6
-
7
-UPDATE `cache` SET `expires` = `created` + interval 604800 second;
8
-UPDATE `cache_shared` SET `expires` = `created` + interval 604800 second;
9
-UPDATE `cache_index` SET `expires` = `changed` + interval 604800 second;
10
-UPDATE `cache_thread` SET `expires` = `changed` + interval 604800 second;
11
-UPDATE `cache_messages` SET `expires` = `changed` + interval 604800 second;
12
-
13
-ALTER TABLE `cache` DROP INDEX `created_index`;
14
-ALTER TABLE `cache_shared` DROP INDEX `created_index`;
15
-ALTER TABLE `cache_index` DROP `changed`;
16
-ALTER TABLE `cache_thread` DROP `changed`;
17
-ALTER TABLE `cache_messages` DROP `changed`;
18
-
19
-ALTER TABLE `cache` ADD INDEX `expires_index` (`expires`);
20
-ALTER TABLE `cache_shared` ADD INDEX `expires_index` (`expires`);
21
-ALTER TABLE `cache_index` ADD INDEX `expires_index` (`expires`);
22
-ALTER TABLE `cache_thread` ADD INDEX `expires_index` (`expires`);
23
-ALTER TABLE `cache_messages` ADD INDEX `expires_index` (`expires`);

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/mysql/2014042900.sql View File

1
-ALTER TABLE `users` CHANGE `preferences` `preferences` longtext;

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/mysql/2015030800.sql View File

1
-ALTER TABLE `identities` CHANGE `signature` `signature` longtext;

+ 0
- 3
roundcube/roundcubemail-1.3.6/SQL/mysql/2015111100.sql View File

1
-ALTER TABLE `users`
2
-  ADD `failed_login` datetime DEFAULT NULL,
3
-  ADD `failed_login_counter` int(10) UNSIGNED DEFAULT NULL;

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/mysql/2016081200.sql View File

1
-ALTER TABLE `session` DROP COLUMN `created`;

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/mysql/2016100900.sql View File

1
-ALTER TABLE `session` MODIFY `ip` varchar(40) NOT NULL;

+ 0
- 24
roundcube/roundcubemail-1.3.6/SQL/mysql/2016112200.sql View File

1
-ALTER TABLE `dictionary` ADD COLUMN `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; -- redundant, for compat. with Galera Cluster
2
-
3
-DROP TABLE `cache`;
4
-DROP TABLE `cache_shared`;
5
-
6
-CREATE TABLE `cache` (
7
- `user_id` int(10) UNSIGNED NOT NULL,
8
- `cache_key` varchar(128) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL,
9
- `expires` datetime DEFAULT NULL,
10
- `data` longtext NOT NULL,
11
- PRIMARY KEY (`user_id`, `cache_key`),
12
- CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
13
-   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
14
- INDEX `expires_index` (`expires`)
15
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
16
-
17
-
18
-CREATE TABLE `cache_shared` (
19
- `cache_key` varchar(255) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL,
20
- `expires` datetime DEFAULT NULL,
21
- `data` longtext NOT NULL,
22
- PRIMARY KEY (`cache_key`),
23
- INDEX `expires_index` (`expires`)
24
-) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;

+ 0
- 218
roundcube/roundcubemail-1.3.6/SQL/oracle.initial.sql View File

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

+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/oracle/2015030800.sql View File


+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/oracle/2015111100.sql View File

1
-ALTER TABLE "users" ADD "failed_login" timestamp with time zone DEFAULT NULL;
2
-ALTER TABLE "users" ADD "failed_login_counter" integer DEFAULT NULL;

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/oracle/2016081200.sql View File

1
-ALTER TABLE "session" DROP COLUMN "created";

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/oracle/2016100900.sql View File

1
-ALTER TABLE "session" MODIFY "ip" varchar(41) NOT NULL;

+ 0
- 23
roundcube/roundcubemail-1.3.6/SQL/oracle/2016112200.sql View File

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,
7
-    "cache_key" varchar(128) NOT NULL,
8
-    "expires" timestamp with time zone DEFAULT NULL,
9
-    "data" long NOT NULL,
10
-    PRIMARY KEY ("user_id", "cache_key")
11
-);
12
-
13
-CREATE INDEX "cache_expires_idx" ON "cache" ("expires");
14
-
15
-
16
-CREATE TABLE "cache_shared" (
17
-    "cache_key" varchar(255) NOT NULL,
18
-    "expires" timestamp with time zone DEFAULT NULL,
19
-    "data" long NOT NULL,
20
-    PRIMARY KEY ("cache_key")
21
-);
22
-
23
-CREATE INDEX "cache_shared_expires_idx" ON "cache_shared" ("expires");

+ 0
- 252
roundcube/roundcubemail-1.3.6/SQL/postgres.initial.sql View File

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

+ 0
- 16
roundcube/roundcubemail-1.3.6/SQL/postgres/2008030300.sql View File

1
-
2
-CREATE INDEX cache_user_id_idx ON cache (user_id, cache_key);
3
-CREATE INDEX contacts_user_id_idx ON contacts (user_id);
4
-CREATE INDEX identities_user_id_idx ON identities (user_id);
5
-
6
-CREATE INDEX users_username_id_idx ON users (username);
7
-CREATE INDEX users_alias_id_idx ON users (alias);
8
-
9
-ALTER TABLE messages DROP CONSTRAINT messages_user_id_fkey;
10
-ALTER TABLE messages ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
11
-ALTER TABLE identities DROP CONSTRAINT identities_user_id_fkey;
12
-ALTER TABLE identities ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
13
-ALTER TABLE contacts DROP CONSTRAINT contacts_user_id_fkey;
14
-ALTER TABLE contacts ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
15
-ALTER TABLE cache DROP CONSTRAINT cache_user_id_fkey;
16
-ALTER TABLE cache ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;

+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/postgres/2008060900.sql View File

1
-
2
-CREATE INDEX messages_created_idx ON messages (created);

+ 0
- 13
roundcube/roundcubemail-1.3.6/SQL/postgres/2008092100.sql View File

1
-
2
-ALTER TABLE cache DROP session_id;
3
-
4
-CREATE INDEX session_changed_idx ON session (changed);
5
-CREATE INDEX cache_created_idx ON "cache" (created);
6
-
7
-ALTER TABLE users ALTER "language" DROP NOT NULL;
8
-ALTER TABLE users ALTER "language" DROP DEFAULT;
9
-
10
-ALTER TABLE identities ALTER del TYPE smallint;
11
-ALTER TABLE identities ALTER standard TYPE smallint;
12
-ALTER TABLE contacts ALTER del TYPE smallint;
13
-ALTER TABLE messages ALTER del TYPE smallint;

+ 0
- 5
roundcube/roundcubemail-1.3.6/SQL/postgres/2009090400.sql View File

1
-
2
-TRUNCATE messages;
3
-CREATE INDEX messages_index_idx ON messages (user_id, cache_key, idx);
4
-DROP INDEX contacts_user_id_idx;
5
-CREATE INDEX contacts_user_id_idx ON contacts (user_id, email);

+ 0
- 31
roundcube/roundcubemail-1.3.6/SQL/postgres/2009103100.sql View File

1
-
2
-DROP INDEX identities_user_id_idx;
3
-CREATE INDEX identities_user_id_idx ON identities (user_id, del);
4
-
5
-ALTER TABLE identities ADD changed timestamp with time zone DEFAULT now() NOT NULL;
6
-
7
-CREATE SEQUENCE contactgroups_ids
8
-    INCREMENT BY 1
9
-    NO MAXVALUE
10
-    NO MINVALUE
11
-    CACHE 1;
12
-
13
-CREATE TABLE contactgroups (
14
-    contactgroup_id integer DEFAULT nextval('contactgroups_ids'::text) PRIMARY KEY,
15
-    user_id integer NOT NULL
16
-        REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
17
-    changed timestamp with time zone DEFAULT now() NOT NULL,
18
-    del smallint NOT NULL DEFAULT 0,
19
-    name varchar(128) NOT NULL DEFAULT ''
20
-);
21
-
22
-CREATE INDEX contactgroups_user_id_idx ON contactgroups (user_id, del);
23
-
24
-CREATE TABLE contactgroupmembers (
25
-    contactgroup_id integer NOT NULL
26
-        REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE,
27
-    contact_id integer NOT NULL
28
-        REFERENCES contacts(contact_id) ON DELETE CASCADE ON UPDATE CASCADE,
29
-    created timestamp with time zone DEFAULT now() NOT NULL,
30
-    PRIMARY KEY (contactgroup_id, contact_id)
31
-);

+ 0
- 3
roundcube/roundcubemail-1.3.6/SQL/postgres/2010042300.sql View File

1
-
2
-ALTER TABLE users ALTER last_login DROP NOT NULL;
3
-ALTER TABLE users ALTER last_login SET DEFAULT NULL;

+ 0
- 6
roundcube/roundcubemail-1.3.6/SQL/postgres/2010100600.sql View File

1
-
2
-DROP INDEX users_username_id_idx;
3
-ALTER TABLE users ADD CONSTRAINT users_username_key UNIQUE (username, mail_host);
4
-ALTER TABLE contacts ALTER email TYPE varchar(255);
5
-
6
-TRUNCATE messages;

+ 0
- 6
roundcube/roundcubemail-1.3.6/SQL/postgres/2011011200.sql View File

1
-
2
-ALTER TABLE contacts ADD words TEXT NULL;
3
-CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id);
4
-
5
-TRUNCATE messages;
6
-TRUNCATE cache;

+ 0
- 63
roundcube/roundcubemail-1.3.6/SQL/postgres/2011092800.sql View File

1
-
2
-CREATE TABLE dictionary (
3
-    user_id integer DEFAULT NULL
4
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
5
-   "language" varchar(5) NOT NULL,
6
-    data text NOT NULL,
7
-    CONSTRAINT dictionary_user_id_language_key UNIQUE (user_id, "language")
8
-);
9
-
10
-CREATE SEQUENCE search_ids
11
-    INCREMENT BY 1
12
-    NO MAXVALUE
13
-    NO MINVALUE
14
-    CACHE 1;
15
-
16
-CREATE TABLE searches (
17
-    search_id integer DEFAULT nextval('search_ids'::text) PRIMARY KEY,
18
-    user_id integer NOT NULL
19
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
20
-    "type" smallint DEFAULT 0 NOT NULL,
21
-    name varchar(128) NOT NULL,
22
-    data text NOT NULL,
23
-    CONSTRAINT searches_user_id_key UNIQUE (user_id, "type", name)
24
-);
25
-
26
-DROP SEQUENCE message_ids;
27
-DROP TABLE messages;
28
-
29
-CREATE TABLE cache_index (
30
-    user_id integer NOT NULL
31
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
32
-    mailbox varchar(255) NOT NULL,
33
-    changed timestamp with time zone DEFAULT now() NOT NULL,
34
-    valid smallint NOT NULL DEFAULT 0,
35
-    data text NOT NULL,
36
-    PRIMARY KEY (user_id, mailbox)
37
-);
38
-
39
-CREATE INDEX cache_index_changed_idx ON cache_index (changed);
40
-
41
-CREATE TABLE cache_thread (
42
-    user_id integer NOT NULL
43
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
44
-    mailbox varchar(255) NOT NULL,
45
-    changed timestamp with time zone DEFAULT now() NOT NULL,
46
-    data text NOT NULL,
47
-    PRIMARY KEY (user_id, mailbox)
48
-);
49
-
50
-CREATE INDEX cache_thread_changed_idx ON cache_thread (changed);
51
-
52
-CREATE TABLE cache_messages (
53
-    user_id integer NOT NULL
54
-        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
55
-    mailbox varchar(255) NOT NULL,
56
-    uid integer NOT NULL,
57
-    changed timestamp with time zone DEFAULT now() NOT NULL,
58
-    data text NOT NULL,
59
-    flags integer NOT NULL DEFAULT 0,
60
-    PRIMARY KEY (user_id, mailbox, uid)
61
-);
62
-
63
-CREATE INDEX cache_messages_changed_idx ON cache_messages (changed);

+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/postgres/2011111600.sql View File

1
-
2
-ALTER TABLE "session" ALTER sess_id TYPE varchar(128);

+ 0
- 4
roundcube/roundcubemail-1.3.6/SQL/postgres/2011121400.sql View File

1
-
2
-DROP INDEX contacts_user_id_idx;
3
-CREATE INDEX contacts_user_id_idx ON contacts USING btree (user_id, del);
4
-ALTER TABLE contacts ALTER email TYPE text;

+ 0
- 6
roundcube/roundcubemail-1.3.6/SQL/postgres/2012080700.sql View File

1
-
2
-ALTER TABLE cache DROP COLUMN cache_id;
3
-DROP SEQUENCE cache_ids;
4
-
5
-ALTER TABLE users DROP COLUMN alias;
6
-CREATE INDEX identities_email_idx ON identities (email, del);

+ 0
- 4
roundcube/roundcubemail-1.3.6/SQL/postgres/2013011000.sql View File

1
-CREATE TABLE "system" (
2
-    name varchar(64) NOT NULL PRIMARY KEY,
3
-    value text
4
-);

+ 0
- 14
roundcube/roundcubemail-1.3.6/SQL/postgres/2013042700.sql View File

1
-ALTER SEQUENCE user_ids RENAME TO users_seq;
2
-ALTER TABLE users ALTER COLUMN user_id SET DEFAULT nextval('users_seq'::text);
3
-
4
-ALTER SEQUENCE identity_ids RENAME TO identities_seq;
5
-ALTER TABLE identities ALTER COLUMN identity_id SET DEFAULT nextval('identities_seq'::text);
6
-
7
-ALTER SEQUENCE contact_ids RENAME TO contacts_seq;
8
-ALTER TABLE contacts ALTER COLUMN contact_id SET DEFAULT nextval('contacts_seq'::text);
9
-
10
-ALTER SEQUENCE contactgroups_ids RENAME TO contactgroups_seq;
11
-ALTER TABLE contactgroups ALTER COLUMN contactgroup_id SET DEFAULT nextval('contactgroups_seq'::text);
12
-
13
-ALTER SEQUENCE search_ids RENAME TO searches_seq;
14
-ALTER TABLE searches ALTER COLUMN search_id SET DEFAULT nextval('searches_seq'::text);

+ 0
- 8
roundcube/roundcubemail-1.3.6/SQL/postgres/2013052500.sql View File

1
-CREATE TABLE "cache_shared" (
2
-    cache_key varchar(255) NOT NULL,
3
-    created timestamp with time zone DEFAULT now() NOT NULL,
4
-    data text NOT NULL
5
-);
6
-
7
-CREATE INDEX cache_shared_cache_key_idx ON "cache_shared" (cache_key);
8
-CREATE INDEX cache_shared_created_idx ON "cache_shared" (created);

+ 0
- 23
roundcube/roundcubemail-1.3.6/SQL/postgres/2013061000.sql View File

1
-ALTER TABLE "cache" ADD expires timestamp with time zone DEFAULT NULL;
2
-ALTER TABLE "cache_shared" ADD expires timestamp with time zone DEFAULT NULL;
3
-ALTER TABLE "cache_index" ADD expires timestamp with time zone DEFAULT NULL;
4
-ALTER TABLE "cache_thread" ADD expires timestamp with time zone DEFAULT NULL;
5
-ALTER TABLE "cache_messages" ADD expires timestamp with time zone DEFAULT NULL;
6
-
7
-UPDATE "cache" SET expires = created + interval '604800 seconds';
8
-UPDATE "cache_shared" SET expires = created + interval '604800 seconds';
9
-UPDATE "cache_index" SET expires = changed + interval '604800 seconds';
10
-UPDATE "cache_thread" SET expires = changed + interval '604800 seconds';
11
-UPDATE "cache_messages" SET expires = changed + interval '604800 seconds';
12
-
13
-DROP INDEX cache_created_idx;
14
-DROP INDEX cache_shared_created_idx;
15
-ALTER TABLE "cache_index" DROP "changed";
16
-ALTER TABLE "cache_thread" DROP "changed";
17
-ALTER TABLE "cache_messages" DROP "changed";
18
-
19
-CREATE INDEX cache_expires_idx ON "cache" (expires);
20
-CREATE INDEX cache_shared_expires_idx ON "cache_shared" (expires);
21
-CREATE INDEX cache_index_expires_idx ON "cache_index" (expires);
22
-CREATE INDEX cache_thread_expires_idx ON "cache_thread" (expires);
23
-CREATE INDEX cache_messages_expires_idx ON "cache_messages" (expires);

+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/postgres/2014042900.sql View File


+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/postgres/2015030800.sql View File


+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/postgres/2015111100.sql View File

1
-ALTER TABLE "users" ADD failed_login timestamp with time zone DEFAULT NULL;
2
-ALTER TABLE "users" ADD failed_login_counter integer DEFAULT NULL;

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/postgres/2016081200.sql View File

1
-ALTER TABLE "session" DROP COLUMN created;

+ 0
- 1
roundcube/roundcubemail-1.3.6/SQL/postgres/2016100900.sql View File

1
-ALTER TABLE session ALTER COLUMN ip TYPE character varying(41);

+ 0
- 21
roundcube/roundcubemail-1.3.6/SQL/postgres/2016112200.sql View File

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);

+ 0
- 178
roundcube/roundcubemail-1.3.6/SQL/sqlite.initial.sql View File

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
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
77
-  ip varchar(40) NOT NULL default '',
78
-  vars text NOT NULL
79
-);
80
-
81
-CREATE INDEX ix_session_changed ON session (changed);
82
-
83
---
84
---
85
-
86
-CREATE TABLE dictionary (
87
-    user_id integer DEFAULT NULL,
88
-   "language" varchar(5) NOT NULL,
89
-    data text NOT NULL
90
-);
91
-
92
-CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, "language");
93
-
94
---
95
---
96
-
97
-CREATE TABLE searches (
98
-  search_id integer NOT NULL PRIMARY KEY,
99
-  user_id integer NOT NULL DEFAULT '0',
100
-  "type" smallint NOT NULL DEFAULT '0',
101
-  name varchar(128) NOT NULL,
102
-  data text NOT NULL
103
-);
104
-
105
-CREATE UNIQUE INDEX ix_searches_user_type_name ON searches (user_id, type, name);
106
-
107
-
108
-CREATE TABLE cache (
109
-  user_id integer NOT NULL default 0,
110
-  cache_key varchar(128) NOT NULL default '',
111
-  expires datetime DEFAULT NULL,
112
-  data text NOT NULL,
113
-  PRIMARY KEY (user_id, cache_key)
114
-);
115
-
116
-CREATE INDEX ix_cache_expires ON cache(expires);
117
-
118
-
119
-CREATE TABLE cache_shared (
120
-  cache_key varchar(255) NOT NULL,
121
-  expires datetime DEFAULT NULL,
122
-  data text NOT NULL,
123
-  PRIMARY KEY (cache_key)
124
-);
125
-
126
-CREATE INDEX ix_cache_shared_expires ON cache_shared(expires);
127
-
128
---
129
---
130
-
131
-CREATE TABLE cache_index (
132
-    user_id integer NOT NULL,
133
-    mailbox varchar(255) NOT NULL,
134
-    expires datetime DEFAULT NULL,
135
-    valid smallint NOT NULL DEFAULT '0',
136
-    data text NOT NULL,
137
-    PRIMARY KEY (user_id, mailbox)
138
-);
139
-
140
-CREATE INDEX ix_cache_index_expires ON cache_index (expires);
141
-
142
---
143
---
144
-
145
-CREATE TABLE cache_thread (
146
-    user_id integer NOT NULL,
147
-    mailbox varchar(255) NOT NULL,
148
-    expires datetime DEFAULT NULL,
149
-    data text NOT NULL,
150
-    PRIMARY KEY (user_id, mailbox)
151
-);
152
-
153
-CREATE INDEX ix_cache_thread_expires ON cache_thread (expires);
154
-
155
---
156
---
157
-
158
-CREATE TABLE cache_messages (
159
-    user_id integer NOT NULL,
160
-    mailbox varchar(255) NOT NULL,
161
-    uid integer NOT NULL,
162
-    expires datetime DEFAULT NULL,
163
-    data text NOT NULL,
164
-    flags integer NOT NULL DEFAULT '0',
165
-    PRIMARY KEY (user_id, mailbox, uid)
166
-);
167
-
168
-CREATE INDEX ix_cache_messages_expires ON cache_messages (expires);
169
-
170
---
171
---
172
-
173
-CREATE TABLE system (
174
-  name varchar(64) NOT NULL PRIMARY KEY,
175
-  value text NOT NULL
176
-);
177
-
178
-INSERT INTO system (name, value) VALUES ('roundcube-version', '2016112200');

+ 0
- 24
roundcube/roundcubemail-1.3.6/SQL/sqlite/2008030300.sql View File

1
-
2
-DROP TABLE messages;
3
-
4
-CREATE TABLE messages (
5
-  message_id integer NOT NULL PRIMARY KEY,
6
-  user_id integer NOT NULL default '0',
7
-  del tinyint NOT NULL default '0',
8
-  cache_key varchar(128) NOT NULL default '',
9
-  created datetime NOT NULL default '0000-00-00 00:00:00',
10
-  idx integer NOT NULL default '0',
11
-  uid integer NOT NULL default '0',
12
-  subject varchar(255) NOT NULL default '',
13
-  "from" varchar(255) NOT NULL default '',
14
-  "to" varchar(255) NOT NULL default '',
15
-  "cc" varchar(255) NOT NULL default '',
16
-  "date" datetime NOT NULL default '0000-00-00 00:00:00',
17
-  size integer NOT NULL default '0',
18
-  headers text NOT NULL,
19
-  structure text
20
-);
21
-
22
-CREATE INDEX ix_messages_user_cache_uid ON messages(user_id,cache_key,uid);
23
-CREATE INDEX ix_users_username ON users(username);
24
-CREATE INDEX ix_users_alias ON users(alias);

+ 0
- 2
roundcube/roundcubemail-1.3.6/SQL/sqlite/2008060900.sql View File

1
-
2
-CREATE INDEX ix_messages_created ON messages (created);

+ 0
- 3
roundcube/roundcubemail-1.3.6/SQL/sqlite/2008092100.sql View File

1
-
2
-CREATE INDEX ix_session_changed ON session (changed);
3
-CREATE INDEX ix_cache_created ON cache (created);

+ 0
- 7
roundcube/roundcubemail-1.3.6/SQL/sqlite/2009090400.sql View File

1
-
2
-DELETE FROM messages;
3
-DROP INDEX ix_messages_user_cache_uid;
4
-CREATE UNIQUE INDEX ix_messages_user_cache_uid ON messages (user_id,cache_key,uid);
5
-CREATE INDEX ix_messages_index ON messages (user_id,cache_key,idx);
6
-DROP INDEX ix_contacts_user_id;
7
-CREATE INDEX ix_contacts_user_id ON contacts(user_id, email);

+ 0
- 59
roundcube/roundcubemail-1.3.6/SQL/sqlite/2009103100.sql View File

1
-
2
-
3
-CREATE TABLE temp_identities (
4
-  identity_id integer NOT NULL PRIMARY KEY,
5
-  user_id integer NOT NULL default '0',
6
-  standard tinyint NOT NULL default '0',
7
-  name varchar(128) NOT NULL default '',
8
-  organization varchar(128) default '',
9
-  email varchar(128) NOT NULL default '',
10
-  "reply-to" varchar(128) NOT NULL default '',
11
-  bcc varchar(128) NOT NULL default '',
12
-  signature text NOT NULL default '',
13
-  html_signature tinyint NOT NULL default '0'
14
-);
15
-INSERT INTO temp_identities (identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature)
16
-  SELECT identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature
17
-  FROM identities WHERE del=0;
18
-
19
-DROP INDEX ix_identities_user_id;
20
-DROP TABLE identities;
21
-
22
-CREATE TABLE identities (
23
-  identity_id integer NOT NULL PRIMARY KEY,
24
-  user_id integer NOT NULL default '0',
25
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
26
-  del tinyint NOT NULL default '0',
27
-  standard tinyint NOT NULL default '0',
28
-  name varchar(128) NOT NULL default '',
29
-  organization varchar(128) default '',
30
-  email varchar(128) NOT NULL default '',
31
-  "reply-to" varchar(128) NOT NULL default '',
32
-  bcc varchar(128) NOT NULL default '',
33
-  signature text NOT NULL default '',
34
-  html_signature tinyint NOT NULL default '0'
35
-);
36
-CREATE INDEX ix_identities_user_id ON identities(user_id, del);
37
-
38
-INSERT INTO identities (identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature)
39
-  SELECT identity_id, user_id, standard, name, organization, email, "reply-to", bcc, signature, html_signature
40
-  FROM temp_identities;
41
-
42
-DROP TABLE temp_identities;
43
-
44
-CREATE TABLE contactgroups (
45
-  contactgroup_id integer NOT NULL PRIMARY KEY,
46
-  user_id integer NOT NULL default '0',
47
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
48
-  del tinyint NOT NULL default '0',
49
-  name varchar(128) NOT NULL default ''
50
-);
51
-
52
-CREATE INDEX ix_contactgroups_user_id ON contactgroups(user_id, del);
53
-
54
-CREATE TABLE contactgroupmembers (
55
-  contactgroup_id integer NOT NULL,
56
-  contact_id integer NOT NULL default '0',
57
-  created datetime NOT NULL default '0000-00-00 00:00:00',
58
-  PRIMARY KEY (contactgroup_id, contact_id)
59
-);

+ 0
- 34
roundcube/roundcubemail-1.3.6/SQL/sqlite/2010042300.sql View File

1
-
2
-CREATE TABLE tmp_users (
3
-  user_id integer NOT NULL PRIMARY KEY,
4
-  username varchar(128) NOT NULL default '',
5
-  mail_host varchar(128) NOT NULL default '',
6
-  alias varchar(128) NOT NULL default '',
7
-  created datetime NOT NULL default '0000-00-00 00:00:00',
8
-  last_login datetime NOT NULL default '0000-00-00 00:00:00',
9
-  language varchar(5),
10
-  preferences text NOT NULL default ''
11
-);
12
-
13
-INSERT INTO tmp_users (user_id, username, mail_host, alias, created, last_login, language, preferences)
14
-    SELECT user_id, username, mail_host, alias, created, last_login, language, preferences FROM users;
15
-
16
-DROP TABLE users;
17
-
18
-CREATE TABLE users (
19
-  user_id integer NOT NULL PRIMARY KEY,
20
-  username varchar(128) NOT NULL default '',
21
-  mail_host varchar(128) NOT NULL default '',
22
-  alias varchar(128) NOT NULL default '',
23
-  created datetime NOT NULL default '0000-00-00 00:00:00',
24
-  last_login datetime DEFAULT NULL,
25
-  language varchar(5),
26
-  preferences text NOT NULL default ''
27
-);
28
-
29
-INSERT INTO users (user_id, username, mail_host, alias, created, last_login, language, preferences)
30
-    SELECT user_id, username, mail_host, alias, created, last_login, language, preferences FROM tmp_users;
31
-
32
-CREATE INDEX ix_users_username ON users(username);
33
-CREATE INDEX ix_users_alias ON users(alias);
34
-DROP TABLE tmp_users;

+ 0
- 39
roundcube/roundcubemail-1.3.6/SQL/sqlite/2010100600.sql View File

1
-
2
-DROP INDEX ix_users_username;
3
-CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host);
4
-
5
-CREATE TABLE contacts_tmp (
6
-    contact_id integer NOT NULL PRIMARY KEY,
7
-    user_id integer NOT NULL default '0',
8
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
9
-    del tinyint NOT NULL default '0',
10
-    name varchar(128) NOT NULL default '',
11
-    email varchar(255) NOT NULL default '',
12
-    firstname varchar(128) NOT NULL default '',
13
-    surname varchar(128) NOT NULL default '',
14
-    vcard text NOT NULL default ''
15
-);
16
-
17
-INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard)
18
-    SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts;
19
-
20
-DROP TABLE contacts;
21
-CREATE TABLE contacts (
22
-    contact_id integer NOT NULL PRIMARY KEY,
23
-    user_id integer NOT NULL default '0',
24
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
25
-    del tinyint NOT NULL default '0',
26
-    name varchar(128) NOT NULL default '',
27
-    email varchar(255) NOT NULL default '',
28
-    firstname varchar(128) NOT NULL default '',
29
-    surname varchar(128) NOT NULL default '',
30
-    vcard text NOT NULL default ''
31
-);
32
-
33
-INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard)
34
-    SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts_tmp;
35
-
36
-CREATE INDEX ix_contacts_user_id ON contacts(user_id, email);
37
-DROP TABLE contacts_tmp;
38
-
39
-DELETE FROM messages;

+ 0
- 40
roundcube/roundcubemail-1.3.6/SQL/sqlite/2011011200.sql View File

1
-
2
-CREATE TABLE contacts_tmp (
3
-    contact_id integer NOT NULL PRIMARY KEY,
4
-    user_id integer NOT NULL default '0',
5
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
6
-    del tinyint NOT NULL default '0',
7
-    name varchar(128) NOT NULL default '',
8
-    email varchar(255) NOT NULL default '',
9
-    firstname varchar(128) NOT NULL default '',
10
-    surname varchar(128) NOT NULL default '',
11
-    vcard text NOT NULL default ''
12
-);
13
-
14
-INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard)
15
-    SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts;
16
-
17
-DROP TABLE contacts;
18
-CREATE TABLE contacts (
19
-    contact_id integer NOT NULL PRIMARY KEY,
20
-    user_id integer NOT NULL default '0',
21
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
22
-    del tinyint NOT NULL default '0',
23
-    name varchar(128) NOT NULL default '',
24
-    email varchar(255) NOT NULL default '',
25
-    firstname varchar(128) NOT NULL default '',
26
-    surname varchar(128) NOT NULL default '',
27
-    vcard text NOT NULL default '',
28
-    words text NOT NULL default ''
29
-);
30
-
31
-INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard)
32
-    SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard FROM contacts_tmp;
33
-
34
-CREATE INDEX ix_contacts_user_id ON contacts(user_id, email);
35
-DROP TABLE contacts_tmp;
36
-
37
-
38
-DELETE FROM messages;
39
-DELETE FROM cache;
40
-CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id);

+ 0
- 53
roundcube/roundcubemail-1.3.6/SQL/sqlite/2011092800.sql View File

1
-
2
-CREATE TABLE dictionary (
3
-    user_id integer DEFAULT NULL,
4
-   "language" varchar(5) NOT NULL,
5
-    data text NOT NULL
6
-);
7
-
8
-CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, "language");
9
-
10
-CREATE TABLE searches (
11
-  search_id integer NOT NULL PRIMARY KEY,
12
-  user_id integer NOT NULL DEFAULT '0',
13
-  "type" smallint NOT NULL DEFAULT '0',
14
-  name varchar(128) NOT NULL,
15
-  data text NOT NULL
16
-);
17
-
18
-CREATE UNIQUE INDEX ix_searches_user_type_name ON searches (user_id, type, name);
19
-
20
-DROP TABLE messages;
21
-
22
-CREATE TABLE cache_index (
23
-    user_id integer NOT NULL,
24
-    mailbox varchar(255) NOT NULL,
25
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
26
-    valid smallint NOT NULL DEFAULT '0',
27
-    data text NOT NULL,
28
-    PRIMARY KEY (user_id, mailbox)
29
-);
30
-
31
-CREATE INDEX ix_cache_index_changed ON cache_index (changed);
32
-
33
-CREATE TABLE cache_thread (
34
-    user_id integer NOT NULL,
35
-    mailbox varchar(255) NOT NULL,
36
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
37
-    data text NOT NULL,
38
-    PRIMARY KEY (user_id, mailbox)
39
-);
40
-
41
-CREATE INDEX ix_cache_thread_changed ON cache_thread (changed);
42
-
43
-CREATE TABLE cache_messages (
44
-    user_id integer NOT NULL,
45
-    mailbox varchar(255) NOT NULL,
46
-    uid integer NOT NULL,
47
-    changed datetime NOT NULL default '0000-00-00 00:00:00',
48
-    data text NOT NULL,
49
-    flags integer NOT NULL DEFAULT '0',
50
-    PRIMARY KEY (user_id, mailbox, uid)
51
-);
52
-
53
-CREATE INDEX ix_cache_messages_changed ON cache_messages (changed);

+ 0
- 10
roundcube/roundcubemail-1.3.6/SQL/sqlite/2011111600.sql View File

1
-
2
-DROP TABLE session;
3
-CREATE TABLE session (
4
-  sess_id varchar(128) NOT NULL PRIMARY KEY,
5
-  created datetime NOT NULL default '0000-00-00 00:00:00',
6
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
7
-  ip varchar(40) NOT NULL default '',
8
-  vars text NOT NULL
9
-);
10
-CREATE INDEX ix_session_changed ON session (changed);

+ 0
- 37
roundcube/roundcubemail-1.3.6/SQL/sqlite/2011121400.sql View File

1
-
2
-CREATE TABLE contacts_tmp (
3
-  contact_id integer NOT NULL PRIMARY KEY,
4
-  user_id integer NOT NULL,
5
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
6
-  del tinyint NOT NULL default '0',
7
-  name varchar(128) NOT NULL default '',
8
-  email text NOT NULL default '',
9
-  firstname varchar(128) NOT NULL default '',
10
-  surname varchar(128) NOT NULL default '',
11
-  vcard text NOT NULL default '',
12
-  words text NOT NULL default ''
13
-);
14
-
15
-INSERT INTO contacts_tmp (contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words)
16
-    SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words FROM contacts;
17
-
18
-DROP TABLE contacts;
19
-
20
-CREATE TABLE contacts (
21
-  contact_id integer NOT NULL PRIMARY KEY,
22
-  user_id integer NOT NULL,
23
-  changed datetime NOT NULL default '0000-00-00 00:00:00',
24
-  del tinyint NOT NULL default '0',
25
-  name varchar(128) NOT NULL default '',
26
-  email text NOT NULL default '',
27
-  firstname varchar(128) NOT NULL default '',
28
-  surname varchar(128) NOT NULL default '',
29
-  vcard text NOT NULL default '',
30
-  words text NOT NULL default ''
31
-);
32
-
33
-INSERT INTO contacts (contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words)
34
-    SELECT contact_id, user_id, changed, del, name, email, firstname, surname, vcard, words FROM contacts_tmp;
35
-
36
-CREATE INDEX ix_contacts_user_id ON contacts(user_id, del);
37
-DROP TABLE contacts_tmp;

+ 0
- 43
roundcube/roundcubemail-1.3.6/SQL/sqlite/2012080700.sql View File

1
-
2
-DROP TABLE cache;
3
-CREATE TABLE cache (
4
-  user_id integer NOT NULL default 0,
5
-  cache_key varchar(128) NOT NULL default '',
6
-  created datetime NOT NULL default '0000-00-00 00:00:00',
7
-  data text NOT NULL
8
-);
9
-
10
-CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key);
11
-CREATE INDEX ix_cache_created ON cache(created);
12
-
13
-CREATE TABLE tmp_users (
14
-  user_id integer NOT NULL PRIMARY KEY,
15
-  username varchar(128) NOT NULL default '',
16
-  mail_host varchar(128) NOT NULL default '',
17
-  created datetime NOT NULL default '0000-00-00 00:00:00',
18
-  last_login datetime DEFAULT NULL,
19
-  language varchar(5),
20
-  preferences text NOT NULL default ''
21
-);
22
-
23
-INSERT INTO tmp_users (user_id, username, mail_host, created, last_login, language, preferences)
24
-    SELECT user_id, username, mail_host, created, last_login, language, preferences FROM users;
25
-
26
-DROP TABLE users;
27
-
28
-CREATE TABLE users (
29
-  user_id integer NOT NULL PRIMARY KEY,
30
-  username varchar(128) NOT NULL default '',
31
-  mail_host varchar(128) NOT NULL default '',
32
-  created datetime NOT NULL default '0000-00-00 00:00:00',
33
-  last_login datetime DEFAULT NULL,
34
-  language varchar(5),
35
-  preferences text NOT NULL default ''
36
-);
37
-
38
-INSERT INTO users (user_id, username, mail_host, created, last_login, language, preferences)
39
-    SELECT user_id, username, mail_host, created, last_login, language, preferences FROM tmp_users;
40
-
41
-CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host);
42
-
43
-CREATE INDEX ix_identities_email ON identities(email, del);

+ 0
- 0
roundcube/roundcubemail-1.3.6/SQL/sqlite/2013011000.sql View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save