]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Interface design: structured tags on frontpage and tag pages + permission control...
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Fri, 11 Jan 2008 09:34:32 +0000 (09:34 +0000)
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>
Fri, 11 Jan 2008 09:34:32 +0000 (09:34 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@10 b3834d28-1941-0410-a4f8-b48e95affb8f

index.php
services/tag2tagservice.php
tag2tagadd.php
tag2tagdelete.php
tags.php
templates/sidebar.block.linked.php
tests/tag2TagTest.php

index b760bd7a785554c7f844f264067fa7fd9c800a54..fe55e59db6e156afc6509ee56bde353a06b6bc1c 100644 (file)
--- a/index.php
+++ b/index.php
@@ -67,7 +67,7 @@ $dtstart = date('Y-m-d H:i:s', strtotime($dtend .' -'. $defaultRecentDays .' day
 $tplVars['page'] = $page;
 $tplVars['start'] = $start;
 $tplVars['popCount'] = 30;
-$tplVars['sidebar_blocks'] = array('recent');
+$tplVars['sidebar_blocks'] = array('linked', 'recent');
 $tplVars['range'] = 'all';
 $tplVars['pagetitle'] = T_('Store, share and tag your favourite links');
 $tplVars['subtitle'] = T_('Recent Bookmarks');
@@ -84,4 +84,4 @@ if ($usecache) {
     // Cache output if existing copy has expired
     $cacheservice->End($hash);
 }
-?>
\ No newline at end of file
+?>
index 0b53d64e53dfec36700e56dfdd6c32fc0825df7e..d522039a02b5f607a004618d62eb39fa62db3263 100644 (file)
@@ -88,14 +88,18 @@ class Tag2TagService {
        return $output;
     }
 
-    function getOrphewTags($relationType, $uId) {
+    function getOrphewTags($relationType, $uId = 0) {
        $query = "SELECT DISTINCT tag1 as tag FROM `". $this->getTableName() ."`";
        $query.= " WHERE tag1 <> ALL";
        $query.= " (SELECT DISTINCT tag2 FROM `". $this->getTableName() ."`";
        $query.= " WHERE relationType = '".$relationType."'";
-       $query.= " AND uId = '".$uId."'";
+       if($uId > 0) {
+           $query.= " AND uId = '".$uId."'";
+       }
        $query.= ")";
-       $query.= " AND uId = '".$uId."'";
+       if($uId > 0) {
+           $query.= " AND uId = '".$uId."'";
+       }
 
        //die($query);
 
index 916c388d4cb3387e7c54b1bb4bd12731320c9912..83af1d6a85a954f017e24034b113ff9026f576c6 100644 (file)
@@ -24,13 +24,22 @@ $tag2tagservice = & ServiceFactory :: getServiceInstance('Tag2TagService');
 $templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
 $userservice = & ServiceFactory :: getServiceInstance('UserService');
 
+$logged_on_user = $userservice->getCurrentUser();
+
+//permissions
+if($logged_on_user == null) {
+    $tplVars['error'] = T_('Permission denied.');
+    $templateservice->loadTemplate('error.500.tpl', $tplVars);
+    exit();
+}
+
+
 list ($url, $tag) = explode('/', $_SERVER['PATH_INFO']);
 
 if ($_POST['confirm']) {
     $newTag = $_POST['newTag'];
     if ($tag2tagservice->addLinkedTags($tag, $newTag, '>', $userservice->getCurrentUserId())) {
         $tplVars['msg'] = T_('Tag link created');
-        $logged_on_user = $userservice->getCurrentUser();
         header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')]));
     } else {
         $tplVars['error'] = T_('Failed to create the link');
@@ -38,7 +47,6 @@ if ($_POST['confirm']) {
         exit();
     }
 } elseif ($_POST['cancel']) {
-    $logged_on_user = $userservice->getCurrentUser();
     header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags));
 }
 
index e75e60ac647abbdc7e57b42da62662f2087e8487..f79445606ef1a395eb4580f2c23bf2111b47bcb9 100644 (file)
@@ -24,12 +24,20 @@ $tag2tagservice = & ServiceFactory :: getServiceInstance('Tag2TagService');
 $templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
 $userservice = & ServiceFactory :: getServiceInstance('UserService');
 
+$logged_on_user = $userservice->getCurrentUser();
+
+//permissions
+if($logged_on_user == null) {
+    $tplVars['error'] = T_('Permission denied.');
+    $templateservice->loadTemplate('error.500.tpl', $tplVars);
+    exit();
+}
+
 list ($url, $tag1, $tag2) = explode('/', $_SERVER['PATH_INFO']);
 
 if ($_POST['confirm']) {
     if ($tag2tagservice->removeLinkedTags($_POST['tag1'], $_POST['tag2'], '>', $userservice->getCurrentUserId())) {
         $tplVars['msg'] = T_('Tag link deleted');
-        $logged_on_user = $userservice->getCurrentUser();
         header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')]));
     } else {
         $tplVars['error'] = T_('Failed to delete the link');
@@ -37,7 +45,6 @@ if ($_POST['confirm']) {
         exit();
     }
 } elseif ($_POST['cancel']) {
-    $logged_on_user = $userservice->getCurrentUser();
     header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags));
 }
 
index ff46881c793c46e84639ab2883c4657a640d3c9f..81956fdccda78445c6c8f67ba1949293ee6ea469 100644 (file)
--- a/tags.php
+++ b/tags.php
@@ -70,7 +70,7 @@ $tplVars['page'] = $page;
 $tplVars['start'] = $start;
 $tplVars['popCount'] = 25;
 $tplVars['currenttag'] = $cat;
-$tplVars['sidebar_blocks'] = array('related', 'popular');
+$tplVars['sidebar_blocks'] = array('linked', 'related', 'popular');
 $tplVars['subtitle'] = filter($pagetitle);
 $tplVars['bookmarkCount'] = $start + 1;
 $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, NULL, $cat, NULL, getSortOrder());
index 23bcb0c2baf8d34ecc53a2c2beb5960ca395af07..5a891eaeca9ee9a9d2a3f630e337241c578c1c71 100644 (file)
@@ -64,7 +64,11 @@ if(count($explodedTags) > 0) {
 <div id="linked">
     <table>
     <?php
-       $editingMode = ($userid === $logged_on_userid);
+       if(($logged_on_userid != null) && ($userid === $logged_on_userid)) {
+           $editingMode = true;
+       } else {
+           $editingMode = false;
+       }
        foreach($explodedTags as $explodedTag) {
                echo displayLinkedTags($explodedTag, '>', $userid, $cat_url, $user, $editingMode);
        }
index 6660761f108b594c065aaf5bf379e884dc62f7b8..3a8466facae411ddeddee18b0baf5bcf6d2d03df 100644 (file)
@@ -57,6 +57,9 @@ class Tag2TagTest extends PHPUnit_Framework_TestCase
        $this->assertEquals(2, sizeof($orphewTags));
        $this->assertSame('a', $orphewTags[0]['tag']);
        $this->assertSame('f', $orphewTags[1]['tag']);
+       $orphewTags = $tts->getOrphewTags('>');
+       $this->assertEquals(2, sizeof($orphewTags));
+       $this->assertSame('f', $orphewTags[0]['tag']);
        
        $linkedTags = $tts->getLinkedTags('a', '>', 1);
        $this->assertSame(array('b', 'c'), $linkedTags);
@@ -66,6 +69,8 @@ class Tag2TagTest extends PHPUnit_Framework_TestCase
        $tts->removeLinkedTags('a', 'c', '>', 1);
        $linkedTags = $tts->getLinkedTags('a', '>', 1);
        $this->assertEquals(0, sizeof($linkedTags));
+       $linkedTags = $tts->getLinkedTags('a', '>');
+       $this->assertSame(array('b', 'c', 'd'), $linkedTags);
     }
 
    public function testAddLinkedTagsThroughBookmarking()