aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog3
-rw-r--r--doc/UPGRADE.txt6
-rw-r--r--scripts/fix-unfiled-tags.php35
3 files changed, 44 insertions, 0 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d71a3d0..860a213 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -8,6 +8,9 @@ ChangeLog for SemantiScuttle
- Fix bug #3385724: Rename tag ends with XML Parsing Error
- Fix bug #3386178: "system:unfiled" secret tag does not work
+Run ``scripts/fix-unfiled-tags.php`` to fix old bookmarks that miss the
+``system:unfiled`` tags.
+
0.98.1 - 2011-08-01
-------------------
diff --git a/doc/UPGRADE.txt b/doc/UPGRADE.txt
index b144af2..e405431 100644
--- a/doc/UPGRADE.txt
+++ b/doc/UPGRADE.txt
@@ -4,6 +4,12 @@ Upgrading SemanticScuttle from a previous version
.. contents::
+From version 0.94-0.98.1 to 0.98.2
+==================================
+Run ``scripts/fix-unfiled-tags.php`` to fix old bookmarks that miss the
+``system:unfiled`` tags.
+
+
From version 0.97 to 0.98
=========================
Database updates
diff --git a/scripts/fix-unfiled-tags.php b/scripts/fix-unfiled-tags.php
new file mode 100644
index 0000000..8a5238e
--- /dev/null
+++ b/scripts/fix-unfiled-tags.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * SemanticScuttle from approximately 0.94 up to 0.98.2, system:unfiled
+ * tags were not created when adding new bookmarks with the web interface.
+ *
+ * This script adds system:unfiled tags for all bookmarks that have no
+ * tags.
+ */
+require_once dirname(__FILE__) . '/../src/SemanticScuttle/header-standalone.php';
+
+//needed to load the database object
+$bt = SemanticScuttle_Service_Factory::get('Bookmark2Tag');
+$db = SemanticScuttle_Service_Factory::getDb();
+
+$query = <<<SQL
+SELECT b.bId
+FROM sc_bookmarks AS b
+ LEFT JOIN sc_bookmarks2tags AS bt ON b.bId = bt.bId
+WHERE bt.bId IS NULL
+SQL;
+
+if (!($dbresult = $db->sql_query($query))) {
+ die('Strange SQL error');
+}
+while ($row = $db->sql_fetchrow($dbresult)) {
+ $db->sql_query(
+ 'INSERT INTO ' . $bt->getTableName() . ' '
+ . $db->sql_build_array(
+ 'INSERT',
+ array('bId' => $row['bId'], 'tag' => 'system:unfiled')
+ )
+ );
+}
+$db->sql_freeresult($dbresult);
+?> \ No newline at end of file