Search form markup and style

This commit is contained in:
sarven 2009-01-24 00:58:12 +00:00
parent 57ba50c4c8
commit 18eb40c988
4 changed files with 77 additions and 32 deletions

View File

@ -8,6 +8,7 @@
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @author Robin Millette <millette@controlyourself.ca>
* @author Sarven Capadisli <csarven@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://laconi.ca/
*
@ -90,7 +91,7 @@ class NoticesearchAction extends SearchAction
}
if ($cnt > 0) {
$terms = preg_split('/[\s,]+/', $q);
$this->elementStart('ul', array('id' => 'notices'));
$this->elementStart('ul', array('class' => 'notices'));
for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
if ($notice->fetch()) {
$this->showNotice($notice, $terms);
@ -147,23 +148,26 @@ class NoticesearchAction extends SearchAction
return;
}
// XXX: RDFa
$this->elementStart('li', array('class' => 'notice_single',
$this->elementStart('li', array('class' => 'hentry notice',
'id' => 'notice-' . $notice->id));
$this->elementStart('div', 'entry-title');
$this->elementStart('span', 'vcard author');
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
$this->elementStart('a', array('href' => $profile->profileurl));
$this->element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE),
'class' => 'avatar stream',
'class' => 'avatar photo',
'width' => AVATAR_STREAM_SIZE,
'height' => AVATAR_STREAM_SIZE,
'alt' =>
($profile->fullname) ? $profile->fullname :
$profile->nickname));
$this->element('span', 'nickname fn', $profile->nickname);
$this->elementEnd('a');
$this->element('a', array('href' => $profile->profileurl,
'class' => 'nickname'),
$profile->nickname);
$this->elementEnd('span');
// FIXME: URL, image, video, audio
$this->elementStart('p', array('class' => 'content'));
$this->elementStart('p', array('class' => 'entry-content'));
if ($notice->rendered) {
$this->raw($this->highlight($notice->rendered, $terms));
} else {
@ -173,20 +177,52 @@ class NoticesearchAction extends SearchAction
$this->raw($this->highlight(common_render_content($notice->content, $notice), $terms));
}
$this->elementEnd('p');
$this->elementEnd('div');
$noticeurl = common_local_url('shownotice', array('notice' => $notice->id));
$this->elementStart('p', 'time');
$this->element('a', array('class' => 'permalink',
'href' => $noticeurl,
'title' => common_exact_date($notice->created)),
common_date_string($notice->created));
$this->elementStart('div', 'entry-content');
$this->elementStart('dl', 'timestamp');
$this->element('dt', null, _('Published'));
$this->elementStart('dd', null);
$this->elementStart('a', array('rel' => 'bookmark',
'href' => $noticeurl));
$dt = common_date_iso8601($notice->created);
$this->element('abbr', array('class' => 'published',
'title' => $dt),
common_date_string($notice->created));
$this->elementEnd('a');
$this->elementEnd('dd');
$this->elementEnd('dl');
$this->elementEnd('div');
$this->elementStart('div', 'notice-options');
if ($notice->reply_to) {
$replyurl = common_local_url('shownotice', array('notice' => $notice->reply_to));
$this->text(' (');
$this->element('a', array('class' => 'inreplyto',
'href' => $replyurl),
_('in reply to...'));
$this->text(')');
$replyurl = common_local_url('shownotice',
array('notice' => $this->notice->reply_to));
$this->elementStart('dl', 'response');
$this->element('dt', null, _('To'));
$this->elementStart('dd');
$this->element('a', array('href' => $replyurl,
'rel' => 'in-reply-to'),
_('in reply to'));
$this->elementEnd('dd');
$this->elementEnd('dl');
}
$reply_url = common_local_url('newnotice',
array('replyto' => $profile->nickname));
$this->elementStart('dl', 'notice_reply');
$this->element('dt', null, _('Reply to this notice'));
$this->elementStart('dd');
$this->elementStart('a', array('href' => $reply_url,
'title' => _('Reply to this notice')));
$this->text(_('Reply'));
$this->element('span', 'notice_id', $notice->id);
$this->elementEnd('a');
$this->elementEnd('dd');
$this->elementEnd('dl');
$this->elementStart('a',
array('href' => common_local_url('newnotice',
array('replyto' => $profile->nickname)),
@ -194,10 +230,8 @@ class NoticesearchAction extends SearchAction
'title' => _('reply'),
'class' => 'replybutton'));
$this->hidden('posttoken', common_session_token());
$this->raw('&rarr;');
$this->elementEnd('a');
$this->elementEnd('p');
$this->elementEnd('div');
$this->elementEnd('li');
}

View File

@ -114,17 +114,21 @@ class SearchAction extends Action
$q = $this->trimmed('q');
$page = $this->trimmed('page', 1);
$this->elementStart('form', array('method' => 'get',
'id' => 'login',
'id' => 'form_search',
'class' => 'form_settings',
'action' => common_local_url($this->trimmed('action'))));
$this->elementStart('p');
$this->elementStart('fieldset');
$this->element('legend', null, _('Search site'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
if (!isset($config['site']['fancy']) || !$config['site']['fancy']) {
$this->hidden('action', $this->trimmed('action'));
}
$this->input('q', '', $q);
$this->text(' ');
$this->input('q', 'Keyword(s)', $q);
$this->submit('search', 'Search');
$this->elementEnd('p');
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('fieldset');
$this->elementEnd('form');
if ($q) {
$this->showResults($q, $page);

View File

@ -82,7 +82,7 @@ class SearchGroupNav extends Widget
$this->out->menuItem(common_local_url('noticesearch', $args), _('Notice'),
_('Find content of notices'), $action_name == 'noticesearch', 'nav_search_notice');
$this->out->menuItem(common_local_url('groupsearch', $args), _('Group'),
_('Find groups on this site'), $action_name == 'groupsearch', 'nav_search_notice');
_('Find groups on this site'), $action_name == 'groupsearch', 'nav_search_group');
$this->action->elementEnd('ul');
}
}

View File

@ -151,7 +151,8 @@ font-weight:bold;
#editgroup legend,
#form_tag_user legend,
#form_remote_subscribe legend,
#form_openid_login legend {
#form_openid_login legend,
#form_search legend {
display:none;
}
@ -181,7 +182,8 @@ width:90%;
#form_login p.form_guide,
#form_register #settings_rememberme p.form_guide,
#form_openid_login #settings_rememberme p.form_guide,
#settings_twitter_remove p.form_guide {
#settings_twitter_remove p.form_guide,
#form_search ul.form_data #q {
margin-left:0;
}
@ -192,6 +194,11 @@ border-radius:4px;
padding:0 7px;
}
#form_search .submit {
margin-left:11px;
}
address {
float:left;
@ -627,11 +634,11 @@ border-radius:4px;
.entity_tags ul {
list-style-type:none;
display:inline;
}
.entity_tags li {
display:inline;
margin-right:1em;
float:left;
margin-right:4px;
}
.aside .section {