diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/peoplesearchresults.php | 80 | ||||
-rw-r--r-- | lib/profilelist.php | 21 |
2 files changed, 13 insertions, 88 deletions
diff --git a/lib/peoplesearchresults.php b/lib/peoplesearchresults.php deleted file mode 100644 index 9f6696b5f..000000000 --- a/lib/peoplesearchresults.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * People search results class - * - * PHP version 5 - * - * @category Widget - * @package Laconica - * @author Evan Prodromou <evan@controlyourself.ca> - * @author Robin Millette <millette@controlyourself.ca> - * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ - * - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, 2009, Control Yourself, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -if (!defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/profilelist.php'; - -/** - * People search results class - * - * Derivative of ProfileList with specialization for highlighting search terms. - * - * @category Widget - * @package Laconica - * @author Evan Prodromou <evan@controlyourself.ca> - * @author Robin Millette <millette@controlyourself.ca> - * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 - * @link http://laconi.ca/ - * - * @see PeoplesearchAction - */ - -class PeopleSearchResults extends ProfileList -{ - var $terms = null; - var $pattern = null; - - function __construct($profile, $terms, $action) - { - parent::__construct($profile, $action); - - $this->terms = array_map('preg_quote', - array_map('htmlspecialchars', $terms)); - - $this->pattern = '/('.implode('|',$terms).')/i'; - } - - function newProfileItem($profile) - { - return new PeopleSearchResultItem($profile, $this->action); - } -} - -class PeopleSearchResultItem extends ProfileListItem -{ - function highlight($text) - { - return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text)); - } -} - diff --git a/lib/profilelist.php b/lib/profilelist.php index a604230f8..e13d56a9a 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -243,15 +243,20 @@ class ProfileListItem extends Widget $user = common_current_user(); if (!empty($user) && $this->profile->id != $user->id) { - $this->out->elementStart('li', 'entity_subscribe'); - if ($user->isSubscribed($this->profile)) { - $usf = new UnsubscribeForm($this->out, $this->profile); - $usf->show(); - } else { - $sf = new SubscribeForm($this->out, $this->profile); - $sf->show(); + // Is it a local user? can't remote sub from a list + // XXX: make that possible! + $other = User::staticGet('id', $this->profile->id); + if (!empty($other)) { + $this->out->elementStart('li', 'entity_subscribe'); + if ($user->isSubscribed($this->profile)) { + $usf = new UnsubscribeForm($this->out, $this->profile); + $usf->show(); + } else { + $sf = new SubscribeForm($this->out, $this->profile); + $sf->show(); + } + $this->out->elementEnd('li'); } - $this->out->elementEnd('li'); } } |