]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Updated PrivateKey to include Tag searches
authorMark Pemberton <mpemberton5@gmail.com>
Tue, 17 May 2011 04:24:43 +0000 (00:24 -0400)
committerMark Pemberton <mpemberton5@gmail.com>
Tue, 17 May 2011 04:24:43 +0000 (00:24 -0400)
data/templates/editprofile.tpl.php
src/SemanticScuttle/Service/Bookmark.php
src/SemanticScuttle/Service/Bookmark2Tag.php
src/SemanticScuttle/Service/Tag.php
www/bookmarks.php
www/tags.php

index 258e8648161b401e23bca41ba01cf48c5936b6e1..25dc3a4c081987aef78b49f66c53e78e95858195 100644 (file)
@@ -33,9 +33,7 @@ $this->includeTemplate($GLOBALS['top_include']);
     <td><input type="checkbox" id="pEnablePrivateKey" name="pEnablePrivateKey" value="true" <?php echo $privateKeyIsEnabled;?> />
         <label for="pEnablePrivateKey"><?php echo T_('Enable'); ?></label>&nbsp;&nbsp;&nbsp;
         <input type="text" id="pPrivateKey" name="pPrivateKey" size="40" value="<?php echo $privateKey;?>" readonly="readonly" />
-        <!--<input type="button" name="submittedPK" value="<?php echo T_('Generate New Key'); ?>" />-->
-
-        <a onClick="getNewPrivateKey(this); return false;"><button type="submit" name="submittedPK" value="1"><?php echo T_('Generate New Key'); ?></button></a>
+        <a onclick="getNewPrivateKey(this); return false;"><button type="submit" name="submittedPK" value="1"><?php echo T_('Generate New Key'); ?></button></a>
     </td>
 </tr>
 </table>
index 9a075beca0f0b6942f1ab1ec267f53ab119ff497..232f9d0b9e155b30a36f0b76eafaf7382141dc5d 100644 (file)
@@ -821,23 +821,34 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
 
         // Handle the parts of the query that depend on any tags that are present.
         $query_4 = '';
