Merge branch '0.98'
This commit is contained in:
commit
d2e437b4db
10 changed files with 106 additions and 7 deletions
|
@ -81,13 +81,15 @@ $theme = 'default';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SemanticScuttle root directory.
|
* SemanticScuttle root directory.
|
||||||
*
|
|
||||||
* Set to NULL to autodetect the root url of the website.
|
* Set to NULL to autodetect the root url of the website.
|
||||||
*
|
*
|
||||||
* If your installation is in a subdirectory like
|
* If your installation is in a subdirectory like
|
||||||
* "http://www.example.com/semanticscuttle/" then
|
* "http://www.example.com/semanticscuttle/" then
|
||||||
* replace NULL by your address (between "" and with trailing '/')
|
* replace NULL by your address (between "" and with trailing '/')
|
||||||
*
|
*
|
||||||
|
* The autodetection works for both HTTP and HTTPS urls.
|
||||||
|
* If you offer HTTP *only*, then set your root url here.
|
||||||
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
$root = null;
|
$root = null;
|
||||||
|
|
|
@ -28,7 +28,6 @@ window.onload = function() {
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</p>
|
|
||||||
|
|
||||||
<?php if (isset($referrer)): ?>
|
<?php if (isset($referrer)): ?>
|
||||||
<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div>
|
<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div>
|
||||||
|
|
|
@ -3,6 +3,16 @@ ChangeLog for SemantiScuttle
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
|
|
||||||
|
0.98.2 - 2011-08-XX
|
||||||
|
-------------------
|
||||||
|
- Fix bug #3385724: Rename tag ends with XML Parsing Error
|
||||||
|
- Fix bug #3386178: "system:unfiled" secret tag does not work
|
||||||
|
- Fix bug #3384416: Update documentation to explain HTTP/HTTPS root problem
|
||||||
|
|
||||||
|
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
|
||||||
-------------------
|
-------------------
|
||||||
- Fix bug #3375635: XML parsing problem in top.inc.php
|
- Fix bug #3375635: XML parsing problem in top.inc.php
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
Configuration files
|
Configuration files
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
SemanticScuttle uses at least two configuration files:
|
SemanticScuttle uses at least two configuration files:
|
||||||
|
|
||||||
1. Default configuration file ``config.default.php``
|
1. Default configuration file ``config.default.php``
|
||||||
|
@ -56,3 +58,24 @@ per-host configuration files:
|
||||||
- ``data/config.$hostname.php``
|
- ``data/config.$hostname.php``
|
||||||
- ``/etc/semanticscuttle/config.$hostname.php``
|
- ``/etc/semanticscuttle/config.$hostname.php``
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Configuration options
|
||||||
|
=====================
|
||||||
|
``$root`` URL
|
||||||
|
-------------
|
||||||
|
Normally, this configuration setting is detected automatically and will
|
||||||
|
work for both HTTP and HTTPS installations.
|
||||||
|
|
||||||
|
If your installation is available on **HTTP only**, then you need to configure
|
||||||
|
it.
|
||||||
|
|
||||||
|
The value is the full URL to your installation, including a trailing
|
||||||
|
slash::
|
||||||
|
|
||||||
|
$root = "http://homepage.example.org/semanticscuttle/";
|
||||||
|
|
||||||
|
or::
|
||||||
|
|
||||||
|
$root = "http://bookmarks.example.org/";
|
||||||
|
|
||||||
|
|
35
scripts/fix-unfiled-tags.php
Normal file
35
scripts/fix-unfiled-tags.php
Normal 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);
|
||||||
|
?>
|
|
@ -271,10 +271,11 @@ class SemanticScuttle_Service_Bookmark2Tag extends SemanticScuttle_DbService
|
||||||
* Retrieves all tags for a given bookmark except system tags.
|
* Retrieves all tags for a given bookmark except system tags.
|
||||||
*
|
*
|
||||||
* @param integer $bookmarkid ID of the bookmark
|
* @param integer $bookmarkid ID of the bookmark
|
||||||
|
* @param boolean $systemTags Return "system:*" tags or not
|
||||||
*
|
*
|
||||||
* @return array Array of tags
|
* @return array Array of tags
|
||||||
*/
|
*/
|
||||||
public function getTagsForBookmark($bookmarkid)
|
public function getTagsForBookmark($bookmarkid, $systemTags = false)
|
||||||
{
|
{
|
||||||
if (!is_numeric($bookmarkid)) {
|
if (!is_numeric($bookmarkid)) {
|
||||||
message_die(
|
message_die(
|
||||||
|
@ -285,9 +286,11 @@ class SemanticScuttle_Service_Bookmark2Tag extends SemanticScuttle_DbService
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = 'SELECT tag FROM ' . $this->getTableName()
|
$query = 'SELECT tag FROM ' . $this->getTableName()
|
||||||
. ' WHERE bId = ' . intval($bookmarkid)
|
. ' WHERE bId = ' . intval($bookmarkid);
|
||||||
. ' AND LEFT(tag, 7) <> "system:"'
|
if (!$systemTags) {
|
||||||
. ' ORDER BY id ASC';
|
$query .= ' AND LEFT(tag, 7) <> "system:"';
|
||||||
|
}
|
||||||
|
$query .= ' ORDER BY id ASC';
|
||||||
|
|
||||||
if (!($dbresult = $this->db->sql_query($query))) {
|
if (!($dbresult = $this->db->sql_query($query))) {
|
||||||
message_die(
|
message_die(
|
||||||
|
|
|
@ -143,6 +143,7 @@ class SemanticScuttle_Service_Tag extends SemanticScuttle_DbService
|
||||||
if(!is_array($tags)) {
|
if(!is_array($tags)) {
|
||||||
$tags = utf8_strtolower(trim($tags));
|
$tags = utf8_strtolower(trim($tags));
|
||||||
} else {
|
} else {
|
||||||
|
$tags = array_filter($tags);//remove empty values
|
||||||
for($i=0; $i<count($tags); $i++) {
|
for($i=0; $i<count($tags); $i++) {
|
||||||
$tags[$i] = utf8_strtolower(trim($tags[$i]));
|
$tags[$i] = utf8_strtolower(trim($tags[$i]));
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,26 @@ class Bookmark2TagTest extends TestBase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function testAttachTagsWithoutTagsAddsSystemUnfiled()
|
||||||
|
{
|
||||||
|
$bid = $this->addBookmark(null, null, 0, array());
|
||||||
|
$this->assertEquals(
|
||||||
|
array('system:unfiled'),
|
||||||
|
$this->b2ts->getTagsForBookmark($bid, true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAttachTagsWithArrayWithEmptyStringAddsSystemUnfiled()
|
||||||
|
{
|
||||||
|
$bid = $this->addBookmark(null, null, 0, array(''));
|
||||||
|
$this->assertEquals(
|
||||||
|
array('system:unfiled'),
|
||||||
|
$this->b2ts->getTagsForBookmark($bid, true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test getTagsForBookmark() when the bookmark has no tags
|
* Test getTagsForBookmark() when the bookmark has no tags
|
||||||
*
|
*
|
||||||
|
|
|
@ -67,7 +67,7 @@ if (POST_CONFIRM) {
|
||||||
$template = 'error.500.tpl';
|
$template = 'error.500.tpl';
|
||||||
}
|
}
|
||||||
} elseif (POST_CANCEL) {
|
} elseif (POST_CANCEL) {
|
||||||
header('Location: '. createURL('bookmarks', $currentUser->getUsername() .'/'. $tags));
|
header('Location: '. createURL('bookmarks', $currentUser->getUsername() .'/'. $tag));
|
||||||
} else {
|
} else {
|
||||||
$tplVars['subtitle'] = T_('Rename Tag') .': '. $tag;
|
$tplVars['subtitle'] = T_('Rename Tag') .': '. $tag;
|
||||||
$tplVars['formaction'] = $_SERVER['SCRIPT_NAME'] .'/'. $tag;
|
$tplVars['formaction'] = $_SERVER['SCRIPT_NAME'] .'/'. $tag;
|
||||||
|
|
Loading…
Reference in a new issue