Search form markup and style
This commit is contained in:
parent
57ba50c4c8
commit
18eb40c988
|
@ -8,6 +8,7 @@
|
||||||
* @package Laconica
|
* @package Laconica
|
||||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||||
* @author Robin Millette <millette@controlyourself.ca>
|
* @author Robin Millette <millette@controlyourself.ca>
|
||||||
|
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
||||||
* @link http://laconi.ca/
|
* @link http://laconi.ca/
|
||||||
*
|
*
|
||||||
|
@ -90,7 +91,7 @@ class NoticesearchAction extends SearchAction
|
||||||
}
|
}
|
||||||
if ($cnt > 0) {
|
if ($cnt > 0) {
|
||||||
$terms = preg_split('/[\s,]+/', $q);
|
$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++) {
|
for ($i = 0; $i < min($cnt, NOTICES_PER_PAGE); $i++) {
|
||||||
if ($notice->fetch()) {
|
if ($notice->fetch()) {
|
||||||
$this->showNotice($notice, $terms);
|
$this->showNotice($notice, $terms);
|
||||||
|
@ -147,23 +148,26 @@ class NoticesearchAction extends SearchAction
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// XXX: RDFa
|
// XXX: RDFa
|
||||||
$this->elementStart('li', array('class' => 'notice_single',
|
$this->elementStart('li', array('class' => 'hentry notice',
|
||||||
'id' => 'notice-' . $notice->id));
|
'id' => 'notice-' . $notice->id));
|
||||||
|
|
||||||
|
$this->elementStart('div', 'entry-title');
|
||||||
|
$this->elementStart('span', 'vcard author');
|
||||||
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
|
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
|
||||||
$this->elementStart('a', array('href' => $profile->profileurl));
|
$this->elementStart('a', array('href' => $profile->profileurl));
|
||||||
$this->element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE),
|
$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,
|
'width' => AVATAR_STREAM_SIZE,
|
||||||
'height' => AVATAR_STREAM_SIZE,
|
'height' => AVATAR_STREAM_SIZE,
|
||||||
'alt' =>
|
'alt' =>
|
||||||
($profile->fullname) ? $profile->fullname :
|
($profile->fullname) ? $profile->fullname :
|
||||||
$profile->nickname));
|
$profile->nickname));
|
||||||
|
$this->element('span', 'nickname fn', $profile->nickname);
|
||||||
$this->elementEnd('a');
|
$this->elementEnd('a');
|
||||||
$this->element('a', array('href' => $profile->profileurl,
|
$this->elementEnd('span');
|
||||||
'class' => 'nickname'),
|
|
||||||
$profile->nickname);
|
|
||||||
// FIXME: URL, image, video, audio
|
// FIXME: URL, image, video, audio
|
||||||
$this->elementStart('p', array('class' => 'content'));
|
$this->elementStart('p', array('class' => 'entry-content'));
|
||||||
if ($notice->rendered) {
|
if ($notice->rendered) {
|
||||||
$this->raw($this->highlight($notice->rendered, $terms));
|
$this->raw($this->highlight($notice->rendered, $terms));
|
||||||
} else {
|
} else {
|
||||||
|
@ -173,20 +177,52 @@ class NoticesearchAction extends SearchAction
|
||||||
$this->raw($this->highlight(common_render_content($notice->content, $notice), $terms));
|
$this->raw($this->highlight(common_render_content($notice->content, $notice), $terms));
|
||||||
}
|
}
|
||||||
$this->elementEnd('p');
|
$this->elementEnd('p');
|
||||||
|
$this->elementEnd('div');
|
||||||
|
|
||||||
$noticeurl = common_local_url('shownotice', array('notice' => $notice->id));
|
$noticeurl = common_local_url('shownotice', array('notice' => $notice->id));
|
||||||
$this->elementStart('p', 'time');
|
$this->elementStart('div', 'entry-content');
|
||||||
$this->element('a', array('class' => 'permalink',
|
$this->elementStart('dl', 'timestamp');
|
||||||
'href' => $noticeurl,
|
$this->element('dt', null, _('Published'));
|
||||||
'title' => common_exact_date($notice->created)),
|
$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));
|
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) {
|
if ($notice->reply_to) {
|
||||||
$replyurl = common_local_url('shownotice', array('notice' => $notice->reply_to));
|
$replyurl = common_local_url('shownotice',
|
||||||
$this->text(' (');
|
array('notice' => $this->notice->reply_to));
|
||||||
$this->element('a', array('class' => 'inreplyto',
|
$this->elementStart('dl', 'response');
|
||||||
'href' => $replyurl),
|
$this->element('dt', null, _('To'));
|
||||||
_('in reply to...'));
|
$this->elementStart('dd');
|
||||||
$this->text(')');
|
$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',
|
$this->elementStart('a',
|
||||||
array('href' => common_local_url('newnotice',
|
array('href' => common_local_url('newnotice',
|
||||||
array('replyto' => $profile->nickname)),
|
array('replyto' => $profile->nickname)),
|
||||||
|
@ -194,10 +230,8 @@ class NoticesearchAction extends SearchAction
|
||||||
'title' => _('reply'),
|
'title' => _('reply'),
|
||||||
'class' => 'replybutton'));
|
'class' => 'replybutton'));
|
||||||
$this->hidden('posttoken', common_session_token());
|
$this->hidden('posttoken', common_session_token());
|
||||||
|
|
||||||
$this->raw('→');
|
|
||||||
$this->elementEnd('a');
|
$this->elementEnd('a');
|
||||||
$this->elementEnd('p');
|
$this->elementEnd('div');
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -114,17 +114,21 @@ class SearchAction extends Action
|
||||||
$q = $this->trimmed('q');
|
$q = $this->trimmed('q');
|
||||||
$page = $this->trimmed('page', 1);
|
$page = $this->trimmed('page', 1);
|
||||||
$this->elementStart('form', array('method' => 'get',
|
$this->elementStart('form', array('method' => 'get',
|
||||||
'id' => 'login',
|
'id' => 'form_search',
|
||||||
|
'class' => 'form_settings',
|
||||||
'action' => common_local_url($this->trimmed('action'))));
|
'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']) {
|
if (!isset($config['site']['fancy']) || !$config['site']['fancy']) {
|
||||||
$this->hidden('action', $this->trimmed('action'));
|
$this->hidden('action', $this->trimmed('action'));
|
||||||
}
|
}
|
||||||
$this->input('q', '', $q);
|
$this->input('q', 'Keyword(s)', $q);
|
||||||
$this->text(' ');
|
|
||||||
$this->submit('search', 'Search');
|
$this->submit('search', 'Search');
|
||||||
|
$this->elementEnd('li');
|
||||||
$this->elementEnd('p');
|
$this->elementEnd('ul');
|
||||||
|
$this->elementEnd('fieldset');
|
||||||
$this->elementEnd('form');
|
$this->elementEnd('form');
|
||||||
if ($q) {
|
if ($q) {
|
||||||
$this->showResults($q, $page);
|
$this->showResults($q, $page);
|
||||||
|
|
|
@ -82,7 +82,7 @@ class SearchGroupNav extends Widget
|
||||||
$this->out->menuItem(common_local_url('noticesearch', $args), _('Notice'),
|
$this->out->menuItem(common_local_url('noticesearch', $args), _('Notice'),
|
||||||
_('Find content of notices'), $action_name == 'noticesearch', 'nav_search_notice');
|
_('Find content of notices'), $action_name == 'noticesearch', 'nav_search_notice');
|
||||||
$this->out->menuItem(common_local_url('groupsearch', $args), _('Group'),
|
$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');
|
$this->action->elementEnd('ul');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,7 +151,8 @@ font-weight:bold;
|
||||||
#editgroup legend,
|
#editgroup legend,
|
||||||
#form_tag_user legend,
|
#form_tag_user legend,
|
||||||
#form_remote_subscribe legend,
|
#form_remote_subscribe legend,
|
||||||
#form_openid_login legend {
|
#form_openid_login legend,
|
||||||
|
#form_search legend {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +182,8 @@ width:90%;
|
||||||
#form_login p.form_guide,
|
#form_login p.form_guide,
|
||||||
#form_register #settings_rememberme p.form_guide,
|
#form_register #settings_rememberme p.form_guide,
|
||||||
#form_openid_login #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;
|
margin-left:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,6 +194,11 @@ border-radius:4px;
|
||||||
padding:0 7px;
|
padding:0 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#form_search .submit {
|
||||||
|
margin-left:11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
address {
|
address {
|
||||||
float:left;
|
float:left;
|
||||||
|
@ -627,11 +634,11 @@ border-radius:4px;
|
||||||
|
|
||||||
.entity_tags ul {
|
.entity_tags ul {
|
||||||
list-style-type:none;
|
list-style-type:none;
|
||||||
|
display:inline;
|
||||||
}
|
}
|
||||||
.entity_tags li {
|
.entity_tags li {
|
||||||
display:inline;
|
display:inline;
|
||||||
margin-right:1em;
|
margin-right:4px;
|
||||||
float:left;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.aside .section {
|
.aside .section {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user