-        for ($i = 0; $i < $tagcount; $i ++) {
-            $query_2 .= ', '. $b2tservice->getTableName() .' AS T'. $i;
+        if ($tagcount > 0) {
+            $query_2 .= ', '. $b2tservice->getTableName() .' AS T0';
             $query_4 .= ' AND (';
+            
+            $tagArray = array();
+            for ($i = 0; $i < $tagcount; $i ++) {
+                $tmpTag = $this->db->sql_escape($tags[$i]);
+                $allLinkedTags = $tag2tagservice->getAllLinkedTags(
+                    $tmpTag, '>', $user
+                );
 
-            $allLinkedTags = $tag2tagservice->getAllLinkedTags(
-                $this->db->sql_escape($tags[$i]), '>', $user
-            );
+                while (is_array($allLinkedTags) && count($allLinkedTags)>0) {
+                    $tmpValue = array_pop($allLinkedTags);
+                    if (in_array($tmpValue, $tagArray) == false) {
+                        $tagArray[] = $tmpValue;
+                    }
+                }
 
-            while (is_array($allLinkedTags) && count($allLinkedTags)>0) {
-                $query_4 .= ' T'. $i .'.tag = "'. array_pop($allLinkedTags) .'"';
-                $query_4 .= ' OR';
+                if (in_array($tmpTag, $tagArray) == false) {
+                    $tagArray[] = $tmpTag;
+                }
             }
-
-            $query_4 .= ' T'. $i .'.tag = "'. $this->db->sql_escape($tags[$i]) .'"';
-
-            $query_4 .= ') AND T'. $i .'.bId = B.bId';
-            //die($query_4);
+            // loop through array of possible tags
+            foreach ($tagArray as $k => $v) {
+                $query_4 .= ' T0.tag = "'. $v .'" OR';
+            }
+            $query_4 = substr($query_4,0,-3);
+            $query_4 .= ') AND T0.bId = B.bId';
         }
 
         // Search terms
index a10cb612e14ecac74cbb0ebcc48abe4be92e9e2f..fc59a1c2297cf07d59a93010bdcc364d4b7f4274 100644 (file)
@@ -99,7 +99,7 @@ class SemanticScuttle_Service_Bookmark2Tag extends SemanticScuttle_DbService
         $tags_count = is_array($tags)?count($tags):0;
 
         for ($i = 0; $i < $tags_count; $i++) {
-            $tags[$i] = trim(strtolower($tags[$i]));
+            $tags[$i] = trim(utf8_strtolower($tags[$i]));
             if ($fromApi) {
                 include_once 'SemanticScuttle/functions.php';
                 $tags[$i] = convertTag($tags[$i], 'in');
index 25d388816cf6342ebb42b16e591d342f440a7646..83252855c44c07771045deb304fa90ff9e2d5c34 100644 (file)
@@ -141,10 +141,10 @@ class SemanticScuttle_Service_Tag extends SemanticScuttle_DbService
 
         //normalize
         if(!is_array($tags)) {
-            $tags = strtolower(trim($tags));
+            $tags = utf8_strtolower(trim($tags));
         } else {
             for($i=0; $i<count($tags); $i++) {
-                $tags[$i] = strtolower(trim($tags[$i]));
+                $tags[$i] = utf8_strtolower(trim($tags[$i]));
             }
         }
         return $tags;
index efc168087779d8d900f26feabe008064d9729c0d..44119db4c86af59a908e4f6d80fda2b5b8103e76 100644 (file)
@@ -229,12 +229,14 @@ if ($templatename == 'editbookmark.tpl') {
        $tplVars['sidebar_blocks'] = array('watchstatus');
 
        if (!$cat) { //user page without tags
+                $rssTitle = ": My Bookmarks";
                $cat = NULL;
                $tplVars['currenttag'] = NULL;
                //$tplVars['sidebar_blocks'][] = 'menu2';
                $tplVars['sidebar_blocks'][] = 'linked';
                $tplVars['sidebar_blocks'][] = 'popular';
        } else { //pages with tags
+                $rssTitle = ": Tags" . $catTitle;
                $rssCat = '/'. filter($cat, 'url');
                $tplVars['currenttag'] = $cat;
                $tplVars['sidebar_blocks'][] = 'tagactions';
@@ -264,9 +266,22 @@ if ($templatename == 'editbookmark.tpl') {
 
        // Set template vars
        $tplVars['rsschannels'] = array(
-       array(filter($sitename .': '. $pagetitle), createURL('rss', filter($user, 'url') . $rssCat.'?sort='.getSortOrder()))
+       array(filter($sitename .$rssTitle), createURL('rss', filter($user, 'url') . $rssCat.'?sort='.getSortOrder()))
        );
 
+    if ($userservice->isLoggedOn()) {
+        $currentUsername = $currentUser->getUsername();
+        if ($userservice->isPrivateKeyValid($currentUser->getPrivateKey())) {
+            array_push(
+                $tplVars['rsschannels'],
+                array(
+                    filter($sitename . $rssTitle. sprintf(T_(': (private) ')) . $currentUsername),
+                    createURL('rss', filter($currentUsername, 'url') . '?sort='.getSortOrder().'&amp;privatekey='.$currentUser->getPrivateKey())
+                )
+            );
+        }
+    }
+
        $tplVars['page'] = $page;
        $tplVars['start'] = $start;
        $tplVars['bookmarkCount'] = $start + 1;
index a4e6555a91ee7e0f7cb58a90d03f10c7ee132492..09725e4194480ec1b5af1db17bca2729d4af9a9d 100644 (file)
@@ -67,9 +67,22 @@ if ($usecache) {
 $tplVars['pagetitle'] = T_('Tags') .': '. $cat;
 $tplVars['loadjs'] = true;
 $tplVars['rsschannels'] = array(
-array(filter($sitename .': '. $pagetitle), createURL('rss', 'all/'. filter($cat, 'url')).'?sort='.getSortOrder())
+array(filter($sitename .': Tags: '. $cat), createURL('rss', 'all/'. filter($cat, 'url')).'?sort='.getSortOrder())
 );
 
+if ($userservice->isLoggedOn()) {
+    $currentUsername = $currentUser->getUsername();
+    if ($userservice->isPrivateKeyValid($currentUser->getPrivateKey())) {
+        array_push(
+            $tplVars['rsschannels'],
+            array(
+                filter($sitename .': Tags: '. $cat . sprintf(T_(': (private) ')) . $currentUsername),
+                createURL('rss', filter($currentUsername, 'url') . '?sort='.getSortOrder().'&amp;privatekey='.$currentUser->getPrivateKey())
+            )
+        );
+    }
+}
+
 // Pagination
 $perpage = getPerPageCount($currentUser);
 if (intval(GET_PAGE) > 1) {