+ return Update::SUCCESS;
+}
+
+function update_1375()
+{
+ if (!DBA::e("UPDATE `item` SET `thr-parent` = `parent-uri`, `thr-parent-id` = `parent-uri-id` WHERE `thr-parent` = ''")) {
+ return Update::FAILED;
+ }
+
+ return Update::SUCCESS;
+}
+
+function pre_update_1376()
+{
+ // Insert a user with uid=0
+ DBStructure::checkInitialValues();
+
+ if (!DBA::e("DELETE FROM `item` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `event` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `thread` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `permissionset` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `openwebauth-token` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `post-category` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ Photo::delete(["NOT `uid` IN (SELECT `uid` FROM `user`)"]);
+
+ if (!DBA::e("DELETE FROM `contact` WHERE NOT `uid` IN (SELECT `uid` FROM `user`)")) {
+ return Update::FAILED;
+ }
+
+ return Update::SUCCESS;
+}
+
+function pre_update_1377()
+{
+ DBStructure::checkInitialValues();
+
+ if (!DBA::e("DELETE FROM `item` WHERE NOT `author-id` IN (SELECT `id` FROM `contact`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `item` WHERE NOT `owner-id` IN (SELECT `id` FROM `contact`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("UPDATE `item` SET `contact-id` = `owner-id` WHERE NOT `contact-id` IN (SELECT `id` FROM `contact`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `thread` WHERE NOT `author-id` IN (SELECT `id` FROM `contact`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `thread` WHERE NOT `owner-id` IN (SELECT `id` FROM `contact`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("UPDATE `thread` SET `contact-id` = `owner-id` WHERE NOT `contact-id` IN (SELECT `id` FROM `contact`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("UPDATE `notify` SET `uri-id` = NULL WHERE `uri-id` = 0")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `notify` WHERE `uri-id` NOT IN (SELECT `id` FROM `item-uri`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("UPDATE `notify` SET `parent-uri-id` = NULL WHERE `parent-uri-id` = 0")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `notify` WHERE `parent-uri-id` NOT IN (SELECT `id` FROM `item-uri`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("UPDATE `notify-threads` SET `master-parent-uri-id` = NULL WHERE `master-parent-uri-id` = 0")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `notify-threads` WHERE `master-parent-uri-id` NOT IN (SELECT `id` FROM `item-uri`)")) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("DELETE FROM `notify-threads` WHERE `master-parent-item` NOT IN (SELECT `id` FROM `item`)")) {
+ return Update::FAILED;
+ }
+
+ return Update::SUCCESS;
+}
+
+function update_1380()
+{
+ if (!DBA::e("UPDATE `notify` INNER JOIN `item` ON `item`.`id` = `notify`.`iid` SET `notify`.`uri-id` = `item`.`uri-id` WHERE `notify`.`uri-id` IS NULL AND `notify`.`otype` IN (?, ?)",
+ Notify\ObjectType::ITEM, Notify\ObjectType::PERSON)) {
+ return Update::FAILED;
+ }
+
+ if (!DBA::e("UPDATE `notify` INNER JOIN `item` ON `item`.`id` = `notify`.`parent` SET `notify`.`parent-uri-id` = `item`.`uri-id` WHERE `notify`.`parent-uri-id` IS NULL AND `notify`.`otype` IN (?, ?)",
+ Notify\ObjectType::ITEM, Notify\ObjectType::PERSON)) {
+ return Update::FAILED;
+ }
+
+ return Update::SUCCESS;