]> git.mxchange.org Git - friendica.git/commitdiff
saved searches on network page
authorFriendika <info@friendika.com>
Mon, 5 Sep 2011 00:35:06 +0000 (17:35 -0700)
committerFriendika <info@friendika.com>
Mon, 5 Sep 2011 00:35:06 +0000 (17:35 -0700)
boot.php
database.sql
include/group.php
include/text.php
mod/network.php
update.php
view/theme/duepuntozero/style.css
view/theme/loozah/style.css

index f3b6af34eaa51c79e586e6bd31a2ef2776959130..7534046f2ec57b49ad1bde6cd53902252b17947c 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -7,9 +7,9 @@ require_once('include/text.php');
 require_once("include/pgettext.php");
 
 
-define ( 'FRIENDIKA_VERSION',      '2.2.1092' );
+define ( 'FRIENDIKA_VERSION',      '2.2.1093' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.21'    );
-define ( 'DB_UPDATE_VERSION',      1085      );
+define ( 'DB_UPDATE_VERSION',      1086      );
 
 define ( 'EOL',                    "<br />\r\n"     );
 define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
index 432ce76938d4e9f254a3091fc31402ed7e523fa4..343d4c4971ba71701bc278e7ff7b8f388fe6fae9 100644 (file)
@@ -613,3 +613,11 @@ CREATE TABLE IF NOT EXISTS `deliverq` (
 `item` INT NOT NULL ,
 `contact` INT NOT NULL
 ) ENGINE = MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `search` (
+`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`uid` INT NOT NULL ,
+`term` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+INDEX ( `uid` ),
+INDEX ( `term` )
+) ENGINE = MyISAM DEFAULT CHARSET=utf8;
index cd89739e111f6e45eef8c487b0def8748422e0c5..8798adf5ab3a2e20b0b6a7e1c50ad5dacf1a3207 100644 (file)
@@ -170,7 +170,7 @@ EOT;
                        $selected = (($group_id == $rr['id']) ? ' class="group-selected" ' : '');
                        $o .= ' <li class="sidebar-group-li">' 
                        . (($edit) ? "<a href=\"group/{$rr['id']}\" title=\"" . t('Edit') 
-                               . "\" ><img src=\"images/spencil.gif\" alt=\"" . t('Edit') . "\"></a> " : "") 
+                               . "\" class=\"groupsideedit\" ><img src=\"images/spencil.gif\" alt=\"" . t('Edit') . "\"></a> " : "") 
                        . (($cid) ? '<input type="checkbox" class="' . (($selected) ? 'ticked' : 'unticked') . '" onclick="contactgroupChangeMember(' . $rr['id'] . ',' . $cid . ');return true;" '
                                . ((in_array($rr['id'],$member_of)) ? ' checked="checked" ' : '') . '/>' : '')
                        . "<a href=\"$each/{$rr['id']}\" class=\"sidebar-group-element\" $selected >{$rr['name']}</a></li>\r\n";
index 66447069e455ad6c53a9cd90a9514d14bd0361ba..e3d984a1fe17d3c169a96481f6fbf10f3c77862d 100644 (file)
@@ -602,12 +602,14 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
 
 
 if(! function_exists('search')) {
-function search($s,$id='search-box',$url='/search') {
+function search($s,$id='search-box',$url='/search',$save = false) {
        $a = get_app();
        $o  = '<div id="' . $id . '">';
        $o .= '<form action="' . $a->get_baseurl() . $url . '" method="get" >';
        $o .= '<input type="text" name="search" id="search-text" value="' . $s .'" />';
        $o .= '<input type="submit" name="submit" id="search-submit" value="' . t('Search') . '" />'; 
+       if($save)
+               $o .= '<input type="submit" name="save" id="search-save" value="' . t('Save') . '" />'; 
        $o .= '</form></div>';
        return $o;
 }}
index 54fb2a0a4ce490b080649fcff7296fcc4552ec73..663814ab7816da3af05e83ec8ac768b24445301e 100644 (file)
@@ -16,8 +16,26 @@ function network_init(&$a) {
        $search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
        $srchurl = '/network' . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '') . ((x($_GET,'star')) ? '?star=' . $_GET['star'] : '');
 
+       if(x($_GET,'save')) {
+               $r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1",
+                       intval(local_user()),
+                       dbesc($search)
+               );
+               if(! count($r)) {
+                       q("insert into `search` ( `uid`,`term` ) values ( %d, '%s') ",
+                               intval(local_user()),
+                               dbesc($search)
+                       );
+               }
+       }
+       if(x($_GET,'remove')) {
+               q("delete from `search` where `uid` = %d and `term` = '%s' limit 1",
+                       intval(local_user()),
+                       dbesc($search)
+               );
+       }
 
-       $a->page['aside'] .= search($search,'netsearch-box',$srchurl);
+       $a->page['aside'] .= search($search,'netsearch-box',$srchurl,true);
 
        $a->page['aside'] .= '<div id="network-new-link">';
 
@@ -49,9 +67,35 @@ function network_init(&$a) {
        $a->page['aside'] .= '</div>';
 
        $a->page['aside'] .= group_side('network','network',true,$group_id);
+
+       $a->page['aside'] .= saved_searches();
+
+}
+
+function saved_searches() {
+
+       $o = '';
+
+       $r = q("select `term` from `search` WHERE `uid` = %d",
+               intval(local_user())
+       );
+
+       if(count($r)) {
+               $o .= '<h3>' . t('Saved Searches') . '</h3>' . "\r\n";
+               $o .= '<div id="saved-search-list"><ul id="saved-search-ul">' . "\r\n";
+               foreach($r as $rr) {
+                       $o .= '<li class="saved-search-li clear"><a href="network/?f=&remove=1&search=' . $rr['term'] . '" class="icon drophide savedsearchdrop" title="' . t('Remove term') . '" onclick="return confirmDelete();" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> <a href="network/?f&search=' . $rr['term'] . '" class="savedsearchterm" >' . $rr['term'] . '</a></li>' . "\r\n";
+               }
+               $o .= '</ul></div>' . "\r\n";
+       }               
+
+       return $o;
+
 }
 
 
+
+
 function network_content(&$a, $update = 0) {
 
        require_once('include/conversation.php');
index 80761cce45168a73582ab2f9735a3118d715d263..3d7b31813e1dcbab8746070897df69a83a2e41ff 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1085 );
+define( 'UPDATE_VERSION' , 1086 );
 
 /**
  *
@@ -704,10 +704,20 @@ function update_1083() {
        `cmd` CHAR( 32 ) NOT NULL ,
        `item` INT NOT NULL ,
        `contact` INT NOT NULL
-       ) ENGINE = MYISAM ;");
+       ) ENGINE = MYISAM ");
 
 }
 
 function update_1084() {
        q("ALTER TABLE `contact` ADD `attag` CHAR( 255 ) NOT NULL AFTER `nick` ");
 }
+
+function update_1085() {
+       q("CREATE TABLE IF NOT EXISTS `search` (
+       `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+       `uid` INT NOT NULL ,
+       `term` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+       INDEX ( `uid` ),
+       INDEX ( `term` )
+       ) ENGINE = MYISAM ");
+}
index fb7380e02e32b8ebed257420b1dab66c1d146d14..d1b85bf7a7f2a88af7ec5f220ea73bc8878e9a5d 100644 (file)
@@ -1811,6 +1811,24 @@ a.mail-list-link {
        margin-top: 10px;
 }
 
+#search-save {
+       margin-left: 5px;
+}
+.groupsideedit {
+       margin-right: 10px;
+}
+#saved-search-ul {
+       list-style-type: none;
+}
+.savedsearchdrop, .savedsearchterm {
+       float: left;
+       margin-top: 10px;
+}
+.savedsearchterm {
+       margin-left: 10px;
+}
+
+
 #side-follow-wrapper {
        margin-top: 20px;
 }
index 50b780e979d74be0c1f8ece1ad6229250d660a0c..b97f27510b5143c14e506699583b44b7207bb261 100644 (file)
@@ -1871,6 +1871,25 @@ a.mail-list-link {
        margin-top: 10px;
 }
 
+
+#search-save {
+    margin-left: 5px;
+}
+.groupsideedit {
+    margin-right: 10px;
+}
+#saved-search-ul {
+    list-style-type: none;
+}
+.savedsearchdrop, .savedsearchterm {
+    float: left;
+    margin-top: 10px;
+}
+.savedsearchterm {
+    margin-left: 10px;
+}
+
+
 #side-follow-wrapper {
        margin-top: 20px;
 }