diff --git a/actions/showgroup.php b/actions/showgroup.php index b198352cb0..aa1f620880 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -323,7 +323,7 @@ class ShowgroupAction extends GroupDesignAction // TRANS: Header for group statistics on a group page (h2). $this->element('h2', null, _('Statistics')); - $this->elementEnd('dl'); + $this->elementStart('dl'); $this->element('dt', null, _m('LABEL','Created')); $this->element('dd', 'entity_created', date('j M Y', strtotime($this->group->created))); diff --git a/lib/accountprofileblock.php b/lib/accountprofileblock.php index ea6e27ac76..a8bdb4715b 100644 --- a/lib/accountprofileblock.php +++ b/lib/accountprofileblock.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Profile block to show for an account - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -63,8 +63,8 @@ class AccountProfileBlock extends ProfileBlock if (empty($avatar)) { $avatar = $this->profile->getAvatar(73); } - return (!empty($avatar)) ? - $avatar->displayUrl() : + return (!empty($avatar)) ? + $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE); } @@ -95,21 +95,22 @@ class AccountProfileBlock extends ProfileBlock function showActions() { - if ($this->profile->hasRole(Profile_role::DELETED)) { - $this->out->elementStart('div', 'entity_actions'); - // TRANS: H2 for user actions in a profile. - $this->out->element('h2', null, _('User actions')); - $this->out->elementStart('ul'); - $this->out->elementStart('p', array('class' => 'profile_deleted')); - // TRANS: Text shown in user profile of not yet compeltely deleted users. - $this->out->text(_('User deletion in progress...')); - $this->out->elementEnd('p'); - $this->out->elementEnd('ul'); - $this->out->elementEnd('div'); - return; - } if (Event::handle('StartProfilePageActionsSection', array($this->out, $this->profile))) { + if ($this->profile->hasRole(Profile_role::DELETED)) { + $this->out->elementStart('div', 'entity_actions'); + // TRANS: H2 for user actions in a profile. + $this->out->element('h2', null, _('User actions')); + $this->out->elementStart('ul'); + $this->out->elementStart('p', array('class' => 'profile_deleted')); + // TRANS: Text shown in user profile of not yet compeltely deleted users. + $this->out->text(_('User deletion in progress...')); + $this->out->elementEnd('p'); + $this->out->elementEnd('ul'); + $this->out->elementEnd('div'); + return; + } + $cur = common_current_user(); $this->out->elementStart('div', 'entity_actions'); diff --git a/lib/profileblock.php b/lib/profileblock.php index dca0814437..19e5a386ba 100644 --- a/lib/profileblock.php +++ b/lib/profileblock.php @@ -56,7 +56,7 @@ abstract class ProfileBlock extends Widget function show() { - $this->out->elementStart('div', 'profile_block'); + $this->out->elementStart('div', 'profile_block section'); $size = $this->avatarSize(); diff --git a/plugins/ExtendedProfile/ExtendedProfilePlugin.php b/plugins/ExtendedProfile/ExtendedProfilePlugin.php index d1572ce9fd..127c91a543 100644 --- a/plugins/ExtendedProfile/ExtendedProfilePlugin.php +++ b/plugins/ExtendedProfile/ExtendedProfilePlugin.php @@ -34,7 +34,7 @@ class ExtendedProfilePlugin extends Plugin { $versions[] = array('name' => 'ExtendedProfile', 'version' => STATUSNET_VERSION, - 'author' => 'Brion Vibber', + 'author' => 'Brion Vibber, Zach Copley', 'homepage' => 'http://status.net/wiki/Plugin:ExtendedProfile', 'rawdescription' => _m('UI extensions for additional profile fields.')); @@ -110,22 +110,13 @@ class ExtendedProfilePlugin extends Plugin return true; } - function onEndAccountSettingsProfileMenuItem($widget, $menu) - { - // TRANS: Link title attribute in user account settings menu. - $title = _('Change additional profile settings'); - // TRANS: Link description in user account settings menu. - $widget->showMenuItem('profiledetailsettings',_m('Details'),$title); - return true; - } - - function onEndProfilePageProfileElements(HTMLOutputter $out, Profile $profile) { + function onStartProfilePageActionsSection(HTMLOutputter $out, Profile $profile) { $user = User::staticGet('id', $profile->id); if ($user) { $url = common_local_url('profiledetail', array('nickname' => $user->nickname)); - $out->element('a', array('href' => $url), _m('More details...')); + $out->element('a', array('href' => $url, 'class' => 'profiledetail'), _m('More details...')); } - return; + return true; } } diff --git a/plugins/ExtendedProfile/css/profiledetail.css b/plugins/ExtendedProfile/css/profiledetail.css index 3af9bcba4a..7de7e88ff5 100644 --- a/plugins/ExtendedProfile/css/profiledetail.css +++ b/plugins/ExtendedProfile/css/profiledetail.css @@ -55,6 +55,7 @@ float: left; padding-top: 2px; padding-bottom: 2px; + max-width: 350px; } #profiledetailsettings #content table.extended-profile td { diff --git a/plugins/ExtendedProfile/extendedprofilewidget.php b/plugins/ExtendedProfile/extendedprofilewidget.php index 1ef6440ed6..b507713f06 100644 --- a/plugins/ExtendedProfile/extendedprofilewidget.php +++ b/plugins/ExtendedProfile/extendedprofilewidget.php @@ -395,25 +395,28 @@ class ExtendedProfileWidget extends Form { $this->out->elementStart('div', 'education-item'); $this->out->element('div', 'label', _m('Institution')); - $this->out->element('div', 'field', $field['school']); - $this->out->element('div', 'label', _m('Degree')); - $this->out->element('div', 'field', $field['degree']); - $this->out->element('div', 'label', _m('Description')); - $this->out->element('div', 'field', $field['description']); - $this->out->element('div', 'label', _m('Start')); - $this->out->element( - 'div', - array('class' => 'field date'), - date('j M Y', strtotime($field['start']) - ) - ); - $this->out->element('div', 'label', _m('End')); - $this->out->element( - 'div', - array('class' => 'field date'), - date('j M Y', strtotime($field['end']) - ) - ); + if (!empty($field['school'])) { + + $this->out->element('div', 'field', $field['school']); + $this->out->element('div', 'label', _m('Degree')); + $this->out->element('div', 'field', $field['degree']); + $this->out->element('div', 'label', _m('Description')); + $this->out->element('div', 'field', $field['description']); + $this->out->element('div', 'label', _m('Start')); + $this->out->element( + 'div', + array('class' => 'field date'), + date('j M Y', strtotime($field['start']) + ) + ); + $this->out->element('div', 'label', _m('End')); + $this->out->element( + 'div', + array('class' => 'field date'), + date('j M Y', strtotime($field['end']) + ) + ); + } $this->out->elementEnd('div'); } @@ -442,7 +445,6 @@ class ExtendedProfileWidget extends Form ); $this->out->element('div', 'label', _m('Description')); - $this->out->element('div', 'field', $field['description']); $this->out->textarea( $id . '-description', @@ -565,10 +567,11 @@ class ExtendedProfileWidget extends Form $out->input($id, null, $this->ext->getTextValue($name)); break; case 'date': + $value = $this->ext->getDateValue($name); $out->input( $id, null, - date('j M Y', strtotime($this->ext->getDateValue($name))) + empty($value) ? null : date('j M Y', strtotime($value)) ); break; case 'person': diff --git a/plugins/ExtendedProfile/profiledetailsettingsaction.php b/plugins/ExtendedProfile/profiledetailsettingsaction.php index 7b03f247ed..4a2045cefb 100644 --- a/plugins/ExtendedProfile/profiledetailsettingsaction.php +++ b/plugins/ExtendedProfile/profiledetailsettingsaction.php @@ -44,14 +44,12 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction function showStylesheets() { parent::showStylesheets(); $this->cssLink('plugins/ExtendedProfile/css/profiledetail.css'); - $this->cssLink('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css'); return true; } function showScripts() { parent::showScripts(); $this->script('plugins/ExtendedProfile/js/profiledetail.js'); - $this->script('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js'); return true; } @@ -262,8 +260,7 @@ class ProfileDetailSettingsAction extends ProfileSettingsAction $this->removeAll($user, 'website'); $i = 0; foreach($sites as $site) { - - if (!Validate::uri( + if (!empty($site['value']) && !Validate::uri( $site['value'], array('allowed_schemes' => array('http', 'https'))) ) { diff --git a/theme/neo/css/display.css b/theme/neo/css/display.css index 7cb5e11911..92da5977ef 100644 --- a/theme/neo/css/display.css +++ b/theme/neo/css/display.css @@ -413,6 +413,33 @@ address { text-transform: uppercase; } +.profile_block_name { + font-size: 14px; + font-weight: bold; +} + +.profile_block_location { + font-weight: bold; +} + +.profile_block_description { + line-height: 1.2em; +} + +.profile_block .entity_actions { + float: left; + margin-left: 0px; +} + +.profile_block .entity_moderation:hover ul, +.profile_block .entity_role:hover ul { + left: 20px; +} + +.profile_block a.profiledetail { + display: block; +} + .section ul.entities { width: 220px; }