From 6febbef060b1c20dee5f66f657a4f4773cc44b6c Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 28 Apr 2020 19:15:42 +0000 Subject: [PATCH 1/6] Corrected view --- static/dbview.config.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/static/dbview.config.php b/static/dbview.config.php index 1d95261a2..d6ea944a4 100755 --- a/static/dbview.config.php +++ b/static/dbview.config.php @@ -128,9 +128,9 @@ return [ "profile-id" => ["contact", "profile-id"], "bdyear" => ["contact", "bdyear"], "bd" => ["contact", "bd"], - "notify_new_posts" => ["notify_new_posts"], - "fetch_further_information" => ["fetch_further_information"], - "ffi_keyword_blacklist" => ["ffi_keyword_blacklist"], + "notify_new_posts" => ["contact", "notify_new_posts"], + "fetch_further_information" => ["contact", "fetch_further_information"], + "ffi_keyword_blacklist" => ["contact", "ffi_keyword_blacklist"], "parent-uid" => ["user", "parent-uid"], "guid" => ["user", "guid"], "nickname" => ["user", "nickname"], /// @todo Replaces all uses of "nickname" with "nick" @@ -180,7 +180,6 @@ return [ "postal-code" => ["profile", "postal-code"], "country-name" => ["profile", "country-name"], "homepage" => ["profile", "homepage"], - "xmpp" => ["profile", "xmpp"], "dob" => ["profile", "dob"], ], "query" => "FROM `user` From 6f3b46217ed09c7abec4f0c193219468853ad35f Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 28 Apr 2020 19:36:10 +0000 Subject: [PATCH 2/6] Fix for "Undefined index: profile_url" --- src/Core/Search.php | 2 +- src/Module/Directory.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Core/Search.php b/src/Core/Search.php index 841572374..4742ac599 100644 --- a/src/Core/Search.php +++ b/src/Core/Search.php @@ -142,7 +142,7 @@ class Search $profiles = $results['profiles'] ?? []; foreach ($profiles as $profile) { - $profile_url = $profile['profile_url'] ?? ''; + $profile_url = $profile['url'] ?? ''; $contactDetails = Contact::getDetailsByURL($profile_url, local_user()); $result = new ContactResult( diff --git a/src/Module/Directory.php b/src/Module/Directory.php index 0709aa397..3d03f1071 100644 --- a/src/Module/Directory.php +++ b/src/Module/Directory.php @@ -120,9 +120,9 @@ class Directory extends BaseModule */ public static function formatEntry(array $contact, $photo_size = 'photo') { - $itemurl = (($contact['addr'] != "") ? $contact['addr'] : $contact['profile_url']); + $itemurl = (($contact['addr'] != "") ? $contact['addr'] : $contact['url']); - $profile_link = $contact['profile_url']; + $profile_link = $contact['url']; $about = (($contact['about']) ? $contact['about'] . '
' : ''); From 881c9bbd701ac6f2f72fa237e877db703cccbd34 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 28 Apr 2020 19:46:59 +0000 Subject: [PATCH 3/6] Increased db version number --- database.sql | 77 +++++++++++++++++++++++++++-------- static/dbstructure.config.php | 2 +- 2 files changed, 61 insertions(+), 18 deletions(-) diff --git a/database.sql b/database.sql index f5db49600..a68f3d4e5 100644 --- a/database.sql +++ b/database.sql @@ -1,6 +1,6 @@ -- ------------------------------------------ -- Friendica 2020.06-dev (Red Hot Poker) --- DB_UPDATE_VERSION 1340 +-- DB_UPDATE_VERSION 1341 -- ------------------------------------------ @@ -1425,7 +1425,7 @@ CREATE VIEW `owner-view` AS SELECT `contact`.`about` AS `about`, `contact`.`keywords` AS `keywords`, `contact`.`gender` AS `gender`, - `profile`.`xmpp` AS `xmpp`, + `contact`.`xmpp` AS `xmpp`, `contact`.`attag` AS `attag`, `contact`.`avatar` AS `avatar`, `contact`.`photo` AS `photo`, @@ -1457,11 +1457,9 @@ CREATE VIEW `owner-view` AS SELECT `contact`.`name-date` AS `name-date`, `contact`.`uri-date` AS `uri-date`, `contact`.`avatar-date` AS `avatar-date`, - `contact`.`id` AS `contact_id`, `contact`.`avatar-date` AS `picdate`, `contact`.`term-date` AS `term-date`, `contact`.`last-item` AS `last-item`, - `contact`.`last-item` AS `lastitem_date`, `contact`.`priority` AS `priority`, `contact`.`blocked` AS `blocked`, `contact`.`block_reason` AS `block_reason`, @@ -1484,29 +1482,47 @@ CREATE VIEW `owner-view` AS SELECT `contact`.`profile-id` AS `profile-id`, `contact`.`bdyear` AS `bdyear`, `contact`.`bd` AS `bd`, + `contact`.`notify_new_posts` AS `notify_new_posts`, + `contact`.`fetch_further_information` AS `fetch_further_information`, + `contact`.`ffi_keyword_blacklist` AS `ffi_keyword_blacklist`, + `user`.`parent-uid` AS `parent-uid`, `user`.`guid` AS `guid`, - `user`.`theme` AS `theme`, - `user`.`language` AS `language`, - `user`.`email` AS `email`, - `user`.`prvkey` AS `uprvkey`, - `user`.`pubkey` AS `upubkey`, - `user`.`timezone` AS `timezone`, `user`.`nickname` AS `nickname`, - `user`.`username` AS `username`, + `user`.`email` AS `email`, + `user`.`openid` AS `openid`, + `user`.`timezone` AS `timezone`, + `user`.`language` AS `language`, + `user`.`register_date` AS `register_date`, + `user`.`login_date` AS `login_date`, + `user`.`default-location` AS `default-location`, + `user`.`allow_location` AS `allow_location`, + `user`.`theme` AS `theme`, + `user`.`pubkey` AS `upubkey`, + `user`.`prvkey` AS `uprvkey`, `user`.`sprvkey` AS `sprvkey`, `user`.`spubkey` AS `spubkey`, + `user`.`verified` AS `verified`, + `user`.`blockwall` AS `blockwall`, + `user`.`hidewall` AS `hidewall`, + `user`.`blocktags` AS `blocktags`, + `user`.`unkmail` AS `unkmail`, + `user`.`cntunkmail` AS `cntunkmail`, + `user`.`notify-flags` AS `notify-flags`, `user`.`page-flags` AS `page-flags`, `user`.`account-type` AS `account-type`, `user`.`prvnets` AS `prvnets`, - `user`.`account_removed` AS `account_removed`, - `user`.`hidewall` AS `hidewall`, - `user`.`login_date` AS `login_date`, - `user`.`register_date` AS `register_date`, - `user`.`verified` AS `verified`, + `user`.`maxreq` AS `maxreq`, `user`.`expire` AS `expire`, - `user`.`expire_notification_sent` AS `expire_notification_sent`, + `user`.`account_removed` AS `account_removed`, `user`.`account_expired` AS `account_expired`, `user`.`account_expires_on` AS `account_expires_on`, + `user`.`expire_notification_sent` AS `expire_notification_sent`, + `user`.`def_gid` AS `def_gid`, + `user`.`allow_cid` AS `allow_cid`, + `user`.`allow_gid` AS `allow_gid`, + `user`.`deny_cid` AS `deny_cid`, + `user`.`deny_gid` AS `deny_gid`, + `user`.`openidserver` AS `openidserver`, `profile`.`publish` AS `publish`, `profile`.`net-publish` AS `net-publish`, `profile`.`hide-friends` AS `hide-friends`, @@ -1523,6 +1539,22 @@ CREATE VIEW `owner-view` AS SELECT INNER JOIN `contact` ON `contact`.`uid` = `user`.`uid` AND `contact`.`self` INNER JOIN `profile` ON `profile`.`uid` = `user`.`uid`; +-- +-- VIEW participation-view +-- +DROP VIEW IF EXISTS `participation-view`; +CREATE VIEW `participation-view` AS SELECT + `participation`.`iid` AS `iid`, + `contact`.`id` AS `id`, + `contact`.`url` AS `url`, + `contact`.`name` AS `name`, + `contact`.`protocol` AS `protocol`, + CASE `contact`.`batch` WHEN '' THEN `fcontact`.`batch` ELSE `contact`.`batch` END AS `batch`, + CASE `fcontact`.`network` WHEN '' THEN `contact`.`network` ELSE `fcontact`.`network` END AS `network` + FROM `participation` + INNER JOIN `contact` ON `contact`.`id` = `participation`.`cid` AND NOT `contact`.`archive` + INNER JOIN `fcontact` ON `fcontact`.`id` = `participation`.`fid`; + -- -- VIEW pending-view -- @@ -1545,4 +1577,15 @@ CREATE VIEW `pending-view` AS SELECT INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid` INNER JOIN `user` ON `register`.`uid` = `user`.`uid`; +-- +-- VIEW workerqueue-view +-- +DROP VIEW IF EXISTS `workerqueue-view`; +CREATE VIEW `workerqueue-view` AS SELECT + `process`.`pid` AS `pid`, + `workerqueue`.`priority` AS `priority` + FROM `process` + INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid` + WHERE NOT `workerqueue`.`done`; + diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 50055f62a..7ba2c38a3 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -51,7 +51,7 @@ use Friendica\Database\DBA; if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1340); + define('DB_UPDATE_VERSION', 1341); } return [ From 10ffd3a3746cb9a5eb7abcf6461d53b1b769b931 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 28 Apr 2020 20:32:39 +0000 Subject: [PATCH 4/6] Iissue 8560: Wrong value for parent in mail notification --- mod/message.php | 8 +------- src/Model/Mail.php | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/mod/message.php b/mod/message.php index c62a15eb2..c024cbe14 100644 --- a/mod/message.php +++ b/mod/message.php @@ -352,13 +352,7 @@ function message_content(App $a) $messages = DBA::toArray($messages_stmt); DBA::update('mail', ['seen' => 1], ['parent-uri' => $message['parent-uri'], 'uid' => local_user()]); - - if ($message['convid']) { - // Clear Diaspora private message notifications - DBA::update('notify', ['seen' => 1], ['type' => Type::MAIL, 'parent' => $message['convid'], 'uid' => local_user()]); - } - // Clear DFRN private message notifications - DBA::update('notify', ['seen' => 1], ['type' => Type::MAIL, 'parent' => $message['parent-uri'], 'uid' => local_user()]); + DBA::update('notify', ['seen' => 1], ['type' => Type::MAIL, 'parent' => $message['id'], 'uid' => local_user()]); } else { $messages = false; } diff --git a/src/Model/Mail.php b/src/Model/Mail.php index c0efe4f23..848b419be 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -92,7 +92,7 @@ class Mail 'to_email' => $user['email'], 'uid' => $user['uid'], 'item' => $msg, - 'parent' => 0, + 'parent' => $msg['id'], 'source_name' => $msg['from-name'], 'source_link' => $msg['from-url'], 'source_photo' => $msg['from-photo'], From 1f9f321d54c2b5e774008616a5534d7012ff261e Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 28 Apr 2020 21:13:37 +0000 Subject: [PATCH 5/6] Issue 8557: We have to fetch only a single row --- src/Model/Register.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Model/Register.php b/src/Model/Register.php index 5eb9a417c..81551d2b9 100644 --- a/src/Model/Register.php +++ b/src/Model/Register.php @@ -56,7 +56,7 @@ class Register */ public static function getPendingForUser(int $uid) { - return DBA::selectToArray('pending-view', [], ['uid' => $uid]); + return DBA::select('pending-view', [], ['uid' => $uid, 'self' => true]); } /** From 00ef29fb97c4bbf69a1e7272e0ec19711713a37b Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 29 Apr 2020 01:40:59 +0000 Subject: [PATCH 6/6] It has to be "selectFirst" --- src/Model/Register.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Model/Register.php b/src/Model/Register.php index 81551d2b9..f4d409bc3 100644 --- a/src/Model/Register.php +++ b/src/Model/Register.php @@ -56,7 +56,7 @@ class Register */ public static function getPendingForUser(int $uid) { - return DBA::select('pending-view', [], ['uid' => $uid, 'self' => true]); + return DBA::selectFirst('pending-view', [], ['uid' => $uid, 'self' => true]); } /**