Merge branch '0.7.x' into 0.8.x
This commit is contained in:
		@@ -93,6 +93,32 @@ class AllAction extends Action
 | 
				
			|||||||
        $nav->show();
 | 
					        $nav->show();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function showPageNotice()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $notice = $this->user->noticesWithFriends(0, 1);
 | 
				
			||||||
 | 
					        if ($notice->count()) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $message = sprintf(_('This is the timeline for %s and friends but no one has posted anything yet.'), $this->user->nickname) . ' ';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (common_logged_in()) {
 | 
				
			||||||
 | 
					            $current_user = common_current_user();
 | 
				
			||||||
 | 
					            if ($this->user->id === $current_user->id) {
 | 
				
			||||||
 | 
					                $message .= _('Try subscribing to more people, [join a group](%%action.groups) or post something yourself.');
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                $message .= sprintf(_('You can try to [nudge %s](./) from his profile or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, '@' . $this->user->nickname);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->elementStart('div', 'guide');
 | 
				
			||||||
 | 
					        $this->raw(common_markup_to_html($message));
 | 
				
			||||||
 | 
					        $this->elementEnd('div');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function showContent()
 | 
					    function showContent()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
 | 
					        $notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -150,7 +150,7 @@ class FavoritedAction extends Action
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $message = _('Favorite notices appear on this page but noone has favorited one yet.') . ' ';
 | 
					        $message = _('Favorite notices appear on this page but no one has favorited one yet.') . ' ';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (common_logged_in()) {
 | 
					        if (common_logged_in()) {
 | 
				
			||||||
            $message .= _('Be the first to add a notice to your favorites by clicking the fave button next to any notice you like.');
 | 
					            $message .= _('Be the first to add a notice to your favorites by clicking the fave button next to any notice you like.');
 | 
				
			||||||
@@ -159,7 +159,7 @@ class FavoritedAction extends Action
 | 
				
			|||||||
            $message .= _('Why not [register an account](%%action.register%%) and be the first to add a notice to your favorites!');
 | 
					            $message .= _('Why not [register an account](%%action.register%%) and be the first to add a notice to your favorites!');
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->elementStart('div', 'blankfiller');
 | 
					        $this->elementStart('div', 'guide');
 | 
				
			||||||
        $this->raw(common_markup_to_html($message));
 | 
					        $this->raw(common_markup_to_html($message));
 | 
				
			||||||
        $this->elementEnd('div');
 | 
					        $this->elementEnd('div');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,12 +72,23 @@ class GroupsearchAction extends SearchAction
 | 
				
			|||||||
            $terms = preg_split('/[\s,]+/', $q);
 | 
					            $terms = preg_split('/[\s,]+/', $q);
 | 
				
			||||||
            $results = new GroupSearchResults($user_group, $terms, $this);
 | 
					            $results = new GroupSearchResults($user_group, $terms, $this);
 | 
				
			||||||
            $results->show();
 | 
					            $results->show();
 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            $this->element('p', 'error', _('No results'));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
            $user_group->free();
 | 
					            $user_group->free();
 | 
				
			||||||
            $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE,
 | 
					            $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE,
 | 
				
			||||||
                          $page, 'groupsearch', array('q' => $q));
 | 
					                          $page, 'groupsearch', array('q' => $q));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            $this->element('p', 'error', _('No results.'));
 | 
				
			||||||
 | 
					            $this->searchSuggestions($q);
 | 
				
			||||||
 | 
					            if (common_logged_in()) {
 | 
				
			||||||
 | 
					                $message = _('If you can\'t find the group you\'re looking for, you can [create it](%%action.newgroup%%) yourself.');
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                $message = _('Why not [register an account](%%action.register%%) and [create the group](%%action.newgroup%%) yourself!');
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            $this->elementStart('div', 'guide');
 | 
				
			||||||
 | 
					            $this->raw(common_markup_to_html($message));
 | 
				
			||||||
 | 
					            $this->elementEnd('div');
 | 
				
			||||||
 | 
					            $user_group->free();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -98,10 +109,5 @@ class GroupSearchResults extends GroupList
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text));
 | 
					        return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    function isReadOnly()
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,22 +114,27 @@ class NoticesearchAction extends SearchAction
 | 
				
			|||||||
            $cnt = $notice->find();
 | 
					            $cnt = $notice->find();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if ($cnt === 0) {
 | 
					        if ($cnt === 0) {
 | 
				
			||||||
            $this->element('p', 'error', _('No results'));
 | 
					            $this->element('p', 'error', _('No results.'));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $this->searchSuggestions($q);
 | 
				
			||||||
 | 
					            if (common_logged_in()) {
 | 
				
			||||||
 | 
					                $message = sprintf(_('Be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                $message = sprintf(_('Why not [register an account](%%%%action.register%%%%) and be the first to  [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $this->elementStart('div', 'guide');
 | 
				
			||||||
 | 
					            $this->raw(common_markup_to_html($message));
 | 
				
			||||||
 | 
					            $this->elementEnd('div');
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $terms = preg_split('/[\s,]+/', $q);
 | 
					        $terms = preg_split('/[\s,]+/', $q);
 | 
				
			||||||
        $nl = new SearchNoticeList($notice, $this, $terms);
 | 
					        $nl = new SearchNoticeList($notice, $this, $terms);
 | 
				
			||||||
 | 
					 | 
				
			||||||
        $cnt = $nl->show();
 | 
					        $cnt = $nl->show();
 | 
				
			||||||
 | 
					 | 
				
			||||||
        $this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
 | 
					        $this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
 | 
				
			||||||
                          $page, 'noticesearch', array('q' => $q));
 | 
					                          $page, 'noticesearch', array('q' => $q));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    function isReadOnly()
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class SearchNoticeList extends NoticeList {
 | 
					class SearchNoticeList extends NoticeList {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,14 +60,8 @@ class PeoplesearchAction extends SearchAction
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    function showResults($q, $page)
 | 
					    function showResults($q, $page)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					 | 
				
			||||||
        $profile = new Profile();
 | 
					        $profile = new Profile();
 | 
				
			||||||
 | 
					 | 
				
			||||||
        // lcase it for comparison
 | 
					 | 
				
			||||||
        // $q = strtolower($q);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        $search_engine = $profile->getSearchEngine('identica_people');
 | 
					        $search_engine = $profile->getSearchEngine('identica_people');
 | 
				
			||||||
 | 
					 | 
				
			||||||
        $search_engine->set_sort_mode('chron');
 | 
					        $search_engine->set_sort_mode('chron');
 | 
				
			||||||
        // Ask for an extra to see if there's more.
 | 
					        // Ask for an extra to see if there's more.
 | 
				
			||||||
        $search_engine->limit((($page-1)*PROFILES_PER_PAGE), PROFILES_PER_PAGE + 1);
 | 
					        $search_engine->limit((($page-1)*PROFILES_PER_PAGE), PROFILES_PER_PAGE + 1);
 | 
				
			||||||
@@ -81,14 +75,15 @@ class PeoplesearchAction extends SearchAction
 | 
				
			|||||||
            $terms = preg_split('/[\s,]+/', $q);
 | 
					            $terms = preg_split('/[\s,]+/', $q);
 | 
				
			||||||
            $results = new PeopleSearchResults($profile, $terms, $this);
 | 
					            $results = new PeopleSearchResults($profile, $terms, $this);
 | 
				
			||||||
            $results->show();
 | 
					            $results->show();
 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            $this->element('p', 'error', _('No results'));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            $profile->free();
 | 
					            $profile->free();
 | 
				
			||||||
 | 
					 | 
				
			||||||
            $this->pagination($page > 1, $cnt > PROFILES_PER_PAGE,
 | 
					            $this->pagination($page > 1, $cnt > PROFILES_PER_PAGE,
 | 
				
			||||||
                          $page, 'peoplesearch', array('q' => $q));
 | 
					                          $page, 'peoplesearch', array('q' => $q));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            $this->element('p', 'error', _('No results.'));
 | 
				
			||||||
 | 
					            $this->searchSuggestions($q);
 | 
				
			||||||
 | 
					            $profile->free();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -179,7 +179,7 @@ class PublicAction extends Action
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $message = _('This is the public timeline for %%site.name%% but noone has posted anything yet.') . ' ';
 | 
					        $message = _('This is the public timeline for %%site.name%% but no one has posted anything yet.') . ' ';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (common_logged_in()) {
 | 
					        if (common_logged_in()) {
 | 
				
			||||||
            $message .= _('Be the first to post!');
 | 
					            $message .= _('Be the first to post!');
 | 
				
			||||||
@@ -188,7 +188,7 @@ class PublicAction extends Action
 | 
				
			|||||||
            $message .= _('Why not [register an account](%%action.register%%) and be the first to post!');
 | 
					            $message .= _('Why not [register an account](%%action.register%%) and be the first to post!');
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->elementStart('div', 'blankfiller');
 | 
					        $this->elementStart('div', 'guide');
 | 
				
			||||||
        $this->raw(common_markup_to_html($message));
 | 
					        $this->raw(common_markup_to_html($message));
 | 
				
			||||||
        $this->elementEnd('div');
 | 
					        $this->elementEnd('div');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,7 +68,7 @@ class PublictagcloudAction extends Action
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $message = _('Noone has posted a notice with a [hashtag](%%doc.tags%%) yet.') . ' ';
 | 
					        $message = _('No one has posted a notice with a [hashtag](%%doc.tags%%) yet.') . ' ';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (common_logged_in()) {
 | 
					        if (common_logged_in()) {
 | 
				
			||||||
            $message .= _('Be the first to post one!');
 | 
					            $message .= _('Be the first to post one!');
 | 
				
			||||||
@@ -77,7 +77,7 @@ class PublictagcloudAction extends Action
 | 
				
			|||||||
            $message .= _('Why not [register an account](%%action.register%%) and be the first to post one!');
 | 
					            $message .= _('Why not [register an account](%%action.register%%) and be the first to post one!');
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->elementStart('div', 'blankfiller');
 | 
					        $this->elementStart('div', 'guide');
 | 
				
			||||||
        $this->raw(common_markup_to_html($message));
 | 
					        $this->raw(common_markup_to_html($message));
 | 
				
			||||||
        $this->elementEnd('div');
 | 
					        $this->elementEnd('div');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ VALUES
 | 
				
			|||||||
    ('mbpidgin','mbpidgin','http://code.google.com/p/microblog-purple/', now()),
 | 
					    ('mbpidgin','mbpidgin','http://code.google.com/p/microblog-purple/', now()),
 | 
				
			||||||
    ('Mobidentica', 'Mobidentica', 'http://www.substanceofcode.com/software/mobidentica/', now()),
 | 
					    ('Mobidentica', 'Mobidentica', 'http://www.substanceofcode.com/software/mobidentica/', now()),
 | 
				
			||||||
    ('moconica','Moconica','http://moconica.com/', now()),
 | 
					    ('moconica','Moconica','http://moconica.com/', now()),
 | 
				
			||||||
 | 
					    ('peoplebrowsr', 'PeopleBrowsr', 'http://www.peoplebrowsr.com/', now()),
 | 
				
			||||||
    ('pocketwit','PockeTwit','http://code.google.com/p/pocketwit/', now()),
 | 
					    ('pocketwit','PockeTwit','http://code.google.com/p/pocketwit/', now()),
 | 
				
			||||||
    ('posty','Posty','http://spreadingfunkyness.com/posty/', now()),
 | 
					    ('posty','Posty','http://spreadingfunkyness.com/posty/', now()),
 | 
				
			||||||
    ('royalewithcheese','Royale With Cheese','http://p.hellyeah.org/', now()),
 | 
					    ('royalewithcheese','Royale With Cheese','http://p.hellyeah.org/', now()),
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								doc-src/bookmarklet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								doc-src/bookmarklet
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					A bookmarklet is a small piece of javascript code used as a bookmark. This one will let you post to %%site.name%% simply by selecting some text on a page and pressing the bookmarklet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Drag-and-drop the following link to your bookmarks bar or right-click it and add it to your browser favorites to keep it handy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<MTMarkdownOptions output='raw'>
 | 
				
			||||||
 | 
					<a href="javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://%%site.server%%/%%site.path%%/notice/new',l=d.location,e=encodeURIComponent,g=f+'?status_textarea=%22'+e(s)+'%22 from '+l.href;function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=720,height=570')){l.href=g;}}a();void(0);">Post to %%site.name%%</a>
 | 
				
			||||||
 | 
					</MTMarkdownOptions>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -402,13 +402,8 @@ class Action extends HTMLOutputter // lawsuit
 | 
				
			|||||||
            if ($user) {
 | 
					            if ($user) {
 | 
				
			||||||
                $this->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
 | 
					                $this->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
 | 
				
			||||||
                                _('Home'), _('Personal profile and friends timeline'), false, 'nav_home');
 | 
					                                _('Home'), _('Personal profile and friends timeline'), false, 'nav_home');
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            $this->menuItem(common_local_url('peoplesearch'),
 | 
					 | 
				
			||||||
                            _('Search'), _('Search for people or text'), false, 'nav_search');
 | 
					 | 
				
			||||||
            if ($user) {
 | 
					 | 
				
			||||||
                $this->menuItem(common_local_url('profilesettings'),
 | 
					                $this->menuItem(common_local_url('profilesettings'),
 | 
				
			||||||
                                _('Account'), _('Change your email, avatar, password, profile'), false, 'nav_account');
 | 
					                                _('Account'), _('Change your email, avatar, password, profile'), false, 'nav_account');
 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (common_config('xmpp', 'enabled')) {
 | 
					                if (common_config('xmpp', 'enabled')) {
 | 
				
			||||||
                    $this->menuItem(common_local_url('imsettings'),
 | 
					                    $this->menuItem(common_local_url('imsettings'),
 | 
				
			||||||
                                    _('Connect'), _('Connect to IM, SMS, Twitter'), false, 'nav_connect');
 | 
					                                    _('Connect'), _('Connect to IM, SMS, Twitter'), false, 'nav_connect');
 | 
				
			||||||
@@ -416,20 +411,28 @@ class Action extends HTMLOutputter // lawsuit
 | 
				
			|||||||
                    $this->menuItem(common_local_url('smssettings'),
 | 
					                    $this->menuItem(common_local_url('smssettings'),
 | 
				
			||||||
                                    _('Connect'), _('Connect to SMS, Twitter'), false, 'nav_connect');
 | 
					                                    _('Connect'), _('Connect to SMS, Twitter'), false, 'nav_connect');
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                $this->menuItem(common_local_url('invite'),
 | 
				
			||||||
 | 
					                                 _('Invite'),
 | 
				
			||||||
 | 
					                                 sprintf(_('Invite friends and colleagues to join you on %s'),
 | 
				
			||||||
 | 
					                                 common_config('site', 'name')),
 | 
				
			||||||
 | 
					                                 false, 'nav_invitecontact');
 | 
				
			||||||
                $this->menuItem(common_local_url('logout'),
 | 
					                $this->menuItem(common_local_url('logout'),
 | 
				
			||||||
                                _('Logout'), _('Logout from the site'), false, 'nav_logout');
 | 
					                                _('Logout'), _('Logout from the site'), false, 'nav_logout');
 | 
				
			||||||
            } else {
 | 
					            }
 | 
				
			||||||
                $this->menuItem(common_local_url('login'),
 | 
					            else {
 | 
				
			||||||
                                _('Login'), _('Login to the site'), false, 'nav_login');
 | 
					 | 
				
			||||||
                if (!common_config('site', 'closed')) {
 | 
					                if (!common_config('site', 'closed')) {
 | 
				
			||||||
                    $this->menuItem(common_local_url('register'),
 | 
					                    $this->menuItem(common_local_url('register'),
 | 
				
			||||||
                                    _('Register'), _('Create an account'), false, 'nav_register');
 | 
					                                    _('Register'), _('Create an account'), false, 'nav_register');
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                $this->menuItem(common_local_url('openidlogin'),
 | 
					                $this->menuItem(common_local_url('openidlogin'),
 | 
				
			||||||
                                _('OpenID'), _('Login with OpenID'), false, 'nav_openid');
 | 
					                                _('OpenID'), _('Login with OpenID'), false, 'nav_openid');
 | 
				
			||||||
 | 
					                $this->menuItem(common_local_url('login'),
 | 
				
			||||||
 | 
					                                _('Login'), _('Login to the site'), false, 'nav_login');
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            $this->menuItem(common_local_url('doc', array('title' => 'help')),
 | 
					            $this->menuItem(common_local_url('doc', array('title' => 'help')),
 | 
				
			||||||
                            _('Help'), _('Help me!'), false, 'nav_help');
 | 
					                            _('Help'), _('Help me!'), false, 'nav_help');
 | 
				
			||||||
 | 
					            $this->menuItem(common_local_url('peoplesearch'),
 | 
				
			||||||
 | 
					                            _('Search'), _('Search for people or text'), false, 'nav_search');
 | 
				
			||||||
            Event::handle('EndPrimaryNav', array($this));
 | 
					            Event::handle('EndPrimaryNav', array($this));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $this->elementEnd('ul');
 | 
					        $this->elementEnd('ul');
 | 
				
			||||||
@@ -923,11 +926,15 @@ class Action extends HTMLOutputter // lawsuit
 | 
				
			|||||||
     *
 | 
					     *
 | 
				
			||||||
     * @return string current URL
 | 
					     * @return string current URL
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function selfUrl()
 | 
					    function selfUrl()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $action = $this->trimmed('action');
 | 
					        $action = $this->trimmed('action');
 | 
				
			||||||
        $args   = $this->args;
 | 
					        $args   = $this->args;
 | 
				
			||||||
        unset($args['action']);
 | 
					        unset($args['action']);
 | 
				
			||||||
 | 
					        if (array_key_exists('submit', $args)) {
 | 
				
			||||||
 | 
					            unset($args['submit']);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        foreach (array_keys($_COOKIE) as $cookie) {
 | 
					        foreach (array_keys($_COOKIE) as $cookie) {
 | 
				
			||||||
            unset($args[$cookie]);
 | 
					            unset($args[$cookie]);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ class GalleryAction extends Action
 | 
				
			|||||||
            if ($this->arg('page') && $this->arg('page') != 1) {
 | 
					            if ($this->arg('page') && $this->arg('page') != 1) {
 | 
				
			||||||
                $args['page'] = $this->arg['page'];
 | 
					                $args['page'] = $this->arg['page'];
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            common_redirect(common_local_url('subscriptions', $args), 301);
 | 
					            common_redirect(common_local_url($this->trimmed('action'), $args), 301);
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -71,6 +71,7 @@ class GalleryAction extends Action
 | 
				
			|||||||
        $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
 | 
					        $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->tag = $this->trimmed('tag');
 | 
					        $this->tag = $this->trimmed('tag');
 | 
				
			||||||
 | 
					        $this->q   = $this->trimmed('q');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -87,7 +88,7 @@ class GalleryAction extends Action
 | 
				
			|||||||
		# Post from the tag dropdown; redirect to a GET
 | 
							# Post from the tag dropdown; redirect to a GET
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($_SERVER['REQUEST_METHOD'] == 'POST') {
 | 
							if ($_SERVER['REQUEST_METHOD'] == 'POST') {
 | 
				
			||||||
		    common_redirect($this->selfUrl(), 307);
 | 
							    common_redirect($this->selfUrl(), 303);
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -136,7 +137,7 @@ class GalleryAction extends Action
 | 
				
			|||||||
                                               'method' => 'post'));
 | 
					                                               'method' => 'post'));
 | 
				
			||||||
            $this->dropdown('tag', _('Tag'), $content,
 | 
					            $this->dropdown('tag', _('Tag'), $content,
 | 
				
			||||||
                            _('Choose a tag to narrow list'), false, $tag);
 | 
					                            _('Choose a tag to narrow list'), false, $tag);
 | 
				
			||||||
            $this->submit('go', _('Go'));
 | 
					            $this->submit('submit', _('Go'));
 | 
				
			||||||
            $this->elementEnd('form');
 | 
					            $this->elementEnd('form');
 | 
				
			||||||
            $this->elementEnd('li');
 | 
					            $this->elementEnd('li');
 | 
				
			||||||
            $this->elementEnd('ul');
 | 
					            $this->elementEnd('ul');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -133,5 +133,31 @@ class SearchAction extends Action
 | 
				
			|||||||
            $this->showResults($q, $page);
 | 
					            $this->showResults($q, $page);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function searchSuggestions($q) {
 | 
				
			||||||
 | 
					        $qe = urlencode($q);
 | 
				
			||||||
 | 
					        $message = sprintf(_(<<<E_O_T
 | 
				
			||||||
 | 
					* Make sure all words are spelled correctly.
 | 
				
			||||||
 | 
					* Try different keywords.
 | 
				
			||||||
 | 
					* Try more general keywords.
 | 
				
			||||||
 | 
					* Try fewer keywords.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can also try your search on other engines:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* [Twingly](http://www.twingly.com/search?q=%s&content=microblog&site=identi.ca)
 | 
				
			||||||
 | 
					* [Tweet scan](http://www.tweetscan.com/indexi.php?s=%s)
 | 
				
			||||||
 | 
					* [Google](http://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)
 | 
				
			||||||
 | 
					* [Yahoo](http://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					E_O_T
 | 
				
			||||||
 | 
					), $qe, $qe, $qe, $qe);
 | 
				
			||||||
 | 
					        $this->elementStart('dl', array('id' => 'help_search', 'class' => 'help'));
 | 
				
			||||||
 | 
					        $this->element('dt', null, _('Search help'));
 | 
				
			||||||
 | 
					        $this->elementStart('dd', 'instructions');
 | 
				
			||||||
 | 
					        $this->raw(common_markup_to_html($message));
 | 
				
			||||||
 | 
					        $this->elementEnd('dd');
 | 
				
			||||||
 | 
					        $this->elementEnd('div');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,14 @@
 | 
				
			|||||||
 | 
					# This version needs to match the tarball and unpacked directory name.
 | 
				
			||||||
 | 
					%define LACVER 0.7.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BuildRequires:	php-pear
 | 
					BuildRequires:	php-pear
 | 
				
			||||||
BuildRequires:	httpd-devel
 | 
					BuildRequires:	httpd-devel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Name:           laconica
 | 
					Name:           laconica
 | 
				
			||||||
Version:        0.7.2
 | 
					Version:        %{LACVER}
 | 
				
			||||||
Release:        1%{?dist}
 | 
					Release:        1%{?dist}
 | 
				
			||||||
License:        GAGPL v3 or later
 | 
					License:        GAGPL v3 or later
 | 
				
			||||||
Source:         laconica-0.7.2.tar.gz
 | 
					Source:         laconica-%{version}.tar.gz
 | 
				
			||||||
Group:          Applications/Internet
 | 
					Group:          Applications/Internet
 | 
				
			||||||
Summary:        Laconica, the Open Source microblogging platform
 | 
					Summary:        Laconica, the Open Source microblogging platform
 | 
				
			||||||
BuildArch:      noarch
 | 
					BuildArch:      noarch
 | 
				
			||||||
@@ -49,6 +52,8 @@ cp -a * %{buildroot}%{wwwpath}
 | 
				
			|||||||
mkdir -p %{buildroot}%{_datadir}/laconica
 | 
					mkdir -p %{buildroot}%{_datadir}/laconica
 | 
				
			||||||
cp -a db %{buildroot}%{_datadir}/laconica/db
 | 
					cp -a db %{buildroot}%{_datadir}/laconica/db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mkdir -p %{buildroot}%{_datadir}/laconica/avatar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
 | 
					mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
 | 
				
			||||||
cat > %{buildroot}%{_sysconfdir}/httpd/conf.d/laconica.conf <<"EOF"
 | 
					cat > %{buildroot}%{_sysconfdir}/httpd/conf.d/laconica.conf <<"EOF"
 | 
				
			||||||
Alias /laconica/ "/var/www/laconica/"
 | 
					Alias /laconica/ "/var/www/laconica/"
 | 
				
			||||||
@@ -74,6 +79,12 @@ rm -rf %buildroot
 | 
				
			|||||||
%config(noreplace) %{_sysconfdir}/httpd/conf.d/laconica.conf
 | 
					%config(noreplace) %{_sysconfdir}/httpd/conf.d/laconica.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%changelog
 | 
					%changelog
 | 
				
			||||||
 | 
					* Wed Apr 03 2009 Zach Copley <zach@controlyourself.ca> - 0.7.3
 | 
				
			||||||
 | 
					- Changed version number to 0.7.3.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fri Mar 13 2009 Ken Sedgwick <ksedgwic@bonsai.com> - 0.7.2.1-1
 | 
				
			||||||
 | 
					- Factored laconica version to the first line of the file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Wed Mar 03 2009 Zach Copley <zach@controlyourself.ca> - 0.7.2
 | 
					* Wed Mar 03 2009 Zach Copley <zach@controlyourself.ca> - 0.7.2
 | 
				
			||||||
- Changed version number to 0.7.2.
 | 
					- Changed version number to 0.7.2.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,12 +83,13 @@ left:0;
 | 
				
			|||||||
border:0;
 | 
					border:0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#page_notice .error,
 | 
					.error,
 | 
				
			||||||
#page_notice .success {
 | 
					.success {
 | 
				
			||||||
padding:4px 7px;
 | 
					padding:4px 7px;
 | 
				
			||||||
border-radius:4px;
 | 
					border-radius:4px;
 | 
				
			||||||
-moz-border-radius:4px;
 | 
					-moz-border-radius:4px;
 | 
				
			||||||
-webkit-border-radius:4px;
 | 
					-webkit-border-radius:4px;
 | 
				
			||||||
 | 
					margin-bottom:18px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
form label.submit {
 | 
					form label.submit {
 | 
				
			||||||
display:none;
 | 
					display:none;
 | 
				
			||||||
@@ -384,6 +385,7 @@ margin-bottom:1em;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#content {
 | 
					#content {
 | 
				
			||||||
width:64.009%;
 | 
					width:64.009%;
 | 
				
			||||||
 | 
					min-height:259px;
 | 
				
			||||||
padding:1.795%;
 | 
					padding:1.795%;
 | 
				
			||||||
float:left;
 | 
					float:left;
 | 
				
			||||||
border-radius:7px;
 | 
					border-radius:7px;
 | 
				
			||||||
@@ -403,6 +405,7 @@ float:left;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#aside_primary {
 | 
					#aside_primary {
 | 
				
			||||||
width:27.917%;
 | 
					width:27.917%;
 | 
				
			||||||
 | 
					min-height:259px;
 | 
				
			||||||
float:left;
 | 
					float:left;
 | 
				
			||||||
margin-left:0.395%;
 | 
					margin-left:0.395%;
 | 
				
			||||||
padding:1.795%;
 | 
					padding:1.795%;
 | 
				
			||||||
@@ -1143,4 +1146,13 @@ clear:both;
 | 
				
			|||||||
margin-bottom:0;
 | 
					margin-bottom:0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.instructions ul {
 | 
				
			||||||
 | 
					list-style-position:inside;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.instructions p,
 | 
				
			||||||
 | 
					.instructions ul {
 | 
				
			||||||
 | 
					margin-bottom:18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.help dt {
 | 
				
			||||||
 | 
					display:none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,6 @@ background:none;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
input.submit,
 | 
					input.submit,
 | 
				
			||||||
#form_notice.warning #notice_text-count,
 | 
					#form_notice.warning #notice_text-count,
 | 
				
			||||||
#nav_register a,
 | 
					 | 
				
			||||||
.form_settings .form_note,
 | 
					.form_settings .form_note,
 | 
				
			||||||
.entity_remote_subscribe {
 | 
					.entity_remote_subscribe {
 | 
				
			||||||
background-color:#A9BF4F;
 | 
					background-color:#A9BF4F;
 | 
				
			||||||
@@ -48,7 +47,6 @@ input:focus, textarea:focus, select:focus,
 | 
				
			|||||||
border-color:#A9BF4F;
 | 
					border-color:#A9BF4F;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
input.submit,
 | 
					input.submit,
 | 
				
			||||||
#nav_register a,
 | 
					 | 
				
			||||||
.entity_remote_subscribe {
 | 
					.entity_remote_subscribe {
 | 
				
			||||||
color:#fff;
 | 
					color:#fff;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -97,13 +95,6 @@ cursor:wait;
 | 
				
			|||||||
text-indent:-9999px;
 | 
					text-indent:-9999px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#nav_register a {
 | 
					 | 
				
			||||||
text-decoration:none;
 | 
					 | 
				
			||||||
font-weight:bold;
 | 
					 | 
				
			||||||
padding:2px 4px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#content,
 | 
					#content,
 | 
				
			||||||
#site_nav_local_views a,
 | 
					#site_nav_local_views a,
 | 
				
			||||||
#aside_primary {
 | 
					#aside_primary {
 | 
				
			||||||
@@ -122,10 +113,10 @@ background-color:rgba(255, 255, 255, 0.7);
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#page_notice .error {
 | 
					.error {
 | 
				
			||||||
background-color:#F7E8E8;
 | 
					background-color:#F7E8E8;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#page_notice .success {
 | 
					.success {
 | 
				
			||||||
background-color:#EFF3DC;
 | 
					background-color:#EFF3DC;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,6 @@ background:none;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
input.submit,
 | 
					input.submit,
 | 
				
			||||||
#form_notice.warning #notice_text-count,
 | 
					#form_notice.warning #notice_text-count,
 | 
				
			||||||
#nav_register a,
 | 
					 | 
				
			||||||
.form_settings .form_note,
 | 
					.form_settings .form_note,
 | 
				
			||||||
.entity_remote_subscribe {
 | 
					.entity_remote_subscribe {
 | 
				
			||||||
background-color:#9BB43E;
 | 
					background-color:#9BB43E;
 | 
				
			||||||
@@ -48,7 +47,6 @@ input:focus, textarea:focus, select:focus,
 | 
				
			|||||||
border-color:#9BB43E;
 | 
					border-color:#9BB43E;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
input.submit,
 | 
					input.submit,
 | 
				
			||||||
#nav_register a,
 | 
					 | 
				
			||||||
.entity_remote_subscribe {
 | 
					.entity_remote_subscribe {
 | 
				
			||||||
color:#fff;
 | 
					color:#fff;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -97,12 +95,6 @@ cursor:wait;
 | 
				
			|||||||
text-indent:-9999px;
 | 
					text-indent:-9999px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#nav_register a {
 | 
					 | 
				
			||||||
text-decoration:none;
 | 
					 | 
				
			||||||
font-weight:bold;
 | 
					 | 
				
			||||||
padding:2px 4px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#content,
 | 
					#content,
 | 
				
			||||||
#site_nav_local_views a,
 | 
					#site_nav_local_views a,
 | 
				
			||||||
#aside_primary {
 | 
					#aside_primary {
 | 
				
			||||||
@@ -121,10 +113,10 @@ background-color:rgba(255, 255, 255, 0.7);
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#page_notice .error {
 | 
					.error {
 | 
				
			||||||
background-color:#F7E8E8;
 | 
					background-color:#F7E8E8;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#page_notice .success {
 | 
					.success {
 | 
				
			||||||
background-color:#EFF3DC;
 | 
					background-color:#EFF3DC;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user