script to fix unfiled bugs (for bug #3386178)

This commit is contained in:
Christian Weiske 2011-08-05 19:48:46 +02:00
parent 9c18fe1cc7
commit 5571ec0a4d
3 changed files with 44 additions and 0 deletions

View file

@ -8,6 +8,9 @@ ChangeLog for SemantiScuttle
- Fix bug #3385724: Rename tag ends with XML Parsing Error - Fix bug #3385724: Rename tag ends with XML Parsing Error
- Fix bug #3386178: "system:unfiled" secret tag does not work - 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 0.98.1 - 2011-08-01
------------------- -------------------

View file

@ -4,6 +4,12 @@ Upgrading SemanticScuttle from a previous version
.. contents:: .. 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 From version 0.97 to 0.98
========================= =========================
Database updates Database updates

View file

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