aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-04-25 21:52:24 -0700
committerzotlabs <mike@macgirvin.com>2017-04-25 21:52:24 -0700
commit7d5ee81628a08dd560f7fdaa5b4d5a3f5ce3fb95 (patch)
tree428e349ecaa384a74f9aabf0408f68d3e7eed173
parentf36e384ed7bc76b970862905e87efe88872d5f5d (diff)
downloadvolse-hubzilla-7d5ee81628a08dd560f7fdaa5b4d5a3f5ce3fb95.tar.gz
volse-hubzilla-7d5ee81628a08dd560f7fdaa5b4d5a3f5ce3fb95.tar.bz2
volse-hubzilla-7d5ee81628a08dd560f7fdaa5b4d5a3f5ce3fb95.zip
database support for client side e2ee for private mail
-rw-r--r--Zotlabs/Module/Mail.php20
-rwxr-xr-xboot.php2
-rw-r--r--include/message.php6
-rw-r--r--install/schema_mysql.sql2
-rw-r--r--install/schema_postgres.sql2
-rw-r--r--install/update.php13
6 files changed, 31 insertions, 14 deletions
diff --git a/Zotlabs/Module/Mail.php b/Zotlabs/Module/Mail.php
index 2fb89fed5..52f1ddf32 100644
--- a/Zotlabs/Module/Mail.php
+++ b/Zotlabs/Module/Mail.php
@@ -113,18 +113,18 @@ class Mail extends \Zotlabs\Web\Controller {
if($preview) {
$mail = [
- 'mailbox' => 'outbox',
- 'id' => 0,
- 'mid' => 'M0',
- 'from_name' => $channel['xchan_name'],
- 'from_url' => $channel['xchan_url'],
- 'from_photo' => $channel['xchan_photo_s'],
- 'subject' => zidify_links(smilies(bbcode($subject))),
- 'body' => zidify_links(smilies(bbcode($body))),
+ 'mailbox' => 'outbox',
+ 'id' => 0,
+ 'mid' => 'M0',
+ 'from_name' => $channel['xchan_name'],
+ 'from_url' => $channel['xchan_url'],
+ 'from_photo' => $channel['xchan_photo_s'],
+ 'subject' => zidify_links(smilies(bbcode($subject))),
+ 'body' => zidify_links(smilies(bbcode($body))),
'attachments' => '',
- 'can_recall' => false,
+ 'can_recall' => false,
'is_recalled' => '',
- 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'], 'c')
+ 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'], 'c')
];
echo replace_macros(get_markup_template('mail_conv.tpl'), [ '$mail' => $mail ] );
diff --git a/boot.php b/boot.php
index 38de30d6e..a61d12f26 100755
--- a/boot.php
+++ b/boot.php
@@ -52,7 +52,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'STD_VERSION', '2.3.4' );
define ( 'ZOT_REVISION', '1.2' );
-define ( 'DB_UPDATE_VERSION', 1189 );
+define ( 'DB_UPDATE_VERSION', 1190 );
define ( 'PROJECT_BASE', __DIR__ );
diff --git a/include/message.php b/include/message.php
index da3514184..e7db98d7e 100644
--- a/include/message.php
+++ b/include/message.php
@@ -188,9 +188,10 @@ function send_message($uid = 0, $recipient = '', $body = '', $subject = '', $rep
$body = str_rot47(base64url_encode($body));
$sig = ''; // placeholder
+ $mimetype = ''; //placeholder
- $r = q("INSERT INTO mail ( account_id, conv_guid, mail_obscured, channel_id, from_xchan, to_xchan, title, body, sig, attach, mid, parent_mid, created, expires, mail_isreply )
- VALUES ( %d, '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d )",
+ $r = q("INSERT INTO mail ( account_id, conv_guid, mail_obscured, channel_id, from_xchan, to_xchan, mail_mimetype, title, body, sig, attach, mid, parent_mid, created, expires, mail_isreply )
+ VALUES ( %d, '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d )",
intval($channel['channel_account_id']),
dbesc($conv_guid),
intval(1),
@@ -198,6 +199,7 @@ function send_message($uid = 0, $recipient = '', $body = '', $subject = '', $rep
dbesc($channel['channel_hash']),
dbesc($recipient),
dbesc($subject),
+ dbesc(($mimetype)? $mimetype : 'text/bbcode'),
dbesc($body),
dbesc($sig),
dbesc($jattach),
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index e075006e1..b64c1ae61 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -763,6 +763,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
`to_xchan` char(255) NOT NULL DEFAULT '',
`account_id` int(10) unsigned NOT NULL DEFAULT '0',
`channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `mail_mimetype` char(64) NOT NULL DEFAULT 'text/bbcode',
`title` text NOT NULL,
`body` mediumtext NOT NULL,
`sig` text NOT NULL,
@@ -775,6 +776,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
`mail_seen` tinyint(4) NOT NULL DEFAULT '0',
`mail_recalled` tinyint(4) NOT NULL DEFAULT '0',
`mail_obscured` smallint(6) NOT NULL DEFAULT '0',
+ `mail_raw` tinyint(4) NOT NULL DEFAULT '0',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index be72a85e1..0328040f4 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -751,6 +751,7 @@ CREATE TABLE "mail" (
"to_xchan" text NOT NULL DEFAULT '',
"account_id" bigint NOT NULL DEFAULT '0',
"channel_id" bigint NOT NULL DEFAULT '0',
+ "mail_mimetype char(64) NOT NULL DEFAULT '0',
"title" text NOT NULL,
"body" text NOT NULL,
"sig" text NOT NULL,
@@ -763,6 +764,7 @@ CREATE TABLE "mail" (
"mail_seen" smallint NOT NULL DEFAULT '0',
"mail_recalled" smallint NOT NULL DEFAULT '0',
"mail_obscured" smallint NOT NULL DEFAULT '0',
+ "mail_raw" smallint NOT NULL DEFAULT '0',
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY ("id")
diff --git a/install/update.php b/install/update.php
index b37af9cef..84f1a799c 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1189 );
+define( 'UPDATE_VERSION' , 1190 );
/**
*
@@ -2521,3 +2521,14 @@ function update_r1188() {
}
+function update_r1189() {
+
+ $r1 = q("alter table mail add mail_mimetype char(64) not null default 'text/bbcode' ");
+ $r2 = q("alter table mail add mail_raw int(4) not null default '0' ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+