From c5c46637ad6137509a70422198e36808d127239e Mon Sep 17 00:00:00 2001 From: Jeroen Dalsem Date: Thu, 28 Mar 2024 15:32:01 +0100 Subject: [PATCH] feat(views): restructured various page elements and improved css --- docs/appendix/upgrade-notes/5.x-to-6.0.rst | 14 +- engine/lib/elgglib.php | 5 +- engine/lib/views.php | 6 +- engine/theme.php | 7 +- mod/custom_index/elgg-plugin.php | 5 + .../views/default/custom_index/content.css | 7 + .../views/default/custom_index/content.php | 50 ++---- .../views/default/resources/index.php | 4 +- .../views/default/resources/dashboard.php | 18 +-- .../views/default/forms/expages/edit.php | 2 +- mod/groups/views/default/groups/groups.css | 10 -- .../groups/profile/closed_membership.php | 2 +- .../groups/profile/membersonly_closed.php | 2 +- .../groups/profile/membersonly_open.php | 2 +- .../views/default/groups/profile/module.php | 5 +- .../views/default/groups/profile/summary.php | 17 +- .../views/default/groups/sidebar/members.php | 27 ++-- .../views/default/groups/sidebar/owner.php | 10 +- .../views/default/resources/messages/read.php | 1 + .../views/default/profile/owner_block.php | 29 ++-- mod/profile/views/default/profile/profile.css | 29 ++-- .../views/default/resources/profile/view.php | 1 - .../default/resources/theme_sandbox/index.php | 1 - .../views/default/theme_sandbox/grid.php | 146 ------------------ .../default/theme_sandbox/modules/modules.php | 60 +++---- .../default/theme_sandbox/modules/widgets.php | 8 +- views/default/admin.css.php | 37 ++--- .../annotation/elements/summary/content.php | 7 +- views/default/core.css.php | 1 - .../elements/components/breadcrumbs.css | 29 ++-- .../elements/components/image_block.css | 10 +- views/default/elements/components/list.css | 14 +- views/default/elements/components/menus.css | 1 - views/default/elements/components/profile.css | 42 +++-- views/default/elements/grid.css | 104 ------------- views/default/elements/icons/avatar.css | 4 + views/default/elements/layout/columns.css | 73 +++------ views/default/elements/layout/footer.css | 1 - views/default/elements/layout/header.css | 20 +-- views/default/elements/layout/shell.css | 26 ++-- views/default/elements/layout/topbar.css | 9 +- views/default/elements/modules.css | 31 +--- views/default/elements/widgets.css | 16 +- views/default/elgg/jquery.mjs.php | 7 + views/default/elgg/widgets.mjs | 2 +- .../forms/admin/site/settings/caching.php | 64 ++++---- .../forms/admin/site/settings/users.php | 14 +- .../default/forms/settings/notifications.css | 2 +- views/default/icon/user/default.php | 2 +- views/default/maintenance.css.php | 70 ++++----- views/default/object/comment.php | 22 +-- views/default/object/elements/field.php | 2 +- views/default/object/elements/full.php | 9 +- .../object/elements/full/attachments.php | 4 +- views/default/object/elements/full/header.php | 1 + .../object/elements/full/navigation.php | 12 +- .../object/elements/full/responses.php | 4 +- views/default/object/elements/imprint.php | 7 +- views/default/object/elements/summary.php | 11 +- .../object/elements/summary/content.php | 7 +- views/default/page/components/image_block.php | 29 ++-- views/default/page/components/module.php | 2 +- views/default/page/components/tabs.php | 13 +- .../default/page/elements/comments_block.php | 20 ++- views/default/page/elements/head.php | 2 + views/default/page/elements/owner_block.php | 23 +-- views/default/page/elements/page_menu.php | 11 +- views/default/page/layouts/admin.php | 11 +- views/default/page/layouts/default.php | 9 +- views/default/page/layouts/elements/body.php | 13 +- .../default/page/layouts/elements/sidebar.php | 2 +- .../page/layouts/elements/sidebar_alt.php | 2 +- views/default/page/layouts/error.php | 7 +- views/default/page/layouts/maintenance.php | 12 -- views/default/page/maintenance.php | 3 +- .../relationship/elements/summary/content.php | 7 +- views/default/resources/maintenance.php | 10 +- .../default/user/elements/summary/content.php | 7 +- views/default/walled_garden.css.php | 114 +++++++------- views/installation/install.css.php | 4 +- views/installation/page/elements/body.php | 36 ++--- 81 files changed, 502 insertions(+), 968 deletions(-) create mode 100644 mod/custom_index/views/default/custom_index/content.css delete mode 100644 mod/theme_sandbox/views/default/theme_sandbox/grid.php delete mode 100644 views/default/elements/grid.css create mode 100644 views/default/elgg/jquery.mjs.php delete mode 100644 views/default/page/layouts/maintenance.php diff --git a/docs/appendix/upgrade-notes/5.x-to-6.0.rst b/docs/appendix/upgrade-notes/5.x-to-6.0.rst index 274cf4aea57..412b26f9287 100644 --- a/docs/appendix/upgrade-notes/5.x-to-6.0.rst +++ b/docs/appendix/upgrade-notes/5.x-to-6.0.rst @@ -93,7 +93,19 @@ Most notable changes are the following: * H1 is always the page title (and no longer the logo / site name) * Modules (info, sidebar, widgets) use the H2 heading -* H3 headings on entity / relationship / annotation summary titles have been replaced by a regular text element +* H3 headings on entity / relationship / annotation summary titles have been replaced by a regular text element + +CSS and HTML structure changes +------------------------------ + +The HTML structure of pages have been changed. Entity summaries and full view entity pages have been wrapped in an ``article`` element. +Sidebar elements now use the ``aside`` html element. Modules (like widgets of info-modules) now use a ``section`` element instead of a ``div``. +Duplicate css classes on the same element like ``elgg-body`` and ``elgg-layout-body`` have been removed. + +Elgg provided some helper classes for creating a grid layout (like ``elgg-grid``, ``elgg-col``, ``elgg-row``). +These helper classes have been removed. You can do all those things with regular css like ``display: grid``. + +Some other styling changes include a new background color for the body, improved styling of breadcrumbs and a more basic owner block chip. Changes in functions -------------------- diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index f37104fef61..c01d8987814 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -269,18 +269,19 @@ function elgg_extract($key, $array, $default = null, bool $strict = true) { * @param array $array Source array * @param string|string[] $existing Existing name(s) * @param string $extract_key Key to extract new classes from + * * @return string[] * * @since 2.3.0 */ -function elgg_extract_class(array $array, $existing = [], $extract_key = 'class'): array { +function elgg_extract_class(array $array, array|string $existing = [], string $extract_key = 'class'): array { $existing = empty($existing) ? [] : (array) $existing; $merge = (array) elgg_extract($extract_key, $array, []); array_splice($existing, count($existing), 0, $merge); - return array_values(array_unique($existing)); + return array_values(array_filter(array_unique($existing))); } /** diff --git a/engine/lib/views.php b/engine/lib/views.php index f90204074eb..df26c32725a 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -1314,10 +1314,10 @@ function elgg_views_boot(): void { elgg_require_css('elgg'); - elgg_register_esm('cropperjs', elgg_get_simplecache_url('cropperjs/cropper.min.js')); - elgg_register_esm('jquery', elgg_get_simplecache_url('jquery.js')); + elgg_register_esm('cropperjs', elgg_get_simplecache_url('cropperjs/cropper.esm.js')); + elgg_register_esm('jquery', elgg_get_simplecache_url('elgg/jquery.mjs')); elgg_register_esm('jquery-ui', elgg_get_simplecache_url('jquery-ui.js')); - elgg_register_esm('jquery-cropper/jquery-cropper', elgg_get_simplecache_url('jquery-cropper/jquery-cropper.min.js')); + elgg_register_esm('jquery-cropper/jquery-cropper', elgg_get_simplecache_url('jquery-cropper/jquery-cropper.esm.js')); elgg_import_esm('elgg'); elgg_import_esm('elgg/lightbox'); diff --git a/engine/theme.php b/engine/theme.php index 26aecfbb403..5993409d7dd 100644 --- a/engine/theme.php +++ b/engine/theme.php @@ -6,7 +6,8 @@ return [ // layout and shell - 'body-background-color' => '#FFFFFF', + 'body-background-color' => '#f3f3f3', + 'page-section-max-width' => '90rem', 'walled-garden-background-image' => 'graphics/walled_garden.jpg', // Typography @@ -32,7 +33,7 @@ 'text-color-highlight' => '#0078ac', 'background-color-soft' => '#fafafa', - 'background-color-mild' => '#e6e6ea', + 'background-color-mild' => '#f3f3f3', 'background-color-strong' => '#cfcfd2', 'background-color-highlight' => '#0078ac', @@ -84,8 +85,6 @@ 'topbar-indicator' => '#faa51a', // breakpoints - 'tablet' => '50rem', - 'desktop' => '80rem', 'media-phone-up' => 'screen and (min-width: 30rem)', 'media-tablet-up' => 'screen and (min-width: 50rem)', 'media-desktop-up' => 'screen and (min-width: 80rem)', diff --git a/mod/custom_index/elgg-plugin.php b/mod/custom_index/elgg-plugin.php index 6715ed4cc5b..abd7788729e 100644 --- a/mod/custom_index/elgg-plugin.php +++ b/mod/custom_index/elgg-plugin.php @@ -22,4 +22,9 @@ 'module_groups_enabled' => 1, 'module_users_enabled' => 1, ], + 'view_extensions' => [ + 'elgg.css' => [ + 'custom_index/content.css' => [], + ], + ], ]; diff --git a/mod/custom_index/views/default/custom_index/content.css b/mod/custom_index/views/default/custom_index/content.css new file mode 100644 index 00000000000..5dd41b5342b --- /dev/null +++ b/mod/custom_index/views/default/custom_index/content.css @@ -0,0 +1,7 @@ +@media $(media-tablet-up) { + .custom-index { + display: grid; + column-gap: 2rem; + grid-template-columns: 1fr 1fr; + } +} diff --git a/mod/custom_index/views/default/custom_index/content.php b/mod/custom_index/views/default/custom_index/content.php index 0478fa29e1f..ee2de21cddd 100644 --- a/mod/custom_index/views/default/custom_index/content.php +++ b/mod/custom_index/views/default/custom_index/content.php @@ -1,9 +1,6 @@ about; if (!empty($about)) { - $modules[] = elgg_view_module('featured', '', $about); + echo elgg_view_module('info', '', $about); } } if (!elgg_is_logged_in() && $is_module_enabled('register') && elgg_get_config('allow_registration')) { - $modules[] = elgg_view_module('featured', elgg_echo('register'), elgg_view_form('register', [ + echo elgg_view_module('info', elgg_echo('register'), elgg_view_form('register', [ 'sticky_enabled' => true, 'sticky_ignored_fields' => [ 'password', @@ -40,12 +35,11 @@ } if (!elgg_is_logged_in() && $is_module_enabled('login')) { - $modules[] = elgg_view_module('featured', elgg_echo('login'), elgg_view_form('login')); + echo elgg_view_module('info', elgg_echo('login'), elgg_view_form('login')); } -// activity if (elgg_is_active_plugin('activity') && $is_module_enabled('activity')) { - $modules[] = elgg_view_module('featured', elgg_echo('collection:river'), elgg_list_river([ + echo elgg_view_module('info', elgg_echo('collection:river'), elgg_list_river([ 'distinct' => false, 'no_results' => elgg_echo('river:none'), 'limit' => 5, @@ -53,46 +47,22 @@ ])); } -// files if (elgg_is_active_plugin('file') && $is_module_enabled('file')) { - $modules[] = elgg_view_module('featured', elgg_echo('collection:object:file'), elgg_list_entities($get_list_params(['subtype' => 'file']))); + echo elgg_view_module('info', elgg_echo('collection:object:file'), elgg_list_entities($get_list_params(['subtype' => 'file']))); } -// groups if (elgg_is_active_plugin('groups') && $is_module_enabled('groups')) { - $modules[] = elgg_view_module('featured', elgg_echo('collection:group'), elgg_list_entities($get_list_params(['type' => 'group']))); + echo elgg_view_module('info', elgg_echo('collection:group'), elgg_list_entities($get_list_params(['type' => 'group']))); } if ($is_module_enabled('users')) { - $modules[] = elgg_view_module('featured', elgg_echo('collection:user'), elgg_list_entities($get_list_params(['type' => 'user']))); + echo elgg_view_module('info', elgg_echo('collection:user'), elgg_list_entities($get_list_params(['type' => 'user']))); } -// groups if (elgg_is_active_plugin('blog') && $is_module_enabled('blog')) { - $modules[] = elgg_view_module('featured', elgg_echo('collection:object:blog'), elgg_list_entities($get_list_params(['subtype' => 'blog']))); + echo elgg_view_module('info', elgg_echo('collection:object:blog'), elgg_list_entities($get_list_params(['subtype' => 'blog']))); } -// files if (elgg_is_active_plugin('bookmarks') && $is_module_enabled('bookmarks')) { - $modules[] = elgg_view_module('featured', elgg_echo('collection:object:bookmarks'), elgg_list_entities($get_list_params(['subtype' => 'bookmarks']))); -} - -$left = ''; -$right = ''; - -// spread modules evenly -foreach ($modules as $index => $module) { - if ($index % 2 == 0) { - $left .= $module; - } else { - $right .= $module; - } + echo elgg_view_module('info', elgg_echo('collection:object:bookmarks'), elgg_list_entities($get_list_params(['subtype' => 'bookmarks']))); } - -$left .= elgg_view('index/lefthandside'); -$right .= elgg_view('index/righthandside'); - -$left = elgg_format_element('div', ['class' => ['elgg-col', 'elgg-col-1of2', 'custom-index-col1']], elgg_format_element('div', ['class' => 'elgg-inner'], $left)); -$right = elgg_format_element('div', ['class' => ['elgg-col', 'elgg-col-2of2', 'custom-index-col2']], elgg_format_element('div', ['class' => 'elgg-inner'], $right)); - -echo elgg_format_element('div', ['class' => ['custom-index', 'elgg-main', 'elgg-grid']], $left . $right); diff --git a/mod/custom_index/views/default/resources/index.php b/mod/custom_index/views/default/resources/index.php index 3b1741d9d85..c503170d659 100644 --- a/mod/custom_index/views/default/resources/index.php +++ b/mod/custom_index/views/default/resources/index.php @@ -12,7 +12,9 @@ $title = elgg_echo('welcome'); } +$content = elgg_format_element('div', ['class' => ['custom-index']], elgg_view('custom_index/content', $vars)); + echo elgg_view_page($title, [ - 'content' => elgg_view('custom_index/content', $vars), + 'content' => $content, 'sidebar' => false, ]); diff --git a/mod/dashboard/views/default/resources/dashboard.php b/mod/dashboard/views/default/resources/dashboard.php index e27e9f391fd..2edd8d1ae41 100644 --- a/mod/dashboard/views/default/resources/dashboard.php +++ b/mod/dashboard/views/default/resources/dashboard.php @@ -2,17 +2,13 @@ elgg_set_page_owner_guid(elgg_get_logged_in_user_guid()); -$content = elgg_view_layout('widgets', [ - 'num_columns' => 3, - 'show_access' => false, - 'no_widgets' => function () { - echo elgg_view('dashboard/blurb'); - }, -]); - echo elgg_view_page(elgg_echo('dashboard'), [ - 'title' => false, 'sidebar' => false, - 'content' => $content, - 'header' => false, + 'content' => elgg_view_layout('widgets', [ + 'num_columns' => 3, + 'show_access' => false, + 'no_widgets' => function () { + echo elgg_view('dashboard/blurb'); + }, + ]), ]); diff --git a/mod/externalpages/views/default/forms/expages/edit.php b/mod/externalpages/views/default/forms/expages/edit.php index cca2802232a..b271aee2892 100644 --- a/mod/externalpages/views/default/forms/expages/edit.php +++ b/mod/externalpages/views/default/forms/expages/edit.php @@ -56,7 +56,7 @@ 'fields' => [ [ '#type' => 'submit', - 'value' => elgg_echo('save'), + 'text' => elgg_echo('save'), ], [ '#html' => elgg_view('output/url', [ diff --git a/mod/groups/views/default/groups/groups.css b/mod/groups/views/default/groups/groups.css index 3e052fd8da8..633c730e568 100644 --- a/mod/groups/views/default/groups/groups.css +++ b/mod/groups/views/default/groups/groups.css @@ -17,16 +17,6 @@ } } -.elgg-sidebar .elgg-listing-summary-subtitle { - .groups-membership, .groups-members { - display: block; - } -} - -.groups-widget-viewall { - font-size: 85%; -} - #groups-tools { display: grid; grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); diff --git a/mod/groups/views/default/groups/profile/closed_membership.php b/mod/groups/views/default/groups/profile/closed_membership.php index d0b84113de1..c602e739c87 100644 --- a/mod/groups/views/default/groups/profile/closed_membership.php +++ b/mod/groups/views/default/groups/profile/closed_membership.php @@ -8,4 +8,4 @@ $output .= ' ' . elgg_echo('groups:closedgroup:request'); } -echo elgg_view_message('notice', $output, ['class' => 'mtl']); +echo elgg_view_message('notice', $output, ['class' => 'mtl', 'title' => false]); diff --git a/mod/groups/views/default/groups/profile/membersonly_closed.php b/mod/groups/views/default/groups/profile/membersonly_closed.php index b0c8ff3ff6c..42e831379df 100644 --- a/mod/groups/views/default/groups/profile/membersonly_closed.php +++ b/mod/groups/views/default/groups/profile/membersonly_closed.php @@ -9,4 +9,4 @@ $output .= ' ' . elgg_echo('groups:closedgroup:request'); } -echo elgg_view_message('notice', $output, ['class' => 'mtl']); +echo elgg_view_message('notice', $output, ['class' => 'mtl', 'title' => false]); diff --git a/mod/groups/views/default/groups/profile/membersonly_open.php b/mod/groups/views/default/groups/profile/membersonly_open.php index 1f33ddba81d..16113c435dd 100644 --- a/mod/groups/views/default/groups/profile/membersonly_open.php +++ b/mod/groups/views/default/groups/profile/membersonly_open.php @@ -9,4 +9,4 @@ $output .= ' ' . elgg_echo('groups:opengroup:membersonly:join'); } -echo elgg_view_message('notice', $output, ['class' => 'mtl']); +echo elgg_view_message('notice', $output, ['class' => 'mtl', 'title' => false]); diff --git a/mod/groups/views/default/groups/profile/module.php b/mod/groups/views/default/groups/profile/module.php index 4f1f0d1b9ea..9d458ec69f2 100644 --- a/mod/groups/views/default/groups/profile/module.php +++ b/mod/groups/views/default/groups/profile/module.php @@ -41,12 +41,9 @@ } if (!empty($all_link)) { - $menu = elgg_format_element('span', [ - 'class' => 'groups-widget-viewall', - ], $all_link); + $menu = elgg_format_element('span', ['class' => 'elgg-quiet'], $all_link); } -// content $content = elgg_extract('content', $vars); if (!isset($content) && $can_default) { elgg_push_context('widgets'); diff --git a/mod/groups/views/default/groups/profile/summary.php b/mod/groups/views/default/groups/profile/summary.php index cf80b3962b2..f916351588c 100644 --- a/mod/groups/views/default/groups/profile/summary.php +++ b/mod/groups/views/default/groups/profile/summary.php @@ -8,7 +8,7 @@ */ $group = elgg_extract('entity', $vars); -if (!($group instanceof \ElggGroup)) { +if (!$group instanceof \ElggGroup) { echo elgg_echo('groups:notfound'); return; } @@ -16,14 +16,13 @@ // we don't force icons to be square so don't set width/height $icon = elgg_format_element('div', [ 'class' => 'groups-profile-icon', -], elgg_view_entity_icon($group, 'large', [ - 'href' => '', - 'width' => '', - 'height' => '', -])); +], elgg_view_entity_icon($group, 'large', ['href' => false])); -$body = elgg_format_element('div', [ - 'class' => 'groups-profile-fields', -], elgg_view('groups/profile/fields', $vars)); +$body = ''; + +$fields = elgg_view('groups/profile/fields', $vars); +if (!empty($fields)) { + $body = elgg_format_element('div', ['class' => 'groups-profile-fields'], $fields); +} echo elgg_view_image_block($icon, $body, ['class' => 'groups-profile']); diff --git a/mod/groups/views/default/groups/sidebar/members.php b/mod/groups/views/default/groups/sidebar/members.php index 562a424cf8c..0ff7f2b93f3 100644 --- a/mod/groups/views/default/groups/sidebar/members.php +++ b/mod/groups/views/default/groups/sidebar/members.php @@ -9,26 +9,21 @@ */ $entity = elgg_extract('entity', $vars); -if (!($entity instanceof \ElggGroup)) { +if (!$entity instanceof \ElggGroup) { return; } -$limit = elgg_extract('limit', $vars, 14); - -$all_link = elgg_view('output/url', [ - 'href' => elgg_generate_url('collection:user:user:group_members', [ - 'guid' => $entity->guid, - ]), - 'text' => elgg_echo('groups:members:more'), - 'is_trusted' => true, -]); +$count = $entity->getMembers(['count' => true]); +if (empty($count)) { + return; +} $body = elgg_list_entities([ 'relationship' => 'member', 'relationship_guid' => $entity->guid, 'inverse_relationship' => true, 'type' => 'user', - 'limit' => $limit, + 'limit' => elgg_extract('limit', $vars, 14), 'order_by' => [ new OrderByClause('r.time_created', 'DESC'), ], @@ -37,8 +32,14 @@ 'gallery_class' => 'elgg-gallery-users', ]); -$body .= "
$all_link
"; +$all_link = elgg_view('output/url', [ + 'href' => elgg_generate_url('collection:user:user:group_members', [ + 'guid' => $entity->guid, + ]), + 'text' => elgg_echo('groups:members:more'), + 'is_trusted' => true, +]); -$count = $entity->getMembers(['count' => true]); +$body .= elgg_format_element('div', ['class' => ['center', 'mts']], $all_link); echo elgg_view_module('aside', elgg_echo('groups:members') . " ({$count})", $body); diff --git a/mod/groups/views/default/groups/sidebar/owner.php b/mod/groups/views/default/groups/sidebar/owner.php index f2471cee0e1..123f549f941 100644 --- a/mod/groups/views/default/groups/sidebar/owner.php +++ b/mod/groups/views/default/groups/sidebar/owner.php @@ -6,17 +6,13 @@ */ $entity = elgg_extract('entity', $vars); -if (!($entity instanceof \ElggGroup)) { +if (!$entity instanceof \ElggGroup) { return; } $owner = $entity->getOwnerEntity(); -if (!($owner instanceof \ElggUser)) { +if (!$owner instanceof \ElggUser) { return; } -$body = elgg_view_entity($owner, [ - 'full_view' => false, -]); - -echo elgg_view_module('aside', elgg_echo('groups:owner'), $body); +echo elgg_view_module('aside', elgg_echo('groups:owner'), elgg_view_entity_list([$owner], ['full_view' => false])); diff --git a/mod/messages/views/default/resources/messages/read.php b/mod/messages/views/default/resources/messages/read.php index 606ad4c43c8..45f2177b176 100644 --- a/mod/messages/views/default/resources/messages/read.php +++ b/mod/messages/views/default/resources/messages/read.php @@ -38,6 +38,7 @@ if ((elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) && $from_user) { elgg_register_menu_item('title', [ 'name' => 'reply', + 'icon' => 'reply', 'href' => '#messages-reply-form', 'text' => elgg_echo('reply'), 'link_class' => ['elgg-button', 'elgg-button-action', 'elgg-toggle'], diff --git a/mod/profile/views/default/profile/owner_block.php b/mod/profile/views/default/profile/owner_block.php index 38f1549f7be..21891176b85 100644 --- a/mod/profile/views/default/profile/owner_block.php +++ b/mod/profile/views/default/profile/owner_block.php @@ -7,31 +7,32 @@ $user = elgg_extract('entity', $vars); if (!$user instanceof \ElggUser) { - // no user so we quit view - echo elgg_echo('viewfailure', [__FILE__]); return; } -$icon = elgg_view_entity_icon($user, 'large', [ +$href = null; +if ($user->canEdit()) { + $href = elgg_generate_url('edit:user:avatar', ['username' => $user->username]); +} + +$result = elgg_view_entity_icon($user, 'large', [ 'use_hover' => false, - 'use_link' => false, + 'use_link' => !empty($href), + 'href' => $href, 'img_class' => 'photo u-photo', ]); -// if admin, display admin links -$admin_links = ''; +$result .= elgg_view_menu('owner_block', [ + 'entity' => $user, + 'prepare_vertical' => true, +]); + if (elgg_is_admin_logged_in() && elgg_get_logged_in_user_guid() !== $user->guid) { - $admin_links = elgg_view_menu('profile_admin', [ + $result .= elgg_view_menu('profile_admin', [ 'entity' => $user, 'class' => ['elgg-menu-owner-block'], 'prepare_vertical' => true, ]); } -// content links -$content_menu = elgg_view_menu('owner_block', [ - 'entity' => $user, - 'prepare_vertical' => true, -]); - -echo elgg_format_element('div', ['id' => 'profile-owner-block'], $icon . $content_menu . $admin_links); +echo elgg_format_element('div', ['id' => 'profile-owner-block'], $result); diff --git a/mod/profile/views/default/profile/profile.css b/mod/profile/views/default/profile/profile.css index 2fd36bd2999..6c2895b3ccc 100644 --- a/mod/profile/views/default/profile/profile.css +++ b/mod/profile/views/default/profile/profile.css @@ -6,14 +6,13 @@ flex-direction: column; .elgg-avatar-large { - margin-bottom: 0.5rem; - border: 1px solid $(border-color-soft); - border-radius: 3px; + margin-bottom: 1rem; max-width: 12rem; + align-self: center; } .elgg-menu { - margin-bottom: 0.5rem; + margin-bottom: 1rem; } .elgg-menu-profile-admin-container { @@ -32,24 +31,14 @@ } } -#profile-details { - border: 1px solid $(border-color-soft); - background: white; - margin-bottom: 1rem; -} - @media $(media-tablet-up) { #profile-owner-block { width: 12rem; } - .profile { - .elgg-layout-columns { - flex-direction: row; - } - - .elgg-layout-sidebar, - .elgg-layout-sidebar-alt { - border-top: none; - } - } +} + +#profile-details { + border: 1px solid $(border-color-soft); + background: white; + margin-bottom: 1rem; } diff --git a/mod/profile/views/default/resources/profile/view.php b/mod/profile/views/default/resources/profile/view.php index bc7315da1f0..ba19e51602e 100644 --- a/mod/profile/views/default/resources/profile/view.php +++ b/mod/profile/views/default/resources/profile/view.php @@ -28,7 +28,6 @@ 'sidebar_alt' => elgg_view('profile/owner_block', [ 'entity' => $user, ]), - 'class' => 'profile', 'sidebar' => false, 'filter' => false, ]); diff --git a/mod/theme_sandbox/views/default/resources/theme_sandbox/index.php b/mod/theme_sandbox/views/default/resources/theme_sandbox/index.php index 3c9e3eed06c..dda32e27451 100644 --- a/mod/theme_sandbox/views/default/resources/theme_sandbox/index.php +++ b/mod/theme_sandbox/views/default/resources/theme_sandbox/index.php @@ -12,7 +12,6 @@ 'components', 'email', 'forms', - 'grid', 'icons', 'javascript', 'layouts', diff --git a/mod/theme_sandbox/views/default/theme_sandbox/grid.php b/mod/theme_sandbox/views/default/theme_sandbox/grid.php deleted file mode 100644 index 29394eb1025..00000000000 --- a/mod/theme_sandbox/views/default/theme_sandbox/grid.php +++ /dev/null @@ -1,146 +0,0 @@ -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

\n"; - -// build list of units (denominators are keys, values are arrays of nominators) -$units = [1 => [1],]; - -// keep map to avoid duplicates. keys are rounded to thousands (avoid float issues) -$percentages = [ - '100' => [1, 1], -]; - -for ($den = 2; $den <= 6; $den++) { - for ($num = 1; $num < $den; $num++) { - // avoid duplicates - $rounded_percentage = (string) round($num / $den, 3); - if ($num > 1 && isset($percentages[$rounded_percentage])) { - continue; - } - - $percentages[$rounded_percentage] = [$num, $den]; - $units[$den][] = $num; - } -} - -// build rows -$rows = []; -$total = 0; -for ($den = 1; $den <= count($units); $den++) { - // may take multiple rows to use up available units - while ($units[$den]) { - $row = []; - $nom = array_shift($units[$den]); - $row[] = "$nom/$den"; - $total += $nom; - if ($total < $den) { - $nom = $den - $total; - $row[] = "$nom/$den"; - $total += $nom; - $index = array_search($nom, $units[$den]); - if ($index !== false) { - unset($units[$den][$index]); - } - } - - $rows[] = $row; - $total = 0; - } -} - -?> - -
-
-

6 Column Grid

-
- -
- ', $class); - ?> -
-
-
- -
- -
- -
-
-

Nested Grids

-
-
-
-
-

1/5

- -
-
-
-
-

3/5

-
-
-
-

1/2

- -
-
-
-
-

1/2

- -
-
-
-
-
-
-

1/3

- -
-
-
-
-

2/3

-
-
-
-

1/2

- -
-
-
-
-

1/2

- -
-
-
-
-
-
-

1

- -
-
-
-
-
-
-
-
-
-
-

1/5

- -
-
-
-
diff --git a/mod/theme_sandbox/views/default/theme_sandbox/modules/modules.php b/mod/theme_sandbox/views/default/theme_sandbox/modules/modules.php index 34ba1445f0e..7b02f3cebc3 100644 --- a/mod/theme_sandbox/views/default/theme_sandbox/modules/modules.php +++ b/mod/theme_sandbox/views/default/theme_sandbox/modules/modules.php @@ -2,38 +2,28 @@ $ipsum = elgg_view('theme_sandbox/demo/ipsum'); -?> -
-
-
- elgg_view('output/url', [ - 'href' => false, - 'text' => elgg_echo('add'), - ])]); - echo elgg_view_module('popup', 'Popup (.elgg-module-popup)', $ipsum); - ?> -
-
-
-
- elgg_view_icon('plus')]); - echo elgg_view_module('info', 'Info (.elgg-module-info)', $ipsum, [ - 'menu' => elgg_view_menu('info-module', [ - 'items' => [ - [ - 'name' => 'item1', - 'text' => 'text', - 'href' => 'link', - 'class' => 'elgg-button elgg-button-action', - ], - ], - ]), - ]); - echo elgg_view_module('featured', 'Featured (.elgg-module-featured)', $ipsum); - ?> -
-
-
+echo elgg_view_module('aside', 'Aside (.elgg-module-aside)', $ipsum, [ + 'menu' => elgg_view('output/url', [ + 'href' => false, + 'text' => elgg_echo('add'), + ]), +]); + +echo elgg_view_module('popup', 'Popup (.elgg-module-popup)', $ipsum); + +echo elgg_view_module('info', 'Info (.elgg-module-info)', $ipsum, ['menu' => elgg_view_icon('plus')]); + +echo elgg_view_module('info', 'Info (.elgg-module-info)', $ipsum, [ + 'menu' => elgg_view_menu('info-module', [ + 'items' => [ + [ + 'name' => 'item1', + 'text' => 'text', + 'href' => 'link', + 'class' => 'elgg-button elgg-button-action', + ], + ], + ]), +]); + +echo elgg_view_module('featured', 'Featured (.elgg-module-featured)', $ipsum); diff --git a/mod/theme_sandbox/views/default/theme_sandbox/modules/widgets.php b/mod/theme_sandbox/views/default/theme_sandbox/modules/widgets.php index 6f8f3ece90c..57821b90d21 100644 --- a/mod/theme_sandbox/views/default/theme_sandbox/modules/widgets.php +++ b/mod/theme_sandbox/views/default/theme_sandbox/modules/widgets.php @@ -25,10 +25,6 @@ function css_permissions_override() { return true; } -?> -
- -'; echo '
'; -$widget_class = "elgg-col-1of{$num_columns}"; for ($column_index = 1; $column_index <= $num_columns; $column_index++) { $column_widgets = $widgets[$column_index]; - echo "
"; + echo "
"; if (is_array($column_widgets) && count($column_widgets) > 0) { foreach ($column_widgets as $widget) { echo elgg_view_entity($widget); @@ -63,7 +58,6 @@ function css_permissions_override() { echo '
'; ?> -