From 4b42c3526985a497418db7fbcfe1e7912bb5474d Mon Sep 17 00:00:00 2001 From: sarven Date: Wed, 21 Jan 2009 22:44:27 +0000 Subject: General markup and style cleanup --- lib/groupeditform.php | 18 +++++++++++++++--- lib/groupminilist.php | 6 +++--- lib/profileminilist.php | 4 ++-- 3 files changed, 20 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/groupeditform.php b/lib/groupeditform.php index f6e326078..14205d250 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -78,9 +78,9 @@ class GroupEditForm extends Form function id() { if ($this->group) { - return 'group_edit-' . $this->group->id; + return 'form_group_edit-' . $this->group->id; } else { - return 'group_add'; + return 'form_group_add'; } } @@ -92,7 +92,7 @@ class GroupEditForm extends Form function formClass() { - return 'form_group_add'; + return 'form_settings'; } /** @@ -111,6 +111,18 @@ class GroupEditForm extends Form } } + + /** + * Name of the form + * + * @return void + */ + + function formLegend() + { + $this->out->element('legend', null, _('Create a new group')); + } + /** * Data elements of the form * diff --git a/lib/groupminilist.php b/lib/groupminilist.php index e4d4c68fd..f40a67b0c 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -49,7 +49,7 @@ class GroupMiniList extends GroupList { function show() { - $this->out->elementStart('ul', 'groups'); + $this->out->elementStart('ul', 'groups xoxo'); $cnt = 0; @@ -73,7 +73,7 @@ class GroupMiniList extends GroupList $this->group->fullname : $this->group->nickname, 'href' => $this->group->homeUrl(), - 'rel' => 'contact', + 'rel' => 'contact group', 'class' => 'url')); $logo = ($this->group->stream_logo) ? $this->group->stream_logo : User_group::defaultLogo(AVATAR_STREAM_SIZE); @@ -85,7 +85,7 @@ class GroupMiniList extends GroupList 'alt' => ($this->group->fullname) ? $this->group->fullname : $this->group->nickname)); - $this->out->element('span', 'fn nickname', $this->group->nickname); + $this->out->element('span', 'fn org nickname', $this->group->nickname); $this->out->elementEnd('a'); $this->out->elementEnd('li'); } diff --git a/lib/profileminilist.php b/lib/profileminilist.php index c6970f808..f157a5529 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -49,7 +49,7 @@ class ProfileMiniList extends ProfileList { function show() { - $this->out->elementStart('ul', 'users'); + $this->out->elementStart('ul', 'users xoxo'); $cnt = 0; @@ -73,7 +73,7 @@ class ProfileMiniList extends ProfileList $this->profile->fullname : $this->profile->nickname, 'href' => $this->profile->profileurl, - 'rel' => 'contact', + 'rel' => 'contact member', 'class' => 'url')); $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE); $this->out->element('img', array('src' => (($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_MINI_SIZE)), -- cgit v1.2.3-54-g00ecf From d72706ce9d44a12b27727b10cf570dfea7c7f896 Mon Sep 17 00:00:00 2001 From: sarven Date: Wed, 21 Jan 2009 23:33:52 +0000 Subject: Changed to @class entity_profile from @id user_profile. --- actions/showgroup.php | 3 +- actions/showstream.php | 2 +- lib/profilelist.php | 3 +- theme/base/css/display.css | 76 +++++++++++++++++++++++++++------------------- 4 files changed, 47 insertions(+), 37 deletions(-) (limited to 'lib') diff --git a/actions/showgroup.php b/actions/showgroup.php index bd9d4f175..41804c6ae 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -195,8 +195,7 @@ class ShowgroupAction extends Action function showGroupProfile() { - $this->elementStart('div', array('id' => 'user_profile', - 'class' => 'vcard author')); + $this->elementStart('div', 'entity_profile vcard author'); $this->element('h2', null, _('Group profile')); diff --git a/actions/showstream.php b/actions/showstream.php index b2b8b344c..20d429679 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -227,7 +227,7 @@ class ShowstreamAction extends Action function showProfile() { - $this->elementStart('div', array('id' => 'user_profile', 'class' => 'vcard author')); + $this->elementStart('div', 'entity_profile vcard author'); $this->element('h2', null, _('User profile')); $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); diff --git a/lib/profilelist.php b/lib/profilelist.php index f7ed5d19c..403cfe065 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -93,8 +93,7 @@ class ProfileList extends Widget $user = common_current_user(); - $this->out->elementStart('div', array('id' => 'user_profile', - 'class' => 'vcard')); + $this->out->elementStart('div', 'entity_profile vcard'); $avatar = $this->profile->getAvatar(AVATAR_STREAM_SIZE); $this->out->elementStart('a', array('href' => $this->profile->profileurl, diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 287dd8140..ab287c04f 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -150,7 +150,8 @@ font-weight:bold; #form_register legend, #form_password legend, #form_settings_avatar legend, -#form_group_add legend { +#newgroup legend, +#editgroup legend { display:none; } @@ -448,7 +449,7 @@ margin-left:4px; #form_notice .form_note { position:absolute; -top:120px; +top:118px; right:98px; z-index:9; } @@ -460,6 +461,7 @@ display:none; #notice_text-count { font-weight:bold; line-height:1.15; +padding:1px 2px; } #form_notice #notice_data-attach_view { @@ -508,7 +510,7 @@ float:left; /* user_profile */ -#user_profile { +.entity_profile { position:relative; width:475px; min-height:123px; @@ -516,23 +518,23 @@ float:left; margin-bottom:17px; margin-left:0; } -#user_profile dt, +.entity_profile dt, #user_statistics dt { font-weight:bold; } -#user_profile .user_depiction { +.entity_profile .user_depiction { float:left; position:absolute; top:0; left:0; width:96px; } -#user_profile .user_fn, -#user_profile .user_nickname, -#user_profile .user_location, -#user_profile .user_url, -#user_profile .user_note, -#user_profile .user_tags { +.entity_profile .user_fn, +.entity_profile .user_nickname, +.entity_profile .user_location, +.entity_profile .user_url, +.entity_profile .user_note, +.entity_profile .user_tags { float:left; clear:left; margin-left:113px; @@ -540,37 +542,37 @@ width:322px; margin-bottom:4px; } -#user_profile .user_fn, -#user_profile .user_nickname { +.entity_profile .user_fn, +.entity_profile .user_nickname { width:auto; clear:none; } -#user_profile .user_fn { +.entity_profile .user_fn { margin-left:11px; margin-right:4px; } -#user_profile .user_fn .fn { +.entity_profile .user_fn .fn { font-weight:bold; font-style:normal; } -#user_profile .nickname { +.entity_profile .nickname { font-style:italic; font-weight:bold; } -#user_profile .user_fn dd:before { +.entity_profile .user_fn dd:before { content: "("; font-weight:normal; } -#user_profile .user_fn dd:after { +.entity_profile .user_fn dd:after { content: ")"; font-weight:normal; } -#user_profile dt { +.entity_profile dt { display:none; } -#user_profile h2 { +.entity_profile h2 { display:none; } @@ -664,6 +666,8 @@ float:left; .aside .section { margin-bottom:29px; clear:both; +float:left; +width:100%; } .aside .section h2 { text-transform:uppercase; @@ -680,24 +684,25 @@ content: ":"; #user_subscriptions, -#user_subscriptions-common { -float:left; +#user_subscribers, +#user_groups, { + } -#user_subscriptions ul.users { +.section ul.users { width:220px; float:left; } -#user_subscriptions .users li { +.section .users li { list-style-type:none; float:left; margin-right:7px; margin-bottom:7px; } -#user_subscriptions .users li .photo { +.section .users li .photo { margin-right:0; margin-bottom:0; } -#user_subscriptions .users li .fn { +.section .users li .fn { display:none; } .aside .section .more { @@ -706,29 +711,36 @@ clear:both; -.profile #user_profile { +.profile .entity_profile { margin-bottom:0; min-height:60px; } +.profile .form_user_subscribe, .profile .form_user_unsubscribe { float:right; } +.profile .form_user_subscribe legend, +.profile .form_user_unsubscribe legend { +display:none; +} + + .profiles { list-style-type:none; } -.profile #user_profile .user_location { +.profile .entity_profile .user_location { width:auto; clear:none; margin-left:11px; } -.profile #user_profile dl, -.profile #user_profile dd { +.profile .entity_profile dl, +.profile .entity_profile dd { display:inline; float:none; } -.profile #user_profile .user_note, -.profile #user_profile .user_url { +.profile .entity_profile .user_note, +.profile .entity_profile .user_url { margin-left:59px; clear:none; display:block; -- cgit v1.2.3-54-g00ecf From a57f12b06c9972b4935b7e21a4c9ea1f34647eb3 Mon Sep 17 00:00:00 2001 From: sarven Date: Thu, 22 Jan 2009 00:04:13 +0000 Subject: selector name cleanup --- actions/showgroup.php | 22 ++++----- actions/showstream.php | 47 +++++++++---------- lib/blockform.php | 2 +- lib/groupminilist.php | 2 +- lib/profilelist.php | 10 ++-- lib/profileminilist.php | 2 +- theme/base/css/display.css | 101 ++++++++++++++++++----------------------- theme/identica/css/display.css | 8 ++-- 8 files changed, 91 insertions(+), 103 deletions(-) (limited to 'lib') diff --git a/actions/showgroup.php b/actions/showgroup.php index 41804c6ae..1af080c7e 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -199,7 +199,7 @@ class ShowgroupAction extends Action $this->element('h2', null, _('Group profile')); - $this->elementStart('dl', 'user_depiction'); + $this->elementStart('dl', 'entity_depiction'); $this->element('dt', null, _('Avatar')); $this->elementStart('dd'); @@ -214,10 +214,10 @@ class ShowgroupAction extends Action $this->elementEnd('dd'); $this->elementEnd('dl'); - $this->elementStart('dl', 'user_nickname'); + $this->elementStart('dl', 'entity_nickname'); $this->element('dt', null, _('Nickname')); $this->elementStart('dd'); - $hasFN = ($this->group->fullname) ? 'nickname url uid' : 'fn nickname url uid'; + $hasFN = ($this->group->fullname) ? 'nickname url uid' : 'fn org nickname url uid'; $this->element('a', array('href' => $this->group->homeUrl(), 'rel' => 'me', 'class' => $hasFN), $this->group->nickname); @@ -225,23 +225,23 @@ class ShowgroupAction extends Action $this->elementEnd('dl'); if ($this->group->fullname) { - $this->elementStart('dl', 'user_fn'); + $this->elementStart('dl', 'entity_fn'); $this->element('dt', null, _('Full name')); $this->elementStart('dd'); - $this->element('span', 'fn', $this->group->fullname); + $this->element('span', 'fn org', $this->group->fullname); $this->elementEnd('dd'); $this->elementEnd('dl'); } if ($this->group->location) { - $this->elementStart('dl', 'user_location'); + $this->elementStart('dl', 'entity_location'); $this->element('dt', null, _('Location')); $this->element('dd', 'location', $this->group->location); $this->elementEnd('dl'); } if ($this->group->homepage) { - $this->elementStart('dl', 'user_url'); + $this->elementStart('dl', 'entity_url'); $this->element('dt', null, _('URL')); $this->elementStart('dd'); $this->element('a', array('href' => $this->group->homepage, @@ -252,7 +252,7 @@ class ShowgroupAction extends Action } if ($this->group->description) { - $this->elementStart('dl', 'user_note'); + $this->elementStart('dl', 'entity_note'); $this->element('dt', null, _('Note')); $this->element('dd', 'note', $this->group->description); $this->elementEnd('dl'); @@ -260,10 +260,10 @@ class ShowgroupAction extends Action $this->elementEnd('div'); - $this->elementStart('div', array('id' => 'user_actions')); + $this->elementStart('div', 'entity_actions'); $this->element('h2', null, _('Group actions')); $this->elementStart('ul'); - $this->elementStart('li', array('id' => 'user_subscribe')); + $this->elementStart('li', array('id' => 'entity_subscribe')); $cur = common_current_user(); if ($cur) { if ($cur->isMember($this->group)) { @@ -341,7 +341,7 @@ class ShowgroupAction extends Action return; } - $this->elementStart('div', array('id' => 'user_subscriptions', + $this->elementStart('div', array('id' => 'entity_subscriptions', 'class' => 'section')); $this->element('h2', null, _('Members')); diff --git a/actions/showstream.php b/actions/showstream.php index 20d429679..f853f277d 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -169,14 +169,14 @@ class ShowstreamAction extends Action $this->element('link', array('rel' => 'alternate', 'href' => common_local_url('api', array('apiaction' => 'statuses', - 'method' => 'user_timeline.rss', + 'method' => 'entity_timeline.rss', 'argument' => $this->user->nickname)), 'type' => 'application/rss+xml', 'title' => sprintf(_('Notice feed for %s'), $this->user->nickname))); $this->element('link', array('rel' => 'alternate feed', 'href' => common_local_url('api', array('apiaction' => 'statuses', - 'method' => 'user_timeline.atom', + 'method' => 'entity_timeline.atom', 'argument' => $this->user->nickname)), 'type' => 'application/atom+xml', 'title' => sprintf(_('Notice feed for %s'), $this->user->nickname))); @@ -231,7 +231,7 @@ class ShowstreamAction extends Action $this->element('h2', null, _('User profile')); $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); - $this->elementStart('dl', 'user_depiction'); + $this->elementStart('dl', 'entity_depiction'); $this->element('dt', null, _('Photo')); $this->elementStart('dd'); $this->element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_PROFILE_SIZE), @@ -242,7 +242,7 @@ class ShowstreamAction extends Action $this->elementEnd('dd'); $this->elementEnd('dl'); - $this->elementStart('dl', 'user_nickname'); + $this->elementStart('dl', 'entity_nickname'); $this->element('dt', null, _('Nickname')); $this->elementStart('dd'); $hasFN = ($this->profile->fullname) ? 'nickname url uid' : 'fn nickname url uid'; @@ -253,7 +253,7 @@ class ShowstreamAction extends Action $this->elementEnd('dl'); if ($this->profile->fullname) { - $this->elementStart('dl', 'user_fn'); + $this->elementStart('dl', 'entity_fn'); $this->element('dt', null, _('Full name')); $this->elementStart('dd'); $this->element('span', 'fn', $this->profile->fullname); @@ -262,14 +262,14 @@ class ShowstreamAction extends Action } if ($this->profile->location) { - $this->elementStart('dl', 'user_location'); + $this->elementStart('dl', 'entity_location'); $this->element('dt', null, _('Location')); $this->element('dd', 'location', $this->profile->location); $this->elementEnd('dl'); } if ($this->profile->homepage) { - $this->elementStart('dl', 'user_url'); + $this->elementStart('dl', 'entity_url'); $this->element('dt', null, _('URL')); $this->elementStart('dd'); $this->element('a', array('href' => $this->profile->homepage, @@ -280,7 +280,7 @@ class ShowstreamAction extends Action } if ($this->profile->bio) { - $this->elementStart('dl', 'user_note'); + $this->elementStart('dl', 'entity_note'); $this->element('dt', null, _('Note')); $this->element('dd', 'note', $this->profile->bio); $this->elementEnd('dl'); @@ -288,7 +288,7 @@ class ShowstreamAction extends Action $tags = Profile_tag::getTags($this->profile->id, $this->profile->id); if (count($tags) > 0) { - $this->elementStart('dl', 'user_tags'); + $this->elementStart('dl', 'entity_tags'); $this->element('dt', null, _('Tags')); $this->elementStart('dd'); $this->elementStart('ul', 'tags xoxo'); @@ -307,10 +307,11 @@ class ShowstreamAction extends Action } $this->elementEnd('div'); - $this->elementStart('div', array('id' => 'user_actions')); + //XXX: entity_actions doesn't need to be outputted if entity is looking at their own profile + $this->elementStart('div', 'entity_actions'); $this->element('h2', null, _('User actions')); $this->elementStart('ul'); - $this->elementStart('li', array('id' => 'user_subscribe')); + $this->elementStart('li', array('id' => 'entity_subscribe')); $cur = common_current_user(); if ($cur) { if ($cur->id != $this->profile->id) { @@ -331,14 +332,14 @@ class ShowstreamAction extends Action $user = User::staticGet('id', $this->profile->id); if ($cur && $cur->id != $user->id && $cur->mutuallySubscribed($user)) { - $this->elementStart('li', array('id' => 'user_send-a-message')); + $this->elementStart('li', array('id' => 'entity_send-a-message')); $this->element('a', array('href' => common_local_url('newmessage', array('to' => $user->id)), 'title' => _('Send a direct message to this user')), _('Message')); $this->elementEnd('li'); if ($user->email && $user->emailnotifynudge) { - $this->elementStart('li', array('id' => 'user_nudge')); + $this->elementStart('li', array('id' => 'entity_nudge')); $nf = new NudgeForm($this, $user); $nf->show(); $this->elementEnd('li'); @@ -347,7 +348,7 @@ class ShowstreamAction extends Action if ($cur && $cur->id != $this->profile->id) { $blocked = $cur->hasBlocked($this->profile); - $this->elementStart('li', array('id' => 'user_block')); + $this->elementStart('li', array('id' => 'entity_block')); if ($blocked) { $ubf = new UnblockForm($this, $this->profile); $ubf->show(); @@ -366,7 +367,7 @@ class ShowstreamAction extends Action $url = common_local_url('remotesubscribe', array('nickname' => $this->profile->nickname)); $this->element('a', array('href' => $url, - 'id' => 'user_subscribe_remote'), + 'id' => 'entity_subscribe_remote'), _('Subscribe')); } @@ -393,7 +394,7 @@ class ShowstreamAction extends Action { $profile = $this->user->getSubscriptions(0, PROFILES_PER_MINILIST + 1); - $this->elementStart('div', array('id' => 'user_subscriptions', + $this->elementStart('div', array('id' => 'entity_subscriptions', 'class' => 'section')); $this->element('h2', null, _('Subscriptions')); @@ -422,7 +423,7 @@ class ShowstreamAction extends Action { $profile = $this->user->getSubscribers(0, PROFILES_PER_MINILIST + 1); - $this->elementStart('div', array('id' => 'user_subscribers', + $this->elementStart('div', array('id' => 'entity_subscribers', 'class' => 'section')); $this->element('h2', null, _('Subscribers')); @@ -462,19 +463,19 @@ class ShowstreamAction extends Action $notices->profile_id = $this->profile->id; $notice_count = (int) $notices->count(); - $this->elementStart('div', array('id' => 'user_statistics', + $this->elementStart('div', array('id' => 'entity_statistics', 'class' => 'section')); $this->element('h2', null, _('Statistics')); // Other stats...? - $this->elementStart('dl', 'user_member-since'); + $this->elementStart('dl', 'entity_member-since'); $this->element('dt', null, _('Member since')); $this->element('dd', null, date('j M Y', strtotime($this->profile->created))); $this->elementEnd('dl'); - $this->elementStart('dl', 'user_subscriptions'); + $this->elementStart('dl', 'entity_subscriptions'); $this->elementStart('dt'); $this->element('a', array('href' => common_local_url('subscriptions', array('nickname' => $this->profile->nickname))), @@ -483,7 +484,7 @@ class ShowstreamAction extends Action $this->element('dd', null, (is_int($subs_count)) ? $subs_count : '0'); $this->elementEnd('dl'); - $this->elementStart('dl', 'user_subscribers'); + $this->elementStart('dl', 'entity_subscribers'); $this->elementStart('dt'); $this->element('a', array('href' => common_local_url('subscribers', array('nickname' => $this->profile->nickname))), @@ -492,7 +493,7 @@ class ShowstreamAction extends Action $this->element('dd', 'subscribers', (is_int($subbed_count)) ? $subbed_count : '0'); $this->elementEnd('dl'); - $this->elementStart('dl', 'user_notices'); + $this->elementStart('dl', 'entity_notices'); $this->element('dt', null, _('Notices')); $this->element('dd', null, (is_int($notice_count)) ? $notice_count : '0'); $this->elementEnd('dl'); @@ -504,7 +505,7 @@ class ShowstreamAction extends Action { $groups = $this->user->getGroups(0, GROUPS_PER_MINILIST + 1); - $this->elementStart('div', array('id' => 'user_groups', + $this->elementStart('div', array('id' => 'entity_groups', 'class' => 'section')); $this->element('h2', null, _('Groups')); diff --git a/lib/blockform.php b/lib/blockform.php index ea22c1cec..af766b823 100644 --- a/lib/blockform.php +++ b/lib/blockform.php @@ -150,6 +150,6 @@ class BlockForm extends Form function formActions() { - $this->out->submit('submit', _('block'), 'submit', null, _('Block this user')); + $this->out->submit('submit', _('Block'), 'submit', null, _('Block this user')); } } diff --git a/lib/groupminilist.php b/lib/groupminilist.php index f40a67b0c..fe38d0340 100644 --- a/lib/groupminilist.php +++ b/lib/groupminilist.php @@ -49,7 +49,7 @@ class GroupMiniList extends GroupList { function show() { - $this->out->elementStart('ul', 'groups xoxo'); + $this->out->elementStart('ul', 'entities groups xoxo'); $cnt = 0; diff --git a/lib/profilelist.php b/lib/profilelist.php index 403cfe065..73c129efe 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -112,7 +112,7 @@ class ProfileList extends Widget $this->out->elementEnd('a'); if ($this->profile->fullname) { - $this->out->elementStart('dl', 'user_fn'); + $this->out->elementStart('dl', 'entity_fn'); $this->out->element('dt', null, 'Full name'); $this->out->elementStart('dd'); $this->out->elementStart('span', 'fn'); @@ -122,7 +122,7 @@ class ProfileList extends Widget $this->out->elementEnd('dl'); } if ($this->profile->location) { - $this->out->elementStart('dl', 'user_location'); + $this->out->elementStart('dl', 'entity_location'); $this->out->element('dt', null, _('Location')); $this->out->elementStart('dd', 'location'); $this->out->raw($this->highlight($this->profile->location)); @@ -130,7 +130,7 @@ class ProfileList extends Widget $this->out->elementEnd('dl'); } if ($this->profile->homepage) { - $this->out->elementStart('dl', 'user_url'); + $this->out->elementStart('dl', 'entity_url'); $this->out->element('dt', null, _('URL')); $this->out->elementStart('dd'); $this->out->elementStart('a', array('href' => $this->profile->homepage, @@ -141,7 +141,7 @@ class ProfileList extends Widget $this->out->elementEnd('dl'); } if ($this->profile->bio) { - $this->out->elementStart('dl', 'user_note'); + $this->out->elementStart('dl', 'entity_note'); $this->out->element('dt', null, _('Note')); $this->out->elementStart('dd', 'note'); $this->out->raw($this->highlight($this->profile->bio)); @@ -155,7 +155,7 @@ class ProfileList extends Widget # Get tags $tags = Profile_tag::getTags($this->owner->id, $this->profile->id); - $this->out->elementStart('dl', 'user_tags'); + $this->out->elementStart('dl', 'entity_tags'); $this->out->elementStart('dt'); if ($user->id == $this->owner->id) { $this->out->element('a', array('href' => common_local_url('tagother', diff --git a/lib/profileminilist.php b/lib/profileminilist.php index f157a5529..56b768419 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -49,7 +49,7 @@ class ProfileMiniList extends ProfileList { function show() { - $this->out->elementStart('ul', 'users xoxo'); + $this->out->elementStart('ul', 'entities users xoxo'); $cnt = 0; diff --git a/theme/base/css/display.css b/theme/base/css/display.css index ab287c04f..c622e2f22 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -509,7 +509,7 @@ float:left; -/* user_profile */ +/* entity_profile */ .entity_profile { position:relative; width:475px; @@ -519,22 +519,22 @@ margin-bottom:17px; margin-left:0; } .entity_profile dt, -#user_statistics dt { +#entity_statistics dt { font-weight:bold; } -.entity_profile .user_depiction { +.entity_profile .entity_depiction { float:left; position:absolute; top:0; left:0; width:96px; } -.entity_profile .user_fn, -.entity_profile .user_nickname, -.entity_profile .user_location, -.entity_profile .user_url, -.entity_profile .user_note, -.entity_profile .user_tags { +.entity_profile .entity_fn, +.entity_profile .entity_nickname, +.entity_profile .entity_location, +.entity_profile .entity_url, +.entity_profile .entity_note, +.entity_profile .entity_tags { float:left; clear:left; margin-left:113px; @@ -542,16 +542,16 @@ width:322px; margin-bottom:4px; } -.entity_profile .user_fn, -.entity_profile .user_nickname { +.entity_profile .entity_fn, +.entity_profile .entity_nickname { width:auto; clear:none; } -.entity_profile .user_fn { +.entity_profile .entity_fn { margin-left:11px; margin-right:4px; } -.entity_profile .user_fn .fn { +.entity_profile .entity_fn .fn { font-weight:bold; font-style:normal; } @@ -560,11 +560,11 @@ font-style:italic; font-weight:bold; } -.entity_profile .user_fn dd:before { +.entity_profile .entity_fn dd:before { content: "("; font-weight:normal; } -.entity_profile .user_fn dd:after { +.entity_profile .entity_fn dd:after { content: ")"; font-weight:normal; } @@ -576,47 +576,47 @@ display:none; display:none; } -/* user_profile */ +/* entity_profile */ -/*user_actions*/ -#user_actions { +/*entity_actions*/ +.entity_actions { clear:left; float:left; position:absolute; top:0; right:0; } -#user_actions h2 { +.entity_actions h2 { display:none; } -#user_actions ul { +.entity_actions ul { list-style-type:none; } -#user_actions li { +.entity_actions li { margin-bottom:4px; } -#user_actions li:first-child { +.entity_actions li:first-child { border-top:0; } -#user_actions fieldset { +.entity_actions fieldset { border:0; padding:0; } -#user_actions legend { +.entity_actions legend { display:none; } -#user_actions input.submit { +.entity_actions input.submit { display:block; text-align:left; cursor:pointer; width:100%; } -#user_actions a { +.entity_actions a { text-decoration:none; font-weight:bold; width:100%; @@ -627,35 +627,22 @@ display:block; .form_user_block input.submit, .form_user_unblock input.submit, -#user_send-a-message a, +#entity_send-a-message a, .form_user_nudge input.submit { border:0; padding-left:20px; } -#user_send-a-message a { +#entity_send-a-message a { padding:4px 4px 4px 23px; - -} - - -#user_subscribe input.submit, -.form_user_subscribe input.submit { - } -#user_send-a-message form { -} - -#user_send-a-message textarea { -} - -.user_tags ul { +.entity_tags ul { list-style-type:none; } -.user_tags li { +.entity_tags li { display:inline; margin-right:1em; float:left; @@ -674,11 +661,11 @@ text-transform:uppercase; font-size:1em; } -#user_statistics dt, -#user_statistics dd { +#entity_statistics dt, +#entity_statistics dd { display:inline; } -#user_statistics dt:after { +#entity_statistics dt:after { content: ":"; } @@ -688,21 +675,21 @@ content: ":"; #user_groups, { } -.section ul.users { +.section ul.entities { width:220px; float:left; } -.section .users li { +.section .entities li { list-style-type:none; float:left; margin-right:7px; margin-bottom:7px; } -.section .users li .photo { +.section .entities li .photo { margin-right:0; margin-bottom:0; } -.section .users li .fn { +.section .entities li .fn { display:none; } .aside .section .more { @@ -729,7 +716,7 @@ display:none; .profiles { list-style-type:none; } -.profile .entity_profile .user_location { +.profile .entity_profile .entity_location { width:auto; clear:none; margin-left:11px; @@ -739,8 +726,8 @@ margin-left:11px; display:inline; float:none; } -.profile .entity_profile .user_note, -.profile .entity_profile .user_url { +.profile .entity_profile .entity_note, +.profile .entity_profile .entity_url { margin-left:59px; clear:none; display:block; @@ -1065,9 +1052,9 @@ background-color:#D1D9E4; -#user_actions #user_subscribe .form_note, -#user_actions #user_subscribe .form_data, -#user_actions #user_subscribe .form_actions label { +.entity_actions #user_subscribe .form_note, +.entity_actions #user_subscribe .form_data, +.entity_actions #user_subscribe .form_actions label { display:none; } #form_user-relationship .form_note, @@ -1076,7 +1063,7 @@ display:none; display:block; } -#user_actions #user-relationship_submit { +.entity_actions #user-relationship_submit { margin-bottom:0; } #form_user-relationship .form_data li label { diff --git a/theme/identica/css/display.css b/theme/identica/css/display.css index 2b91c5504..c702c77e6 100644 --- a/theme/identica/css/display.css +++ b/theme/identica/css/display.css @@ -42,7 +42,7 @@ a, div.notice-options input, .form_user_block input.submit, .form_user_unblock input.submit, -#user_send-a-message a, +#entity_send-a-message a, .form_user_nudge input.submit { color:#002E6E; } @@ -55,7 +55,7 @@ background-color:#fcfffc; } #aside_primary, -#user_subscribe a, +#entity_subscribe a, #TB_window input.submit, .form_user_subscribe input.submit { background-color:#CEE1E9; @@ -132,7 +132,7 @@ background-image:url(../../base/images/icons/icon_vcard.gif); } -#user_send-a-message a, +#entity_send-a-message a, .form_user_nudge input.submit, .form_user_block input.submit, .form_user_unblock input.submit { @@ -149,7 +149,7 @@ color:#fff; background-color:#97BFD1; } -#user_send-a-message a { +#entity_send-a-message a { background-image:url(../images/icons/twotone/green/quote.gif); } .form_user_nudge input.submit { -- cgit v1.2.3-54-g00ecf From 7f25b9db4bce69e076ab6447a4070d1cb7c3651a Mon Sep 17 00:00:00 2001 From: Robin Millette Date: Thu, 22 Jan 2009 04:22:32 +0000 Subject: phpdocs --- lib/action.php | 385 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 328 insertions(+), 57 deletions(-) (limited to 'lib') diff --git a/lib/action.php b/lib/action.php index 5987abf3c..bf053424f 100644 --- a/lib/action.php +++ b/lib/action.php @@ -53,7 +53,6 @@ require_once INSTALLDIR.'/lib/htmloutputter.php'; * * @see HTMLOutputter */ - class Action extends HTMLOutputter // lawsuit { var $args; @@ -69,20 +68,30 @@ class Action extends HTMLOutputter // lawsuit * @see XMLOutputter::__construct * @see HTMLOutputter::__construct */ - function __construct($output='php://output', $indent=true) { parent::__construct($output, $indent); } - // For initializing members of the class + /** + * For initializing members of the class. + * + * @param array $argarray misc. arguments + * + * @return boolean true + */ function prepare($argarray) { $this->args =& common_copy_args($argarray); return true; } + /** + * Show page, a template method. + * + * @return nothing + */ function showPage() { $this->startHTML(); @@ -91,6 +100,11 @@ class Action extends HTMLOutputter // lawsuit $this->endHTML(); } + /** + * Show head, a template method. + * + * @return nothing + */ function showHead() { // XXX: attributes (profile?) @@ -105,6 +119,11 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('head'); } + /** + * Show title, a template method. + * + * @return nothing + */ function showTitle() { $this->element('title', null, @@ -113,13 +132,24 @@ class Action extends HTMLOutputter // lawsuit common_config('site', 'name'))); } - // SHOULD overload + /** + * Returns the page title + * + * SHOULD overload + * + * @return string page title + */ function title() { return _("Untitled page"); } + /** + * Show stylesheets + * + * @return nothing + */ function showStylesheets() { $this->element('link', array('rel' => 'stylesheet', @@ -145,6 +175,11 @@ class Action extends HTMLOutputter // lawsuit } } + /** + * Show javascript headers + * + * @return nothing + */ function showScripts() { $this->element('script', array('type' => 'text/javascript', @@ -161,38 +196,66 @@ class Action extends HTMLOutputter // lawsuit ' '); } + /** + * Show OpenSearch headers + * + * @return nothing + */ function showOpenSearch() { - $this->element('link', array('rel' => 'search', 'type' => 'application/opensearchdescription+xml', + $this->element('link', array('rel' => 'search', + 'type' => 'application/opensearchdescription+xml', 'href' => common_local_url('opensearch', array('type' => 'people')), 'title' => common_config('site', 'name').' People Search')); - $this->element('link', array('rel' => 'search', 'type' => 'application/opensearchdescription+xml', 'href' => common_local_url('opensearch', array('type' => 'notice')), 'title' => common_config('site', 'name').' Notice Search')); } - // MAY overload - + /** + * Show feed headers + * + * MAY overload + * + * @return nothing + */ function showFeeds() { // does nothing by default } - // SHOULD overload - + /** + * Show description. + * + * SHOULD overload + * + * @return nothing + */ function showDescription() { // does nothing by default } - // MAY overload - + /** + * Show extra stuff in . + * + * MAY overload + * + * @return nothing + */ function extraHead() { // does nothing by default } + + /** + * Show body. + * + * Calls template methods + * + * @return nothing + */ function showBody() { $this->elementStart('body', array('id' => $this->trimmed('action'))); @@ -204,6 +267,13 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('body'); } + /** + * Show header of the page. + * + * Calls template methods + * + * @return nothing + */ function showHeader() { $this->elementStart('div', array('id' => 'header')); @@ -218,14 +288,18 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('div'); } + /** + * Show configured logo. + * + * @return nothing + */ function showLogo() { $this->elementStart('address', array('id' => 'site_contact', 'class' => 'vcard')); $this->elementStart('a', array('class' => 'url home bookmark', 'href' => common_local_url('public'))); - if (common_config('site', 'logo') || file_exists(theme_file('logo.png'))) - { + if (common_config('site', 'logo') || file_exists(theme_file('logo.png'))) { $this->element('img', array('class' => 'logo photo', 'src' => (common_config('site', 'logo')) ? common_config('site', 'logo') : theme_path('logo.png'), 'alt' => common_config('site', 'name'))); @@ -235,6 +309,11 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('address'); } + /** + * Show primary navigation. + * + * @return nothing + */ function showPrimaryNav() { $this->elementStart('dl', array('id' => 'site_nav_global_primary')); @@ -271,10 +350,15 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('dd'); $this->elementEnd('dl'); } - - // Revist. Should probably do an hAtom pattern here + + /** + * Show site notice. + * + * @return nothing + */ function showSiteNotice() { + // Revist. Should probably do an hAtom pattern here $text = common_config('site', 'notice'); if ($text) { $this->elementStart('dl', array('id' => 'site_notice', @@ -285,19 +369,38 @@ class Action extends HTMLOutputter // lawsuit } } - // MAY overload if no notice form needed... or direct message box???? - + /** + * Show notice form. + * + * MAY overload if no notice form needed... or direct message box???? + * + * @return nothing + */ function showNoticeForm() { $notice_form = new NoticeForm($this); $notice_form->show(); } - + + /** + * Show anonymous message. + * + * SHOULD overload + * + * @return nothing + */ function showAnonymousMessage() { // needs to be defined by the class } + /** + * Show core. + * + * Shows local navigation, content block and aside. + * + * @return nothing + */ function showCore() { $this->elementStart('div', array('id' => 'core')); @@ -307,6 +410,11 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('div'); } + /** + * Show local navigation block. + * + * @return nothing + */ function showLocalNavBlock() { $this->elementStart('dl', array('id' => 'site_nav_local_views')); @@ -317,13 +425,23 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('dl'); } - // SHOULD overload - + /** + * Show local navigation. + * + * SHOULD overload + * + * @return nothing + */ function showLocalNav() { // does nothing by default } + /** + * Show content block. + * + * @return nothing + */ function showContentBlock() { $this->elementStart('div', array('id' => 'content')); @@ -336,10 +454,21 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('div'); } - function showPageTitle() { - $this->element('h1', NULL, $this->title()); + /** + * Show page title. + * + * @return nothing + */ + function showPageTitle() + { + $this->element('h1', null, $this->title()); } + /** + * Show page notice block. + * + * @return nothing + */ function showPageNoticeBlock() { $this->elementStart('dl', array('id' => 'page_notice', @@ -349,20 +478,35 @@ class Action extends HTMLOutputter // lawsuit $this->showPageNotice(); $this->elementEnd('dd'); $this->elementEnd('dl'); - } - - // SHOULD overload (unless there's not a notice) + } + /** + * Show page notice. + * + * SHOULD overload (unless there's not a notice) + * + * @return nothing + */ function showPageNotice() { } - // MUST overload - + /** + * Show content. + * + * MUST overload (unless there's not a notice) + * + * @return nothing + */ function showContent() { } + /** + * Show Aside. + * + * @return nothing + */ function showAside() { $this->elementStart('div', array('id' => 'aside_primary', @@ -372,8 +516,13 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('div'); } - // MAY overload if there are feeds - + /** + * Show export data feeds. + * + * MAY overload if there are feeds + * + * @return nothing + */ function showExportData() { // is there structure to this? @@ -381,12 +530,23 @@ class Action extends HTMLOutputter // lawsuit // can we reuse list of feeds from showFeeds() ? } - // SHOULD overload - - function showSections() { + /** + * Show sections. + * + * SHOULD overload + * + * @return nothing + */ + function showSections() + { // for each section, show it } + /** + * Show footer. + * + * @return nothing + */ function showFooter() { $this->elementStart('div', array('id' => 'footer')); @@ -395,6 +555,11 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('div'); } + /** + * Show secondary navigation. + * + * @return nothing + */ function showSecondaryNav() { $this->elementStart('dl', array('id' => 'site_nav_global_secondary')); @@ -418,6 +583,11 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('dl'); } + /** + * Show licenses. + * + * @return nothing + */ function showLicenses() { $this->elementStart('dl', array('id' => 'licenses')); @@ -426,6 +596,11 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('dl'); } + /** + * Show Laconica license. + * + * @return nothing + */ function showLaconicaLicense() { $this->element('dt', array('id' => 'site_laconica_license'), _('Laconica software license')); @@ -442,6 +617,11 @@ class Action extends HTMLOutputter // lawsuit // do it } + /** + * Show content license. + * + * @return nothing + */ function showContentLicense() { $this->element('dt', array('id' => 'site_content_license'), _('Laconica software license')); @@ -461,24 +641,52 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('dd'); } - // For comparison with If-Last-Modified - // If not applicable, return null - + /** + * Return last modified, if applicable. + * + * MAY override + * + * @return string last modified http header + */ function lastModified() { + // For comparison with If-Last-Modified + // If not applicable, return null return null; } + /** + * Return etag, if applicable. + * + * MAY override + * + * @return string etag http header + */ function etag() { return null; } + /** + * Return true if read only. + * + * MAY override + * + * @return boolean is read only action? + */ function isReadOnly() { return false; } + /** + * Returns query argument or default value if not found + * + * @param string $key requested argument + * @param string $def default value to return if $key is not provided + * + * @return boolean is read only action? + */ function arg($key, $def=null) { if (array_key_exists($key, $this->args)) { @@ -488,24 +696,34 @@ class Action extends HTMLOutputter // lawsuit } } + /** + * Returns trimmed query argument or default value if not found + * + * @param string $key requested argument + * @param string $def default value to return if $key is not provided + * + * @return boolean is read only action? + */ function trimmed($key, $def=null) { $arg = $this->arg($key, $def); - return (is_string($arg)) ? trim($arg) : $arg; + return is_string($arg) ? trim($arg) : $arg; } - // Note: argarray ignored, since it's now passed in in prepare() - + /** + * Handler method + * + * @param array $argarray is ignored since it's now passed in in prepare() + * + * @return boolean is read only action? + */ function handle($argarray=null) { - - $lm = $this->lastModified(); + $lm = $this->lastModified(); $etag = $this->etag(); - if ($etag) { header('ETag: ' . $etag); } - if ($lm) { header('Last-Modified: ' . date(DATE_RFC1123, $lm)); $if_modified_since = $_SERVER['HTTP_IF_MODIFIED_SINCE']; @@ -523,11 +741,27 @@ class Action extends HTMLOutputter // lawsuit } } + /** + * HasĀ etag? (private) + * + * @param string $etag etag http header + * @param string $if_none_match ifNoneMatch http header + * + * @return boolean + */ function _hasEtag($etag, $if_none_match) { return ($if_none_match) && in_array($etag, explode(',', $if_none_match)); } + /** + * Boolean understands english (yes, no, true, false) + * + * @param string $key query key we're interested in + * @param string $def default value + * + * @return boolean interprets yes/no strings as boolean + */ function boolean($key, $def=false) { $arg = strtolower($this->trimmed($key)); @@ -543,6 +777,14 @@ class Action extends HTMLOutputter // lawsuit } } + /** + * Server error + * + * @param string $msg error message to display + * @param integer $code http error code, 500 by default + * + * @return nothing + */ function serverError($msg, $code=500) { $action = $this->trimmed('action'); @@ -550,6 +792,14 @@ class Action extends HTMLOutputter // lawsuit common_server_error($msg, $code); } + /** + * Client error + * + * @param string $msg error message to display + * @param integer $code http error code, 400 by default + * + * @return nothing + */ function clientError($msg, $code=400) { $action = $this->trimmed('action'); @@ -557,10 +807,15 @@ class Action extends HTMLOutputter // lawsuit common_user_error($msg, $code); } + /** + * Returns the current URL + * + * @return string current URL + */ function selfUrl() { $action = $this->trimmed('action'); - $args = $this->args; + $args = $this->args; unset($args['action']); foreach (array_keys($_COOKIE) as $cookie) { unset($args[$cookie]); @@ -568,11 +823,21 @@ class Action extends HTMLOutputter // lawsuit return common_local_url($action, $args); } - // Added @id to li for some control. - // XXX: We might want to move this to htmloutputter.php - + /** + * Generate a menu item + * + * @param string $url menu URL + * @param string $text menu name + * @param string $title title attribute, null by default + * @param boolean $is_selected current menu item, false by default + * @param string $id element id, null by default + * + * @return nothing + */ function menuItem($url, $text, $title=null, $is_selected=false, $id=null) { + // Added @id to li for some control. + // XXX: We might want to move this to htmloutputter.php $lattrs = array(); if ($is_selected) { $lattrs['class'] = 'current'; @@ -589,10 +854,20 @@ class Action extends HTMLOutputter // lawsuit $this->elementEnd('li'); } - // Does a little before-after block for next/prev page - + /** + * Generate pagination links + * + * @param boolean $have_before is there something before? + * @param boolean $have_after is there something after? + * @param integer $page current page + * @param string $action current action + * @param array $args rest of query arguments + * + * @return nothing + */ function pagination($have_before, $have_after, $page, $action, $args=null) { + // Does a little before-after block for next/prev page if ($have_before || $have_after) { $this->elementStart('div', array('class' => 'pagination')); $this->elementStart('dl', null); @@ -600,26 +875,22 @@ class Action extends HTMLOutputter // lawsuit $this->elementStart('dd', null); $this->elementStart('ul', array('class' => 'nav')); } - if ($have_before) { - $pargs = array('page' => $page-1); - $newargs = ($args) ? array_merge($args,$pargs) : $pargs; - + $pargs = array('page' => $page-1); + $newargs = $args ? array_merge($args, $pargs) : $pargs; $this->elementStart('li', array('class' => 'nav_prev')); $this->element('a', array('href' => common_local_url($action, $newargs), 'rel' => 'prev'), _('After')); $this->elementEnd('li'); } - if ($have_after) { - $pargs = array('page' => $page+1); - $newargs = ($args) ? array_merge($args,$pargs) : $pargs; + $pargs = array('page' => $page+1); + $newargs = $args ? array_merge($args, $pargs) : $pargs; $this->elementStart('li', array('class' => 'nav_next')); $this->element('a', array('href' => common_local_url($action, $newargs), 'rel' => 'next'), _('Before')); $this->elementEnd('li'); } - if ($have_before || $have_after) { $this->elementEnd('ul'); $this->elementEnd('dd'); -- cgit v1.2.3-54-g00ecf From 03117fe3e84cfb7badb1f975ec15b8a97d575fd7 Mon Sep 17 00:00:00 2001 From: sarven Date: Thu, 22 Jan 2009 04:35:22 +0000 Subject: Cleanup.. some for IE and other for cascading --- lib/groupeditform.php | 2 +- theme/base/css/display.css | 22 ++++++++++------------ theme/base/css/ie.css | 8 ++++++-- theme/base/css/ie6.css | 8 ++++++++ theme/base/css/ie7.css | 2 +- 5 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 theme/base/css/ie6.css (limited to 'lib') diff --git a/lib/groupeditform.php b/lib/groupeditform.php index 14205d250..fe53918d1 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -147,7 +147,7 @@ class GroupEditForm extends Form _('URL of the homepage or blog of the group or topic')); $this->out->elementEnd('li'); $this->out->elementStart('li'); - $this->out->textarea('description', _('description'), + $this->out->textarea('description', _('Description'), ($this->out->arg('description')) ? $this->out->arg('description') : $this->group->description, _('Describe the group or topic in 140 chars')); $this->out->elementEnd('li'); diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 253cbfa38..073d2d40a 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -547,6 +547,7 @@ margin-bottom:4px; width:auto; clear:none; } + .entity_profile .entity_fn { margin-left:11px; margin-right:4px; @@ -584,11 +585,8 @@ display:none; /*entity_actions*/ .entity_actions { -clear:left; -float:left; -position:absolute; -top:0; -right:0; +float:right; + } .entity_actions h2 { display:none; @@ -936,7 +934,7 @@ outline:none; } .notice-options .notice_reply a, -.notice-options form input.submit { +.notice-options input.submit { display:block; border:0; } @@ -1019,18 +1017,18 @@ border-right:0; -/*If there is hentry on #content_inner, this doesn't need to be specific to #doc */ -#doc #content_inner p { +/*If there is hentry on #content_inner, then this doesn't need to be specific to #doc or any other section */ +.hentry .entry-content p { margin-bottom:18px; } -#doc #content_inner ol, -#doc #content_inner ul { +.hentry entry-content ol, +.hentry .entry-content ul { list-style-position:inside; } -#doc #content_inner li { +.hentry .entry-content li { margin-bottom:18px; } -#doc #content_inner li li { +.hentry .entry-content li li { margin-left:18px; } diff --git a/theme/base/css/ie.css b/theme/base/css/ie.css index 9baa953b3..08b027b59 100644 --- a/theme/base/css/ie.css +++ b/theme/base/css/ie.css @@ -3,7 +3,7 @@ #aside_primary { padding-left:11px; } -.notice-options form input.submit { +.notice-options input.submit { font-size:0; margin-top:3px; height:16px; @@ -23,4 +23,8 @@ margin-left:-7px; .notice div.entry-content .timestamp a { margin-right:4px; -} \ No newline at end of file +} + +.entity_profile .entity_nickname { +padding-right:3px; +} diff --git a/theme/base/css/ie6.css b/theme/base/css/ie6.css new file mode 100644 index 000000000..4a2316903 --- /dev/null +++ b/theme/base/css/ie6.css @@ -0,0 +1,8 @@ +/* IE6 specific styles */ +.entity_profile .entity_nickname, +.entity_profile .entity_location, +.entity_profile .entity_url, +.entity_profile .entity_note, +.entity_profile .entity_tags { +margin-left:55px; +} diff --git a/theme/base/css/ie7.css b/theme/base/css/ie7.css index a6e2548ab..a6ee001e2 100644 --- a/theme/base/css/ie7.css +++ b/theme/base/css/ie7.css @@ -2,4 +2,4 @@ #form_notice textarea { width:370px; -} \ No newline at end of file +} -- cgit v1.2.3-54-g00ecf From a330bdac62ddbc15232bc65d65e869b224880e3f Mon Sep 17 00:00:00 2001 From: sarven Date: Thu, 22 Jan 2009 06:33:38 +0000 Subject: Moved nudge response from util.php to nudge.php Adjusted some CSS --- actions/nudge.php | 3 ++- js/util.js | 20 ++++++++++---------- lib/util.php | 5 ----- theme/base/css/display.css | 22 ++++++++++------------ theme/identica/css/display.css | 8 ++++++-- 5 files changed, 28 insertions(+), 30 deletions(-) (limited to 'lib') diff --git a/actions/nudge.php b/actions/nudge.php index 456106459..ca6fd3761 100644 --- a/actions/nudge.php +++ b/actions/nudge.php @@ -42,6 +42,7 @@ require_once INSTALLDIR.'/lib/mail.php'; * @package Laconica * @author Evan Prodromou * @author Robin Millette + * @author Sarven Capadisli * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://laconi.ca/ */ @@ -93,7 +94,7 @@ class NudgeAction extends Action $this->element('title', null, _('Nudge sent')); $this->elementEnd('head'); $this->elementStart('body'); - common_nudge_response(); + $this->element('p', array('id' => 'nudge_response'), _('Nudge sent!')); $this->elementEnd('body'); $this->elementEnd('html'); } else { diff --git a/js/util.js b/js/util.js index bb68c2587..579b4952a 100644 --- a/js/util.js +++ b/js/util.js @@ -108,16 +108,16 @@ $(document).ready(function(){ $("form.form_group_join").each(addAjaxHidden); $("form.form_group_leave").each(addAjaxHidden); - $("#nudge").ajaxForm ({ dataType: 'xml', - beforeSubmit: function(xml) { $("form#nudge input[type=submit]").attr("disabled", "disabled"); - $("form#nudge input[type=submit]").addClass("disabled"); - }, - success: function(xml) { $("#nudge").replaceWith(document._importNode($("#nudge_response", xml).get(0),true)); - $("#nudge input[type=submit]").removeAttr("disabled"); - $("#nudge input[type=submit]").removeClass("disabled"); - } - }); - $("#nudge").each(addAjaxHidden); + $("#form_user_nudge").ajaxForm ({ dataType: 'xml', + beforeSubmit: function(xml) { $("#form_user_nudge input[type=submit]").attr("disabled", "disabled"); + $("#form_user_nudge input[type=submit]").addClass("disabled"); + }, + success: function(xml) { $("#form_user_nudge").replaceWith(document._importNode($("#nudge_response", xml).get(0),true)); + $("#form_user_nudge input[type=submit]").removeAttr("disabled"); + $("#form_user_nudge input[type=submit]").removeClass("disabled"); + } + }); + $("#form_user_nudge").each(addAjaxHidden); var Subscribe = { dataType: 'xml', beforeSubmit: function(formData, jqForm, options) { $(".form_user_subscribe input[type=submit]").attr("disabled", "disabled"); diff --git a/lib/util.php b/lib/util.php index 4d4a3b20f..61f5d6c16 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1660,11 +1660,6 @@ function common_session_token() return $_SESSION['token']; } -function common_nudge_response() -{ - common_element('p', array('id' => 'nudge_response'), _('Nudge sent!')); -} - function common_cache_key($extra) { return 'laconica:' . common_keyize(common_config('site', 'name')) . ':' . $extra; diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 073d2d40a..91789f4f1 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -17,8 +17,8 @@ width:1004px; width:71.714em; } h1,h2,h3,h4,h5,h6 { - text-transform:uppercase; - margin-bottom:7px; +text-transform:uppercase; +margin-bottom:7px; } h1 { font-size:1.4em; @@ -34,8 +34,6 @@ h6 { font-size:0.9em; } caption { font-weight:bold; } -.opened { display: block !important;} -.closed { display: none !important;} legend { font-weight:bold; @@ -56,6 +54,7 @@ border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:4px; } + input.submit { font-weight:bold; } @@ -79,9 +78,6 @@ form label { font-weight:bold; /*margin:0 0 11px 0;*/ } -form ul li input { -} - input.checkbox { position:relative; top:2px; @@ -465,7 +461,7 @@ padding:1px 2px; } #form_notice #notice_data-attach_view { -/*position:absolute;*/ +position:absolute; top:25px; right:30px; margin-left:4px; @@ -614,10 +610,10 @@ text-align:left; cursor:pointer; width:100%; } -.entity_actions a { +.entity_actions a, +#entity_nudge p { text-decoration:none; font-weight:bold; -width:100%; display:block; } @@ -626,12 +622,14 @@ display:block; .form_user_block input.submit, .form_user_unblock input.submit, #entity_send-a-message a, -.form_user_nudge input.submit { +.form_user_nudge input.submit, +#entity_nudge p { border:0; padding-left:20px; } -#entity_send-a-message a { +#entity_send-a-message a, +#entity_nudge p { padding:4px 4px 4px 23px; } diff --git a/theme/identica/css/display.css b/theme/identica/css/display.css index c702c77e6..fa395b03b 100644 --- a/theme/identica/css/display.css +++ b/theme/identica/css/display.css @@ -22,6 +22,7 @@ input, textarea, select { border-color:#aaa; } + input.submit, #form_notice.warning #notice_text-count, #nav_register a, @@ -43,7 +44,8 @@ div.notice-options input, .form_user_block input.submit, .form_user_unblock input.submit, #entity_send-a-message a, -.form_user_nudge input.submit { +.form_user_nudge input.submit, +#entity_nudge p { color:#002E6E; } @@ -135,7 +137,8 @@ background-image:url(../../base/images/icons/icon_vcard.gif); #entity_send-a-message a, .form_user_nudge input.submit, .form_user_block input.submit, -.form_user_unblock input.submit { +.form_user_unblock input.submit, +#entity_nudge p { background-position: 0 40%; background-repeat: no-repeat; background-color:transparent; @@ -152,6 +155,7 @@ background-color:#97BFD1; #entity_send-a-message a { background-image:url(../images/icons/twotone/green/quote.gif); } +#entity_nudge p, .form_user_nudge input.submit { background-image:url(../images/icons/twotone/green/mail.gif); } -- cgit v1.2.3-54-g00ecf From e272adb321fb72043ac7f9a16848ef9386e56571 Mon Sep 17 00:00:00 2001 From: Robin Millette Date: Thu, 22 Jan 2009 08:01:40 +0000 Subject: fixed a few bugs and logic problems in groups --- actions/editgroup.php | 19 ++++++++++++++++--- actions/leavegroup.php | 20 +++++++++++++------- actions/newgroup.php | 3 ++- actions/showgroup.php | 6 ++++-- lib/groupeditform.php | 1 + 5 files changed, 36 insertions(+), 13 deletions(-) (limited to 'lib') diff --git a/actions/editgroup.php b/actions/editgroup.php index 82b78cc5c..98ebcb87a 100644 --- a/actions/editgroup.php +++ b/actions/editgroup.php @@ -88,7 +88,12 @@ class EditgroupAction extends Action return false; } - $this->group = User_group::staticGet('nickname', $nickname); + $groupid = $this->trimmed('groupid'); + if ($groupid) { + $this->group = User_group::staticGet('id', $groupid); + } else { + $this->group = User_group::staticGet('nickname', $nickname); + } if (!$this->group) { $this->clientError(_('No such group'), 404); @@ -97,7 +102,7 @@ class EditgroupAction extends Action $cur = common_current_user(); - if (!$cur->isAdmin($group)) { + if (!$cur->isAdmin($this->group)) { $this->clientError(_('You must be an admin to edit the group'), 403); return false; } @@ -155,6 +160,13 @@ class EditgroupAction extends Action function trySave() { + $cur = common_current_user(); + if (!$cur->isAdmin($this->group)) { + $this->clientError(_('You must be an admin to edit the group'), 403); + return; + } + + $nickname = common_canonical_nickname($this->trimmed('nickname')); $fullname = $this->trimmed('fullname'); $homepage = $this->trimmed('homepage'); @@ -222,4 +234,5 @@ class EditgroupAction extends Action $group != false && $group->id != $this->group->id); } -} \ No newline at end of file +} + diff --git a/actions/leavegroup.php b/actions/leavegroup.php index 587208b36..c7152e3c0 100644 --- a/actions/leavegroup.php +++ b/actions/leavegroup.php @@ -57,12 +57,12 @@ class LeavegroupAction extends Action parent::prepare($args); if (!common_config('inboxes','enabled')) { - $this->serverError(_('Inboxes must be enabled for groups to work')); + $this->serverError(_('Inboxes must be enabled for groups to work.')); return false; } if (!common_logged_in()) { - $this->clientError(_('You must be logged in to join a group.')); + $this->clientError(_('You must be logged in to leave a group.')); return false; } @@ -78,24 +78,30 @@ class LeavegroupAction extends Action } if (!$nickname) { - $this->clientError(_('No nickname'), 404); + $this->clientError(_('No nickname.'), 404); return false; } $this->group = User_group::staticGet('nickname', $nickname); if (!$this->group) { - $this->clientError(_('No such group'), 404); + $this->clientError(_('No such group.'), 404); return false; } $cur = common_current_user(); - if (!$cur->isMember($group)) { - $this->clientError(_('You are not a member of that group'), 403); + if (!$cur->isMember($this->group)) { + $this->clientError(_('You are not a member of that group.'), 403); return false; } + if ($cur->isAdmin($this->group)) { + $this->clientError(_('You may not leave a group while you are its administrator.'), 403); + return false; + + } + return true; } @@ -150,4 +156,4 @@ class LeavegroupAction extends Action $this->group->nickname))); } } -} \ No newline at end of file +} diff --git a/actions/newgroup.php b/actions/newgroup.php index 41c095ec0..42fd380df 100644 --- a/actions/newgroup.php +++ b/actions/newgroup.php @@ -201,4 +201,5 @@ class NewgroupAction extends Action $group = User_group::staticGet('nickname', $nickname); return (!is_null($group) && $group != false); } -} \ No newline at end of file +} + diff --git a/actions/showgroup.php b/actions/showgroup.php index 1af080c7e..0a499aff9 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -267,8 +267,10 @@ class ShowgroupAction extends Action $cur = common_current_user(); if ($cur) { if ($cur->isMember($this->group)) { - $lf = new LeaveForm($this, $this->group); - $lf->show(); + if (!$cur->isAdmin($this->group)) { + $lf = new LeaveForm($this, $this->group); + $lf->show(); + } } else { $jf = new JoinForm($this, $this->group); $jf->show(); diff --git a/lib/groupeditform.php b/lib/groupeditform.php index fe53918d1..ca674f3c8 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -133,6 +133,7 @@ class GroupEditForm extends Form { $this->out->elementStart('ul', 'form_data'); $this->out->elementStart('li'); + $this->out->hidden('groupid', $this->group->id); $this->out->input('nickname', _('Nickname'), ($this->out->arg('nickname')) ? $this->out->arg('nickname') : $this->group->nickname, _('1-64 lowercase letters or numbers, no punctuation or spaces')); -- cgit v1.2.3-54-g00ecf From 8990aaebb4a52d38ba6b58338f19366509e0b37a Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Thu, 22 Jan 2009 03:13:11 -0800 Subject: New HTTP error message classes for uiredesign --- actions/clienterror.php | 94 +++++++++++++++++++++++++++++++++++++++++++++++++ actions/servererror.php | 92 +++++++++++++++++++++++++++++++++++++++++++++++ lib/htmloutputter.php | 12 +++++++ 3 files changed, 198 insertions(+) create mode 100644 actions/clienterror.php create mode 100644 actions/servererror.php (limited to 'lib') diff --git a/actions/clienterror.php b/actions/clienterror.php new file mode 100644 index 000000000..ef6fd51df --- /dev/null +++ b/actions/clienterror.php @@ -0,0 +1,94 @@ + + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://laconi.ca/ + * + * Laconica - a distributed open-source microblogging tool + * Copyright (C) 2008, Controlez-Vous, 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 . + */ + +if (!defined('LACONICA')) { + exit(1); +} + +require_once INSTALLDIR.'/lib/error.php'; + +/** + * Class for displaying HTTP client errors + * + * @category Action + * @package Laconica + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://laconi.ca/ + */ +class ClientErrorAction extends ErrorAction +{ + function __construct($message='Error', $code=400) + { + parent::__construct($message, $code); + + $this->status = array(400 => 'Bad Request', + 401 => 'Unauthorized', + 402 => 'Payment Required', + 403 => 'Forbidden', + 404 => 'Not Found', + 405 => 'Method Not Allowed', + 406 => 'Not Acceptable', + 407 => 'Proxy Authentication Required', + 408 => 'Request Timeout', + 409 => 'Conflict', + 410 => 'Gone', + 411 => 'Length Required', + 412 => 'Precondition Failed', + 413 => 'Request Entity Too Large', + 414 => 'Request-URI Too Long', + 415 => 'Unsupported Media Type', + 416 => 'Requested Range Not Satisfiable', + 417 => 'Expectation Failed'); + $this->default = 400; + } + + // XXX: Should these error actions even be invokable via URI? + + function handle($args) + { + parent::handle($args); + + $this->code = $this->trimmed('code'); + + if (!$this->code || $code < 400 || $code > 499) { + $this->code = $this->default; + } + + $this->message = $this->trimmed('message'); + + if (!$this->message) { + $this->message = "Client Error $this->code"; + } + + $this->showPage(); + } +} diff --git a/actions/servererror.php b/actions/servererror.php new file mode 100644 index 000000000..a39886591 --- /dev/null +++ b/actions/servererror.php @@ -0,0 +1,92 @@ + + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://laconi.ca/ + * + * Laconica - a distributed open-source microblogging tool + * Copyright (C) 2008, Controlez-Vous, 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 . + */ + +if (!defined('LACONICA')) { + exit(1); +} + +require_once INSTALLDIR.'/lib/error.php'; + +/** + * Class for displaying HTTP server errors + * + * Note: The older util.php class simply printed a string, but the spec + * says that 500 errors should be treated similarly to 400 errors, and + * it's easier to give an HTML response. Maybe we can customize these + * to display some funny animal cartoons. If not, we can probably role + * these classes up into a single class. + * + * See: http://tools.ietf.org/html/rfc2616#section-10 + * + * @category Action + * @package Laconica + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://laconi.ca/ + */ +class ServerErrorAction extends ErrorAction +{ + function __construct($message='Error', $code=500) + { + parent::__construct($message, $code); + + $this->status = array(500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Timeout', + 505 => 'HTTP Version Not Supported'); + + $this->default = 500; + } + + // XXX: Should these error actions even be invokable via URI? + + function handle($args) + { + parent::handle($args); + + $this->code = $this->trimmed('code'); + + if (!$this->code || $code < 500 || $code > 599) { + $this->code = $this->default; + } + + $this->message = $this->trimmed('message'); + + if (!$this->message) { + $this->message = "Server Error $this->code"; + } + + $this->showPage(); + } + +} diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 1e164933c..f9245414f 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -108,6 +108,8 @@ class HTMLOutputter extends XMLOutputter } header('Content-Type: '.$type); + + $this->extraHeaders(); $this->startXML('html', '-//W3C//DTD XHTML 1.0 Strict//EN', @@ -132,6 +134,16 @@ class HTMLOutputter extends XMLOutputter $this->elementEnd('html'); $this->endXML(); } + + /** + * To specify additional HTTP headers for the action + * + * @return void + */ + function extraHeaders() + { + // Needs to be overloaded + } /** * Output an HTML text input element -- cgit v1.2.3-54-g00ecf From f89f6a8eb0d16fc7c4114ba9279466189b857ea6 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Thu, 22 Jan 2009 03:33:12 -0800 Subject: Base class for new uiredesign HTTP error classes --- lib/error.php | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 lib/error.php (limited to 'lib') diff --git a/lib/error.php b/lib/error.php new file mode 100644 index 000000000..9842053d8 --- /dev/null +++ b/lib/error.php @@ -0,0 +1,136 @@ + + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://laconi.ca/ + * + * Laconica - a distributed open-source microblogging tool + * Copyright (C) 2008, Controlez-Vous, 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 . + */ + +if (!defined('LACONICA')) { + exit(1); +} + +/** + * Base class for displaying HTTP errors + * + * @category Action + * @package Laconica + * @author Zach Copley + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://laconi.ca/ + */ +class ErrorAction extends Action +{ + var $code = null; + var $message = null; + var $status = null; + var $default = null; + + function __construct($message, $code, $output='php://output', $indent=true) + { + parent::__construct($output, $indent); + + $this->code = $code; + $this->message = $message; + + // XXX: hack alert: usually we aren't going to + // call this page directly, but because it's + // an action it needs an args array anyway + $this->prepare($_REQUEST); + } + + /** + * To specify additional HTTP headers for the action + * + * @return void + */ + function extraHeaders() + { + $status_string = $this->status[$this->code]; + header('HTTP/1.1 '.$this->code.' '.$status_string); + } + + /** + * Display content. + * + * @return nothing + */ + function showContent() + { + $this->element('div', array('class' => 'error'), $this->message); + } + + /** + * Page title. + * + * @return page title + */ + function title() + { + return $this->message; + } + + function isReadOnly() + { + return true; + } + + function showPage() + { + parent::showPage(); + + // We don't want to have any more output after this + exit(); + } + + // Overload a bunch of stuff so the page isn't too bloated + + function showBody() + { + $this->elementStart('body', array('id' => 'error')); + $this->elementStart('div', 'wrap'); + $this->showHeader(); + $this->showCore(); + $this->showFooter(); + $this->elementEnd('div'); + $this->elementEnd('body'); + } + + function showCore() + { + $this->elementStart('div', array('id' => 'core')); + $this->showContentBlock(); + $this->elementEnd('div'); + } + + function showHeader() + { + $this->elementStart('div', array('id' => 'header')); + $this->showLogo(); + $this->elementEnd('div'); + } + +} -- cgit v1.2.3-54-g00ecf