diff options
| author | Mark Pemberton <mpemberton5@gmail.com> | 2011-05-17 00:24:43 -0400 | 
|---|---|---|
| committer | Mark Pemberton <mpemberton5@gmail.com> | 2011-05-17 00:24:43 -0400 | 
| commit | 920f7fc623ecad4f1338ab68326f2817c12c4610 (patch) | |
| tree | d324bac21998f16d80eb7ff511561c415ba5b4e1 | |
| parent | 10214c43b51e99cc3f8f58a4c4e8893eb2480e62 (diff) | |
| download | semanticscuttle-920f7fc623ecad4f1338ab68326f2817c12c4610.tar.gz semanticscuttle-920f7fc623ecad4f1338ab68326f2817c12c4610.tar.bz2 | |
Updated PrivateKey to include Tag searches
| -rw-r--r-- | data/templates/editprofile.tpl.php | 4 | ||||
| -rw-r--r-- | src/SemanticScuttle/Service/Bookmark.php | 37 | ||||
| -rw-r--r-- | src/SemanticScuttle/Service/Bookmark2Tag.php | 2 | ||||
| -rw-r--r-- | src/SemanticScuttle/Service/Tag.php | 4 | ||||
| -rw-r--r-- | www/bookmarks.php | 17 | ||||
| -rw-r--r-- | www/tags.php | 15 | 
6 files changed, 58 insertions, 21 deletions
| diff --git a/data/templates/editprofile.tpl.php b/data/templates/editprofile.tpl.php index 258e864..25dc3a4 100644 --- a/data/templates/editprofile.tpl.php +++ b/data/templates/editprofile.tpl.php @@ -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>             <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> diff --git a/src/SemanticScuttle/Service/Bookmark.php b/src/SemanticScuttle/Service/Bookmark.php index 9a075be..232f9d0 100644 --- a/src/SemanticScuttle/Service/Bookmark.php +++ b/src/SemanticScuttle/Service/Bookmark.php @@ -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 diff --git a/src/SemanticScuttle/Service/Bookmark2Tag.php b/src/SemanticScuttle/Service/Bookmark2Tag.php index a10cb61..fc59a1c 100644 --- a/src/SemanticScuttle/Service/Bookmark2Tag.php +++ b/src/SemanticScuttle/Service/Bookmark2Tag.php @@ -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'); diff --git a/src/SemanticScuttle/Service/Tag.php b/src/SemanticScuttle/Service/Tag.php index 25d3888..8325285 100644 --- a/src/SemanticScuttle/Service/Tag.php +++ b/src/SemanticScuttle/Service/Tag.php @@ -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; diff --git a/www/bookmarks.php b/www/bookmarks.php index efc1680..44119db 100644 --- a/www/bookmarks.php +++ b/www/bookmarks.php @@ -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().'&privatekey='.$currentUser->getPrivateKey()) +                ) +            ); +        } +    } +  	$tplVars['page'] = $page;  	$tplVars['start'] = $start;  	$tplVars['bookmarkCount'] = $start + 1; diff --git a/www/tags.php b/www/tags.php index a4e6555..09725e4 100644 --- a/www/tags.php +++ b/www/tags.php @@ -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().'&privatekey='.$currentUser->getPrivateKey()) +            ) +        ); +    } +} +  // Pagination  $perpage = getPerPageCount($currentUser);  if (intval(GET_PAGE) > 1) { | 
