aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
Diffstat (limited to 'views')
-rw-r--r--views/default/admin/appearance/default_widgets.php82
-rw-r--r--views/default/admin/appearance/menu_items.php2
-rw-r--r--views/default/admin/appearance/profile_fields.php16
-rw-r--r--views/default/admin/appearance/profile_fields/list.php35
-rw-r--r--views/default/admin/components/invalid_plugin.php23
-rw-r--r--views/default/admin/components/plugin.php221
-rw-r--r--views/default/admin/footer.php9
-rw-r--r--views/default/admin/header.php27
-rw-r--r--views/default/admin/plugin_settings.php (renamed from views/default/admin/components/plugin_settings.php)7
-rw-r--r--views/default/admin/plugins.php197
-rw-r--r--views/default/admin/plugins/advanced.php93
-rw-r--r--views/default/admin/plugins/simple.php11
-rw-r--r--views/default/admin/settings/advanced.php (renamed from views/default/admin/site/advanced.php)2
-rw-r--r--views/default/admin/settings/advanced/site_secret.php11
-rw-r--r--views/default/admin/settings/basic.php (renamed from views/default/admin/site/basic.php)2
-rw-r--r--views/default/admin/sidebar.php8
-rw-r--r--views/default/admin/statistics/overview.php77
-rw-r--r--views/default/admin/statistics/overview/basic.php19
-rw-r--r--views/default/admin/statistics/overview/numentities.php40
-rw-r--r--views/default/admin/statistics/server.php8
-rw-r--r--views/default/admin/statistics/server/php.php50
-rw-r--r--views/default/admin/statistics/server/web_server.php16
-rw-r--r--views/default/admin/users/add.php5
-rw-r--r--views/default/admin/users/admins.php12
-rw-r--r--views/default/annotation/default.php35
-rw-r--r--views/default/annotation/generic_comment.php31
-rw-r--r--views/default/annotation/likes.php48
-rw-r--r--views/default/core/account/login_box.php15
-rw-r--r--views/default/core/account/login_dropdown.php19
-rw-r--r--views/default/core/account/login_walled_garden.php98
-rw-r--r--views/default/core/avatar/crop.php2
-rw-r--r--views/default/core/avatar/upload.php41
-rw-r--r--views/default/core/dashboard/blurb.php14
-rw-r--r--views/default/core/friends/collection.php34
-rw-r--r--views/default/core/friends/collections.php17
-rw-r--r--views/default/core/friends/collectiontabs.php33
-rw-r--r--views/default/core/friends/tablelist.php8
-rw-r--r--views/default/core/likes/display.php68
-rw-r--r--views/default/core/members/nav.php24
-rw-r--r--views/default/core/members/sidebar.php25
-rw-r--r--views/default/core/river/body.php31
-rw-r--r--views/default/core/river/controls.php48
-rw-r--r--views/default/core/river/filter.php20
-rw-r--r--views/default/core/settings/account.php2
-rw-r--r--views/default/core/settings/account/default_access.php24
-rw-r--r--views/default/core/settings/account/email.php24
-rw-r--r--views/default/core/settings/account/language.php29
-rw-r--r--views/default/core/settings/account/name.php16
-rw-r--r--views/default/core/settings/account/notifications.php45
-rw-r--r--views/default/core/settings/account/password.php54
-rw-r--r--views/default/core/settings/statistics/numentities.php65
-rw-r--r--views/default/core/settings/statistics/online.php53
-rw-r--r--views/default/core/settings/tools.php23
-rw-r--r--views/default/core/settings/tools/plugin.php39
-rw-r--r--views/default/core/walled_garden/login.php31
-rw-r--r--views/default/core/walled_garden/lost_password.php13
-rw-r--r--views/default/core/walled_garden/register.php17
-rw-r--r--views/default/css.php2
-rw-r--r--views/default/css/admin.php1754
-rw-r--r--views/default/css/elements/buttons.php156
-rw-r--r--views/default/css/elements/chrome.php130
-rw-r--r--views/default/css/elements/components.php (renamed from views/default/css/elements/layout_objects.php)178
-rw-r--r--views/default/css/elements/core.php117
-rw-r--r--views/default/css/elements/forms.php461
-rw-r--r--views/default/css/elements/grid.php23
-rw-r--r--views/default/css/elements/helpers.php51
-rw-r--r--views/default/css/elements/icons.php306
-rw-r--r--views/default/css/elements/layout.php121
-rw-r--r--views/default/css/elements/misc.php246
-rw-r--r--views/default/css/elements/modules.php78
-rw-r--r--views/default/css/elements/navigation.php453
-rw-r--r--views/default/css/elements/page_layout.php174
-rw-r--r--views/default/css/elements/reset.php6
-rw-r--r--views/default/css/elements/typography.php132
-rw-r--r--views/default/css/elgg.php (renamed from views/default/css/screen.php)30
-rw-r--r--views/default/css/ie.php82
-rw-r--r--views/default/css/ie6.php12
-rw-r--r--views/default/css/ie7.php75
-rw-r--r--views/default/css/lightbox.php371
-rw-r--r--views/default/css/walled_garden.php81
-rw-r--r--views/default/errors/404.php8
-rw-r--r--views/default/errors/default.php8
-rw-r--r--views/default/export/entity.php6
-rw-r--r--views/default/forms/account/settings.php2
-rw-r--r--views/default/forms/admin/menu/save.php16
-rw-r--r--views/default/forms/admin/plugins/change_state.php22
-rw-r--r--views/default/forms/admin/plugins/filter.php26
-rw-r--r--views/default/forms/admin/plugins/simple_update_states.php101
-rw-r--r--views/default/forms/admin/plugins/sort.php26
-rw-r--r--views/default/forms/admin/site/regenerate_secret.php24
-rw-r--r--views/default/forms/admin/site/update_advanced.php49
-rw-r--r--views/default/forms/admin/site/update_basic.php2
-rw-r--r--views/default/forms/avatar/crop.php68
-rw-r--r--views/default/forms/avatar/upload.php5
-rw-r--r--views/default/forms/comments/add.php28
-rw-r--r--views/default/forms/comments/inline.php15
-rw-r--r--views/default/forms/friends/collectionfields.php15
-rw-r--r--views/default/forms/friends/collections/add.php53
-rw-r--r--views/default/forms/friends/edit.php55
-rw-r--r--views/default/forms/login.php40
-rw-r--r--views/default/forms/members/name_search.php1
-rw-r--r--views/default/forms/members/tag_search.php1
-rw-r--r--views/default/forms/plugins/settings/save.php13
-rw-r--r--views/default/forms/plugins/usersettings/save.php10
-rw-r--r--views/default/forms/profile/edit.php18
-rw-r--r--views/default/forms/profile/fields/add.php26
-rw-r--r--views/default/forms/profile/fields/reset.php10
-rw-r--r--views/default/forms/register.php77
-rw-r--r--views/default/forms/user/passwordreset.php13
-rw-r--r--views/default/forms/user/requestnewpassword.php16
-rw-r--r--views/default/forms/useradd.php91
-rw-r--r--views/default/forms/usersettings/save.php10
-rw-r--r--views/default/forms/widgets/save.php8
-rw-r--r--views/default/graphics/ajax_loader.php13
-rw-r--r--views/default/group/elements/summary.php13
-rw-r--r--views/default/group/search/finishblurb.php2
-rw-r--r--views/default/icon/default.php52
-rw-r--r--views/default/icon/user/default.php70
-rw-r--r--views/default/input/access.php27
-rw-r--r--views/default/input/autocomplete.php38
-rw-r--r--views/default/input/button.php14
-rw-r--r--views/default/input/calendar.php4
-rw-r--r--views/default/input/captcha.php2
-rw-r--r--views/default/input/checkbox.php16
-rw-r--r--views/default/input/checkboxes.php98
-rw-r--r--views/default/input/date.php56
-rw-r--r--views/default/input/datepicker.php37
-rw-r--r--views/default/input/dropdown.php35
-rw-r--r--views/default/input/email.php11
-rw-r--r--views/default/input/file.php15
-rw-r--r--views/default/input/form.php15
-rw-r--r--views/default/input/friendspicker.php (renamed from views/default/core/friends/picker.php)64
-rw-r--r--views/default/input/location.php27
-rw-r--r--views/default/input/longtext.php31
-rw-r--r--views/default/input/password.php17
-rw-r--r--views/default/input/plaintext.php23
-rw-r--r--views/default/input/pulldown.php2
-rw-r--r--views/default/input/radio.php48
-rw-r--r--views/default/input/reset.php3
-rw-r--r--views/default/input/submit.php3
-rw-r--r--views/default/input/tag.php25
-rw-r--r--views/default/input/tags.php21
-rw-r--r--views/default/input/text.php13
-rw-r--r--views/default/input/url.php11
-rw-r--r--views/default/input/userpicker.php47
-rw-r--r--views/default/js/admin.php101
-rw-r--r--views/default/js/elgg.php20
-rw-r--r--views/default/js/initialize_elgg.php15
-rw-r--r--views/default/js/languages.php28
-rw-r--r--views/default/js/lightbox.php36
-rw-r--r--views/default/js/walled_garden.php67
-rw-r--r--views/default/layout/objects/list/metadata.php54
-rw-r--r--views/default/layout/objects/widget/controls.php47
-rw-r--r--views/default/layout/objects/widget/settings.php13
-rw-r--r--views/default/layout/shells/admin/menu.php8
-rw-r--r--views/default/layout/shells/content/header.php49
-rw-r--r--views/default/layout/shells/widgets/add_button.php10
-rw-r--r--views/default/navigation/breadcrumbs.php3
-rw-r--r--views/default/navigation/listtype.php28
-rw-r--r--views/default/navigation/menu/default.php29
-rw-r--r--views/default/navigation/menu/elements/group.php19
-rw-r--r--views/default/navigation/menu/elements/item.php23
-rw-r--r--views/default/navigation/menu/elements/section.php30
-rw-r--r--views/default/navigation/menu/page.php11
-rw-r--r--views/default/navigation/menu/site.php25
-rw-r--r--views/default/navigation/menu/user_hover.php38
-rw-r--r--views/default/navigation/pagination.php21
-rw-r--r--views/default/navigation/tabs.php93
-rw-r--r--views/default/navigation/topbar_tools.php3
-rw-r--r--views/default/navigation/viewtype.php6
-rw-r--r--views/default/object/admin_notice.php11
-rw-r--r--views/default/object/default.php9
-rw-r--r--views/default/object/elements/full.php37
-rw-r--r--views/default/object/elements/summary.php (renamed from views/default/layout/objects/list/body.php)31
-rw-r--r--views/default/object/plugin.php20
-rw-r--r--views/default/object/plugin/elements/dependencies.php (renamed from views/default/admin/components/plugin_dependencies.php)14
-rw-r--r--views/default/object/plugin/full.php308
-rw-r--r--views/default/object/plugin/invalid.php42
-rw-r--r--views/default/object/widget.php74
-rw-r--r--views/default/object/widget/elements/controls.php14
-rw-r--r--views/default/object/widget/elements/settings.php25
-rw-r--r--views/default/output/access.php23
-rw-r--r--views/default/output/calendar.php8
-rw-r--r--views/default/output/confirmlink.php21
-rw-r--r--views/default/output/date.php12
-rw-r--r--views/default/output/email.php4
-rw-r--r--views/default/output/img.php12
-rw-r--r--views/default/output/location.php19
-rw-r--r--views/default/output/longtext.php18
-rw-r--r--views/default/output/tag.php35
-rw-r--r--views/default/output/tagcloud.php29
-rw-r--r--views/default/output/tags.php70
-rw-r--r--views/default/output/text.php3
-rw-r--r--views/default/output/url.php23
-rw-r--r--views/default/page/admin.php66
-rw-r--r--views/default/page/components/gallery.php66
-rw-r--r--views/default/page/components/list.php34
-rw-r--r--views/default/page/components/module.php18
-rw-r--r--views/default/page/components/summary.php4
-rw-r--r--views/default/page/components/widget.php70
-rw-r--r--views/default/page/default.php76
-rw-r--r--views/default/page/elements/comments.php22
-rw-r--r--views/default/page/elements/comments_block.php45
-rw-r--r--views/default/page/elements/content_header.php94
-rw-r--r--views/default/page/elements/content_header_member.php24
-rw-r--r--views/default/page/elements/foot.php11
-rw-r--r--views/default/page/elements/footer.php16
-rw-r--r--views/default/page/elements/head.php19
-rw-r--r--views/default/page/elements/header.php11
-rw-r--r--views/default/page/elements/header_logo.php6
-rw-r--r--views/default/page/elements/messages.php8
-rw-r--r--views/default/page/elements/owner_block.php8
-rw-r--r--views/default/page/elements/page_links.php37
-rw-r--r--views/default/page/elements/shortcut_icon.php6
-rw-r--r--views/default/page/elements/sidebar.php5
-rw-r--r--views/default/page/elements/sidebar_alt.php12
-rw-r--r--views/default/page/elements/tagcloud_block.php58
-rw-r--r--views/default/page/elements/topbar.php62
-rw-r--r--views/default/page/elements/wrapper.php22
-rw-r--r--views/default/page/error.php14
-rw-r--r--views/default/page/layouts/admin.php60
-rw-r--r--views/default/page/layouts/content.php14
-rw-r--r--views/default/page/layouts/content/filter.php (renamed from views/default/layout/shells/content/filter.php)23
-rw-r--r--views/default/page/layouts/content/footer.php (renamed from views/default/layout/shells/content/footer.php)0
-rw-r--r--views/default/page/layouts/content/header.php43
-rw-r--r--views/default/page/layouts/content/sidebar.php (renamed from views/default/layout/shells/content/sidebar.php)0
-rw-r--r--views/default/page/layouts/error.php12
-rw-r--r--views/default/page/layouts/one_column.php23
-rw-r--r--views/default/page/layouts/one_sidebar.php12
-rw-r--r--views/default/page/layouts/two_column_left_sidebar.php2
-rw-r--r--views/default/page/layouts/two_sidebar.php21
-rw-r--r--views/default/page/layouts/walled_garden.php16
-rw-r--r--views/default/page/layouts/widgets.php19
-rw-r--r--views/default/page/layouts/widgets/add_button.php16
-rw-r--r--views/default/page/layouts/widgets/add_panel.php (renamed from views/default/layout/shells/widgets/add_panel.php)12
-rw-r--r--views/default/page/shells/admin.php28
-rw-r--r--views/default/page/shells/default.php65
-rw-r--r--views/default/page/shells/upgrade.php22
-rw-r--r--views/default/page/shells/walled_garden.php78
-rw-r--r--views/default/page/upgrade.php18
-rw-r--r--views/default/page/walled_garden.php40
-rw-r--r--views/default/profile/icon.php3
-rw-r--r--views/default/river/annotation/generic_comment/create.php27
-rw-r--r--views/default/river/annotation/likes/create.php23
-rw-r--r--views/default/river/elements/body.php67
-rw-r--r--views/default/river/elements/image.php (renamed from views/default/core/river/image.php)6
-rw-r--r--views/default/river/elements/layout.php14
-rw-r--r--views/default/river/elements/responses.php (renamed from views/default/core/river/footer.php)18
-rw-r--r--views/default/river/elements/summary.php54
-rw-r--r--views/default/river/item.php33
-rw-r--r--views/default/river/relationship/friend/create.php20
-rw-r--r--views/default/river/user/default/profileiconupdate.php24
-rw-r--r--views/default/river/user/default/profileupdate.php20
-rw-r--r--views/default/user/default.php63
-rw-r--r--views/default/user/elements/summary.php13
-rw-r--r--views/default/user/search/finishblurb.php2
-rw-r--r--views/default/widgets/admin_welcome/content.php19
-rw-r--r--views/default/widgets/content_stats/content.php7
-rw-r--r--views/default/widgets/control_panel/content.php38
-rw-r--r--views/default/widgets/friends/content.php28
-rw-r--r--views/default/widgets/new_users/content.php6
-rw-r--r--views/default/widgets/online_users/content.php14
-rw-r--r--views/default/widgets/river_widget/content.php27
-rw-r--r--views/default/widgets/river_widget/edit.php58
-rw-r--r--views/failsafe/canvas/default.php13
-rw-r--r--views/failsafe/messages/exceptions/admin_exception.php30
-rw-r--r--views/failsafe/messages/exceptions/exception.php28
-rw-r--r--views/failsafe/page/default.php (renamed from views/failsafe/page/shells/default.php)6
-rw-r--r--views/foaf/canvas/default.php13
-rw-r--r--views/foaf/page/default.php (renamed from views/foaf/page/shells/default.php)6
-rw-r--r--views/foaf/search/entity_list.php13
-rw-r--r--views/foaf/user/default.php3
-rw-r--r--views/ical/canvas/default.php14
-rw-r--r--views/ical/export/entity.php36
-rw-r--r--views/ical/object/default.php2
-rw-r--r--views/ical/page/default.php (renamed from views/ical/page/shells/default.php)5
-rw-r--r--views/ical/search/entity_list.php13
-rw-r--r--views/installation/forms/install/template.php (renamed from views/installation/install/forms/template.php)19
-rw-r--r--views/installation/input/access.php15
-rw-r--r--views/installation/input/button.php33
-rw-r--r--views/installation/input/checkbox.php24
-rw-r--r--views/installation/input/checkboxes.php48
-rw-r--r--views/installation/input/combo.php19
-rw-r--r--views/installation/input/dropdown.php19
-rw-r--r--views/installation/input/form.php33
-rw-r--r--views/installation/input/hidden.php16
-rw-r--r--views/installation/input/longtext.php22
-rw-r--r--views/installation/input/password.php14
-rw-r--r--views/installation/input/reset.php13
-rw-r--r--views/installation/input/securitytoken.php15
-rw-r--r--views/installation/input/submit.php6
-rw-r--r--views/installation/input/text.php22
-rw-r--r--views/installation/install/footer.php10
-rw-r--r--views/installation/install/forms/admin.php21
-rw-r--r--views/installation/install/forms/database.php21
-rw-r--r--views/installation/install/forms/settings.php21
-rw-r--r--views/installation/install/js_rewrite_check.php12
-rw-r--r--views/installation/install/nav.php6
-rw-r--r--views/installation/install/pages/admin.php13
-rw-r--r--views/installation/install/pages/complete.php4
-rw-r--r--views/installation/install/pages/database.php16
-rw-r--r--views/installation/install/pages/requirements.php10
-rw-r--r--views/installation/install/pages/settings.php13
-rw-r--r--views/installation/install/pages/welcome.php2
-rw-r--r--views/installation/page/default.php (renamed from views/installation/page/shells/default.php)37
-rw-r--r--views/installation/page/elements/footer.php10
-rw-r--r--views/installation/page/elements/header.php (renamed from views/installation/install/header.php)0
-rw-r--r--views/installation/page/elements/messages.php2
-rw-r--r--views/installation/page/elements/sidebar.php (renamed from views/installation/install/sidebar.php)0
-rw-r--r--views/json/api/output.php3
-rw-r--r--views/json/canvas/default.php14
-rw-r--r--views/json/entities/entity_list.php10
-rw-r--r--views/json/export/entity.php5
-rw-r--r--views/json/group/default.php4
-rw-r--r--views/json/object/default.php4
-rw-r--r--views/json/page/components/list.php14
-rw-r--r--views/json/page/default.php13
-rw-r--r--views/json/page/shells/default.php18
-rw-r--r--views/json/river/item.php19
-rw-r--r--views/json/river/item/list.php45
-rw-r--r--views/json/search/entity_list.php14
-rw-r--r--views/json/site/default.php4
-rw-r--r--views/json/user/default.php4
-rw-r--r--views/opendd/canvas/default.php13
-rw-r--r--views/opendd/messages/exceptions/exception.php2
-rw-r--r--views/opendd/page/default.php (renamed from views/opendd/page/shells/default.php)0
-rw-r--r--views/php/api/output.php3
-rw-r--r--views/php/canvas/default.php13
-rw-r--r--views/php/group/default.php2
-rw-r--r--views/php/object/default.php2
-rw-r--r--views/php/page/default.php (renamed from views/php/page/shells/default.php)3
-rw-r--r--views/php/search/entity_list.php14
-rw-r--r--views/php/site/default.php8
-rw-r--r--views/php/user/default.php2
-rw-r--r--views/rss/annotation/default.php34
-rw-r--r--views/rss/annotation/generic_comment.php33
-rw-r--r--views/rss/core/river/body.php32
-rw-r--r--views/rss/group/default.php54
-rw-r--r--views/rss/object/creator.php8
-rw-r--r--views/rss/object/default.php23
-rw-r--r--views/rss/object/georss.php10
-rw-r--r--views/rss/output/url.php2
-rw-r--r--views/rss/page/components/creator.php14
-rw-r--r--views/rss/page/components/gallery.php8
-rw-r--r--views/rss/page/components/georss.php15
-rw-r--r--views/rss/page/components/image_block.php (renamed from views/rss/layout/objects/image_block.php)0
-rw-r--r--views/rss/page/components/list.php (renamed from views/rss/layout/objects/list.php)3
-rw-r--r--views/rss/page/default.php46
-rw-r--r--views/rss/page/elements/comments.php13
-rw-r--r--views/rss/page/layouts/default.php (renamed from views/rss/layout/shells/default.php)0
-rw-r--r--views/rss/page/shells/default.php41
-rw-r--r--views/rss/river/item.php35
-rw-r--r--views/rss/river/item/list.php17
-rw-r--r--views/rss/search/entity_list.php12
-rw-r--r--views/rss/user/default.php43
-rw-r--r--views/xml/messages/exceptions/exception.php2
-rw-r--r--views/xml/page/default.php (renamed from views/xml/page/shells/default.php)0
357 files changed, 7958 insertions, 5753 deletions
diff --git a/views/default/admin/appearance/default_widgets.php b/views/default/admin/appearance/default_widgets.php
new file mode 100644
index 000000000..1bf5791ac
--- /dev/null
+++ b/views/default/admin/appearance/default_widgets.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Default widgets landing page.
+ *
+ * @package Elgg.Core
+ * @subpackage Administration.DefaultWidgets
+ */
+
+$object = elgg_get_entities(array(
+ 'type' => 'object',
+ 'subtype' => 'moddefaultwidgets',
+ 'limit' => 1,
+));
+
+if ($object) {
+ echo elgg_view('output/url', array(
+ 'text' => elgg_echo('upgrade'),
+ 'href' => 'action/widgets/upgrade',
+ 'is_action' => true,
+ 'is_trusted' => true,
+ 'class' => 'elgg_button elgg-button-submit',
+ 'title' => 'Upgrade your default widgets to work on Elgg 1.8',
+ ));
+}
+
+elgg_push_context('default_widgets');
+$widget_context = get_input('widget_context');
+$list = elgg_trigger_plugin_hook('get_list', 'default_widgets', null, array());
+
+// default to something if we can
+if (!$widget_context && $list) {
+ $widget_context = $list[0]['widget_context'];
+}
+
+$current_info = null;
+$tabs = array();
+foreach ($list as $info) {
+ $url = "admin/appearance/default_widgets?widget_context={$info['widget_context']}";
+ $selected = false;
+ if ($widget_context == $info['widget_context']) {
+ $selected = true;
+ $current_info = $info;
+ }
+
+ $tabs[] = array(
+ 'title' => $info['name'],
+ 'url' => $url,
+ 'selected' => $selected
+ );
+}
+
+$tabs_vars = array(
+ 'tabs' => $tabs
+);
+
+echo elgg_view('navigation/tabs', $tabs_vars);
+
+echo elgg_view('output/longtext', array('value' => elgg_echo('admin:default_widgets:instructions')));
+
+if (!$current_info) {
+ $content = elgg_echo('admin:default_widgets:unknown_type');
+} else {
+ // default widgets are owned and saved to the site.
+ elgg_set_page_owner_guid(elgg_get_config('site_guid'));
+ elgg_push_context($current_info['widget_context']);
+
+ $default_widgets_input = elgg_view('input/hidden', array(
+ 'name' => 'default_widgets',
+ 'value' => 1
+ ));
+
+ $params = array(
+ 'content' => $default_widgets_input,
+ 'num_columns' => $current_info['widget_columns'],
+ );
+
+ $content = elgg_view_layout('widgets', $params);
+ elgg_pop_context();
+}
+elgg_pop_context();
+
+echo $content;
diff --git a/views/default/admin/appearance/menu_items.php b/views/default/admin/appearance/menu_items.php
index 4e35e032f..1d5c95cf9 100644
--- a/views/default/admin/appearance/menu_items.php
+++ b/views/default/admin/appearance/menu_items.php
@@ -7,4 +7,4 @@
*/
-echo elgg_view_form('admin/menu/save');
+echo elgg_view_form('admin/menu/save', array('class' => 'elgg-form-settings'));
diff --git a/views/default/admin/appearance/profile_fields.php b/views/default/admin/appearance/profile_fields.php
index 7077687cc..f1d78c19f 100644
--- a/views/default/admin/appearance/profile_fields.php
+++ b/views/default/admin/appearance/profile_fields.php
@@ -3,16 +3,22 @@
* Admin area: edit default profile fields
*/
-$add = elgg_view_form('profile/fields/add', array(), array());
+$add = elgg_view_form('profile/fields/add', array('class' => 'elgg-form-settings'), array());
$list = elgg_view('admin/appearance/profile_fields/list');
-$reset = elgg_view_form('profile/fields/reset', array(), array());
+
+$reset = elgg_view('output/confirmlink', array(
+ 'text' => elgg_echo('reset'),
+ 'href' => 'action/profile/fields/reset',
+ 'title' => elgg_echo('profile:resetdefault'),
+ 'confirm' => elgg_echo('profile:resetdefault:confirm'),
+ 'class' => 'elgg-button elgg-button-cancel',
+ 'is_trusted' => 'true',
+));
$body = <<<__HTML
$add
$list
-<div class="default_profile_reset">
- $reset
-</div>
+<div class="mtl">$reset</div>
__HTML;
echo $body;
diff --git a/views/default/admin/appearance/profile_fields/list.php b/views/default/admin/appearance/profile_fields/list.php
index 0b27da3ed..b9440a95d 100644
--- a/views/default/admin/appearance/profile_fields/list.php
+++ b/views/default/admin/appearance/profile_fields/list.php
@@ -1,28 +1,32 @@
<?php
/**
* Profile fields.
+ *
+ * @todo Needs some review
*/
// List form elements
$n = 0;
$loaded_defaults = array();
$items = array();
-if ($fieldlist = elgg_get_config('profile_custom_fields')) {
+$fieldlist = elgg_get_config('profile_custom_fields');
+if ($fieldlist) {
$fieldlistarray = explode(',', $fieldlist);
foreach ($fieldlistarray as $listitem) {
- if ($translation = elgg_get_config("admin_defined_profile_{$listitem}")) {
+ $translation = elgg_get_config("admin_defined_profile_$listitem");
+ $type = elgg_get_config("admin_defined_profile_type_$listitem");
+ if ($translation && $type) {
$item = new stdClass;
$item->translation = $translation;
$item->shortname = $listitem;
- $item->name = "admin_defined_profile_{$listitem}";
- $item->type = elgg_get_config("admin_defined_profile_type_{$listitem}");
+ $item->name = "admin_defined_profile_$listitem";
+ $item->type = elgg_echo("profile:field:$type");
$items[] = $item;
}
}
}
?>
-<div id="list">
- <ul id="sortable_profile_fields">
+<ul id="elgg-profile-fields" class="mvm">
<?php
$save = elgg_echo('save');
@@ -32,19 +36,20 @@ foreach ($items as $item) {
echo elgg_view("profile/", array('value' => $item->translation));
//$even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even';
- $url = elgg_add_action_tokens_to_url(elgg_get_site_url() . "action/profile/fields/delete?id={$item->shortname}");
+ $url = elgg_view('output/url', array(
+ 'href' => "action/profile/fields/delete?id={$item->shortname}",
+ 'text' => elgg_view_icon('delete-alt'),
+ 'is_action' => true,
+ 'is_trusted' => true,
+ ));
$type = elgg_echo($item->type);
echo <<<HTML
-<li id="$item->shortname" class="clearfix"><span class="elgg-icon elgg-icon-dragger elgg-state-draggable"></span>
-<b><span id="elgg-profile-field-{$item->shortname}" class="elgg-state-editable">$item->translation</span></b> [$type]
-<a href="$url"><span class="elgg-icon elgg-icon-delete"></a></span>
+<li id="$item->shortname" class="clearfix">
+ <span class="elgg-icon elgg-icon-drag-arrow elgg-state-draggable"></span>
+ <b><span id="elgg-profile-field-{$item->shortname}" class="elgg-state-editable">$item->translation</span></b> [$type] $url
</li>
HTML;
}
?>
- </ul>
-</div>
-<div id="tempList"></div>
-
-<input name="sortableListOrder" type="hidden" id="sortableListOrder" value="<?php echo $fieldlist; ?>" /> \ No newline at end of file
+</ul> \ No newline at end of file
diff --git a/views/default/admin/components/invalid_plugin.php b/views/default/admin/components/invalid_plugin.php
deleted file mode 100644
index 97c1bacf4..000000000
--- a/views/default/admin/components/invalid_plugin.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/**
- * Displays an invalid plugin on the admin screen.
- *
- * An invalid plugin is a plugin whose isValid() method returns false.
- * This usually means there are required files missing, unreadable or in the
- * wrong format.
- *
- * @package Elgg.Core
- * @subpackage Plugins
- */
-
-$plugin = elgg_extract('plugin', $vars);
-$id = $plugin->getID();
-$path = htmlspecialchars($plugin->getPath());
-$message = elgg_echo('admin:plugins:warning:invalid', array($id));
-
-?>
-
-<div class="elgg-plugin elgg-state-inactive elgg-state-error">
- <p><?php echo $message; ?></p>
- <p><?php echo elgg_echo('admin:plugins:label:location') . ": " . $path; ?></p>
-</div>
diff --git a/views/default/admin/components/plugin.php b/views/default/admin/components/plugin.php
deleted file mode 100644
index 7549ea8ca..000000000
--- a/views/default/admin/components/plugin.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-/**
- * Displays a plugin on the admin screen.
- *
- * This file renders a plugin for the admin screen, including active/deactive,
- * manifest details & display plugin settings.
- *
- * @package Elgg.Core
- * @subpackage Plugins
- */
-
-$plugin = $vars['plugin'];
-$priority = $plugin->getPriority();
-$active = $plugin->isActive();
-
-$name = $plugin->manifest->getName();
-$can_activate = $plugin->canActivate();
-$max_priority = elgg_get_max_plugin_priority();
-$actions_base = '/action/admin/plugins/';
-
-$ts = time();
-$token = generate_action_token($ts);
-$active_class = ($active && $can_activate) ? 'elgg-state-active' : 'elgg-state-inactive';
-
-// build reordering links
-$links = '';
-
-// top and up link only if not at top
-if ($priority > 1) {
- $top_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
- 'plugin_guid' => $plugin->guid,
- 'priority' => 'first',
- 'is_action' => true
- ));
-
- $links .= "<li>" . elgg_view('output/url', array(
- 'href' => $top_url,
- 'text' => elgg_echo('top'),
- 'is_action' => true
- )) . "</li>";
-
- $up_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
- 'plugin_guid' => $plugin->guid,
- 'priority' => '-1',
- 'is_action' => true
- ));
-
- $links .= "<li>" . elgg_view('output/url', array(
- 'href' => $up_url,
- 'text' => elgg_echo('up'),
- 'is_action' => true
- )) . "</li>";
-}
-
-// down and bottom links only if not at bottom
-if ($priority < $max_priority) {
- $down_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
- 'plugin_guid' => $plugin->guid,
- 'priority' => '+1',
- 'is_action' => true
- ));
-
- $links .= "<li>" . elgg_view('output/url', array(
- 'href' => $down_url,
- 'text' => elgg_echo('down'),
- 'is_action' => true
- )) . "</li>";
-
- $bottom_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
- 'plugin_guid' => $plugin->guid,
- 'priority' => 'last',
- 'is_action' => true
- ));
-
- $links .= "<li>" . elgg_view('output/url', array(
- 'href' => $bottom_url,
- 'text' => elgg_echo('bottom'),
- 'is_action' => true
- )) . "</li>";
-}
-
-// activate / deactivate links
-if ($can_activate) {
- if ($active) {
- $action = 'deactivate';
- $class = 'elgg-button-cancel';
- } else {
- $action = 'activate';
- $class = 'elgg-button-submit';
- }
-
- $url = elgg_http_add_url_query_elements($actions_base . $action, array(
- 'plugin_guids[]' => $plugin->guid,
- 'is_action' => true
- ));
-
- $action_button = elgg_view('output/url', array(
- 'href' => $url,
- 'text' => elgg_echo($action),
- 'is_action' => true,
- 'class' => "elgg-button $class"
- ));
-} else {
- $action_button = elgg_view('output/url', array(
- 'text' => elgg_echo('admin:plugins:cannot_activate'),
- 'disabled' => 'disabled',
- 'class' => "elgg-button-action elgg-state-disabled"
- ));
-}
-
-// Display categories
-$categories_html = '';
-if ($categories) {
- $categories_arr = array();
- $base_url = elgg_get_site_url() . "pg/admin/plugins?category=";
-
- foreach ($categories as $category) {
- $url = $base_url . urlencode($category);
- $categories_arr[] = "<a href=\"$url\">" . htmlspecialchars($category) . '</a>';
- }
-
- $categories_html = implode(', ', $categories_arr);
-}
-
-$screenshots_html = '';
-$screenshots = $plugin->manifest->getScreenshots();
-if ($screenshots) {
- $base_url = elgg_get_plugins_path() . $plugin->getID() . '/';
- foreach ($screenshots as $screenshot) {
- $desc = elgg_echo($screenshot['description']);
- $alt = htmlentities($desc, ENT_QUOTES, 'UTF-8');
- $screenshot_full = "{$vars['url']}pg/admin_plugin_screenshot/{$plugin->getID()}/full/{$screenshot['path']}";
- $screenshot_src = "{$vars['url']}pg/admin_plugin_screenshot/{$plugin->getID()}/thumbnail/{$screenshot['path']}";
-
- $screenshots_html .= "<li class=\"elgg-plugin-screenshot prm ptm\"><a href=\"$screenshot_full\">"
- . "<img src=\"$screenshot_src\" alt=\"$alt\"></a></li>";
- }
-}
-
-// metadata
-$description = elgg_view('output/longtext', array('value' => $plugin->manifest->getDescription()));
-$author = '<span>' . elgg_echo('admin:plugins:label:author') . '</span>: '
- . elgg_view('output/text', array('value' => $plugin->manifest->getAuthor()));
-$version = htmlspecialchars($plugin->manifest->getVersion());
-$website = elgg_view('output/url', array(
- 'href' => $plugin->manifest->getWebsite(),
- 'text' => $plugin->manifest->getWebsite()
-));
-
-$copyright = elgg_view('output/text', array('value' => $plugin->manifest->getCopyright()));
-$license = elgg_view('output/text', array('value' => $plugin->manifest->getLicense()));
-
-?>
-
-<div id="elgg-plugin-<?php echo $plugin->guid; ?>" class="elgg-state-draggable elgg-plugin <?php echo $active_class ?>">
- <div class="elgg-image-block">
- <div class="elgg-image-alt">
- <div class="elgg-list-metadata">
- <?php echo "$links"; ?>
- </div>
- <div class="clearfloat right mtm">
- <?php echo $action_button; ?>
- </div>
- </div>
- <div class="elgg-body">
-<?php
-$settings_view = 'settings/' . $plugin->getID() . '/edit';
-if (elgg_view_exists($settings_view)) {
- $link = elgg_get_site_url() . "pg/admin/plugin_settings/" . $plugin->getID();
- $settings_link = "<a class='plugin_settings small link' href='$link'>[" . elgg_echo('settings') . "]</a>";
-}
-?>
- <h3 class="elgg-head"><?php echo $plugin->manifest->getName() . " $version $settings_link"; ?></h3>
- <?php
- if ($plugin->manifest->getApiVersion() < 1.8) {
- $reqs = $plugin->manifest->getRequires();
- if (!$reqs) {
- $message = elgg_echo('admin:plugins:warning:elgg_version_unknown');
- echo "<p class=\"elgg-state-error\">$message</p>";
- }
- }
-
- if (!$can_activate) {
- $message = elgg_echo('admin:plugins:warning:unmet_dependencies');
- echo "<p class=\"elgg-state-error\">$message</p>";
- }
- ?>
-
- <div class="plugin_description"><?php echo $description; ?></div>
- <p class="plugin_author"><?php echo $author . ' - ' . $website; ?></p>
-
- <div class="pts"><a class="elgg-toggle" id="elgg-toggler-plugin-manifest-<?php echo $plugin->getID(); ?>"><?php echo elgg_echo("admin:plugins:label:moreinfo"); ?></a></div>
- </div>
- </div>
- <div class="hidden manifest_file" id="elgg-togglee-plugin-manifest-<?php echo $plugin->getID(); ?>">
-
- <?php
- if ($screenshots_html) {
- ?>
- <div><ul><?php echo $screenshots_html; ?></ul></div>
- <?php
- }
-
- if ($categories_html) {
- ?>
- <div><?php echo elgg_echo('admin:plugins:label:categories') . ": " . $categories_html; ?></div>
- <?php
- }
-
- ?>
- <div><?php echo elgg_echo('admin:plugins:label:copyright') . ": " . $copyright; ?></div>
- <div><?php echo elgg_echo('admin:plugins:label:licence') . ": " . $license; ?></div>
- <div><?php echo elgg_echo('admin:plugins:label:location') . ": " . htmlspecialchars($plugin->getPath()) ?></div>
-
- <div><?php echo elgg_echo('admin:plugins:label:dependencies'); ?>:
- <?php
- echo elgg_view('admin/components/plugin_dependencies', array('plugin' => $plugin));
- ?>
- </div>
- </div>
-</div> \ No newline at end of file
diff --git a/views/default/admin/footer.php b/views/default/admin/footer.php
new file mode 100644
index 000000000..ce420e99a
--- /dev/null
+++ b/views/default/admin/footer.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Elgg admin footer. Extend this view to add content to the admin footer
+ */
+
+$options = array(
+ 'class' => 'elgg-menu-hz'
+);
+echo elgg_view_menu('admin_footer', $options); \ No newline at end of file
diff --git a/views/default/admin/header.php b/views/default/admin/header.php
new file mode 100644
index 000000000..331190a88
--- /dev/null
+++ b/views/default/admin/header.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Elgg admin header
+ */
+$admin_title = elgg_get_site_entity()->name . ' ' . elgg_echo('admin');
+
+$view_site = elgg_view('output/url', array(
+ 'href' => elgg_get_site_url(),
+ 'text' => elgg_echo('admin:view_site'),
+ 'is_trusted' => true,
+));
+$logout = elgg_view('output/url', array(
+ 'href' => 'action/logout',
+ 'text' => elgg_echo('logout'),
+ 'is_trusted' => true,
+));
+?>
+<h1 class="elgg-heading-site">
+ <a href="<?php echo elgg_get_site_url(); ?>admin">
+ <?php echo $admin_title; ?>
+ </a>
+</h1>
+<ul class="elgg-menu-user">
+ <li><?php echo elgg_echo('admin:loggedin', array(elgg_get_logged_in_user_entity()->name)); ?></li>
+ <li><?php echo $view_site; ?></li>
+ <li><?php echo $logout; ?></li>
+</ul> \ No newline at end of file
diff --git a/views/default/admin/components/plugin_settings.php b/views/default/admin/plugin_settings.php
index c2801cec3..1c6e9e206 100644
--- a/views/default/admin/components/plugin_settings.php
+++ b/views/default/admin/plugin_settings.php
@@ -14,11 +14,12 @@ $plugin_id = $plugin->getID();
// required for plugin settings backward compatibility
$vars['entity'] = $plugin;
-if (elgg_view_exists("settings/$plugin_id/edit")) {
+$settings = false;
- $title = $plugin->manifest->getName();
+if (elgg_view_exists("settings/$plugin_id/edit") || elgg_view_exists("plugins/$plugin_id/settings")) {
+ $title = $plugin->getManifest()->getName();
- $params = array('id' => "$plugin_id-settings");
+ $params = array('id' => "$plugin_id-settings", 'class' => 'elgg-form-settings');
$body = elgg_view_form("plugins/settings/save", $params, $vars);
echo elgg_view_module('info', $title, $body);
diff --git a/views/default/admin/plugins.php b/views/default/admin/plugins.php
new file mode 100644
index 000000000..42f153d0f
--- /dev/null
+++ b/views/default/admin/plugins.php
@@ -0,0 +1,197 @@
+<?php
+/**
+ * Elgg administration plugin screen
+ *
+ * Shows a list of plugins that can be sorted and filtered.
+ *
+ * @package Elgg.Core
+ * @subpackage Admin.Plugins
+ */
+
+elgg_load_js('lightbox');
+elgg_load_css('lightbox');
+
+elgg_generate_plugin_entities();
+$installed_plugins = elgg_get_plugins('any');
+$show_category = get_input('category', 'all');
+$sort = get_input('sort', 'priority');
+
+// Get a list of the all categories
+// and trim down the plugin list if we're not viewing all categories.
+// @todo this could be cached somewhere after have the manifest loaded
+$categories = array();
+
+foreach ($installed_plugins as $id => $plugin) {
+ if (!$plugin->isValid()) {
+ if ($plugin->isActive()) {
+ // force disable and warn
+ elgg_add_admin_notice('invalid_and_deactivated_' . $plugin->getID(),
+ elgg_echo('ElggPlugin:InvalidAndDeactivated', array($plugin->getId())));
+ $plugin->deactivate();
+ }
+ continue;
+ }
+
+ $plugin_categories = $plugin->getManifest()->getCategories();
+
+ // handle plugins that don't declare categories
+ // unset them here because this is the list we foreach
+ switch ($show_category) {
+ case 'all':
+ break;
+ case 'active':
+ if (!$plugin->isActive()) {
+ unset($installed_plugins[$id]);
+ }
+ break;
+ case 'inactive':
+ if ($plugin->isActive()) {
+ unset($installed_plugins[$id]);
+ }
+ break;
+ case 'nonbundled':
+ if (in_array('bundled', $plugin_categories)) {
+ unset($installed_plugins[$id]);
+ }
+ break;
+ default:
+ if (!in_array($show_category, $plugin_categories)) {
+ unset($installed_plugins[$id]);
+ }
+ break;
+ }
+
+ if (isset($plugin_categories)) {
+ foreach ($plugin_categories as $category) {
+ if (!array_key_exists($category, $categories)) {
+ $categories[$category] = ElggPluginManifest::getFriendlyCategory($category);
+ }
+ }
+ }
+}
+
+$guids = array();
+foreach ($installed_plugins as $plugin) {
+ $guids[] = $plugin->getGUID();
+}
+
+// sort plugins
+switch ($sort) {
+ case 'date':
+ $plugin_list = array();
+ foreach ($installed_plugins as $plugin) {
+ $create_date = $plugin->getTimeCreated();
+ while (isset($plugin_list[$create_date])) {
+ $create_date++;
+ }
+ $plugin_list[$create_date] = $plugin;
+ }
+ krsort($plugin_list);
+ break;
+ case 'alpha':
+ $plugin_list = array();
+ foreach ($installed_plugins as $plugin) {
+ $plugin_list[$plugin->getFriendlyName()] = $plugin;
+ }
+ ksort($plugin_list);
+ break;
+ case 'priority':
+ default:
+ $plugin_list = $installed_plugins;
+ break;
+}
+
+
+
+asort($categories);
+
+// we want bundled/nonbundled pulled to be at the top of the list
+unset($categories['bundled']);
+unset($categories['nonbundled']);
+
+$common_categories = array(
+ 'all' => elgg_echo('admin:plugins:category:all'),
+ 'active' => elgg_echo('admin:plugins:category:active'),
+ 'inactive' => elgg_echo('admin:plugins:category:inactive'),
+ 'bundled' => elgg_echo('admin:plugins:category:bundled'),
+ 'nonbundled' => elgg_echo('admin:plugins:category:nonbundled'),
+);
+
+$categories = array_merge($common_categories, $categories);
+// security - only want a defined option
+if (!array_key_exists($show_category, $categories)) {
+ $show_category = reset($categories);
+}
+
+$category_form = elgg_view_form('admin/plugins/filter', array(
+ 'action' => 'admin/plugins',
+ 'method' => 'get',
+ 'disable_security' => true,
+), array(
+ 'category' => $show_category,
+ 'category_options' => $categories,
+ 'sort' => $sort,
+));
+
+
+$sort_options = array(
+ 'priority' => elgg_echo('admin:plugins:sort:priority'),
+ 'alpha' => elgg_echo('admin:plugins:sort:alpha'),
+ 'date' => elgg_echo('admin:plugins:sort:date'),
+);
+// security - only want a defined option
+if (!array_key_exists($sort, $sort_options)) {
+ $sort = reset($sort_options);
+}
+
+$sort_form = elgg_view_form('admin/plugins/sort', array(
+ 'action' => 'admin/plugins',
+ 'method' => 'get',
+ 'disable_security' => true,
+), array(
+ 'sort' => $sort,
+ 'sort_options' => $sort_options,
+ 'category' => $show_category,
+));
+
+$buttons = "<div class=\"clearfix mbm\">";
+$buttons .= elgg_view_form('admin/plugins/change_state', array(
+ 'action' => 'action/admin/plugins/activate_all',
+ 'class' => 'float',
+), array(
+ 'guids' => $guids,
+ 'action' => 'activate',
+));
+$buttons .= elgg_view_form('admin/plugins/change_state', array(
+ 'action' => 'action/admin/plugins/deactivate_all',
+ 'class' => 'float',
+), array(
+ 'guids' => $guids,
+ 'action' => 'deactivate',
+));
+$buttons .= "</div>";
+
+$buttons .= $category_form . $sort_form;
+
+// construct page header
+?>
+<div id="content_header" class="mbm clearfix">
+ <div class="content-header-options"><?php echo $buttons ?></div>
+</div>
+
+<div id="elgg-plugin-list">
+<?php
+
+$options = array(
+ 'limit' => 0,
+ 'full_view' => true,
+ 'list_type_toggle' => false,
+ 'pagination' => false,
+);
+if ($show_category == 'all' && $sort == 'priority') {
+ $options['display_reordering'] = true;
+}
+echo elgg_view_entity_list($plugin_list, $options);
+
+?>
+</div> \ No newline at end of file
diff --git a/views/default/admin/plugins/advanced.php b/views/default/admin/plugins/advanced.php
deleted file mode 100644
index 6b32035f3..000000000
--- a/views/default/admin/plugins/advanced.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-/**
- * Elgg administration advanced plugin screen
- *
- * Shows a list of all plugins sorted by load order.
- *
- * @package Elgg.Core
- * @subpackage Admin.Plugins
- */
-
-elgg_generate_plugin_entities();
-$installed_plugins = elgg_get_plugins('any');
-$show_category = get_input('category', null);
-
-// Get a list of the all categories
-// and trim down the plugin list if we're not viewing all categories.
-// @todo this could be cached somewhere after have the manifest loaded
-$categories = array();
-
-foreach ($installed_plugins as $plugin) {
- if (!$plugin->isValid()) {
- continue;
- }
-
- $plugin_categories = $plugin->manifest->getCategories();
-
- // handle plugins that don't declare categories
- // unset them here because this is the list we foreach
- if ($show_category && !in_array($show_category, $plugin_categories)) {
- unset($installed_plugins[$id]);
- }
-
- if (isset($plugin_categories)) {
- foreach ($plugin_categories as $category) {
- if (!array_key_exists($category, $categories)) {
- $categories[$category] = elgg_echo("admin:plugins:label:moreinfo:categories:$category");
- }
- }
- }
-}
-
-$categories = array_merge(array('' => elgg_echo('admin:plugins:categories:all')), $categories);
-
-$category_dropdown = elgg_view('input/dropdown', array(
- 'name' => 'category',
- 'options_values' => $categories,
- 'value' => $show_category
-));
-
-$category_button = elgg_view('input/submit', array(
- 'value' => elgg_echo('filter'),
- 'class' => 'elgg-button-action'
-));
-
-$category_form = elgg_view('input/form', array(
- 'body' => $category_dropdown . $category_button
-));
-
-// @todo Until "en/deactivate all" means "All plugins on this page" hide when not looking at all.
-if (!isset($show_category) || empty($show_category)) {
- $activate_url = "action/admin/plugins/activate_all";
- $activate_url = elgg_add_action_tokens_to_url($activate_url);
- $deactivate_url = "action/admin/plugins/deactivate_all";
- $deactivate_url = elgg_add_action_tokens_to_url($deactivate_url);
-
- $buttons = "<div class=\"mbl\">";
- $buttons .= "<a class='elgg-button-action' href=\"$activate_url\">" . elgg_echo('admin:plugins:activate_all') . '</a> ';
- $buttons .= "<a class='elgg-button-cancel' href=\"$deactivate_url\">" . elgg_echo('admin:plugins:deactivate_all') . '</a> ';
- $buttons .= "</div>";
-} else {
- $buttons = '';
-}
-
-$buttons .= $category_form;
-
-// construct page header
-?>
-<div id="content_header" class="mbm clearfix">
- <div class="content-header-options"><?php echo $buttons ?></div>
-</div>
-
-<div id="elgg-plugin-list">
-<?php
-
-// Display list of plugins
-foreach ($installed_plugins as $plugin) {
- $view = ($plugin->isValid()) ? 'admin/components/plugin' : 'admin/components/invalid_plugin';
- echo elgg_view($view, array(
- 'plugin' => $plugin
- ));
-}
-?>
-</div> \ No newline at end of file
diff --git a/views/default/admin/plugins/simple.php b/views/default/admin/plugins/simple.php
deleted file mode 100644
index 28c1cc25e..000000000
--- a/views/default/admin/plugins/simple.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-/**
- * Elgg administration simple plugin screen
- *
- * Shows an alphabetical list of "simple" plugins.
- *
- * @package Elgg
- * @subpackage Core
- */
-
-echo elgg_view_form('admin/plugins/simple_update_states', array('class' => 'admin_plugins_simpleview'));
diff --git a/views/default/admin/site/advanced.php b/views/default/admin/settings/advanced.php
index 12e4303e7..a262740f2 100644
--- a/views/default/admin/site/advanced.php
+++ b/views/default/admin/settings/advanced.php
@@ -6,4 +6,4 @@
* @subpackage Core
*/
-echo elgg_view_form('admin/site/update_advanced');
+echo elgg_view_form('admin/site/update_advanced', array('class' => 'elgg-form-settings'));
diff --git a/views/default/admin/settings/advanced/site_secret.php b/views/default/admin/settings/advanced/site_secret.php
new file mode 100644
index 000000000..e70ac7ab6
--- /dev/null
+++ b/views/default/admin/settings/advanced/site_secret.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Elgg administration site secret settings
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+echo elgg_view_form('admin/site/regenerate_secret', array(), array(
+ 'strength' => _elgg_get_site_secret_strength(),
+));
diff --git a/views/default/admin/site/basic.php b/views/default/admin/settings/basic.php
index 3b8f4f183..9334ba81b 100644
--- a/views/default/admin/site/basic.php
+++ b/views/default/admin/settings/basic.php
@@ -6,4 +6,4 @@
* @subpackage Core
*/
-echo elgg_view_form('admin/site/update_basic');
+echo elgg_view_form('admin/site/update_basic', array('class' => 'elgg-form-settings'));
diff --git a/views/default/admin/sidebar.php b/views/default/admin/sidebar.php
new file mode 100644
index 000000000..100ce2af8
--- /dev/null
+++ b/views/default/admin/sidebar.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Admin sidebar -- just outputs the page menus
+ */
+
+$content = elgg_view_menu('page', array('sort_by' => 'priority', 'show_section_headers' => true));
+
+echo elgg_view_module('main', '', $content, array('class' => 'elgg-admin-sidebar-menu')); \ No newline at end of file
diff --git a/views/default/admin/statistics/overview.php b/views/default/admin/statistics/overview.php
index c8cc682d5..ac5aaac36 100644
--- a/views/default/admin/statistics/overview.php
+++ b/views/default/admin/statistics/overview.php
@@ -6,81 +6,8 @@
* @subpackage Core
*/
-// Work out number of users
-$users_stats = get_number_users();
-$total_users = get_number_users(true);
-
-// Get version information
-$version = get_version();
-$release = get_version(true);
-
echo elgg_view('admin/statistics/extend');
-?>
-<div class="elgg-module elgg-module-inline">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('admin:statistics:label:basic'); ?></h3>
- </div>
- <div class="elgg-body">
- <?php //@todo extract this table to a view so we can use elgg_view_module ?>
- <table class="elgg-table-alt">
- <tr class="odd">
- <td><b><?php echo elgg_echo('admin:statistics:label:version'); ?> :</b></td>
- <td><?php echo elgg_echo('admin:statistics:label:version:release'); ?> - <?php echo $release; ?>, <?php echo elgg_echo('admin:statistics:label:version:version'); ?> - <?php echo $version; ?></td>
- </tr>
- <tr class="even">
- <td><b><?php echo elgg_echo('admin:statistics:label:numusers'); ?> :</b></td>
- <td><?php echo $users_stats; ?> <?php echo elgg_echo('active'); ?> / <?php echo $total_users; ?> <?php echo elgg_echo('total') ?></td>
- </tr>
- </table>
- </div>
-</div>
-
-<?php
-
-// Get entity statistics
-$entity_stats = get_entity_statistics();
-$even_odd = "";
-?>
-<div class="elgg-module elgg-module-inline">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('admin:statistics:label:numentities'); ?></h3>
- </div>
- <div class="elgg-body">
- <?php //@todo extract this table to a view so we can use elgg_view_module ?>
- <table class="elgg-table-alt">
- <?php
- foreach ($entity_stats as $k => $entry) {
- arsort($entry);
- foreach ($entry as $a => $b) {
-
- //This function controls the alternating class
- $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even';
-
- if ($a == "__base__") {
- $a = elgg_echo("item:{$k}");
- if (empty($a))
- $a = $k;
- } else {
- if (empty($a)) {
- $a = elgg_echo("item:{$k}");
- } else {
- $a = elgg_echo("item:{$k}:{$a}");
- }
+echo elgg_view_module('inline', elgg_echo('admin:statistics:label:basic'), elgg_view('admin/statistics/overview/basic'));
- if (empty($a)) {
- $a = "$k $a";
- }
- }
- echo <<< END
- <tr class="{$even_odd}">
- <td>{$a}:</td>
- <td>{$b}</td>
- </tr>
-END;
- }
- }
- ?>
- </table>
- </div>
-</div> \ No newline at end of file
+echo elgg_view_module('inline', elgg_echo('admin:statistics:label:numentities'), elgg_view('admin/statistics/overview/numentities'));
diff --git a/views/default/admin/statistics/overview/basic.php b/views/default/admin/statistics/overview/basic.php
new file mode 100644
index 000000000..2c9b3b88e
--- /dev/null
+++ b/views/default/admin/statistics/overview/basic.php
@@ -0,0 +1,19 @@
+<?php
+// Work out number of users
+$users_stats = get_number_users();
+$total_users = get_number_users(true);
+
+// Get version information
+$version = get_version();
+$release = get_version(true);
+?>
+<table class="elgg-table-alt">
+ <tr class="odd">
+ <td><b><?php echo elgg_echo('admin:statistics:label:version'); ?> :</b></td>
+ <td><?php echo elgg_echo('admin:statistics:label:version:release'); ?> - <?php echo $release; ?>, <?php echo elgg_echo('admin:statistics:label:version:version'); ?> - <?php echo $version; ?></td>
+ </tr>
+ <tr class="even">
+ <td><b><?php echo elgg_echo('admin:statistics:label:numusers'); ?> :</b></td>
+ <td><?php echo $users_stats; ?> <?php echo elgg_echo('active'); ?> / <?php echo $total_users; ?> <?php echo elgg_echo('total') ?></td>
+ </tr>
+</table> \ No newline at end of file
diff --git a/views/default/admin/statistics/overview/numentities.php b/views/default/admin/statistics/overview/numentities.php
new file mode 100644
index 000000000..af4ae2773
--- /dev/null
+++ b/views/default/admin/statistics/overview/numentities.php
@@ -0,0 +1,40 @@
+<?php
+// Get entity statistics
+$entity_stats = get_entity_statistics();
+$even_odd = "";
+?>
+<table class="elgg-table-alt">
+<?php
+foreach ($entity_stats as $k => $entry) {
+ arsort($entry);
+ foreach ($entry as $a => $b) {
+
+ //This function controls the alternating class
+ $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even';
+
+ if ($a == "__base__") {
+ $a = elgg_echo("item:{$k}");
+ if (empty($a))
+ $a = $k;
+ } else {
+ if (empty($a)) {
+ $a = elgg_echo("item:{$k}");
+ } else {
+ $a = elgg_echo("item:{$k}:{$a}");
+ }
+
+ if (empty($a)) {
+ $a = "$k $a";
+ }
+ }
+
+ echo <<< END
+ <tr class="{$even_odd}">
+ <td>{$a}:</td>
+ <td>{$b}</td>
+ </tr>
+END;
+ }
+ }
+?>
+</table>
diff --git a/views/default/admin/statistics/server.php b/views/default/admin/statistics/server.php
new file mode 100644
index 000000000..9d21addc1
--- /dev/null
+++ b/views/default/admin/statistics/server.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Server information
+ */
+
+echo elgg_view_module('inline', elgg_echo('admin:server:label:web_server'), elgg_view('admin/statistics/server/web_server'));
+
+echo elgg_view_module('inline', elgg_echo('admin:server:label:php'), elgg_view('admin/statistics/server/php'));
diff --git a/views/default/admin/statistics/server/php.php b/views/default/admin/statistics/server/php.php
new file mode 100644
index 000000000..7c6a51383
--- /dev/null
+++ b/views/default/admin/statistics/server/php.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Server PHP info
+ */
+
+$php_log = ini_get('error_log');
+if (!$php_log) {
+ $php_log = elgg_echo('admin:server:error_log');
+}
+
+$post_max_size = elgg_get_ini_setting_in_bytes('post_max_size');
+$upload_max_filesize = elgg_get_ini_setting_in_bytes('upload_max_filesize');
+
+$post_max_size_warning = '';
+if ($upload_max_filesize > $post_max_size) {
+ // @todo show a link to something like http://nigel.mcnie.name/blog/uploadmaxfilesizepostmaxsize-experimentation ?
+ $post_max_size_warning = elgg_echo('admin:server:warning:post_max_too_small');
+}
+
+?>
+<table class="elgg-table-alt">
+ <tr class="odd">
+ <td><b><?php echo elgg_echo('admin:server:label:php_version'); ?> :</b></td>
+ <td><?php echo phpversion(); ?></td>
+ </tr>
+ <tr class="even">
+ <td><b><?php echo elgg_echo('admin:server:label:php_ini'); ?> :</b></td>
+ <td><?php echo php_ini_loaded_file(); ?></td>
+ </tr>
+ <tr class="odd">
+ <td><b><?php echo elgg_echo('admin:server:label:php_log'); ?> :</b></td>
+ <td><?php echo $php_log; ?></td>
+ </tr>
+ <tr class="even">
+ <td><b><?php echo elgg_echo('admin:server:label:mem_avail'); ?> :</b></td>
+ <td><?php echo number_format(elgg_get_ini_setting_in_bytes('memory_limit')); ?></td>
+ </tr>
+ <tr class="odd">
+ <td><b><?php echo elgg_echo('admin:server:label:mem_used'); ?> :</b></td>
+ <td><?php echo number_format(memory_get_peak_usage()); ?></td>
+ </tr>
+ <tr class="even">
+ <td><b><?php echo elgg_echo('admin:server:label:post_max_size'); ?> :</b></td>
+ <td><?php echo number_format($post_max_size); ?></td>
+ </tr>
+ <tr class="odd">
+ <td><b><?php echo elgg_echo('admin:server:label:upload_max_filesize'); ?> :</b></td>
+ <td><?php echo number_format($upload_max_filesize) . '&nbsp; ' . $post_max_size_warning; ?></td>
+ </tr>
+</table>
diff --git a/views/default/admin/statistics/server/web_server.php b/views/default/admin/statistics/server/web_server.php
new file mode 100644
index 000000000..904a54f4b
--- /dev/null
+++ b/views/default/admin/statistics/server/web_server.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Web server info
+ */
+
+?>
+<table class="elgg-table-alt">
+ <tr class="odd">
+ <td><b><?php echo elgg_echo('admin:server:label:server'); ?> :</b></td>
+ <td><?php echo $_SERVER['SERVER_SOFTWARE']; ?></td>
+ </tr>
+ <tr class="even">
+ <td><b><?php echo elgg_echo('admin:server:label:log_location'); ?> :</b></td>
+ <td><?php echo getenv('APACHE_LOG_DIR'); ?></td>
+ </tr>
+</table>
diff --git a/views/default/admin/users/add.php b/views/default/admin/users/add.php
index 83cad6106..6d22b9c29 100644
--- a/views/default/admin/users/add.php
+++ b/views/default/admin/users/add.php
@@ -3,4 +3,7 @@
* Display an add user form.
*/
-echo elgg_view('forms/useradd', array('show_admin'=>true)); \ No newline at end of file
+$title = elgg_echo('adduser');
+$body = elgg_view_form('useradd', array(), array('show_admin' => true));
+
+echo elgg_view_module('inline', $title, $body); \ No newline at end of file
diff --git a/views/default/admin/users/admins.php b/views/default/admin/users/admins.php
new file mode 100644
index 000000000..9b175d437
--- /dev/null
+++ b/views/default/admin/users/admins.php
@@ -0,0 +1,12 @@
+<?php
+$admins = elgg_list_entities(array(), 'elgg_get_admins');
+
+?>
+<div class="elgg-module elgg-module-inline">
+ <div class="elgg-head">
+ <h3><?php echo elgg_echo('admin:statistics:label:admins'); ?></h3>
+ </div>
+ <div class="elgg-body">
+ <?php echo $admins; ?>
+ </div>
+</div>
diff --git a/views/default/annotation/default.php b/views/default/annotation/default.php
index dc1337362..5d29a53e2 100644
--- a/views/default/annotation/default.php
+++ b/views/default/annotation/default.php
@@ -2,12 +2,39 @@
/**
* Elgg default annotation view
*
+ * @note To add or remove from the annotation menu, register handlers for the menu:annotation hook.
+ *
* @uses $vars['annotation']
*/
-$owner = get_user($vars['annotation']->owner_guid);
-$icon = elgg_view("profile/icon", array('entity' => $owner, 'size' => 'tiny'));
+$annotation = $vars['annotation'];
+
+$owner = get_entity($annotation->owner_guid);
+if (!$owner) {
+ return true;
+}
+$icon = elgg_view_entity_icon($owner, 'tiny');
+$owner_link = "<a href=\"{$owner->getURL()}\">$owner->name</a>";
+
+$menu = elgg_view_menu('annotation', array(
+ 'annotation' => $annotation,
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz float-alt',
+));
+
+$text = elgg_view("output/longtext", array("value" => $annotation->value));
+
+$friendlytime = elgg_view_friendly_time($annotation->time_created);
-$info = elgg_view("output/longtext", array("value" => $vars['annotation']->value));
+$body = <<<HTML
+<div class="mbn">
+ $menu
+ $owner_link
+ <span class="elgg-subtext">
+ $friendlytime
+ </span>
+ $text
+</div>
+HTML;
-echo elgg_view_image_block($icon, $info);
+echo elgg_view_image_block($icon, $body);
diff --git a/views/default/annotation/generic_comment.php b/views/default/annotation/generic_comment.php
index d5eb7492c..22a8d9211 100644
--- a/views/default/annotation/generic_comment.php
+++ b/views/default/annotation/generic_comment.php
@@ -3,14 +3,14 @@
* Elgg generic comment view
*
* @uses $vars['annotation'] ElggAnnotation object
- * @uses $vars['full'] Display fill view or brief view
+ * @uses $vars['full_view'] Display fill view or brief view
*/
if (!isset($vars['annotation'])) {
return true;
}
-$full_view = elgg_extract('full', $vars, true);
+$full_view = elgg_extract('full_view', $vars, true);
$comment = $vars['annotation'];
@@ -22,29 +22,24 @@ if (!$entity || !$commenter) {
$friendlytime = elgg_view_friendly_time($comment->time_created);
-$commenter_icon = elgg_view("profile/icon", array('entity' => $commenter, 'size' => 'tiny'));
+$commenter_icon = elgg_view_entity_icon($commenter, 'tiny');
$commenter_link = "<a href=\"{$commenter->getURL()}\">$commenter->name</a>";
$entity_title = $entity->title ? $entity->title : elgg_echo('untitled');
$entity_link = "<a href=\"{$entity->getURL()}\">$entity_title</a>";
if ($full_view) {
-
- $delete_button = '';
- if ($comment->canEdit()) {
- $delete_button = elgg_view("output/confirmlink",array(
- 'href' => "action/comments/delete?annotation_id={$comment->id}",
- 'text' => elgg_echo('delete'),
- 'confirm' => elgg_echo('deleteconfirm')
- ));
- $delete_button = "<span class=\"delete-button\">$delete_button</span>";
- }
+ $menu = elgg_view_menu('annotation', array(
+ 'annotation' => $comment,
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz float-alt',
+ ));
$comment_text = elgg_view("output/longtext", array("value" => $comment->value));
$body = <<<HTML
<div class="mbn">
- $delete_button
+ $menu
$commenter_link
<span class="elgg-subtext">
$friendlytime
@@ -59,12 +54,14 @@ HTML;
// brief view
//@todo need link to actual comment!
-
- $on = elgg_echo('on');
+
+ $commented_on = elgg_echo('generic_comment:on', array($commenter_link, $entity_link));
+
+ $excerpt = elgg_get_excerpt($comment->value, 80);
$body = <<<HTML
<span class="elgg-subtext">
- $commenter_link $on $entity_link ($friendlytime)
+ $commented_on ($friendlytime): $excerpt
</span>
HTML;
diff --git a/views/default/annotation/likes.php b/views/default/annotation/likes.php
deleted file mode 100644
index 748d0b601..000000000
--- a/views/default/annotation/likes.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Elgg show the users who liked the object
- *
- * @uses $vars['annotation']
- */
-
-if (!isset($vars['annotation'])) {
- return true;
-}
-
-$like = $vars['annotation'];
-
-$user = $like->getOwnerEntity();
-if (!$user) {
- return true;
-}
-
-$user_icon = elgg_view("profile/icon", array('entity' => $user, 'size' => 'tiny'));
-$user_link = elgg_view('output/url', array(
- 'href' => $user->getURL(),
- 'text' => $user->name,
-));
-
-$likes_string = elgg_echo('likes:this');
-
-$friendlytime = elgg_view_friendly_time($like->time_created);
-
-if ($like->canEdit()) {
- $delete_button = elgg_view("output/confirmlink",array(
- 'href' => "action/likes/delete?annotation_id={$like->id}",
- 'text' => elgg_echo('delete'),
- 'confirm' => elgg_echo('deleteconfirm')
- ));
- $delete_button = "<span class=\"delete-button\">$delete_button</span>";
-}
-
-$body = <<<HTML
-<p class="mbn">
- $delete_button
- $user_link $likes_string
- <span class="elgg-subtext">
- $friendlytime
- </span>
-</p>
-HTML;
-
-echo elgg_view_image_block($user_icon, $body);
diff --git a/views/default/core/account/login_box.php b/views/default/core/account/login_box.php
index 40b5f5637..f39113653 100644
--- a/views/default/core/account/login_box.php
+++ b/views/default/core/account/login_box.php
@@ -4,8 +4,12 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['module'] The module name. Default: aside
*/
+$module = elgg_extract('module', $vars, 'aside');
+
$login_url = elgg_get_site_url();
if (elgg_get_config('https_login')) {
$login_url = str_replace("http:", "https:", $login_url);
@@ -14,13 +18,4 @@ if (elgg_get_config('https_login')) {
$title = elgg_echo('login');
$body = elgg_view_form('login', array('action' => "{$login_url}action/login"));
-echo elgg_view_module('aside', $title, $body);
-
-?>
-
-
-<script type="text/javascript">
- elgg.register_event_handler('init', 'system', function() {
- $('input[name=username]').focus();
- });
-</script>
+echo elgg_view_module($module, $title, $body);
diff --git a/views/default/core/account/login_dropdown.php b/views/default/core/account/login_dropdown.php
index d188364c0..e90cbf106 100644
--- a/views/default/core/account/login_dropdown.php
+++ b/views/default/core/account/login_dropdown.php
@@ -1,8 +1,6 @@
<?php
/**
* Elgg drop-down login form
- *
- * @todo Forms 1.8: Convert to use elgg_view_form()
*/
if (elgg_is_logged_in()) {
@@ -11,14 +9,19 @@ if (elgg_is_logged_in()) {
$login_url = elgg_get_site_url();
if (elgg_get_config('https_login')) {
- $login_url = str_replace("http", "https", elgg_get_site_url());
+ $login_url = str_replace("http:", "https:", elgg_get_site_url());
}
$body = elgg_view_form('login', array('action' => "{$login_url}action/login"), array('returntoreferer' => TRUE));
?>
<div id="login-dropdown">
- <a href="<?php echo $vars['url']; ?>pg/login" class="elgg-toggler elgg-toggles-login-dropdown-box elgg-button-dropdown">
- <?php echo elgg_echo('login') ?>
- </a>
- <?php echo elgg_view_module('dropdown', '', $body, array('id' => 'login-dropdown-box')); ?>
-</div> \ No newline at end of file
+ <?php
+ echo elgg_view('output/url', array(
+ 'href' => 'login#login-dropdown-box',
+ 'rel' => 'popup',
+ 'class' => 'elgg-button elgg-button-dropdown',
+ 'text' => elgg_echo('login'),
+ ));
+ echo elgg_view_module('dropdown', '', $body, array('id' => 'login-dropdown-box'));
+ ?>
+</div>
diff --git a/views/default/core/account/login_walled_garden.php b/views/default/core/account/login_walled_garden.php
deleted file mode 100644
index 93aa87782..000000000
--- a/views/default/core/account/login_walled_garden.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
-* Walled Garden Login Form
-*/
-
-$form_body = elgg_view('forms/login');
-$form_body .= elgg_view('input/hidden', array('name' => 'returntoreferer', 'value' => 'true'));
-
-$login_url = elgg_get_site_url();
-if (elgg_get_config('https_login')) {
- $login_url = str_replace("http", "https", elgg_get_site_url());
-}
-?>
-<h2><?php echo elgg_echo('login'); ?></h2>
-<?php
- //@todo Forms 1.8: Convert to use elgg_view_form()
- echo elgg_view('input/form', array('body' => $form_body, 'action' => "{$login_url}action/login"));
- echo elgg_view('login/extend'); // view for plugins to extend
-?>
-
-<?php
-if (elgg_get_config('allow_registration')) {
- $title = elgg_echo('register');
- $body = elgg_view("account/forms/register", array(
- 'friend_guid' => (int) get_input('friend_guid', 0),
- 'invitecode' => get_input('invitecode'),
- ));
-
- echo <<<__HTML
-<div id="registration_form" class="hidden clearfix">
-<div id="hiddenform_body" class="clearfix">
- <h2>$title</h2>
- $body
-</div><div id="hiddenform_bottom"></div></div>
-__HTML;
-}
-?>
- <?php
- $lostpassword_form_body = "<div>" . elgg_echo('user:password:text') . "</div>";
- $lostpassword_form_body .= "<div class='margin-none'><label>". elgg_echo('username') . " "
- . elgg_view('input/text', array('name' => 'username', 'class' => 'login-textarea lostusername')) . "</label></div>";
- $lostpassword_form_body .= elgg_view('input/captcha');
- $lostpassword_form_body .= "<div>" . elgg_view('input/submit', array('value' => elgg_echo('request'))) . "<input class='elgg-button-action elgg-state-disabled cancel_request' type='reset' value='Cancel'></div>";
-
- ?>
-<div id="lostpassword_form" class="hidden clearfix">
- <div id="hiddenform_body" class="clearfix">
- <h2><?php echo elgg_echo('user:password:lost'); ?></h2>
- <?php
- //@todo Forms 1.8: Use elgg_view_form()
- echo elgg_view('input/form', array(
- 'action' => "action/user/requestnewpassword",
- 'body' => $lostpassword_form_body
- ));
- ?>
-</div><div id="hiddenform_bottom"></div></div>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
-$(document).ready(function() {
- $('input.username').focus();
-
- // add cancel button to inline register form
- $('#registration_form').find('input.elgg-button-submit').after("<input class='elgg-button-action elgg-state-disabled cancel_request' type='reset' value='Cancel'>");
-
- function elgg_slide_hiddenform(activateLink, parentElement, toggleElement) {
- $(activateLink).closest(parentElement).find(toggleElement).animate({"width": "563px", duration: 400});
- $(activateLink).closest(parentElement).animate({"height": "256px", duration: 400}, function() {
- // ewwww dirty. Webkit has problems when showing images that were hidden.
- // forcing a reload of all the images.
- $('.visual_captcha img').each(function() { $(this).attr('src', $(this).attr('src')); });
- });
- return false;
- }
-
- $('a.registration_link').click(function(e) {
- e.preventDefault();
- elgg_slide_hiddenform(this, '.walledgardenlogin', '#registration_form');
- $('input.name').focus();
- });
-
- $('a.forgotten_password_link').click(function(e) {
- e.preventDefault();
- elgg_slide_hiddenform(this, '.walledgardenlogin', '#lostpassword_form');
- $('input.lostusername').focus();
- });
-
- $('input.cancel_request').click(function() {
- if ($('#lostpassword_form').is(':visible')) {
- $('#lostpassword_form').fadeOut(400);
- location.reload();
- } else if ($('#registration_form').is(':visible')) {
- $('#registration_form').fadeOut(400);
- location.reload();
- }
- return false;
- });
-});
-</script>
diff --git a/views/default/core/avatar/crop.php b/views/default/core/avatar/crop.php
index 499e2af4e..1c59842c8 100644
--- a/views/default/core/avatar/crop.php
+++ b/views/default/core/avatar/crop.php
@@ -6,7 +6,7 @@
*/
?>
-<div id="avatar-croppingtool">
+<div id="avatar-croppingtool" class="mtl ptm">
<label><?php echo elgg_echo('avatar:crop:title'); ?></label>
<br />
<p>
diff --git a/views/default/core/avatar/upload.php b/views/default/core/avatar/upload.php
index 8d920a900..6f9124192 100644
--- a/views/default/core/avatar/upload.php
+++ b/views/default/core/avatar/upload.php
@@ -5,7 +5,26 @@
* @uses $vars['entity']
*/
-$user_avatar = $vars['entity']->getIcon('medium');
+$user_avatar = elgg_view('output/img', array(
+ 'src' => $vars['entity']->getIconUrl('medium'),
+ 'alt' => elgg_echo('avatar'),
+));
+
+$current_label = elgg_echo('avatar:current');
+
+$remove_button = '';
+if ($vars['entity']->icontime) {
+ $remove_button = elgg_view('output/url', array(
+ 'text' => elgg_echo('remove'),
+ 'title' => elgg_echo('avatar:remove'),
+ 'href' => 'action/avatar/remove?guid=' . elgg_get_page_owner_guid(),
+ 'is_action' => true,
+ 'class' => 'elgg-button elgg-button-cancel mll',
+ ));
+}
+
+$form_params = array('enctype' => 'multipart/form-data');
+$upload_form = elgg_view_form('avatar/upload', $form_params, $vars);
?>
@@ -13,14 +32,20 @@ $user_avatar = $vars['entity']->getIcon('medium');
<?php echo elgg_echo('avatar:upload:instructions'); ?>
</p>
-<div id="current-user-avatar">
- <label><?php echo elgg_echo('avatar:current'); ?></label>
- <?php echo "<img src=\"{$user_avatar}\" alt=\"avatar\" />"; ?>
+<?php
+
+$image = <<<HTML
+<div id="current-user-avatar" class="mrl prl">
+ <label>$current_label</label><br />
+ $user_avatar
</div>
+$remove_button
+HTML;
+$body = <<<HTML
<div id="avatar-upload">
-<?php
- $form_params = array('enctype' => 'multipart/form-data');
- echo elgg_view_form('avatar/upload', $form_params, $vars);
-?>
+ $upload_form
</div>
+HTML;
+
+echo elgg_view_image_block($image, $upload_form);
diff --git a/views/default/core/dashboard/blurb.php b/views/default/core/dashboard/blurb.php
deleted file mode 100644
index 91a7fb4c5..000000000
--- a/views/default/core/dashboard/blurb.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Elgg dashboard blurb
- *
- */
-?>
-
-<div class="elgg-col elgg-col-2of3" id="dashboard-info">
- <div class="elgg-inner pas mhs mbl">
- <p>
- <?php echo elgg_echo("dashboard:nowidgets"); ?>
- </p>
- </div>
-</div> \ No newline at end of file
diff --git a/views/default/core/friends/collection.php b/views/default/core/friends/collection.php
index 8d4e52e8a..1a330af01 100644
--- a/views/default/core/friends/collection.php
+++ b/views/default/core/friends/collection.php
@@ -1,13 +1,10 @@
<?php
/**
- * Elgg friends collection
- * Lists one of a user's friends collections
+ * View a friends collection
*
* @package Elgg
* @subpackage Core
*
- * @see collections.php
- *
* @uses $vars['collection'] The individual friends collection
*/
@@ -25,8 +22,10 @@ echo "<li><h2>";
if ($coll->owner_guid == elgg_get_logged_in_user_guid()) {
echo "<div class=\"friends_collections_controls\">";
echo elgg_view('output/confirmlink', array(
- 'href' => 'action/friends/deletecollection?collection=' . $coll->id,
- 'class' => 'delete_collection'
+ 'href' => 'action/friends/collections/delete?collection=' . $coll->id,
+ 'class' => 'delete_collection',
+ 'text' => elgg_view_icon('delete'),
+ 'encode_text' => false,
));
echo "</div>";
}
@@ -34,16 +33,27 @@ echo $coll->name;
echo " (<span id=\"friends_membership_count{$vars['friendspicker']}\">{$count}</span>) </h2>";
// individual collection panels
-if ($friends = $vars['collection']->entities) {
- $content = elgg_view('core/friends/collectiontabs', array('owner' => elgg_get_logged_in_user_entity(), 'collection' => $vars['collection'], 'friendspicker' => $vars['friendspicker']));
+$friends = $vars['collection']->entities;
+if ($friends) {
+ $content = elgg_view('core/friends/collectiontabs', array(
+ 'owner' => elgg_get_logged_in_user_entity(),
+ 'collection' => $vars['collection'],
+ 'friendspicker' => $vars['friendspicker'],
+ ));
- echo elgg_view('core/friends/picker', array('entities' => $friends, 'value' => $members, 'content' => $content, 'replacement' => '', 'friendspicker' => $vars['friendspicker']));
- ?>
+ echo elgg_view('input/friendspicker', array(
+ 'entities' => $friends,
+ 'value' => $vars['collection']->members,
+ 'content' => $content,
+ 'replacement' => '',
+ 'friendspicker' => $vars['friendspicker'],
+ ));
+?>
<?php //@todo JS 1.8: no ?>
<script type="text/javascript">
- $(document).ready(function () {
+ $(function () {
- $('#friends-picker_placeholder<?php echo $vars['friendspicker']; ?>').load('<?php echo elgg_get_site_url(); ?>pages/friends/pickercallback.php?username=<?php echo elgg_get_logged_in_user_entity()->username; ?>&type=list&collection=<?php echo $vars['collection']->id; ?>');
+ $('#friends-picker_placeholder<?php echo $vars['friendspicker']; ?>').load(elgg.config.wwwroot + 'pages/friends/collections/pickercallback.php?username=<?php echo elgg_get_logged_in_user_entity()->username; ?>&type=list&collection=<?php echo $vars['collection']->id; ?>');
});
</script>
diff --git a/views/default/core/friends/collections.php b/views/default/core/friends/collections.php
index 5a052b121..c6ee082c8 100644
--- a/views/default/core/friends/collections.php
+++ b/views/default/core/friends/collections.php
@@ -9,17 +9,16 @@
* @uses $vars['collections'] The array of friends collections
*/
-if (!isset($friendspicker)) {
- $friendspicker = 0;
-}
-
-
if (is_array($vars['collections']) && sizeof($vars['collections'])) {
echo "<ul id=\"friends_collections_accordian\">";
- foreach($vars['collections'] as $collection) {
+ $friendspicker = 0;
+ foreach ($vars['collections'] as $collection) {
$friendspicker++;
- echo elgg_view('core/friends/collection', array('collection' => $collection, 'friendspicker' => $friendspicker));
+ echo elgg_view('core/friends/collection', array(
+ 'collection' => $collection,
+ 'friendspicker' => $friendspicker,
+ ));
}
echo "</ul>";
@@ -31,9 +30,9 @@ if (is_array($vars['collections']) && sizeof($vars['collections'])) {
?>
<?php //@todo JS 1.8: no ?>
<script>
-$(document).ready(function(){
+$(function(){
$('#friends_collections_accordian h2').click(function () {
- $(this.parentNode).children("[class=friends-picker]").slideToggle("fast");
+ $(this.parentNode).children("[class=friends-picker-main-wrapper]").slideToggle("fast");
//return false;
});
});
diff --git a/views/default/core/friends/collectiontabs.php b/views/default/core/friends/collectiontabs.php
index 168d2cdfb..bf12e0edb 100644
--- a/views/default/core/friends/collectiontabs.php
+++ b/views/default/core/friends/collectiontabs.php
@@ -16,38 +16,43 @@ $ownerid = $vars['owner']->getGUID();
?>
-<div id="elgg-tabs">
-<ul>
-<li class="selected"><a href="#" class="collectionmembers<?php echo $friendspicker; ?>"><?php echo elgg_echo('friends:collections:members'); ?></a></li>
-
-<li><a href="#" class="editmembers<?php echo $friendspicker; ?>"><?php echo elgg_echo('friends:collections:edit'); ?></a></li>
-
+<ul class="elgg-tabs">
+ <li class="elgg-state-selected">
+ <a href="#" class="collectionmembers<?php echo $friendspicker; ?>">
+ <?php echo elgg_echo('friends:collections:members'); ?>
+ </a>
+ </li>
+ <li>
+ <a href="#" class="editmembers<?php echo $friendspicker; ?>">
+ <?php echo elgg_echo('friends:collections:edit'); ?>
+ </a>
+ </li>
</ul>
-</div>
+
<?php //@todo JS 1.8: no ?>
<script type="text/javascript">
-$(document).ready(function () {
+$(function () {
$('a.collectionmembers<?php echo $friendspicker; ?>').click(function () {
// load collection members pane
- $('#friends-picker_placeholder<?php echo $friendspicker; ?>').load('<?php echo elgg_get_site_url(); ?>pages/friends/pickercallback.php?username=<?php echo elgg_get_logged_in_user_entity()->username; ?>&type=list&collection=<?php echo $collectionid; ?>&friendspicker=<?php echo $friendspicker; ?>');
+ $('#friends-picker_placeholder<?php echo $friendspicker; ?>').load('<?php echo elgg_get_site_url(); ?>pages/friends/collections/pickercallback.php?username=<?php echo elgg_get_logged_in_user_entity()->username; ?>&type=list&collection=<?php echo $collectionid; ?>&friendspicker=<?php echo $friendspicker; ?>');
// remove selected state from previous tab
- $(this).parent().parent().find("li.selected").removeClass("selected");
+ $(this).parent().parent().find("li.elgg-state-selected").removeClass("elgg-state-selected");
// add selected class to current tab
- $(this).parent().addClass("selected");
+ $(this).parent().addClass("elgg-state-selected");
return false;
});
$('a.editmembers<?php echo $friendspicker; ?>').click(function () {
// load friends picker pane
- $('#friends-picker_placeholder<?php echo $friendspicker; ?>').load('<?php echo elgg_get_site_url(); ?>pages/friends/pickercallback.php?username=<?php echo elgg_get_logged_in_user_entity()->username; ?>&type=picker&collection=<?php echo $collectionid; ?>&friendspicker=<?php echo $friendspicker; ?>');
+ $('#friends-picker_placeholder<?php echo $friendspicker; ?>').load('<?php echo elgg_get_site_url(); ?>pages/friends/collections/pickercallback.php?username=<?php echo elgg_get_logged_in_user_entity()->username; ?>&type=picker&collection=<?php echo $collectionid; ?>&friendspicker=<?php echo $friendspicker; ?>');
// remove selected state from previous tab
- $(this).parent().parent().find("li.selected").removeClass("selected");
+ $(this).parent().parent().find("li.elgg-state-selected").removeClass("elgg-state-selected");
// add selected class to current tab
- $(this).parent().addClass("selected");
+ $(this).parent().addClass("elgg-state-selected");
return false;
});
diff --git a/views/default/core/friends/tablelist.php b/views/default/core/friends/tablelist.php
index 12a0763c9..339b9ab1b 100644
--- a/views/default/core/friends/tablelist.php
+++ b/views/default/core/friends/tablelist.php
@@ -13,7 +13,7 @@ if (is_array($vars['entities'])) {
?>
-<table cellspacing="0" id="collectionMembersTable">
+<table cellspacing="0" id="friendspicker-members-table">
<tr>
<?php
$column = 0;
@@ -25,11 +25,11 @@ if (is_array($vars['entities'])) {
if ($entity instanceof ElggEntity) {
?>
<td style="width:25px;">
- <div style="width: 25px; margin-bottom: 15px;">
- <?php echo elgg_view("profile/icon",array('entity' => $entity, 'size' => 'tiny')); ?>
+ <div style="width: 25px;" class="mbl">
+ <?php echo elgg_view_entity_icon($entity, 'tiny'); ?>
</div>
</td>
- <td style="width: 200px; padding: 5px;">
+ <td style="width: 200px;" class="pas">
<?php echo $entity->name; ?>
</td>
<?php
diff --git a/views/default/core/likes/display.php b/views/default/core/likes/display.php
deleted file mode 100644
index 4da140693..000000000
--- a/views/default/core/likes/display.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-/**
- * Elgg likes display
- *
- * @package Elgg
- *
- * @uses $vars['entity']
- */
-
-if (!isset($vars['entity'])) {
- return true;
-}
-
-$guid = $vars['entity']->getGUID();
-
-// check to see if the user has already liked this
-if (elgg_is_logged_in()) {
- if (!elgg_annotation_exists($guid, 'likes')) {
- $url = elgg_get_site_url() . "action/likes/add?guid={$guid}";
- $params = array(
- 'href' => $url,
- 'text' => '<span class="elgg-icon elgg-icon-likes"></span>',
- 'title' => elgg_echo('likes:likethis'),
- 'is_action' => true,
- 'encode_text' => false,
- );
- $likes_button = elgg_view('output/url', $params);
- } else {
- $options = array(
- 'guid' => $guid,
- 'annotation_name' => 'likes',
- 'owner_guid' => get_logged_in_user_guid()
- );
- $likes = elgg_get_annotations($options);
- $url = elgg_get_site_url() . "action/likes/delete?annotation_id={$likes[0]->id}";
- $params = array(
- 'href' => $url,
- 'text' => "<span class=\"elgg-icon elgg-icon-liked\"></span>",
- 'title' => elgg_echo('likes:remove'),
- 'is_action' => true,
- 'encode_text' => false,
- );
- $likes_button = elgg_view('output/url', $params);
- }
-}
-
-$list = '';
-$num_of_likes = $vars['entity']->countLikes();
-if ($num_of_likes) {
- // display the number of likes
- if ($num_of_likes == 1) {
- $likes_string = elgg_echo('likes:userlikedthis');
- } else {
- $likes_string = elgg_echo('likes:userslikedthis');
- }
- $params = array(
- 'text' => "$num_of_likes $likes_string",
- 'title' => elgg_echo('likes:see'),
- 'class' => 'elgg-like-toggle',
- );
- $list = elgg_view('output/url', $params);
- $list .= "<div class='elgg-module elgg-module-popup elgg-likes-list hidden clearfix'>";
- $list .= elgg_list_annotations(array('guid' => $guid, 'annotation_name' => 'likes', 'limit' => 99));
- $list .= "</div>";
-}
-
-echo $likes_button;
-echo $list;
diff --git a/views/default/core/members/nav.php b/views/default/core/members/nav.php
deleted file mode 100644
index a713fa8a3..000000000
--- a/views/default/core/members/nav.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * Members navigation
- */
-
-$tabs = array(
- 'newest' => array(
- 'title' => elgg_echo('members:label:newest'),
- 'url' => "pg/members/newest/",
- 'selected' => $vars['selected'] == 'newest',
- ),
- 'popular' => array(
- 'title' => elgg_echo('members:label:popular'),
- 'url' => "pg/members/popular/",
- 'selected' => $vars['selected'] == 'popular',
- ),
- 'online' => array(
- 'title' => elgg_echo('members:label:online'),
- 'url' => "pg/members/online/",
- 'selected' => $vars['selected'] == 'online',
- ),
-);
-
-echo elgg_view('navigation/tabs', array('tabs' => $tabs));
diff --git a/views/default/core/members/sidebar.php b/views/default/core/members/sidebar.php
deleted file mode 100644
index 3a00bf700..000000000
--- a/views/default/core/members/sidebar.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Members sidebar
- */
-
-// Tag search
-$params = array(
- 'method' => 'get',
- 'action' => elgg_get_site_url() . 'pg/members/search/tag/',
- 'disable_security' => true,
-);
-
-$body = elgg_view_form('members/tag_search', $params);
-
-echo elgg_view_module('aside', elgg_echo('members:searchtag'), $body);
-
-// name search
-$params = array(
- 'method' => 'get',
- 'action' => elgg_get_site_url() . 'pg/members/search/name/',
- 'disable_security' => true,
-);
-$body = elgg_view_form('members/name_search', $params);
-
-echo elgg_view_module('aside', elgg_echo('members:searchname'), $body); \ No newline at end of file
diff --git a/views/default/core/river/body.php b/views/default/core/river/body.php
deleted file mode 100644
index e3c34acda..000000000
--- a/views/default/core/river/body.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
- * Body of river item
- *
- * @uses $vars['item']
- */
-
-$item = $vars['item'];
-$subject = $item->getSubjectEntity();
-
-// river item header
-$params = array(
- 'href' => $subject->getURL(),
- 'text' => $subject->name,
-);
-$subject_link = elgg_view('output/url', $params);
-$timestamp = elgg_get_friendly_time($item->getPostedTime());
-$header = "$subject_link <span class=\"elgg-river-timestamp\">$timestamp</span>";
-
-// body
-$body = elgg_view($item->getView(), array('item' => $item));
-
-// footer
-$footer = elgg_view('core/river/footer', $vars);
-
-echo elgg_view('page/components/module', array(
- 'header' => $header,
- 'body' => $body,
- 'footer' => $footer,
- 'show_inner' => false,
-)); \ No newline at end of file
diff --git a/views/default/core/river/controls.php b/views/default/core/river/controls.php
deleted file mode 100644
index 6f2be623c..000000000
--- a/views/default/core/river/controls.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Controls on an river item
- *
- *
- * @uses $vars['item']
- */
-
-$object = $vars['item']->getObjectEntity();
-
-if (elgg_is_logged_in()) {
- // comments and non-objects cannot be commented on or liked
- if ($object->getType() == 'object' && $vars['item']->annotation_id == 0) {
- $params = array(
- 'href' => '#',
- 'text' => elgg_echo('generic_comments:text'),
- 'class' => 'elgg-toggle',
- 'id' => "elgg-toggler-{$object->getGUID()}",
- );
- echo elgg_view('output/url', $params);
-
- // like this
- if (!elgg_annotation_exists($object->getGUID(), 'likes')) {
- $url = "action/likes/add?guid={$object->getGUID()}";
- $params = array(
- 'href' => $url,
- 'text' => elgg_echo('likes:likethis'),
- 'is_action' => true,
- );
- echo elgg_view('output/url', $params);
- } else {
- $options = array(
- 'guid' => $guid,
- 'annotation_name' => 'likes',
- 'owner_guid' => elgg_get_logged_in_user_guid()
- );
- $likes = elgg_get_annotations($options);
- $url = elgg_get_site_url() . "action/likes/delete?annotation_id={$likes[0]->id}";
- $params = array(
- 'href' => $url,
- 'text' => elgg_echo('likes:remove'),
- 'is_action' => true,
- );
- echo elgg_view('output/url', $params);
- }
- }
-
-} \ No newline at end of file
diff --git a/views/default/core/river/filter.php b/views/default/core/river/filter.php
index aaa4beb89..9b7fadaa8 100644
--- a/views/default/core/river/filter.php
+++ b/views/default/core/river/filter.php
@@ -9,9 +9,11 @@
$options = array();
$options['type=all'] = elgg_echo('river:select', array(elgg_echo('all')));
$registered_entities = elgg_get_config('registered_entities');
+
if (!empty($registered_entities)) {
foreach ($registered_entities as $type => $subtypes) {
- if (!is_array($subtypes)) {
+ // subtype will always be an array.
+ if (!count($subtypes)) {
$label = elgg_echo('river:select', array(elgg_echo("item:$type")));
$options["type=$type"] = $label;
} else {
@@ -32,17 +34,5 @@ if ($selector) {
$params['value'] = $selector;
}
echo elgg_view('input/dropdown', $params);
-?>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
-$(document).ready(function() {
- $('#elgg-river-selector').change(function() {
- var url = window.location.href;
- if (window.location.search.length) {
- url = url.substring(0, url.indexOf('?'));
- }
- url += '?' + $(this).val();
- elgg.forward(url);
- });
-});
-</script>
+
+elgg_load_js('elgg.ui.river');
diff --git a/views/default/core/settings/account.php b/views/default/core/settings/account.php
index 22a58c58a..0c3792ece 100644
--- a/views/default/core/settings/account.php
+++ b/views/default/core/settings/account.php
@@ -6,4 +6,4 @@
* @subpackage Core
*/
-echo elgg_view_form('usersettings/save'); \ No newline at end of file
+echo elgg_view_form('usersettings/save', array('class' => 'elgg-form-alt')); \ No newline at end of file
diff --git a/views/default/core/settings/account/default_access.php b/views/default/core/settings/account/default_access.php
index e33211460..690f2714a 100644
--- a/views/default/core/settings/account/default_access.php
+++ b/views/default/core/settings/account/default_access.php
@@ -12,22 +12,14 @@ if (elgg_get_config('allow_user_default_access')) {
if (false === ($default_access = $user->getPrivateSetting('elgg_default_access'))) {
$default_access = elgg_get_config('default_access');
}
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('default_access:settings'); ?></h3>
- </div>
- <div class="elgg-body">
- <p>
- <?php echo elgg_echo('default_access:label'); ?>:
- <?php
- echo elgg_view('input/access', array('name' => 'default_access', 'value' => $default_access));
+ $title = elgg_echo('default_access:settings');
+ $content = elgg_echo('default_access:label') . ': ';
+ $content .= elgg_view('input/access', array(
+ 'name' => 'default_access',
+ 'value' => $default_access,
+ ));
- ?>
- </p>
- </div>
-</div>
-<?php
+ echo elgg_view_module('info', $title, $content);
}
-} \ No newline at end of file
+}
diff --git a/views/default/core/settings/account/email.php b/views/default/core/settings/account/email.php
index fda83e795..4bcdbb100 100644
--- a/views/default/core/settings/account/email.php
+++ b/views/default/core/settings/account/email.php
@@ -9,19 +9,11 @@
$user = elgg_get_page_owner_entity();
if ($user) {
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('email:settings'); ?></h3>
- </div>
- <div class="elgg-body">
- <p>
- <?php echo elgg_echo('email:address:label'); ?>:
- <?php
- echo elgg_view('input/email',array('name' => 'email', 'value' => $user->email));
- ?>
- </p>
- </div>
-</div>
-<?php
-} \ No newline at end of file
+ $title = elgg_echo('email:settings');
+ $content = elgg_echo('email:address:label') . ': ';
+ $content .= elgg_view('input/email', array(
+ 'name' => 'email',
+ 'value' => $user->email,
+ ));
+ echo elgg_view_module('info', $title, $content);
+}
diff --git a/views/default/core/settings/account/language.php b/views/default/core/settings/account/language.php
index 3a992966f..b36057422 100644
--- a/views/default/core/settings/account/language.php
+++ b/views/default/core/settings/account/language.php
@@ -9,23 +9,12 @@
$user = elgg_get_page_owner_entity();
if ($user) {
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('user:set:language'); ?></h3>
- </div>
- <div class="elgg-body">
- <p>
- <?php echo elgg_echo('user:language:label'); ?>:
- <?php
- echo elgg_view("input/dropdown", array(
- 'name' => 'language',
- 'value' => $user->language,
- 'options_values' => get_installed_translations()
- ));
- ?>
- </p>
- </div>
-</div>
-<?php
-} \ No newline at end of file
+ $title = elgg_echo('user:set:language');
+ $content = elgg_echo('user:language:label') . ': ';
+ $content .= elgg_view("input/dropdown", array(
+ 'name' => 'language',
+ 'value' => $user->language,
+ 'options_values' => get_installed_translations()
+ ));
+ echo elgg_view_module('info', $title, $content);
+}
diff --git a/views/default/core/settings/account/name.php b/views/default/core/settings/account/name.php
index 69ffcecaf..e356146a3 100644
--- a/views/default/core/settings/account/name.php
+++ b/views/default/core/settings/account/name.php
@@ -4,12 +4,18 @@
*
* @package Elgg
* @subpackage Core
-
-
*/
$user = elgg_get_page_owner_entity();
+if ($user) {
+ $title = elgg_echo('user:name:label');
+ $content = elgg_echo('name') . ': ';
+ $content .= elgg_view('input/text', array(
+ 'name' => 'name',
+ 'value' => $user->name,
+ ));
+ echo elgg_view_module('info', $title, $content);
-// all hidden, but necessary for properly updating user details
-echo elgg_view('input/hidden', array('name' => 'name', 'value' => $user->name));
-echo elgg_view('input/hidden', array('name' => 'guid', 'value' => $user->guid));
+ // need the user's guid to make sure the correct user gets updated
+ echo elgg_view('input/hidden', array('name' => 'guid', 'value' => $user->guid));
+}
diff --git a/views/default/core/settings/account/notifications.php b/views/default/core/settings/account/notifications.php
index ae5fe40bb..c212b3886 100644
--- a/views/default/core/settings/account/notifications.php
+++ b/views/default/core/settings/account/notifications.php
@@ -9,33 +9,20 @@
global $NOTIFICATION_HANDLERS;
$notification_settings = get_user_notification_settings(elgg_get_page_owner_guid());
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('notifications:usersettings'); ?></h3>
- </div>
- <div class="elgg-body">
+$title = elgg_echo('notifications:usersettings');
-<p><?php echo elgg_echo('notifications:methods'); ?>
+$rows = '';
-<table>
-<?php
- // Loop through options
- foreach ($NOTIFICATION_HANDLERS as $k => $v) {
-?>
- <tr>
- <td><?php echo elgg_echo($k); ?>: </td>
-
- <td>
-<?php
+// Loop through options
+foreach ($NOTIFICATION_HANDLERS as $k => $v) {
if ($notification_settings->$k) {
$val = "yes";
} else {
$val = "no";
}
-
- echo elgg_view('input/radio', array(
+
+ $radio = elgg_view('input/radio', array(
'name' => "method[$k]",
'value' => $val,
'options' => array(
@@ -44,12 +31,14 @@ $notification_settings = get_user_notification_settings(elgg_get_page_owner_guid
),
));
-?>
- </td>
- </tr>
-<?php
- }
-?>
-</table>
- </div>
-</div> \ No newline at end of file
+ $cells = '<td class="prm pbl">' . elgg_echo("notification:method:$k") . ': </td>';
+ $cells .= "<td>$radio</td>";
+
+ $rows .= "<tr>$cells</tr>";
+}
+
+
+$content = elgg_echo('notifications:methods');
+$content .= "<table>$rows</table>";
+
+echo elgg_view_module('info', $title, $content);
diff --git a/views/default/core/settings/account/password.php b/views/default/core/settings/account/password.php
index a80f3df6b..4857034b2 100644
--- a/views/default/core/settings/account/password.php
+++ b/views/default/core/settings/account/password.php
@@ -1,45 +1,33 @@
<?php
+
/**
* Provide a way of setting your password
*
* @package Elgg
* @subpackage Core
*/
-
$user = elgg_get_page_owner_entity();
if ($user) {
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('user:set:password'); ?></h3>
- </div>
- <div class="elgg-body">
- <?php
- // only make the admin user enter current password for changing his own password.
- if (!elgg_is_admin_logged_in() || elgg_is_admin_logged_in() && $user->guid == elgg_get_logged_in_user_guid()) {
- ?>
- <p>
- <?php echo elgg_echo('user:current_password:label'); ?>:
- <?php
- echo elgg_view('input/password', array('name' => 'current_password'));
- ?>
- </p>
- <?php } ?>
+ $title = elgg_echo('user:set:password');
- <p>
- <?php echo elgg_echo('user:password:label'); ?>:
- <?php
- echo elgg_view('input/password', array('name' => 'password'));
- ?>
- </p>
+ // only make the admin user enter current password for changing his own password.
+ $admin = '';
+ if (!elgg_is_admin_logged_in() || elgg_is_admin_logged_in() && $user->guid == elgg_get_logged_in_user_guid()) {
+ $admin .= elgg_echo('user:current_password:label') . ': ';
+ $admin .= elgg_view('input/password', array('name' => 'current_password'));
+ $admin = "<p>$admin</p>";
+ }
- <p>
- <?php echo elgg_echo('user:password2:label'); ?>: <?php
- echo elgg_view('input/password', array('name' => 'password2'));
- ?>
- </p>
- </div>
-</div>
-<?php
-} \ No newline at end of file
+ $password = elgg_echo('user:password:label') . ': ';
+ $password .= elgg_view('input/password', array('name' => 'password'));
+ $password = "<p>$password</p>";
+
+ $password2 = elgg_echo('user:password2:label') . ': ';
+ $password2 .= elgg_view('input/password', array('name' => 'password2'));
+ $password2 = "<p>$password2</p>";
+
+ $content = $admin . $password . $password2;
+
+ echo elgg_view_module('info', $title, $content);
+}
diff --git a/views/default/core/settings/statistics/numentities.php b/views/default/core/settings/statistics/numentities.php
index 245fd67be..3782fd8bc 100644
--- a/views/default/core/settings/statistics/numentities.php
+++ b/views/default/core/settings/statistics/numentities.php
@@ -7,45 +7,38 @@
*/
// Get entity statistics
-$entity_stats = get_entity_statistics(elgg_get_logged_in_user_guid());
+$entity_stats = get_entity_statistics(elgg_get_page_owner_guid());
if ($entity_stats) {
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('usersettings:statistics:label:numentities'); ?></h3>
- </div>
- <div class="elgg-body">
- <table class="elgg-table-alt">
- <?php
- foreach ($entity_stats as $k => $entry) {
- foreach ($entry as $a => $b) {
+ $rows = '';
+ foreach ($entity_stats as $k => $entry) {
+ foreach ($entry as $a => $b) {
- //This function controls the alternating class
- $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even';
+ // This function controls the alternating class
+ $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even';
- if ($a == "__base__") {
- $a = elgg_echo("item:{$k}");
- if (empty($a)) {
- $a = $k;
- }
- } else {
- $a = elgg_echo("item:{$k}:{$a}");
- if (empty($a)) {
- $a = "$k $a";
- }
- }
- echo <<< END
- <tr class="{$even_odd}">
- <td class="column-one"><b>{$a}:</b></td>
- <td>{$b}</td>
- </tr>
-END;
+ if ($a == "__base__") {
+ $a = elgg_echo("item:{$k}");
+ if (empty($a)) {
+ $a = $k;
+ }
+ } else {
+ $a = elgg_echo("item:{$k}:{$a}");
+ if (empty($a)) {
+ $a = "$k $a";
}
}
- ?>
- </table>
- </div>
-</div>
-<?php
-} \ No newline at end of file
+ $rows .= <<< END
+ <tr class="{$even_odd}">
+ <td class="column-one"><b>{$a}:</b></td>
+ <td>{$b}</td>
+ </tr>
+END;
+ }
+ }
+
+ $title = elgg_echo('usersettings:statistics:label:numentities');
+ $content = "<table class=\"elgg-table-alt\">$rows</table>";
+
+ echo elgg_view_module('info', $title, $content);
+}
diff --git a/views/default/core/settings/statistics/online.php b/views/default/core/settings/statistics/online.php
index 65db42cb1..1385ff60f 100644
--- a/views/default/core/settings/statistics/online.php
+++ b/views/default/core/settings/statistics/online.php
@@ -1,31 +1,42 @@
<?php
/**
- * Elgg statistics screen showing online users.
+ * Statistics about this user.
*
* @package Elgg
* @subpackage Core
*/
-$user = elgg_get_logged_in_user_entity();
+$user = elgg_get_page_owner_entity();
-$logged_in = 0;
-$log = get_system_log($user->guid, "login", "", 'user', '', 1);
+$label_name = elgg_echo('usersettings:statistics:label:name');
+$label_email = elgg_echo('usersettings:statistics:label:email');
+$label_member_since = elgg_echo('usersettings:statistics:label:membersince');
+$label_last_login = elgg_echo('usersettings:statistics:label:lastlogin');
-if ($log) {
- $logged_in = $log[0]->time_created;
-}
+$time_created = date("r", $user->time_created);
+$last_login = date("r", $user->last_login);
-?>
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('usersettings:statistics:yourdetails'); ?></h3>
- </div>
- <div class="elgg-body">
- <table class="elgg-table-alt">
- <tr class="odd"><td class="column-one"><?php echo elgg_echo('usersettings:statistics:label:name'); ?></td><td><?php echo $user->name; ?></td></tr>
- <tr class="even"><td class="column-one"><?php echo elgg_echo('usersettings:statistics:label:email'); ?></td><td><?php echo $user->email; ?></td></tr>
- <tr class="odd"><td class="column-one"><?php echo elgg_echo('usersettings:statistics:label:membersince'); ?></td><td><?php echo date("r",$user->time_created); ?></td></tr>
- <tr class="even"><td class="column-one"><?php echo elgg_echo('usersettings:statistics:label:lastlogin'); ?></td><td><?php echo date("r",$logged_in); ?></td></tr>
- </table>
- </div>
-</div> \ No newline at end of file
+$title = elgg_echo('usersettings:statistics:yourdetails');
+
+$content = <<<__HTML
+<table class="elgg-table-alt">
+ <tr class="odd">
+ <td class="column-one">$label_name</td>
+ <td>$user->name</td>
+ </tr>
+ <tr class="even">
+ <td class="column-one">$label_email</td>
+ <td>$user->email</td>
+ </tr>
+ <tr class="odd">
+ <td class="column-one">$label_member_since</td>
+ <td>$time_created</td>
+ </tr>
+ <tr class="even">
+ <td class="column-one">$label_last_login</td>
+ <td>$last_login</td>
+ </tr>
+</table>
+__HTML;
+
+echo elgg_view_module('info', $title, $content);
diff --git a/views/default/core/settings/tools.php b/views/default/core/settings/tools.php
index 73af8d738..195db1d61 100644
--- a/views/default/core/settings/tools.php
+++ b/views/default/core/settings/tools.php
@@ -9,21 +9,26 @@
*/
// Description of what's going on
-echo "<div class='user-settings margin-top'>"
- . elgg_view('output/longtext', array('value' => elgg_echo("usersettings:plugins:description")))
- . "</div>";
-
-$limit = get_input('limit', 10);
-$offset = get_input('offset', 0);
+echo elgg_view('output/longtext', array(
+ 'value' => elgg_echo("usersettings:plugins:description"),
+ 'class' => 'user-settings mtn mbm',
+));
// Get the installed plugins
$installed_plugins = $vars['installed_plugins'];
$count = count($installed_plugins);
-// Display list of plugins
-$n = 0;
+
+// Display all plugins' usersettings forms
foreach ($installed_plugins as $plugin) {
+ $plugin_id = $plugin->getID();
if ($plugin->isActive()) {
- echo elgg_view("core/settings/tools/plugin", array('plugin' => $plugin));
+ if (elgg_view_exists("usersettings/$plugin_id/edit")
+ || elgg_view_exists("plugins/$plugin_id/usersettings")) {
+
+ $title = $plugin->getManifest()->getName();
+ $body = elgg_view_form('plugins/usersettings/save', array(), array('entity' => $plugin));
+ echo elgg_view_module('info', $title, $body);
+ }
}
} \ No newline at end of file
diff --git a/views/default/core/settings/tools/plugin.php b/views/default/core/settings/tools/plugin.php
deleted file mode 100644
index 88d366a8a..000000000
--- a/views/default/core/settings/tools/plugin.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/**
- * This displays a plugin's user settings.
- *
- * @uses ElggPlugin $vars['plugin'] The plugin to show settings for.
- *
- * @package Elgg.Core
- * @subpackage Plugins.Settings
- */
-
-
-$plugin = $vars['plugin'];
-$plugin_id = $plugin->getID();
-$user_guid = $vars['user_guid'];
-
-if (!$user_guid) {
- $user_guid = elgg_get_logged_in_user_guid();
-}
-
-if (elgg_view("usersettings/$plugin_id/edit")) {
-?>
-
-<div class="elgg-module elgg-module-info">
- <div class="elgg-head">
- <h3><?php echo $plugin->manifest->getName(); ?></h3>
- </div>
- <div class="elgg-body">
- <div id="<?php echo $plugin_id; ?>_settings">
- <?php echo elgg_view("object/plugin", array(
- 'plugin' => $plugin,
- 'entity' => elgg_get_all_plugin_user_settings($plugin_id, $user_guid),
- 'type' => 'user'
- ));
- ?>
- </div>
- </div>
-</div>
-<?php
-} \ No newline at end of file
diff --git a/views/default/core/walled_garden/login.php b/views/default/core/walled_garden/login.php
new file mode 100644
index 000000000..42b79607d
--- /dev/null
+++ b/views/default/core/walled_garden/login.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Walled garden login
+ */
+
+$title = elgg_get_site_entity()->name;
+$welcome = elgg_echo('walled_garden:welcome');
+$welcome .= ': <br/>' . $title;
+
+$menu = elgg_view_menu('walled_garden', array(
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-general elgg-menu-hz',
+));
+
+$login_box = elgg_view('core/account/login_box', array('module' => 'walledgarden-login'));
+
+echo <<<HTML
+<div class="elgg-col elgg-col-1of2">
+ <div class="elgg-inner">
+ <h1 class="elgg-heading-walledgarden">
+ $welcome
+ </h1>
+ $menu
+ </div>
+</div>
+<div class="elgg-col elgg-col-1of2">
+ <div class="elgg-inner">
+ $login_box
+ </div>
+</div>
+HTML;
diff --git a/views/default/core/walled_garden/lost_password.php b/views/default/core/walled_garden/lost_password.php
new file mode 100644
index 000000000..82f8caf50
--- /dev/null
+++ b/views/default/core/walled_garden/lost_password.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Walled garden lost password
+ */
+
+$title = elgg_echo('user:password:lost');
+$body = elgg_view_form('user/requestnewpassword');
+echo <<<HTML
+<div class="elgg-inner">
+ <h3>$title</h3>
+ $body
+</div>
+HTML;
diff --git a/views/default/core/walled_garden/register.php b/views/default/core/walled_garden/register.php
new file mode 100644
index 000000000..1ce2f8716
--- /dev/null
+++ b/views/default/core/walled_garden/register.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Walled garden registration
+ */
+
+$title = elgg_echo('register');
+$body = elgg_view_form('register', array(), array(
+ 'friend_guid' => (int) get_input('friend_guid', 0),
+ 'invitecode' => get_input('invitecode'),
+));
+
+echo <<<__HTML
+<div class="elgg-inner">
+ <h2>$title</h2>
+ $body
+</div>
+__HTML;
diff --git a/views/default/css.php b/views/default/css.php
index f02549c3d..e67c79c36 100644
--- a/views/default/css.php
+++ b/views/default/css.php
@@ -2,6 +2,6 @@
/**
*
* This is a deprecated CSS view used in Elgg 1.0-1.7.
- * Please use the view 'css/screen' now.
+ * Please use the view 'css/elgg' now.
*
*/
diff --git a/views/default/css/admin.php b/views/default/css/admin.php
index a73bbbb16..c435621b2 100644
--- a/views/default/css/admin.php
+++ b/views/default/css/admin.php
@@ -25,34 +25,35 @@ table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
- outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
-img {
- border-width:0;
- border-color:transparent;
+<?php // force vertical scroll bar ?>
+html, body {
+ height: 100%;
+ margin-bottom: 1px;
}
-:focus {
- outline:0 none;
+img {
+ border-width: 0;
+ border-color: transparent;
}
ol, ul {
list-style: none;
}
em, i {
- font-style:italic;
+ font-style: italic;
}
ins {
- text-decoration:none;
+ text-decoration: none;
}
del {
text-decoration:line-through;
}
strong, b {
- font-weight:bold;
+ font-weight: bold;
}
table {
border-collapse: collapse;
@@ -74,18 +75,16 @@ blockquote, q {
/* ***************************************
BASICS
*************************************** */
-
body {
- background-color: #eeeeee;
+ background-color: #eee;
font-size: 80%;
line-height: 1.4em;
font-family: "Lucida Grande",Arial,Tahoma,Verdana,sans-serif;
- overflow-y: scroll;
}
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
line-height: auto;
- color: #666666;
+ color: #666;
}
h1 { font-size: 1.8em; }
h2 { font-size: 1.5em; line-height: 1.1em; }
@@ -95,14 +94,22 @@ h5 { font-size: 0.9em; }
h6 { font-size: 0.8em; }
a {
- color: #333333;
+ color: #333;
+ text-decoration: none;
}
a:hover {
color: black;
text-decoration: underline;
}
pre, code {
- background: #EBF5FF;
+ background-color: #EEE;
+ border: 1px solid #DDD;
+ color: #444;
+ font-family: Monaco, "Courier New", Courier, monospace;
+ font-size: 13px;
+ overflow: auto;
+ margin: 15px 0;
+ padding: 5px;
}
blockquote {
background: #EBF5FF;
@@ -111,23 +118,28 @@ p {
margin-bottom: 15px;
}
-table.mceLayout {
- width:100% !important;
-}
-
.clearfloat {
- clear:both;
+ clear: both;
}
/* Clearfix! */
+.clearfix:after,
.elgg-grid:after,
-.clearfix:after {
+.elgg-layout:after,
+.elgg-inner:after,
+.elgg-page-header:after,
+.elgg-page-footer:after,
+.elgg-head:after,
+.elgg-foot:after,
+.elgg-col:after,
+.elgg-image-block:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
+
.elgg-body {
width: auto;
word-wrap: break-word;
@@ -138,31 +150,27 @@ table.mceLayout {
visibility: hidden;
height: 0 !important;
line-height: 0;
+ overflow: hidden;
font-size: xx-large;
content: " x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";
}
-.hidden {
- display:none;
-}
-.centered {
- margin:0 auto;
-}
-.center {
- text-align: center;
-}
/* ***************************************
- HEADER
+ PAGE WRAPPER
*************************************** */
-.elgg-page-header {
+.elgg-page > .elgg-inner {
margin: 0 auto;
padding: 20px 40px 0;
min-width: 800px;
max-width: 1600px;
}
-.elgg-page-header > .elgg-inner {
- background-color: #111111;
- border: 1px solid #999999;
+
+/* ***************************************
+ HEADER
+*************************************** */
+.elgg-page-header {
+ background-color: #111;
+ border: 1px solid #999;
padding: 20px 20px;
}
.elgg-heading-site {
@@ -193,7 +201,7 @@ table.mceLayout {
.elgg-menu-user li {
display: inline;
}
-.elgg-menu-user li:after{
+.elgg-menu-user li:after {
content: "|";
display: inline-block;
font-weight: normal;
@@ -204,8 +212,11 @@ table.mceLayout {
content: "";
}
-.elgg-system-messages {
- padding: 20px 40px 0;
+/* ***************************************
+ MESSAGES
+*************************************** */
+.elgg-page-messages {
+ padding: 20px 0 0;
width: 500px;
margin-bottom: -10px;
}
@@ -215,22 +226,57 @@ table.mceLayout {
.elgg-message {
padding: 10px;
margin-bottom: 10px;
- border: 2px solid #dddddd;
+ border: 2px solid #ddd;
+ cursor: pointer;
+}
+.elgg-message.elgg-state-error {
+ background: #fbe3e4;
+ color: #8a1f11;
+ border-color: #fbc2c4;
+ font-weight: bold;
+}
+.elgg-message.elgg-state-success {
+ background: #e6efc2;
+ color: #264409;
+ border-color: #c6d880;
}
+.elgg-admin-notices {
+ padding-bottom: 15px;
+}
+.elgg-admin-notices p {
+ background-color: #BDE5F8;
+ color: black;
+ border: 1px solid blue;
+ font-weight: bold;
+ padding: 3px 0px 3px 10px;
+
+ -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
+ -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
+
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.elgg-admin-notices a.elgg-admin-notice {
+ float: right;
+ text-decoration: none;
+}
+
+.elgg-admin-notices a {
+ text-decoration: underline;
+}
/* ***************************************
BODY
*************************************** */
.elgg-page-body {
- margin: 0 auto;
- padding: 20px 40px;
- min-width: 800px;
- max-width: 1600px;
+ padding: 20px 0;
}
-.elgg-main {
- background-color: #ffffff;
- border: 1px solid #cccccc;
+.elgg-main {
+ background-color: #fff;
+ border: 1px solid #ccc;
padding: 20px;
position: relative;
min-height: 400px;
@@ -248,72 +294,52 @@ table.mceLayout {
}
/* ***************************************
- SIDEBAR MENU
+ FOOTER
*************************************** */
-.elgg-menu-page a {
- display: block;
- padding: 5px;
- color: #333333;
- cursor: pointer;
- text-decoration: none;
- margin-bottom: 2px;
- border: 1px solid #CCC;
-
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
+.elgg-page-footer {
+ background-color: #111;
+ border: 1px solid #999;
+ padding: 10px 20px;
+ margin-bottom: 10px;
}
-.elgg-menu-page a:hover {
+.elgg-page-footer a {
+ color: #ddd;
+ font-weight: bold;
text-decoration: none;
- background: black;
- color: white;
- border: 1px solid black;
}
-.elgg-menu-page li.elgg-state-selected > a {
- background-color: #BBB;
-}
-
-.elgg-menu-page .elgg-menu-closed:before {
- content: "\25B8";
- padding-right: 4px;
-}
-
-.elgg-menu-page .elgg-menu-opened:before {
- content: "\25BE";
- padding-right: 4px;
-}
-
-.elgg-menu-page .elgg-child-menu {
- display: none;
- padding-left: 30px;
-}
-.elgg-menu-page li.elgg-state-selected > ul {
- display: block;
+.elgg-page-footer a:hover {
+ text-decoration: underline;
}
-
/* ***************************************
MODULES
*************************************** */
-
+.elgg-module {
+ overflow: hidden;
+}
.elgg-module-main {
- background-color: #ffffff;
- border: 1px solid #cccccc;
+ background-color: #fff;
+ border: 1px solid #ccc;
padding: 10px;
}
.elgg-module-main > .elgg-head {
margin-bottom: 5px;
}
+.elgg-module-info > .elgg-head {
+ margin-bottom: 10px;
+}
.elgg-module-inline {
margin: 20px 0;
}
.elgg-module-inline > .elgg-head {
- background-color: #999999;
+ background-color: #999;
color: white;
padding: 5px;
margin-bottom: 10px;
+
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
+ border-radius: 3px;
}
.elgg-module-inline > .elgg-head h3 {
color: white;
@@ -324,29 +350,35 @@ table.mceLayout {
*************************************** */
.elgg-table {
width: 100%;
- border-top: 1px solid #cccccc;
+ border-top: 1px solid #ccc;
}
.elgg-table td, .elgg-table th {
background: white;
- border: 1px solid #cccccc;
+ border: 1px solid #ccc;
+ padding: 4px 8px;
+ vertical-align: middle;
}
.elgg-table th {
- background-color: #dddddd;
+ background-color: #ddd;
}
.elgg-table .alt td {
- background: #eeeeee;
+ background: #eee;
}
-.elgg-table td {
- padding: 4px 8px;
- border-bottom: 1px solid #cccccc;
+.elgg-table input[type=checkbox] {
+ margin-top: 3px;
}
+
.elgg-table-alt {
width: 100%;
- border-top: 1px solid #cccccc;
+ border-top: 1px solid #ccc;
+}
+.elgg-table-alt th {
+ background-color: #eee;
+ font-weight: bold;
}
-.elgg-table-alt td {
- padding: 2px 4px 2px 4px;
- border-bottom: 1px solid #cccccc;
+.elgg-table-alt td, th {
+ padding: 2px 4px;
+ border-bottom: 1px solid #ccc;
}
.elgg-table-alt td:first-child {
width: 200px;
@@ -369,31 +401,27 @@ table.mceLayout {
float: right;
margin-left: 5px;
}
-
-.elgg-list-item {
+.elgg-item {
margin: 3px;
}
-.elgg-list-metadata {
- float: right;
- margin-left: 15px;
- font-size: 90%;
-}
-.elgg-list-metadata > li {
- float: left;
- margin-left: 15px;
+.elgg-list-simple li {
+ margin-bottom: 5px;
}
-.elgg-list-metadata, .elgg-list-metadata a {
- color: #aaaaaa;
+.elgg-list-distinct {
+ border-top: 1px dotted #CCCCCC;
+ margin: 5px 0;
+ clear: both;
}
-.elgg-simple-list li {
- margin-bottom: 5px;
+.elgg-list-distinct > li {
+ border-bottom: 1px dotted #CCCCCC;
}
+
/* ***************************************
FORMS AND INPUT
*************************************** */
label {
font-weight: bold;
- color:#333333;
+ color: #333333;
font-size: 110%;
}
fieldset > div {
@@ -405,34 +433,366 @@ fieldset > div:last-child {
input {
font: 120% Arial, Helvetica, sans-serif;
padding: 5px;
- border: 1px solid #cccccc;
- color:#666666;
+ border: 1px solid #ccc;
+ color: #666;
+
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
+ border-radius: 5px;
+ margin: 0;
}
-input[type="submit"], .elgg-button-submit, .elgg-button-action {
+
+/* default elgg core input field classes */
+.elgg-input-text,
+.elgg-input-tags,
+.elgg-input-url,
+.elgg-input-plaintext,
+.elgg-input-longtext {
+ width: 98%;
+}
+textarea {
+ height: 100px;
+}
+.elgg-input-thin {
+ width: 400px;
+}
+.elgg-input-natural {
+ width: auto;
+}
+
+.elgg-button {
font-size: 14px;
font-weight: bold;
- color: white;
text-decoration: none;
- background-color: #333333;
- border-color: #333333;
+
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
+ border-radius: 5px;
+
width: auto;
padding: 2px 4px;
- margin: 10px 5px 10px 0;
cursor: pointer;
- outline: none;
}
-input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover {
+a.elgg-button {
+ padding: 3px 6px;
+}
+
+.elgg-button + .elgg-button {
+ margin-left: 5px;
+}
+
+.elgg-button-submit,
+.elgg-button-action {
color: white;
- background-color: #000000;
+ border: 1px solid #333;
+ background-color: #333;
+ text-shadow: 1px 1px 0px black;
+}
+.elgg-button-submit:hover,
+.elgg-button-action:hover {
+ color: white;
+ background-color: #000;
text-decoration: none;
}
-.elgg-button-submit, .elgg-button-action {
- padding: 4px 8px;
+.elgg-button-submit.elgg-state-disabled,
+.elgg-button-action.elgg-state-disabled {
+ color: #999;
+ cursor: default;
+}
+
+.elgg-button-cancel {
+ color: #333;
+ background-color: #999;
+ border: 1px solid #999;
+}
+.elgg-button-cancel:hover {
+ color: #222;
+ background-color: #666;
+ text-decoration: none;
+}
+
+.elgg-form-useradd input[type=text],
+.elgg-form-useradd input[type=password] {
+ width: 300px;
+}
+
+.elgg-form-settings {
+ max-width: 800px;
+}
+
+/* **************************************
+ DATE PICKER
+*************************************** */
+.ui-datepicker {
+ margin-top: 3px;
+ padding: 3px 3px 0;
+ border: 1px solid #ccc;
+ background-color: white;
+}
+.ui-datepicker-header {
+ padding: 2px 0;
+ border: 1px solid #ccc;
+ background-color: #eee;
+ border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+}
+.ui-datepicker-prev, .ui-datepicker-next {
+ position: absolute;
+ top: 9px;
+ cursor: pointer;
+}
+.ui-datepicker-prev {
+ left: 6px;
+}
+.ui-datepicker-next {
+ right: 6px;
+}
+.ui-datepicker-title {
+ line-height: 1.8em;
+ margin: 0 30px;
+ text-align: center;
+ font-weight: bold;
+}
+.ui-datepicker-calendar {
+ margin-bottom: 2px;
+}
+.ui-datepicker th {
+ border: none;
+ font-weight: bold;
+ padding: 5px 6px;
+ text-align: center;
+}
+.ui-datepicker td {
+ padding: 1px;
+}
+.ui-datepicker td span, .ui-datepicker td a {
+ display: block;
+ padding: 2px;
+ line-height: 1.2em;
+ text-align: right;
+ text-decoration: none;
+}
+.ui-datepicker-calendar .ui-state-default {
+ border: 1px solid #ccc;
+ color: #555;
+ background: #fafafa;
+}
+.ui-datepicker-calendar .ui-state-hover {
+ border: 1px solid #aaa;
+ color: #333;
+ background: #ccc;
+}
+.ui-datepicker-calendar .ui-state-active,
+.ui-datepicker-calendar .ui-state-active.ui-state-hover {
+ font-weight: bold;
+ border: 1px solid #999;
+ color: #333;
+ background: #ddd;
}
+
+/* ***************************************
+ AUTOCOMPLETE
+*************************************** */
+<?php //autocomplete will expand to fullscreen without max-width ?>
+.ui-autocomplete {
+ position: absolute;
+ cursor: default;
+}
+.elgg-autocomplete-item .elgg-body {
+ max-width: 600px;
+}
+.ui-autocomplete {
+ background-color: white;
+ border: 1px solid #ccc;
+ overflow: hidden;
+
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.ui-autocomplete .ui-menu-item {
+ padding: 0px 4px;
+
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.ui-autocomplete .ui-menu-item:hover {
+ background-color: #eee;
+}
+.ui-autocomplete a:hover {
+ text-decoration: none;
+ color: #4690D6;
+}
+.ui-autocomplete a.ui-state-hover {
+ background-color: #eee;
+ display: block;
+}
+
+/* ***************************************
+ USER PICKER
+*************************************** */
+.elgg-user-picker-list li:first-child {
+ border-top: 1px dotted #ccc;
+ margin-top: 5px;
+}
+.elgg-user-picker-list > li {
+ border-bottom: 1px dotted #ccc;
+}
+
+/* ***************************************
+ FRIENDS PICKER
+*************************************** */
+.friends-picker-main-wrapper {
+ margin-bottom: 15px;
+}
+.friends-picker-container h3 {
+ font-size:4em !important;
+ text-align: left;
+ margin:10px 0 20px !important;
+ color:#999 !important;
+ background: none !important;
+ padding:0 !important;
+}
+.friends-picker .friends-picker-container .panel ul {
+ text-align: left;
+ margin: 0;
+ padding:0;
+}
+.friends-picker-wrapper {
+ margin: 0;
+ padding:0;
+ position: relative;
+ width: 730px;
+}
+.friends-picker {
+ position: relative;
+ overflow: hidden;
+ margin: 0;
+ padding:0;
+ width: 730px;
+ height: auto;
+ background-color: #dedede;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+}
+.friendspicker-savebuttons {
+ background: white;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ margin:0 10px 10px;
+}
+.friends-picker .friends-picker-container { /* long container used to house end-to-end panels. Width is calculated in JS */
+ position: relative;
+ left: 0;
+ top: 0;
+ width: 100%;
+ list-style-type: none;
+}
+.friends-picker .friends-picker-container .panel {
+ float:left;
+ height: 100%;
+ position: relative;
+ width: 730px;
+ margin: 0;
+ padding:0;
+}
+.friends-picker .friends-picker-container .panel .wrapper {
+ margin: 0;
+ padding:4px 10px 10px 10px;
+ min-height: 230px;
+}
+.friends-picker-navigation {
+ margin: 0 0 10px;
+ padding:0 0 10px;
+ border-bottom:1px solid #ccc;
+}
+.friends-picker-navigation ul {
+ list-style: none;
+ padding-left: 0;
+}
+.friends-picker-navigation ul li {
+ float: left;
+ margin:0;
+ background:white;
+}
+.friends-picker-navigation a {
+ font-weight: bold;
+ text-align: center;
+ background: white;
+ color: #999;
+ text-decoration: none;
+ display: block;
+ padding: 0;
+ width:20px;
+
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.tabHasContent {
+ background: white;
+ color:#333 !important;
+}
+.friends-picker-navigation li a:hover {
+ background: #333;
+ color:white !important;
+}
+.friends-picker-navigation li a.current {
+ background: #4690D6;
+ color:white !important;
+}
+.friends-picker-navigation-l, .friends-picker-navigation-r {
+ position: absolute;
+ top: 46px;
+ text-indent: -9000em;
+}
+.friends-picker-navigation-l a, .friends-picker-navigation-r a {
+ display: block;
+ height: 40px;
+ width: 40px;
+}
+.friends-picker-navigation-l {
+ right: 48px;
+ z-index:1;
+}
+.friends-picker-navigation-r {
+ right: 0;
+ z-index:1;
+}
+.friends-picker-navigation-l {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat left top;
+}
+.friends-picker-navigation-r {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat -60px top;
+}
+.friends-picker-navigation-l:hover {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat left -44px;
+}
+.friends-picker-navigation-r:hover {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat -60px -44px;
+}
+.friendspicker-savebuttons .elgg-button-submit,
+.friendspicker-savebuttons .elgg-button-cancel {
+ margin:5px 20px 5px 5px;
+}
+.friendspicker-members-table {
+ background: #dedede;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ margin:10px 0 0;
+ padding:10px 10px 0;
+}
+
/* ***************************************
PAGINATION
*************************************** */
@@ -448,24 +808,23 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
}
.elgg-pagination a, .elgg-pagination span {
padding: 2px 6px;
- color: #333333;
- border: 1px solid #333333;
+ color: #333;
+ border: 1px solid #333;
font-size: 12px;
text-decoration: none;
}
.elgg-pagination a:hover {
- background: #333333;
+ background: #333;
color: white;
text-decoration: none;
}
-
-.elgg-pagination .elgg-state-disabled {
- color: #CCCCCC;
- border-color: #CCCCCC;
+.elgg-pagination .elgg-state-disabled span {
+ color: #CCC;
+ border-color: #CCC;
}
-.elgg-pagination .elgg-state-selected {
- color: #555555;
- border-color: #555555;
+.elgg-pagination .elgg-state-selected span {
+ color: #000;
+ border-color: #ccc;
}
/* ***************************************
@@ -473,15 +832,15 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
*************************************** */
.elgg-tabs {
margin-bottom: 5px;
- border-bottom: 1px solid #cccccc;
+ border-bottom: 1px solid #ccc;
display: table;
width: 100%;
}
.elgg-tabs li {
float: left;
- border: 1px solid #cccccc;
+ border: 1px solid #ccc;
border-bottom-width: 0;
- background: #eeeeee;
+ background: #eee;
margin: 0 0 0 10px;
}
.elgg-tabs a {
@@ -490,14 +849,14 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
padding: 3px 10px 0 10px;
text-align: center;
height: 21px;
- color: #999999;
+ color: #999;
}
.elgg-tabs a:hover {
background: #dedede;
- color:#333333;
+ color:#333;
}
.elgg-tabs .elgg-state-selected {
- border-color: #cccccc;
+ border-color: #ccc;
background: white;
}
.elgg-tabs .elgg-state-selected a {
@@ -507,6 +866,228 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
}
/* ***************************************
+ SIDEBAR MENU
+*************************************** */
+.elgg-admin-sidebar-menu a {
+ border: 1px solid red;
+ display: block;
+ padding: 5px;
+ color: #333;
+ cursor: pointer;
+ text-decoration: none;
+ margin-bottom: 2px;
+ border: 1px solid #CCC;
+
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.elgg-admin-sidebar-menu a:hover {
+ text-decoration: none;
+ background: black;
+ color: white;
+ border: 1px solid black;
+}
+.elgg-admin-sidebar-menu li.elgg-state-selected > a {
+ background-color: #BBB;
+}
+.elgg-admin-sidebar-menu .elgg-menu-closed:before {
+ content: "\25B8";
+ padding-right: 4px;
+}
+.elgg-admin-sidebar-menu .elgg-menu-opened:before {
+ content: "\25BE";
+ padding-right: 4px;
+}
+.elgg-admin-sidebar-menu .elgg-child-menu {
+ display: none;
+ padding-left: 30px;
+}
+.elgg-admin-sidebar-menu li.elgg-state-selected > ul {
+ display: block;
+}
+.elgg-admin-sidebar-menu h2 {
+ padding-bottom: 5px;
+}
+.elgg-admin-sidebar-menu ul.elgg-menu-page {
+ padding-bottom: 15px;
+}
+
+/* ***************************************
+ TITLE MENU
+*************************************** */
+.elgg-menu-title {
+ float: right;
+}
+.elgg-menu-title > li {
+ display: inline-block;
+ margin-left: 4px;
+}
+
+/* ***************************************
+ FOOTER MENU
+*************************************** */
+.elgg-menu-footer {
+ color: gray;
+}
+.elgg-menu-footer li {
+ float: left;
+}
+.elgg-menu-footer li:after {
+ content: "\007C";
+ display: inline-block;
+ padding: 0 4px 0 4px;
+ font-weight: normal;
+}
+.elgg-menu-footer li:last-child:after {
+ content: "";
+}
+
+/* ***************************************
+ GENERAL MENU
+*************************************** */
+.elgg-menu-general > li,
+.elgg-menu-general > li > a {
+ display: inline-block;
+ color: #999;
+}
+
+.elgg-menu-general > li:after {
+ content: "\007C";
+ padding: 0 4px;
+}
+
+/* ***************************************
+ HOVER MENU
+*************************************** */
+.elgg-menu-hover {
+ display: none;
+ position: absolute;
+ z-index: 10000;
+
+ width: 165px;
+ border: solid 1px #E5E5E5;
+ border-color: #E5E5E5 #999 #999 #E5E5E5;
+ background-color: #FFF;
+
+ -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
+ -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
+ box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
+}
+.elgg-menu-hover > li {
+ border-bottom: 1px solid #ddd;
+}
+.elgg-menu-hover > li:last-child {
+ border-bottom: none;
+}
+.elgg-menu-hover .elgg-heading-basic {
+ display: block;
+}
+.elgg-menu-hover a {
+ display: block;
+ padding: 2px 8px;
+ font-size: 92%;
+}
+.elgg-menu-hover a:hover {
+ background: #ccc;
+ text-decoration: none;
+}
+.elgg-menu-hover-admin a {
+ color: red;
+}
+.elgg-menu-hover-admin a:hover {
+ color: white;
+ background-color: red;
+}
+
+/* ***************************************
+ ENTITY MENU
+*************************************** */
+<?php // height depends on line height/font size ?>
+.elgg-menu-entity, .elgg-menu-annotation {
+ float: right;
+ margin-left: 15px;
+ font-size: 90%;
+ color: #666;
+ line-height: 16px;
+ height: 16px;
+}
+.elgg-menu-entity > li, .elgg-menu-annotation > li {
+ margin-left: 15px;
+}
+.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a {
+ color: #aaa;
+}
+<?php // need to override .elgg-menu-hz ?>
+.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a {
+ display: block;
+}
+.elgg-menu-entity > li > span, .elgg-menu-annotation > li > span {
+ vertical-align: baseline;
+}
+
+/* ***************************************
+ WIDGET MENU
+*************************************** */
+.elgg-menu-widget > li {
+ position: absolute;
+ top: 4px;
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ padding: 2px 2px 0 0;
+}
+.elgg-menu-widget > .elgg-menu-item-collapse {
+ left: 5px;
+}
+.elgg-menu-widget > .elgg-menu-item-delete {
+ right: 5px;
+}
+.elgg-menu-widget > .elgg-menu-item-settings {
+ right: 25px;
+}
+
+/* ***************************************
+ MORE MENUS
+*************************************** */
+/* Horizontal menus w/ separator support */
+.elgg-menu-hz > li,
+.elgg-menu-hz > li:after,
+.elgg-menu-hz > li > a {
+ display: inline-block;
+ vertical-align: middle;
+}
+/* Allow inline image blocks in horizontal menus */
+.elgg-menu-hz .elgg-body:after {
+ content: '.';
+}
+.elgg-menu > li:last-child::after {
+ display: none;
+}
+.elgg-menu-admin-footer a {
+ color: #eee;
+}
+.elgg-menu-admin-footer > li {
+ padding-right: 25px;
+}
+.elgg-menu-longtext {
+ float: right;
+}
+.elgg-menu-metadata {
+ list-style-type: none;
+ float: right;
+ margin-left: 15px;
+ font-size: 90%;
+}
+.elgg-menu-metadata > li {
+ float: left;
+ margin-left: 15px;
+}
+.elgg-menu-metadata, .elgg-menu-metadata a {
+ color: #aaa;
+}
+
+/* ***************************************
WIDGETS
*************************************** */
.elgg-widgets {
@@ -520,11 +1101,9 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
.elgg-widgets-add-panel {
padding: 10px;
margin: 0 5px 15px;
- background: #eeeeee;
- border: 1px solid #cccccc;
+ background: #eee;
+ border: 1px solid #ccc;
}
-
-<?php //@todo location-dependent style: make an extension of elgg-gallery ?>
.elgg-widgets-add-panel ul {
padding: 0;
margin: 0;
@@ -535,13 +1114,23 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
list-style: none;
width: 200px;
padding: 4px;
- background-color: #eeeeee;
- border: 1px solid #cccccc;
+ background-color: #eee;
+ border: 1px solid #ccc;
font-weight: bold;
}
.elgg-widgets-add-panel li a {
display: block;
}
+.elgg-widget-single.elgg-state-available {
+ color: #333;
+ cursor: pointer;
+}
+.elgg-widget-single.elgg-state-available:hover {
+ border-color: #aaa;
+}
+.elgg-widget-single.elgg-state-unavailable {
+ color: #888;
+}
.elgg-module-widget {
background-color: #dedede;
@@ -550,45 +1139,36 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
position: relative;
}
.elgg-module-widget:hover {
- background-color: #cccccc;
+ background-color: #ccc;
}
.elgg-module-widget > .elgg-head {
background-color: #f5f5f5;
- height: 30px;
- line-height: 30px;
+ height: 26px;
overflow: hidden;
}
+.elgg-module-widget.elgg-state-draggable .elgg-widget-handle {
+ cursor: move;
+}
.elgg-module-widget > .elgg-head h3 {
float: left;
- padding: 0 45px 0 20px;
- color: #333333;
-}
-.elgg-module-widget > .elgg-head a {
- position: absolute;
- top: 5px;
- display: block;
- width: 18px;
- height: 18px;
- border: 1px solid transparent;
+ padding: 4px 45px 0 20px;
+ color: #333;
}
-a.elgg-widget-collapse-button {
- left: 5px;
- background:transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat 0px -385px;
-}
-a.elgg-widget-collapsed {
- background-position: 0px -365px;
+.elgg-widget-collapse-button {
+ color: #c5c5c5;
+ text-decoration: none;
}
-a.elgg-widget-delete-button {
- right: 5px;
- background:transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -198px 3px;
+a.elgg-widget-collapse-button:hover,
+a.elgg-widget-collapsed:hover {
+ color: #9d9d9d;
+ text-decoration: none;
}
-a.elgg-widget-edit-button {
- right: 25px;
- background:transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -300px -1px;
+a.elgg-widget-collapse-button:before {
+ content: "\25BC";
}
-a.elgg-widget-edit-button:hover, a.elgg-widget-delete-button:hover {
- border: 1px solid #cccccc;
+a.elgg-widget-collapsed:before {
+ content: "\25BA";
}
.elgg-module-widget > .elgg-body {
border-top: 1px solid #dedede;
@@ -610,24 +1190,103 @@ a.elgg-widget-edit-button:hover, a.elgg-widget-delete-button:hover {
margin-bottom: 15px;
}
+/* ***************************************
+ GRID
+*************************************** */
+.elgg-grid {}
+.elgg-col {
+ float: left;
+}
+.elgg-col-1of1 {
+ float: none;
+}
+.elgg-col-1of2 {
+ width: 50%;
+}
+.elgg-col-1of3 {
+ width: 33.33%;
+}
+.elgg-col-2of3 {
+ width: 66.66%;
+}
+.elgg-col-1of4 {
+ width: 25%;
+}
+.elgg-col-3of4 {
+ width: 75%;
+}
+.elgg-col-1of5 {
+ width: 20%;
+}
+.elgg-col-2of5 {
+ width: 40%;
+}
+.elgg-col-3of5 {
+ width: 60%;
+}
+.elgg-col-4of5 {
+ width: 80%;
+}
+.elgg-col-1of6 {
+ width: 16.66%;
+}
+.elgg-col-5of6 {
+ width: 83.33%;
+}
-
-
-.elgg-subtext {
- color: #666666;
- font-size: 85%;
- line-height: 1.2em;
- font-style: italic;
- margin-bottom: 5px;
+/* ***************************************
+ ICONS
+*************************************** */
+.elgg-icon {
+ background: transparent url(<?php echo elgg_get_site_url(); ?>_graphics/admin_sprites.png) no-repeat left;
+ width: 16px;
+ height: 16px;
+ display: inline-block;
+ margin: 0 2px;
+ vertical-align: text-bottom;
+}
+.elgg-module .elgg-head .elgg-icon {
+ vertical-align: baseline;
+}
+.elgg-icon-delete:hover,
+.elgg-icon-delete-alt:hover {
+ background-position: 0 -0px;
+}
+.elgg-icon-delete,
+.elgg-icon-delete-alt {
+ background-position: 0 -18px;
+}
+.elgg-icon-drag-arrow:hover {
+ background-position: 0 -36px;
+}
+.elgg-icon-drag-arrow {
+ background-position: 0 -54px;
+}
+.elgg-icon-hover-menu:hover {
+ background-position: 0 -72px;
+}
+.elgg-icon-hover-menu {
+ background-position: 0 -90px;
+}
+.elgg-icon-settings-alt:hover {
+ background-position: 0 -108px;
+}
+.elgg-icon-settings-alt {
+ background-position: 0 -126px;
}
-.avatar_menu_button {
- display: none;
+.elgg-ajax-loader {
+ background: white url(<?php echo elgg_get_site_url(); ?>_graphics/ajax_loader_bw.gif) no-repeat center center;
+ min-height: 33px;
+ min-width: 33px;
}
-<?php // @todo clean up and figure out what admin css needs ?>
+/* ***************************************
+ AVATAR ICONS
+*************************************** */
.elgg-avatar {
position: relative;
+ display: inline-block;
}
.elgg-avatar > a > img {
display: block;
@@ -635,28 +1294,38 @@ a.elgg-widget-edit-button:hover, a.elgg-widget-delete-button:hover {
.elgg-avatar-tiny > a > img {
width: 25px;
height: 25px;
+
/* remove the border-radius if you don't want rounded avatars in supported browsers */
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
+ border-radius: 3px;
+
-moz-background-clip: border;
+ background-clip: border;
- -o-background-size: 25px;
-webkit-background-size: 25px;
-khtml-background-size: 25px;
-moz-background-size: 25px;
+ -o-background-size: 25px;
+ background-size: 25px;
}
.elgg-avatar-small > a > img {
width: 40px;
height: 40px;
+
/* remove the border-radius if you don't want rounded avatars in supported browsers */
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
+ border-radius: 5px;
+
-moz-background-clip: border;
+ background-clip: border;
- -o-background-size: 40px;
-webkit-background-size: 40px;
-khtml-background-size: 40px;
-moz-background-size: 40px;
+ -o-background-size: 40px;
+ background-size: 40px;
}
.elgg-avatar-medium > a > img {
width: 100px;
@@ -666,366 +1335,289 @@ a.elgg-widget-edit-button:hover, a.elgg-widget-delete-button:hover {
width: 200px;
height: 200px;
}
-
-.elgg-menu-hover {
+.elgg-avatar > .elgg-icon-hover-menu {
display: none;
position: absolute;
- z-index: 10000;
-
- width: 165px;
- border-top: solid 1px #E5E5E5;
- border-left: solid 1px #E5E5E5;
- border-right: solid 1px #999999;
- border-bottom: solid 1px #999999;
- background-color: #FFFFFF;
- -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
- -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
-}
-.elgg-menu-hover > li {
- border-bottom: 1px solid #dddddd;
+ right: 0;
+ bottom: 0;
+ margin: 0;
+ cursor: pointer;
}
-.elgg-menu-hover > li:last-child {
- border-bottom: none;
+.elgg-avatar {
+ position: relative;
}
-.elgg-menu-hover .elgg-heading-basic {
+.elgg-avatar > a > img {
display: block;
}
-.elgg-menu-hover a {
- display: block;
- padding: 2px 8px;
- font-size: 92%;
+.elgg-avatar-tiny > a > img {
+ width: 25px;
+ height: 25px;
+
+ /* remove the border-radius if you don't want rounded avatars in supported browsers */
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+
+ -moz-background-clip: border;
+ background-clip: border;
+
+ -webkit-background-size: 25px;
+ -khtml-background-size: 25px;
+ -moz-background-size: 25px;
+ -o-background-size: 25px;
+ background-size: 25px;
}
-.elgg-menu-hover a:hover {
- background: #cccccc;
- text-decoration: none;
+.elgg-avatar-small > a > img {
+ width: 40px;
+ height: 40px;
+
+ /* remove the border-radius if you don't want rounded avatars in supported browsers */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+
+ -moz-background-clip: border;
+ background-clip: border;
+
+ -webkit-background-size: 40px;
+ -khtml-background-size: 40px;
+ -moz-background-size: 40px;
+ -o-background-size: 40px;
+ background-size: 40px;
}
-.elgg-hover-admin a {
- color: red;
+.elgg-avatar-medium > a > img {
+ width: 100px;
+ height: 100px;
}
-.elgg-hover-admin a:hover {
- color: white;
- background-color: red;
+.elgg-avatar-large > a > img {
+ width: 200px;
+ height: 200px;
}
/* ***************************************
- GENERAL FORM ELEMENTS
-*************************************** */
-
+ PLUGINS
+**************************************** */
+.elgg-plugin {
+ border: 1px solid #999;
+ margin: 0 0 5px;
+ padding: 0 7px 4px 10px;
-/* default elgg core input field classes */
-.input-text,
-.input-tags,
-.input-url,
-.input-textarea {
- width:98%;
-}
-.admin_area .input-access {
- margin:5px 0 0 0;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
}
-.admin_area .input-password {
- width:200px;
+.elgg-plugin.elgg-state-draggable > .elgg-image-block .elgg-head {
+ cursor: move;
}
-.admin_area .input-textarea {
- height: 200px;
- width:718px;
+.elgg-plugin p {
+ margin: 0;
}
-.admin_area input[type="checkbox"],
-.admin_area input.input-radio {
- margin:0 3px 0 0;
- padding:0;
- border:none;
+.elgg-plugin h3 {
+ color: black;
+ padding-bottom: 10px;
}
-.admin_area input {
- font: 120% Arial, Helvetica, sans-serif;
- padding: 5px;
- border: 1px solid #cccccc;
- color:#666666;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
+.elgg-plugin-settings {
+ font-weight: normal;
+ font-size: 0.9em;
}
-.admin_area textarea {
- font: 120% Arial, Helvetica, sans-serif;
- border: solid 1px #cccccc;
- padding: 5px;
- color:#666666;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
+.elgg-plugin-screenshot {
+ display: inline;
}
-.admin_area textarea:focus,
-.admin_area input[type="text"]:focus {
- border: solid 1px #666666;
- background: #f5f5f5;
- color:#333333;
+.elgg-plugin-screenshot img {
+ border: 1px solid #999;
}
-.admin_area .input-textarea.monospace {
- font-family:Monaco,"Courier New",Courier,monospace;
- font-size:13px;
+.elgg-plugin-screenshot-lightbox {
+ display: block;
+ position: absolute;
+ width: 99%;
+ text-align: center;
+ background-color: white;
+ border: 1px solid #999;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
}
-a.elgg-longtext-control {
- float: right;
- margin-left: 14px;
+.elgg-plugin-screenshot-lightbox h2 {
+ color: black;
}
-.admin_area .elgg-button-submit {
- font-size: 14px;
- font-weight: bold;
- color: white;
- text-shadow:1px 1px 0px black;
- text-decoration:none;
- border: 1px solid #0054A7;
- background-color:#0054A7;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- width: auto;
- padding: 2px 4px;
- margin:0 10px 10px 0;
- cursor: pointer;
- -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
- -moz-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
+.elgg-plugin.elgg-state-active {
+ background: white;
}
-.admin_area .elgg-button-submit:hover {
- color: white;
- border-color: #333333;
- text-decoration:none;
- background-color:#333333;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
-}
-.admin_area input[type="password"]:focus {
- border: solid 1px #666666;
- background-color: #f5f5f5;
- color:#333333;
+.elgg-plugin.elgg-state-inactive {
+ background: #dedede;
}
-.admin_area input[type="submit"] {
- font-size: 14px;
+.elgg-plugin .elgg-state-error {
+ background: #fbe3e4;
+ color: #8a1f11;
+ border-color: #fbc2c4;
font-weight: bold;
- color: white;
- text-shadow:1px 1px 0px black;
- text-decoration:none;
- border: 1px solid #0054A7;
- background-color:#0054A7;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- width: auto;
- padding: 2px 4px;
- margin:10px 0 10px 0;
- cursor: pointer;
- outline: none;
- -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
- -moz-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
-}
-.admin_area input[type="submit"]:hover {
- border-color: #333333;
- text-decoration:none;
- background-color:#333333;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
-}
-.admin_area .elgg-button-cancel {
- font-size: 14px;
+}
+.elgg-plugin .elgg-state-warning {
+ background: #fbedb5;
+ color: #000000;
+ border-color: #fbe58b;
font-weight: bold;
- text-decoration:none;
- color: #333333;
- background-color:#dddddd;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
- border: 1px solid #999999;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- width: auto;
- padding: 2px 4px;
- margin:10px 0 10px 10px;
- cursor: pointer;
}
-.admin_area .elgg-button-cancel:hover {
- background-color: #999999;
- background-position: left 10px;
- text-decoration:none;
- color:white;
+.elgg-plugin-more {
+ background-color: #eee;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ padding: 5px 10px;
+ margin: 4px 0;
}
-.admin_area .content-header-options .elgg-button-action {
- margin-top:0;
- margin-left:10px;
+ul.elgg-plugin-categories, ul.elgg-plugin-categories > li,
+ul.elgg-plugin-resources, ul.elgg-plugin-resources > li {
+ display: inline;
}
-.admin_area input.elgg-button-action,
-.admin_area a.elgg-button-action {
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- background-color:#cccccc;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif);
- background-repeat: repeat-x;
- background-position: 0 0;
- border:1px solid #999999;
- color:#333333;
- padding:2px 15px 2px 15px;
- text-align:center;
- font-weight:bold;
- text-decoration:none;
- text-shadow:0 1px 0 white;
- cursor:pointer;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
-}
-.admin_area input.elgg-button-action:hover,
-.admin_area a.elgg-button-action:hover,
-.admin_area input.elgg-button-action:focus,
-.admin_area a.elgg-button-action:focus {
- background-position:0 -15px;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif);
- background-repeat: repeat-x;
- color:#111111;
- text-decoration: none;
- background-color:#cccccc;
- border:1px solid #999999;
+.elgg-plugin-category-bundled {
+ border-width: 2px;
+ border-color: #0054A7;
}
-.admin_area .elgg-button-action:active {
- background-image:none;
+
+/****************************************
+ MARKDOWN
+****************************************/
+.elgg-markdown {
+ margin: 15px;
}
-.admin_area .elgg-button-action.elgg-state-disabled {
- color:#999999;
- padding:2px 7px 2px 7px;
+.elgg-markdown h1,
+.elgg-markdown h2,
+.elgg-markdown h3,
+.elgg-markdown h4,
+.elgg-markdown h5,
+.elgg-markdown h6 {
+ margin: 1em 0 1em -15px;
+ color: #333;
}
-.admin_area .elgg-button-action.elgg-state-disabled:hover {
- background-position:0 -15px;
- color:#111111;
- border:1px solid #999999;
+.elgg-markdown ol {
+ list-style: decimal;
+ padding-left: 2em;
}
-.admin_area .elgg-button-action.elgg-state-disabled:active {
- background-image:none;
+.elgg-markdown ul {
+ list-style: disc;
+ padding-left: 2em;
}
-.admin_area .elgg-button-action.download {
- padding: 5px 9px 5px 6px;
+.elgg-markdown p {
+ margin: 15px 0;
}
-.admin_area .elgg-button-action.download:hover {
+/* ***************************************
+ MISC
+*************************************** */
+.elgg-content-thin {
+ max-width: 600px;
}
-.admin_area .elgg-button-action.download img {
- margin-right:6px;
- position:relative;
- top:5px;
-}
-.admin_area .elgg-button-action.small {
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- width: auto;
- height:8px;
- padding: 4px;
- font-size: 0.9em;
- line-height: 0.6em;
-}
-.admin_area .elgg-button-action.small:hover {
- background-color: #0054A7;
- background-image: none;
- border-color: #0054A7;
- color:white;
- text-shadow:0 -1px 0 #999999;
+
+.elgg-subtext {
+ color: #666;
+ font-size: 85%;
+ line-height: 1.2em;
+ font-style: italic;
+ margin-bottom: 5px;
}
+.elgg-text-help {
+ display: block;
+ font-size: 85%;
+ font-style: italic;
+}
-.manifest_file {
- background-color:#eeeeee;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- padding:5px 10px 5px 10px;
- margin:4px 0 4px 0;
+.elgg-longtext-control {
+ margin-left: 14px;
+ font-size: 80%;
+ cursor: pointer;
}
+table.mceLayout {
+ width:100% !important;
+}
-.plugin_controls {
- padding: 3px 3px 3px 0;
+.elgg-output dt {
font-weight: bold;
- float: left;
- width: 150px;
}
-form.admin_plugins_simpleview .elgg-button-submit {
- margin-right:20px;
+.elgg-output dd {
+ margin: 0 0 1em 2em;
}
-.plugin_info {
- margin: 3px;
- padding-left: 150px;
- display: block;
+
+/* ***************************************
+ SITE SECRET
+*************************************** */
+.elgg-form-admin-site-regenerate-secret table {
+ width: 60%;
+ margin: 1em auto;
}
-.plugin_metadata {
- display:block;
- color:#999999;
+td.elgg-strength-strong,
+td.elgg-strength-strong h4 {
+ background: #DFF0D8; color: #468847;
}
-.plugin_name input[type="checkbox"] {
- margin-right: 10px;
+td.elgg-strength-moderate,
+td.elgg-strength-moderate h4 {
+ background: #FCF8E3; color: #C09853;
}
-ul.admin_plugins {
- margin-bottom:0;
- padding-left:0;
- list-style: none;
+td.elgg-strength-weak,
+td.elgg-strength-weak h4 {
+ background: #F2DEDE; color: #B94A48;
}
-.elgg-plugin {
- border:1px solid #999999;
- margin:0 0 5px 0;
- padding:0 7px 4px 10px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
+
+/* ***************************************
+ HELPERS
+*************************************** */
+.hidden {
+ display: none;
}
-.elgg-plugin p {
- margin:0;
- padding:0;
+.centered {
+ margin: 0 auto;
}
-.elgg-plugin h3 {
- color:black;
- padding-bottom: 10px;
+.center {
+ text-align: center;
}
-.plugin_settings {
- font-weight: normal;
+.float {
+ float: left;
}
-
-.elgg-plugin-screenshot {
- display: inline;
+.float-alt {
+ float: right;
}
-.elgg-plugin-screenshot img {
- border: 1px solid #999999;
+.elgg-toggle {
+ cursor: pointer;
}
-.elgg-plugin-screenshot-lightbox {
+.elgg-discover .elgg-discoverable {
+ display: none;
+}
+.elgg-discover:hover .elgg-discoverable {
display: block;
- position: absolute;
- width: 99%;
- text-align: center;
- background-color: white;
- border: 1px solid #999999;
- -moz-border-radius: 8px;
- -webkit-border-radius: 8px;
}
-.elgg-plugin-screenshot-lightbox h2 {
- color:black;
+.elgg-transition:hover {
+ opacity: .7;
}
-.admin_notices {
- padding-bottom: 15px;
+/* ***************************************
+ BORDERS AND SEPARATORS
+*************************************** */
+.elgg-border-plain {
+ border: 1px solid #eeeeee;
}
-.admin_notices p {
- background-color:#BDE5F8;
- color: black;
- border: 1px solid blue;
- font-weight: bold;
- padding:3px 10px;
- -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
- -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
+.elgg-border-transition {
+ border: 1px solid #eeeeee;
}
-
-
-.add-user form {
- width:300px;
+.elgg-divide-top {
+ border-top: 1px solid #CCCCCC;
+}
+.elgg-divide-bottom {
+ border-bottom: 1px solid #CCCCCC;
+}
+.elgg-divide-left {
+ border-left: 1px solid #CCCCCC;
+}
+.elgg-divide-right {
+ border-right: 1px solid #CCCCCC;
}
/* ***************************************
- Spacing (from OOCSS)
+ SPACING (from OOCSS)
*************************************** */
.pan{padding:0}
.pas{padding:5px}
@@ -1083,199 +1675,3 @@ ul.admin_plugins {
.mvs{margin-top:5px;margin-bottom:5px}
.mvm{margin-top:10px;margin-bottom:10px}
.mvl{margin-top:20px;margin-bottom:20px}
-
-/* ***************************************
- GRID
-*************************************** */
-.elgg-grid {}
-.elgg-col {
- float: left;
-}
-.elgg-col-1of1 {
- float: none;
-}
-.elgg-col-1of2 {
- width: 50%;
-}
-.elgg-col-1of3 {
- width: 33.33%;
-}
-.elgg-col-2of3 {
- width: 66.66%;
-}
-.elgg-col-1of4 {
- width: 25%;
-}
-.elgg-col-3of4 {
- width: 75%;
-}
-.elgg-col-1of5 {
- width: 20%;
-}
-.elgg-col-2of5 {
- width: 40%;
-}
-.elgg-col-3of5 {
- width: 60%;
-}
-.elgg-col-4of5 {
- width: 80%;
-}
-.elgg-col-1of6 {
- width: 16.66%;
-}
-.elgg-col-5of6 {
- width: 83.33%;
-}
-
-/* ***************************************
- Icons
-*************************************** */
-.elgg-icon {
- background: transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat left;
- width: 16px;
- height: 16px;
- display: block;
- float: left;
- margin: 0 2px;
-}
-.elgg-icon-settings {
- background-position: -302px -44px;
-}
-.elgg-icon-friends {
- background-position: 0 -300px;
- width: 36px;
-}
-.elgg-icon-friends:hover {
- background-position: 0 -340px;
-}
-.elgg-icon-help {
- background-position: -302px -136px;
-}
-.elgg-icon-delete {
- background-position: -199px 1px;
-}
-.elgg-icon-delete:hover {
- background-position: -199px -15px;
-}
-.elgg-icon-likes {
- background-position: 0px -101px;
- width: 20px;
- height: 20px;
-}
-.elgg-icon-likes:hover {
- background-position: 0px -131px;
-}
-.elgg-icon-liked {
- background-position: 0px -131px;
- width: 20px;
- height: 20px;
-}
-.elgg-icon-arrow-s {
- background-position: -146px -56px;
-}
-.elgg-icon-arrow-s:hover {
- background-position: -146px -76px;
-}
-.elgg-icon-following {
- background-position: -35px -100px;
- width: 22px;
- height: 20px;
-}
-.elgg-icon-rss {
- background-position: -249px 1px;
-}
-.elgg-icon-hover-menu {
- background-position: -150px 0;
-}
-.elgg-icon-hover-menu:hover {
- background-position: -150px -32px;
-}
-.elgg-icon-dragger {
- background-position: -302px -186px;
- width: 21px;
- height: 21px;
-}
-
-.elgg-list-metadata {
- list-style-type: none;
- float: right;
- margin-left: 15px;
- font-size: 90%;
-}
-.elgg-list-metadata > li {
- float: left;
- margin-left: 15px;
-}
-
-.right {float:right}
-.elgg-toggle {cursor:pointer}
-
-/* ***************************************
- FOOTER
-*************************************** */
-.elgg-menu-footer {color:gray}
-
-.elgg-menu-footer li {
- float: left;
-}
-.elgg-menu-footer li:after{
- content: "\007C";
- display: inline-block;
- padding: 0 4px 0 4px;
- font-weight: normal;
-}
-.elgg-menu-footer li:last-child:after {
- content: "";
-}
-
-/* ***************************************
- STATES
-*************************************** */
-
-.elgg-state-active {
- background:white;
-}
-
-.elgg-state-inactive {
- background:#dedede;
-}
-
-.elgg-state-available {
- color: #333333;
- cursor: pointer;
-}
-
-.elgg-state-available:hover {
- border-color: #aaaaaa;
-}
-
-.elgg-state-unavailable {
- color: #888888;
-}
-
-.elgg-state-success {
- background: #e6efc2;
- color: #264409;
- border-color: #c6d880;
-}
-
-.elgg-state-error {
- background: #fbe3e4;
- color: #8a1f11;
- border-color: #fbc2c4;
- font-weight: bold;
-}
-
-p.elgg-state-error {
- padding: 5px;
-}
-
-<?php //@todo elgg-drag-handle instead? ?>
-.elgg-state-draggable > .elgg-head {
- cursor: move;
-}
-
-<?php //What to do with states that don't have default styles? ?>
-.elgg-state-selected {}
-.elgg-state-disabled {}
diff --git a/views/default/css/elements/buttons.php b/views/default/css/elements/buttons.php
new file mode 100644
index 000000000..e9c99cf96
--- /dev/null
+++ b/views/default/css/elements/buttons.php
@@ -0,0 +1,156 @@
+<?php
+/**
+ * CSS buttons
+ *
+ * @package Elgg.Core
+ * @subpackage UI
+ */
+?>
+/* **************************
+ BUTTONS
+************************** */
+
+/* Base */
+.elgg-button {
+ font-size: 14px;
+ font-weight: bold;
+
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+
+ width: auto;
+ padding: 2px 4px;
+ cursor: pointer;
+ outline: none;
+
+ -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
+ -moz-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
+ box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
+}
+a.elgg-button {
+ padding: 3px 6px;
+}
+
+/* Submit: This button should convey, "you're about to take some definitive action" */
+.elgg-button-submit {
+ color: white;
+ text-shadow: 1px 1px 0px black;
+ text-decoration: none;
+ border: 1px solid #4690d6;
+ background: #4690d6 url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png) repeat-x left 10px;
+}
+
+.elgg-button-submit:hover {
+ border-color: #0054a7;
+ text-decoration: none;
+ color: white;
+ background: #0054a7 url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png) repeat-x left 10px;
+}
+
+.elgg-button-submit.elgg-state-disabled {
+ background: #999;
+ border-color: #999;
+ cursor: default;
+}
+
+/* Cancel: This button should convey a negative but easily reversible action (e.g., turning off a plugin) */
+.elgg-button-cancel {
+ color: #333;
+ background: #ddd url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png) repeat-x left 10px;
+ border: 1px solid #999;
+}
+.elgg-button-cancel:hover {
+ color: #444;
+ background-color: #999;
+ background-position: left 10px;
+ text-decoration: none;
+}
+
+/* Action: This button should convey a normal, inconsequential action, such as clicking a link */
+.elgg-button-action {
+ background: #ccc url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif) repeat-x 0 0;
+ border:1px solid #999;
+ color: #333;
+ padding: 2px 15px;
+ text-align: center;
+ font-weight: bold;
+ text-decoration: none;
+ text-shadow: 0 1px 0 white;
+ cursor: pointer;
+
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+
+.elgg-button-action:hover,
+.elgg-button-action:focus {
+ background: #ccc url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif) repeat-x 0 -15px;
+ color: #111;
+ text-decoration: none;
+ border: 1px solid #999;
+}
+
+/* Delete: This button should convey "be careful before you click me" */
+.elgg-button-delete {
+ color: #bbb;
+ text-decoration: none;
+ border: 1px solid #333;
+ background: #555 url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png) repeat-x left 10px;
+ text-shadow: 1px 1px 0px black;
+}
+.elgg-button-delete:hover {
+ color: #999;
+ background-color: #333;
+ background-position: left 10px;
+ text-decoration: none;
+}
+
+.elgg-button-dropdown {
+ padding:3px 6px;
+ text-decoration:none;
+ display:block;
+ font-weight:bold;
+ position:relative;
+ margin-left:0;
+ color: white;
+ border:1px solid #71B9F7;
+
+ -webkit-border-radius:4px;
+ -moz-border-radius:4px;
+ border-radius:4px;
+
+ -webkit-box-shadow: 0 0 0;
+ -moz-box-shadow: 0 0 0;
+ box-shadow: 0 0 0;
+
+ /*background-image:url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png);
+ background-position:-150px -51px;
+ background-repeat:no-repeat;*/
+}
+
+.elgg-button-dropdown:after {
+ content: " \25BC ";
+ font-size:smaller;
+}
+
+.elgg-button-dropdown:hover {
+ background-color:#71B9F7;
+ text-decoration:none;
+}
+
+.elgg-button-dropdown.elgg-state-active {
+ background: #ccc;
+ outline: none;
+ color: #333;
+ border:1px solid #ccc;
+
+ -webkit-border-radius:4px 4px 0 0;
+ -moz-border-radius:4px 4px 0 0;
+ border-radius:4px 4px 0 0;
+}
diff --git a/views/default/css/elements/chrome.php b/views/default/css/elements/chrome.php
deleted file mode 100644
index a9b82d41d..000000000
--- a/views/default/css/elements/chrome.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-/**
- * Visual styling
- *
- * @package Elgg.Core
- * @subpackage UI
- */
-
-/* Colors:
-
- #4690D6 - elgg light blue
- #0054A7 - elgg dark blue
- #e4ecf5 - elgg very light blue
-*/
-
-?>
-
-a {
- color: #4690D6;
-}
-a:hover,
-a.selected {
- color: #555555;
-}
-a:hover,
-a.selected {
- text-decoration: underline;
-}
-h1, h2, h3, h4, h5, h6 {
- color: #0054A7;
-}
-p {
- margin-bottom: 15px;
-}
-p:last-child {
- margin-bottom: 0;
-}
-
-dt {
- font-weight: bold;
-}
-dd {
- margin: 0 0 1em 1em;
-}
-pre, code {
- background:#EBF5FF;
- color:#000000;
- overflow:auto;
-
- overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
-
- white-space: pre-wrap;
- word-wrap: break-word; /* IE 5.5-7 */
-}
-code {
- padding:2px 3px;
-}
-pre {
- padding:3px 15px;
- margin:0px 0 15px 0;
- line-height:1.3em;
-}
-blockquote {
- padding:3px 15px;
- margin:0px 0 15px 0;
- background:#EBF5FF;
- border:none;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
-}
-
-h2 {
- padding-bottom:5px;
-}
-
-.elgg-quiet {
- color: #666666;
-}
-
-.elgg-loud {
- color: #0054A7;
-}
-
-<?php //@todo remove ?>
-.radius8 {
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
-}
-
-/* ***************************************
- Borders (inspired by OOCSS)
- b<location><type>
-*************************************** */
-
-<?php //@todo style is 'a' or 'b' because I didn't want to think of something cooler ?>
-/* a */
-.bta, .bva, .baa {border-top: 1px solid #ccc}
-.bba, .bva, .baa {border-bottom: 1px solid #ccc}
-.bla, .bha, .baa {border-left: 1px solid #ccc}
-.bra, .bha, .baa {border-right: 1px solid #ccc}
-
-/* b */
-.btb, .bvb, .bab {border-top: 1px solid #eee}
-.bbb, .bvb, .bab {border-bottom: 1px solid #eee}
-.blb, .bhb, .bab {border-left: 1px solid #eee}
-.brb, .bhb, .bab {border-right: 1px solid #eee}
-
-.elgg-text ul, ol {
- margin: 0 1.5em 1.5em 0;
- padding-left: 1.5em;
-}
-.elgg-text ul {
- list-style-type: disc;
-}
-.elgg-text ol {
- list-style-type: decimal;
-}
-
-.elgg-subtext {
- color: #666666;
- font-size: 85%;
- line-height: 1.2em;
- font-style: italic;
-}
-
-.elgg-photo {
- border: 1px solid #ccc;
- padding: 3px;
- background-color: white;
-}
diff --git a/views/default/css/elements/layout_objects.php b/views/default/css/elements/components.php
index cc733ea06..7fe535d57 100644
--- a/views/default/css/elements/layout_objects.php
+++ b/views/default/css/elements/components.php
@@ -7,37 +7,9 @@
* @package Elgg.Core
* @subpackage UI
*/
-/**
- * elgg-body fills the space available to it.
- * It uses hidden text to expand itself. The combination of auto width, overflow
- * hidden, and the hidden text creates this effect.
- *
- * This allows us to float fixed width divs to either side of an .elgg-body div
- * without having to specify the body div's width.
- *
- * @todo check what happens with long <pre> tags or large images
- * @todo Move this to its own file -- it is very complicated and should not have to be overridden.
- */
?>
/* ***************************************
- Body
-*************************************** */
-.elgg-body {
- width: auto;
- word-wrap: break-word;
- overflow: hidden;
-}
-.elgg-body:after {
- display: block;
- visibility: hidden;
- height: 0 !important;
- line-height: 0;
- font-size: xx-large;
- content: " x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";
-}
-
-/* ***************************************
Image Block
*************************************** */
.elgg-image-block {
@@ -63,25 +35,11 @@
.elgg-list > li {
border-bottom: 1px dotted #CCCCCC;
}
-.elgg-list-metadata {
- float: right;
- margin-left: 15px;
- font-size: 90%;
-}
-.elgg-list-metadata > li {
- float: left;
- margin-left: 15px;
-}
-.elgg-list-metadata, .elgg-list-metadata a {
- color: #aaaaaa;
-}
-.elgg-list-item .elgg-subtext {
- margin-bottom: 5px;
-}
-.elgg-tags {
+
+.elgg-item .elgg-subtext {
margin-bottom: 5px;
}
-.elgg-list-content {
+.elgg-item .elgg-content {
margin: 10px 5px;
}
@@ -96,34 +54,44 @@
.elgg-gallery td {
padding: 5px;
}
+.elgg-gallery-fluid > li {
+ float: left;
+}
+.elgg-gallery-users > li {
+ margin: 0 2px;
+}
/* ***************************************
Tables
*************************************** */
.elgg-table {
width: 100%;
- border-top: 1px solid #cccccc;
+ border-top: 1px solid #ccc;
}
.elgg-table td, .elgg-table th {
padding: 4px 8px;
- border: 1px solid #cccccc;
+ border: 1px solid #ccc;
}
.elgg-table th {
- background-color: #dddddd;
+ background-color: #ddd;
}
.elgg-table tr:nth-child(odd), .elgg-table tr.odd {
- background-color: #ffffff;
+ background-color: #fff;
}
.elgg-table tr:nth-child(even), .elgg-table tr.even {
background-color: #f0f0f0;
}
.elgg-table-alt {
width: 100%;
- border-top: 1px solid #cccccc;
+ border-top: 1px solid #ccc;
+}
+.elgg-table-alt th {
+ background-color: #eee;
+ font-weight: bold;
}
-.elgg-table-alt td {
+.elgg-table-alt td, .elgg-table-alt th {
padding: 2px 4px 2px 4px;
- border-bottom: 1px solid #cccccc;
+ border-bottom: 1px solid #ccc;
}
.elgg-table-alt td:first-child {
width: 200px;
@@ -138,11 +106,6 @@
.elgg-owner-block {
margin-bottom: 20px;
}
-.elgg-owner-block-menu li {
- float: left;
- width: 50%;
- font-size: 90%;
-}
/* ***************************************
Messages
@@ -154,10 +117,14 @@
padding: 3px 10px;
cursor: pointer;
opacity: 0.9;
+
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
-moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
+
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
+ border-radius: 8px;
}
.elgg-state-success {
background-color: black;
@@ -172,11 +139,11 @@
/* ***************************************
River
*************************************** */
-.elgg-river {
- border-top: 1px solid #CCCCCC;
+.elgg-list-river {
+ border-top: 1px solid #CCC;
}
-.elgg-river > li {
- border-bottom: 1px solid #CCCCCC;
+.elgg-list-river > li {
+ border-bottom: 1px solid #CCC;
}
.elgg-river-item {
padding: 7px 0;
@@ -185,21 +152,23 @@
margin-right: 20px;
}
.elgg-river-timestamp {
- color: #666666;
+ color: #666;
font-size: 85%;
font-style: italic;
line-height: 1.2em;
}
+
+.elgg-river-attachments,
+.elgg-river-message,
.elgg-river-content {
- border-left: 1px solid #CCCCCC;
+ border-left: 1px solid #CCC;
font-size: 85%;
line-height: 1.5em;
margin: 8px 0 5px 0;
padding-left: 5px;
}
-
-<?php //@todo location-dependent styles ?>
-.elgg-river-content .elgg-avatar {
+.elgg-river-attachments .elgg-avatar,
+.elgg-river-attachments .elgg-icon {
float: left;
}
.elgg-river-layout .elgg-input-dropdown {
@@ -207,39 +176,38 @@
margin: 10px 0;
}
-<?php //@todo do we need another elgg-tabs extension? ?>
.elgg-river-comments-tab {
display: block;
- background-color: #EEEEEE;
+ background-color: #EEE;
color: #4690D6;
margin-top: 5px;
width: auto;
float: right;
font-size: 85%;
padding: 1px 7px;
- -moz-border-radius-topleft: 5px;
- -moz-border-radius-topright: 5px;
- -webkit-border-top-left-radius: 5px;
- -webkit-border-top-right-radius: 5px;
+
+ -webkit-border-radius: 5px 5px 0 0;
+ -moz-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
}
-<?php //@todo lists.php ?>
+<?php //@todo components.php ?>
.elgg-river-comments {
margin: 0;
border-top: none;
}
.elgg-river-comments li:first-child {
- -moz-border-radius-topleft: 5px;
- -webkit-border-top-left-radius: 5px;
+ -webkit-border-radius: 5px 0 0;
+ -moz-border-radius: 5px 0 0;
+ border-radius: 5px 0 0;
}
.elgg-river-comments li:last-child {
- -moz-border-radius-bottomleft: 5px;
- -moz-border-radius-bottomright: 5px;
- -webkit-border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
+ -webkit-border-radius: 0 0 5px 5px;
+ -moz-border-radius-bottomleft: 0 0 5px 5px;
+ border-radius-bottomleft: 0 0 5px 5px;
}
.elgg-river-comments li {
- background-color: #EEEEEE;
+ background-color: #EEE;
border-bottom: none;
padding: 4px;
margin-bottom: 2px;
@@ -248,9 +216,12 @@
padding: 0;
}
.elgg-river-more {
- background-color: #EEEEEE;
- -moz-border-radius: 5px;
+ background-color: #EEE;
+
-webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+
padding: 2px 4px;
font-size: 85%;
margin-bottom: 2px;
@@ -258,11 +229,13 @@
<?php //@todo location-dependent styles ?>
.elgg-river-item form {
- background-color: #EEEEEE;
- padding: 4px 4px;
+ background-color: #EEE;
+ padding: 4px;
+
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
- display: none;
+ border-radius: 5px;
+
height: 30px;
}
.elgg-river-item input[type=text] {
@@ -271,38 +244,41 @@
.elgg-river-item input[type=submit] {
margin: 0 0 0 10px;
}
-.elgg-river-item > .elgg-image-alt a {
- font-size: 90%;
- float: right;
- clear: both;
+
+
+/* **************************************
+ Comments (from elgg_view_comments)
+************************************** */
+.elgg-comments {
+ margin-top: 25px;
+}
+.elgg-comments > form {
+ margin-top: 15px;
}
/* ***************************************
- Likes
+ Image-related
*************************************** */
-.elgg-likes-list {
- width: 345px;
- position: absolute;
+.elgg-photo {
+ border: 1px solid #ccc;
+ padding: 3px;
+ background-color: white;
}
/* ***************************************
Tags
*************************************** */
.elgg-tags {
- background-image:url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png);
- background-repeat: no-repeat;
- background-position: left -196px;
- padding:1px 0 0 14px;
font-size: 85%;
}
-.elgg-tags li {
- display: inline;
+.elgg-tags > li {
+ float:left;
margin-right: 5px;
}
-.elgg-tags li:after {
+.elgg-tags li.elgg-tag:after {
content: ",";
}
-.elgg-tags li:last-child:after {
+.elgg-tags li.elgg-tag:last-child:after {
content: "";
}
.elgg-tagcloud {
diff --git a/views/default/css/elements/core.php b/views/default/css/elements/core.php
new file mode 100644
index 000000000..74f21ee59
--- /dev/null
+++ b/views/default/css/elements/core.php
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Core CSS
+ *
+ * This file holds all the complicated/hacky stuff that you really
+ * shouldn't touch or override unless you're sure you know what you're doing.
+ *
+ * Provides classes that implement cross-browser support for the following features:
+ * * clearfix
+ * * fluid-width content area that doesn't wrap around floats
+ * * menu's with separators
+ * * inline-block
+ * * horizontal menus
+ * * fluid gallery without using tables
+ */
+?>
+
+/* Clearfix */
+.clearfix:after,
+.elgg-grid:after,
+.elgg-layout:after,
+.elgg-inner:after,
+.elgg-page-header:after,
+.elgg-page-footer:after,
+.elgg-head:after,
+.elgg-foot:after,
+.elgg-col:after,
+.elgg-image-block:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+
+/* Fluid width container that does not wrap floats */
+.elgg-body,
+.elgg-col-last {
+ display: block;
+ width: auto;
+ word-wrap: break-word;
+ overflow: hidden;
+
+ /* IE 6, 7 */
+ zoom:1;
+ *overflow:visible;
+}
+
+<?php
+/**
+ * elgg-body fills the space available to it.
+ * It uses hidden text to expand itself. The combination of auto width, overflow
+ * hidden, and the hidden text creates this effect.
+ *
+ * This allows us to float fixed width divs to either side of an .elgg-body div
+ * without having to specify the body div's width.
+ *
+ * @todo check what happens with long <pre> tags or large images
+ * @todo Move this to its own file -- it is very complicated and should not have to be overridden.
+ */
+
+//@todo isn't this only needed if we use display:table-cell?
+?>
+.elgg-body:after,
+.elgg-col-last:after {
+ display: block;
+ visibility: hidden;
+ height: 0 !important;
+ line-height: 0;
+ overflow: hidden;
+
+ /* Stretch to fill up available space */
+ font-size: xx-large;
+ content: " x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";
+}
+
+/* ***************************************
+ * MENUS
+ *
+ * To add separators to a menu:
+ * .elgg-menu-$menu > li:after {content: '|'; background: ...;}
+ *************************************** */
+/* Enabled nesting of dropdown/flyout menus */
+.elgg-menu > li { position: relative; }
+
+.elgg-menu > li:last-child::after {
+ display: none;
+}
+
+/* Maximize click target */
+.elgg-menu > li > a { display: block }
+
+/* Horizontal menus w/ separator support */
+.elgg-menu-hz > li,
+.elgg-menu-hz > li:after,
+.elgg-menu-hz > li > a,
+.elgg-menu-hz > li > span {
+ vertical-align: middle;
+}
+
+/* Allow inline image blocks in horizontal menus */
+.elgg-menu-hz .elgg-body:after { content: '.'; }
+
+<?php //@todo This isn't going to work as-is. Needs testing ?>
+/* Inline block */
+.elgg-gallery > li,
+.elgg-button,
+.elgg-icon,
+.elgg-menu-hz > li,
+.elgg-menu-hz > li:after,
+.elgg-menu-hz > li > a,
+.elgg-menu-hz > li > span {
+ /* Google says do this, but why? */
+ position: relative;
+
+ display: inline-block;
+}
diff --git a/views/default/css/elements/forms.php b/views/default/css/elements/forms.php
index b56aeddcb..068cc8fd6 100644
--- a/views/default/css/elements/forms.php
+++ b/views/default/css/elements/forms.php
@@ -1,6 +1,6 @@
<?php
/**
- * CSS form elements
+ * CSS form/input elements
*
* @package Elgg.Core
* @subpackage UI
@@ -10,40 +10,41 @@
/* ***************************************
Form Elements
*************************************** */
-<?php //@todo not comfortable with these... ?>
fieldset > div {
margin-bottom: 15px;
}
fieldset > div:last-child {
margin-bottom: 0;
}
+.elgg-form-alt > fieldset > .elgg-foot {
+ border-top: 1px solid #CCC;
+ padding: 10px 0;
+}
label {
font-weight: bold;
- color: #333333;
+ color: #333;
font-size: 110%;
}
input, textarea {
+ border: 1px solid #ccc;
+ color: #666;
font: 120% Arial, Helvetica, sans-serif;
- color: #666666;
-
padding: 5px;
-
- border: 1px solid #cccccc;
+ width: 100%;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-
- width: 100%;
- -moz-box-sizing: border-box;
+ border-radius: 5px;
-webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
box-sizing: border-box;
}
-input:focus, textarea:focus {
+input[type=text]:focus, textarea:focus {
border: solid 1px #4690d6;
background: #e4ecf5;
- color:#333333;
+ color:#333;
}
textarea {
@@ -51,7 +52,7 @@ textarea {
}
-a.elgg-longtext-control {
+.elgg-longtext-control {
float: right;
margin-left: 14px;
font-size: 80%;
@@ -68,201 +69,307 @@ input[type="radio"] {
margin:0 3px 0 0;
padding:0;
border:none;
+ border-radius:0;
width:auto;
}
.elgg-input-checkboxes.elgg-horizontal li,
-.elgg-input-radio.elgg-horizontal li {
+.elgg-input-radios.elgg-horizontal li {
display: inline;
padding-right: 10px;
}
-input[type="submit"],
-input[type="button"],
-.elgg-button {
- font-size: 14px;
- font-weight: bold;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- width: auto;
- padding: 2px 4px;
- margin: 10px 0 10px 0;
- cursor: pointer;
- outline: none;
- -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
- -moz-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.40);
+.elgg-form-login, .elgg-form-account {
+ max-width: 450px;
}
-input[type="submit"],
-.elgg-button-submit {
- color: white;
- text-shadow: 1px 1px 0px black;
- text-decoration: none;
- border: 1px solid #4690d6;
- background-color: #4690d6;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
-}
-input[type="submit"]:hover,
-.elgg-button-submit:hover {
- border-color: #0054a7;
- text-decoration: none;
- color: white;
- background-color: #0054a7;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
-}
-.elgg-button-cancel {
- color: #333333;
- background-color: #dddddd;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_graduation.png);
- background-repeat: repeat-x;
- background-position: left 10px;
- border: 1px solid #999999;
-}
-.elgg-button-cancel:hover {
- color: white;
- background-color: #999999;
- background-position: left 10px;
- text-decoration: none;
+
+/* ***************************************
+ FRIENDS PICKER
+*************************************** */
+.friends-picker-main-wrapper {
+ margin-bottom: 15px;
}
-.elgg-button-action {
- background-color:#cccccc;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif);
- background-repeat: repeat-x;
- background-position: 0 0;
- border:1px solid #999999;
- color: #333333;
- padding: 2px 15px 2px 15px;
- text-align: center;
+.friends-picker-container h3 {
+ font-size:4em !important;
+ text-align: left;
+ margin:10px 0 20px !important;
+ color:#999 !important;
+ background: none !important;
+ padding:0 !important;
+}
+.friends-picker .friends-picker-container .panel ul {
+ text-align: left;
+ margin: 0;
+ padding:0;
+}
+.friends-picker-wrapper {
+ margin: 0;
+ padding:0;
+ position: relative;
+ width: 730px;
+}
+.friends-picker {
+ position: relative;
+ overflow: hidden;
+ margin: 0;
+ padding:0;
+ width: 730px;
+ height: auto;
+ background-color: #dedede;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+}
+.friendspicker-savebuttons {
+ background: white;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ margin:0 10px 10px;
+}
+.friends-picker .friends-picker-container { /* long container used to house end-to-end panels. Width is calculated in JS */
+ position: relative;
+ left: 0;
+ top: 0;
+ width: 100%;
+ list-style-type: none;
+}
+.friends-picker .friends-picker-container .panel {
+ float:left;
+ height: 100%;
+ position: relative;
+ width: 730px;
+ margin: 0;
+ padding:0;
+}
+.friends-picker .friends-picker-container .panel .wrapper {
+ margin: 0;
+ padding:4px 10px 10px 10px;
+ min-height: 230px;
+}
+.friends-picker-navigation {
+ margin: 0 0 10px;
+ padding:0 0 10px;
+ border-bottom:1px solid #ccc;
+}
+.friends-picker-navigation ul {
+ list-style: none;
+ padding-left: 0;
+}
+.friends-picker-navigation ul li {
+ float: left;
+ margin:0;
+ background:white;
+}
+.friends-picker-navigation a {
font-weight: bold;
+ text-align: center;
+ background: white;
+ color: #999;
text-decoration: none;
- text-shadow: 0 1px 0 white;
- cursor: pointer;
+ display: block;
+ padding: 0;
+ width:20px;
+
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.tabHasContent {
+ background: white;
+ color:#333 !important;
+}
+.friends-picker-navigation li a:hover {
+ background: #333;
+ color:white !important;
+}
+.friends-picker-navigation li a.current {
+ background: #4690D6;
+ color:white !important;
+}
+.friends-picker-navigation-l, .friends-picker-navigation-r {
+ position: absolute;
+ top: 46px;
+ text-indent: -9000em;
+}
+.friends-picker-navigation-l a, .friends-picker-navigation-r a {
+ display: block;
+ height: 40px;
+ width: 40px;
+}
+.friends-picker-navigation-l {
+ right: 48px;
+ z-index:1;
+}
+.friends-picker-navigation-r {
+ right: 0;
+ z-index:1;
+}
+.friends-picker-navigation-l {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat left top;
+}
+.friends-picker-navigation-r {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat -60px top;
+}
+.friends-picker-navigation-l:hover {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat left -44px;
+}
+.friends-picker-navigation-r:hover {
+ background: url("<?php echo elgg_get_site_url(); ?>_graphics/friendspicker.png") no-repeat -60px -44px;
+}
+.friendspicker-savebuttons .elgg-button-submit,
+.friendspicker-savebuttons .elgg-button-cancel {
+ margin:5px 20px 5px 5px;
+}
+.friendspicker-members-table {
+ background: #dedede;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ margin:10px 0 0;
+ padding:10px 10px 0;
+}
+
+/* ***************************************
+ AUTOCOMPLETE
+*************************************** */
+<?php //autocomplete will expand to fullscreen without max-width ?>
+.ui-autocomplete {
+ position: absolute;
+ cursor: default;
+}
+.elgg-autocomplete-item .elgg-body {
+ max-width: 600px;
+}
+.ui-autocomplete {
+ background-color: white;
+ border: 1px solid #ccc;
+ overflow: hidden;
+
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
+ border-radius: 5px;
+}
+.ui-autocomplete .ui-menu-item {
+ padding: 0px 4px;
+
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.ui-autocomplete .ui-menu-item:hover {
+ background-color: #eee;
}
-.elgg-button-action:hover,
-.elgg-button-action:focus {
- background-position: 0 -15px;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif);
- background-repeat: repeat-x;
- color: #111111;
+.ui-autocomplete a:hover {
text-decoration: none;
- background-color: #cccccc;
- border: 1px solid #999999;
+ color: #4690D6;
}
-/*
-.elgg-button-submit.elgg-state-disabled {
- background-color:#999999;
- border-color:#999999;
- color:#dedede;
+.ui-autocomplete a.ui-state-hover {
+ background-color: #eee;
+ display: block;
+}
+
+/* ***************************************
+ USER PICKER
+*************************************** */
+.elgg-user-picker-list li:first-child {
+ border-top: 1px dotted #ccc;
+ margin-top: 5px;
}
-.elgg-button-submit.elgg-state-disabled:hover {
- background-color:#999999;
- border-color:#999999;
- color:#dedede;
+.elgg-user-picker-list > li {
+ border-bottom: 1px dotted #ccc;
}
-.elgg-button-action {
- margin-left: 10px;
+/* ***************************************
+ DATE PICKER
+**************************************** */
+.ui-datepicker {
+ display: none;
+
+ margin-top: 3px;
+ width: 208px;
+ background-color: white;
+ border: 1px solid #0054A7;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ overflow: hidden;
+
+ -webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.5);
+ box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.5);
}
-input.elgg-button-action,
-a.elgg-button-action {
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- background-color:#cccccc;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif);
- background-repeat: repeat-x;
- background-position: 0 0;
- border:1px solid #999999;
- color:#333333;
- padding:2px 15px 2px 15px;
- margin: 5px 0;
- text-align:center;
- font-weight:bold;
- text-decoration:none;
- text-shadow:0 1px 0 white;
- cursor:pointer;
+.ui-datepicker-inline {
-webkit-box-shadow: none;
-moz-box-shadow: none;
+ box-shadow: none;
}
-input.elgg-button-action:hover,
-a.elgg-button-action:hover,
-input.elgg-button-action:focus,
-a.elgg-button-action:focus {
- background-position:0 -15px;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/button_background.gif);
- background-repeat: repeat-x;
- color:#111111;
- text-decoration: none;
- background-color:#cccccc;
- border:1px solid #999999;
+
+.ui-datepicker-header {
+ position: relative;
+ background: #4690D6;
+ color: white;
+ padding: 2px 0;
+ border-bottom: 1px solid #0054A7;
}
-.elgg-button-action:active {
- background-image:none;
+.ui-datepicker-header a {
+ color: white;
}
-.elgg-button-action.elgg-state-disabled {
- color:#999999;
- padding:2px 7px 2px 7px;
+.ui-datepicker-prev, .ui-datepicker-next {
+ position: absolute;
+ top: 5px;
+ cursor: pointer;
}
-.elgg-button-action.elgg-state-disabled:hover {
- background-position:0 -15px;
- color:#111111;
- border:1px solid #999999;
+.ui-datepicker-prev {
+ left: 6px;
}
-.elgg-button-action.elgg-state-disabled:active {
- background-image:none;
+.ui-datepicker-next {
+ right: 6px;
}
-.elgg-button-action.download {
- padding: 5px 9px 5px 6px;
+.ui-datepicker-title {
+ line-height: 1.8em;
+ margin: 0 30px;
+ text-align: center;
+ font-weight: bold;
}
-.elgg-button-action.download:hover {
-
+.ui-datepicker-calendar {
+ margin: 4px;
}
-.elgg-button-action.download img {
- margin-right:6px;
- position:relative;
- top:5px;
-}
-.elgg-button-action.small {
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- width: auto;
- height:8px;
- padding: 4px;
- font-size: 0.9em;
- line-height: 0.6em;
-}
-.elgg-button-action.small:hover {
- background-color: #4690d6;
- background-image: none;
- border-color: #4690d6;
- color:white;
- text-shadow:0 -1px 0 black;
+.ui-datepicker th {
+ color: #0054A7;
+ border: none;
+ font-weight: bold;
+ padding: 5px 6px;
+ text-align: center;
}
-
-*/
-
-<?php //@todo prefix with elgg- ?>
-/* small round delete button */
-.delete-button {
- width:14px;
- height:14px;
- margin:0;
- float:right;
+.ui-datepicker td {
+ padding: 1px;
}
-.delete-button a {
- display:block;
- cursor: pointer;
- width:14px;
- height:14px;
- background: url("<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png") no-repeat -200px top;
- text-indent: -9000px;
- text-align: left;
+.ui-datepicker td span, .ui-datepicker td a {
+ display: block;
+ padding: 2px;
+ line-height: 1.2em;
+ text-align: right;
+ text-decoration: none;
}
-.delete-button a:hover {
- background-position: -200px -16px;
+.ui-datepicker-calendar .ui-state-default {
+ border: 1px solid #ccc;
+ color: #4690D6;;
+ background: #fafafa;
+}
+.ui-datepicker-calendar .ui-state-hover {
+ border: 1px solid #aaa;
+ color: #0054A7;
+ background: #eee;
+}
+.ui-datepicker-calendar .ui-state-active,
+.ui-datepicker-calendar .ui-state-active.ui-state-hover {
+ font-weight: bold;
+ border: 1px solid #0054A7;
+ color: #0054A7;
+ background: #E4ECF5;
}
diff --git a/views/default/css/elements/grid.php b/views/default/css/elements/grid.php
index 00cd448b9..fdbaf4aca 100644
--- a/views/default/css/elements/grid.php
+++ b/views/default/css/elements/grid.php
@@ -13,14 +13,6 @@
/* ***************************************
GRID
*************************************** */
-.elgg-grid:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
.elgg-col {
float: left;
}
@@ -60,18 +52,3 @@
.elgg-col-5of6 {
width: 83.33%;
}
-.elgg-col-last {
- width: auto;
- float: none;
- display: table-cell;
-}
-.elgg-col-last:after {
- clear: both;
- display: block;
- visibility: hidden;
- overflow: hidden;
- height: 0 !important;
- line-height: 0;
- font-size: xx-large;
- content: " x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";
-}
diff --git a/views/default/css/elements/helpers.php b/views/default/css/elements/helpers.php
index ac13c0efc..e9a9e0a30 100644
--- a/views/default/css/elements/helpers.php
+++ b/views/default/css/elements/helpers.php
@@ -13,14 +13,6 @@
clear: both;
}
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
.hidden {
display: none;
}
@@ -33,27 +25,18 @@
text-align: center;
}
-.right {
- float: right;
+.float {
+ float: left;
}
-.left {
- float: left;
+.float-alt {
+ float: right;
}
.link {
cursor: pointer;
}
-<?php @todo // do we need something like large and small? ?>
-.large {
- font-size: 120%;
-}
-
-.small {
- font-size: 80%;
-}
-
.elgg-discover .elgg-discoverable {
display: none;
}
@@ -62,6 +45,32 @@
display: block;
}
+.elgg-transition:hover {
+ opacity: .7;
+}
+
+/* ***************************************
+ BORDERS AND SEPARATORS
+*************************************** */
+.elgg-border-plain {
+ border: 1px solid #eeeeee;
+}
+.elgg-border-transition {
+ border: 1px solid #eeeeee;
+}
+.elgg-divide-top {
+ border-top: 1px solid #CCCCCC;
+}
+.elgg-divide-bottom {
+ border-bottom: 1px solid #CCCCCC;
+}
+.elgg-divide-left {
+ border-left: 1px solid #CCCCCC;
+}
+.elgg-divide-right {
+ border-right: 1px solid #CCCCCC;
+}
+
/* ***************************************
Spacing (from OOCSS)
*************************************** */
diff --git a/views/default/css/elements/icons.php b/views/default/css/elements/icons.php
index b52503b57..9b12e0a57 100644
--- a/views/default/css/elements/icons.php
+++ b/views/default/css/elements/icons.php
@@ -16,67 +16,267 @@
background: transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat left;
width: 16px;
height: 16px;
- display: block;
- float: left;
margin: 0 2px;
}
-.elgg-icon-settings {
- background-position: -302px -44px;
+.elgg-icon-arrow-left {
+ background-position: 0 -0px;
}
-.elgg-icon-friends {
- background-position: 0 -300px;
- width: 36px;
+.elgg-icon-arrow-right {
+ background-position: 0 -18px;
}
-.elgg-icon-friends:hover {
- background-position: 0 -340px;
+.elgg-icon-arrow-two-head {
+ background-position: 0 -36px;
}
-.elgg-icon-help {
- background-position: -302px -136px;
+.elgg-icon-attention:hover {
+ background-position: 0 -54px;
}
-.elgg-icon-delete {
- background-position: -199px 1px;
+.elgg-icon-attention {
+ background-position: 0 -72px;
+}
+.elgg-icon-calendar {
+ background-position: 0 -90px;
+}
+.elgg-icon-cell-phone {
+ background-position: 0 -108px;
+}
+.elgg-icon-checkmark:hover {
+ background-position: 0 -126px;
+}
+.elgg-icon-checkmark {
+ background-position: 0 -144px;
+}
+.elgg-icon-clip:hover {
+ background-position: 0 -162px;
+}
+.elgg-icon-clip {
+ background-position: 0 -180px;
+}
+.elgg-icon-cursor-drag-arrow {
+ background-position: 0 -198px;
+}
+.elgg-icon-delete-alt:hover {
+ background-position: 0 -216px;
+}
+.elgg-icon-delete-alt {
+ background-position: 0 -234px;
}
.elgg-icon-delete:hover {
- background-position: -199px -15px;
+ background-position: 0 -252px;
}
-.elgg-icon-likes {
- background-position: 0px -101px;
- width: 20px;
- height: 20px;
+.elgg-icon-delete {
+ background-position: 0 -270px;
}
-.elgg-icon-likes:hover {
- background-position: 0px -131px;
+.elgg-icon-download:hover {
+ background-position: 0 -288px;
}
-.elgg-icon-liked {
- background-position: 0px -131px;
- width: 20px;
- height: 20px;
+.elgg-icon-download {
+ background-position: 0 -306px;
}
-.elgg-icon-arrow-s {
- background-position: -146px -56px;
+.elgg-icon-eye {
+ background-position: 0 -324px;
}
-.elgg-icon-arrow-s:hover {
- background-position: -146px -76px;
+.elgg-icon-facebook {
+ background-position: 0 -342px;
}
-.elgg-icon-following {
- background-position: -35px -100px;
- width: 22px;
- height: 20px;
+.elgg-icon-grid:hover {
+ background-position: 0 -360px;
}
-.elgg-icon-rss {
- background-position: -249px 1px;
+.elgg-icon-grid {
+ background-position: 0 -378px;
}
-.elgg-icon-hover-menu {
- background-position: -150px 0;
+.elgg-icon-home:hover {
+ background-position: 0 -396px;
+}
+.elgg-icon-home {
+ background-position: 0 -414px;
}
.elgg-icon-hover-menu:hover {
- background-position: -150px -32px;
+ background-position: 0 -432px;
+}
+.elgg-icon-hover-menu {
+ background-position: 0 -450px;
+}
+.elgg-icon-info:hover {
+ background-position: 0 -468px;
+}
+.elgg-icon-info {
+ background-position: 0 -486px;
+}
+.elgg-icon-link:hover {
+ background-position: 0 -504px;
+}
+.elgg-icon-link {
+ background-position: 0 -522px;
+}
+.elgg-icon-list {
+ background-position: 0 -540px;
+}
+.elgg-icon-lock-closed {
+ background-position: 0 -558px;
+}
+.elgg-icon-lock-open {
+ background-position: 0 -576px;
+}
+.elgg-icon-mail-alt:hover {
+ background-position: 0 -594px;
+}
+.elgg-icon-mail-alt {
+ background-position: 0 -612px;
+}
+.elgg-icon-mail:hover {
+ background-position: 0 -630px;
+}
+.elgg-icon-mail {
+ background-position: 0 -648px;
+}
+.elgg-icon-photo {
+ background-position: 0 -666px;
+}
+.elgg-icon-print-alt {
+ background-position: 0 -684px;
+}
+.elgg-icon-print {
+ background-position: 0 -702px;
+}
+.elgg-icon-push-pin-alt {
+ background-position: 0 -720px;
+}
+.elgg-icon-push-pin {
+ background-position: 0 -738px;
+}
+.elgg-icon-redo {
+ background-position: 0 -756px;
+}
+.elgg-icon-refresh:hover {
+ background-position: 0 -774px;
+}
+.elgg-icon-refresh {
+ background-position: 0 -792px;
+}
+.elgg-icon-round-arrow-left {
+ background-position: 0 -810px;
+}
+.elgg-icon-round-arrow-right {
+ background-position: 0 -828px;
+}
+.elgg-icon-round-checkmark {
+ background-position: 0 -846px;
+}
+.elgg-icon-round-minus {
+ background-position: 0 -864px;
+}
+.elgg-icon-round-plus {
+ background-position: 0 -882px;
}
-.elgg-icon-dragger {
- background-position: -302px -186px;
- width: 21px;
- height: 21px;
+.elgg-icon-rss {
+ background-position: 0 -900px;
+}
+.elgg-icon-search-focus {
+ background-position: 0 -918px;
+}
+.elgg-icon-search {
+ background-position: 0 -936px;
+}
+.elgg-icon-settings-alt:hover {
+ background-position: 0 -954px;
+}
+.elgg-icon-settings-alt {
+ background-position: 0 -972px;
+}
+.elgg-icon-settings {
+ background-position: 0 -990px;
+}
+.elgg-icon-share:hover {
+ background-position: 0 -1008px;
+}
+.elgg-icon-share {
+ background-position: 0 -1026px;
+}
+.elgg-icon-shop-cart:hover {
+ background-position: 0 -1044px;
+}
+.elgg-icon-shop-cart {
+ background-position: 0 -1062px;
+}
+.elgg-icon-speech-bubble-alt:hover {
+ background-position: 0 -1080px;
+}
+.elgg-icon-speech-bubble-alt {
+ background-position: 0 -1098px;
+}
+.elgg-icon-speech-bubble:hover {
+ background-position: 0 -1116px;
+}
+.elgg-icon-speech-bubble {
+ background-position: 0 -1134px;
+}
+.elgg-icon-star-alt {
+ background-position: 0 -1152px;
+}
+.elgg-icon-star-empty:hover {
+ background-position: 0 -1170px;
+}
+.elgg-icon-star-empty {
+ background-position: 0 -1188px;
+}
+.elgg-icon-star:hover {
+ background-position: 0 -1206px;
+}
+.elgg-icon-star {
+ background-position: 0 -1224px;
+}
+.elgg-icon-tag:hover {
+ background-position: 0 -1242px;
}
+.elgg-icon-tag {
+ background-position: 0 -1260px;
+}
+.elgg-icon-thumbs-down-alt:hover {
+ background-position: 0 -1278px;
+}
+.elgg-icon-thumbs-down:hover,
+.elgg-icon-thumbs-down-alt {
+ background-position: 0 -1296px;
+}
+.elgg-icon-thumbs-down {
+ background-position: 0 -1314px;
+}
+.elgg-icon-thumbs-up-alt:hover {
+ background-position: 0 -1332px;
+}
+.elgg-icon-thumbs-up:hover,
+.elgg-icon-thumbs-up-alt {
+ background-position: 0 -1350px;
+}
+.elgg-icon-thumbs-up {
+ background-position: 0 -1368px;
+}
+.elgg-icon-trash {
+ background-position: 0 -1386px;
+}
+.elgg-icon-twitter {
+ background-position: 0 -1404px;
+}
+.elgg-icon-undo {
+ background-position: 0 -1422px;
+}
+.elgg-icon-user:hover {
+ background-position: 0 -1440px;
+}
+.elgg-icon-user {
+ background-position: 0 -1458px;
+}
+.elgg-icon-users:hover {
+ background-position: 0 -1476px;
+}
+.elgg-icon-users {
+ background-position: 0 -1494px;
+}
+.elgg-icon-video {
+ background-position: 0 -1512px;
+}
+
+
.elgg-avatar > .elgg-icon-hover-menu {
display: none;
position: absolute;
@@ -87,12 +287,9 @@
}
.elgg-ajax-loader {
- background-color: white;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/ajax_loader_bw.gif);
- background-repeat: no-repeat;
- background-position: center center;
- min-height: 33px;
- min-width: 33px;
+ background: white url(<?php echo elgg_get_site_url(); ?>_graphics/ajax_loader_bw.gif) no-repeat center center;
+ min-height: 31px;
+ min-width: 31px;
}
/* ***************************************
@@ -100,6 +297,7 @@
*************************************** */
.elgg-avatar {
position: relative;
+ display: inline-block;
}
.elgg-avatar > a > img {
display: block;
@@ -107,28 +305,38 @@
.elgg-avatar-tiny > a > img {
width: 25px;
height: 25px;
+
/* remove the border-radius if you don't want rounded avatars in supported browsers */
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
+ border-radius: 3px;
+
-moz-background-clip: border;
+ background-clip: border;
- -o-background-size: 25px;
-webkit-background-size: 25px;
-khtml-background-size: 25px;
-moz-background-size: 25px;
+ -o-background-size: 25px;
+ background-size: 25px;
}
.elgg-avatar-small > a > img {
width: 40px;
height: 40px;
+
/* remove the border-radius if you don't want rounded avatars in supported browsers */
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
+ border-radius: 5px;
+
-moz-background-clip: border;
+ background-clip: border;
- -o-background-size: 40px;
-webkit-background-size: 40px;
-khtml-background-size: 40px;
-moz-background-size: 40px;
+ -o-background-size: 40px;
+ background-size: 40px;
}
.elgg-avatar-medium > a > img {
width: 100px;
diff --git a/views/default/css/elements/layout.php b/views/default/css/elements/layout.php
new file mode 100644
index 000000000..9d92752b4
--- /dev/null
+++ b/views/default/css/elements/layout.php
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Page Layout
+ *
+ * Contains CSS for the page shell and page layout
+ *
+ * Default layout: 990px wide, centered. Used in default page shell
+ *
+ * @package Elgg.Core
+ * @subpackage UI
+ */
+?>
+
+/* ***************************************
+ PAGE LAYOUT
+*************************************** */
+/***** DEFAULT LAYOUT ******/
+<?php // the width is on the page rather than topbar to handle small viewports ?>
+.elgg-page-default {
+ min-width: 998px;
+}
+.elgg-page-default .elgg-page-header > .elgg-inner {
+ width: 990px;
+ margin: 0 auto;
+ height: 90px;
+}
+.elgg-page-default .elgg-page-body > .elgg-inner {
+ width: 990px;
+ margin: 0 auto;
+}
+.elgg-page-default .elgg-page-footer > .elgg-inner {
+ width: 990px;
+ margin: 0 auto;
+ padding: 5px 0;
+ border-top: 1px solid #DEDEDE;
+}
+
+/***** TOPBAR ******/
+.elgg-page-topbar {
+ background: #333333 url(<?php echo elgg_get_site_url(); ?>_graphics/toptoolbar_background.gif) repeat-x top left;
+ border-bottom: 1px solid #000000;
+ position: relative;
+ height: 24px;
+ z-index: 9000;
+}
+.elgg-page-topbar > .elgg-inner {
+ padding: 0 10px;
+}
+
+/***** PAGE MESSAGES ******/
+.elgg-system-messages {
+ position: fixed;
+ top: 24px;
+ right: 20px;
+ max-width: 500px;
+ z-index: 2000;
+}
+.elgg-system-messages li {
+ margin-top: 10px;
+}
+.elgg-system-messages li p {
+ margin: 0;
+}
+
+/***** PAGE HEADER ******/
+.elgg-page-header {
+ position: relative;
+ background: #4690D6 url(<?php echo elgg_get_site_url(); ?>_graphics/header_shadow.png) repeat-x bottom left;
+}
+.elgg-page-header > .elgg-inner {
+ position: relative;
+}
+
+/***** PAGE BODY LAYOUT ******/
+.elgg-layout {
+ min-height: 360px;
+}
+.elgg-layout-one-sidebar {
+ background: transparent url(<?php echo elgg_get_site_url(); ?>_graphics/sidebar_background.gif) repeat-y right top;
+}
+.elgg-layout-two-sidebar {
+ background: transparent url(<?php echo elgg_get_site_url(); ?>_graphics/two_sidebar_background.gif) repeat-y right top;
+}
+.elgg-layout-error {
+ margin-top: 20px;
+}
+.elgg-sidebar {
+ position: relative;
+ padding: 20px 10px;
+ float: right;
+ width: 210px;
+ margin: 0 0 0 10px;
+}
+.elgg-sidebar-alt {
+ position: relative;
+ padding: 20px 10px;
+ float: left;
+ width: 160px;
+ margin: 0 10px 0 0;
+}
+.elgg-main {
+ position: relative;
+ min-height: 360px;
+ padding: 10px;
+}
+.elgg-main > .elgg-head {
+ padding-bottom: 3px;
+ border-bottom: 1px solid #CCCCCC;
+ margin-bottom: 10px;
+}
+
+/***** PAGE FOOTER ******/
+.elgg-page-footer {
+ position: relative;
+}
+.elgg-page-footer {
+ color: #999;
+}
+.elgg-page-footer a:hover {
+ color: #666;
+}
diff --git a/views/default/css/elements/misc.php b/views/default/css/elements/misc.php
index 5f6d0599c..d9622d34a 100644
--- a/views/default/css/elements/misc.php
+++ b/views/default/css/elements/misc.php
@@ -1,223 +1,25 @@
-<?php
-/**
- *
- */
-
-?>
-
-
-
-
-<?php //@todo needs revamp: elgg-login-form, elgg-register-form? ?>
/* ***************************************
- LOGIN / REGISTER
+ MISC
*************************************** */
#login-dropdown {
position: absolute;
top:10px;
right:0;
- z-index: 9599;
-}
-
-.elgg-button-dropdown {
- padding:3px 6px;
- text-decoration:none;
- display:block;
- font-weight:bold;
- position:relative;
- margin-left:0;
- color: white;
- border:1px solid #71B9F7;
- -webkit-border-radius:4px;
- -moz-border-radius:4px;
- border-radius:4px;
- /*background-image:url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png);
- background-position:-150px -51px;
- background-repeat:no-repeat;*/
+ z-index: 100;
}
-.elgg-button-dropdown:after {
- content: " \25BC ";
- font-size:smaller;
-}
-
-.elgg-button-dropdown:hover {
- background-color:#71B9F7;
- text-decoration:none;
-}
-
-.elgg-button-dropdown.elgg-state-active {
- background: #cccccc;
- outline: none;
- color: #333333;
-
- border:1px solid #cccccc;
- -webkit-border-radius:4px 4px 0 0;
- -moz-border-radius:4px 4px 0 0;
- border-radius:4px 4px 0 0;
-}
-
-<?php //@todo needs revamp ?>
-/* ***************************************
- FRIENDS PICKER
-*************************************** */
-.friends-picker-container h3 {
- font-size:4em !important;
- text-align: left;
- margin:10px 0 20px 0 !important;
- color:#999999 !important;
- background: none !important;
- padding:0 !important;
-}
-.friends-picker .friends-picker-container .panel ul {
- text-align: left;
- margin: 0;
- padding:0;
-}
-.friends-picker-wrapper {
- margin: 0;
- padding:0;
- position: relative;
- width: 100%;
-}
-.friends-picker {
- position: relative;
- overflow: hidden;
- margin: 0;
- padding:0;
- width: 730px;
- height: auto;
-}
-.friendspicker-savebuttons {
- background: white;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- margin:0 10px 10px 10px;
-}
-.friends-picker .friends-picker-container { /* long container used to house end-to-end panels. Width is calculated in JS */
- position: relative;
- left: 0;
- top: 0;
- width: 100%;
- list-style-type: none;
-}
-.friends-picker .friends-picker-container .panel {
- float:left;
- height: 100%;
- position: relative;
- width: 730px;
- margin: 0;
- padding:0;
-}
-.friends-picker .friends-picker-container .panel .wrapper {
- margin: 0;
- padding:4px 10px 10px 10px;
- min-height: 230px;
-}
-.friends-picker-navigation {
- margin: 0 0 10px 0;
- padding:0 0 10px 0;
- border-bottom:1px solid #cccccc;
-}
-.friends-picker-navigation ul {
- list-style: none;
- padding-left: 0;
-}
-.friends-picker-navigation ul li {
- float: left;
- margin:0;
- background:white;
-}
-.friends-picker-navigation a {
- font-weight: bold;
- text-align: center;
- background: white;
- color: #999999;
- text-decoration: none;
- display: block;
- padding: 0;
- width:20px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
-}
-.tabHasContent {
- background: white;
- color:#333333 !important;
-}
-.friends-picker-navigation li a:hover {
- background: #333333;
- color:white !important;
-}
-.friends-picker-navigation li a.current {
- background: #4690D6;
- color:white !important;
-}
-.friends-picker-navigation-l, .friends-picker-navigation-r {
- position: absolute;
- top: 46px;
- text-indent: -9000em;
-}
-.friends-picker-navigation-l a, .friends-picker-navigation-r a {
- display: block;
- height: 43px;
- width: 43px;
-}
-.friends-picker-navigation-l {
- right: 48px;
- z-index:1;
-}
-.friends-picker-navigation-r {
- right: 0;
- z-index:1;
-}
-.friends-picker-navigation-l {
- background: url("<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png") no-repeat left top;
-}
-.friends-picker-navigation-r {
- background: url("<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png") no-repeat -60px top;
-}
-.friends-picker-navigation-l:hover {
- background: url("<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png") no-repeat left -44px;
-}
-.friends-picker-navigation-r:hover {
- background: url("<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png") no-repeat -60px -44px;
-}
-.friendspicker-savebuttons .elgg-button-submit,
-.friendspicker-savebuttons .elgg-button-cancel {
- margin:5px 20px 5px 5px;
-}
-#collectionMembersTable {
- background: #dedede;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- margin:10px 0 0 0;
- padding:10px 10px 0 10px;
-}
-
-
-
-
/* ***************************************
AVATAR UPLOADING & CROPPING
*************************************** */
-#avatar-upload {
- height:145px;
-}
+
#current-user-avatar {
- float:left;
- width:160px;
- height:130px;
- border-right:1px solid #cccccc;
- margin:0 20px 0 0;
+ border-right:1px solid #ccc;
}
#avatar-croppingtool {
- border-top: 1px solid #cccccc;
- margin:20px 0 0 0;
- padding:10px 0 0 0;
+ border-top: 1px solid #ccc;
}
-#user-avatar {
+#user-avatar-cropper {
float: left;
- margin-right: 20px;
}
#user-avatar-preview {
float: left;
@@ -228,19 +30,33 @@
}
/* ***************************************
- MISC
+ FRIENDS COLLECTIONS
*************************************** */
-.user-picker .user-picker-entry {
- clear:both;
- height:25px;
- padding:5px;
- margin-top:5px;
- border-bottom:1px solid #cccccc;
+#friends_collections_accordian li {
+ color: #666;
+}
+#friends_collections_accordian li h2 {
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ background: none repeat scroll 0 0 #4690D6;
+ color: white;
+ cursor: pointer;
+ font-size: 1.2em;
+ margin: 10px 0;
+ padding: 4px 2px 4px 6px;
}
-.user-picker-entry .delete-button {
- margin-right:10px;
+#friends_collections_accordian li h2:hover {
+ background-color: #333;
}
-#dashboard-info .elgg-inner {
- border: 2px solid #dedede;
+#friends_collections_accordian .friends_collections_controls {
+ float: right;
+ font-size: 70%;
+}
+#friends_collections_accordian .friends-picker-main-wrapper {
+ background: none repeat scroll 0 0 white;
+ display: none;
+ padding: 0;
}
diff --git a/views/default/css/elements/modules.php b/views/default/css/elements/modules.php
index 1ed0d0312..a37ae094b 100644
--- a/views/default/css/elements/modules.php
+++ b/views/default/css/elements/modules.php
@@ -2,12 +2,13 @@
Modules
*************************************** */
.elgg-module {
+ overflow: hidden;
margin-bottom: 20px;
}
/* Aside */
.elgg-module-aside .elgg-head {
- border-bottom: 1px solid #CCCCCC;
+ border-bottom: 1px solid #CCC;
margin-bottom: 5px;
padding-bottom: 5px;
@@ -18,17 +19,19 @@
background: #e4e4e4;
padding: 5px;
margin-bottom: 10px;
+
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
+ border-radius: 3px;
}
.elgg-module-info > .elgg-head * {
- color: #333333;
+ color: #333;
}
/* Popup */
.elgg-module-popup {
background-color: white;
- border: 1px solid #cccccc;
+ border: 1px solid #ccc;
z-index: 9999;
margin-bottom: 0;
@@ -51,8 +54,8 @@
/* Dropdown */
.elgg-module-dropdown {
background-color:white;
+ border:5px solid #CCC;
- border:5px solid #CCCCCC;
-webkit-border-radius: 5px 0 5px 5px;
-moz-border-radius: 5px 0 5px 5px;
border-radius: 5px 0 5px 5px;
@@ -60,25 +63,26 @@
display:none;
width: 210px;
- padding:12px;
+ padding: 12px;
margin-right: 0px;
-
z-index:100;
+
-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.45);
-moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.45);
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.45);
position:absolute;
right: 0px;
-
- <?php //@todo cleaner way to do this? ?>
- top: 26px;
+ top: 100%;
}
/* Featured */
.elgg-module-featured {
border: 1px solid #4690D6;
+
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
+ border-radius: 6px;
}
.elgg-module-featured > .elgg-head {
padding: 5px;
@@ -106,7 +110,7 @@
padding: 10px;
margin: 0 5px 15px;
background: #dedede;
- border: 2px solid #cccccc;
+ border: 2px solid #ccc;
}
<?php //@todo location-dependent style: make an extension of elgg-gallery ?>
.elgg-widgets-add-panel li {
@@ -114,7 +118,7 @@
margin: 2px 10px;
width: 200px;
padding: 4px;
- background-color: #cccccc;
+ background-color: #ccc;
border: 2px solid #b0b0b0;
font-weight: bold;
}
@@ -122,17 +126,16 @@
display: block;
}
.elgg-widgets-add-panel .elgg-state-available {
- color: #333333;
+ color: #333;
cursor: pointer;
}
.elgg-widgets-add-panel .elgg-state-available:hover {
background-color: #bcbcbc;
}
.elgg-widgets-add-panel .elgg-state-unavailable {
- color: #888888;
+ color: #888;
}
-<?php //@todo Still too many location-dependent/overly-qualified styles ?>
.elgg-module-widget {
background-color: #dedede;
padding: 2px;
@@ -140,58 +143,47 @@
position: relative;
}
.elgg-module-widget:hover {
- background-color: #cccccc;
+ background-color: #ccc;
}
.elgg-module-widget > .elgg-head {
- background-color: #dedede;
- height: 30px;
- line-height: 30px;
+ background-color: #eeeeee;
+ height: 26px;
overflow: hidden;
}
.elgg-module-widget > .elgg-head h3 {
float: left;
- padding: 0 45px 0 20px;
- color: #333333;
+ padding: 4px 45px 0 20px;
+ color: #666;
}
-.elgg-module-widget.elgg-state-draggable > .elgg-head {
+.elgg-module-widget.elgg-state-draggable .elgg-widget-handle {
cursor: move;
}
-.elgg-module-widget > .elgg-head a {
- position: absolute;
- top: 5px;
- display: block;
- width: 18px;
- height: 18px;
- border: 1px solid transparent;
-}
a.elgg-widget-collapse-button {
- left: 5px;
- background:transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat 0px -385px;
-}
-a.elgg-widget-collapsed {
- background-position: 0px -365px;
+ color: #c5c5c5;
}
-a.elgg-widget-delete-button {
- right: 5px;
- background:transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -198px 3px;
+a.elgg-widget-collapse-button:hover,
+a.elgg-widget-collapsed:hover {
+ color: #9d9d9d;
+ text-decoration: none;
}
-a.elgg-widget-edit-button {
- right: 25px;
- background:transparent url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -300px -1px;
+a.elgg-widget-collapse-button:before {
+ content: "\25BC";
}
-a.elgg-widget-edit-button:hover, a.elgg-widget-delete-button:hover {
- border: 1px solid #cccccc;
+a.elgg-widget-collapsed:before {
+ content: "\25BA";
}
.elgg-module-widget > .elgg-body {
background-color: white;
width: 100%;
overflow: hidden;
+ border-top: 2px solid #dedede;
}
.elgg-widget-edit {
display: none;
width: 96%;
padding: 2%;
border-bottom: 2px solid #dedede;
+ background-color: #f9f9f9;
}
.elgg-widget-content {
padding: 10px;
@@ -199,4 +191,4 @@ a.elgg-widget-edit-button:hover, a.elgg-widget-delete-button:hover {
.elgg-widget-placeholder {
border: 2px dashed #dedede;
margin-bottom: 15px;
-} \ No newline at end of file
+}
diff --git a/views/default/css/elements/navigation.php b/views/default/css/elements/navigation.php
index 0c92f069a..6b29e4c19 100644
--- a/views/default/css/elements/navigation.php
+++ b/views/default/css/elements/navigation.php
@@ -16,14 +16,17 @@
text-align: center;
}
.elgg-pagination li {
- display: inline;
+ display: inline-block;
margin: 0 6px 0 0;
text-align: center;
}
.elgg-pagination a, .elgg-pagination span {
- padding: 2px 6px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
+ border-radius: 4px;
+
+ display: block;
+ padding: 2px 6px;
color: #4690d6;
border: 1px solid #4690d6;
font-size: 12px;
@@ -53,14 +56,14 @@
}
.elgg-tabs li {
float: left;
- border: 2px solid #cccccc;
- border-bottom-width: 0;
- background: #eeeeee;
+ border: 2px solid #ccc;
+ border-bottom: 0;
+ background: #eee;
margin: 0 0 0 10px;
- -moz-border-radius-topleft: 5px;
- -moz-border-radius-topright: 5px;
- -webkit-border-top-left-radius: 5px;
- -webkit-border-top-right-radius: 5px;
+
+ -webkit-border-radius: 5px 5px 0 0;
+ -moz-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
}
.elgg-tabs a {
text-decoration: none;
@@ -68,14 +71,14 @@
padding: 3px 10px 0 10px;
text-align: center;
height: 21px;
- color: #999999;
+ color: #999;
}
.elgg-tabs a:hover {
background: #dedede;
- color:#4690D6;
+ color: #4690D6;
}
.elgg-tabs .elgg-state-selected {
- border-color: #cccccc;
+ border-color: #ccc;
background: white;
}
.elgg-tabs .elgg-state-selected a {
@@ -93,25 +96,23 @@
line-height: 1.2em;
color: #bababa;
}
-.elgg-breadcrumbs li {
- display: inline;
+.elgg-breadcrumbs > li {
+ display: inline-block;
}
-.elgg-breadcrumbs li:after{
+.elgg-breadcrumbs > li:after {
content: "\003E";
- display: inline-block;
- padding: 0 4px 0 4px;
+ padding: 0 4px;
font-weight: normal;
}
-.elgg-breadcrumbs li:last-child:after {
- content: "";
-}
-.elgg-breadcrumbs a {
- color: #999999;
+.elgg-breadcrumbs > li > a {
+ display: inline-block;
+ color: #999;
}
-.elgg-breadcrumbs a:hover {
+.elgg-breadcrumbs > li > a:hover {
color: #0054a7;
text-decoration: underline;
}
+
.elgg-main .elgg-breadcrumbs {
position: relative;
top: -6px;
@@ -119,100 +120,225 @@
}
/* ***************************************
+ TOPBAR MENU
+*************************************** */
+.elgg-menu-topbar {
+ float: left;
+}
+
+.elgg-menu-topbar > li {
+ float: left;
+}
+
+.elgg-menu-topbar > li > a {
+ padding-top: 2px;
+ color: #eee;
+ margin: 1px 15px 0;
+}
+
+.elgg-menu-topbar > li > a:hover {
+ color: #4690D6;
+ text-decoration: none;
+}
+
+.elgg-menu-topbar-alt {
+ float: right;
+}
+
+.elgg-menu-topbar .elgg-icon {
+ vertical-align: middle;
+ margin-top: -1px;
+}
+
+.elgg-menu-topbar > li > a.elgg-topbar-logo {
+ margin-top: 0;
+ padding-left: 5px;
+ width: 38px;
+ height: 20px;
+}
+
+.elgg-menu-topbar > li > a.elgg-topbar-avatar {
+ width: 18px;
+ height: 18px;
+}
+
+/* ***************************************
SITE MENU
*************************************** */
.elgg-menu-site {
+ z-index: 1;
+}
+
+.elgg-menu-site > li > a {
+ font-weight: bold;
+ padding: 3px 13px 0px 13px;
+ height: 20px;
+}
+
+.elgg-menu-site > li > a:hover {
+ text-decoration: none;
+}
+
+.elgg-menu-site-default {
position: absolute;
- height: 23px;
bottom: 0;
left: 0;
- width: auto;
- z-index: 7000;
-}
-.elgg-menu-site li {
- display: block;
- float: left;
height: 23px;
}
-.elgg-menu-site > li {
+
+.elgg-menu-site-default > li {
+ float: left;
margin-right: 1px;
}
-.elgg-menu-site a {
+
+.elgg-menu-site-default > li > a {
color: white;
- font-weight: bold;
- padding: 3px 13px 0px 13px;
- height: 20px;
- display: block;
}
-.elgg-menu-site a:hover {
- text-decoration: none;
+
+.elgg-menu-site > li > ul {
+ display: none;
+ background-color: white;
+}
+
+.elgg-menu-site > li:hover > ul {
+ display: block;
}
-.elgg-menu-site li.elgg-state-selected a,
-.elgg-menu-site li a:hover,
-.elgg-menu-site .elgg-more:hover a {
+
+.elgg-menu-site-default > .elgg-state-selected > a,
+.elgg-menu-site-default > li:hover > a {
background: white;
- color: #555555;
+ color: #555;
+
-webkit-box-shadow: 2px -1px 1px rgba(0, 0, 0, 0.25);
-moz-box-shadow: 2px -1px 1px rgba(0, 0, 0, 0.25);
- -moz-border-radius-topleft: 4px;
- -moz-border-radius-topright: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-top-right-radius: 4px;
-}
-.elgg-menu-site .elgg-more {
- overflow: hidden;
-}
-.elgg-menu-site .elgg-more:hover {
- overflow: visible;
-}
-.elgg-menu-site .elgg-more:hover span {
- background-position: -146px -76px;
+ box-shadow: 2px -1px 1px rgba(0, 0, 0, 0.25);
+
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
}
-.elgg-menu-site .elgg-more ul {
- z-index: 7000;
+
+.elgg-menu-site-more {
+ position: relative;
+ left: -1px;
+ width: 100%;
min-width: 150px;
- border-left: 1px solid #999999;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-bottomright: 4px;
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
+ border: 1px solid #999;
+ border-top: 0;
+
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
+ box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
}
-.elgg-menu-site .elgg-more ul li {
- float: none;
-}
-.elgg-menu-site .elgg-more:hover ul li a {
- background: white;
- color: #555555;
+
+.elgg-menu-site-more > li > a {
+ background-color: white;
+ color: #555;
+
-webkit-border-radius: 0;
-moz-border-radius: 0;
+ border-radius: 0;
+
-webkit-box-shadow: none;
-moz-box-shadow: none;
+ box-shadow: none;
}
-.elgg-menu-site .elgg-more ul li a:hover {
+
+.elgg-menu-site-more > li > a:hover {
background: #4690D6;
color: white;
}
-.elgg-menu-site .elgg-more ul li:last-child a,
-.elgg-menu-site .elgg-more ul li:last-child a:hover {
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-bottomright: 4px;
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
+
+.elgg-menu-site-more > li:last-child > a,
+.elgg-menu-site-more > li:last-child > a:hover {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+
+.elgg-more > a:before {
+ content: "\25BC";
+ font-size: smaller;
+ margin-right: 4px;
+}
+
+/* ***************************************
+ TITLE
+*************************************** */
+.elgg-menu-title {
+ float: right;
+}
+
+.elgg-menu-title > li {
+ display: inline-block;
+ margin-left: 4px;
+}
+
+/* ***************************************
+ FILTER MENU
+*************************************** */
+.elgg-menu-filter {
+ margin-bottom: 5px;
+ border-bottom: 2px solid #ccc;
+ display: table;
+ width: 100%;
+}
+.elgg-menu-filter > li {
+ float: left;
+ border: 2px solid #ccc;
+ border-bottom: 0;
+ background: #eee;
+ margin: 0 0 0 10px;
+
+ -webkit-border-radius: 5px 5px 0 0;
+ -moz-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+}
+.elgg-menu-filter > li:hover {
+ background: #dedede;
+}
+.elgg-menu-filter > li > a {
+ text-decoration: none;
+ display: block;
+ padding: 3px 10px 0;
+ text-align: center;
+ height: 21px;
+ color: #999;
+}
+.elgg-menu-filter > li > a:hover {
+ background: #dedede;
+ color: #4690D6;
+}
+.elgg-menu-filter > .elgg-state-selected {
+ border-color: #ccc;
+ background: white;
+}
+.elgg-menu-filter > .elgg-state-selected > a {
+ position: relative;
+ top: 2px;
+ background: white;
}
/* ***************************************
PAGE MENU
*************************************** */
+.elgg-menu-page {
+ margin-bottom: 15px;
+}
+
.elgg-menu-page a {
display: block;
+
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
+ border-radius: 8px;
+
background-color: white;
- margin: 0 0 3px 0;
+ margin: 0 0 3px;
padding: 2px 4px 2px 8px;
}
.elgg-menu-page a:hover {
@@ -247,17 +373,20 @@
position: absolute;
z-index: 10000;
- width: 165px;
- border-top: solid 1px #E5E5E5;
- border-left: solid 1px #E5E5E5;
- border-right: solid 1px #999999;
- border-bottom: solid 1px #999999;
- background-color: #FFFFFF;
+ overflow: hidden;
+
+ min-width: 165px;
+ max-width: 250px;
+ border: solid 1px;
+ border-color: #E5E5E5 #999 #999 #E5E5E5;
+ background-color: #FFF;
+
-webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
-moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
+ box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50);
}
.elgg-menu-hover > li {
- border-bottom: 1px solid #dddddd;
+ border-bottom: 1px solid #ddd;
}
.elgg-menu-hover > li:last-child {
border-bottom: none;
@@ -266,34 +395,166 @@
display: block;
}
.elgg-menu-hover a {
- display: block;
padding: 2px 8px;
font-size: 92%;
}
.elgg-menu-hover a:hover {
- background: #cccccc;
+ background: #ccc;
text-decoration: none;
}
-.elgg-hover-admin a {
+.elgg-menu-hover-admin a {
color: red;
}
-.elgg-hover-admin a:hover {
+.elgg-menu-hover-admin a:hover {
color: white;
background-color: red;
}
/* ***************************************
- FOOTER
+ SITE FOOTER
*************************************** */
-.elgg-menu-footer li {
+.elgg-menu-footer > li,
+.elgg-menu-footer > li > a {
+ display: inline-block;
+ color: #999;
+}
+
+.elgg-menu-footer > li:after {
+ content: "\007C";
+ padding: 0 4px;
+}
+
+.elgg-menu-footer-default {
+ float: right;
+}
+
+.elgg-menu-footer-alt {
float: left;
}
-.elgg-menu-footer li:after{
+
+/* ***************************************
+ GENERAL MENU
+*************************************** */
+.elgg-menu-general > li,
+.elgg-menu-general > li > a {
+ display: inline-block;
+ color: #999;
+}
+
+.elgg-menu-general > li:after {
content: "\007C";
+ padding: 0 4px;
+}
+
+/* ***************************************
+ ENTITY AND ANNOTATION
+*************************************** */
+<?php // height depends on line height/font size ?>
+.elgg-menu-entity, .elgg-menu-annotation {
+ float: right;
+ margin-left: 15px;
+ font-size: 90%;
+ color: #aaa;
+ line-height: 16px;
+ height: 16px;
+}
+.elgg-menu-entity > li, .elgg-menu-annotation > li {
+ margin-left: 15px;
+}
+.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a {
+ color: #aaa;
+}
+<?php // need to override .elgg-menu-hz ?>
+.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a {
+ display: block;
+}
+.elgg-menu-entity > li > span, .elgg-menu-annotation > li > span {
+ vertical-align: baseline;
+}
+
+/* ***************************************
+ OWNER BLOCK
+*************************************** */
+.elgg-menu-owner-block li a {
+ display: block;
+
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ background-color: white;
+ margin: 3px 0 5px 0;
+ padding: 2px 4px 2px 8px;
+}
+.elgg-menu-owner-block li a:hover {
+ background-color: #0054A7;
+ color: white;
+ text-decoration: none;
+}
+.elgg-menu-owner-block li.elgg-state-selected > a {
+ background-color: #4690D6;
+ color: white;
+}
+
+/* ***************************************
+ LONGTEXT
+*************************************** */
+.elgg-menu-longtext {
+ float: right;
+}
+
+/* ***************************************
+ RIVER
+*************************************** */
+.elgg-menu-river {
+ float: right;
+ margin-left: 15px;
+ font-size: 90%;
+ color: #aaa;
+ line-height: 16px;
+ height: 16px;
+}
+.elgg-menu-river > li {
display: inline-block;
- padding: 0 4px 0 4px;
- font-weight: normal;
+ margin-left: 5px;
+}
+.elgg-menu-river > li > a {
+ color: #aaa;
+ height: 16px;
+}
+<?php // need to override .elgg-menu-hz ?>
+.elgg-menu-river > li > a {
+ display: block;
+}
+.elgg-menu-river > li > span {
+ vertical-align: baseline;
+}
+
+/* ***************************************
+ SIDEBAR EXTRAS (rss, bookmark, etc)
+*************************************** */
+.elgg-menu-extras {
+ margin-bottom: 15px;
+}
+
+/* ***************************************
+ WIDGET MENU
+*************************************** */
+.elgg-menu-widget > li {
+ position: absolute;
+ top: 4px;
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ padding: 2px 2px 0 0;
+}
+
+.elgg-menu-widget > .elgg-menu-item-collapse {
+ left: 5px;
+}
+.elgg-menu-widget > .elgg-menu-item-delete {
+ right: 5px;
}
-.elgg-menu-footer li:last-child:after {
- content: "";
+.elgg-menu-widget > .elgg-menu-item-settings {
+ right: 25px;
}
diff --git a/views/default/css/elements/page_layout.php b/views/default/css/elements/page_layout.php
deleted file mode 100644
index e5de55830..000000000
--- a/views/default/css/elements/page_layout.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-/**
- * Page Layout
- *
- * Contains CSS for the page shell and page layout
- *
- * Classic layout: 990 wide centered. Used in default page shell
- *
- * @package Elgg.Core
- * @subpackage UI
- */
-?>
-
-/* ***************************************
- PAGE LAYOUT
-*************************************** */
-/***** CLASSIC LAYOUT ******/
-.elgg-page-classic .elgg-page-header > .elgg-inner {
- width: 990px;
- margin: 0 auto;
- height: 90px;
-}
-.elgg-page-classic .elgg-page-body > .elgg-inner {
- width: 990px;
- margin: 0 auto;
-}
-.elgg-page-classic .elgg-page-footer > .elgg-inner {
- width: 990px;
- margin: 0 auto;
- padding: 5px 0;
- border-top: 1px solid #DEDEDE;
-}
-
-/***** TOPBAR ******/
-.elgg-page-topbar {
- background: #333333 url(<?php echo elgg_get_site_url(); ?>_graphics/toptoolbar_background.gif) repeat-x top left;
- border-bottom: 1px solid #000000;
- min-width: 998px;
- position: relative;
- height: 24px;
- z-index: 9000;
-}
-.elgg-page-topbar > .elgg-inner {
- padding: 2px 10px 2px 8px;
-}
-<?php //@todo location-dependent styles ?>
-.elgg-page-topbar a {
- color: #eeeeee;
- float: left;
- margin: 2px 30px 0 0;
- line-height: 1.1em;
-}
-.elgg-page-topbar a.elgg-alt {
- float: right;
- margin: 2px 0 0 30px;
-}
-.elgg-page-topbar a:hover {
- color: #71cbff;
- text-decoration: none;
-}
-<?php // elgg logo and user avatar need to be adjusted slightly ?>
-.elgg-page-topbar img {
- margin-top: -1px;
-}
-
-/***** PAGE MESSAGES ******/
-.elgg-system-messages {
- position: fixed;
- top: 24px;
- right: 20px;
- max-width: 500px;
- z-index: 1000;
-}
-.elgg-system-messages li {
- margin-top: 10px;
-}
-.elgg-system-messages li p {
- margin: 0;
-}
-
-/***** PAGE HEADER ******/
-.elgg-page-header {
- position: relative;
- background-color: #4690D6;
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/header_shadow.png);
- background-repeat: repeat-x;
- background-position: bottom left;
-}
-.elgg-page-header > .elgg-inner {
- position: relative;
-}
-.elgg-heading-site, .elgg-heading-site:hover {
- font-size: 2em;
- line-height: 1.4em;
- color: white;
- font-style: italic;
- font-family: Georgia, times, serif;
- text-shadow: 1px 2px 4px #333333;
- text-decoration: none;
-}
-
-/***** PAGE BODY ******/
-.elgg-page-body > .elgg-inner {
- min-height: 360px;
-}
-#elgg-layout-one-column {
- padding: 10px 0;
-}
-#elgg-layout-sidebar {
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/sidebar_background.gif);
- background-repeat: repeat-y;
- background-position: right top;
-}
-#elgg-layout-two-sidebar {
- background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/two_sidebar_background.gif);
- background-repeat: repeat-y;
- background-position: right top;
-}
-.elgg-aside {
- padding: 20px 10px;
- position: relative;
- min-height: 360px;
-}
-.elgg-sidebar {
- float: right;
- width: 210px;
- margin: 0 0 0 10px;
-}
-.elgg-sidebar.elgg-alt {
- float: left;
- width: 160px;
- margin: 0 10px 0 0;
-}
-.elgg-main {
- position: relative;
- min-height: 360px;
- padding: 10px;
-}
-.elgg-main > .elgg-head {
- padding-bottom: 3px;
- border-bottom: 1px solid #CCCCCC;
- margin-bottom: 10px;
-}
-.elgg-heading-main {
- float: left;
- max-width: 530px;
- margin-right: 10px;
-}
-.elgg-main > .elgg-head a {
- float: right;
-}
-
-/***** PAGE FOOTER ******/
-.elgg-page-footer {
- position: relative;
- z-index: 999;
-}
-<?php //@todo location-dependent styles ?>
-.elgg-page-footer a {
- float: left;
-}
-.elgg-page-footer a.elgg-alt {
- float: right;
-}
-.elgg-page-footer .elgg-menu {
- float: left;
- width: 100%;
-}
-.elgg-page-footer, .elgg-page-footer a {
- color: #999999;
-}
-.elgg-page-footer a:hover {
- color: #666666;
-}
diff --git a/views/default/css/elements/reset.php b/views/default/css/elements/reset.php
index 43e756b2e..44bf2fac9 100644
--- a/views/default/css/elements/reset.php
+++ b/views/default/css/elements/reset.php
@@ -30,7 +30,11 @@ table, caption, tbody, tfoot, thead, tr, th, td {
}
body {
background-color: white;
- overflow-y: scroll;
+}
+<?php // force vertical scroll bar ?>
+html, body {
+ height: 100%;
+ margin-bottom: 1px;
}
img {
border-width:0;
diff --git a/views/default/css/elements/typography.php b/views/default/css/elements/typography.php
index c76802231..c044cb1cc 100644
--- a/views/default/css/elements/typography.php
+++ b/views/default/css/elements/typography.php
@@ -13,36 +13,150 @@
body {
font-size: 80%;
line-height: 1.4em;
- font-family: "Lucida Grande",Arial,Tahoma,Verdana,sans-serif;
+ font-family: "Lucida Grande", Arial, Tahoma, Verdana, sans-serif;
}
+
+a {
+ color: #4690D6;
+}
+
+a:hover,
+a.selected { <?php //@todo remove .selected ?>
+ color: #555555;
+ text-decoration: underline;
+}
+
+p {
+ margin-bottom: 15px;
+}
+
+p:last-child {
+ margin-bottom: 0;
+}
+
pre, code {
- font-family: Monaco,"Courier New",Courier,monospace;
+ font-family: Monaco, "Courier New", Courier, monospace;
font-size: 12px;
+
+ background:#EBF5FF;
+ color:#000000;
+ overflow:auto;
+
+ overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
+
+ white-space: pre-wrap;
+ word-wrap: break-word; /* IE 5.5-7 */
+
}
-input, textarea {
- font: 120% Arial, Helvetica, sans-serif;
+
+pre {
+ padding:3px 15px;
+ margin:0px 0 15px 0;
+ line-height:1.3em;
}
+
+code {
+ padding:2px 3px;
+}
+
+.elgg-monospace {
+ font-family: Monaco, "Courier New", Courier, monospace;
+}
+
blockquote {
line-height: 1.3em;
+ padding:3px 15px;
+ margin:0px 0 15px 0;
+ background:#EBF5FF;
+ border:none;
+
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
}
+
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
+ color: #0054A7;
}
+
h1 { font-size: 1.8em; }
-h2 { font-size: 1.5em; line-height: 1.1em; }
+h2 { font-size: 1.5em; line-height: 1.1em; padding-bottom:5px}
h3 { font-size: 1.2em; }
h4 { font-size: 1.0em; }
h5 { font-size: 0.9em; }
h6 { font-size: 0.8em; }
-.elgg-monospace {
- font-family: Monaco,"Courier New",Courier,monospace;
+.elgg-heading-site, .elgg-heading-site:hover {
+ font-size: 2em;
+ line-height: 1.4em;
+ color: white;
+ font-style: italic;
+ font-family: Georgia, times, serif;
+ text-shadow: 1px 2px 4px #333333;
+ text-decoration: none;
}
-<?php //@todo many location-dependent styles are for styling headings. Move those here and make them into non-location-dependent classes ?>
-
+.elgg-heading-main {
+ float: left;
+ max-width: 530px;
+ margin-right: 10px;
+}
.elgg-heading-basic {
color: #0054A7;
font-size: 1.2em;
font-weight: bold;
}
+
+.elgg-subtext {
+ color: #666666;
+ font-size: 85%;
+ line-height: 1.2em;
+ font-style: italic;
+}
+
+.elgg-text-help {
+ display: block;
+ font-size: 85%;
+ font-style: italic;
+}
+
+.elgg-quiet {
+ color: #666;
+}
+
+.elgg-loud {
+ color: #0054A7;
+}
+
+/* ***************************************
+ USER INPUT DISPLAY RESET
+*************************************** */
+.elgg-output {
+ margin-top: 10px;
+}
+
+.elgg-output dt { font-weight: bold }
+.elgg-output dd { margin: 0 0 1em 1em }
+
+.elgg-output ul, .elgg-output ol {
+ margin: 0 1.5em 1.5em 0;
+ padding-left: 1.5em;
+}
+.elgg-output ul {
+ list-style-type: disc;
+}
+.elgg-output ol {
+ list-style-type: decimal;
+}
+.elgg-output table {
+ border: 1px solid #ccc;
+}
+.elgg-output table td {
+ border: 1px solid #ccc;
+ padding: 3px 5px;
+}
+.elgg-output img {
+ max-width: 100%;
+ height: auto;
+}
diff --git a/views/default/css/screen.php b/views/default/css/elgg.php
index 4e2306ce1..4960e6ade 100644
--- a/views/default/css/screen.php
+++ b/views/default/css/elgg.php
@@ -6,9 +6,16 @@
* @subpackage UI
*/
+/*
+ * Colors:
+ * #4690D6 - elgg light blue
+ * #0054A7 - elgg dark blue
+ * #e4ecf5 - elgg very light blue
+ */
+
// check if there is a theme overriding the old css view and use it, if it exists
$old_css_view = elgg_get_view_location('css');
-if ($old_css_view != "{$CONFIG->viewpath}") {
+if ($old_css_view != elgg_get_config('viewpath')) {
echo elgg_view('css', $vars);
return true;
}
@@ -18,12 +25,13 @@ if ($old_css_view != "{$CONFIG->viewpath}") {
Base CSS
* CSS reset
- * helpers
+ * core
+ * helpers (moved to end to have a higher priority)
* grid
*******************************************************************************/
echo elgg_view('css/elements/reset', $vars);
-echo elgg_view('css/elements/helpers', $vars);
+echo elgg_view('css/elements/core', $vars);
echo elgg_view('css/elements/grid', $vars);
@@ -31,26 +39,30 @@ echo elgg_view('css/elements/grid', $vars);
Skin CSS
* typography - fonts, line spacing
- * chrome - general skin
- * forms - form elements, buttons
+ * forms - forms, inputs
+ * buttons - action, cancel, delete, submit, dropdown, special
* navigation - menus, breadcrumbs, pagination
* icons - icons, sprites, graphics
* modules - modules, widgets
* layout_objects - lists, content blocks, notifications, avatars
- * page_layout - page layout
+ * layout - page layout
* misc - to be removed/redone
*******************************************************************************/
echo elgg_view('css/elements/typography', $vars);
-echo elgg_view('css/elements/chrome', $vars);
echo elgg_view('css/elements/forms', $vars);
+echo elgg_view('css/elements/buttons', $vars);
echo elgg_view('css/elements/icons', $vars);
echo elgg_view('css/elements/navigation', $vars);
echo elgg_view('css/elements/modules', $vars);
-echo elgg_view('css/elements/layout_objects', $vars);
-echo elgg_view('css/elements/page_layout', $vars);
+echo elgg_view('css/elements/components', $vars);
+echo elgg_view('css/elements/layout', $vars);
echo elgg_view('css/elements/misc', $vars);
+// included last to have higher priority
+echo elgg_view('css/elements/helpers', $vars);
+
+
// in case plugins are still extending the old 'css' view, display it
echo elgg_view('css', $vars);
diff --git a/views/default/css/ie.php b/views/default/css/ie.php
index 1595d3018..34ececa89 100644
--- a/views/default/css/ie.php
+++ b/views/default/css/ie.php
@@ -1,78 +1,16 @@
/**
- * elgg_layout css for Internet Explorer > ie6
- * @uses $vars['wwwroot'] The site URL
-*/
-* {zoom: 1;} /* trigger hasLayout in IE */
+ * CSS for IE8 and above
+ */
-/* tools drop-down menu */
-#elgg-header {z-index:1;}
-.navigation li a:hover ul {display:block; position:absolute; top:21px; left:0;}
-.navigation li a:hover ul li a {display:block;}
-.navigation li.navigation-more ul li a {width:150px;background-color: #dedede;}
-
-.clearfix { display: block; }
-.hidden.clearfix { display: none; }
-#elgg-page-contents {overflow: hidden;} /* remove horizontal scroll on riverdash */
-#breadcrumbs {top:-2px; margin-bottom: 5px;}
-
-/* entity list views */
-.entity-metadata {max-width: 300px;}
-.entity-edit {float:right;}
-.access_level {float:left;}
-.entity-listing .entity-metadata {
- min-width:400px;
- text-align: right;
+/* ie8 does not like shrink wrapping this div with inline-block */
+.elgg-avatar {
+ display: block;
}
-.likes-list {display:none;}
-.likes-list-holder .likes-list {top:20px !important;} /* position likes list below link in IE to prevent clipping */
-.elgg-likes-user .entity-metadata .delete-button {float:none;}
-
-/* profile */
-.elgg-tabs.profile .profile_name {margin-left: -260px;}
-#profile_content .river_comment_form.hidden .input-text { width:510px; }
-
-/* notifications */
-.friends-picker-navigation {margin:0;padding:0;}
-.friends-picker-container h3 {margin:0;padding:0;line-height: 1em;}
-
-/* private messages */
-#elgg-topbar-contents a.privatemessages.new span {
- display:block;
- padding:1px;
- position:relative;
- text-align:center;
- float:left;
- top:-1px;
- right:auto;
-}
-#elgg-topbar-contents a.privatemessages.new {padding:0 0 0 20px;}
-#elgg-topbar-contents a.privatemessages:hover {background-position:left 2px;}
-#elgg-topbar-contents a.privatemessages.new:hover {background-position: left 2px;}
-
-/* riverdashboard mod rules */
-#riverdashboard_updates {clear:both;}
-#riverdashboard_updates a.update_link {margin:0 0 9px 0;}
-.riverdashboard_filtermenu {margin:10px 0 0 0;}
-.river_comment_form.hidden .input-text {
- width:530px;
- float:left;
-}
-.river_link_divider {
- width:10px;
- text-align: center;
-}
-
-/* shared access */
-.shared_access_collection h2.shared_access_name {margin-top:-15px;}
-
-/* dropdown login */
-*:first-child+html #login-dropdown #signin-button {
- line-height:10px;
+/* ie8 adds space to the top of .elgg-gallery which causes jumpiness if this is display: block; */
+.elgg-gallery .elgg-avatar > a > img {
+ display: inline-block;
}
-*:first-child+html #login-dropdown #signin-button a.signin span {
- background-position:-150px -54px;
+.elgg-gallery .elgg-avatar > .elgg-icon-hover-menu {
+ bottom: 4px;
}
-*:first-child+html #login-dropdown #signin-button a.signin.menu-open span {
- background-position:-150px -74px;
-} \ No newline at end of file
diff --git a/views/default/css/ie6.php b/views/default/css/ie6.php
index d1fdb750c..cf49d33f2 100644
--- a/views/default/css/ie6.php
+++ b/views/default/css/ie6.php
@@ -1,16 +1,12 @@
/**
- * elgg_layout css for Internet Explorer6
- * @uses $vars['wwwroot'] The site URL
-*/
+ * CSS for IE6
+ */
* {zoom: 1;} /* trigger hasLayout in IE */
/* main nav drop-down */
#elgg-header {z-index:1;}
-.navigation li a:hover ul {display:block; position:absolute; top:21px; left:0;}
-.navigation li a:hover ul li a {display:block;}
-.navigation li.navigation-more ul li a {width:150px;background-color: #dedede;}
/* @todo check this one */
-.delete-button a { background-position-y: 2px; }
-.delete-button a:hover { background-position-y: -14px; } \ No newline at end of file
+.elgg-button-delete a { background-position-y: 2px; }
+.elgg-button-delete a:hover { background-position-y: -14px; } \ No newline at end of file
diff --git a/views/default/css/ie7.php b/views/default/css/ie7.php
new file mode 100644
index 000000000..90274797d
--- /dev/null
+++ b/views/default/css/ie7.php
@@ -0,0 +1,75 @@
+/**
+ * CSS for IE7
+ */
+
+/* trigger hasLayout in IE */
+* {
+ zoom: 1;
+}
+
+/* site menu drop-down z-index fix for IE7 */
+.elgg-page-header {
+ z-index: 1;
+}
+
+/* inline-block fixes */
+.elgg-gallery > li,
+.elgg-button,
+.elgg-icon,
+.elgg-menu-hz > li,
+.elgg-menu-hz > li:after,
+.elgg-menu-hz > li > a,
+.elgg-menu-hz > li > span,
+.elgg-breadcrumbs > li,
+.elgg-menu-footer > li > a,
+.elgg-menu-footer li,
+.elgg-menu-general > li > a,
+.elgg-pagination li,
+.elgg-menu-general li {
+ display: inline;
+}
+
+/* IE7 does not support :after */
+.elgg-breadcrumbs > li > a {
+ display: inline;
+ padding-right: 4px;
+ margin-right: 4px;
+ border-right: 1px solid #bababa;
+}
+.elgg-menu-footer li,
+.elgg-menu-user li,
+.elgg-menu-general li {
+ padding-left: 4px;
+ padding-right: 4px;
+}
+
+/* longtext menu would not display horizontally without this */
+.elgg-menu-longtext {
+ width: 100%;
+}
+.elgg-menu-longtext li {
+ width: 100px;
+ float: right;
+}
+
+.elgg-avatar {
+ display: inline;
+}
+
+.elgg-body-walledgarden .elgg-col-1of2 {
+ width: 255px;
+}
+
+.elgg-module-walledgarden > .elgg-head,
+.elgg-module-walledgarden > .elgg-foot {
+ width: 530px;
+}
+
+input, textarea {
+ width: 98%;
+}
+
+.elgg-tag a {
+ /* IE7 had a weird wrapping issue for tags */
+ word-wrap: normal;
+}
diff --git a/views/default/css/lightbox.php b/views/default/css/lightbox.php
new file mode 100644
index 000000000..7d5917cc3
--- /dev/null
+++ b/views/default/css/lightbox.php
@@ -0,0 +1,371 @@
+<?php
+/**
+ * Fancybox lightbox CSS.
+ *
+ * Used as a view because we need to pass a full URL to AlphaImageLoader.
+ *
+ * @package Elgg.Core
+ * @subpackage UI
+ */
+
+$jquery_path = elgg_get_site_url() . 'vendors/jquery/';
+?>
+
+/*
+ * FancyBox - jQuery Plugin
+ * Simple and fancy lightbox alternative
+ *
+ * Examples and documentation at: http://fancybox.net
+ *
+ * Copyright (c) 2008 - 2010 Janis Skarnelis
+ * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
+ *
+ * Version: 1.3.4 (11/11/2010)
+ * Requires: jQuery v1.3+
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ */
+
+#fancybox-loading {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ margin-left: -20px;
+ cursor: pointer;
+ overflow: hidden;
+ z-index: 1104;
+ display: none;
+}
+
+#fancybox-loading div {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 40px;
+ height: 480px;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+}
+
+#fancybox-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: 1100;
+ display: none;
+}
+
+#fancybox-tmp {
+ padding: 0;
+ margin: 0;
+ border: 0;
+ overflow: auto;
+ display: none;
+}
+
+#fancybox-wrap {
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: 20px;
+ z-index: 1101;
+ outline: none;
+ display: none;
+}
+
+#fancybox-outer {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ background: #fff;
+}
+
+#fancybox-content {
+ width: 0;
+ height: 0;
+ padding: 0;
+ outline: none;
+ position: relative;
+ overflow: hidden;
+ z-index: 1102;
+ border: 0px solid #fff;
+}
+
+#fancybox-hide-sel-frame {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: transparent;
+ z-index: 1101;
+}
+
+#fancybox-close {
+ position: absolute;
+ top: -15px;
+ right: -15px;
+ width: 30px;
+ height: 30px;
+ background: transparent url('<?php echo $jquery_path; ?>fancybox/fancybox.png') -40px 0px;
+ cursor: pointer;
+ z-index: 1103;
+ display: none;
+}
+
+#fancybox-error {
+ color: #444;
+ font: normal 12px/20px Arial;
+ padding: 14px;
+ margin: 0;
+}
+
+#fancybox-img {
+ width: 100%;
+ height: 100%;
+ padding: 0;
+ margin: 0;
+ border: none;
+ outline: none;
+ line-height: 0;
+ vertical-align: top;
+}
+
+#fancybox-frame {
+ width: 100%;
+ height: 100%;
+ border: none;
+ display: block;
+}
+
+#fancybox-left, #fancybox-right {
+ position: absolute;
+ bottom: 0px;
+ height: 100%;
+ width: 35%;
+ cursor: pointer;
+ outline: none;
+ background: transparent url('<?php echo $jquery_path; ?>fancybox/blank.gif');
+ z-index: 1102;
+ display: none;
+}
+
+#fancybox-left {
+ left: 0px;
+}
+
+#fancybox-right {
+ right: 0px;
+}
+
+#fancybox-left-ico, #fancybox-right-ico {
+ position: absolute;
+ top: 50%;
+ left: -9999px;
+ width: 30px;
+ height: 30px;
+ margin-top: -15px;
+ cursor: pointer;
+ z-index: 1102;
+ display: block;
+}
+
+#fancybox-left-ico {
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+ background-position: -40px -30px;
+}
+
+#fancybox-right-ico {
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+ background-position: -40px -60px;
+}
+
+#fancybox-left:hover, #fancybox-right:hover {
+ visibility: visible; /* IE6 */
+}
+
+#fancybox-left:hover span {
+ left: 20px;
+}
+
+#fancybox-right:hover span {
+ left: auto;
+ right: 20px;
+}
+
+.fancybox-bg {
+ position: absolute;
+ padding: 0;
+ margin: 0;
+ border: 0;
+ width: 20px;
+ height: 20px;
+ z-index: 1001;
+}
+
+#fancybox-bg-n {
+ top: -20px;
+ left: 0;
+ width: 100%;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox-x.png');
+}
+
+#fancybox-bg-ne {
+ top: -20px;
+ right: -20px;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+ background-position: -40px -162px;
+}
+
+#fancybox-bg-e {
+ top: 0;
+ right: -20px;
+ height: 100%;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox-y.png');
+ background-position: -20px 0px;
+}
+
+#fancybox-bg-se {
+ bottom: -20px;
+ right: -20px;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+ background-position: -40px -182px;
+}
+
+#fancybox-bg-s {
+ bottom: -20px;
+ left: 0;
+ width: 100%;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox-x.png');
+ background-position: 0px -20px;
+}
+
+#fancybox-bg-sw {
+ bottom: -20px;
+ left: -20px;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+ background-position: -40px -142px;
+}
+
+#fancybox-bg-w {
+ top: 0;
+ left: -20px;
+ height: 100%;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox-y.png');
+}
+
+#fancybox-bg-nw {
+ top: -20px;
+ left: -20px;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancybox.png');
+ background-position: -40px -122px;
+}
+
+#fancybox-title {
+ font-family: Helvetica;
+ font-size: 12px;
+ z-index: 1102;
+}
+
+.fancybox-title-inside {
+ padding-bottom: 10px;
+ text-align: center;
+ color: #333;
+ background: #fff;
+ position: relative;
+}
+
+.fancybox-title-outside {
+ padding-top: 10px;
+ color: #fff;
+}
+
+.fancybox-title-over {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ color: #FFF;
+ text-align: left;
+}
+
+#fancybox-title-over {
+ padding: 10px;
+ background-image: url('<?php echo $jquery_path; ?>fancybox/fancy_title_over.png');
+ display: block;
+}
+
+.fancybox-title-float {
+ position: absolute;
+ left: 0;
+ bottom: -20px;
+ height: 32px;
+}
+
+#fancybox-title-float-wrap {
+ border: none;
+ border-collapse: collapse;
+ width: auto;
+}
+
+#fancybox-title-float-wrap td {
+ border: none;
+ white-space: nowrap;
+}
+
+#fancybox-title-float-left {
+ padding: 0 0 0 15px;
+ background: url('<?php echo $jquery_path; ?>fancybox/fancybox.png') -40px -90px no-repeat;
+}
+
+#fancybox-title-float-main {
+ color: #FFF;
+ line-height: 29px;
+ font-weight: bold;
+ padding: 0 0 3px 0;
+ background: url('<?php echo $jquery_path; ?>fancybox/fancybox-x.png') 0px -40px;
+}
+
+#fancybox-title-float-right {
+ padding: 0 0 0 15px;
+ background: url('<?php echo $jquery_path; ?>fancybox/fancybox.png') -55px -90px no-repeat;
+}
+
+/* IE6 */
+
+.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_close.png', sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_nav_left.png', sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_nav_right.png', sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
+.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_title_left.png', sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_title_main.png', sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_title_right.png', sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
+ height: expression(this.parentNode.clientHeight + "px");
+}
+
+#fancybox-loading.fancybox-ie6 {
+ position: absolute; margin-top: 0;
+ top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
+}
+
+#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_loading.png', sizingMethod='scale'); }
+
+/* IE6, IE7, IE8 */
+.fancybox-ie .fancybox-bg { background: transparent !important; }
+
+.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<?php echo $jquery_path; ?>fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } \ No newline at end of file
diff --git a/views/default/css/walled_garden.php b/views/default/css/walled_garden.php
new file mode 100644
index 000000000..f6f7f97dc
--- /dev/null
+++ b/views/default/css/walled_garden.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Walled garden CSS
+ */
+
+$url = elgg_get_site_url();
+
+?>
+.elgg-body-walledgarden {
+ margin: 100px auto 0 auto;
+ position: relative;
+ width: 530px;
+}
+.elgg-module-walledgarden {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+.elgg-module-walledgarden > .elgg-head {
+ height: 17px;
+}
+.elgg-module-walledgarden > .elgg-body {
+ padding: 0 10px;
+}
+.elgg-module-walledgarden > .elgg-foot {
+ height: 17px;
+}
+.elgg-walledgarden-double > .elgg-head {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_top.png) no-repeat left top;
+}
+.elgg-walledgarden-double > .elgg-body {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_middle.png) repeat-y left top;
+}
+.elgg-walledgarden-double > .elgg-foot {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_bottom.png) no-repeat left top;
+}
+.elgg-walledgarden-single > .elgg-head {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/one_column_top.png) no-repeat left top;
+}
+.elgg-walledgarden-single > .elgg-body {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/one_column_middle.png) repeat-y left top;
+}
+.elgg-walledgarden-single > .elgg-foot {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/one_column_bottom.png) no-repeat left top;
+}
+
+.elgg-col > .elgg-inner {
+ margin: 0 0 0 5px;
+}
+.elgg-col:first-child > .elgg-inner {
+ margin: 0 5px 0 0;
+}
+.elgg-col > .elgg-inner {
+ padding: 0 8px;
+}
+
+.elgg-walledgarden-single > .elgg-body {
+ padding: 0 18px;
+}
+
+.elgg-module-walledgarden-login {
+ margin: 0;
+}
+.elgg-body-walledgarden h3 {
+ font-size: 1.5em;
+ line-height: 1.1em;
+ padding-bottom: 5px;
+}
+
+.elgg-heading-walledgarden {
+ margin-top: 60px;
+ line-height: 1.1em;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #666;
+}
+
+a {
+ color: #999;
+} \ No newline at end of file
diff --git a/views/default/errors/404.php b/views/default/errors/404.php
new file mode 100644
index 000000000..8bc35acdd
--- /dev/null
+++ b/views/default/errors/404.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Page not found error
+ */
+
+$message = elgg_echo('error:404');
+
+echo "<h2>$message</h2>";
diff --git a/views/default/errors/default.php b/views/default/errors/default.php
new file mode 100644
index 000000000..a0582eba2
--- /dev/null
+++ b/views/default/errors/default.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * General error
+ */
+
+$message = elgg_echo('error:default');
+
+echo "<h2>$message</h2>";
diff --git a/views/default/export/entity.php b/views/default/export/entity.php
index ccee86718..3064f1288 100644
--- a/views/default/export/entity.php
+++ b/views/default/export/entity.php
@@ -35,7 +35,7 @@ $exportable_values = $entity->getExportableValues();
</div>
<?php if ($metadata) { ?>
-<div id="metadata" class="margin-top">
+<div id="metadata" class="mtm">
<h2><?php echo elgg_echo('metadata'); ?></h2>
<?php
foreach ($metadata as $m) {
@@ -49,7 +49,7 @@ $exportable_values = $entity->getExportableValues();
<?php } ?>
<?php if ($annotations) { ?>
-<div id="annotations" class="margin-top">
+<div id="annotations" class="mtm">
<h2><?php echo elgg_echo('annotations'); ?></h2>
<?php
foreach ($annotations as $a) {
@@ -64,7 +64,7 @@ $exportable_values = $entity->getExportableValues();
<?php } ?>
<?php if ($relationships) { ?>
-<div id="relationship" class="margin-top">
+<div id="relationship" class="mtm">
<h2><?php echo elgg_echo('relationships'); ?></h2>
<?php
foreach ($relationships as $r) {
diff --git a/views/default/forms/account/settings.php b/views/default/forms/account/settings.php
index 824b2280b..3967207ce 100644
--- a/views/default/forms/account/settings.php
+++ b/views/default/forms/account/settings.php
@@ -5,4 +5,6 @@
* This form is extended by Elgg with the views in core/settings/account.
* Plugins can additionally extend it and then register for the
* 'usersettings:save', 'user' plugin hook.
+ *
+ * This view is included by "forms/usersettings/save"
*/
diff --git a/views/default/forms/admin/menu/save.php b/views/default/forms/admin/menu/save.php
index c55ff3367..1a67ffcc4 100644
--- a/views/default/forms/admin/menu/save.php
+++ b/views/default/forms/admin/menu/save.php
@@ -3,6 +3,9 @@
* Form body for setting up site menu
*/
+// @todo Could probably make this number configurable
+$num_featured_items = 6;
+
// get site menu items
$menu = elgg_get_config('menus');
$menu = $menu['site'];
@@ -14,9 +17,9 @@ $featured_menu_names = elgg_get_config('site_featured_menu_names');
$dropdown_values = array();
foreach ($menu_items as $item) {
- $dropdown_values[$item->getName()] = $item->getTitle();
+ $dropdown_values[$item->getName()] = $item->getText();
}
-$dropdown_values[''] = elgg_echo('none');
+$dropdown_values[' '] = elgg_echo('none');
?>
<div class="elgg-module elgg-module-inline">
@@ -29,12 +32,11 @@ echo elgg_view('output/longtext', array(
'value' => elgg_echo("admin:menu_items:description")
));
-// @todo Could probably make this number configurable
-for ($i=0; $i<6; $i++) {
- if (array_key_exists($i, $featured_menu_names)) {
+for ($i=0; $i<$num_featured_items; $i++) {
+ if ($featured_menu_names && array_key_exists($i, $featured_menu_names)) {
$current_value = $featured_menu_names[$i];
} else {
- $current_value = '';
+ $current_value = ' ';
}
echo elgg_view('input/dropdown', array(
@@ -62,7 +64,7 @@ $custom_items = elgg_get_config('site_custom_menu_items');
$name_str = elgg_echo('name');
$url_str = elgg_echo('admin:plugins:label:website');
-echo '<ul class="elgg-simple-list">';
+echo '<ul class="elgg-list elgg-list-simple">';
if (is_array($custom_items)) {
foreach ($custom_items as $title => $url) {
diff --git a/views/default/forms/admin/plugins/change_state.php b/views/default/forms/admin/plugins/change_state.php
new file mode 100644
index 000000000..730c8ff32
--- /dev/null
+++ b/views/default/forms/admin/plugins/change_state.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Activate/deactive all plugins specified by guids array
+ *
+ * @uses $vars['guids'] Array of GUIDs
+ * @uses $vars['action'] 'activate' or 'deactivate'
+ */
+
+$guids = elgg_extract('guids', $vars, array());
+$guids = implode(',', $guids);
+
+echo '<div>';
+echo elgg_view('input/hidden', array(
+ 'name' => 'guids',
+ 'value' => $guids,
+));
+
+echo elgg_view('input/submit', array(
+ 'value' => elgg_echo("admin:plugins:{$vars['action']}_all"),
+ 'class' => 'elgg-button elgg-button-action mrm'
+));
+echo '</div>';
diff --git a/views/default/forms/admin/plugins/filter.php b/views/default/forms/admin/plugins/filter.php
new file mode 100644
index 000000000..fd1b618bc
--- /dev/null
+++ b/views/default/forms/admin/plugins/filter.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Category filter for plugins
+ *
+ * @uses $vars['category']
+ * @uses $vars['category_options']
+ * @uses $vvars['sort']
+ */
+
+echo '<div>';
+echo elgg_view('input/dropdown', array(
+ 'name' => 'category',
+ 'options_values' => $vars['category_options'],
+ 'value' => $vars['category'],
+));
+
+echo elgg_view('input/hidden', array(
+ 'name' => 'sort',
+ 'value' => $vars['sort'],
+));
+
+echo elgg_view('input/submit', array(
+ 'value' => elgg_echo('filter'),
+ 'class' => 'elgg-button elgg-button-action',
+));
+echo '</div>';
diff --git a/views/default/forms/admin/plugins/simple_update_states.php b/views/default/forms/admin/plugins/simple_update_states.php
deleted file mode 100644
index bf9f4e4c1..000000000
--- a/views/default/forms/admin/plugins/simple_update_states.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-/**
- * Elgg administration simple plugin screen
- *
- * Shows an alphabetical list of "simple" plugins.
- *
- * @package Elgg
- * @subpackage Core
- */
-
-elgg_generate_plugin_entities();
-$installed_plugins = elgg_get_plugins('any');
-$plugin_list = array();
-
-foreach ($installed_plugins as $plugin) {
- if (!$plugin->isValid()) {
- continue;
- }
- $interface = $plugin->manifest->getAdminInterface();
- if ($interface == 'simple') {
- $plugin_list[$plugin->manifest->getName()] = $plugin;
- }
-}
-
-ksort($plugin_list);
-
-echo <<<___END
- <ul>
-___END;
-
-$actions_base = '/action/admin/plugins/';
-$ts = time();
-$token = generate_action_token($ts);
-
-foreach ($plugin_list as $name => $plugin) {
- $plugin_guid = $plugin->guid;
- $plugin_id = $plugin->getID();
- $active = $plugin->isActive();
- $can_activate = $plugin->canActivate();
- $author = $plugin->manifest->getAuthor();
- $version = $plugin->manifest->getVersion();
- $website = $plugin->manifest->getWebsite();
- $description = $plugin->manifest->getDescription();
-
- if ($active) {
- $active_class = 'elgg-state-active';
- $checked = 'checked="checked"';
- } else {
- $active_class = 'elgg-state-inactive';
- $checked = '';
- }
-
- if ($can_activate) {
- $disabled = '';
- } else {
- $disabled = 'disabled="disabled"';
- $description .= '<p>' . elgg_echo('admin:plugins:simple:cannot_activate') . '</p>';
- }
-
- $description = elgg_view('output/longtext', array('value' => $description));
-
- $plugin_footer = '<ul class="elgg-menu elgg-menu-footer">';
-
- if ($author) {
- $plugin_footer .= '<li>' . elgg_echo('admin:plugins:author', array($author)) . '</li>';
- }
-
- if ($version) {
- $plugin_footer .= '<li>' . elgg_echo('admin:plugins:version', array($version)) . '</li>';
- }
-
- if ($website) {
- $plugin_footer .= "<li><a href=\"$website\">" . elgg_echo('admin:plugins:plugin_website') . '</a></li>';
- }
-
- if (elgg_view_exists("settings/$plugin_id/edit")) {
- $settings_href = elgg_get_site_url() . "pg/admin/plugin_settings/$plugin_id";
- $plugin_footer .= "<li><a class='plugin_settings link' href='$settings_href'>" . elgg_echo('settings') . "</a></li>";
- }
-
- $plugin_footer .= "</ul>";
-
- echo <<<___END
- <li class="elgg-plugin $active_class">
- <div class="elgg-grid">
- <div class="elgg-col elgg-col-1of5">
- <input type="checkbox" id="$plugin_guid" $checked $disabled name="active_plugin_guids[]" value="$plugin_guid"/>
- <label for="$plugin_guid">$name</label>
- </div>
- <div class="elgg-col elgg-col-4of5">
- $description
- $plugin_footer
- </div>
- </div>
- </li>
-___END;
-}
-
-echo '</ul>';
-echo elgg_view('input/submit', array('value' => elgg_echo('save')));
-echo elgg_view('input/reset', array('value' => elgg_echo('reset')));
diff --git a/views/default/forms/admin/plugins/sort.php b/views/default/forms/admin/plugins/sort.php
new file mode 100644
index 000000000..7f2246bad
--- /dev/null
+++ b/views/default/forms/admin/plugins/sort.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Sort plugins form body
+ *
+ * @uses $vars['sort']
+ * @uses $vars['sort_options']
+ * @uses $vars['category']
+ */
+
+echo '<div class="mtm">';
+echo elgg_view('input/dropdown', array(
+ 'name' => 'sort',
+ 'options_values' => $vars['sort_options'],
+ 'value' => $vars['sort'],
+));
+
+echo elgg_view('input/hidden', array(
+ 'name' => 'category',
+ 'value' => $vars['category'],
+));
+
+echo elgg_view('input/submit', array(
+ 'value' => elgg_echo('sort'),
+ 'class' => 'elgg-button elgg-button-action'
+));
+echo '</div>';
diff --git a/views/default/forms/admin/site/regenerate_secret.php b/views/default/forms/admin/site/regenerate_secret.php
new file mode 100644
index 000000000..af269b801
--- /dev/null
+++ b/views/default/forms/admin/site/regenerate_secret.php
@@ -0,0 +1,24 @@
+<?php
+
+$strength = $vars['strength'];
+
+?>
+<p><?php echo elgg_echo('admin:site:secret:intro'); ?></p>
+
+<table class="elgg-table">
+ <tr>
+ <th><?php echo elgg_echo('site_secret:current_strength'); ?></th>
+ <td class="elgg-strength-<?php echo $strength; ?>">
+ <h4><?php echo elgg_echo("site_secret:strength:$strength"); ?></h4>
+ <div><?php echo elgg_echo("site_secret:strength_msg:$strength"); ?></div>
+ </td>
+ </tr>
+</table>
+
+<div class="elgg-foot">
+ <?php echo elgg_view('input/submit', array(
+ 'value' => elgg_echo('admin:site:secret:regenerate'),
+ 'class' => 'elgg-requires-confirmation elgg-button elgg-button-submit',
+ )); ?>
+ <p class="elgg-text-help mts"><?php echo elgg_echo('admin:site:secret:regenerate:help'); ?></p>
+</div>
diff --git a/views/default/forms/admin/site/update_advanced.php b/views/default/forms/admin/site/update_advanced.php
index d3ae5e250..14b74e4f9 100644
--- a/views/default/forms/admin/site/update_advanced.php
+++ b/views/default/forms/admin/site/update_advanced.php
@@ -4,7 +4,7 @@
*/
$form_body = "";
-foreach (array('wwwroot', 'path', 'dataroot', 'view') as $field) {
+foreach (array('wwwroot', 'path', 'dataroot') as $field) {
$form_body .= "<div>";
$form_body .= elgg_echo('installation:' . $field) . "<br />";
$warning = elgg_echo('installation:warning:' . $field);
@@ -17,28 +17,34 @@ foreach (array('wwwroot', 'path', 'dataroot', 'view') as $field) {
}
$form_body .= "<div>" . elgg_echo('admin:site:access:warning') . "<br />";
-$form_body .= elgg_echo('installation:sitepermissions');
+$form_body .= "<label>" . elgg_echo('installation:sitepermissions') . "</label>";
$form_body .= elgg_view('input/access', array(
+ 'options_values' => array(
+ ACCESS_PRIVATE => elgg_echo("PRIVATE"),
+ ACCESS_FRIENDS => elgg_echo("access:friends:label"),
+ ACCESS_LOGGED_IN => elgg_echo("LOGGED_IN"),
+ ACCESS_PUBLIC => elgg_echo("PUBLIC")
+ ),
'name' => 'default_access',
'value' => elgg_get_config('default_access'),
)) . "</div>";
$form_body .= "<div>" . elgg_echo('installation:allow_user_default_access:description') . "<br />";
$form_body .= elgg_view("input/checkboxes", array(
- 'options' => array(elgg_echo('installation:allow_user_default_access:label')),
+ 'options' => array(elgg_echo('installation:allow_user_default_access:label') => 1),
'name' => 'allow_user_default_access',
- 'value' => (elgg_get_config('allow_user_default_access') ? elgg_echo('installation:allow_user_default_access:label') : ""),
+ 'value' => (elgg_get_config('allow_user_default_access') ? 1 : 0),
)) . "</div>";
$form_body .= "<div>" . elgg_echo('installation:simplecache:description') . "<br />";
$form_body .= elgg_view("input/checkboxes", array(
- 'options' => array(elgg_echo('installation:simplecache:label')),
+ 'options' => array(elgg_echo('installation:simplecache:label') => 1),
'name' => 'simplecache_enabled',
- 'value' => (elgg_get_config('simplecache_enabled') ? elgg_echo('installation:simplecache:label') : ""),
+ 'value' => (elgg_get_config('simplecache_enabled') ? 1 : 0),
)) . "</div>";
-$form_body .= "<div>" . elgg_echo('installation:viewpathcache:description') . "<br />";
+$form_body .= "<div>" . elgg_echo('installation:systemcache:description') . "<br />";
$form_body .= elgg_view("input/checkboxes", array(
- 'options' => array(elgg_echo('installation:viewpathcache:label')),
- 'name' => 'viewpath_cache_enabled',
- 'value' => (elgg_get_config('viewpath_cache_enabled') ? elgg_echo('installation:viewpathcache:label') : ""),
+ 'options' => array(elgg_echo('installation:systemcache:label') => 1),
+ 'name' => 'system_cache_enabled',
+ 'value' => (elgg_get_config('system_cache_enabled') ? 1 : 0),
)) . "</div>";
$debug_options = array('0' => elgg_echo('installation:debug:none'), 'ERROR' => elgg_echo('installation:debug:error'), 'WARNING' => elgg_echo('installation:debug:warning'), 'NOTICE' => elgg_echo('installation:debug:notice'));
@@ -52,9 +58,9 @@ $form_body .= '</div>';
// control new user registration
$options = array(
- 'options' => array(elgg_echo('installation:registration:label')),
+ 'options' => array(elgg_echo('installation:registration:label') => 1),
'name' => 'allow_registration',
- 'value' => elgg_get_config('allow_registration') ? elgg_echo('installation:registration:label') : '',
+ 'value' => elgg_get_config('allow_registration') ? 1 : 0,
);
$form_body .= '<div>' . elgg_echo('installation:registration:description');
$form_body .= '<br />' .elgg_view('input/checkboxes', $options) . '</div>';
@@ -62,28 +68,25 @@ $form_body .= '<br />' .elgg_view('input/checkboxes', $options) . '</div>';
// control walled garden
$walled_garden = elgg_get_config(walled_garden);
$options = array(
- 'options' => array(elgg_echo('installation:walled_garden:label')),
+ 'options' => array(elgg_echo('installation:walled_garden:label') => 1),
'name' => 'walled_garden',
- 'value' => $walled_garden ? elgg_echo('installation:walled_garden:label') : '',
+ 'value' => $walled_garden ? 1 : 0,
);
$form_body .= '<div>' . elgg_echo('installation:walled_garden:description');
$form_body .= '<br />' . elgg_view('input/checkboxes', $options) . '</div>';
$form_body .= "<div>" . elgg_echo('installation:httpslogin') . "<br />";
$form_body .= elgg_view("input/checkboxes", array(
- 'options' => array(elgg_echo('installation:httpslogin:label')),
+ 'options' => array(elgg_echo('installation:httpslogin:label') => 1),
'name' => 'https_login',
- 'value' => (elgg_get_config('https_login') ? elgg_echo('installation:httpslogin:label') : "")
+ 'value' => (elgg_get_config('https_login') ? 1 : 0)
)) . "</div>";
$form_body .= "<div>" . elgg_echo('installation:disableapi') . "<br />";
-$on = elgg_echo('installation:disableapi:label');
$disable_api = elgg_get_config('disable_api');
-if ($disable_api) {
- $on = (disable_api ? "" : elgg_echo('installation:disableapi:label'));
-}
+$on = $disable_api ? 0 : 1;
$form_body .= elgg_view("input/checkboxes", array(
- 'options' => array(elgg_echo('installation:disableapi:label')),
+ 'options' => array(elgg_echo('installation:disableapi:label') => 1),
'name' => 'api',
'value' => $on,
));
@@ -91,8 +94,8 @@ $form_body .= "</div>";
$form_body .= elgg_view('input/hidden', array('name' => 'settings', 'value' => 'go'));
-$form_body .= '<div class="bta">';
+$form_body .= '<div class="elgg-foot">';
$form_body .= elgg_view('input/submit', array('value' => elgg_echo("save")));
$form_body .= '</div>';
-echo $form_body; \ No newline at end of file
+echo $form_body;
diff --git a/views/default/forms/admin/site/update_basic.php b/views/default/forms/admin/site/update_basic.php
index eb4218810..88870bc60 100644
--- a/views/default/forms/admin/site/update_basic.php
+++ b/views/default/forms/admin/site/update_basic.php
@@ -24,7 +24,7 @@ $form_body .= elgg_view("input/dropdown", array(
'options_values' => $languages,
)) . "</div>";
-$form_body .= '<div class="bta">';
+$form_body .= '<div class="elgg-foot">';
$form_body .= elgg_view('input/submit', array('value' => elgg_echo("save")));
$form_body .= '</div>';
diff --git a/views/default/forms/avatar/crop.php b/views/default/forms/avatar/crop.php
index 380a4bb6c..3e798cb27 100644
--- a/views/default/forms/avatar/crop.php
+++ b/views/default/forms/avatar/crop.php
@@ -5,14 +5,29 @@
* @uses $vars['entity']
*/
-$master_image = $vars['entity']->getIcon('master');
+elgg_load_js('jquery.imgareaselect');
+elgg_load_js('elgg.avatar_cropper');
+elgg_load_css('jquery.imgareaselect');
+
+$master_img = elgg_view('output/img', array(
+ 'src' => $vars['entity']->getIconUrl('master'),
+ 'alt' => elgg_echo('avatar'),
+ 'class' => 'mrl',
+ 'id' => 'user-avatar-cropper',
+));
+
+$preview_img = elgg_view('output/img', array(
+ 'src' => $vars['entity']->getIconUrl('master'),
+ 'alt' => elgg_echo('avatar'),
+));
?>
-<div>
- <img id="user-avatar" src="<?php echo $master_image; ?>" alt="<?php echo elgg_echo('avatar'); ?>" />
+<div class="clearfix">
+ <?php echo $master_img; ?>
+ <div id="user-avatar-preview-title"><label><?php echo elgg_echo('avatar:preview'); ?></label></div>
+ <div id="user-avatar-preview"><?php echo $preview_img; ?></div>
</div>
-
-<div class="clearfloat"></div>
+<div class="elgg-foot">
<?php
$coords = array('x1', 'x2', 'y1', 'y2');
foreach ($coords as $coord) {
@@ -24,45 +39,4 @@ echo elgg_view('input/hidden', array('name' => 'guid', 'value' => $vars['entity'
echo elgg_view('input/submit', array('value' => elgg_echo('avatar:create')));
?>
-<!-- grab the required js for icon cropping -->
-<script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery.imgareaselect-0.8.min.js"></script>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
-
- // display a preview of the users cropped section
- function preview(img, selection) {
- // catch for the first click on the image
- if (selection.width == 0 || selection.height == 0) {
- return;
- }
-
- var origWidth = $("#user-avatar").width(); //get the width of the users master photo
- var origHeight = $("#user-avatar").height(); //get the height of the users master photo
- var scaleX = 100 / selection.width;
- var scaleY = 100 / selection.height;
- $('#user-avatar-preview > img').css({
- width: Math.round(scaleX * origWidth) + 'px',
- height: Math.round(scaleY * origHeight) + 'px',
- marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
- marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'
- });
- }
-
- function selectChange(img, selection) {
- // populate the form with the correct coordinates once a user has cropped their image
- $('input[name=x1]').val(selection.x1);
- $('input[name=x2]').val(selection.x2);
- $('input[name=y1]').val(selection.y1);
- $('input[name=y2]').val(selection.y2);
- }
-
- $(document).ready(function() {
- $('<div id="user-avatar-preview"><img src="<?php echo $master_image; ?>" /></div>').insertAfter($('#user-avatar'));
- $('<div id="user-avatar-preview-title"><label><?php echo elgg_echo('avatar:preview'); ?></label></div>').insertBefore($('#user-avatar-preview'));
-
- // this produces the coordinates
- $('#user-avatar').imgAreaSelect({ selectionOpacity: 0, onSelectEnd: selectChange });
- // show the preview
- $('#user-avatar').imgAreaSelect({ aspectRatio: '1:1', onSelectChange: preview });
- });
-</script>
+</div>
diff --git a/views/default/forms/avatar/upload.php b/views/default/forms/avatar/upload.php
index 08db1f7e0..d91e8575e 100644
--- a/views/default/forms/avatar/upload.php
+++ b/views/default/forms/avatar/upload.php
@@ -5,11 +5,12 @@
* @uses $vars['entity']
*/
-echo elgg_view('input/hidden', array('name' => 'guid', 'value' => $vars['entity']->guid));
?>
<div>
<label><?php echo elgg_echo("avatar:upload"); ?></label><br />
<?php echo elgg_view("input/file",array('name' => 'avatar')); ?>
-<br />
+</div>
+<div class="elgg-foot">
+ <?php echo elgg_view('input/hidden', array('name' => 'guid', 'value' => $vars['entity']->guid)); ?>
<?php echo elgg_view('input/submit', array('value' => elgg_echo('upload'))); ?>
</div>
diff --git a/views/default/forms/comments/add.php b/views/default/forms/comments/add.php
index 8a2b89f2d..9acabf3ea 100644
--- a/views/default/forms/comments/add.php
+++ b/views/default/forms/comments/add.php
@@ -4,20 +4,34 @@
*
* @package Elgg
*
- * @uses $vars['entity']
+ * @uses ElggEntity $vars['entity'] The entity to comment on
+ * @uses bool $vars['inline'] Show a single line version of the form?
*/
+
if (isset($vars['entity']) && elgg_is_logged_in()) {
+
+ $inline = elgg_extract('inline', $vars, false);
+
+ if ($inline) {
+ echo elgg_view('input/text', array('name' => 'generic_comment'));
+ echo elgg_view('input/submit', array('value' => elgg_echo('comment')));
+ } else {
?>
-<div class="mbn">
- <label><?php echo elgg_echo("generic_comments:text"); ?></label>
- <?php echo elgg_view('input/longtext', array('name' => 'generic_comment')); ?>
-</div>
+ <div>
+ <label><?php echo elgg_echo("generic_comments:add"); ?></label>
+ <?php echo elgg_view('input/longtext', array('name' => 'generic_comment')); ?>
+ </div>
+ <div class="elgg-foot">
<?php
-
+ echo elgg_view('input/submit', array('value' => elgg_echo("generic_comments:post")));
+?>
+ </div>
+<?php
+ }
+
echo elgg_view('input/hidden', array(
'name' => 'entity_guid',
'value' => $vars['entity']->getGUID()
));
- echo elgg_view('input/submit', array('value' => elgg_echo("generic_comments:post")));
}
diff --git a/views/default/forms/comments/inline.php b/views/default/forms/comments/inline.php
deleted file mode 100644
index 14b8a086d..000000000
--- a/views/default/forms/comments/inline.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * Inline comment form body
- *
- * @uses $vars['entity']
- */
-
-if (isset($vars['entity']) && elgg_is_logged_in()) {
- echo elgg_view('input/text', array('name' => 'generic_comment'));
- echo elgg_view('input/hidden', array(
- 'name' => 'entity_guid',
- 'value' => $vars['entity']->getGUID()
- ));
- echo elgg_view('input/submit', array('value' => elgg_echo('comment')));
-}
diff --git a/views/default/forms/friends/collectionfields.php b/views/default/forms/friends/collectionfields.php
deleted file mode 100644
index 35db3a962..000000000
--- a/views/default/forms/friends/collectionfields.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * Elgg friend collections required hidden fields for js friends picker form
- *
- * @package Elgg
- * @subpackage Core
- */
-
-if (isset($vars['collection'])) {
-?>
-
- <input type="hidden" name="collection_id" value="<?php echo $vars['collection']->id; ?>" />
-
-<?php
-} \ No newline at end of file
diff --git a/views/default/forms/friends/collections/add.php b/views/default/forms/friends/collections/add.php
new file mode 100644
index 000000000..04c87346b
--- /dev/null
+++ b/views/default/forms/friends/collections/add.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Form body for editing or adding a friend collection
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @uses $vars['collection'] Optionally, the collection to edit
+ */
+
+// Set title, form destination
+if (isset($vars['collection'])) {
+ $title = $vars['collection']->name;
+ $highlight = 'default';
+} else {
+ $title = "";
+ $highlight = 'all';
+}
+
+echo "<div class=\"mtm\"><label>" . elgg_echo("friends:collectionname") . "<br/>";
+echo elgg_view("input/text", array(
+ "name" => "collection_name",
+ "value" => $title,
+ ));
+echo "</label></div>";
+
+echo "<div>";
+if ($vars['collection_members']) {
+ echo elgg_echo("friends:collectionfriends") . "<br />";
+ foreach ($vars['collection_members'] as $mem) {
+ echo elgg_view_entity_icon($mem, 'tiny');
+ echo $mem->name;
+ }
+}
+echo "</div>";
+
+echo "<div><label>" . elgg_echo("friends:addfriends") . "</label>";
+echo elgg_view('input/friendspicker', array(
+ 'entities' => $vars['friends'],
+ 'name' => 'friends_collection',
+ 'highlight' => $highlight,
+));
+echo "</div>";
+
+echo '<div class="elgg-foot">';
+if (isset($vars['collection'])) {
+ echo elgg_view('input/hidden', array(
+ 'name' => 'collection_id',
+ 'value' => $vars['collection']->id,
+ ));
+}
+echo elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('save')));
+echo '</div>';
diff --git a/views/default/forms/friends/edit.php b/views/default/forms/friends/edit.php
deleted file mode 100644
index e3bc28cfc..000000000
--- a/views/default/forms/friends/edit.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-/**
- * Elgg friend collections add/edit
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['object'] Optionally, the collection edit
- *
- * @todo FIXME Forms 1.8: views in the forms/ directory should not output the <form> wrapper itself
- */
-
-// var_export($vars['collection'][0]->id);
-
-// Set title, form destination
-if (isset($vars['collection'])) {
- $action = "friends/editcollection";
- $title = $vars['collection'][0]->name;
- $highlight = 'default';
-} else {
- $action = "friends/addcollection";
- $title = "";
- $highlight = 'all';
-}
-
-
-$form_body = "<div class='contentWrapper'><div><label>" . elgg_echo("friends:collectionname") . "<br />" .
- elgg_view("input/text", array(
- "name" => "collection_name",
- "value" => $title,
- )) . "</label></div>";
-
-$form_body .= "<div>";
-
-if($vars['collection_members']){
- $form_body .= elgg_echo("friends:collectionfriends") . "<br />";
- foreach($vars['collection_members'] as $mem){
- $form_body .= elgg_view("profile/icon",array('entity' => $mem, 'size' => 'tiny'));
- $form_body .= $mem->name;
- }
-}
-
-$form_body .= "</div>";
-
-$form_body .= "<div><label>" . elgg_echo("friends:addfriends") . "</label>".
- elgg_view('core/friends/picker',array('entities' => $vars['friends'], 'name' => 'friends_collection', 'highlight' => $highlight)) . "</div>";
-
-$form_body .= "<div>";
-if (isset($vars['collection'])) {
- $form_body .= elgg_view('input/hidden', array('name' => 'collection_id', 'value' => "{$vars['collection'][0]->id}"));
-}
-$form_body .= elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('save')));
-$form_body .= "</div></div>";
-
-echo elgg_view('input/form', array('body' => $form_body, 'action' => "action/$action")); \ No newline at end of file
diff --git a/views/default/forms/login.php b/views/default/forms/login.php
index a4d9e57c6..d2c6e6221 100644
--- a/views/default/forms/login.php
+++ b/views/default/forms/login.php
@@ -9,37 +9,41 @@
<div>
<label><?php echo elgg_echo('loginusername'); ?></label>
- <?php echo elgg_view('input/text', array('name' => 'username')); ?>
+ <?php echo elgg_view('input/text', array(
+ 'name' => 'username',
+ 'class' => 'elgg-autofocus',
+ ));
+ ?>
</div>
<div>
<label><?php echo elgg_echo('password'); ?></label>
<?php echo elgg_view('input/password', array('name' => 'password')); ?>
</div>
-<?php echo elgg_view('login/extend'); ?>
-
-<div>
- <?php echo elgg_view('input/submit', array('value' => elgg_echo('login'))); ?>
+<?php echo elgg_view('login/extend', $vars); ?>
- <label class="right mtm">
+<div class="elgg-foot">
+ <label class="mtm float-alt">
<input type="checkbox" name="persistent" value="true" />
<?php echo elgg_echo('user:persistent'); ?>
</label>
+ <?php echo elgg_view('input/submit', array('value' => elgg_echo('login'))); ?>
+
<?php
- if ($vars['returntoreferer']) {
+ if (isset($vars['returntoreferer'])) {
echo elgg_view('input/hidden', array('name' => 'returntoreferer', 'value' => 'true'));
}
?>
-</div>
-<ul class="elgg-menu elgg-menu-footer">
-<?php
- if (elgg_get_config('allow_registration')) {
- echo '<li><a class="registration_link" href="' . elgg_get_site_url() . 'pg/register/">' . elgg_echo('register') . '</a></li>';
- }
-?>
- <li><a class="forgotten_password_link" href="<?php echo elgg_get_site_url(); ?>pages/account/forgotten_password.php">
- <?php echo elgg_echo('user:password:lost'); ?>
- </a></li>
-</ul> \ No newline at end of file
+ <ul class="elgg-menu elgg-menu-general mtm">
+ <?php
+ if (elgg_get_config('allow_registration')) {
+ echo '<li><a class="registration_link" href="' . elgg_get_site_url() . 'register">' . elgg_echo('register') . '</a></li>';
+ }
+ ?>
+ <li><a class="forgot_link" href="<?php echo elgg_get_site_url(); ?>forgotpassword">
+ <?php echo elgg_echo('user:password:lost'); ?>
+ </a></li>
+ </ul>
+</div>
diff --git a/views/default/forms/members/name_search.php b/views/default/forms/members/name_search.php
index 23e6c066e..5f6b9a4b6 100644
--- a/views/default/forms/members/name_search.php
+++ b/views/default/forms/members/name_search.php
@@ -2,6 +2,7 @@
$params = array(
'name' => 'name',
+ 'class' => 'mbm',
);
echo elgg_view('input/text', $params);
diff --git a/views/default/forms/members/tag_search.php b/views/default/forms/members/tag_search.php
index 7badf8cda..4fe9bb32a 100644
--- a/views/default/forms/members/tag_search.php
+++ b/views/default/forms/members/tag_search.php
@@ -5,6 +5,7 @@
$params = array(
'name' => 'tag',
+ 'class' => 'mbm',
);
echo elgg_view('input/text', $params);
diff --git a/views/default/forms/plugins/settings/save.php b/views/default/forms/plugins/settings/save.php
index 5125f3142..116529905 100644
--- a/views/default/forms/plugins/settings/save.php
+++ b/views/default/forms/plugins/settings/save.php
@@ -1,6 +1,6 @@
<?php
/**
- * Used to show plugin user settings.
+ * Used to show plugin settings for both users and admins.
*
* @package Elgg.Core
* @subpackage Plugins
@@ -17,10 +17,15 @@ if ($type != 'user') {
$type = '';
}
-echo elgg_view("{$type}settings/$plugin_id/edit", $vars);
+if (elgg_view_exists("plugins/$plugin_id/{$type}settings")) {
+ echo elgg_view("plugins/$plugin_id/{$type}settings", $vars);
+} elseif (elgg_view_exists("{$type}settings/$plugin_id/edit")) {
+ elgg_deprecated_notice("{$type}settings/$plugin_id/edit was deprecated in favor of plugins/$plugin_id/{$type}settings", 1.8);
+ echo elgg_view("{$type}settings/$plugin_id/edit", $vars);
+}
-echo "<div>";
+echo '<div class="elgg-foot">';
echo elgg_view('input/hidden', array('name' => 'plugin_id', 'value' => $plugin_id));
echo elgg_view('input/hidden', array('name' => 'user_guid', 'value' => $user_guid));
echo elgg_view('input/submit', array('value' => elgg_echo('save')));
-echo "</div>";
+echo '</div>';
diff --git a/views/default/forms/plugins/usersettings/save.php b/views/default/forms/plugins/usersettings/save.php
index 8532cdfd1..ced88f818 100644
--- a/views/default/forms/plugins/usersettings/save.php
+++ b/views/default/forms/plugins/usersettings/save.php
@@ -1,4 +1,14 @@
<?php
+/**
+ * Plugin user settings
+ *
+ * Calls the plugin admin settings form body with type set to 'user'
+ *
+ * @package Elgg.Core
+ * @subpackage Plugins
+ */
+
$vars['type'] = 'user';
+// Can't use elgg_view_form() because it overrides the $vars['action'] parameter
echo elgg_view('forms/plugins/settings/save', $vars); \ No newline at end of file
diff --git a/views/default/forms/profile/edit.php b/views/default/forms/profile/edit.php
index aaf9ac01e..cb0a37ca4 100644
--- a/views/default/forms/profile/edit.php
+++ b/views/default/forms/profile/edit.php
@@ -13,12 +13,15 @@
</div>
<?php
+$sticky_values = elgg_get_sticky_values('profile:edit');
+
$profile_fields = elgg_get_config('profile_fields');
if (is_array($profile_fields) && count($profile_fields) > 0) {
foreach ($profile_fields as $shortname => $valtype) {
$metadata = elgg_get_metadata(array(
'guid' => $vars['entity']->guid,
- 'metadata_name' => $shortname
+ 'metadata_name' => $shortname,
+ 'limit' => false
));
if ($metadata) {
if (is_array($metadata)) {
@@ -39,6 +42,14 @@ if (is_array($profile_fields) && count($profile_fields) > 0) {
$access_id = ACCESS_DEFAULT;
}
+ // sticky form values take precedence over saved ones
+ if (isset($sticky_values[$shortname])) {
+ $value = $sticky_values[$shortname];
+ }
+ if (isset($sticky_values['accesslevel'][$shortname])) {
+ $access_id = $sticky_values['accesslevel'][$shortname];
+ }
+
?>
<div>
<label><?php echo elgg_echo("profile:{$shortname}") ?></label>
@@ -58,8 +69,11 @@ if (is_array($profile_fields) && count($profile_fields) > 0) {
<?php
}
}
+
+elgg_clear_sticky_form('profile:edit');
+
?>
-<div>
+<div class="elgg-foot">
<?php
echo elgg_view('input/hidden', array('name' => 'guid', 'value' => $vars['entity']->guid));
echo elgg_view('input/submit', array('value' => elgg_echo('save')));
diff --git a/views/default/forms/profile/fields/add.php b/views/default/forms/profile/fields/add.php
index c700cf7f5..2087ec299 100644
--- a/views/default/forms/profile/fields/add.php
+++ b/views/default/forms/profile/fields/add.php
@@ -1,29 +1,29 @@
<?php
/**
- * Elgg profile index
- *
- * @package ElggProfile
+ * Add a new field to the set of custom profile fields
*/
$label_text = elgg_echo('profile:label');
$type_text = elgg_echo('profile:type');
$label_control = elgg_view('input/text', array('name' => 'label'));
-$type_control = elgg_view('input/pulldown', array('name' => 'type', 'options_values' => array(
- 'text' => elgg_echo('text'),
- 'longtext' => elgg_echo('longtext'),
- 'tags' => elgg_echo('tags'),
- 'url' => elgg_echo('url'),
- 'email' => elgg_echo('email')
+$type_control = elgg_view('input/dropdown', array('name' => 'type', 'options_values' => array(
+ 'text' => elgg_echo('profile:field:text'),
+ 'longtext' => elgg_echo('profile:field:longtext'),
+ 'tags' => elgg_echo('profile:field:tags'),
+ 'url' => elgg_echo('profile:field:url'),
+ 'email' => elgg_echo('profile:field:email'),
+ 'location' => elgg_echo('profile:field:location'),
+ 'date' => elgg_echo('profile:field:date'),
)));
$submit_control = elgg_view('input/submit', array('name' => elgg_echo('add'), 'value' => elgg_echo('add')));
$formbody = <<< END
- <p>$label_text: $label_control
- $type_text: $type_control
- $submit_control</p>
+ <div>$label_text: $label_control</div>
+ <div class="elgg-foot">$type_text: $type_control
+ $submit_control</div>
END;
-echo autop(elgg_echo('profile:explainchangefields'));
+echo elgg_autop(elgg_echo('profile:explainchangefields'));
echo $formbody;
diff --git a/views/default/forms/profile/fields/reset.php b/views/default/forms/profile/fields/reset.php
deleted file mode 100644
index deb2d48ef..000000000
--- a/views/default/forms/profile/fields/reset.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-/**
- * Reset profile fields form
- */
-
-$params = array(
- 'value' => elgg_echo('profile:resetdefault'),
- 'class' => 'elgg-button-action elgg-state-disabled',
-);
-echo elgg_view('input/submit', $params);
diff --git a/views/default/forms/register.php b/views/default/forms/register.php
index 8828e89e1..c0ee66f76 100644
--- a/views/default/forms/register.php
+++ b/views/default/forms/register.php
@@ -6,60 +6,75 @@
* @subpackage Core
*/
+elgg_load_js('elgg.register');
+
+$password = $password2 = '';
$username = get_input('u');
$email = get_input('e');
$name = get_input('n');
-$admin_option = false;
-if (elgg_is_admin_logged_in() && isset($vars['show_admin'])) {
- $admin_option = true;
+if (elgg_is_sticky_form('register')) {
+ extract(elgg_get_sticky_values('register'));
+ elgg_clear_sticky_form('register');
}
?>
<div class="mtm">
- <label><?php echo elgg_echo('name'); ?></label>
- <br />
- <?php echo elgg_view('input/text', array('name' => 'name', 'value' => $name)); ?>
+ <label><?php echo elgg_echo('name'); ?></label><br />
+ <?php
+ echo elgg_view('input/text', array(
+ 'name' => 'name',
+ 'value' => $name,
+ 'class' => 'elgg-autofocus',
+ ));
+ ?>
</div>
<div>
- <label><?php echo elgg_echo('email'); ?></label>
- <br />
- <?php echo elgg_view('input/text', array('name' => 'email', 'value' => $email)); ?>
+ <label><?php echo elgg_echo('email'); ?></label><br />
+ <?php
+ echo elgg_view('input/text', array(
+ 'name' => 'email',
+ 'value' => $email,
+ ));
+ ?>
</div>
<div>
- <label><?php echo elgg_echo('username'); ?></label>
- <br />
- <?php echo elgg_view('input/text', array('name' => 'username', 'value' => $username)); ?>
+ <label><?php echo elgg_echo('username'); ?></label><br />
+ <?php
+ echo elgg_view('input/text', array(
+ 'name' => 'username',
+ 'value' => $username,
+ ));
+ ?>
</div>
<div>
- <label><?php echo elgg_echo('password'); ?></label>
- <br />
- <?php echo elgg_view('input/password', array('name' => 'password')); ?>
+ <label><?php echo elgg_echo('password'); ?></label><br />
+ <?php
+ echo elgg_view('input/password', array(
+ 'name' => 'password',
+ 'value' => $password,
+ ));
+ ?>
</div>
<div>
- <label><?php echo elgg_echo('passwordagain'); ?></label>
- <br />
- <?php echo elgg_view('input/password', array('name' => 'password2')); ?>
+ <label><?php echo elgg_echo('passwordagain'); ?></label><br />
+ <?php
+ echo elgg_view('input/password', array(
+ 'name' => 'password2',
+ 'value' => $password2,
+ ));
+ ?>
</div>
<?php
// view to extend to add more fields to the registration form
-echo elgg_view('register/extend');
+echo elgg_view('register/extend', $vars);
// Add captcha hook
-echo elgg_view('input/captcha');
-
-if ($admin_option) {
- echo elgg_view('input/checkboxes', array('name' => "admin", 'options' => array(elgg_echo('admin_option'))));
-}
+echo elgg_view('input/captcha', $vars);
+echo '<div class="elgg-foot">';
echo elgg_view('input/hidden', array('name' => 'friend_guid', 'value' => $vars['friend_guid']));
echo elgg_view('input/hidden', array('name' => 'invitecode', 'value' => $vars['invitecode']));
echo elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('register')));
-?>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
- $(document).ready(function() {
- $('input[name=name]').focus();
- });
-</script> \ No newline at end of file
+echo '</div>';
diff --git a/views/default/forms/user/passwordreset.php b/views/default/forms/user/passwordreset.php
index 7b13f120c..5946fa7c0 100644
--- a/views/default/forms/user/passwordreset.php
+++ b/views/default/forms/user/passwordreset.php
@@ -1,19 +1,20 @@
<?php
+/**
+ * Reset user password form
+ */
-$user = $vars['user'];
-
-echo elgg_echo('user:resetpassword:reset_password_confirm') . "<br />";
+echo elgg_autop(elgg_echo('user:resetpassword:reset_password_confirm'));
echo elgg_view('input/hidden', array(
'name' => 'u',
- 'value' => $user->guid
+ 'value' => $vars['guid'],
));
echo elgg_view('input/hidden', array(
'name' => 'c',
- 'value' => $code
+ 'value' => $vars['code'],
));
echo elgg_view('input/submit', array(
'value' => elgg_echo('resetpassword')
-)); \ No newline at end of file
+));
diff --git a/views/default/forms/user/requestnewpassword.php b/views/default/forms/user/requestnewpassword.php
index f2f276417..c90971eaf 100644
--- a/views/default/forms/user/requestnewpassword.php
+++ b/views/default/forms/user/requestnewpassword.php
@@ -11,16 +11,14 @@
<?php echo elgg_echo('user:password:text'); ?>
</div>
<div>
- <label><?php echo elgg_echo('username'); ?></label>
- <?php echo elgg_view('input/text', array('name' => 'username')); ?>
+ <label><?php echo elgg_echo('loginusername'); ?></label><br />
+ <?php echo elgg_view('input/text', array(
+ 'name' => 'username',
+ 'class' => 'elgg-autofocus',
+ ));
+ ?>
</div>
<?php echo elgg_view('input/captcha'); ?>
-<div>
+<div class="elgg-foot">
<?php echo elgg_view('input/submit', array('value' => elgg_echo('request'))); ?>
</div>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
- $(document).ready(function() {
- $('input[name=username]').focus();
- });
-</script> \ No newline at end of file
diff --git a/views/default/forms/useradd.php b/views/default/forms/useradd.php
index 1119d180f..4f337e4e4 100644
--- a/views/default/forms/useradd.php
+++ b/views/default/forms/useradd.php
@@ -5,39 +5,74 @@
* @package Elgg
* @subpackage Core
*
- * @todo FIXME Forms 1.8: views in the forms/ directory should not be generating the <form> wrapper itself
*/
-$admin_option = false;
-if ((elgg_get_logged_in_user_entity()->isAdmin()) && ($vars['show_admin'])) {
- $admin_option = true;
-}
-
-$form_body = "<div><label>" . elgg_echo('name') . "</label><br />" . elgg_view('input/text' , array('name' => 'name')) . "</div>";
-$form_body .= "<div><label>" . elgg_echo('username') . "</label><br />" . elgg_view('input/text' , array('name' => 'username')) . "</div>";
-$form_body .= "<div><label>" . elgg_echo('email') . "</label><br />" . elgg_view('input/text' , array('name' => 'email')) . "</div>";
-$form_body .= "<div><label>" . elgg_echo('password') . "</label><br />" . elgg_view('input/password' , array('name' => 'password')) . "</div>";
-$form_body .= "<div><label>" . elgg_echo('passwordagain') . "</label><br />" . elgg_view('input/password' , array('name' => 'password2')) . "</div>";
-$form_body .= "<div>";
+$name = $username = $email = $password = $password2 = $admin = '';
-if ($admin_option) {
- $form_body .= elgg_view('input/checkboxes', array('name' => "admin", 'options' => array(elgg_echo('admin_option'))));
- $form_body .= '</div><div>';
+if (elgg_is_sticky_form('useradd')) {
+ extract(elgg_get_sticky_values('useradd'));
+ elgg_clear_sticky_form('useradd');
+ if (is_array($admin)) {
+ $admin = $admin[0];
+ }
}
-$form_body .= elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('register'))) . "</div>";
?>
+<div>
+ <label><?php echo elgg_echo('name');?></label><br />
+ <?php
+ echo elgg_view('input/text', array(
+ 'name' => 'name',
+ 'value' => $name,
+ ));
+ ?>
+</div>
+<div>
+ <label><?php echo elgg_echo('username'); ?></label><br />
+ <?php
+ echo elgg_view('input/text', array(
+ 'name' => 'username',
+ 'value' => $username,
+ ));
+ ?>
+</div>
+<div>
+ <label><?php echo elgg_echo('email'); ?></label><br />
+ <?php
+ echo elgg_view('input/text', array(
+ 'name' => 'email',
+ 'value' => $email,
+ ));
+ ?>
+</div>
+<div>
+ <label><?php echo elgg_echo('password'); ?></label><br />
+ <?php
+ echo elgg_view('input/password', array(
+ 'name' => 'password',
+ 'value' => $password,
+ ));
+ ?>
+</div>
+<div>
+ <label><?php echo elgg_echo('passwordagain'); ?></label><br />
+ <?php
+ echo elgg_view('input/password', array(
+ 'name' => 'password2',
+ 'value' => $password2,
+ ));
+ ?>
+</div>
+<div>
+<?php
+ echo elgg_view('input/checkboxes', array(
+ 'name' => "admin",
+ 'options' => array(elgg_echo('admin_option') => 1),
+ 'value' => $admin,
+ ));
+?>
+</div>
-<div class="elgg-module elgg-module-inline">
- <div class="elgg-head">
- <h3><?php echo elgg_echo('adduser'); ?></h3>
- </div>
- <div class="elgg-body">
- <?php
- echo elgg_view('input/form', array(
- 'action' => "action/useradd",
- 'body' => $form_body,
- ));
- ?>
- </div>
+<div class="elgg-foot">
+ <?php echo elgg_view('input/submit', array('value' => elgg_echo('register'))); ?>
</div> \ No newline at end of file
diff --git a/views/default/forms/usersettings/save.php b/views/default/forms/usersettings/save.php
index 2a240d036..71323083f 100644
--- a/views/default/forms/usersettings/save.php
+++ b/views/default/forms/usersettings/save.php
@@ -1,7 +1,13 @@
<?php
-$form_body = elgg_view("forms/account/settings");
+/**
+ * User account settings.
+ *
+ * Plugins should extend "forms/account/settings" to add to the settings.
+ */
-$form_body .= '<div class="bta">';
+$form_body = elgg_view("forms/account/settings", $vars);
+
+$form_body .= '<div class="elgg-foot">';
$form_body .= elgg_view('input/submit', array('value' => elgg_echo('save')));
$form_body .= '</div>';
diff --git a/views/default/forms/widgets/save.php b/views/default/forms/widgets/save.php
index d16318cd1..6959b2a82 100644
--- a/views/default/forms/widgets/save.php
+++ b/views/default/forms/widgets/save.php
@@ -14,7 +14,7 @@ $custom_form_section = elgg_view($edit_view, array('entity' => $widget));
$access = '';
if ($show_access) {
- $access = elgg_view('input/access', array(
+ $access = elgg_echo('access') . ': ' . elgg_view('input/access', array(
'name' => 'params[access_id]',
'value' => $widget->access_id,
));
@@ -29,11 +29,13 @@ $submit = elgg_view('input/submit', array('value' => elgg_echo('save')));
$body = <<<___END
$custom_form_section
- $access
<div>
+ $access
+ </div>
+ <div class="elgg-foot">
$hidden
$submit
</div>
___END;
-echo $body; \ No newline at end of file
+echo $body;
diff --git a/views/default/graphics/ajax_loader.php b/views/default/graphics/ajax_loader.php
index 77c1fbf4c..d5ce87ea9 100644
--- a/views/default/graphics/ajax_loader.php
+++ b/views/default/graphics/ajax_loader.php
@@ -6,6 +6,7 @@
* @subpackage Core
*
* @uses $vars['id'] CSS id
+ * @uses $vars['class'] Optional additional CSS class
* @uses $vars['hidden'] Begin hidden? (true)
*/
@@ -13,14 +14,18 @@ if (isset($vars['id'])) {
$id = "id=\"{$vars['id']}\"";
}
-$hidden = 'hidden';
-if (isset($vars['hidden']) && $vars['hidden'] == false) {
- $hidden = '';
+$class = 'elgg-ajax-loader';
+if (isset($vars['class'])) {
+ $class = "$class {$vars['class']}";
+}
+
+if (elgg_extract('hidden', $vars, true)) {
+ $class = "$class hidden";
}
$loader = <<< END
-<div class="elgg-ajax-loader $hidden" $id></div>
+<div class="$class" $id></div>
END;
diff --git a/views/default/group/elements/summary.php b/views/default/group/elements/summary.php
new file mode 100644
index 000000000..395ed5292
--- /dev/null
+++ b/views/default/group/elements/summary.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Group summary
+ *
+ * @uses $vars['entity'] ElggEntity
+ * @uses $vars['title'] Title link (optional) false = no title, '' = default
+ * @uses $vars['metadata'] HTML for entity metadata and actions (optional)
+ * @uses $vars['subtitle'] HTML for the subtitle (optional)
+ * @uses $vars['tags'] HTML for the tags (optional)
+ * @uses $vars['content'] HTML for the entity content (optional)
+ */
+
+echo elgg_view('object/elements/summary', $vars);
diff --git a/views/default/group/search/finishblurb.php b/views/default/group/search/finishblurb.php
index a21f95881..ceaeb0ff0 100644
--- a/views/default/group/search/finishblurb.php
+++ b/views/default/group/search/finishblurb.php
@@ -9,7 +9,7 @@ elgg_deprecated_notice('view groups/search/finishblurb was deprecated.', 1.7);
if ($vars['count'] > $vars['threshold']) {
?>
-<div class="contentWrapper"><a href="<?php echo elgg_get_site_url(); ?>pg/search/groups/?tag=<?php echo urlencode($vars['tag']); ?>">
+<div class="contentWrapper"><a href="<?php echo elgg_get_site_url(); ?>search/groups?tag=<?php echo urlencode($vars['tag']); ?>">
<?php
echo elgg_echo("group:search:finishblurb");
?></a>
diff --git a/views/default/icon/default.php b/views/default/icon/default.php
index c5749ba04..7f13a1189 100644
--- a/views/default/icon/default.php
+++ b/views/default/icon/default.php
@@ -5,9 +5,11 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['entity'] The entity the icon represents - uses getIconURL() method
- * @uses $vars['size'] topbar, tiny, small, medium (default), large, master
- * @uses $vars['href'] Optional override for link
+ * @uses $vars['entity'] The entity the icon represents - uses getIconURL() method
+ * @uses $vars['size'] topbar, tiny, small, medium (default), large, master
+ * @uses $vars['href'] Optional override for link
+ * @uses $vars['img_class'] Optional CSS class added to img
+ * @uses $vars['link_class'] Optional CSS class for the link
*/
$entity = $vars['entity'];
@@ -18,25 +20,61 @@ if (!in_array($vars['size'], $sizes)) {
$vars['size'] = "medium";
}
+$class = elgg_extract('img_class', $vars, '');
+
if (isset($entity->name)) {
$title = $entity->name;
} else {
$title = $entity->title;
}
+$title = htmlspecialchars($title, ENT_QUOTES, 'UTF-8', false);
$url = $entity->getURL();
if (isset($vars['href'])) {
$url = $vars['href'];
}
-$img_src = $entity->getIconURL($vars['size']);
-$img = "<img src=\"$img_src\" alt=\"$title\" />";
+$icon_sizes = elgg_get_config('icon_sizes');
+$size = $vars['size'];
+
+if (!isset($vars['width'])) {
+ $vars['width'] = $size != 'master' ? $icon_sizes[$size]['w'] : null;
+}
+if (!isset($vars['height'])) {
+ $vars['height'] = $size != 'master' ? $icon_sizes[$size]['h'] : null;
+}
+
+$img_params = array(
+ 'src' => $entity->getIconURL($vars['size']),
+ 'alt' => $title,
+);
+
+if (!empty($class)) {
+ $img_params['class'] = $class;
+}
+
+if (!empty($vars['width'])) {
+ $img_params['width'] = $vars['width'];
+}
+
+if (!empty($vars['height'])) {
+ $img_params['height'] = $vars['height'];
+}
+
+$img = elgg_view('output/img', $img_params);
if ($url) {
- echo elgg_view('output/url', array(
+ $params = array(
'href' => $url,
'text' => $img,
- ));
+ 'is_trusted' => true,
+ );
+ $class = elgg_extract('link_class', $vars, '');
+ if ($class) {
+ $params['class'] = $class;
+ }
+
+ echo elgg_view('output/url', $params);
} else {
echo $img;
}
diff --git a/views/default/icon/user/default.php b/views/default/icon/user/default.php
index a288358a2..c0b0e7483 100644
--- a/views/default/icon/user/default.php
+++ b/views/default/icon/user/default.php
@@ -5,9 +5,14 @@
* Rounded avatar corners - CSS3 method
* uses avatar as background image so we can clip it with border-radius in supported browsers
*
- * @uses $vars['entity'] The user entity. If none specified, the current user is assumed.
- * @uses $vars['size'] The size - tiny, small, medium or large. (medium)
- * @uses $vars['hover'] Display the hover menu? (true)
+ * @uses $vars['entity'] The user entity. If none specified, the current user is assumed.
+ * @uses $vars['size'] The size - tiny, small, medium or large. (medium)
+ * @uses $vars['use_hover'] Display the hover menu? (true)
+ * @uses $vars['use_link'] Wrap a link around image? (true)
+ * @uses $vars['class'] Optional class added to the .elgg-avatar div
+ * @uses $vars['img_class'] Optional CSS class added to img
+ * @uses $vars['link_class'] Optional CSS class for the link
+ * @uses $vars['href'] Optional override of the link href
*/
$user = elgg_extract('entity', $vars, elgg_get_logged_in_user_entity());
@@ -16,11 +21,18 @@ if (!in_array($size, array('topbar', 'tiny', 'small', 'medium', 'large', 'master
$size = 'medium';
}
+$class = "elgg-avatar elgg-avatar-$size";
+if (isset($vars['class'])) {
+ $class = "$class {$vars['class']}";
+}
+
+$use_link = elgg_extract('use_link', $vars, true);
+
if (!($user instanceof ElggUser)) {
return true;
}
-$name = htmlspecialchars($user->name, ENT_QUOTES, 'UTF-8');
+$name = htmlspecialchars($user->name, ENT_QUOTES, 'UTF-8', false);
$username = $user->username;
$icontime = $user->icontime;
@@ -29,18 +41,40 @@ if (!$icontime) {
}
$js = elgg_extract('js', $vars, '');
+if ($js) {
+ elgg_deprecated_notice("Passing 'js' to icon views is deprecated.", 1.8, 5);
+}
-$hover = elgg_extract('hover', $vars, true);
+$img_class = '';
+if (isset($vars['img_class'])) {
+ $img_class = $vars['img_class'];
+}
+
+$use_hover = elgg_extract('use_hover', $vars, true);
+if (isset($vars['override'])) {
+ elgg_deprecated_notice("Use 'use_hover' rather than 'override' with user avatars", 1.8, 5);
+ $use_hover = false;
+}
+if (isset($vars['hover'])) {
+ // only 1.8.0 was released with 'hover' as the key
+ $use_hover = $vars['hover'];
+}
$spacer_url = elgg_get_site_url() . '_graphics/spacer.gif';
-$icon_url = $user->getIconURL($size);
-$icon = "<img src=\"$spacer_url\" alt=\"$name\" title=\"$name\" $js style=\"background: url($icon_url) no-repeat;\" />";
+$icon_url = elgg_format_url($user->getIconURL($size));
+$icon = elgg_view('output/img', array(
+ 'src' => $spacer_url,
+ 'alt' => $name,
+ 'title' => $name,
+ 'class' => $img_class,
+ 'style' => "background: url($icon_url) no-repeat;",
+));
-$show_menu = $hover && (elgg_is_admin_logged_in() || !$user->isBanned());
+$show_menu = $use_hover && (elgg_is_admin_logged_in() || !$user->isBanned());
?>
-<div class="elgg-avatar elgg-avatar-<?php echo $size; ?>">
+<div class="<?php echo $class; ?>">
<?php
if ($show_menu) {
@@ -49,13 +83,21 @@ if ($show_menu) {
'username' => $username,
'name' => $name,
);
- echo "<span class=\"elgg-icon elgg-icon-hover-menu\"></span>";
+ echo elgg_view_icon('hover-menu');
echo elgg_view_menu('user_hover', $params);
}
-echo elgg_view('output/url', array(
- 'href' => $user->getURL(),
- 'text' => $icon,
-));
+if ($use_link) {
+ $class = elgg_extract('link_class', $vars, '');
+ $url = elgg_extract('href', $vars, $user->getURL());
+ echo elgg_view('output/url', array(
+ 'href' => $url,
+ 'text' => $icon,
+ 'is_trusted' => true,
+ 'class' => $class,
+ ));
+} else {
+ echo "<a>$icon</a>";
+}
?>
</div>
diff --git a/views/default/input/access.php b/views/default/input/access.php
index 7fa2323bf..137eea288 100644
--- a/views/default/input/access.php
+++ b/views/default/input/access.php
@@ -3,21 +3,30 @@
* Elgg access level input
* Displays a dropdown input field
*
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['value'] The current value, if any
- * @uses $vars['options_values']
- * @uses $vars['name'] The name of the input field
+ * @uses $vars['value'] The current value, if any
+ * @uses $vars['options_values'] Array of value => label pairs (overrides default)
+ * @uses $vars['name'] The name of the input field
+ * @uses $vars['entity'] Optional. The entity for this access control (uses access_id)
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-access {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-access";
+}
+
$defaults = array(
- 'class' => 'elgg-input-access',
- 'disabled' => FALSE,
+ 'disabled' => false,
'value' => get_default_access(),
'options_values' => get_write_access_array(),
);
+if (isset($vars['entity'])) {
+ $defaults['value'] = $vars['entity']->access_id;
+ unset($vars['entity']);
+}
+
$vars = array_merge($defaults, $vars);
if ($vars['value'] == ACCESS_DEFAULT) {
@@ -26,4 +35,4 @@ if ($vars['value'] == ACCESS_DEFAULT) {
if (is_array($vars['options_values']) && sizeof($vars['options_values']) > 0) {
echo elgg_view('input/dropdown', $vars);
-} \ No newline at end of file
+}
diff --git a/views/default/input/autocomplete.php b/views/default/input/autocomplete.php
index 1093de2d3..e58eb1ae8 100644
--- a/views/default/input/autocomplete.php
+++ b/views/default/input/autocomplete.php
@@ -7,35 +7,43 @@
*
* @todo This currently only works for ONE AUTOCOMPLETE TEXT FIELD on a page.
*
- * @uses $vars['match_on'] Array | str What to match on. all|array(groups|users|friends|subtype)
+ * @uses $vars['value'] Current value for the text input
+ * @uses $vars['match_on'] Array | str What to match on. all|array(groups|users|friends)
* @uses $vars['match_owner'] Bool. Match only entities that are owned by logged in user.
- *
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-autocomplete {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-autocomplete";
+}
+
$defaults = array(
- 'class' => '',
'value' => '',
+ 'disabled' => false,
);
$vars = array_merge($defaults, $vars);
-$vars['class'] = trim("elgg-input-autocomplete {$vars['class']}");
-
-$ac_url_params = http_build_query(array(
- 'match_on' => $vars['match_on'],
- 'match_owner' => $vars['match_owner'],
-));
+$params = array();
+if (isset($vars['match_on'])) {
+ $params['match_on'] = $vars['match_on'];
+ unset($vars['match_on']);
+}
+if (isset($vars['match_owner'])) {
+ $params['match_owner'] = $vars['match_owner'];
+ unset($vars['match_owner']);
+}
+$ac_url_params = http_build_query($params);
-unset($vars['match_on']);
-unset($vars['match_owner']);
-
-elgg_register_js('js/lib/autocomplete.js', 'autocomplete', 'head');
+elgg_load_js('elgg.autocomplete');
+elgg_load_js('jquery.ui.autocomplete.html');
?>
<script type="text/javascript">
elgg.provide('elgg.autocomplete');
-elgg.autocomplete.url = "<?php elgg_get_site_url() . 'pg/livesearch?' . $ac_url_params; ?>";
+elgg.autocomplete.url = "<?php echo elgg_get_site_url() . 'livesearch?' . $ac_url_params; ?>";
</script>
<input type="text" <?php echo elgg_format_attributes($vars); ?> />
-
diff --git a/views/default/input/button.php b/views/default/input/button.php
index 52a85ace6..9957fdc54 100644
--- a/views/default/input/button.php
+++ b/views/default/input/button.php
@@ -5,12 +5,18 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['src'] Src of an image
+ * @uses $vars['src'] Src of an image
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-button {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-button";
+}
+
$defaults = array(
'type' => 'button',
- 'class' => 'elgg-button-submit',
);
$vars = array_merge($defaults, $vars);
@@ -27,8 +33,8 @@ switch ($vars['type']) {
}
// blank src if trying to access an offsite image. @todo why?
-if (strpos($vars['src'], elgg_get_site_url()) === false) {
+if (isset($vars['src']) && strpos($vars['src'], elgg_get_site_url()) === false) {
$vars['src'] = "";
}
?>
-<input <?php echo elgg_format_attributes($vars); ?> /> \ No newline at end of file
+<input <?php echo elgg_format_attributes($vars); ?> />
diff --git a/views/default/input/calendar.php b/views/default/input/calendar.php
index 553a254ce..52c84ff82 100644
--- a/views/default/input/calendar.php
+++ b/views/default/input/calendar.php
@@ -1,6 +1,6 @@
<?php
-// @deprecated Use datepicker instead.
+// @deprecated Use input/date instead.
-elgg_deprecated_notice('view: input/calendar is deprecated by input/datepicker', 1.8);
+elgg_deprecated_notice('view: input/calendar is deprecated by input/date', 1.8);
echo elgg_view('input/datepicker', $vars); \ No newline at end of file
diff --git a/views/default/input/captcha.php b/views/default/input/captcha.php
index 210e0f50a..1c2e22aaa 100644
--- a/views/default/input/captcha.php
+++ b/views/default/input/captcha.php
@@ -1,6 +1,6 @@
<?php
/**
- * This view provides a hook for third parties to provide captcha behaviour.
+ * This view provides a hook for third parties to provide a CAPTCHA.
*
* @package Elgg
* @subpackage Core
diff --git a/views/default/input/checkbox.php b/views/default/input/checkbox.php
index 898fe8458..3dc75c6c3 100644
--- a/views/default/input/checkbox.php
+++ b/views/default/input/checkbox.php
@@ -10,13 +10,20 @@
* Pass input tag attributes as key value pairs. For a list of allowable
* attributes, see http://www.w3schools.com/tags/tag_input.asp
*
- * @uses mixed $vars['default'] The default value to submit if not checked.
- * Optional, defaults to 0. Set to false for no default.
+ * @uses $vars['default'] The default value to submit if not checked.
+ * Optional, defaults to 0. Set to false for no default.
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-checkbox {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-checkbox";
+}
+
$defaults = array(
- 'class' => 'elgg-input-checkbox',
'default' => 0,
+ 'disabled' => false,
);
$vars = array_merge($defaults, $vars);
@@ -29,5 +36,4 @@ if (isset($vars['name']) && $default !== false) {
}
?>
-
-<input type="checkbox" <?php echo elgg_format_attributes($vars); ?> /> \ No newline at end of file
+<input type="checkbox" <?php echo elgg_format_attributes($vars); ?> />
diff --git a/views/default/input/checkboxes.php b/views/default/input/checkboxes.php
index c78fe4db0..db4b06949 100644
--- a/views/default/input/checkboxes.php
+++ b/views/default/input/checkboxes.php
@@ -15,68 +15,76 @@
* @package Elgg
* @subpackage Core
*
- * @uses string $vars['name'] The name of the input fields
- * (Forced to an array by appending [])
- * @uses array $vars['options'] An array of strings representing the
- * label => option for the each checkbox field
- * @uses string $vars['id'] The id for each input field. Optional.
- * (Only use this with a single value.)
- * @uses string $vars['default'] The default value to send if nothing is checked.
- * Optional, defaults to 0. Set to FALSE for no default.
- * @uses bool $vars['disabled'] Make all input elements disabled. Optional.
- * @uses string $vars['value'] The current value. Optional.
- * @uses string $vars['class'] Additional class of the list. Optional.
- * @uses string $vars['align'] 'horizontal' or 'vertical' Default: 'vertical'
+ * @uses string $vars['name'] The name of the input fields
+ * (Forced to an array by appending [])
+ * @uses array $vars['options'] An array of strings representing the
+ * label => option for the each checkbox field
+ * @uses string $vars['default'] The default value to send if nothing is checked.
+ * Optional, defaults to 0. Set to FALSE for no default.
+ * @uses bool $vars['disabled'] Make all input elements disabled. Optional.
+ * @uses string $vars['value'] The current value. Single value or array. Optional.
+ * @uses string $vars['class'] Additional class of the list. Optional.
+ * @uses string $vars['align'] 'horizontal' or 'vertical' Default: 'vertical'
*
*/
-$additional_class = elgg_extract('class', $vars);
-$align = elgg_extract('align', $vars, 'vertical');
-$value = (isset($vars['value'])) ? $vars['value'] : NULL;
-$value_array = (is_array($value)) ? array_map('elgg_strtolower', $value) : array(elgg_strtolower($value));
-$name = (isset($vars['name'])) ? $vars['name'] : '';
-$options = (isset($vars['options']) && is_array($vars['options'])) ? $vars['options'] : array();
-$default = (isset($vars['default'])) ? $vars['default'] : 0;
+$defaults = array(
+ 'align' => 'vertical',
+ 'value' => array(),
+ 'default' => 0,
+ 'disabled' => false,
+ 'options' => array(),
+ 'name' => '',
+);
-$id = (isset($vars['id'])) ? $vars['id'] : '';
-$disabled = (isset($vars['disabled'])) ? $vars['disabled'] : FALSE;
-$js = (isset($vars['js'])) ? $vars['js'] : '';
+$vars = array_merge($defaults, $vars);
-$class = "elgg-input-checkboxes elgg-$align";
-if ($additional_class) {
- $class = " $additional_class";
+$class = "elgg-input-checkboxes elgg-{$vars['align']}";
+if (isset($vars['class'])) {
+ $class .= " {$vars['class']}";
+ unset($vars['class']);
}
-if ($options && count($options) > 0) {
+$id = '';
+if (isset($vars['id'])) {
+ $id = "id=\"{$vars['id']}\"";
+ unset($vars['id']);
+}
+
+if (is_array($vars['value'])) {
+ $values = array_map('elgg_strtolower', $vars['value']);
+} else {
+ $values = array(elgg_strtolower($vars['value']));
+}
+
+$input_vars = $vars;
+$input_vars['default'] = false;
+if ($vars['name']) {
+ $input_vars['name'] = "{$vars['name']}[]";
+}
+unset($input_vars['align']);
+unset($input_vars['options']);
+
+if (count($vars['options']) > 0) {
// include a default value so if nothing is checked 0 will be passed.
- if ($name && $default !== FALSE) {
- echo "<input type=\"hidden\" name=\"$name\" value=\"$default\" />";
+ if ($vars['name'] && $vars['default'] !== false) {
+ echo "<input type=\"hidden\" name=\"{$vars['name']}\" value=\"{$vars['default']}\" />";
}
- echo "<ul class=\"$class\">";
- foreach ($options as $label => $option) {
+ echo "<ul class=\"$class\" $id>";
+ foreach ($vars['options'] as $label => $value) {
// @deprecated 1.8 Remove in 1.9
if (is_integer($label)) {
elgg_deprecated_notice('$vars[\'options\'] must be an associative array in input/checkboxes', 1.8);
- $label = $option;
+ $label = $value;
}
- $input_vars = array(
- 'checked' => in_array(elgg_strtolower($option), $value_array),
- 'value' => $option,
- 'disabled' => $disabled,
- 'id' => $id,
- 'js' => $js,
- 'default' => false,
- );
-
- if ($name) {
- $input_vars['name'] = "{$name}[]";
- }
+ $input_vars['checked'] = in_array(elgg_strtolower($value), $values);
+ $input_vars['value'] = $value;
$input = elgg_view('input/checkbox', $input_vars);
- echo "<li><label>{$input}{$label}</label></li>";
+ echo "<li><label>$input$label</label></li>";
}
echo '</ul>';
-} \ No newline at end of file
+}
diff --git a/views/default/input/date.php b/views/default/input/date.php
new file mode 100644
index 000000000..828ce5520
--- /dev/null
+++ b/views/default/input/date.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Elgg date input
+ * Displays a text field with a popup date picker.
+ *
+ * The elgg.ui JavaScript library initializes the jQueryUI datepicker based
+ * on the CSS class .elgg-input-date. It uses the ISO 8601 standard for date
+ * representation: yyyy-mm-dd.
+ *
+ * Unix timestamps are supported by setting the 'timestamp' parameter to true.
+ * The date is still displayed to the user in a text format but is submitted as
+ * a unix timestamp in seconds.
+ *
+ * @uses $vars['value'] The current value, if any (as a unix timestamp)
+ * @uses $vars['class'] Additional CSS class
+ * @uses $vars['timestamp'] Store as a Unix timestamp in seconds. Default = false
+ * Note: you cannot use an id with the timestamp option.
+ */
+
+//@todo popup_calendar deprecated in 1.8. Remove in 2.0
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-date popup_calendar {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-date popup_calendar";
+}
+
+$defaults = array(
+ 'value' => '',
+ 'disabled' => false,
+ 'timestamp' => false,
+);
+
+$vars = array_merge($defaults, $vars);
+
+$timestamp = $vars['timestamp'];
+unset($vars['timestamp']);
+
+if ($timestamp) {
+ echo elgg_view('input/hidden', array(
+ 'name' => $vars['name'],
+ 'value' => $vars['value'],
+ ));
+
+ $vars['class'] = "{$vars['class']} elgg-input-timestamp";
+ $vars['id'] = $vars['name'];
+ unset($vars['name']);
+ unset($vars['internalname']);
+}
+
+// convert timestamps to text for display
+if (is_numeric($vars['value'])) {
+ $vars['value'] = gmdate('Y-m-d', $vars['value']);
+}
+
+$attributes = elgg_format_attributes($vars);
+echo "<input type=\"text\" $attributes />";
diff --git a/views/default/input/datepicker.php b/views/default/input/datepicker.php
index 4af54096b..8955e6e53 100644
--- a/views/default/input/datepicker.php
+++ b/views/default/input/datepicker.php
@@ -1,37 +1,6 @@
<?php
/**
- * Elgg datepicker input
- * Displays a text field with a popup date picker.
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
- * @uses $vars['name'] The name of the input field
- *
+ * @deprecated use input/date instead
*/
-
-$cal_name = sanitise_string($vars['name']);
-
-if (isset($vars['class'])) {
- $class = "{$vars['class']} popup_calendar";
-} else {
- $class = 'popup_calendar';
-}
-
-if ($vars['value'] > 86400) {
- //$val = date("F j, Y", $vars['value']);
- $val = date('n/d/Y', $vars['value']);
-} else {
- $val = $vars['value'];
-}
-
-?>
-<input type="text" name="<?php echo $vars['name']; ?>" value="<?php echo $val; ?>" />
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
- $(document).ready(function() {
- $('input[type=text][name=<?php echo $cal_name; ?>]').datepicker();
- });
-</script>
+elgg_deprecated_notice('input/datepicker was deprecated in favor of input/date', 1.8);
+echo elgg_view('input/date', $vars); \ No newline at end of file
diff --git a/views/default/input/dropdown.php b/views/default/input/dropdown.php
index 6fd97d3b5..9f07874f1 100644
--- a/views/default/input/dropdown.php
+++ b/views/default/input/dropdown.php
@@ -3,7 +3,7 @@
* Elgg dropdown input
* Displays a dropdown (select) input field
*
- * NB: Default values of FALSE or NULL will match '' (empty string) and not 0.
+ * @warning Default values of FALSE or NULL will match '' (empty string) but not 0.
*
* @package Elgg
* @subpackage Core
@@ -11,16 +11,27 @@
* @uses $vars['value'] The current value, if any
* @uses $vars['options'] An array of strings representing the options for the dropdown field
* @uses $vars['options_values'] An associative array of "value" => "option"
- * where "value" is an internal name and "option" is
+ * where "value" is the name and "option" is
* the value displayed on the button. Replaces
* $vars['options'] when defined.
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-dropdown {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-dropdown";
+}
+
$defaults = array(
- 'class' => 'elgg-input-dropdown',
- 'disabled' => FALSE,
+ 'disabled' => false,
+ 'value' => '',
+ 'options_values' => array(),
+ 'options' => array(),
);
+$vars = array_merge($defaults, $vars);
+
$options_values = $vars['options_values'];
unset($vars['options_values']);
@@ -30,10 +41,8 @@ unset($vars['options']);
$value = $vars['value'];
unset($vars['value']);
-$attrs = array_merge($defaults, $vars);
-
?>
-<select <?php echo elgg_format_attributes($attrs); ?>>
+<select <?php echo elgg_format_attributes($vars); ?>>
<?php
if ($options_values) {
@@ -47,13 +56,15 @@ if ($options_values) {
echo "<option $option_attrs>$option</option>";
}
} else {
- foreach ($options as $option) {
+ if (is_array($options)) {
+ foreach ($options as $option) {
- $option_attrs = elgg_format_attributes(array(
- 'selected' => (string)$option == (string)$value
- ));
+ $option_attrs = elgg_format_attributes(array(
+ 'selected' => (string)$option == (string)$value
+ ));
- echo "<option $option_attrs>$option</option>";
+ echo "<option $option_attrs>$option</option>";
+ }
}
}
?>
diff --git a/views/default/input/email.php b/views/default/input/email.php
index a6097143a..190fb88c6 100644
--- a/views/default/input/email.php
+++ b/views/default/input/email.php
@@ -5,11 +5,18 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-email {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-email";
+}
+
$defaults = array(
- 'class' => 'elgg-input-email',
- 'disabled' => FALSE,
+ 'disabled' => false,
);
$vars = array_merge($defaults, $vars);
diff --git a/views/default/input/file.php b/views/default/input/file.php
index 4c42042e8..452fe72b9 100644
--- a/views/default/input/file.php
+++ b/views/default/input/file.php
@@ -7,20 +7,25 @@
* @subpackage Core
*
* @uses $vars['value'] The current value if any
- *
+ * @uses $vars['class'] Additional CSS class
*/
if (!empty($vars['value'])) {
echo elgg_echo('fileexists') . "<br />";
}
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-file {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-file";
+}
+
$defaults = array(
- 'class' => 'elgg-input-file',
- 'disabled' => FALSE,
- 'size' => 30,
+ 'disabled' => false,
+ 'size' => 30,
);
$attrs = array_merge($defaults, $vars);
?>
-<input type="file" <?php echo elgg_format_attributes($attrs)?> /> \ No newline at end of file
+<input type="file" <?php echo elgg_format_attributes($attrs); ?> />
diff --git a/views/default/input/form.php b/views/default/input/form.php
index 6d5824cd8..df30133b3 100644
--- a/views/default/input/form.php
+++ b/views/default/input/form.php
@@ -1,14 +1,17 @@
<?php
/**
* Create a form for data submission.
- * Use this view for forms rather than creating a form tag in the wild as it provides
- * extra security which help prevent CSRF attacks.
+ * Use this view for forms as it provides protection against CSRF attacks.
*
* @package Elgg
* @subpackage Core
*
* @uses $vars['body'] The body of the form (made up of other input/xxx views and html
+ * @uses $vars['action'] The action URL of the form
+ * @uses $vars['method'] The submit method: post (default) or get
+ * @uses $vars['enctype'] Set to 'multipart/form-data' if uploading a file
* @uses $vars['disable_security'] turn off CSRF security by setting to true
+ * @uses $vars['class'] Additional class for the form
*/
$defaults = array(
@@ -18,6 +21,12 @@ $defaults = array(
$vars = array_merge($defaults, $vars);
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-form {$vars['class']}";
+} else {
+ $vars['class'] = 'elgg-form';
+}
+
$vars['action'] = elgg_normalize_url($vars['action']);
$vars['method'] = strtolower($vars['method']);
@@ -32,4 +41,4 @@ unset($vars['disable_security']);
$attributes = elgg_format_attributes($vars);
-echo "<form $attributes><fieldset>$body</fieldset></form>"; \ No newline at end of file
+echo "<form $attributes><fieldset>$body</fieldset></form>";
diff --git a/views/default/core/friends/picker.php b/views/default/input/friendspicker.php
index c17a484f3..40708c890 100644
--- a/views/default/core/friends/picker.php
+++ b/views/default/input/friendspicker.php
@@ -3,17 +3,21 @@
* Elgg friends picker
* Lists the friends picker
*
+ * @warning Below is the ugliest code in Elgg. It needs to be rewritten or removed
+ *
* @package Elgg
* @subpackage Core
*
* @uses $vars['entities'] The array of ElggUser objects
+ * @uses $vars['name']
+ * @uses $vars['value']
+ * @uses $vars['highlight']
+ * @uses $vars['callback']
*/
-$base = elgg_get_site_url();
-$viewtype = elgg_get_viewtype();
-elgg_register_js("{$base}vendors/jquery/jquery.easing.1.3.packed.js", 'jquery.easing');
-$url = elgg_get_simplecache_url('js', 'friendsPickerv1');
-elgg_register_js($url, 'friendsPicker');
+elgg_load_js('elgg.friendspicker');
+elgg_load_js('jquery.easing');
+
$chararray = elgg_echo('friendspicker:chararray');
@@ -74,13 +78,9 @@ if (isset($vars['formtarget'])) {
// Sort users by letter
if (is_array($vars['entities']) && sizeof($vars['entities'])) {
foreach($vars['entities'] as $user) {
- if (is_callable('mb_substr')) {
- $letter = strtoupper(mb_substr($user->name,0,1));
- } else {
- $letter = strtoupper(substr($user->name,0,1));
- }
+ $letter = elgg_strtoupper(elgg_substr($user->name, 0, 1));
- if (!substr_count($chararray,$letter)) {
+ if (!elgg_substr_count($chararray, $letter)) {
$letter = "*";
}
if (!isset($users[$letter])) {
@@ -101,7 +101,7 @@ foreach ($users as $letter => $letter_users) {
if (!$callback) {
?>
- <div class="friends-picker">
+ <div class="friends-picker-main-wrapper">
<?php
@@ -120,7 +120,7 @@ if (!isset($vars['replacement'])) {
?>
<?php //@todo JS 1.8: no ?>
<script language="text/javascript">
- $(function() { // onload...do
+ $(function() { // onload...do
$('#collectionMembersForm<?php echo $friendspicker; ?>').submit(function() {
var inputs = [];
$(':input', this).each(function() {
@@ -147,6 +147,11 @@ if (!isset($vars['replacement'])) {
<form id="collectionMembersForm<?php echo $friendspicker; ?>" action="<?php echo $formtarget; ?>" method="post"> <!-- action="" method=""> -->
<?php
+ echo elgg_view('input/securitytoken');
+ echo elgg_view('input/hidden', array(
+ 'name' => 'collection_id',
+ 'value' => $vars['collection_id'],
+ ));
}
?>
@@ -157,11 +162,7 @@ if (!isset($vars['replacement'])) {
// Initialise letters
$chararray .= "*";
- if (is_callable('mb_substr')) {
- $letter = mb_substr($chararray,0,1);
- } else {
- $letter = substr($chararray,0,1);
- }
+ $letter = elgg_substr($chararray, 0, 1);
$letpos = 0;
while (1 == 1) {
?>
@@ -182,12 +183,10 @@ if (!isset($vars['replacement'])) {
}
//echo "<p>" . $user->name . "</p>";
- $label = elgg_view("profile/icon",array('entity' => $friend, 'size' => 'tiny', 'override' => true));
+ $label = elgg_view_entity_icon($friend, 'tiny', array('use_hover' => false));
$options[$label] = $friend->getGUID();
- if ($vars['highlight'] == 'all'
- && !in_array($letter,$activeletters)) {
-
+ if ($vars['highlight'] == 'all' && !in_array($letter,$activeletters)) {
$activeletters[] = $letter;
}
@@ -238,23 +237,14 @@ if (!isset($vars['replacement'])) {
</div>
</div>
<?php
- //if ($letter == 'Z') break;
- if (is_callable('mb_substr')) {
- $substr = mb_substr($chararray,strlen($chararray) - 1,1);
- } else {
- $substr = substr($chararray,strlen($chararray) - 1,1);
- }
+ $substr = elgg_substr($chararray, elgg_strlen($chararray) - 1, 1);
if ($letter == $substr) {
break;
}
//$letter++;
$letpos++;
- if (is_callable('mb_substr')) {
- $letter = mb_substr($chararray,$letpos,1);
- } else {
- $letter = substr($chararray,$letpos,1);
- }
+ $letter = elgg_substr($chararray, $letpos, 1);
}
?>
@@ -270,8 +260,8 @@ if ($formtarget) {
?>
<div class="clearfix"></div>
<div class="friendspicker-savebuttons">
- <input type="submit" class="elgg-button-submit" value="<?php echo elgg_echo('save'); ?>" />
- <input type="button" class="elgg-button-cancel" value="<?php echo elgg_echo('cancel'); ?>" onclick="$('a.collectionmembers<?php echo $friendspicker; ?>').click();" />
+ <input type="submit" class="elgg-button elgg-button-submit" value="<?php echo elgg_echo('save'); ?>" />
+ <input type="button" class="elgg-button elgg-button-cancel" value="<?php echo elgg_echo('cancel'); ?>" onclick="$('a.collectionmembers<?php echo $friendspicker; ?>').click();" />
<br /></div>
</form>
@@ -307,14 +297,14 @@ if (!isset($vars['replacement'])) {
// initialise picker
$("div#friends-picker<?php echo $friendspicker; ?>").friendsPicker(<?php echo $friendspicker; ?>);
</script>
-<script>
+<script type="text/javascript">
$(document).ready(function () {
// manually add class to corresponding tab for panels that have content
<?php
if (sizeof($activeletters) > 0)
//$chararray = elgg_echo('friendspicker:chararray');
foreach($activeletters as $letter) {
- $tab = strpos($chararray, $letter) + 1;
+ $tab = elgg_strpos($chararray, $letter) + 1;
?>
$("div#friends-picker-navigation<?php echo $friendspicker; ?> li.tab<?php echo $tab; ?> a").addClass("tabHasContent");
<?php
diff --git a/views/default/input/location.php b/views/default/input/location.php
new file mode 100644
index 000000000..4cf05c72a
--- /dev/null
+++ b/views/default/input/location.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Location input field
+ *
+ * @uses $vars['entity'] The ElggEntity that has a location
+ * @uses $vars['value'] The default value for the location
+ * @uses $vars['class'] Additional CSS class
+ */
+
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-location {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-location";
+}
+
+$defaults = array(
+ 'disabled' => false,
+);
+
+if (isset($vars['entity'])) {
+ $defaults['value'] = $vars['entity']->location;
+ unset($vars['entity']);
+}
+
+$vars = array_merge($defaults, $vars);
+
+echo elgg_view('input/tag', $vars);
diff --git a/views/default/input/longtext.php b/views/default/input/longtext.php
index 43534eec7..61dc7ca19 100644
--- a/views/default/input/longtext.php
+++ b/views/default/input/longtext.php
@@ -1,19 +1,42 @@
<?php
/**
* Elgg long text input
- * Displays a long text input field
+ * Displays a long text input field that can use WYSIWYG editor
*
* @package Elgg
* @subpackage Core
*
- * @uses $vars['value'] The current value, if any - will be html encoded
+ * @uses $vars['value'] The current value, if any - will be html encoded
* @uses $vars['disabled'] Is the input field disabled?
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-longtext {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-longtext";
+}
+
$defaults = array(
- 'class' => 'elgg-input-longtext',
+ 'value' => '',
+ 'rows' => '10',
+ 'cols' => '50',
+ 'id' => 'elgg-input-' . rand(), //@todo make this more robust
);
$vars = array_merge($defaults, $vars);
-echo elgg_view('input/plaintext', $vars);
+$value = $vars['value'];
+unset($vars['value']);
+
+echo elgg_view_menu('longtext', array(
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+ 'id' => $vars['id'],
+));
+
+?>
+
+<textarea <?php echo elgg_format_attributes($vars); ?>>
+<?php echo htmlspecialchars($value, ENT_QUOTES, 'UTF-8', false); ?>
+</textarea>
diff --git a/views/default/input/password.php b/views/default/input/password.php
index 62c8fb53d..45f2b20a6 100644
--- a/views/default/input/password.php
+++ b/views/default/input/password.php
@@ -7,17 +7,22 @@
* @subpackage Core
*
* @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
- * @uses $vars['name'] The name of the input field
- *
+ * @uses $vars['name'] The name of the input field
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-password {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-password";
+}
+
$defaults = array(
- 'class' => 'elgg-input-password',
- 'disabled' => FALSE,
+ 'disabled' => false,
+ 'value' => '',
);
$attrs = array_merge($defaults, $vars);
?>
-<input type="password" <?php echo elgg_format_attributes($attrs); ?> /> \ No newline at end of file
+<input type="password" <?php echo elgg_format_attributes($attrs); ?> />
diff --git a/views/default/input/plaintext.php b/views/default/input/plaintext.php
index 3be9ed0d8..e92c61ced 100644
--- a/views/default/input/plaintext.php
+++ b/views/default/input/plaintext.php
@@ -6,23 +6,32 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['value'] The current value, if any
- * @uses $vars['name'] The name of the input field
- * @uses $vars['class']
+ * @uses $vars['value'] The current value, if any
+ * @uses $vars['name'] The name of the input field
+ * @uses $vars['class'] Additional CSS class
* @uses $vars['disabled']
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-plaintext {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-plaintext";
+}
+
$defaults = array(
- 'class' => 'elgg-input-textarea',
- 'disabled' => FALSE,
+ 'value' => '',
+ 'rows' => '10',
+ 'cols' => '50',
+ 'disabled' => false,
);
+$vars = array_merge($defaults, $vars);
+
$value = $vars['value'];
unset($vars['value']);
-$attrs = array_merge($defaults, $vars);
?>
-<textarea <?php echo elgg_format_attributes($attrs); ?>>
+<textarea <?php echo elgg_format_attributes($vars); ?>>
<?php echo htmlspecialchars($value, ENT_QUOTES, 'UTF-8', false); ?>
</textarea>
diff --git a/views/default/input/pulldown.php b/views/default/input/pulldown.php
index 705329691..fc0595300 100644
--- a/views/default/input/pulldown.php
+++ b/views/default/input/pulldown.php
@@ -5,5 +5,5 @@
* @deprecated 1.8
*/
-elgg_deprecated_notice("input/pulldown was deprecated by input/dropdown", 1.8);
+elgg_deprecated_notice("input/pulldown was deprecated by input/dropdown", 1.8, 2);
echo elgg_view('input/dropdown', $vars);
diff --git a/views/default/input/radio.php b/views/default/input/radio.php
index 0ad28423f..ef860a773 100644
--- a/views/default/input/radio.php
+++ b/views/default/input/radio.php
@@ -10,24 +10,42 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['value'] The current value, if any
- * @uses $vars['name'] The name of the input field
- * @uses $vars['options'] An array of strings representing the options for the
- * radio field as "label" => option
- * @uses $vars['class'] Additional class of the list. Optional.
- * @uses $vars['align'] 'horizontal' or 'vertical' Default: 'vertical'
+ * @uses $vars['value'] The current value, if any
+ * @uses $vars['name'] The name of the input field
+ * @uses $vars['options'] An array of strings representing the options for the
+ * radio field as "label" => option
+ * @uses $vars['class'] Additional class of the list. Optional.
+ * @uses $vars['align'] 'horizontal' or 'vertical' Default: 'vertical'
*/
-$additional_class = elgg_extract('class', $vars);
-$align = elgg_extract('align', $vars, 'vertical');
-$class = "elgg-input-radio elgg-$align";
-if ($additional_class) {
- $class = " $additional_class";
+$defaults = array(
+ 'align' => 'vertical',
+ 'value' => array(),
+ 'disabled' => false,
+ 'options' => array(),
+ 'name' => '',
+);
+
+$vars = array_merge($defaults, $vars);
+
+$id = '';
+if (isset($vars['id'])) {
+ $id = "id=\"{$vars['id']}\"";
+ unset($vars['id']);
+}
+
+$class = "elgg-input-radios elgg-{$vars['align']}";
+if (isset($vars['class'])) {
+ $class .= " {$vars['class']}";
unset($vars['class']);
}
+unset($vars['align']);
+$vars['class'] = 'elgg-input-radio';
-if (isset($vars['align'])) {
- unset($vars['align']);
+if (is_array($vars['value'])) {
+ $vars['value'] = array_map('elgg_strtolower', $vars['value']);
+} else {
+ $vars['value'] = array(elgg_strtolower($vars['value']));
}
$options = $vars['options'];
@@ -37,10 +55,10 @@ $value = $vars['value'];
unset($vars['value']);
if ($options && count($options) > 0) {
- echo "<ul class=\"$class\">";
+ echo "<ul class=\"$class\" $id>";
foreach ($options as $label => $option) {
- $vars['checked'] = elgg_strtolower($option) == elgg_strtolower($value);
+ $vars['checked'] = in_array(elgg_strtolower($option), $value);
$vars['value'] = $option;
$attributes = elgg_format_attributes($vars);
diff --git a/views/default/input/reset.php b/views/default/input/reset.php
index 12866421e..082da8669 100644
--- a/views/default/input/reset.php
+++ b/views/default/input/reset.php
@@ -4,8 +4,11 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['class'] CSS class that replaces elgg-button-cancel
*/
$vars['type'] = 'reset';
+$vars['class'] = elgg_extract('class', $vars, 'elgg-button-cancel');
echo elgg_view('input/button', $vars); \ No newline at end of file
diff --git a/views/default/input/submit.php b/views/default/input/submit.php
index d09d1db6e..df369b3b4 100644
--- a/views/default/input/submit.php
+++ b/views/default/input/submit.php
@@ -4,8 +4,11 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['class'] CSS class that replaces elgg-button-submit
*/
$vars['type'] = 'submit';
+$vars['class'] = elgg_extract('class', $vars, 'elgg-button-submit');
echo elgg_view('input/button', $vars); \ No newline at end of file
diff --git a/views/default/input/tag.php b/views/default/input/tag.php
new file mode 100644
index 000000000..8893a18ff
--- /dev/null
+++ b/views/default/input/tag.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Elgg tag input
+ *
+ * Accepts a single tag value
+ *
+ * @uses $vars['value'] The default value for the tag
+ * @uses $vars['class'] Additional CSS class
+ */
+
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-tag {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-tag";
+}
+
+$defaults = array(
+ 'value' => '',
+ 'disabled' => false,
+);
+
+$vars = array_merge($defaults, $vars);
+?>
+
+<input type="text" <?php echo elgg_format_attributes($vars); ?> /> \ No newline at end of file
diff --git a/views/default/input/tags.php b/views/default/input/tags.php
index 539bbd4db..261cf9f97 100644
--- a/views/default/input/tags.php
+++ b/views/default/input/tags.php
@@ -3,15 +3,28 @@
* Elgg tag input
* Displays a tag input field
*
- * @package Elgg
- * @subpackage Core
+ * @uses $vars['disabled']
+ * @uses $vars['class'] Additional CSS class
+ * @uses $vars['value'] Array of tags or a string
+ * @uses $vars['entity'] Optional. Entity whose tags are being displayed (metadata ->tags)
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-tags {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-tags";
+}
+
$defaults = array(
- 'class' => 'elgg-input-tags',
- 'disabled' => FALSE,
+ 'value' => '',
+ 'disabled' => false,
);
+if (isset($vars['entity'])) {
+ $defaults['value'] = $vars['entity']->tags;
+ unset($vars['entity']);
+}
+
$vars = array_merge($defaults, $vars);
if (is_array($vars['value'])) {
diff --git a/views/default/input/text.php b/views/default/input/text.php
index e5af723be..07ce5c710 100644
--- a/views/default/input/text.php
+++ b/views/default/input/text.php
@@ -5,15 +5,22 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-text {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-text";
+}
+
$defaults = array(
- 'class' => 'elgg-input-text',
- 'disabled' => FALSE,
+ 'value' => '',
+ 'disabled' => false,
);
$vars = array_merge($defaults, $vars);
?>
-
<input type="text" <?php echo elgg_format_attributes($vars); ?> /> \ No newline at end of file
diff --git a/views/default/input/url.php b/views/default/input/url.php
index a93db718f..e97a316d8 100644
--- a/views/default/input/url.php
+++ b/views/default/input/url.php
@@ -5,10 +5,19 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['class'] Additional CSS class
*/
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-url {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-url";
+}
+
$defaults = array(
- 'class' => 'elgg-input-url',
+ 'value' => '',
+ 'disabled' => false,
);
$vars = array_merge($defaults, $vars);
diff --git a/views/default/input/userpicker.php b/views/default/input/userpicker.php
index 77a51f37c..8b64d7df5 100644
--- a/views/default/input/userpicker.php
+++ b/views/default/input/userpicker.php
@@ -5,36 +5,38 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['value'] The current value, if any
- * @uses $vars['name'] The name of the input field
+ * @uses $vars['value'] Array of user guids for already selected users or null
*
+ * The name of the hidden fields is members[]
*
- * pops up defaulted to lazy load friends lists in paginated alphabetical order.
- * upon
+ * @warning Only a single input/userpicker is supported per web page.
*
- * As users are checked they move down to a "users" box.
- * When this happens, a hidden input is created also.
- * {$internalnal}[] with the value th GUID.
+ * Defaults to lazy load user lists in alphabetical order. User needs
+ * to type two characters before seeing the user popup list.
*
+ * As users are selected they move down to a "users" box.
+ * When this happens, a hidden input is created with the
+ * name of members[] and a value of the GUID.
*/
-elgg_register_js('js/lib/userpicker.js', 'userpicker', 'head');
+elgg_load_js('elgg.userpicker');
+elgg_load_js('jquery.ui.autocomplete.html');
function user_picker_add_user($user_id) {
$user = get_entity($user_id);
if (!$user || !($user instanceof ElggUser)) {
- return FALSE;
+ return false;
}
- $icon = $user->getIconURL('tiny');
-
- $code = '<li class="elgg-image-block">';
- $code .= "<div class='elgg-image'><img class=\"livesearch_icon\" src=\"$icon\" /></div>";
- $code .= "<div class='elgg-image-alt'><a onclick='elgg.userpicker.removeUser(this, $user_id)'><strong>X</strong></a></div>";
- $code .= "<div class='elgg-body'>";
- $code .= "$user->name - $user->username";
- $code .= "<input type=\"hidden\" name=\"members[]\" value=\"$user_id\">";
+ $icon = elgg_view_entity_icon($user, 'tiny', array('use_hover' => false));
+
+ // this html must be synced with the userpicker.js library
+ $code = '<li><div class="elgg-image-block">';
+ $code .= "<div class='elgg-image'>$icon</div>";
+ $code .= "<div class='elgg-image-alt'><a href='#' class='elgg-userpicker-remove'>X</a></div>";
+ $code .= "<div class='elgg-body'>" . $user->name . "</div>";
$code .= "</div>";
+ $code .= "<input type=\"hidden\" name=\"members[]\" value=\"$user_id\">";
$code .= '</li>';
return $code;
@@ -61,10 +63,13 @@ foreach ($vars['value'] as $user_id) {
?>
<div class="elgg-user-picker">
<input type="text" class="elgg-input-user-picker" size="30"/>
- <label><input type="checkbox" name="match_on" value="true" /><?php echo elgg_echo('userpicker:only_friends'); ?></label>
- <ul class="elgg-user-picker-entries"><?php echo $user_list; ?></ul>
+ <label>
+ <input type="checkbox" name="match_on" value="true" />
+ <?php echo elgg_echo('userpicker:only_friends'); ?>
+ </label>
+ <ul class="elgg-user-picker-list"><?php echo $user_list; ?></ul>
</div>
<script type="text/javascript">
- elgg.provide('elgg.userpicker');
+ // @todo grab the values in the init function rather than using inline JS
elgg.userpicker.userList = <?php echo $json_values ?>;
-</script> \ No newline at end of file
+</script>
diff --git a/views/default/js/admin.php b/views/default/js/admin.php
index 603d0f066..e8aa0d2ed 100644
--- a/views/default/js/admin.php
+++ b/views/default/js/admin.php
@@ -4,23 +4,24 @@
*
* @since 1.8
*/
+
+if (0) { ?><script><?php }
?>
elgg.provide('elgg.admin');
elgg.admin.init = function () {
- // display manifest info
- <?php //@todo Use elgg-toggler pattern ?>
- $('a.manifest_details.link').click(function() {
- elgg_slide_toggle($(this), '.elgg-plugin', '.manifest_file');
- });
- // plugin screenshot modal
- $('.elgg-plugin-screenshot a').click(elgg.admin.displayPluginScreenshot);
+ // system messages do not fade in admin area, instead slide up when clicked
+ $('.elgg-system-messages li').stop(true);
+ $('.elgg-system-messages li').die('click');
+ $('.elgg-system-messages li').live('click', function() {
+ $(this).stop().slideUp('medium');
+ });
// draggable plugin reordering
- $('#elgg-plugin-list').sortable({
- items: 'div.elgg-state-draggable',
- handle: 'h3.elgg-head',
+ $('#elgg-plugin-list > ul').sortable({
+ items: 'li:has(> .elgg-state-draggable)',
+ handle: '.elgg-head',
forcePlaceholderSize: true,
placeholder: 'elgg-widget-placeholder',
opacity: 0.8,
@@ -29,6 +30,7 @@ elgg.admin.init = function () {
});
// in-line editing for custom profile fields.
+ // @note this requires jquery.jeditable plugin
$(".elgg-state-editable").editable(elgg.admin.editProfileField, {
type: 'text',
onblur: 'submit',
@@ -38,12 +40,15 @@ elgg.admin.init = function () {
});
// draggable profile field reordering.
- $('#sortable_profile_fields').sortable({
+ $('#elgg-profile-fields').sortable({
items: 'li',
handle: 'span.elgg-state-draggable',
stop: elgg.admin.moveProfileField
});
-}
+
+ // admin notices delete ajax
+ $('a.elgg-admin-notice').click(elgg.admin.deleteNotice);
+};
/**
* Save the plugin order after a move event.
@@ -53,9 +58,9 @@ elgg.admin.init = function () {
* @return void
*/
elgg.admin.movePlugin = function(e, ui) {
- // get guid from id like elgg-plugin-<guid>
- var pluginGuid = ui.item.closest('.elgg-plugin').attr('id');
- pluginGuid = pluginGuid.replace('elgg-plugin-', '');
+ // get guid from id like elgg-object-<guid>
+ var pluginGuid = ui.item.attr('id');
+ pluginGuid = pluginGuid.replace('elgg-object-', '');
elgg.action('admin/plugins/set_priority', {
data: {
@@ -67,48 +72,6 @@ elgg.admin.movePlugin = function(e, ui) {
};
/**
- * Display a plugin screenshot.
- *
- * @param {Object} e The event object.
- * @return void
- */
-elgg.admin.displayPluginScreenshot = function(e) {
- e.preventDefault();
- var lb = $('.elgg-plugin-screenshot-lightbox');
-
- if (lb.length < 1) {
- $('body').append('<div class="elgg-plugin-screenshot-lightbox"></div>');
- lb = $('.elgg-plugin-screenshot-lightbox');
-
- lb.click(function() {
- lb.hide();
- });
-
- $(document).click(function(e) {
- var target = $(e.target);
- if (target.is('a') && target.hasClass('elgg-plugin-screenshot-lightbox')) {
- lb.hide();
- e.preventDefault();
- }
- });
- }
-
- var html = '<img class="pas" src="' + $(this).attr('href') + '">';
- var desc = $(this).find('img').attr('alt');
-
- if (desc) {
- html = '<h2 class="pam">' + desc + '</h2>' + html;
- }
-
- lb.html(html);
-
- top_pos = $(window).scrollTop() + 10 + 'px';
- left_pos = $(window).scrollLeft() + 5 + 'px';
-
- lb.css('top', top_pos).css('left', left_pos).show();
-};
-
-/**
* In-line editing for custom profile fields
*
* @param string value The new value
@@ -126,7 +89,7 @@ elgg.admin.editProfileField = function(value, settings) {
elgg.action('profile/fields/edit', data);
return value;
-}
+};
/**
* Save the plugin profile order after a move event.
@@ -136,12 +99,28 @@ elgg.admin.editProfileField = function(value, settings) {
* @return void
*/
elgg.admin.moveProfileField = function(e, ui) {
- var orderArr = $('#sortable_profile_fields').sortable('toArray');
+ var orderArr = $('#elgg-profile-fields').sortable('toArray');
var orderStr = orderArr.join(',');
elgg.action('profile/fields/reorder', {
fieldorder: orderStr
});
-}
+};
+
+/**
+ * Fires the ajax action to delete the admin notice then hides the notice.
+ *
+ * @return void
+ */
+elgg.admin.deleteNotice = function(e) {
+ e.preventDefault();
+ var $container = $(this).closest('p');
+
+ elgg.action($(this).attr('href'), {
+ success: function(json) {
+ $container.slideUp('medium');
+ }
+ });
+};
-elgg.register_event_handler('init', 'system', elgg.admin.init); \ No newline at end of file
+elgg.register_hook_handler('init', 'system', elgg.admin.init, 1000); \ No newline at end of file
diff --git a/views/default/js/elgg.php b/views/default/js/elgg.php
index 16c8ff20c..c3b56e398 100644
--- a/views/default/js/elgg.php
+++ b/views/default/js/elgg.php
@@ -28,12 +28,13 @@ foreach ($model_files as $file) {
$libs = array(
//libraries
'prototypes',
- 'events',
+ 'hooks',
'security',
'languages',
'ajax',
'session',
'pageowner',
+ 'configuration',
//ui
'ui',
@@ -42,26 +43,29 @@ $libs = array(
foreach ($libs as $file) {
include("{$CONFIG->path}js/lib/$file.js");
+ // putting a new line between the files to address https://github.com/elgg/elgg/issues/3081
+ echo "\n";
}
/**
* Set some values that are cacheable
*/
+if (0) { ?><script><?php }
?>
elgg.version = '<?php echo get_version(); ?>';
elgg.release = '<?php echo get_version(true); ?>';
elgg.config.wwwroot = '<?php echo elgg_get_site_url(); ?>';
-elgg.security.interval = 5 * 60 * 1000; <?php //@todo make this configurable ?>
-
-//Mimic PHP engine boot process
-
-//Before the DOM is ready -- note that plugins aren't loaded yet
-elgg.trigger_event('boot', 'system');
+<?php //@todo make this configurable ?>
+elgg.security.interval = 5 * 60 * 1000;
+elgg.config.domReady = false;
+elgg.config.language = '<?php echo isset($CONFIG->language) ? $CONFIG->language : 'en'; ?>';
+elgg.config.languageReady = false;
//After the DOM is ready
$(function() {
- elgg.trigger_event('init', 'system');
+ elgg.config.domReady = true;
+ elgg.initWhenReady();
});
<?php
diff --git a/views/default/js/initialize_elgg.php b/views/default/js/initialize_elgg.php
index 9032d8a63..b45c33463 100644
--- a/views/default/js/initialize_elgg.php
+++ b/views/default/js/initialize_elgg.php
@@ -1,18 +1,23 @@
<?php
/**
- *
+ * Initialize Elgg's js lib with the uncacheable data
*/
+if (0) { ?><script><?php }
?>
/**
* Don't want to cache these -- they could change for every request
*/
elgg.config.lastcache = <?php echo (int)elgg_get_config('lastcache'); ?>;
+elgg.config.viewtype = '<?php echo elgg_get_viewtype(); ?>';
+elgg.config.simplecache_enabled = <?php echo (int)elgg_is_simplecache_enabled(); ?>;
elgg.security.token.__elgg_ts = <?php echo $ts = time(); ?>;
elgg.security.token.__elgg_token = '<?php echo generate_action_token($ts); ?>';
<?php
+// @todo json export should be smoother than this...
+// @todo Might also be nice to make url exportable. $entity->url? yes please!
$page_owner = elgg_get_page_owner_entity();
if ($page_owner instanceof ElggEntity) {
@@ -24,7 +29,7 @@ if ($page_owner instanceof ElggEntity) {
$page_owner_json['subtype'] = $page_owner->getSubtype();
$page_owner_json['url'] = $page_owner->getURL();
- echo 'elgg.page_owner = '.json_encode($page_owner_json).';';
+ echo 'elgg.page_owner = ' . json_encode($page_owner_json) . ';';
}
$user = elgg_get_logged_in_user_entity();
@@ -37,7 +42,11 @@ if ($user instanceof ElggUser) {
$user_json['subtype'] = $user->getSubtype();
$user_json['url'] = $user->getURL();
+ $user_json['admin'] = $user->isAdmin();
- echo 'elgg.session.user = new elgg.ElggUser('.json_encode($user_json).');';
+ echo 'elgg.session.user = new elgg.ElggUser(' . json_encode($user_json) . ');';
}
?>
+
+//Before the DOM is ready, but elgg's js framework is fully initalized
+elgg.trigger_hook('boot', 'system'); \ No newline at end of file
diff --git a/views/default/js/languages.php b/views/default/js/languages.php
index 009e8159c..fcf903d4b 100644
--- a/views/default/js/languages.php
+++ b/views/default/js/languages.php
@@ -1,9 +1,33 @@
<?php
/**
* @uses $vars['language']
+ * @uses $vars['lc'] if present, client will be sent long expires headers
*/
-global $CONFIG;
$language = $vars['language'];
+$lastcache = elgg_extract('lc', $vars, 0);
-echo json_encode($CONFIG->translations[$language]); \ No newline at end of file
+// @todo add server-side caching
+if ($lastcache) {
+ // we're relying on lastcache changes to predict language changes
+ $etag = '"' . md5("$language|$lastcache") . '"';
+
+ header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', strtotime("+6 months")), true);
+ header("Pragma: public", true);
+ header("Cache-Control: public", true);
+ header("ETag: $etag");
+
+ if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && trim($_SERVER['HTTP_IF_NONE_MATCH']) === $etag) {
+ header("HTTP/1.1 304 Not Modified");
+ exit;
+ }
+}
+
+$all_translations = elgg_get_config('translations');
+$translations = $all_translations['en'];
+
+if ($language != 'en') {
+ $translations = array_merge($translations, $all_translations[$language]);
+}
+
+echo json_encode($translations); \ No newline at end of file
diff --git a/views/default/js/lightbox.php b/views/default/js/lightbox.php
new file mode 100644
index 000000000..a1f018eea
--- /dev/null
+++ b/views/default/js/lightbox.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Elgg lightbox
+ *
+ * Usage
+ * Call elgg_load_js('lightbox') and elgg_load_css('lightbox') then
+ * apply the class elgg-lightbox to links.
+ *
+ * Advanced Usage
+ * Elgg is distributed with the Fancybox jQuery library. Please go to
+ * http://fancybox.net for more information on the options of this lightbox.
+ *
+ * Overriding
+ * In a plugin, override this view and override the registration for the
+ * lightbox JavaScript and CSS (@see elgg_views_boot()).
+ *
+ * @todo add support for passing options: $('#myplugin-lightbox').elgg.ui.lightbox(options);
+ */
+
+if (0) { ?><script><?php }
+?>
+
+/**
+ * Lightbox initialization
+ */
+elgg.ui.lightbox_init = function() {
+ $(".elgg-lightbox").fancybox();
+}
+
+elgg.register_hook_handler('init', 'system', elgg.ui.lightbox_init);
+
+<?php
+
+$js_path = elgg_get_config('path');
+$js_path = "{$js_path}vendors/jquery/fancybox/jquery.fancybox-1.3.4.pack.js";
+include $js_path;
diff --git a/views/default/js/walled_garden.php b/views/default/js/walled_garden.php
new file mode 100644
index 000000000..e228df507
--- /dev/null
+++ b/views/default/js/walled_garden.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Walled garden JavaScript
+ *
+ * @since 1.8
+ */
+
+$cancel_button = elgg_view('input/button', array(
+ 'value' => elgg_echo('cancel'),
+ 'class' => 'elgg-button-cancel mlm',
+));
+$cancel_button = json_encode($cancel_button);
+
+if (0) { ?><script><?php }
+?>
+
+elgg.provide('elgg.walled_garden');
+
+elgg.walled_garden.init = function () {
+
+ $('.forgot_link').click(elgg.walled_garden.load('lost_password'));
+ $('.registration_link').click(elgg.walled_garden.load('register'));
+
+ $('input.elgg-button-cancel').live('click', function(event) {
+ var $wgs = $('.elgg-walledgarden-single');
+ if ($wgs.is(':visible')) {
+ $('.elgg-walledgarden-double').fadeToggle();
+ $wgs.fadeToggle();
+ $wgs.remove();
+ }
+ event.preventDefault();
+ });
+};
+
+/**
+ * Creates a closure for loading walled garden content through ajax
+ *
+ * @param {String} view Name of the walled garden view
+ * @return {Object}
+ */
+elgg.walled_garden.load = function(view) {
+ return function(event) {
+ var id = '#elgg-walledgarden-' + view;
+ id = id.replace('_', '-');
+ //@todo display some visual element that indicates that loading of content is running
+ elgg.get('walled_garden/' + view, {
+ 'success' : function(data) {
+ var $wg = $('.elgg-body-walledgarden');
+ $wg.append(data);
+ $(id).find('input.elgg-button-submit').after(<?php echo $cancel_button; ?>);
+
+ if (view == 'register' && $wg.hasClass('hidden')) {
+ // this was a failed register, display the register form ASAP
+ $('#elgg-walledgarden-login').toggle(false);
+ $(id).toggle();
+ $wg.removeClass('hidden');
+ } else {
+ $('#elgg-walledgarden-login').fadeToggle();
+ $(id).fadeToggle();
+ }
+ }
+ });
+ event.preventDefault();
+ };
+};
+
+elgg.register_hook_handler('init', 'system', elgg.walled_garden.init); \ No newline at end of file
diff --git a/views/default/layout/objects/list/metadata.php b/views/default/layout/objects/list/metadata.php
deleted file mode 100644
index 3ce3573b9..000000000
--- a/views/default/layout/objects/list/metadata.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
- * List metadata for objects
- *
- * @uses $vars['entity'] ElggEntity
- * @uses $vars['handler'] Page handler identifier
- * @uses $vars['links'] Array of extra links
- */
-
-$entity = $vars['entity'];
-$handler = elgg_extract('handler', $vars, '');
-
-?>
-<ul class="elgg-list-metadata">
- <li>
- <?php echo elgg_view('output/access', array('entity' => $entity)); ?>
- </li>
-<?php
-
-if (isset($vars['links']) && is_array($vars['links'])) {
- foreach ($vars['links'] as $link) {
- echo "<li>$link</li>";
- }
-}
-
-// pass <li>your data</li> back from the view
-echo elgg_view('entity/metadata', array('entity' => $entity));
-
-// links to delete or edit.
-if ($entity->canEdit() && $handler) {
-
- $edit_url = "pg/$handler/edit/{$entity->getGUID()}";
- $edit_link = elgg_view('output/url', array(
- 'href' => $edit_url,
- 'text' => elgg_echo('edit'),
- ));
- echo "<li>$edit_link</li>";
-
- $delete_url = "action/$handler/delete?guid={$entity->getGUID()}";
- $delete_link = elgg_view('output/confirmlink', array(
- 'href' => $delete_url,
- 'text' => '<span class="elgg-icon elgg-icon-delete"></span>',
- 'title' => elgg_echo('delete'),
- 'confirm' => elgg_echo('deleteconfirm'),
- 'text_encode' => false,
- ));
- echo "<li>$delete_link</li>";
-}
-
-$likes = elgg_view_likes($entity);
-echo "<li>$likes</li>";
-
-?>
-</ul>
diff --git a/views/default/layout/objects/widget/controls.php b/views/default/layout/objects/widget/controls.php
deleted file mode 100644
index 09f5fc947..000000000
--- a/views/default/layout/objects/widget/controls.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
- * Elgg widget controls
- *
- * @uses $vars['widget']
- * @uses $vars['show_edit'] Whether to show the edit button (true)
- */
-
-$widget = $vars['widget'];
-$show_edit = elgg_extract('show_edit', $vars, true);
-
-$params = array(
- 'text' => ' ',
- 'href' => "#",
- 'class' => 'elgg-widget-collapse-button',
-);
-$collapse_link = elgg_view('output/url', $params);
-
-$delete_link = $edit_link = '';
-if ($widget->canEdit()) {
- $params = array(
- 'text' => ' ',
- 'title' => elgg_echo('widget:delete', array($widget->getTitle())),
- 'href' => elgg_get_site_url() . "action/widgets/delete?guid=$widget->guid",
- 'is_action' => true,
- 'class' => 'elgg-widget-delete-button',
- 'id' => "elgg-widget-delete-button-$widget->guid"
- );
- $delete_link = elgg_view('output/url', $params);
-
- if ($show_edit) {
- $params = array(
- 'text' => ' ',
- 'title' => elgg_echo('widget:edit'),
- 'href' => "#",
- 'class' => 'elgg-widget-edit-button elgg-toggle',
- 'id' => "elgg-toggler-widget-$widget->guid"
- );
- $edit_link = elgg_view('output/url', $params);
- }
-}
-
-echo <<<___END
- $collapse_link
- $delete_link
- $edit_link
-___END;
diff --git a/views/default/layout/objects/widget/settings.php b/views/default/layout/objects/widget/settings.php
deleted file mode 100644
index 05cc7b5ce..000000000
--- a/views/default/layout/objects/widget/settings.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg widget edit settings
- *
- * @uses $vars['widget']
- */
-
-$widget = elgg_extract('widget', $vars);
-?>
-
-<div class="elgg-widget-edit" id="elgg-togglee-widget-<?php echo $widget->guid; ?>">
- <?php echo elgg_view_form('widgets/save', array(), $vars); ?>
-</div>
diff --git a/views/default/layout/shells/admin/menu.php b/views/default/layout/shells/admin/menu.php
deleted file mode 100644
index c33eeac32..000000000
--- a/views/default/layout/shells/admin/menu.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-/**
- * Admin sidebar menu
- */
-
-$content = elgg_view_menu('page', array('sort_by' => 'weight'));
-
-echo elgg_view_module('main', '', $content); \ No newline at end of file
diff --git a/views/default/layout/shells/content/header.php b/views/default/layout/shells/content/header.php
deleted file mode 100644
index 7a3ab1ae9..000000000
--- a/views/default/layout/shells/content/header.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * Main content header
- *
- * This includes a title and a new content button by default
- *
- * @uses $vars['header_override'] HTML for overriding the default header (override)
- * @uses $vars['title'] Title text (override)
- * @uses $vars['context'] Page context (override)
- * @uses $vars['buttons'] Content header buttons (override)
- */
-
-if (isset($vars['header_override'])) {
- echo $vars['header_override'];
- return true;
-}
-
-$context = elgg_extract('context', $vars, elgg_get_context());
-if ($context) {
- $title = elgg_extract('title', $vars, '');
- if (!$title) {
- $title = elgg_echo($context);
- }
-
- if (isset($vars['buttons'])) {
- $buttons = $vars['buttons'];
- } else {
- if (elgg_is_logged_in() && $context) {
- $owner = elgg_get_page_owner_entity();
- if (elgg_instanceof($owner, 'group')) {
- $guid = $owner->getGUID();
- } else {
- $guid = elgg_get_logged_in_user_guid();
- }
- $new_link = elgg_extract('new_link', $vars, "pg/$context/add/$guid/");
- $params = array(
- 'href' => $new_link = elgg_normalize_url($new_link),
- 'text' => elgg_echo("$context:add"),
- 'class' => 'elgg-button-action',
- );
- $buttons = elgg_view('output/url', $params);
- }
- }
- echo <<<HTML
-<div class="elgg-head clearfix">
- <h2 class="elgg-heading-main">$title</h2>$buttons
-</div>
-HTML;
-}
diff --git a/views/default/layout/shells/widgets/add_button.php b/views/default/layout/shells/widgets/add_button.php
deleted file mode 100644
index 0304c50a0..000000000
--- a/views/default/layout/shells/widgets/add_button.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-/**
- * Button area for showing the add widgets panel
- */
-?>
-<div class="elgg-widget-add-control">
- <a class="elgg-button-action elgg-toggle" id="elgg-toggler-add-widgets">
- <?php echo elgg_echo('widgets:add'); ?>
- </a>
-</div>
diff --git a/views/default/navigation/breadcrumbs.php b/views/default/navigation/breadcrumbs.php
index 53d1ffaaf..88577a8ff 100644
--- a/views/default/navigation/breadcrumbs.php
+++ b/views/default/navigation/breadcrumbs.php
@@ -17,7 +17,7 @@ if (isset($vars['breadcrumbs'])) {
$breadcrumbs = elgg_get_breadcrumbs();
}
-$class = 'elgg-breadcrumbs';
+$class = 'elgg-menu elgg-breadcrumbs';
$additional_class = elgg_extract('class', $vars, '');
if ($additional_class) {
$class = "$class $additional_class";
@@ -30,6 +30,7 @@ if (is_array($breadcrumbs) && count($breadcrumbs) > 0) {
$crumb = elgg_view('output/url', array(
'href' => $breadcrumb['link'],
'text' => $breadcrumb['title'],
+ 'is_trusted' => true,
));
} else {
$crumb = $breadcrumb['title'];
diff --git a/views/default/navigation/listtype.php b/views/default/navigation/listtype.php
deleted file mode 100644
index 9b86df40c..000000000
--- a/views/default/navigation/listtype.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * Elgg list view switcher
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$baseurl = elgg_http_remove_url_query_element($vars['baseurl'], 'search_listtype');
-
-if ($vars['listtype'] == "list") {
- $listtype = "gallery";
-} else {
- $listtype = "list";
-}
-
-if (substr_count($baseurl,'?')) {
- $baseurl .= "&search_listtype=" . $listtype;
-} else {
- $baseurl .= "?search_listtype=" . $listtype;
-}
-
-?>
-
-<p class="margin-top">
- <?php echo elgg_echo("listtype:change") ?>:
- <a href="<?php echo $baseurl; ?>"><?php echo elgg_echo("listtype:{$listtype}"); ?></a>
-</p> \ No newline at end of file
diff --git a/views/default/navigation/menu/default.php b/views/default/navigation/menu/default.php
index d849fb80e..006deb3ea 100644
--- a/views/default/navigation/menu/default.php
+++ b/views/default/navigation/menu/default.php
@@ -2,19 +2,30 @@
/**
* Default menu
*
- * @uses $vars['menu']
- * @uses $vars['class']
+ * @uses $vars['name'] Name of the menu
+ * @uses $vars['menu'] Array of menu items
+ * @uses $vars['class'] Additional CSS class for the menu
+ * @uses $vars['item_class'] Additional CSS class for each menu item
+ * @uses $vars['show_section_headers'] Do we show headers for each section?
*/
-$class = 'elgg-menu';
+// we want css classes to use dashes
+$vars['name'] = preg_replace('/[^a-z0-9\-]/i', '-', $vars['name']);
+$headers = elgg_extract('show_section_headers', $vars, false);
+$item_class = elgg_extract('item_class', $vars, '');
+
+$class = "elgg-menu elgg-menu-{$vars['name']}";
if (isset($vars['class'])) {
- $class = "$class {$vars['class']}";
+ $class .= " {$vars['class']}";
}
foreach ($vars['menu'] as $section => $menu_items) {
- echo "<ul class=\"$class\">";
- foreach ($menu_items as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
- }
- echo '</ul>';
+ echo elgg_view('navigation/menu/elements/section', array(
+ 'items' => $menu_items,
+ 'class' => "$class elgg-menu-{$vars['name']}-$section",
+ 'section' => $section,
+ 'name' => $vars['name'],
+ 'show_section_headers' => $headers,
+ 'item_class' => $item_class,
+ ));
}
diff --git a/views/default/navigation/menu/elements/group.php b/views/default/navigation/menu/elements/group.php
deleted file mode 100644
index b0c0f54d4..000000000
--- a/views/default/navigation/menu/elements/group.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Menu group
- *
- * @uses $vars['items']
- * @uses $vars['class']
- * @uses $vars['section']
- */
-
-$class = elgg_extract('class', $vars, '');
-if (isset($vars['section'])) {
- $class = "$class elgg-section-{$vars['section']}";
-}
-
-echo "<ul class=\"$class\">";
-foreach ($vars['items'] as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
-}
-echo '</ul>';
diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php
index 7b07c9485..fd9738826 100644
--- a/views/default/navigation/menu/elements/item.php
+++ b/views/default/navigation/menu/elements/item.php
@@ -4,31 +4,38 @@
*
* @package Elgg.Core
* @subpackage Navigation
+ *
+ * @uses $vars['item'] ElggMenuItem
+ * @uses $vars['item_class'] Additional CSS class for the menu item
*/
$item = $vars['item'];
$link_class = 'elgg-menu-closed';
if ($item->getSelected()) {
- $item->setItemClass('elgg-state-selected');
+ // @todo switch to addItemClass when that is implemented
+ //$item->setItemClass('elgg-state-selected');
$link_class = 'elgg-menu-opened';
}
$children = $item->getChildren();
if ($children) {
- $item->setLinkClass($link_class);
- $item->setLinkClass('elgg-menu-parent');
+ $item->addLinkClass($link_class);
+ $item->addLinkClass('elgg-menu-parent');
}
$item_class = $item->getItemClass();
-if ($item_class) {
- $class = "class=\"$item_class\"";
+if ($item->getSelected()) {
+ $item_class = "$item_class elgg-state-selected";
+}
+if (isset($vars['item_class']) && $vars['item_class']) {
+ $item_class .= ' ' . $vars['item_class'];
}
-echo "<li $class>";
-echo $item->getLink($link_vars);
+echo "<li class=\"$item_class\">";
+echo $item->getContent();
if ($children) {
- echo elgg_view('navigation/menu/elements/group', array(
+ echo elgg_view('navigation/menu/elements/section', array(
'items' => $children,
'class' => 'elgg-menu elgg-child-menu',
));
diff --git a/views/default/navigation/menu/elements/section.php b/views/default/navigation/menu/elements/section.php
new file mode 100644
index 000000000..c0e9ba750
--- /dev/null
+++ b/views/default/navigation/menu/elements/section.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Menu group
+ *
+ * @uses $vars['items'] Array of menu items
+ * @uses $vars['class'] Additional CSS class for the section
+ * @uses $vars['name'] Name of the menu
+ * @uses $vars['section'] The section name
+ * @uses $vars['item_class'] Additional CSS class for each menu item
+ * @uses $vars['show_section_headers'] Do we show headers for each section
+ */
+
+$headers = elgg_extract('show_section_headers', $vars, false);
+$class = elgg_extract('class', $vars, '');
+$item_class = elgg_extract('item_class', $vars, '');
+
+if ($headers) {
+ $name = elgg_extract('name', $vars);
+ $section = elgg_extract('section', $vars);
+ echo '<h2>' . elgg_echo("menu:$name:header:$section") . '</h2>';
+}
+
+echo "<ul class=\"$class\">";
+foreach ($vars['items'] as $menu_item) {
+ echo elgg_view('navigation/menu/elements/item', array(
+ 'item' => $menu_item,
+ 'item_class' => $item_class,
+ ));
+}
+echo '</ul>';
diff --git a/views/default/navigation/menu/page.php b/views/default/navigation/menu/page.php
index 92006e956..56a288234 100644
--- a/views/default/navigation/menu/page.php
+++ b/views/default/navigation/menu/page.php
@@ -5,8 +5,12 @@
* @uses $vars['menu']
* @uses $vars['selected_item']
* @uses $vars['class']
+ * @uses $vars['name']
+ * @uses $vars['show_section_headers']
*/
+$headers = elgg_extract('show_section_headers', $vars, false);
+
$class = 'elgg-menu elgg-menu-page';
if (isset($vars['class'])) {
$class = "$class {$vars['class']}";
@@ -14,6 +18,7 @@ if (isset($vars['class'])) {
if (isset($vars['selected_item'])) {
$parent = $vars['selected_item']->getParent();
+
while ($parent) {
$parent->setSelected();
$parent = $parent->getParent();
@@ -21,9 +26,11 @@ if (isset($vars['selected_item'])) {
}
foreach ($vars['menu'] as $section => $menu_items) {
- echo elgg_view('navigation/menu/elements/group', array(
+ echo elgg_view('navigation/menu/elements/section', array(
'items' => $menu_items,
+ 'class' => "$class elgg-menu-page-$section",
'section' => $section,
- 'class' => $class,
+ 'name' => $vars['name'],
+ 'show_section_headers' => $headers
));
}
diff --git a/views/default/navigation/menu/site.php b/views/default/navigation/menu/site.php
index 706e56fe5..24c21dd57 100644
--- a/views/default/navigation/menu/site.php
+++ b/views/default/navigation/menu/site.php
@@ -6,20 +6,25 @@
* @uses $vars['menu']['more']
*/
-echo '<ul class="elgg-menu elgg-menu-site clearfix">';
-foreach ($vars['menu']['default'] as $menu_item) {
+$default_items = elgg_extract('default', $vars['menu'], array());
+$more_items = elgg_extract('more', $vars['menu'], array());
+
+echo '<ul class="elgg-menu elgg-menu-site elgg-menu-site-default clearfix">';
+foreach ($default_items as $menu_item) {
echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
}
-if (isset($vars['menu']['more'])) {
- $more = elgg_echo('more');
+if ($more_items) {
echo '<li class="elgg-more">';
- echo "<a class='subnav' title=\"$more\"><span class=\"elgg-icon elgg-icon-arrow-s\"></span>$more</a>";
- echo '<ul>';
- foreach ($vars['menu']['more'] as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
- }
- echo '</ul>';
+
+ $more = elgg_echo('more');
+ echo "<a href=\"#\">$more</a>";
+
+ echo elgg_view('navigation/menu/elements/section', array(
+ 'class' => 'elgg-menu elgg-menu-site elgg-menu-site-more',
+ 'items' => $more_items,
+ ));
+
echo '</li>';
}
echo '</ul>';
diff --git a/views/default/navigation/menu/user_hover.php b/views/default/navigation/menu/user_hover.php
index bbca41e21..5c89e585c 100644
--- a/views/default/navigation/menu/user_hover.php
+++ b/views/default/navigation/menu/user_hover.php
@@ -19,34 +19,42 @@ echo '<ul class="elgg-menu elgg-menu-hover">';
$name_link = elgg_view('output/url', array(
'href' => $user->getURL(),
'text' => "<span class=\"elgg-heading-basic\">$user->name</span>&#64;$user->username",
+ 'is_trusted' => true,
));
echo "<li>$name_link</li>";
// actions
if (elgg_is_logged_in() && $actions) {
- echo '<li><ul>';
- foreach ($actions as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
- }
- echo '</ul></li>';
+ echo '<li>';
+ echo elgg_view('navigation/menu/elements/section', array(
+ 'class' => "elgg-menu elgg-menu-hover-actions",
+ 'items' => $actions,
+ ));
+ echo '</li>';
}
// main
if ($main) {
- echo '<li><ul>';
- foreach ($main as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
- }
- echo '</ul></li>';
+ echo '<li>';
+
+ echo elgg_view('navigation/menu/elements/section', array(
+ 'class' => 'elgg-menu elgg-menu-hover-default',
+ 'items' => $main,
+ ));
+
+ echo '</li>';
}
// admin
if (elgg_is_admin_logged_in() && $admin) {
- echo '<li><ul class="elgg-hover-admin">';
- foreach ($admin as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
- }
- echo '</ul></li>';
+ echo '<li>';
+
+ echo elgg_view('navigation/menu/elements/section', array(
+ 'class' => 'elgg-menu elgg-menu-hover-admin',
+ 'items' => $admin,
+ ));
+
+ echo '</li>';
}
echo '</ul>';
diff --git a/views/default/navigation/pagination.php b/views/default/navigation/pagination.php
index c0cb801dd..04044c51c 100644
--- a/views/default/navigation/pagination.php
+++ b/views/default/navigation/pagination.php
@@ -8,7 +8,7 @@
* @uses int $vars['offset'] The offset in the list
* @uses int $vars['limit'] Number of items per page
* @uses int $vars['count'] Number of items in list
- * @uses string $vars['baseurl'] Base URL to use in links
+ * @uses string $vars['base_url'] Base URL to use in links
* @uses string $vars['offset_key'] The string to use for offet in the URL
*/
@@ -25,7 +25,15 @@ if (!$limit = (int) elgg_extract('limit', $vars, 10)) {
$count = (int) elgg_extract('count', $vars, 0);
$offset_key = elgg_extract('offset_key', $vars, 'offset');
-$base_url = elgg_extract('baseurl', $vars, current_page_url());
+// some views pass an empty string for base_url
+if (isset($vars['base_url']) && $vars['base_url']) {
+ $base_url = $vars['base_url'];
+} else if (isset($vars['baseurl']) && $vars['baseurl']) {
+ elgg_deprecated_notice("Use 'base_url' instead of 'baseurl' for the navigation/pagination view", 1.8);
+ $base_url = $vars['baseurl'];
+} else {
+ $base_url = current_page_url();
+}
$num_pages = elgg_extract('num_pages', $vars, 10);
$delta = ceil($num_pages / 2);
@@ -42,10 +50,12 @@ $pages = new stdClass();
$pages->prev = array(
'text' => '&laquo; ' . elgg_echo('previous'),
'href' => '',
+ 'is_trusted' => true,
);
$pages->next = array(
'text' => elgg_echo('next') . ' &raquo;',
'href' => '',
+ 'is_trusted' => true,
);
$pages->items = array();
@@ -103,7 +113,12 @@ foreach ($pages->items as $page) {
} else {
$page_offset = (($page - 1) * $limit);
$url = elgg_http_add_url_query_elements($base_url, array($offset_key => $page_offset));
- echo "<li><a href=\"$url\">$page</a></li>";
+ $link = elgg_view('output/url', array(
+ 'href' => $url,
+ 'text' => $page,
+ 'is_trusted' => true,
+ ));
+ echo "<li>$link</li>";
}
}
diff --git a/views/default/navigation/tabs.php b/views/default/navigation/tabs.php
index 0108126ad..95e3f2669 100644
--- a/views/default/navigation/tabs.php
+++ b/views/default/navigation/tabs.php
@@ -5,64 +5,77 @@
* @uses string $vars['type'] horizontal || vertical - Defaults to horizontal
* @uses string $vars['class'] Additional class to add to ul
* @uses array $vars['tabs'] A multi-dimensional array of tab entries in the format array(
- * 'title' => string, // Title of link
- * 'url' => string, // URL for the link
+ * 'text' => string, // The string between the <a></a> tags
+ * 'href' => string, // URL for the link
* 'class' => string // Class of the li element
* 'id' => string, // ID of the li element
- * 'selected' => bool // if this li element is currently selected
- * 'url_class' => string, // Class to pass to the link
- * 'url_id' => string, // ID to pass to the link
+ * 'selected' => bool // if this tab is currently selected (applied to li element)
+ * 'link_class' => string, // Class to pass to the link
+ * 'link_id' => string, // ID to pass to the link
* )
*/
+$options = elgg_clean_vars($vars);
$type = elgg_extract('type', $vars, 'horizontal');
+
if ($type == 'horizontal') {
- $type_class = "elgg-tabs elgg-htabs";
+ $options['class'] = "elgg-tabs elgg-htabs";
} else {
- $type_class = "elgg-tabs elgg-vtabs";
+ $options['class'] = "elgg-tabs elgg-vtabs";
}
-
if (isset($vars['class'])) {
- $type_class = "$type_class {$vars['class']}";
+ $options['class'] = "{$options['class']} {$vars['class']}";
}
+unset($options['tabs']);
+unset($options['type']);
+
+$attributes = elgg_format_attributes($options);
+
if (isset($vars['tabs']) && is_array($vars['tabs']) && !empty($vars['tabs'])) {
-?>
- <ul class="<?php echo $type_class; ?>">
- <?php
- foreach ($vars['tabs'] as $info) {
- $class = elgg_extract('class', $info, '');
- $id = elgg_extract('id', $info, '');
-
- $selected = elgg_extract('selected', $info, FALSE);
- if ($selected) {
- $class .= ' elgg-state-selected';
- }
+ ?>
+ <ul <?php echo $attributes; ?>>
+ <?php
+ foreach ($vars['tabs'] as $info) {
+ $class = elgg_extract('class', $info, '');
+ $id = elgg_extract('id', $info, '');
- $class_str = ($class) ? "class=\"$class\"" : '';
- $id_str = ($id) ? "id=\"$id\"" : '';
- $title = htmlspecialchars($info['title'], ENT_QUOTES, 'UTF-8');
- $url = htmlspecialchars($info['url'], ENT_QUOTES, 'UTF-8');
+ $selected = elgg_extract('selected', $info, FALSE);
+ if ($selected) {
+ $class .= ' elgg-state-selected';
+ }
- $options = array(
- 'href' => $url,
- 'title' => $title,
- 'text' => $title
- );
+ $class_str = ($class) ? "class=\"$class\"" : '';
+ $id_str = ($id) ? "id=\"$id\"" : '';
- if (isset($info['url_class'])) {
- $options['class'] = $info['url_class'];
- }
+ $options = $info;
+ unset($options['class']);
+ unset($options['id']);
+ unset($options['selected']);
- if (isset($info['url_id'])) {
- $options['id'] = $info['url_id'];
- }
+ if (!isset($info['href']) && isset($info['url'])) {
+ $options['href'] = $info['url'];
+ unset($options['url']);
+ }
+ if (!isset($info['text']) && isset($info['title'])) {
+ $options['text'] = $options['title'];
+ unset($options['title']);
+ }
+ if (isset($info['link_class'])) {
+ $options['class'] = $options['link_class'];
+ unset($options['link_class']);
+ }
- $link = elgg_view('output/url', $options);
+ if (isset($info['link_id'])) {
+ $options['id'] = $options['link_id'];
+ unset($options['link_id']);
+ }
- echo "<li $class_str $js>$link</li>";
- }
- ?>
- </ul>
+ $link = elgg_view('output/url', $options);
+
+ echo "<li $id_str $class_str>$link</li>";
+ }
+ ?>
+ </ul>
<?php
}
diff --git a/views/default/navigation/topbar_tools.php b/views/default/navigation/topbar_tools.php
index 44cf4a63d..307f03fc6 100644
--- a/views/default/navigation/topbar_tools.php
+++ b/views/default/navigation/topbar_tools.php
@@ -4,5 +4,6 @@
*
* @package Elgg
* @subpackage Core
- *
+ *
+ * @deprecated 1.8 Extend the topbar menus or the page/elements/topbar view directly
*/
diff --git a/views/default/navigation/viewtype.php b/views/default/navigation/viewtype.php
index cdf167eb5..6dfa4ebc7 100644
--- a/views/default/navigation/viewtype.php
+++ b/views/default/navigation/viewtype.php
@@ -4,8 +4,8 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @deprecated 1.8 See how file plugin adds a toggle in function file_register_toggle()
*/
-elgg_deprecated_notice('navigation/viewtype was deprecated by navigation/listtype', 1.8);
-
-echo elgg_view('navigation/listtype', $vars); \ No newline at end of file
+elgg_deprecated_notice('navigation/viewtype was deprecated', 1.8);
diff --git a/views/default/object/admin_notice.php b/views/default/object/admin_notice.php
index 1a162ce4d..11524567e 100644
--- a/views/default/object/admin_notice.php
+++ b/views/default/object/admin_notice.php
@@ -6,6 +6,15 @@
if (isset($vars['entity']) && elgg_instanceof($vars['entity'], 'object', 'admin_notice')) {
$notice = $vars['entity'];
$message = $notice->description;
- echo "<p>$message</p>";
+
+ $delete = elgg_view('output/url', array(
+ 'href' => "action/admin/delete_admin_notice?guid=$notice->guid",
+ 'text' => '<span class="elgg-icon elgg-icon-delete"></span>',
+ 'is_action' => true,
+ 'class' => 'elgg-admin-notice',
+ 'is_trusted' => true,
+ ));
+
+ echo "<p>$delete$message</p>";
}
diff --git a/views/default/object/default.php b/views/default/object/default.php
index bcb1b04fd..70e098742 100644
--- a/views/default/object/default.php
+++ b/views/default/object/default.php
@@ -19,7 +19,7 @@ if (!$title) {
}
if (elgg_instanceof($vars['entity'], 'object')) {
- $metadata = elgg_view('layout/objects/list/metadata', $vars);
+ $metadata = elgg_view('navigation/menu/metadata', $vars);
}
$owner_link = '';
@@ -28,6 +28,7 @@ if ($owner) {
$owner_link = elgg_view('output/url', array(
'href' => $owner->getURL(),
'text' => $owner->name,
+ 'is_trusted' => true,
));
}
@@ -40,8 +41,8 @@ $params = array(
'title' => $title,
'metadata' => $metadata,
'subtitle' => $subtitle,
- 'tags' => $vars['entity']->tags,
);
-$body = elgg_view('layout/objects/list/body', $params);
+$params = $params + $vars;
+$body = elgg_view('object/elements/summary', $params);
-echo elgg_view_image_block($icon, $body);
+echo elgg_view_image_block($icon, $body, $vars);
diff --git a/views/default/object/elements/full.php b/views/default/object/elements/full.php
new file mode 100644
index 000000000..b4634fe7e
--- /dev/null
+++ b/views/default/object/elements/full.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Object full rendering
+ *
+ * Sample output:
+ * <div class="elgg-content">
+ * <div class="elgg-image-block">
+ * </div>
+ * <div class="elgg-output">
+ * </div>
+ * </div>
+ *
+ * @uses $vars['entity'] ElggEntity
+ * @uses $vars['icon'] HTML for the content icon
+ * @uses $vars['summary'] HTML for the content summary
+ * @uses $vars['body'] HTML for the content body
+ * @uses $vars['class'] Optional additional class for the content wrapper
+ */
+
+$icon = elgg_extract('icon', $vars);
+$summary = elgg_extract('summary', $vars);
+$body = elgg_extract('body', $vars);
+$class = elgg_extract('class', $vars);
+if ($class) {
+ $class = "elgg-content clearfix $class";
+} else {
+ $class = "elgg-content clearfix";
+}
+
+$header = elgg_view_image_block($icon, $summary);
+
+echo <<<HTML
+<div class="$class">
+$header
+$body
+</div>
+HTML;
diff --git a/views/default/layout/objects/list/body.php b/views/default/object/elements/summary.php
index 187cc9690..63ab8f816 100644
--- a/views/default/layout/objects/list/body.php
+++ b/views/default/object/elements/summary.php
@@ -1,19 +1,19 @@
<?php
/**
- * List body
+ * Object summary
*
* Sample output
- * <ul class="elgg-list-metadata"><li>Public</li><li>Like this</li></ul>
+ * <ul class="elgg-menu elgg-menu-entity"><li>Public</li><li>Like this</li></ul>
* <h3><a href="">Title</a></h3>
* <p class="elgg-subtext">Posted 3 hours ago by George</p>
* <p class="elgg-tags"><a href="">one</a>, <a href="">two</a></p>
- * <div class="elgg-list-content">Excerpt text</div>
+ * <div class="elgg-content">Excerpt text</div>
*
* @uses $vars['entity'] ElggEntity
* @uses $vars['title'] Title link (optional) false = no title, '' = default
- * @uses $vars['metadata'] HTML for entity metadata and actions (optional)
+ * @uses $vars['metadata'] HTML for entity menu and metadata (optional)
* @uses $vars['subtitle'] HTML for the subtitle (optional)
- * @uses $vars['tags'] HTML for the tags (optional)
+ * @uses $vars['tags'] HTML for the tags (default is tags on entity, pass false for no tags)
* @uses $vars['content'] HTML for the entity content (optional)
*/
@@ -27,8 +27,9 @@ if ($title_link === '') {
$text = $entity->name;
}
$params = array(
- 'text' => $text,
+ 'text' => elgg_get_excerpt($text, 100),
'href' => $entity->getURL(),
+ 'is_trusted' => true,
);
$title_link = elgg_view('output/url', $params);
}
@@ -38,19 +39,21 @@ $subtitle = elgg_extract('subtitle', $vars, '');
$content = elgg_extract('content', $vars, '');
$tags = elgg_extract('tags', $vars, '');
-if ($tags !== false) {
- $tag_text = elgg_view('output/tags', array('tags' => $entity->tags));
- if ($tag_text) {
- $tags = '<p class="elgg-tags">' . $tag_text . '</p>';
- }
+if ($tags === '') {
+ $tags = elgg_view('output/tags', array('tags' => $entity->tags));
}
if ($metadata) {
echo $metadata;
}
-echo "<h3>$title_link</h3>";
-echo "<p class=\"elgg-subtext\">$subtitle</p>";
+if ($title_link) {
+ echo "<h3>$title_link</h3>";
+}
+echo "<div class=\"elgg-subtext\">$subtitle</div>";
echo $tags;
+
+echo elgg_view('object/summary/extend', $vars);
+
if ($content) {
- echo "<div class=\"elgg-list-content\">$content</div>";
+ echo "<div class=\"elgg-content\">$content</div>";
}
diff --git a/views/default/object/plugin.php b/views/default/object/plugin.php
index e9cacca35..5c7138e96 100644
--- a/views/default/object/plugin.php
+++ b/views/default/object/plugin.php
@@ -5,18 +5,16 @@
* @package Elgg.Core
* @subpackage Plugins
*
- * @todo This view really should be used to display visualization on the admin panel, \
- * rather than emitting the settings forms
*/
-// Do we want to show admin settings or user settings
-$type = elgg_extract('type', $vars, '');
-
-if ($type != 'user') {
- $type = '';
+if (!elgg_in_context('admin')) {
+ forward('/', 403);
}
-?>
-<div>
- <?php echo elgg_view_form("plugins/{$type}settings/save", array(), $vars); ?>
-</div> \ No newline at end of file
+$plugin = $vars['entity'];
+
+if (!$plugin->isValid()) {
+ echo elgg_view('object/plugin/invalid', $vars);
+} else {
+ echo elgg_view('object/plugin/full', $vars);
+}
diff --git a/views/default/admin/components/plugin_dependencies.php b/views/default/object/plugin/elements/dependencies.php
index ea2b3a188..d8daedd33 100644
--- a/views/default/admin/components/plugin_dependencies.php
+++ b/views/default/object/plugin/elements/dependencies.php
@@ -9,20 +9,18 @@
*/
$plugin = elgg_extract('plugin', $vars, false);
-$deps = $plugin->package->checkDependencies(true);
+$deps = $plugin->getPackage()->checkDependencies(true);
$columns = array('type', 'name', 'expected_value', 'local_value', 'comment');
-echo '<table class="elgg-plugins-dependencies styled">
- <tr>
-';
+echo '<table class="elgg-plugin-dependencies styled"><tr>';
foreach ($columns as $column) {
$column = elgg_echo("admin:plugins:dependencies:$column");
echo "<th class=\"pas\">$column</th>";
}
-echo '<tr/>';
+echo '</tr>';
$row = 'odd';
foreach ($deps as $dep) {
@@ -30,9 +28,11 @@ foreach ($deps as $dep) {
$type = $dep['type'];
if ($dep['status']) {
- $class = "elgg-state-success elgg-dependency-$type";
+ $class = "elgg-state-success elgg-dependency elgg-dependency-$type";
+ } elseif ($dep['type'] == 'suggests') {
+ $class = "elgg-state-warning elgg-dependency elgg-dependency-$type";
} else {
- $class = "elgg-state-error elgg-dependency-$type";
+ $class = "elgg-state-error elgg-dependency elgg-dependency-$type";
}
echo "<tr class=\"$row\">";
diff --git a/views/default/object/plugin/full.php b/views/default/object/plugin/full.php
new file mode 100644
index 000000000..2de65b555
--- /dev/null
+++ b/views/default/object/plugin/full.php
@@ -0,0 +1,308 @@
+<?php
+/**
+ * Displays a plugin on the admin screen.
+ *
+ * This file renders a plugin for the admin screen, including active/deactive,
+ * manifest details & display plugin settings.
+ *
+ * @uses $vars['entity']
+ * @uses $vars['display_reordering'] Do we display the priority reordering links?
+ *
+ * @package Elgg.Core
+ * @subpackage Plugins
+ */
+
+$plugin = $vars['entity'];
+$reordering = elgg_extract('display_reordering', $vars, false);
+$priority = $plugin->getPriority();
+$active = $plugin->isActive();
+
+$can_activate = $plugin->canActivate();
+$max_priority = elgg_get_max_plugin_priority();
+$actions_base = '/action/admin/plugins/';
+$css_id = preg_replace('/[^a-z0-9-]/i', '-', $plugin->getID());
+
+// build reordering links
+$links = '';
+$classes = array('elgg-plugin');
+
+if ($reordering) {
+ $classes[] = 'elgg-state-draggable';
+
+ // top and up link only if not at top
+ if ($priority > 1) {
+ $top_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
+ 'plugin_guid' => $plugin->guid,
+ 'priority' => 'first',
+ 'is_action' => true
+ ));
+
+ $links .= "<li>" . elgg_view('output/url', array(
+ 'href' => $top_url,
+ 'text' => elgg_echo('top'),
+ 'is_action' => true,
+ 'is_trusted' => true,
+ )) . "</li>";
+
+ $up_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
+ 'plugin_guid' => $plugin->guid,
+ 'priority' => '-1',
+ 'is_action' => true
+ ));
+
+ $links .= "<li>" . elgg_view('output/url', array(
+ 'href' => $up_url,
+ 'text' => elgg_echo('up'),
+ 'is_action' => true,
+ 'is_trusted' => true,
+ )) . "</li>";
+ }
+
+ // down and bottom links only if not at bottom
+ if ($priority < $max_priority) {
+ $down_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
+ 'plugin_guid' => $plugin->guid,
+ 'priority' => '+1',
+ 'is_action' => true
+ ));
+
+ $links .= "<li>" . elgg_view('output/url', array(
+ 'href' => $down_url,
+ 'text' => elgg_echo('down'),
+ 'is_action' => true,
+ 'is_trusted' => true,
+ )) . "</li>";
+
+ $bottom_url = elgg_http_add_url_query_elements($actions_base . 'set_priority', array(
+ 'plugin_guid' => $plugin->guid,
+ 'priority' => 'last',
+ 'is_action' => true
+ ));
+
+ $links .= "<li>" . elgg_view('output/url', array(
+ 'href' => $bottom_url,
+ 'text' => elgg_echo('bottom'),
+ 'is_action' => true,
+ 'is_trusted' => true,
+ )) . "</li>";
+ }
+} else {
+ $classes[] = 'elgg-state-undraggable';
+}
+
+
+// activate / deactivate links
+
+// always let them deactivate
+$options = array(
+ 'is_action' => true,
+ 'is_trusted' => true,
+);
+if ($active) {
+ $classes[] = 'elgg-state-active';
+ $action = 'deactivate';
+ $options['text'] = elgg_echo('admin:plugins:deactivate');
+ $options['class'] = "elgg-button elgg-button-cancel";
+
+ if (!$can_activate) {
+ $classes[] = 'elgg-state-active';
+ $options['class'] = 'elgg-button elgg-state-warning';
+ }
+} else if ($can_activate) {
+ $classes[] = 'elgg-state-inactive';
+ $action = 'activate';
+ $options['text'] = elgg_echo('admin:plugins:activate');
+ $options['class'] = "elgg-button elgg-button-submit";
+} else {
+ $classes[] = 'elgg-state-inactive';
+ $action = '';
+ $options['text'] = elgg_echo('admin:plugins:cannot_activate');
+ $options['class'] = "elgg-button elgg-button-disabled";
+ $options['disabled'] = 'disabled';
+}
+
+if ($action) {
+ $url = elgg_http_add_url_query_elements($actions_base . $action, array(
+ 'plugin_guids[]' => $plugin->guid
+ ));
+
+ $options['href'] = $url;
+}
+$action_button = elgg_view('output/url', $options);
+
+// Display categories and make category classes
+$categories = $plugin->getManifest()->getCategories();
+$categories_html = '';
+if ($categories) {
+ $base_url = elgg_get_site_url() . "admin/plugins?category=";
+
+ foreach ($categories as $category) {
+ $css_class = preg_replace('/[^a-z0-9-]/i', '-', $category);
+ $classes[] = "elgg-plugin-category-$css_class";
+
+ $url = $base_url . urlencode($category);
+ $friendly_category = htmlspecialchars(ElggPluginManifest::getFriendlyCategory($category));
+ $categories_html .= "<li class=\"elgg-plugin-category prm\"><a href=\"$url\">$friendly_category</a></li>";
+ }
+}
+
+$screenshots_html = '';
+$screenshots = $plugin->getManifest()->getScreenshots();
+if ($screenshots) {
+ $base_url = elgg_get_plugins_path() . $plugin->getID() . '/';
+ foreach ($screenshots as $screenshot) {
+ $desc = elgg_echo($screenshot['description']);
+ $alt = htmlentities($desc, ENT_QUOTES, 'UTF-8');
+ $screenshot_full = "{$vars['url']}admin_plugin_screenshot/{$plugin->getID()}/full/{$screenshot['path']}";
+ $screenshot_src = "{$vars['url']}admin_plugin_screenshot/{$plugin->getID()}/thumbnail/{$screenshot['path']}";
+
+ $screenshots_html .= "<li class=\"elgg-plugin-screenshot prm ptm\"><a class=\"elgg-lightbox\" href=\"$screenshot_full\">"
+ . "<img src=\"$screenshot_src\" alt=\"$alt\"></a></li>";
+ }
+}
+
+// metadata
+$description = elgg_view('output/longtext', array('value' => $plugin->getManifest()->getDescription()));
+$author = '<span>' . elgg_echo('admin:plugins:label:author') . '</span>: '
+ . elgg_view('output/text', array('value' => $plugin->getManifest()->getAuthor()));
+$version = htmlspecialchars($plugin->getManifest()->getVersion());
+$website = elgg_view('output/url', array(
+ 'href' => $plugin->getManifest()->getWebsite(),
+ 'text' => $plugin->getManifest()->getWebsite(),
+ 'is_trusted' => true,
+));
+
+$resources = array(
+ 'repository' => $plugin->getManifest()->getRepositoryURL(),
+ 'bugtracker' => $plugin->getManifest()->getBugTrackerURL(),
+ 'donate' => $plugin->getManifest()->getDonationsPageURL(),
+);
+
+$resources_html = "<ul class=\"elgg-plugin-resources\">";
+foreach ($resources as $id => $href) {
+ if ($href) {
+ $resources_html .= "<li class=\"prm\">";
+ $resources_html .= elgg_view('output/url', array(
+ 'href' => $href,
+ 'text' => elgg_echo("admin:plugins:label:$id"),
+ 'is_trusted' => true,
+ ));
+ $resources_html .= "</li>";
+ }
+}
+$resources_html .= "</ul>";
+
+$copyright = elgg_view('output/text', array('value' => $plugin->getManifest()->getCopyright()));
+$license = elgg_view('output/text', array('value' => $plugin->getManifest()->getLicense()));
+
+// show links to text files
+$files = $plugin->getAvailableTextFiles();
+
+$docs = '';
+if ($files) {
+ $docs = '<ul>';
+ foreach ($files as $file => $path) {
+ $url = 'admin_plugin_text_file/' . $plugin->getID() . "/$file";
+ $link = elgg_view('output/url', array(
+ 'text' => $file,
+ 'href' => $url,
+ 'is_trusted' => true,
+ ));
+ $docs .= "<li>$link</li>";
+
+ }
+ $docs .= '</ul>';
+}
+
+?>
+
+<div class="<?php echo implode(' ', $classes); ?>" id="<?php echo $css_id; ?>">
+ <div class="elgg-image-block">
+ <div class="elgg-image-alt">
+ <?php if ($links) : ?>
+ <ul class="elgg-menu elgg-menu-metadata">
+ <?php echo $links; ?>
+ </ul>
+ <?php endif; ?>
+ <div class="clearfloat float-alt mtm">
+ <?php echo $action_button; ?>
+ </div>
+ </div>
+ <div class="elgg-body">
+<?php
+$settings_view_old = 'settings/' . $plugin->getID() . '/edit';
+$settings_view_new = 'plugins/' . $plugin->getID() . '/settings';
+if (elgg_view_exists($settings_view_old) || elgg_view_exists($settings_view_new)) {
+ $link = elgg_get_site_url() . "admin/plugin_settings/" . $plugin->getID();
+ $settings_link = "<a class='elgg-plugin-settings' href='$link'>[" . elgg_echo('settings') . "]</a>";
+}
+?>
+ <div class="elgg-head">
+ <h3><?php echo $plugin->getManifest()->getName() . " $version $settings_link"; ?></h3>
+ </div>
+ <?php
+ if ($plugin->getManifest()->getApiVersion() < 1.8) {
+ $reqs = $plugin->getManifest()->getRequires();
+ if (!$reqs) {
+ $message = elgg_echo('admin:plugins:warning:elgg_version_unknown');
+ echo "<p class=\"elgg-state-error\">$message</p>";
+ }
+ }
+
+ if (!$can_activate) {
+ if ($active) {
+ $message = elgg_echo('admin:plugins:warning:unmet_dependencies_active');
+ echo "<p class=\"elgg-state-warning\">$message</p>";
+ } else {
+ $message = elgg_echo('admin:plugins:warning:unmet_dependencies');
+ echo "<p class=\"elgg-state-error\">$message</p>";
+ }
+ }
+ ?>
+
+ <div><?php echo $description; ?></div>
+ <p><?php echo $author . ' - ' . $website; ?></p>
+
+ <?php
+ echo $resources_html;
+ echo $docs;
+ ?>
+
+ <div class="pts">
+ <?php
+ echo elgg_view('output/url', array(
+ 'href' => "#elgg-plugin-manifest-$css_id",
+ 'text' => elgg_echo("admin:plugins:label:moreinfo"),
+ 'rel' => 'toggle',
+ ));
+ ?>
+ </div>
+ </div>
+ </div>
+ <div class="elgg-plugin-more hidden" id="elgg-plugin-manifest-<?php echo $css_id; ?>">
+
+ <?php
+ if ($screenshots_html) {
+ ?>
+ <div><ul><?php echo $screenshots_html; ?></ul></div>
+ <?php
+ }
+
+ if ($categories_html) {
+ ?>
+ <div><?php echo elgg_echo('admin:plugins:label:categories') . ": <ul class=\"elgg-plugin-categories\">$categories_html</ul>"; ?></div>
+ <?php
+ }
+
+ ?>
+ <div><?php echo elgg_echo('admin:plugins:label:copyright') . ": " . $copyright; ?></div>
+ <div><?php echo elgg_echo('admin:plugins:label:licence') . ": " . $license; ?></div>
+ <div><?php echo elgg_echo('admin:plugins:label:location') . ": " . htmlspecialchars($plugin->getPath()) ?></div>
+
+ <div><?php echo elgg_echo('admin:plugins:label:dependencies'); ?>:
+ <?php
+ echo elgg_view('object/plugin/elements/dependencies', array('plugin' => $plugin));
+ ?>
+ </div>
+ </div>
+</div>
diff --git a/views/default/object/plugin/invalid.php b/views/default/object/plugin/invalid.php
new file mode 100644
index 000000000..828bceaba
--- /dev/null
+++ b/views/default/object/plugin/invalid.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Displays an invalid plugin on the admin screen.
+ *
+ * An invalid plugin is a plugin whose isValid() method returns false.
+ * This usually means there are required files missing, unreadable or in the
+ * wrong format.
+ *
+ * @package Elgg.Core
+ * @subpackage Plugins
+ */
+
+$plugin = $vars['entity'];
+
+$id = $plugin->getID();
+$path = htmlspecialchars($plugin->getPath());
+$message = elgg_echo('admin:plugins:warning:invalid', array($plugin->getError()));
+$css_id = preg_replace('/[^a-z0-9-]/i', '-', $plugin->getID());
+
+?>
+
+<div class="elgg-state-draggable elgg-plugin elgg-state-inactive elgg-state-error" id="elgg-plugin-<?php echo $plugin->guid; ?>">
+ <div class="elgg-head"><h3><?php echo $id; ?></h3></div>
+ <div class="elgg-body">
+ <p class="elgg-state-error"><?php echo $message; ?></p>
+ <p><?php echo elgg_echo('admin:plugins:warning:invalid:check_docs'); ?></p>
+
+ <div class="pts">
+ <?php
+ echo elgg_view('output/url', array(
+ 'href' => "#elgg-plugin-manifest-$css_id",
+ 'text' => elgg_echo("admin:plugins:label:moreinfo"),
+ 'rel' => 'toggle',
+ ));
+ ?>
+ </div>
+
+ <div class="hidden elgg-plugin-more" id="elgg-plugin-manifest-<?php echo $css_id; ?>">
+ <p><?php echo elgg_echo('admin:plugins:label:location') . ": " . $path; ?></p>
+ </div>
+ </div>
+</div> \ No newline at end of file
diff --git a/views/default/object/widget.php b/views/default/object/widget.php
index efc8ef9ae..0c7994f2b 100644
--- a/views/default/object/widget.php
+++ b/views/default/object/widget.php
@@ -1,9 +1,75 @@
<?php
/**
- * Elgg default widget view
+ * Widget object
*
- * @package Elgg
- * @subpackage Core
+ * @uses $vars['entity'] ElggWidget
+ * @uses $vars['show_access'] Show the access control in edit area? (true)
*/
-echo elgg_view('page/components/widget', $vars);
+$widget = $vars['entity'];
+if (!elgg_instanceof($widget, 'object', 'widget')) {
+ return true;
+}
+
+$show_access = elgg_extract('show_access', $vars, true);
+
+// @todo catch for disabled plugins
+$widget_types = elgg_get_widget_types('all');
+
+$handler = $widget->handler;
+
+$title = $widget->getTitle();
+
+$edit_area = '';
+$can_edit = $widget->canEdit();
+if ($can_edit) {
+ $edit_area = elgg_view('object/widget/elements/settings', array(
+ 'widget' => $widget,
+ 'show_access' => $show_access,
+ ));
+}
+$controls = elgg_view('object/widget/elements/controls', array(
+ 'widget' => $widget,
+ 'show_edit' => $edit_area != '',
+));
+
+// don't show content for default widgets
+if (elgg_in_context('default_widgets')) {
+ $content = '';
+} else {
+ if (elgg_view_exists("widgets/$handler/content")) {
+ $content = elgg_view("widgets/$handler/content", $vars);
+ } else {
+ elgg_deprecated_notice("widgets use content as the display view", 1.8);
+ $content = elgg_view("widgets/$handler/view", $vars);
+ }
+}
+
+$widget_id = "elgg-widget-$widget->guid";
+$widget_instance = "elgg-widget-instance-$handler";
+$widget_class = "elgg-module elgg-module-widget";
+if ($can_edit) {
+ $widget_class .= " elgg-state-draggable $widget_instance";
+} else {
+ $widget_class .= " elgg-state-fixed $widget_instance";
+}
+
+$widget_header = <<<HEADER
+ <div class="elgg-widget-handle clearfix"><h3>$title</h3>
+ $controls
+ </div>
+HEADER;
+
+$widget_body = <<<BODY
+ $edit_area
+ <div class="elgg-widget-content" id="elgg-widget-content-$widget->guid">
+ $content
+ </div>
+BODY;
+
+echo elgg_view('page/components/module', array(
+ 'class' => $widget_class,
+ 'id' => $widget_id,
+ 'body' => $widget_body,
+ 'header' => $widget_header,
+));
diff --git a/views/default/object/widget/elements/controls.php b/views/default/object/widget/elements/controls.php
new file mode 100644
index 000000000..57a935f62
--- /dev/null
+++ b/views/default/object/widget/elements/controls.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Elgg widget controls
+ *
+ * @uses $vars['widget']
+ * @uses $vars['show_edit'] Whether to show the edit button (true)
+ */
+
+echo elgg_view_menu('widget', array(
+ 'entity' => elgg_extract('widget', $vars),
+ 'show_edit' => elgg_extract('show_edit', $vars, true),
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+));
diff --git a/views/default/object/widget/elements/settings.php b/views/default/object/widget/elements/settings.php
new file mode 100644
index 000000000..25cda58c9
--- /dev/null
+++ b/views/default/object/widget/elements/settings.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Elgg widget edit settings
+ *
+ * @uses $vars['widget']
+ */
+
+$widget = elgg_extract('widget', $vars);
+
+// not using elgg_view_form() so that we can detect if the form is empty
+$form_body = elgg_view('forms/widgets/save', $vars);
+if (!$form_body) {
+ return true;
+}
+
+$form = elgg_view('input/form', array(
+ 'action' => 'action/widgets/save',
+ 'body' => $form_body,
+ 'class' => 'elgg-form-widgets-save',
+));
+?>
+
+<div class="elgg-widget-edit" id="widget-edit-<?php echo $widget->guid; ?>">
+ <?php echo $form; ?>
+</div>
diff --git a/views/default/output/access.php b/views/default/output/access.php
index cb1ffc94c..5c8d62c4d 100644
--- a/views/default/output/access.php
+++ b/views/default/output/access.php
@@ -9,8 +9,9 @@
//sort out the access level for display
if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) {
$access_id = $vars['entity']->access_id;
- $access_class = 'access_level';
+ $access_class = 'elgg-access';
$access_id_string = get_readable_access_level($access_id);
+ $access_id_string = htmlspecialchars($access_id_string, ENT_QUOTES, 'UTF-8', false);
// if within a group or shared access collection display group name and open/closed membership status
// @todo have a better way to do this instead of checking against subtype / class.
@@ -20,20 +21,22 @@ if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) {
// we decided to show that the item is in a group, rather than its actual access level
// not required. Group ACLs are prepended with "Group: " when written.
//$access_id_string = elgg_echo('groups:group') . $container->name;
- $membership = $is_group->membership;
+ $membership = $container->membership;
if ($membership == ACCESS_PUBLIC) {
- $access_class .= ' group_open';
+ $access_class .= ' elgg-access-group-open';
} else {
- $access_class .= ' group_closed';
+ $access_class .= ' elgg-access-group-closed';
}
+
+ // @todo this is plugin specific code in core. Should be removed.
} elseif ($container && $container->getSubtype() == 'shared_access') {
- $access_level .= ' shared_collection';
+ $access_class .= ' shared_collection';
} elseif ($access_id == ACCESS_PRIVATE) {
- $access_level .= ' private';
- } else {
- $access_level .= ' entity_access';
+ $access_class .= ' elgg-access-private';
}
- echo "<span class=\"$access_class\">$access_id_string</span>";
-} \ No newline at end of file
+ $help_text = elgg_echo('access:help');
+
+ echo "<span title=\"$help_text\" class=\"$access_class\">$access_id_string</span>";
+}
diff --git a/views/default/output/calendar.php b/views/default/output/calendar.php
index 8729fa1c5..fa0bd0c04 100644
--- a/views/default/output/calendar.php
+++ b/views/default/output/calendar.php
@@ -9,9 +9,5 @@
* @uses $vars['value'] The current value, if any
*
*/
-
-if (is_int($vars['value'])) {
- echo date("F j, Y", $vars['value']);
-} else {
- echo htmlspecialchars($vars['value'], ENT_QUOTES, 'UTF-8');
-} \ No newline at end of file
+elgg_deprecated_notice('output/calendar was deprecated in favor of output/date', 1.8);
+echo elgg_view('output/date', $vars); \ No newline at end of file
diff --git a/views/default/output/confirmlink.php b/views/default/output/confirmlink.php
index 20431e5a7..532790a38 100644
--- a/views/default/output/confirmlink.php
+++ b/views/default/output/confirmlink.php
@@ -6,14 +6,16 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['text'] The text of the link
- * @uses $vars['href'] The address
- * @uses $vars['confirm'] The dialog text
- * @uses $vars['text_encode'] Encode special characters?
+ * @uses $vars['text'] The text of the link
+ * @uses $vars['href'] The address
+ * @uses $vars['title'] The title text (defaults to confirm text)
+ * @uses $vars['confirm'] The dialog text
+ * @uses $vars['encode_text'] Run $vars['text'] through htmlspecialchars() (false)
*/
-$confirm = elgg_extract('confirm', $vars, elgg_echo('question:areyousure'));
-$encode = elgg_extract('text_encode', $vars, true);
+$vars['rel'] = elgg_extract('confirm', $vars, elgg_echo('question:areyousure'));
+$vars['rel'] = addslashes($vars['rel']);
+$encode = elgg_extract('encode_text', $vars, false);
// always generate missing action tokens
$vars['href'] = elgg_add_action_tokens_to_url(elgg_normalize_url($vars['href']), true);
@@ -23,7 +25,10 @@ if ($encode) {
$text = htmlspecialchars($text, ENT_QUOTES, 'UTF-8', false);
}
-$vars['title'] = addslashes($confirm);
+if (!isset($vars['title']) && isset($vars['confirm'])) {
+ $vars['title'] = $vars['rel'];
+}
+
if (isset($vars['class'])) {
if (!is_array($vars['class'])) {
$vars['class'] = array($vars['class']);
@@ -32,11 +37,11 @@ if (isset($vars['class'])) {
} else {
$vars['class'] = 'elgg-requires-confirmation';
}
-//$vars['onclick'] = "return confirm('" . addslashes($confirm) . "')";
unset($vars['encode_text']);
unset($vars['text']);
unset($vars['confirm']);
+unset($vars['is_trusted']);
$attributes = elgg_format_attributes($vars);
echo "<a $attributes>$text</a>";
diff --git a/views/default/output/date.php b/views/default/output/date.php
index bd8a65714..1644a3480 100644
--- a/views/default/output/date.php
+++ b/views/default/output/date.php
@@ -6,10 +6,12 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['value'] A UNIX epoch timestamp
- *
+ * @uses $vars['value'] Date as text or a Unix timestamp in seconds
*/
-if ($vars['value'] > 86400) {
- echo date("F j, Y",$vars['value']);
-} \ No newline at end of file
+// convert timestamps to text for display
+if (is_numeric($vars['value'])) {
+ $vars['value'] = gmdate('Y-m-d', $vars['value']);
+}
+
+echo $vars['value'];
diff --git a/views/default/output/email.php b/views/default/output/email.php
index 00eefad1f..f5a8bc4b8 100644
--- a/views/default/output/email.php
+++ b/views/default/output/email.php
@@ -10,6 +10,8 @@
*
*/
+$encoded_value = htmlspecialchars($vars['value'], ENT_QUOTES, 'UTF-8');
+
if (!empty($vars['value'])) {
- echo "<a href=\"mailto:" . $vars['value'] . "\">". htmlspecialchars($vars['value'], ENT_QUOTES, 'UTF-8', false) ."</a>";
+ echo "<a href=\"mailto:$encoded_value\">$encoded_value</a>";
} \ No newline at end of file
diff --git a/views/default/output/img.php b/views/default/output/img.php
new file mode 100644
index 000000000..d3f596801
--- /dev/null
+++ b/views/default/output/img.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Elgg image view
+ *
+ * @uses string $vars['src'] The image src url.
+ */
+
+$vars['src'] = elgg_normalize_url($vars['src']);
+$vars['src'] = elgg_format_url($vars['src']);
+
+$attributes = elgg_format_attributes($vars);
+echo "<img $attributes/>";
diff --git a/views/default/output/location.php b/views/default/output/location.php
new file mode 100644
index 000000000..e1009f17d
--- /dev/null
+++ b/views/default/output/location.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Display a location
+ *
+ * @uses $vars['entity'] The ElggEntity that has a location
+ * @uses $vars['value'] The location string if the entity is not passed
+ */
+
+if (isset($vars['entity'])) {
+ $vars['value'] = $vars['entity']->location;
+ unset($vars['entity']);
+}
+
+// Fixes #4566 we used to allow arrays of strings for location
+if (is_array($vars['value'])) {
+ $vars['value'] = implode(', ', $vars['value']);
+}
+
+echo elgg_view('output/tag', $vars);
diff --git a/views/default/output/longtext.php b/views/default/output/longtext.php
index 703bb0868..589100c4f 100644
--- a/views/default/output/longtext.php
+++ b/views/default/output/longtext.php
@@ -11,22 +11,28 @@
* @uses $vars['class']
*/
-$class = 'elgg-text';
+$class = 'elgg-output';
$additional_class = elgg_extract('class', $vars, '');
if ($additional_class) {
- $class = "$class $additional_class";
+ $vars['class'] = "$class $additional_class";
+} else {
+ $vars['class'] = $class;
}
$parse_urls = elgg_extract('parse_urls', $vars, true);
+unset($vars['parse_urls']);
$text = $vars['value'];
-
-$text = filter_tags($text);
+unset($vars['value']);
if ($parse_urls) {
$text = parse_urls($text);
}
-$text = autop($text);
+$text = filter_tags($text);
+
+$text = elgg_autop($text);
+
+$attributes = elgg_format_attributes($vars);
-echo "<div class=\"$class\">$text</div>";
+echo "<div $attributes>$text</div>";
diff --git a/views/default/output/tag.php b/views/default/output/tag.php
new file mode 100644
index 000000000..6bd9a72a7
--- /dev/null
+++ b/views/default/output/tag.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Elgg single tag output
+ *
+ * @uses $vars['value'] String
+ * @uses $vars['type'] The entity type, optional
+ * @uses $vars['subtype'] The entity subtype, optional
+ *
+ */
+
+if (!empty($vars['type'])) {
+ $type = "&type=" . rawurlencode($vars['type']);
+} else {
+ $type = "";
+}
+if (!empty($vars['subtype'])) {
+ $subtype = "&subtype=" . rawurlencode($vars['subtype']);
+} else {
+ $subtype = "";
+}
+if (!empty($vars['object'])) {
+ $object = "&object=" . rawurlencode($vars['object']);
+} else {
+ $object = "";
+}
+
+if (isset($vars['value'])) {
+ $url = elgg_get_site_url() . 'search?q=' . rawurlencode($vars['value']) . "&search_type=tags{$type}{$subtype}{$object}";
+ $vars['value'] = htmlspecialchars($vars['value'], ENT_QUOTES, 'UTF-8', false);
+ echo elgg_view('output/url', array(
+ 'href' => $url,
+ 'text' => $vars['value'],
+ 'rel' => 'tag',
+ ));
+}
diff --git a/views/default/output/tagcloud.php b/views/default/output/tagcloud.php
index d9397faab..2fbf1cd0a 100644
--- a/views/default/output/tagcloud.php
+++ b/views/default/output/tagcloud.php
@@ -12,8 +12,6 @@
* @uses $vars['subtype'] Entity subtype
*/
-$context = elgg_get_context();
-
if (!empty($vars['subtype'])) {
$subtype = "&entity_subtype=" . urlencode($vars['subtype']);
} else {
@@ -41,6 +39,8 @@ if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) {
$cloud = '';
foreach ($vars['tagcloud'] as $tag) {
+ $tag->tag = htmlspecialchars($tag->tag, ENT_QUOTES, 'UTF-8', false);
+
if ($cloud != '') {
$cloud .= ', ';
}
@@ -49,23 +49,18 @@ if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) {
if ($size < 100) {
$size = 100;
}
- $url = elgg_get_site_url()."pg/search/?q=". urlencode($tag->tag) . "&search_type=tags$type$subtype";
- $url = elgg_format_url($url);
- $cloud .= "<a href=\"$url\" style=\"font-size: $size%\" title=\"".addslashes($tag->tag)." ($tag->total)\">" . htmlspecialchars($tag->tag, ENT_QUOTES, 'UTF-8') . "</a>";
- }
-
- if ($context != 'tags') {
- $text = elgg_echo('tagcloud:allsitetags');
- $cloud .= '<p class="elgg-tags">';
- $cloud .= "<a href=\"".elgg_get_site_url()."pg/tags\">$text</a>";
- $cloud .= '</p>';
+ $url = "search?q=". urlencode($tag->tag) . "&search_type=tags$type$subtype";
+
+ $cloud .= elgg_view('output/url', array(
+ 'text' => $tag->tag,
+ 'href' => $url,
+ 'style' => "font-size: $size%;",
+ 'title' => "$tag->tag ($tag->total)",
+ 'rel' => 'tag'
+ ));
}
$cloud .= elgg_view('tagcloud/extend');
- if ($context != 'tags') {
- echo elgg_view_module('aside', elgg_echo('tagcloud'), $cloud, array('class' => 'elgg-tagcloud'));
- } else {
- echo "<div class=\"elgg-tagcloud\">$cloud</div>";
- }
+ echo "<div class=\"elgg-tagcloud\">$cloud</div>";
}
diff --git a/views/default/output/tags.php b/views/default/output/tags.php
index f4804e76e..db096a3be 100644
--- a/views/default/output/tags.php
+++ b/views/default/output/tags.php
@@ -1,24 +1,34 @@
<?php
/**
* Elgg tags
- *
* Tags can be a single string (for one tag) or an array of strings
*
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['tags'] The tags to display
- * @uses $vars['type'] The entity type, optional
+ * @uses $vars['value'] Array of tags or a string
+ * @uses $vars['type'] The entity type, optional
* @uses $vars['subtype'] The entity subtype, optional
+ * @uses $vars['entity'] Optional. Entity whose tags are being displayed (metadata ->tags)
+ * @uses $vars['list_class'] Optional. Additional classes to be passed to <ul> element
+ * @uses $vars['item_class'] Optional. Additional classes to be passed to <li> elements
+ * @uses $vars['icon_class'] Optional. Additional classes to be passed to tags icon image
*/
+if (isset($vars['entity'])) {
+ $vars['tags'] = $vars['entity']->tags;
+ unset($vars['entity']);
+}
+
+if (!empty($vars['type'])) {
+ $type = "&type=" . rawurlencode($vars['type']);
+} else {
+ $type = "";
+}
if (!empty($vars['subtype'])) {
- $subtype = "&subtype=" . urlencode($vars['subtype']);
+ $subtype = "&subtype=" . rawurlencode($vars['subtype']);
} else {
$subtype = "";
}
if (!empty($vars['object'])) {
- $object = "&object=" . urlencode($vars['object']);
+ $object = "&object=" . rawurlencode($vars['object']);
} else {
$object = "";
}
@@ -27,24 +37,46 @@ if (empty($vars['tags']) && !empty($vars['value'])) {
$vars['tags'] = $vars['value'];
}
+if (empty($vars['tags']) && isset($vars['entity'])) {
+ $vars['tags'] = $vars['entity']->tags;
+}
+
if (!empty($vars['tags'])) {
if (!is_array($vars['tags'])) {
$vars['tags'] = array($vars['tags']);
}
- echo '<ul class="elgg-tags">';
+ $list_class = "elgg-tags";
+ if (isset($vars['list_class'])) {
+ $list_class = "$list_class {$vars['list_class']}";
+ }
+
+ $item_class = "elgg-tag";
+ if (isset($vars['item_class'])) {
+ $item_class = "$item_class {$vars['item_class']}";
+ }
+
+ $icon_class = elgg_extract('icon_class', $vars);
+ $list_items = '<li>' . elgg_view_icon('tag', $icon_class) . '</li>';
+
foreach($vars['tags'] as $tag) {
- if (!empty($vars['type'])) {
- $type = "&type={$vars['type']}";
- } else {
- $type = "";
- }
- $url = elgg_get_site_url() . 'pg/search/?q=' . urlencode($tag) . "&search_type=tags{$type}{$subtype}{$object}";
+ $url = elgg_get_site_url() . 'search?q=' . rawurlencode($tag) . "&search_type=tags{$type}{$subtype}{$object}";
if (is_string($tag)) {
- echo '<li>';
- echo "<a rel=\"tag\" href=\"$url\">" . htmlspecialchars($tag, ENT_QUOTES, 'UTF-8') . "</a>";
- echo '</li>';
+ $tag = htmlspecialchars($tag, ENT_QUOTES, 'UTF-8', false);
+ $list_items .= "<li class=\"$item_class\">";
+ $list_items .= elgg_view('output/url', array('href' => $url, 'text' => $tag, 'rel' => 'tag'));
+ $list_items .= '</li>';
}
}
- echo '</ul>';
+
+ $list = <<<___HTML
+ <div class="clearfix">
+ <ul class="$list_class">
+ $list_items
+ </ul>
+ </div>
+___HTML;
+
+ echo $list;
}
+
diff --git a/views/default/output/text.php b/views/default/output/text.php
index 2c9242c1d..5cbfc35b0 100644
--- a/views/default/output/text.php
+++ b/views/default/output/text.php
@@ -6,8 +6,7 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['text'] The text to display
- *
+ * @uses $vars['value'] The text to display
*/
echo htmlspecialchars($vars['value'], ENT_QUOTES, 'UTF-8', false); \ No newline at end of file
diff --git a/views/default/output/url.php b/views/default/output/url.php
index fdeb94ac3..81b02087d 100644
--- a/views/default/output/url.php
+++ b/views/default/output/url.php
@@ -8,9 +8,9 @@
*
* @uses string $vars['text'] The string between the <a></a> tags.
* @uses string $vars['href'] The unencoded url string
- * @uses bool $vars['encode_text'] Run $vars['text'] through htmlspecialchars()?
- * @uses bool $vars['is_action'] Is this a link to an action?
- *
+ * @uses bool $vars['encode_text'] Run $vars['text'] through htmlspecialchars() (false)
+ * @uses bool $vars['is_action'] Is this a link to an action (false)
+ * @uses bool $vars['is_trusted'] Is this link trusted (false)
*/
$url = elgg_extract('href', $vars, null);
@@ -20,7 +20,7 @@ if (!$url and isset($vars['value'])) {
}
if (isset($vars['text'])) {
- if (isset($vars['encode_text']) && $vars['encode_text']) {
+ if (elgg_extract('encode_text', $vars, false)) {
$text = htmlspecialchars($vars['text'], ENT_QUOTES, 'UTF-8', false);
} else {
$text = $vars['text'];
@@ -35,13 +35,22 @@ unset($vars['encode_text']);
if ($url) {
$url = elgg_normalize_url($url);
- if (isset($vars['is_action'])) {
+ if (elgg_extract('is_action', $vars, false)) {
$url = elgg_add_action_tokens_to_url($url, false);
- unset($vars['is_action']);
+ }
+
+ if (!elgg_extract('is_trusted', $vars, false)) {
+ if (!isset($vars['rel'])) {
+ $vars['rel'] = 'nofollow';
+ $url = strip_tags($url);
+ }
}
$vars['href'] = $url;
}
+unset($vars['is_action']);
+unset($vars['is_trusted']);
+
$attributes = elgg_format_attributes($vars);
-echo "<a $attributes>$text</a>"; \ No newline at end of file
+echo "<a $attributes>$text</a>";
diff --git a/views/default/page/admin.php b/views/default/page/admin.php
new file mode 100644
index 000000000..7045edd91
--- /dev/null
+++ b/views/default/page/admin.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Elgg pageshell for the admin area
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @uses $vars['title'] The page title
+ * @uses $vars['body'] The main content of the page
+ * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
+ */
+
+$notices_html = '';
+$notices = elgg_get_admin_notices();
+if ($notices) {
+ foreach ($notices as $notice) {
+ $notices_html .= elgg_view_entity($notice);
+ }
+
+ $notices_html = "<div class=\"elgg-admin-notices\">$notices_html</div>";
+}
+
+// render content before head so that JavaScript and CSS can be loaded. See #4032
+$messages = elgg_view('page/elements/messages', array('object' => $vars['sysmessages']));
+$header = elgg_view('admin/header', $vars);
+$body = $vars['body'];
+$footer = elgg_view('admin/footer', $vars);
+
+
+// Set the content type
+header("Content-type: text/html; charset=UTF-8");
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<?php echo elgg_view('page/elements/head', $vars); ?>
+</head>
+<body>
+ <div class="elgg-page elgg-page-admin">
+ <div class="elgg-inner">
+ <div class="elgg-page-header">
+ <div class="elgg-inner clearfix">
+ <?php echo $header; ?>
+ </div>
+ </div>
+ <div class="elgg-page-messages">
+ <?php echo $messages; ?>
+ <?php echo $notices_html; ?>
+ </div>
+ <div class="elgg-page-body">
+ <div class="elgg-inner">
+ <?php echo $body; ?>
+ </div>
+ </div>
+ <div class="elgg-page-footer">
+ <div class="elgg-inner">
+ <?php echo $footer; ?>
+ </div>
+ </div>
+ </div>
+ </div>
+ <?php echo elgg_view('page/elements/foot'); ?>
+</body>
+
+</html> \ No newline at end of file
diff --git a/views/default/page/components/gallery.php b/views/default/page/components/gallery.php
index f57cc99ba..e8b3f477e 100644
--- a/views/default/page/components/gallery.php
+++ b/views/default/page/components/gallery.php
@@ -2,13 +2,21 @@
/**
* Gallery view
*
- * @uses $vars['items']
+ * Implemented as an unorder list
*
- * @todo not complete - number of columns
+ * @uses $vars['items'] Array of ElggEntity or ElggAnnotation objects
+ * @uses $vars['offset'] Index of the first list item in complete list
+ * @uses $vars['limit'] Number of items per page
+ * @uses $vars['count'] Number of items in the complete list
+ * @uses $vars['pagination'] Show pagination? (default: true)
+ * @uses $vars['position'] Position of the pagination: before, after, or both
+ * @uses $vars['full_view'] Show the full view of the items (default: false)
+ * @uses $vars['gallery_class'] Additional CSS class for the <ul> element
+ * @uses $vars['item_class'] Additional CSS class for the <li> elements
*/
$items = $vars['items'];
-if (!is_array($items) && sizeof($items) == 0) {
+if (!is_array($items) || sizeof($items) == 0) {
return true;
}
@@ -18,13 +26,20 @@ $offset = $vars['offset'];
$limit = $vars['limit'];
$count = $vars['count'];
$pagination = elgg_extract('pagination', $vars, true);
-$full_view = elgg_extract('full_view', $vars, false);
$offset_key = elgg_extract('offset_key', $vars, 'offset');
$position = elgg_extract('position', $vars, 'after');
-$num_columns = 4;
+$gallery_class = 'elgg-gallery';
+if (isset($vars['gallery_class'])) {
+ $gallery_class = "$gallery_class {$vars['gallery_class']}";
+}
+$item_class = 'elgg-item';
+if (isset($vars['item_class'])) {
+ $item_class = "$item_class {$vars['item_class']}";
+}
+$nav = '';
if ($pagination && $count) {
$nav .= elgg_view('navigation/pagination', array(
'offset' => $offset,
@@ -39,33 +54,20 @@ if ($position == 'before' || $position == 'both') {
}
?>
-<table class="elgg-gallery">
-<?php
-
-$col = 0;
-foreach ($items as $item) {
- if ($col == 0) {
- echo '<tr>';
- }
- $col++;
-
- echo '<td>';
- echo elgg_view_list_item($item, $full_view, $vars);
- echo "</td>";
-
- if ($col == $num_columns) {
- echo '</tr>';
- $col = 0;
- }
-}
-
-if ($col > 0) {
- echo '</tr>';
-}
-
-?>
-
-</table>
+<ul class="<?php echo $gallery_class; ?>">
+ <?php
+ foreach ($items as $item) {
+ if (elgg_instanceof($item)) {
+ $id = "elgg-{$item->getType()}-{$item->getGUID()}";
+ } else {
+ $id = "item-{$item->getType()}-{$item->id}";
+ }
+ echo "<li id=\"$id\" class=\"$item_class\">";
+ echo elgg_view_list_item($item, $vars);
+ echo "</li>";
+ }
+ ?>
+</ul>
<?php
if ($position == 'after' || $position == 'both') {
diff --git a/views/default/page/components/list.php b/views/default/page/components/list.php
index 374922ecd..28ed58ddf 100644
--- a/views/default/page/components/list.php
+++ b/views/default/page/components/list.php
@@ -6,7 +6,7 @@
*
* @uses $vars['items'] Array of ElggEntity or ElggAnnotation objects
* @uses $vars['offset'] Index of the first list item in complete list
- * @uses $vars['limit'] Number of items per page
+ * @uses $vars['limit'] Number of items per page. Only used as input to pagination.
* @uses $vars['count'] Number of items in the complete list
* @uses $vars['base_url'] Base URL of list (optional)
* @uses $vars['pagination'] Show pagination? (default: true)
@@ -17,23 +17,22 @@
*/
$items = $vars['items'];
-$offset = $vars['offset'];
-$limit = $vars['limit'];
-$count = $vars['count'];
-$base_url = $vars['base_url'];
+$offset = elgg_extract('offset', $vars);
+$limit = elgg_extract('limit', $vars);
+$count = elgg_extract('count', $vars);
+$base_url = elgg_extract('base_url', $vars, '');
$pagination = elgg_extract('pagination', $vars, true);
-$full_view = elgg_extract('full_view', $vars, false);
$offset_key = elgg_extract('offset_key', $vars, 'offset');
$position = elgg_extract('position', $vars, 'after');
$list_class = 'elgg-list';
if (isset($vars['list_class'])) {
- $list_class = "{$vars['list_class']} $list_class";
+ $list_class = "$list_class {$vars['list_class']}";
}
-$item_class = 'elgg-list-item';
+$item_class = 'elgg-item';
if (isset($vars['item_class'])) {
- $item_class = "{$vars['item_class']} $item_class";
+ $item_class = "$item_class {$vars['item_class']}";
}
$html = "";
@@ -41,7 +40,7 @@ $nav = "";
if ($pagination && $count) {
$nav .= elgg_view('navigation/pagination', array(
- 'baseurl' => $base_url,
+ 'base_url' => $base_url,
'offset' => $offset,
'count' => $count,
'limit' => $limit,
@@ -52,14 +51,15 @@ if ($pagination && $count) {
if (is_array($items) && count($items) > 0) {
$html .= "<ul class=\"$list_class\">";
foreach ($items as $item) {
- if (elgg_instanceof($item)) {
- $id = "elgg-{$item->getType()}-{$item->getGUID()}";
- } else {
- $id = "item-{$item->getType()}-{$item->id}";
+ $li = elgg_view_list_item($item, $vars);
+ if ($li) {
+ if (elgg_instanceof($item)) {
+ $id = "elgg-{$item->getType()}-{$item->getGUID()}";
+ } else {
+ $id = "item-{$item->getType()}-{$item->id}";
+ }
+ $html .= "<li id=\"$id\" class=\"$item_class\">$li</li>";
}
- $html .= "<li id=\"$id\" class=\"$item_class\">";
- $html .= elgg_view_list_item($item, $full_view, $vars);
- $html .= '</li>';
}
$html .= '</ul>';
}
diff --git a/views/default/page/components/module.php b/views/default/page/components/module.php
index f7b9da59c..7e1eaff20 100644
--- a/views/default/page/components/module.php
+++ b/views/default/page/components/module.php
@@ -2,10 +2,10 @@
/**
* Elgg module element
*
- * @uses $vars['title'] Title text
- * @uses $vars['header'] HTML content of the header
+ * @uses $vars['title'] Optional title text (do not pass header with this option)
+ * @uses $vars['header'] Optional HTML content of the header
* @uses $vars['body'] HTML content of the body
- * @uses $vars['footer'] HTML content of the footer
+ * @uses $vars['footer'] Optional HTML content of the footer
* @uses $vars['class'] Optional additional class for module
* @uses $vars['id'] Optional id for module
* @uses $vars['show_inner'] Optional flag to leave out inner div (default: false)
@@ -29,19 +29,15 @@ if (isset($vars['id'])) {
}
if (isset($vars['header'])) {
- if ($vars['header']) {
- $header = "<div class=\"elgg-head\">$header</div>";
- }
-} else {
+ $header = "<div class=\"elgg-head\">$header</div>";
+} elseif ($title) {
$header = "<div class=\"elgg-head\"><h3>$title</h3></div>";
}
$body = "<div class=\"elgg-body\">$body</div>";
-if (isset($vars['footer'])) {
- if ($vars['footer']) {
- $footer = "<div class=\"elgg-foot\">$footer</div>";
- }
+if ($footer) {
+ $footer = "<div class=\"elgg-foot\">$footer</div>";
}
$contents = $header . $body . $footer;
diff --git a/views/default/page/components/summary.php b/views/default/page/components/summary.php
new file mode 100644
index 000000000..ea61a6e4b
--- /dev/null
+++ b/views/default/page/components/summary.php
@@ -0,0 +1,4 @@
+<?php
+
+// Deprecated in favor of type/elements/summary
+echo elgg_view('object/elements/summary', $vars);
diff --git a/views/default/page/components/widget.php b/views/default/page/components/widget.php
deleted file mode 100644
index e7a16b318..000000000
--- a/views/default/page/components/widget.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-/**
- * Widget object
- *
- * @uses $vars['entity'] ElggWidget
- * @uses $vars['show_access'] Show the access control in edit area? (true)
- */
-
-$widget = $vars['entity'];
-if (!elgg_instanceof($widget, 'object', 'widget')) {
- return true;
-}
-
-$show_access = elgg_extract('show_access', $vars, true);
-
-// @todo catch for disabled plugins
-$widget_types = elgg_get_widget_types('all');
-
-$handler = $widget->handler;
-
-$title = $widget->getTitle();
-
-$edit_area = '';
-$can_edit = $widget->canEdit();
-if ($can_edit) {
- $edit_area = elgg_view('layout/objects/widget/settings', array(
- 'widget' => $widget,
- 'show_access' => $show_access,
- ));
-}
-$controls = elgg_view('layout/objects/widget/controls', array(
- 'widget' => $widget,
- 'show_edit' => $edit_area != '',
-));
-
-// don't show content for default widgets
-if (elgg_in_context('default_widgets')) {
- $content = '';
-} else {
- if (elgg_view_exists("widgets/$handler/content")) {
- $content = elgg_view("widgets/$handler/content", $vars);
- } else {
- elgg_deprecated_notice("widgets use content as the display view", 1.8);
- $content = elgg_view("widgets/$handler/view", $vars);
- }
-}
-
-$widget_id = "elgg-widget-$widget->guid";
-$widget_instance = "elgg-widget-instance-$handler";
-$widget_class = "elgg-module elgg-module-widget";
-if ($can_edit) {
- $widget_class .= " elgg-state-draggable $widget_instance";
-} else {
- $widget_class .= " elgg-state-fixed $widget_instance";
-}
-
-echo <<<HTML
-<div class="$widget_class" id="$widget_id">
- <div class="elgg-head">
- <h3>$title</h3>
- $controls
- </div>
- <div class="elgg-body">
- $edit_area
- <div class="elgg-widget-content">
- $content
- </div>
- </div>
-</div>
-HTML;
diff --git a/views/default/page/default.php b/views/default/page/default.php
new file mode 100644
index 000000000..567494d0c
--- /dev/null
+++ b/views/default/page/default.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Elgg pageshell
+ * The standard HTML page shell that everything else fits into
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @uses $vars['title'] The page title
+ * @uses $vars['body'] The main content of the page
+ * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
+ */
+
+// backward compatability support for plugins that are not using the new approach
+// of routing through admin. See reportedcontent plugin for a simple example.
+if (elgg_get_context() == 'admin') {
+ if (get_input('handler') != 'admin') {
+ elgg_deprecated_notice("admin plugins should route through 'admin'.", 1.8);
+ }
+ elgg_admin_add_plugin_settings_menu();
+ elgg_unregister_css('elgg');
+ echo elgg_view('page/admin', $vars);
+ return true;
+}
+
+// render content before head so that JavaScript and CSS can be loaded. See #4032
+$topbar = elgg_view('page/elements/topbar', $vars);
+$messages = elgg_view('page/elements/messages', array('object' => $vars['sysmessages']));
+$header = elgg_view('page/elements/header', $vars);
+$body = elgg_view('page/elements/body', $vars);
+$footer = elgg_view('page/elements/footer', $vars);
+
+// Set the content type
+header("Content-type: text/html; charset=UTF-8");
+
+$lang = get_current_language();
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $lang; ?>" lang="<?php echo $lang; ?>">
+<head>
+<?php echo elgg_view('page/elements/head', $vars); ?>
+</head>
+<body>
+<div class="elgg-page elgg-page-default">
+ <div class="elgg-page-messages">
+ <?php echo $messages; ?>
+ </div>
+
+ <?php if (elgg_is_logged_in()){ ?>
+ <div class="elgg-page-topbar">
+ <div class="elgg-inner">
+ <?php echo $topbar; ?>
+ </div>
+ </div>
+ <?php } ?>
+
+ <div class="elgg-page-header">
+ <div class="elgg-inner">
+ <?php echo $header; ?>
+ </div>
+ </div>
+ <div class="elgg-page-body">
+ <div class="elgg-inner">
+ <?php echo $body; ?>
+ </div>
+ </div>
+ <div class="elgg-page-footer">
+ <div class="elgg-inner">
+ <?php echo $footer; ?>
+ </div>
+ </div>
+</div>
+<?php echo elgg_view('page/elements/foot'); ?>
+</body>
+</html> \ No newline at end of file
diff --git a/views/default/page/elements/comments.php b/views/default/page/elements/comments.php
index c27a146ab..97cb9574e 100644
--- a/views/default/page/elements/comments.php
+++ b/views/default/page/elements/comments.php
@@ -5,26 +5,38 @@
* @uses $vars['entity'] ElggEntity
* @uses $vars['show_add_form'] Display add form or not
* @uses $vars['id'] Optional id for the div
+ * @uses $vars['class'] Optional additional class for the div
*/
$show_add_form = elgg_extract('show_add_form', $vars, true);
$id = '';
if (isset($vars['id'])) {
- $id = "id =\"{$vars['id']}\"";
+ $id = "id=\"{$vars['id']}\"";
}
-echo "<div $id class=\"elgg-comments\">";
+$class = 'elgg-comments';
+if (isset($vars['class'])) {
+ $class = "$class {$vars['class']}";
+}
+
+// work around for deprecation code in elgg_view()
+unset($vars['internalid']);
+
+echo "<div $id class=\"$class\">";
$options = array(
'guid' => $vars['entity']->getGUID(),
'annotation_name' => 'generic_comment'
);
-echo elgg_list_annotations($options);
+$html = elgg_list_annotations($options);
+if ($html) {
+ echo '<h3>' . elgg_echo('comments') . '</h3>';
+ echo $html;
+}
if ($show_add_form) {
- $form_vars = array('name' => 'elgg_add_comment');
- echo elgg_view_form('comments/add', $form_vars, $vars);
+ echo elgg_view_form('comments/add', array(), $vars);
}
echo '</div>';
diff --git a/views/default/page/elements/comments_block.php b/views/default/page/elements/comments_block.php
new file mode 100644
index 000000000..d0f8ab809
--- /dev/null
+++ b/views/default/page/elements/comments_block.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Display the latest related comments
+ *
+ * Generally used in a sidebar. Does not work with groups currently.
+ *
+ * @uses $vars['subtypes'] Object subtype string or array of subtypes
+ * @uses $vars['owner_guid'] The owner of the content being commented on
+ * @uses $vars['limit'] The number of comments to display
+ */
+
+$owner_guid = elgg_extract('owner_guid', $vars, ELGG_ENTITIES_ANY_VALUE);
+if (!$owner_guid) {
+ $owner_guid = ELGG_ENTITIES_ANY_VALUE;
+}
+
+$owner_entity = get_entity($owner_guid);
+if ($owner_entity && elgg_instanceof($owner_entity, 'group')) {
+ // not supporting groups so return
+ return true;
+}
+
+$options = array(
+ 'annotation_name' => 'generic_comment',
+ 'owner_guid' => $owner_guid,
+ 'reverse_order_by' => true,
+ 'limit' => elgg_extract('limit', $vars, 4),
+ 'type' => 'object',
+ 'subtypes' => elgg_extract('subtypes', $vars, ELGG_ENTITIES_ANY_VALUE),
+);
+
+$title = elgg_echo('generic_comments:latest');
+$comments = elgg_get_annotations($options);
+if ($comments) {
+ $body = elgg_view('page/components/list', array(
+ 'items' => $comments,
+ 'pagination' => false,
+ 'list_class' => 'elgg-latest-comments',
+ 'full_view' => false,
+ ));
+} else {
+ $body = '<p>' . elgg_echo('generic_comment:none') . '</p>';
+}
+
+echo elgg_view_module('aside', $title, $body);
diff --git a/views/default/page/elements/content_header.php b/views/default/page/elements/content_header.php
deleted file mode 100644
index 10ba4b052..000000000
--- a/views/default/page/elements/content_header.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/**
- * Displays the Add New button, and the All, Mine, My Friends tabs for plugins
- * If a user is not logged in, this only displays the All tab.
- * If this is in a group context, it doesn't display any tabs
- *
- * @uses string $vars['type'] The section type. Should be the same as the page handler. Used for generating URLs.
- * @uses string $vars['context'] Which filter we're looking at: all, mine, friends, or action. Nothing to do with get_context().
- *
- * @uses string $vars['all_link'] Optional. The URL to use for the "All" tab link. Defaults to mod/$type/all.php
- * @uses string $vars['mine_link'] Optional. The URL to use for the "Mine" tab link. Defaults to pg/$type/$username
- * @uses string $vars['friends_link'] Optional. The URL to use for the "Friends" tab link. Defaults to pg/$type/$username/friends
- * @uses string $vars['new_link'] Optional. The URL to use for the "New" button. Defaults to pg/$type/$username/new
- * @uses array $vars['tabs'] Optional. Override all tab generation. See view:navgiation/tabs for formatting
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$page_owner = elgg_get_page_owner_entity();
-$logged_in_user = elgg_get_logged_in_user_entity();
-$username = $logged_in_user->username;
-
-if (!$page_owner) {
- $page_owner = $logged_in_user;
-}
-
-// so we know if the user is looking at their own, everyone's or all friends
-$filter_context = $vars['context'];
-
-// get the object type
-$type = $vars['type'];
-
-// create an empty string to start with
-$new_button = '';
-
-// generate a list of default tabs
-$default_tabs = array(
- 'all' => array(
- 'title' => elgg_echo('all'),
- 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "mod/$type/all.php",
- 'selected' => ($filter_context == 'everyone'),
- ),
- 'mine' => array(
- 'title' => elgg_echo('mine'),
- 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$type/$username",
- 'selected' => ($filter_context == 'mine'),
- ),
- 'friend' => array(
- 'title' => elgg_echo('friends'),
- 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$type/$username/friends",
- 'selected' => ($filter_context == 'friends'),
- ),
-);
-
-// determine if using default or overwritten tabs
-$tabs = (isset($vars['tabs'])) ? $vars['tabs'] : $default_tabs;
-$tab_list = elgg_view('navigation/tabs', array('tabs' => $tabs));
-
-$title = elgg_echo($type);
-$title = '<div class="content-header-title">' . elgg_view_title($title) . '</div>';
-
-// must be logged in to see any action buttons
-if (elgg_is_logged_in()) {
- // only show the new button when not on the add form.
- // hide the tabs when on the add form.
- if ($filter_context == 'action') {
- $tab_list = '';
- } else {
- // @todo remove the hard coded reference to the videolist plugin
- if (elgg_get_context() == "videolist"){
- $video_link = elgg_get_site_url() . "pg/videolist/browse/$username/";
- $new_button = "<a href=\"{$video_link}\" class='elgg-button-action'>" . elgg_echo('videolist:browsemenu') . '</a>';
- } else {
- $new_link = elgg_normalize_url((isset($vars['new_link'])) ? $vars['new_link'] : "pg/$type/$username/new");
- $new_button = "<a href=\"{$new_link}\" class='elgg-button-action'>" . elgg_echo($type . ':new') . '</a>';
- }
- $new_button = "<div class='content-header-options'>$new_button</div>";
- }
-
- // also hide the tabs if in a group context (ie, listing groups) or
- // when viewing tools belonging to a group
- if (elgg_get_context() == 'groups' || $page_owner instanceof ElggGroup) {
- $tab_list = '';
- }
-}
-
-echo <<<HTML
-<div id="content-header" class="clearfix">
- $title $new_button
-</div>
-HTML;
-
-echo $tab_list;
diff --git a/views/default/page/elements/content_header_member.php b/views/default/page/elements/content_header_member.php
deleted file mode 100644
index 4f21cbcce..000000000
--- a/views/default/page/elements/content_header_member.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * When looking at a users blog, bookmarks, video etc only show
- * the users name and the tool you are viewing
- *
- * @package Elgg
- * @subpackage Core
- *
- */
-
-$page_owner = elgg_get_page_owner_entity();
-$name = elgg_get_page_owner_entity()->name;
-
-// get the object type
-$type = $vars['type'];
-
-$title = elgg_echo($type);
-$title = $name . "'s " . $type;
-?>
-
-<div id="content-header" class="clearfix">
- <?php echo '<div class="content-header-title">' . elgg_view_title($title) . '</div>'; ?>
-</div>
-
diff --git a/views/default/page/elements/foot.php b/views/default/page/elements/foot.php
new file mode 100644
index 000000000..a56b373b4
--- /dev/null
+++ b/views/default/page/elements/foot.php
@@ -0,0 +1,11 @@
+<?php
+
+echo elgg_view('footer/analytics');
+
+$js = elgg_get_loaded_js('footer');
+foreach ($js as $script) { ?>
+ <script type="text/javascript" src="<?php echo $script; ?>"></script>
+<?php
+}
+
+?> \ No newline at end of file
diff --git a/views/default/page/elements/footer.php b/views/default/page/elements/footer.php
index 001d856b1..ded2cea9a 100644
--- a/views/default/page/elements/footer.php
+++ b/views/default/page/elements/footer.php
@@ -8,11 +8,15 @@
*
*/
-echo elgg_view_menu('footer', array('class' => 'elgg-menu-footer'));
-echo elgg_view('footer/links');
+echo elgg_view_menu('footer', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
-?>
+$powered_url = elgg_get_site_url() . "_graphics/powered_by_elgg_badge_drk_bckgnd.gif";
-<a href="http://www.elgg.org" class="elgg-alt">
- <img src="<?php echo elgg_get_site_url(); ?>_graphics/powered_by_elgg_badge_drk_bckgnd.gif" alt="Powered by Elgg" />
-</a>
+echo '<div class="mts clearfloat float-alt">';
+echo elgg_view('output/url', array(
+ 'href' => 'http://elgg.org',
+ 'text' => "<img src=\"$powered_url\" alt=\"Powered by Elgg\" width=\"106\" height=\"15\" />",
+ 'class' => '',
+ 'is_trusted' => true,
+));
+echo '</div>';
diff --git a/views/default/page/elements/head.php b/views/default/page/elements/head.php
index 209eb35f4..d4a95b4d0 100644
--- a/views/default/page/elements/head.php
+++ b/views/default/page/elements/head.php
@@ -14,7 +14,7 @@ if (empty($vars['title'])) {
global $autofeed;
if (isset($autofeed) && $autofeed == true) {
- $url = full_url();
+ $url = current_page_url();
if (substr_count($url,'?')) {
$url .= "&view=rss";
} else {
@@ -30,8 +30,8 @@ END;
$feedref = "";
}
-$js = elgg_get_js('head');
-$css = elgg_get_css();
+$js = elgg_get_loaded_js('head');
+$css = elgg_get_loaded_css();
$version = get_version();
$release = get_version(true);
@@ -40,7 +40,7 @@ $release = get_version(true);
<meta name="ElggRelease" content="<?php echo $release; ?>" />
<meta name="ElggVersion" content="<?php echo $version; ?>" />
<title><?php echo $title; ?></title>
- <link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" />
+ <?php echo elgg_view('page/elements/shortcut_icon', $vars); ?>
<?php foreach ($css as $link) { ?>
<link rel="stylesheet" href="<?php echo $link; ?>" type="text/css" />
@@ -48,11 +48,15 @@ $release = get_version(true);
<?php
$ie_url = elgg_get_simplecache_url('css', 'ie');
+ $ie7_url = elgg_get_simplecache_url('css', 'ie7');
$ie6_url = elgg_get_simplecache_url('css', 'ie6');
?>
- <!--[if gt IE 6]>
+ <!--[if gt IE 7]>
<link rel="stylesheet" type="text/css" href="<?php echo $ie_url; ?>" />
<![endif]-->
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="<?php echo $ie7_url; ?>" />
+ <![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="<?php echo $ie6_url; ?>" />
<![endif]-->
@@ -62,7 +66,9 @@ $release = get_version(true);
<?php } ?>
<script type="text/javascript">
+// <![CDATA[
<?php echo elgg_view('js/initialize_elgg'); ?>
+// ]]>
</script>
<?php
@@ -70,7 +76,6 @@ echo $feedref;
$metatags = elgg_view('metatags', $vars);
if ($metatags) {
- elgg_deprecated_notice("The metatags view has been deprecated for html_head/extend", 1.8);
+ elgg_deprecated_notice("The metatags view has been deprecated. Extend page/elements/head instead", 1.8);
echo $metatags;
}
-echo elgg_view('html_head/extend', $vars);
diff --git a/views/default/page/elements/header.php b/views/default/page/elements/header.php
index 972c90272..1a1f5d211 100644
--- a/views/default/page/elements/header.php
+++ b/views/default/page/elements/header.php
@@ -1,8 +1,8 @@
<?php
/**
- * Elgg header contents
- * This file holds the header output that a user will see
- **/
+ * Elgg page header
+ * In the default theme, the header lives between the topbar and main content area.
+ */
// link back to main site.
echo elgg_view('page/elements/header_logo', $vars);
@@ -11,7 +11,4 @@ echo elgg_view('page/elements/header_logo', $vars);
echo elgg_view('core/account/login_dropdown');
// insert site-wide navigation
-echo elgg_view_menu('site');
-
-// insert a view which can be extended
-echo elgg_view('header/extend');
+echo elgg_view_menu('site'); \ No newline at end of file
diff --git a/views/default/page/elements/header_logo.php b/views/default/page/elements/header_logo.php
index 4295deaa4..7fe721c40 100644
--- a/views/default/page/elements/header_logo.php
+++ b/views/default/page/elements/header_logo.php
@@ -1,13 +1,15 @@
<?php
/**
* Elgg header logo
- * The logo to display in elgg-header.
*/
$site = elgg_get_site_entity();
$site_name = $site->name;
+$site_url = elgg_get_site_url();
?>
<h1>
- <a class="elgg-heading-site" href="<?php echo elgg_get_site_url(); ?>"><?php echo $site_name; ?></a>
+ <a class="elgg-heading-site" href="<?php echo $site_url; ?>">
+ <?php echo $site_name; ?>
+ </a>
</h1>
diff --git a/views/default/page/elements/messages.php b/views/default/page/elements/messages.php
index e4e6030f1..edd40d71e 100644
--- a/views/default/page/elements/messages.php
+++ b/views/default/page/elements/messages.php
@@ -11,14 +11,14 @@
echo '<ul class="elgg-system-messages">';
+// hidden li so we validate
+echo '<li class="hidden"></li>';
+
if (isset($vars['object']) && is_array($vars['object']) && sizeof($vars['object']) > 0) {
foreach ($vars['object'] as $type => $list ) {
foreach ($list as $message) {
echo "<li class=\"elgg-message elgg-state-$type\">";
- echo elgg_view('output/longtext', array(
- 'value' => $message,
- 'parse_urls' => false
- ));
+ echo elgg_autop($message);
echo '</li>';
}
}
diff --git a/views/default/page/elements/owner_block.php b/views/default/page/elements/owner_block.php
index 2f9fc8603..fc7f0f6d2 100644
--- a/views/default/page/elements/owner_block.php
+++ b/views/default/page/elements/owner_block.php
@@ -15,16 +15,12 @@ $owner = elgg_get_page_owner_entity();
if ($owner instanceof ElggGroup ||
($owner instanceof ElggUser && $owner->getGUID() != elgg_get_logged_in_user_guid())) {
- $header = elgg_view_entity($owner, false);
+ $header = elgg_view_entity($owner, array('full_view' => false));
- $body = elgg_view_menu('owner_block', array(
- 'entity' => $owner,
- 'class' => 'elgg-owner-block-menu',
- ));
+ $body = elgg_view_menu('owner_block', array('entity' => $owner));
$body .= elgg_view('page/elements/owner_block/extend', $vars);
- //@todo elgg-module-owner-block?
echo elgg_view('page/components/module', array(
'header' => $header,
'body' => $body,
diff --git a/views/default/page/elements/page_links.php b/views/default/page/elements/page_links.php
deleted file mode 100644
index fb9acbfb7..000000000
--- a/views/default/page/elements/page_links.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * Page links: RSS link, reported content link, etc.
- */
-
-// Are there feeds to display?
-global $autofeed;
-$rss_link = '';
-if (isset($autofeed) && $autofeed == true) {
- $url = full_url();
- if (substr_count($url,'?')) {
- $url .= "&view=rss";
- } else {
- $url .= "?view=rss";
- }
- $url = elgg_format_url($url);
- $label = elgg_echo('feed:rss');
-
- $rss_link = elgg_view('output/url', array(
- 'text' => '<span class="elgg-icon elgg-icon-rss"></span>',
- 'href' => $url,
- 'title' => $label,
- 'rel' => 'nofollow',
- 'encode_text' => false,
- 'class' => 'right',
- ));
-}
-
-// view to extend by plugins
-$links = elgg_view('page/links', $vars);
-
-if ($links || $rss_link) {
- echo '<div class="elgg-page-links clearfix mbm">';
- echo $rss_link;
- echo $links;
- echo '</div>';
-}
diff --git a/views/default/page/elements/shortcut_icon.php b/views/default/page/elements/shortcut_icon.php
new file mode 100644
index 000000000..12fe9c1f8
--- /dev/null
+++ b/views/default/page/elements/shortcut_icon.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * Displays the default shortcut icon
+ */
+?>
+<link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" /> \ No newline at end of file
diff --git a/views/default/page/elements/sidebar.php b/views/default/page/elements/sidebar.php
index 8950c5f3f..fe6bb450e 100644
--- a/views/default/page/elements/sidebar.php
+++ b/views/default/page/elements/sidebar.php
@@ -5,7 +5,10 @@
* @uses $vars['sidebar'] Optional content that is displayed at the bottom of sidebar
*/
-echo elgg_view('page/elements/page_links', $vars);
+echo elgg_view_menu('extras', array(
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+));
echo elgg_view('page/elements/owner_block', $vars);
diff --git a/views/default/page/elements/sidebar_alt.php b/views/default/page/elements/sidebar_alt.php
new file mode 100644
index 000000000..6d91ca58b
--- /dev/null
+++ b/views/default/page/elements/sidebar_alt.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Elgg secondary sidebar contents
+ *
+ * You can override, extend, or pass content to it
+ *
+ * @uses $vars['sidebar_alt] HTML content for the alternate sidebar
+ */
+
+$sidebar = elgg_extract('sidebar_alt', $vars, '');
+
+echo $sidebar;
diff --git a/views/default/page/elements/tagcloud_block.php b/views/default/page/elements/tagcloud_block.php
new file mode 100644
index 000000000..258951c41
--- /dev/null
+++ b/views/default/page/elements/tagcloud_block.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Display content-based tags
+ *
+ * Generally used in a sidebar. Does not work with groups currently.
+ *
+ * @uses $vars['subtypes'] Object subtype string or array of subtypes
+ * @uses $vars['owner_guid'] The owner of the content being tagged
+ * @uses $vars['limit'] The maxinum number of tags to display
+ */
+
+$owner_guid = elgg_extract('owner_guid', $vars, ELGG_ENTITIES_ANY_VALUE);
+if (!$owner_guid) {
+ $owner_guid = ELGG_ENTITIES_ANY_VALUE;
+}
+
+$owner_entity = get_entity($owner_guid);
+if ($owner_entity && elgg_instanceof($owner_entity, 'group')) {
+ // not supporting groups so return
+ return true;
+}
+
+$options = array(
+ 'type' => 'object',
+ 'subtype' => elgg_extract('subtypes', $vars, ELGG_ENTITIES_ANY_VALUE),
+ 'owner_guid' => $owner_guid,
+ 'threshold' => 0,
+ 'limit' => elgg_extract('limit', $vars, 50),
+ 'tag_name' => 'tags',
+);
+
+$title = elgg_echo('tagcloud');
+if (is_array($options['subtype']) && count($options['subtype']) > 1) {
+ // we cannot provide links to tagged objects with multiple types
+ $tag_data = elgg_get_tags($options);
+ $cloud = elgg_view("output/tagcloud", array(
+ 'value' => $tag_data,
+ 'type' => $type,
+ ));
+} else {
+ $cloud = elgg_view_tagcloud($options);
+}
+if (!$cloud) {
+ return true;
+}
+
+// add a link to all site tags
+$cloud .= '<p class="small">';
+$cloud .= elgg_view_icon('tag');
+$cloud .= elgg_view('output/url', array(
+ 'href' => 'tags',
+ 'text' => elgg_echo('tagcloud:allsitetags'),
+ 'is_trusted' => true,
+));
+$cloud .= '</p>';
+
+
+echo elgg_view_module('aside', $title, $cloud);
diff --git a/views/default/page/elements/topbar.php b/views/default/page/elements/topbar.php
index 987326119..e4c6c86bb 100644
--- a/views/default/page/elements/topbar.php
+++ b/views/default/page/elements/topbar.php
@@ -1,66 +1,16 @@
<?php
/**
- * Elgg top toolbar
+ * Elgg topbar
* The standard elgg top toolbar
*/
-$user = elgg_get_logged_in_user_entity();
-
-//@todo echo elgg_view_menu('topbar', array('class' => 'elgg-menu-topbar'));
-
// Elgg logo
-$image = '<img src="' . elgg_get_site_url() . '_graphics/elgg_toolbar_logo.gif" alt="Elgg logo" />';
-echo elgg_view('output/url', array(
- 'href' => 'http://www.elgg.org/',
- 'text' => $image,
-));
-
-// avatar
-$user_link = $user->getURL();
-$user_image = $user->getIconURL('topbar');
-$image = "<img src=\"$user_image\" alt=\"$user->name\" class=\"bab\" />";
-echo elgg_view('output/url', array(
- 'href' => $user_link,
- 'text' => $image,
-));
-
-// friends
-echo elgg_view('output/url', array(
- 'href' => elgg_get_site_url() . "pg/friends/{$user->username}/",
- 'text' => '<span class="elgg-icon elgg-icon-friends"></span>',
- 'title' => elgg_echo('friends'),
-));
-
-// logout link
-echo elgg_view('output/url', array(
- 'href' => "action/logout",
- 'text' => elgg_echo('logout'),
- 'is_action' => TRUE,
- 'class' => 'elgg-alt',
-));
+echo elgg_view_menu('topbar', array('sort_by' => 'priority', array('elgg-menu-hz')));
// elgg tools menu
// need to echo this empty view for backward compatibility.
-// @todo -- do we really? So much else is broken, and the new menu system is so much nicer...
-echo elgg_view("navigation/topbar_tools");
-
-// enable elgg topbar extending
-echo elgg_view('elgg_topbar/extend', $vars);
-
-//@todo echo elgg_view_menu('topbar2', array('class' => 'elgg-menu-topbar elgg-alt'));
-
-// user settings
-echo elgg_view('output/url', array(
- 'href' => elgg_get_site_url() . "pg/settings/user/{$user->username}",
- 'text' => '<span class="elgg-icon elgg-icon-settings"></span>' . elgg_echo('settings'),
- 'class' => 'elgg-alt',
-));
-
-// The administration link is for admin or site admin users only
-if ($user->isAdmin()) {
- echo elgg_view('output/url', array(
- 'href' => elgg_get_site_url() . 'pg/admin/',
- 'text' => '<span class="elgg-icon elgg-icon-settings"></span>' . elgg_echo('admin'),
- 'class' => 'elgg-alt',
- ));
+$content = elgg_view("navigation/topbar_tools");
+if ($content) {
+ elgg_deprecated_notice('navigation/topbar_tools was deprecated. Extend the topbar menus or the page/elements/topbar view directly', 1.8);
+ echo $content;
}
diff --git a/views/default/page/elements/wrapper.php b/views/default/page/elements/wrapper.php
new file mode 100644
index 000000000..61828832d
--- /dev/null
+++ b/views/default/page/elements/wrapper.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Deprecated content wrapper view from Elgg 1.5 through 1.7
+ *
+ * @uses $vars['body'] The content to display inside content wrapper
+ * @uses $vars['subclass'] Additional css class
+ */
+
+elgg_deprecated_notice("The 'page_elements/contentwrapper' has been deprecated", 1.8);
+?>
+
+<div class="contentWrapper<?php
+
+ if (isset($vars['subclass'])) {
+ echo ' ' . $vars['subclass'];
+ }
+
+?>">
+<?php
+ echo $vars['body'];
+?>
+</div>
diff --git a/views/default/page/error.php b/views/default/page/error.php
new file mode 100644
index 000000000..b7ba3ae9b
--- /dev/null
+++ b/views/default/page/error.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Page shell for errors
+ *
+ * This is for errors that are not unhandled exceptions. Those are handled
+ * through the failsafe viewtype to guarantee that no further exceptions occur.
+ * An example error would be 404 (page not found).
+ *
+ * @uses $vars['title'] The page title
+ * @uses $vars['body'] The main content of the page
+ * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
+ */
+
+echo elgg_view('page/default', $vars);
diff --git a/views/default/page/layouts/admin.php b/views/default/page/layouts/admin.php
index 7ba4abbd1..8dbdc27e6 100644
--- a/views/default/page/layouts/admin.php
+++ b/views/default/page/layouts/admin.php
@@ -10,61 +10,22 @@
* @uses $vars['title'] Title string
*/
-$admin_title = elgg_get_site_entity()->name . ' ' . elgg_echo('admin');
-
-$view_site = elgg_view('output/url', array(
- 'href' => elgg_get_site_url(),
- 'text' => elgg_echo('admin:view_site'),
-));
-$logout = elgg_view('output/url', array(
- 'href' => 'action/logout',
- 'text' => elgg_echo('logout'),
-));
?>
-<div class="elgg-page-header">
- <div class="elgg-inner clearfix">
- <h1 class="elgg-heading-site">
- <a href="<?php echo elgg_get_site_url(); ?>pg/admin/">
- <?php echo $admin_title; ?>
- </a>
- </h1>
- <ul class="elgg-menu-user">
- <li><?php echo elgg_echo('admin:loggedin', array(elgg_get_logged_in_user_entity()->name)); ?></li>
- <li><?php echo $view_site; ?></li>
- <li><?php echo $logout; ?></li>
- </ul>
- </div>
-</div>
-
-<?php
-// @todo clean up system messages code
-$messages = null;
-if (count_messages()) {
- // get messages - try for errors first
- $messages = system_messages(NULL, "error");
- if (count($messages["error"]) == 0) {
- // no errors so grab rest of messages
- $messages = system_messages(null, "");
- } else {
- // we have errors - clear out remaining messages
- system_messages(null, "");
- }
-}
-echo elgg_view('page/elements/messages', array('object' => $messages));
-?>
-
-<div class="elgg-page-body">
+<div class="elgg-layout elgg-layout-one-sidebar">
<div class="elgg-sidebar clearfix">
<?php
- echo elgg_view('admin/sidebar/top', $vars);
- echo elgg_view('layout/shells/admin/menu', $vars);
- echo elgg_view('admin/sidebar/bottom', $vars);
+ echo elgg_view('admin/sidebar', $vars);
?>
</div>
<div class="elgg-main elgg-body">
<div class="elgg-head">
<?php
+ echo elgg_view_menu('title', array(
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+ ));
+
if (isset($vars['title'])) {
echo elgg_view_title($vars['title']);
}
@@ -76,9 +37,4 @@ echo elgg_view('page/elements/messages', array('object' => $messages));
}
?>
</div>
-</div>
-<div class="elgg-page-footer">
-</div>
-<?php
-
-echo elgg_view('footer/analytics');
+</div> \ No newline at end of file
diff --git a/views/default/page/layouts/content.php b/views/default/page/layouts/content.php
index 69772985a..c406c9faf 100644
--- a/views/default/page/layouts/content.php
+++ b/views/default/page/layouts/content.php
@@ -10,7 +10,6 @@
* @uses $vars['filter'] HTML of the content area filter (override)
* @uses $vars['title'] Title text (override)
* @uses $vars['context'] Page context (override)
- * @uses $vars['buttons'] Content header buttons (override)
* @uses $vars['filter_context'] Filter context: everyone, friends, mine
* @uses $vars['class'] Additional class to apply to layout
*/
@@ -19,22 +18,19 @@
$sidebar_content = elgg_extract('sidebar', $vars, '');
$params = $vars;
$params['content'] = $sidebar_content;
-$sidebar = elgg_view('layout/shells/content/sidebar', $params);
-
-// navigation defaults to breadcrumbs
-$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs'));
+$sidebar = elgg_view('page/layouts/content/sidebar', $params);
// allow page handlers to override the default header
if (isset($vars['header'])) {
$vars['header_override'] = $vars['header'];
}
-$header = elgg_view('layout/shells/content/header', $vars);
+$header = elgg_view('page/layouts/content/header', $vars);
// allow page handlers to override the default filter
if (isset($vars['filter'])) {
$vars['filter_override'] = $vars['filter'];
}
-$filter = elgg_view('layout/shells/content/filter', $vars);
+$filter = elgg_view('page/layouts/content/filter', $vars);
// the all important content
$content = elgg_extract('content', $vars, '');
@@ -43,9 +39,9 @@ $content = elgg_extract('content', $vars, '');
$footer_content = elgg_extract('footer', $vars, '');
$params = $vars;
$params['content'] = $footer_content;
-$footer = elgg_view('layout/shells/content/footer', $params);
+$footer = elgg_view('page/layouts/content/footer', $params);
-$body = $nav . $header . $filter . $content . $footer;
+$body = $header . $filter . $content . $footer;
$params = array(
'content' => $body,
diff --git a/views/default/layout/shells/content/filter.php b/views/default/page/layouts/content/filter.php
index 9daee6d71..701c6418a 100644
--- a/views/default/layout/shells/content/filter.php
+++ b/views/default/page/layouts/content/filter.php
@@ -23,21 +23,30 @@ if (elgg_is_logged_in() && $context) {
// generate a list of default tabs
$tabs = array(
'all' => array(
- 'title' => elgg_echo('all'),
- 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "pg/$context/all/",
+ 'text' => elgg_echo('all'),
+ 'href' => (isset($vars['all_link'])) ? $vars['all_link'] : "$context/all",
'selected' => ($filter_context == 'all'),
+ 'priority' => 200,
),
'mine' => array(
- 'title' => elgg_echo('mine'),
- 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$context/owner/$username/",
+ 'text' => elgg_echo('mine'),
+ 'href' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "$context/owner/$username",
'selected' => ($filter_context == 'mine'),
+ 'priority' => 300,
),
'friend' => array(
- 'title' => elgg_echo('friends'),
- 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$context/friends/$username/",
+ 'text' => elgg_echo('friends'),
+ 'href' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "$context/friends/$username",
'selected' => ($filter_context == 'friends'),
+ 'priority' => 400,
),
);
+
+ foreach ($tabs as $name => $tab) {
+ $tab['name'] = $name;
+
+ elgg_register_menu_item('filter', $tab);
+ }
- echo elgg_view('navigation/tabs', array('tabs' => $tabs));
+ echo elgg_view_menu('filter', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
}
diff --git a/views/default/layout/shells/content/footer.php b/views/default/page/layouts/content/footer.php
index 66f5d3ff8..66f5d3ff8 100644
--- a/views/default/layout/shells/content/footer.php
+++ b/views/default/page/layouts/content/footer.php
diff --git a/views/default/page/layouts/content/header.php b/views/default/page/layouts/content/header.php
new file mode 100644
index 000000000..1e66e52db
--- /dev/null
+++ b/views/default/page/layouts/content/header.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Main content header
+ *
+ * Title and title menu
+ *
+ * @uses $vars['header_override'] HTML for overriding the default header (override)
+ * @uses $vars['title'] Title text (override)
+ * @uses $vars['context'] Page context (override)
+ */
+
+if (isset($vars['buttons'])) {
+ // it was a bad idea to implement buttons with a pass through
+ elgg_deprecated_notice("Use elgg_register_menu_item() to register for the title menu", 1.0);
+}
+
+if (isset($vars['header_override'])) {
+ echo $vars['header_override'];
+ return true;
+}
+
+$context = elgg_extract('context', $vars, elgg_get_context());
+
+$title = elgg_extract('title', $vars, '');
+if (!$title) {
+ $title = elgg_echo($context);
+}
+$title = elgg_view_title($title, array('class' => 'elgg-heading-main'));
+
+if (isset($vars['buttons']) && $vars['buttons']) {
+ $buttons = $vars['buttons'];
+} else {
+ $buttons = elgg_view_menu('title', array(
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+ ));
+}
+
+echo <<<HTML
+<div class="elgg-head clearfix">
+ $title$buttons
+</div>
+HTML;
diff --git a/views/default/layout/shells/content/sidebar.php b/views/default/page/layouts/content/sidebar.php
index 86ca8435f..86ca8435f 100644
--- a/views/default/layout/shells/content/sidebar.php
+++ b/views/default/page/layouts/content/sidebar.php
diff --git a/views/default/page/layouts/error.php b/views/default/page/layouts/error.php
new file mode 100644
index 000000000..cdce28a8e
--- /dev/null
+++ b/views/default/page/layouts/error.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Error layout
+ */
+
+$class = 'elgg-layout-error';
+if (isset($vars['class'])) {
+ $class = "$class {$vars['class']}";
+}
+$vars['class'] = $class;
+
+echo elgg_view('page/layouts/one_column', $vars);
diff --git a/views/default/page/layouts/one_column.php b/views/default/page/layouts/one_column.php
index ab6a24878..491d5b459 100644
--- a/views/default/page/layouts/one_column.php
+++ b/views/default/page/layouts/one_column.php
@@ -9,17 +9,30 @@
* @uses $vars['class'] Additional class to apply to layout
*/
-$class = 'elgg-inner clearfix';
+$class = 'elgg-layout elgg-layout-one-column clearfix';
if (isset($vars['class'])) {
$class = "$class {$vars['class']}";
}
+
+// navigation defaults to breadcrumbs
+$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs'));
+
?>
-<div class="<?php echo $class; ?>" id="elgg-layout-one-column">
- <div class="elgg-body">
- <?php echo $vars['content']; ?>
+<div class="<?php echo $class; ?>">
+ <div class="elgg-body elgg-main">
<?php
+ echo $nav;
+
+ if (isset($vars['title'])) {
+ echo elgg_view_title($vars['title']);
+ }
+
+ echo $vars['content'];
+
// @deprecated 1.8
- echo $vars['area1'];
+ if (isset($vars['area1'])) {
+ echo $vars['area1'];
+ }
?>
</div>
</div> \ No newline at end of file
diff --git a/views/default/page/layouts/one_sidebar.php b/views/default/page/layouts/one_sidebar.php
index 53f065b3e..d74dad53d 100644
--- a/views/default/page/layouts/one_sidebar.php
+++ b/views/default/page/layouts/one_sidebar.php
@@ -9,17 +9,21 @@
* @uses $vars['sidebar'] Optional content that is displayed in the sidebar
* @uses $vars['title'] Optional title for main content area
* @uses $vars['class'] Additional class to apply to layout
+ * @uses $vars['nav'] HTML of the page nav (override) (default: breadcrumbs)
*/
-$class = 'elgg-inner clearfix';
+$class = 'elgg-layout elgg-layout-one-sidebar clearfix';
if (isset($vars['class'])) {
$class = "$class {$vars['class']}";
}
+// navigation defaults to breadcrumbs
+$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs'));
+
?>
-<div class="<?php echo $class; ?>" id="elgg-layout-sidebar">
- <div class="elgg-sidebar elgg-aside">
+<div class="<?php echo $class; ?>">
+ <div class="elgg-sidebar">
<?php
echo elgg_view('page/elements/sidebar', $vars);
?>
@@ -27,6 +31,8 @@ if (isset($vars['class'])) {
<div class="elgg-main elgg-body">
<?php
+ echo $nav;
+
if (isset($vars['title'])) {
echo elgg_view_title($vars['title']);
}
diff --git a/views/default/page/layouts/two_column_left_sidebar.php b/views/default/page/layouts/two_column_left_sidebar.php
index 97f4d2719..e395a5053 100644
--- a/views/default/page/layouts/two_column_left_sidebar.php
+++ b/views/default/page/layouts/two_column_left_sidebar.php
@@ -17,7 +17,7 @@ unset($vars['area2']);
unset($vars['area3']);
// backward compatability support for plugins that are not using the new approach
-// of routing through pg/admin
+// of routing through 'admin'
if (elgg_get_context() == 'admin') {
echo elgg_view('page/layouts/admin', $vars);
return true;
diff --git a/views/default/page/layouts/two_sidebar.php b/views/default/page/layouts/two_sidebar.php
index 1e6c2aae7..7521dd44f 100644
--- a/views/default/page/layouts/two_sidebar.php
+++ b/views/default/page/layouts/two_sidebar.php
@@ -5,32 +5,27 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['content'] The content string for the main column
- * @uses $vars['sidebar'] Optional content that is displayed in the sidebar
+ * @uses $vars['content'] The content string for the main column
+ * @uses $vars['sidebar'] Optional content that is displayed in the sidebar
* @uses $vars['sidebar_alt'] Optional content that is displayed in the alternate sidebar
- * @uses $vars['class'] Additional class to apply to layout
+ * @uses $vars['class'] Additional class to apply to layout
*/
-$class = 'elgg-inner clearfix';
+$class = 'elgg-layout elgg-layout-two-sidebar clearfix';
if (isset($vars['class'])) {
$class = "$class {$vars['class']}";
}
?>
-<div class="<?php echo $class; ?>" id="elgg-layout-two-sidebar">
- <div class="elgg-sidebar elgg-aside">
+<div class="<?php echo $class; ?>">
+ <div class="elgg-sidebar">
<?php
echo elgg_view('page/elements/sidebar', $vars);
?>
</div>
- <div class="elgg-sidebar elgg-alt elgg-aside">
+ <div class="elgg-sidebar-alt">
<?php
- //$params = $vars;
- //$params['sidebar'] = $vars['sidebar_alt'];
- $params = array(
- 'sidebar' => elgg_view_module('test', 'Testing', 'Hello, world!'),
- );
- echo elgg_view('page/elements/sidebar', $params);
+ echo elgg_view('page/elements/sidebar_alt', $vars);
?>
</div>
diff --git a/views/default/page/layouts/walled_garden.php b/views/default/page/layouts/walled_garden.php
new file mode 100644
index 000000000..6ecd941ef
--- /dev/null
+++ b/views/default/page/layouts/walled_garden.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Walled Garden layout
+ *
+ * @uses $vars['content'] Main content
+ * @uses $vars['class'] CSS classes
+ * @uses $vars['id'] CSS id
+ */
+
+$class = elgg_extract('class', $vars, 'elgg-walledgarden-single');
+echo elgg_view_module('walledgarden', '', $vars['content'], array(
+ 'class' => $class,
+ 'id' => elgg_extract('id', $vars, ''),
+ 'header' => ' ',
+ 'footer' => ' ',
+));
diff --git a/views/default/page/layouts/widgets.php b/views/default/page/layouts/widgets.php
index eac9d43fc..c6b162516 100644
--- a/views/default/page/layouts/widgets.php
+++ b/views/default/page/layouts/widgets.php
@@ -16,6 +16,8 @@ $show_access = elgg_extract('show_access', $vars, true);
$owner = elgg_get_page_owner_entity();
+$widget_types = elgg_get_widget_types();
+
$context = elgg_get_context();
elgg_push_context('widgets');
@@ -23,26 +25,33 @@ $widgets = elgg_get_widgets($owner->guid, $context);
if (elgg_can_edit_widget_layout($context)) {
if ($show_add_widgets) {
- echo elgg_view('layout/shells/widgets/add_button');
+ echo elgg_view('page/layouts/widgets/add_button');
}
$params = array(
'widgets' => $widgets,
'context' => $context,
'exact_match' => $exact_match,
+ 'show_access' => $show_access,
);
- echo elgg_view('layout/shells/widgets/add_panel', $params);
+ echo elgg_view('page/layouts/widgets/add_panel', $params);
}
echo $vars['content'];
$widget_class = "elgg-col-1of{$num_columns}";
for ($column_index = 1; $column_index <= $num_columns; $column_index++) {
- $column_widgets = $widgets[$column_index];
+ if (isset($widgets[$column_index])) {
+ $column_widgets = $widgets[$column_index];
+ } else {
+ $column_widgets = array();
+ }
echo "<div class=\"$widget_class elgg-widgets\" id=\"elgg-widget-col-$column_index\">";
- if (is_array($column_widgets) && sizeof($column_widgets) > 0) {
+ if (sizeof($column_widgets) > 0) {
foreach ($column_widgets as $widget) {
- echo elgg_view_entity($widget, array('show_access' => $show_access));
+ if (array_key_exists($widget->handler, $widget_types)) {
+ echo elgg_view_entity($widget, array('show_access' => $show_access));
+ }
}
}
echo '</div>';
diff --git a/views/default/page/layouts/widgets/add_button.php b/views/default/page/layouts/widgets/add_button.php
new file mode 100644
index 000000000..c33a45f99
--- /dev/null
+++ b/views/default/page/layouts/widgets/add_button.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Button area for showing the add widgets panel
+ */
+?>
+<div class="elgg-widget-add-control">
+<?php
+ echo elgg_view('output/url', array(
+ 'href' => '#widgets-add-panel',
+ 'text' => elgg_echo('widgets:add'),
+ 'class' => 'elgg-button elgg-button-action',
+ 'rel' => 'toggle',
+ 'is_trusted' => true,
+ ));
+?>
+</div>
diff --git a/views/default/layout/shells/widgets/add_panel.php b/views/default/page/layouts/widgets/add_panel.php
index 38c133c4a..d9b11342a 100644
--- a/views/default/layout/shells/widgets/add_panel.php
+++ b/views/default/page/layouts/widgets/add_panel.php
@@ -12,6 +12,7 @@ $context = $vars['context'];
$exact = elgg_extract('exact_match', $vars, false);
$widget_types = elgg_get_widget_types($context, $exact);
+uasort($widget_types, create_function('$a,$b', 'return strcmp($a->name,$b->name);'));
$current_handlers = array();
foreach ($widgets as $column_widgets) {
@@ -21,7 +22,7 @@ foreach ($widgets as $column_widgets) {
}
?>
-<div class="elgg-widgets-add-panel hidden clearfix" id="elgg-togglee-add-widgets">
+<div class="elgg-widgets-add-panel hidden clearfix" id="widgets-add-panel">
<p>
<?php echo elgg_echo('widgets:add:description'); ?>
</p>
@@ -49,10 +50,13 @@ foreach ($widgets as $column_widgets) {
?>
</ul>
<?php
- $params = array(
+ echo elgg_view('input/hidden', array(
'name' => 'widget_context',
'value' => $context
- );
- echo elgg_view('input/hidden', $params);
+ ));
+ echo elgg_view('input/hidden', array(
+ 'name' => 'show_access',
+ 'value' => (int)$vars['show_access']
+ ));
?>
</div>
diff --git a/views/default/page/shells/admin.php b/views/default/page/shells/admin.php
deleted file mode 100644
index 211bd4037..000000000
--- a/views/default/page/shells/admin.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * Elgg pageshell for the admin area
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['title'] The page title
- * @uses $vars['body'] The main content of the page
- * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
- */
-
-// Set the content type
-header("Content-type: text/html; charset=UTF-8");
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<?php echo elgg_view('page/elements/head', $vars); ?>
-</head>
-<body>
- <div class="elgg-page elgg-page-admin">
- <?php echo $vars['body']; ?>
- </div>
- <?php echo elgg_view('footer/analytics'); ?>
-</body>
-
-</html> \ No newline at end of file
diff --git a/views/default/page/shells/default.php b/views/default/page/shells/default.php
deleted file mode 100644
index 775eb4acc..000000000
--- a/views/default/page/shells/default.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Elgg pageshell
- * The standard HTML page shell that everything else fits into
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['title'] The page title
- * @uses $vars['body'] The main content of the page
- * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
- */
-
-// backward compatability support for plugins that are not using the new approach
-// of routing through pg/admin. See reportedcontent plugin for a simple example.
-if (elgg_get_context() == 'admin') {
- elgg_deprecated_notice("admin plugins should route through pg/admin.", 1.8);
- elgg_admin_add_plugin_settings_menu();
- elgg_unregister_css('screen');
- echo elgg_view('page/shells/admin', $vars);
- return true;
-}
-
-// Set the content type
-header("Content-type: text/html; charset=UTF-8");
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<?php echo elgg_view('page/elements/head', $vars); ?>
-</head>
-<body>
-<div class="elgg-page elgg-page-classic">
- <div class="elgg-page-messages">
- <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
- </div>
-
- <?php if (elgg_is_logged_in()): ?>
- <div class="elgg-page-topbar">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/topbar', $vars); ?>
- </div>
- </div>
- <?php endif; ?>
-
- <div class="elgg-page-header">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/header', $vars); ?>
- </div>
- </div>
- <div class="elgg-page-body">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/body', $vars); ?>
- </div>
- </div>
- <div class="elgg-page-footer">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/footer', $vars); ?>
- </div>
- </div>
-</div>
-<?php echo elgg_view('footer/analytics'); ?>
-</body>
-</html> \ No newline at end of file
diff --git a/views/default/page/shells/upgrade.php b/views/default/page/shells/upgrade.php
deleted file mode 100644
index b598c3c6a..000000000
--- a/views/default/page/shells/upgrade.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Page shell for upgrade script
- *
- * Displays an ajax loader until upgrade is complete
- */
-?>
-<html>
- <head>
- <title><?php echo elgg_echo('upgrading'); ?></title>
- <meta http-equiv="refresh" content="1;url=<?php echo elgg_get_site_url(); ?>upgrade.php?upgrade=upgrade"/>
- </head>
- <body bgcolor="white">
- <table width="100%" height="100%" border="0" style="margin: 0px; padding: 0px">
- <tr>
- <td width="100%" height="100%" valign="middle" align="center">
- <img src="<?php echo elgg_get_site_url(); ?>_graphics/ajax_loader_bw.gif" alt="upgrading" />
- </td>
- </tr>
- </table>
- </body>
-</html> \ No newline at end of file
diff --git a/views/default/page/shells/walled_garden.php b/views/default/page/shells/walled_garden.php
deleted file mode 100644
index 74b4f3029..000000000
--- a/views/default/page/shells/walled_garden.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/**
- *
- */
-
-// Set the content type
-header("Content-type: text/html; charset=UTF-8");
-
-// Set title
-$site_title = elgg_get_config('sitename');
-if (empty($vars['title'])) {
- $title = $site_title;
-} else if (empty($site_title)) {
- $title = $vars['title'];
-} else {
- $title = $site_title . ": " . $vars['title'];
-}
-
-// @todo - move the css below into it's own style-sheet
-// that is called when running as a private network
-?>
-<html>
-<head>
-<?php echo elgg_view('page/elements/head', $vars); ?>
- <style type="text/css">
- /* ***************************************
- WalledGarden
- *************************************** */
- .elgg-grid-walledgarden {
- margin:100px auto 0 auto;
- padding:0;
- width:600px;
- text-align: left;
- word-wrap:break-word;
- background: gray;
- }
-
- .elgg-grid-walledgarden > .elgg-col {
- background: white;
- }
-
- .elgg-heading-walledgarden {
- color:#666666;
- margin-top:80px;
- line-height: 1.1em;
- }
-
- .walledgardenlogin h2 {
- color:#666666;
- border-bottom:1px solid #CCCCCC;
- margin-bottom:5px;
- padding-bottom:5px;
- }
-
-
- </style>
-</head>
-<body>
-<div class="elgg-page elgg-page-walledgarden">
- <div class="elgg-page-messages">
- <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
- </div>
- <div class="elgg-page-body">
- <div class="elgg-inner">
- <div class="elgg-grid elgg-grid-walledgarden">
- <div class="elgg-col elgg-col-1of2">
- <h1 class="elgg-heading-walledgarden">Welcome to:<br /><?php echo $title; ?></h1>
- </div>
- <div class="elgg-col elgg-col-1of2">
- <?php echo $vars['body']; ?>
- </div>
- </div>
- </div>
- </div>
-</div>
-<?php echo elgg_view('footer/analytics'); ?>
-</body>
-</html> \ No newline at end of file
diff --git a/views/default/page/upgrade.php b/views/default/page/upgrade.php
new file mode 100644
index 000000000..1a92042be
--- /dev/null
+++ b/views/default/page/upgrade.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Page shell for upgrade script
+ *
+ * Displays an ajax loader until upgrade is complete
+ */
+?>
+<html>
+ <head>
+ <?php echo elgg_view('page/elements/head', $vars); ?>
+ <meta http-equiv="refresh" content="1;url=<?php echo elgg_get_site_url(); ?>upgrade.php?upgrade=upgrade"/>
+ </head>
+ <body>
+ <div style="margin-top:200px">
+ <?php echo elgg_view('graphics/ajax_loader', array('hidden' => false)); ?>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/views/default/page/walled_garden.php b/views/default/page/walled_garden.php
new file mode 100644
index 000000000..b280cf6b2
--- /dev/null
+++ b/views/default/page/walled_garden.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Walled garden page shell
+ *
+ * Used for the walled garden index page
+ */
+
+$is_sticky_register = elgg_is_sticky_form('register');
+$wg_body_class = 'elgg-body-walledgarden';
+if ($is_sticky_register) {
+ $wg_body_class .= ' hidden';
+}
+
+// Set the content type
+header("Content-type: text/html; charset=UTF-8");
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<?php echo elgg_view('page/elements/head', $vars); ?>
+</head>
+<body>
+<div class="elgg-page elgg-page-walledgarden">
+ <div class="elgg-page-messages">
+ <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
+ </div>
+ <div class="<?php echo $wg_body_class; ?>">
+ <?php echo $vars['body']; ?>
+ </div>
+</div>
+<?php if ($is_sticky_register): ?>
+<script type="text/javascript">
+elgg.register_hook_handler('init', 'system', function() {
+ $('.registration_link').trigger('click');
+});
+</script>
+<?php endif; ?>
+<?php echo elgg_view('page/elements/foot'); ?>
+</body>
+</html> \ No newline at end of file
diff --git a/views/default/profile/icon.php b/views/default/profile/icon.php
index dfbea45a0..5f06cfd54 100644
--- a/views/default/profile/icon.php
+++ b/views/default/profile/icon.php
@@ -9,8 +9,9 @@
* @uses $vars['override']
* @uses $vars['js']
*/
+elgg_deprecated_notice('The profile/icon view was deprecated. Use elgg_view_entity_icon()', 1.8);
$override = elgg_extract('override', $vars, false);
-$vars['hover'] = !$override;
+$vars['use_hover'] = !$override;
echo elgg_view('icon/user/default', $vars);
diff --git a/views/default/river/annotation/generic_comment/create.php b/views/default/river/annotation/generic_comment/create.php
index aabb6a9c6..7d586450d 100644
--- a/views/default/river/annotation/generic_comment/create.php
+++ b/views/default/river/annotation/generic_comment/create.php
@@ -5,26 +5,7 @@
$object = $vars['item']->getObjectEntity();
$comment = $vars['item']->getAnnotation();
-$url = $object->getURL();
-$title = $object->title;
-if (!$title) {
- $title = elgg_echo('untitled');
-}
-$params = array(
- 'href' => $object->getURL(),
- 'text' => $title,
-);
-$object_link = elgg_view('output/url', $params);
-
-$type = $object->getType();
-$subtype = $object->getSubtype();
-
-$type_string = elgg_echo("river:commented:$type:$subtype");
-echo elgg_echo('river:generic_comment', array($type_string, $object_link));
-
-if ($comment) {
- $excerpt = elgg_get_excerpt($comment->value);
- echo '<div class="elgg-river-content">';
- echo $excerpt;
- echo '</div>';
-}
+echo elgg_view('river/elements/layout', array(
+ 'item' => $vars['item'],
+ 'message' => elgg_get_excerpt($comment->value),
+));
diff --git a/views/default/river/annotation/likes/create.php b/views/default/river/annotation/likes/create.php
deleted file mode 100644
index 374f4a381..000000000
--- a/views/default/river/annotation/likes/create.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/**
- * Likes river view
- */
-$object = $vars['item']->getObjectEntity();
-$comment = $vars['item']->getAnnotation();
-
-$url = $object->getURL();
-$title = $object->title;
-if (!$title) {
- $title = elgg_echo('untitled');
-}
-$params = array(
- 'href' => $object->getURL(),
- 'text' => $title,
-);
-$object_link = elgg_view('output/url', $params);
-
-$type = $object->getType();
-$subtype = $object->getSubtype();
-
-$type_string = elgg_echo("river:commented:$type:$subtype");
-echo elgg_echo('river:likes', array($type_string, $object_link));
diff --git a/views/default/river/elements/body.php b/views/default/river/elements/body.php
new file mode 100644
index 000000000..2cd7f2289
--- /dev/null
+++ b/views/default/river/elements/body.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Body of river item
+ *
+ * @uses $vars['item'] ElggRiverItem
+ * @uses $vars['summary'] Alternate summary (the short text summary of action)
+ * @uses $vars['message'] Optional message (usually excerpt of text)
+ * @uses $vars['attachments'] Optional attachments (displaying icons or other non-text data)
+ * @uses $vars['responses'] Alternate respones (comments, replies, etc.)
+ */
+
+$item = $vars['item'];
+
+$menu = elgg_view_menu('river', array(
+ 'item' => $item,
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+));
+
+// river item header
+$timestamp = elgg_view_friendly_time($item->getPostedTime());
+
+$summary = elgg_extract('summary', $vars, elgg_view('river/elements/summary', array('item' => $vars['item'])));
+if ($summary === false) {
+ $subject = $item->getSubjectEntity();
+ $summary = elgg_view('output/url', array(
+ 'href' => $subject->getURL(),
+ 'text' => $subject->name,
+ 'class' => 'elgg-river-subject',
+ 'is_trusted' => true,
+ ));
+}
+
+$message = elgg_extract('message', $vars, false);
+if ($message !== false) {
+ $message = "<div class=\"elgg-river-message\">$message</div>";
+}
+
+$attachments = elgg_extract('attachments', $vars, false);
+if ($attachments !== false) {
+ $attachments = "<div class=\"elgg-river-attachments clearfix\">$attachments</div>";
+}
+
+$responses = elgg_view('river/elements/responses', $vars);
+if ($responses) {
+ $responses = "<div class=\"elgg-river-responses\">$responses</div>";
+}
+
+$group_string = '';
+$object = $item->getObjectEntity();
+$container = $object->getContainerEntity();
+if ($container instanceof ElggGroup && $container->guid != elgg_get_page_owner_guid()) {
+ $group_link = elgg_view('output/url', array(
+ 'href' => $container->getURL(),
+ 'text' => $container->name,
+ 'is_trusted' => true,
+ ));
+ $group_string = elgg_echo('river:ingroup', array($group_link));
+}
+
+echo <<<RIVER
+$menu
+<div class="elgg-river-summary">$summary $group_string <span class="elgg-river-timestamp">$timestamp</span></div>
+$message
+$attachments
+$responses
+RIVER;
diff --git a/views/default/core/river/image.php b/views/default/river/elements/image.php
index afb6b4019..6f6aeae65 100644
--- a/views/default/core/river/image.php
+++ b/views/default/river/elements/image.php
@@ -9,4 +9,8 @@
$subject = $vars['item']->getSubjectEntity();
-echo elgg_view("profile/icon", array('entity' => $subject, 'size' => 'small'));
+if (elgg_in_context('widgets')) {
+ echo elgg_view_entity_icon($subject, 'tiny');
+} else {
+ echo elgg_view_entity_icon($subject, 'small');
+}
diff --git a/views/default/river/elements/layout.php b/views/default/river/elements/layout.php
new file mode 100644
index 000000000..94622e272
--- /dev/null
+++ b/views/default/river/elements/layout.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Layout of a river item
+ *
+ * @uses $vars['item'] ElggRiverItem
+ */
+
+$item = $vars['item'];
+
+echo elgg_view('page/components/image_block', array(
+ 'image' => elgg_view('river/elements/image', $vars),
+ 'body' => elgg_view('river/elements/body', $vars),
+ 'class' => 'elgg-river-item',
+));
diff --git a/views/default/core/river/footer.php b/views/default/river/elements/responses.php
index ff960cebe..f6c32e142 100644
--- a/views/default/core/river/footer.php
+++ b/views/default/river/elements/responses.php
@@ -1,8 +1,18 @@
<?php
/**
* River item footer
+ *
+ * @uses $vars['item'] ElggRiverItem
+ * @uses $vars['responses'] Alternate override for this item
*/
+// allow river views to override the response content
+$responses = elgg_extract('responses', $vars, false);
+if ($responses) {
+ echo $responses;
+ return true;
+}
+
$item = $vars['item'];
$object = $item->getObjectEntity();
@@ -40,6 +50,7 @@ if ($comments) {
$params = array(
'href' => $url,
'text' => elgg_echo('river:comments:more', array($num_more_comments)),
+ 'is_trusted' => true,
);
$link = elgg_view('output/url', $params);
echo "<div class=\"elgg-river-more\">$link</div>";
@@ -47,7 +58,6 @@ if ($comments) {
}
// inline comment form
-echo elgg_view_form('comments/inline', array(
- 'action' => 'action/comments/add',
- 'id' => "elgg-togglee-{$object->getGUID()}",
-), array('entity' => $object));
+$form_vars = array('id' => "comments-add-{$object->getGUID()}", 'class' => 'hidden');
+$body_vars = array('entity' => $object, 'inline' => true);
+echo elgg_view_form('comments/add', $form_vars, $body_vars);
diff --git a/views/default/river/elements/summary.php b/views/default/river/elements/summary.php
new file mode 100644
index 000000000..d7bde51dd
--- /dev/null
+++ b/views/default/river/elements/summary.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Short summary of the action that occurred
+ *
+ * @vars['item'] ElggRiverItem
+ */
+
+$item = $vars['item'];
+
+$subject = $item->getSubjectEntity();
+$object = $item->getObjectEntity();
+$target = $object->getContainerEntity();
+
+$subject_link = elgg_view('output/url', array(
+ 'href' => $subject->getURL(),
+ 'text' => $subject->name,
+ 'class' => 'elgg-river-subject',
+ 'is_trusted' => true,
+));
+
+$object_text = $object->title ? $object->title : $object->name;
+$object_link = elgg_view('output/url', array(
+ 'href' => $object->getURL(),
+ 'text' => elgg_get_excerpt($object_text, 100),
+ 'class' => 'elgg-river-object',
+ 'is_trusted' => true,
+));
+
+$action = $item->action_type;
+$type = $item->type;
+$subtype = $item->subtype ? $item->subtype : 'default';
+
+$container = $object->getContainerEntity();
+if ($container instanceof ElggGroup) {
+ $params = array(
+ 'href' => $container->getURL(),
+ 'text' => $container->name,
+ 'is_trusted' => true,
+ );
+ $group_link = elgg_view('output/url', $params);
+ $group_string = elgg_echo('river:ingroup', array($group_link));
+}
+
+// check summary translation keys.
+// will use the $type:$subtype if that's defined, otherwise just uses $type:default
+$key = "river:$action:$type:$subtype";
+$summary = elgg_echo($key, array($subject_link, $object_link));
+
+if ($summary == $key) {
+ $key = "river:$action:$type:default";
+ $summary = elgg_echo($key, array($subject_link, $object_link));
+}
+
+echo $summary; \ No newline at end of file
diff --git a/views/default/river/item.php b/views/default/river/item.php
index 1f28bcb76..75767e08d 100644
--- a/views/default/river/item.php
+++ b/views/default/river/item.php
@@ -1,11 +1,30 @@
<?php
+/**
+ * Primary river item view
+ *
+ * Calls the individual view saved for that river item. Most of these
+ * individual river views then use the views in river/elements.
+ *
+ * @uses $vars['item'] ElggRiverItem
+ */
+
+// @todo remove this in Elgg 1.9
+global $_elgg_special_river_catch;
+if (!isset($_elgg_special_river_catch)) {
+ $_elgg_special_river_catch = false;
+}
+if ($_elgg_special_river_catch) {
+ // we changed the views a little in 1.8.1 so this catches the plugins that
+ // were updated in 1.8.0 and redirects to the layout view
+ echo elgg_view('river/elements/layout', $vars);
+ return true;
+}
+$_elgg_special_river_catch = true;
+
+
$item = $vars['item'];
-$vars = array(
- 'image' => elgg_view('core/river/image', array('item' => $item)),
- 'body' => elgg_view('core/river/body', array('item' => $item)),
- 'image_alt' => elgg_view('core/river/controls', array('item' => $item)),
- 'class' => 'elgg-river-item',
-);
+echo elgg_view($item->getView(), $vars);
+
-echo elgg_view('page/components/image_block', $vars); \ No newline at end of file
+$_elgg_special_river_catch = false;
diff --git a/views/default/river/relationship/friend/create.php b/views/default/river/relationship/friend/create.php
index 1e6514b4a..0408d79e1 100644
--- a/views/default/river/relationship/friend/create.php
+++ b/views/default/river/relationship/friend/create.php
@@ -5,18 +5,10 @@
$subject = $vars['item']->getSubjectEntity();
$object = $vars['item']->getObjectEntity();
-$params = array(
- 'href' => $object->getURL(),
- 'text' => $object->name,
-);
-$object_link = elgg_view('output/url', $params);
-$subject_icon = elgg_view("profile/icon", array('entity' => $subject, 'size' => 'tiny'));
-$object_icon = elgg_view("profile/icon", array('entity' => $object, 'size' => 'tiny'));
+$subject_icon = elgg_view_entity_icon($subject, 'tiny');
+$object_icon = elgg_view_entity_icon($object, 'tiny');
-echo elgg_echo("friends:river:add", array($object_link));
-
-echo '<div class="elgg-river-content clearfix">';
-echo $subject_icon;
-echo '<span class="elgg-icon elgg-icon-following"></span>';
-echo $object_icon;
-echo '</div>';
+echo elgg_view('river/elements/layout', array(
+ 'item' => $vars['item'],
+ 'attachments' => $subject_icon . elgg_view_icon('arrow-right') . $object_icon,
+));
diff --git a/views/default/river/user/default/profileiconupdate.php b/views/default/river/user/default/profileiconupdate.php
new file mode 100644
index 000000000..271064a06
--- /dev/null
+++ b/views/default/river/user/default/profileiconupdate.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Update avatar river view
+ */
+
+$subject = $vars['item']->getSubjectEntity();
+
+$subject_link = elgg_view('output/url', array(
+ 'href' => $subject->getURL(),
+ 'text' => $subject->name,
+ 'class' => 'elgg-river-subject',
+ 'is_trusted' => true,
+));
+
+$string = elgg_echo('river:update:user:avatar', array($subject_link));
+
+echo elgg_view('river/elements/layout', array(
+ 'item' => $vars['item'],
+ 'summary' => $string,
+ 'attachments' => elgg_view_entity_icon($subject, 'tiny', array(
+ 'use_hover' => false,
+ 'use_link' => false,
+ )),
+));
diff --git a/views/default/river/user/default/profileupdate.php b/views/default/river/user/default/profileupdate.php
new file mode 100644
index 000000000..ce72970d6
--- /dev/null
+++ b/views/default/river/user/default/profileupdate.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Update profile river view
+ */
+
+$subject = $vars['item']->getSubjectEntity();
+
+$subject_link = elgg_view('output/url', array(
+ 'href' => $subject->getURL(),
+ 'text' => $subject->name,
+ 'class' => 'elgg-river-subject',
+ 'is_trusted' => true,
+));
+
+$string = elgg_echo('river:update:user:profile', array($subject_link));
+
+echo elgg_view('river/elements/layout', array(
+ 'item' => $vars['item'],
+ 'summary' => $string,
+));
diff --git a/views/default/user/default.php b/views/default/user/default.php
index 2abc19991..6c84e84ad 100644
--- a/views/default/user/default.php
+++ b/views/default/user/default.php
@@ -2,49 +2,56 @@
/**
* Elgg user display
*
- * @package Elgg
- * @subpackage Core
+ * @uses $vars['entity'] ElggUser entity
+ * @uses $vars['size'] Size of the icon
*/
-$user = $vars['entity'];
+$entity = $vars['entity'];
+$size = elgg_extract('size', $vars, 'tiny');
-$icon = elgg_view('profile/icon', array('entity' => $user, 'size' => 'tiny'));
+$icon = elgg_view_entity_icon($entity, $size, $vars);
// Simple XFN
$rel = '';
-if (elgg_get_logged_in_user_guid() == $user->guid) {
+if (elgg_get_logged_in_user_guid() == $entity->guid) {
$rel = 'rel="me"';
-} elseif (check_entity_relationship(elgg_get_logged_in_user_guid(), 'friend', $user->guid)) {
+} elseif (check_entity_relationship(elgg_get_logged_in_user_guid(), 'friend', $entity->guid)) {
$rel = 'rel="friend"';
}
-$title = "<a href=\"" . $user->getUrl() . "\" $rel>" . $user->name . "</a>";
+$title = "<a href=\"" . $entity->getUrl() . "\" $rel>" . $entity->name . "</a>";
-
-$metadata = "<ul class=\"elgg-list-metadata\"><li>$user->location</li>";
-$metadata .= elgg_view("entity/metadata", array('entity' => $user));
-$metadata .= "</ul>";
+$metadata = elgg_view_menu('entity', array(
+ 'entity' => $entity,
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+));
if (elgg_in_context('owner_block') || elgg_in_context('widgets')) {
$metadata = '';
}
-if ($user->isBanned()) {
- $params = array(
- 'entity' => $user,
- 'title' => $title,
- 'metadata' => '<ul class="elgg-list-metadata"><li>banned</li></ul>',
- );
+if (elgg_get_context() == 'gallery') {
+ echo $icon;
} else {
- $params = array(
- 'entity' => $user,
- 'title' => $title,
- 'metadata' => $metadata,
- 'subtitle' => $user->briefdescription,
- 'content' => elgg_view('user/status', array('entity' => $user)),
- );
+ if ($entity->isBanned()) {
+ $banned = elgg_echo('banned');
+ $params = array(
+ 'entity' => $entity,
+ 'title' => $title,
+ 'metadata' => $metadata,
+ );
+ } else {
+ $params = array(
+ 'entity' => $entity,
+ 'title' => $title,
+ 'metadata' => $metadata,
+ 'subtitle' => $entity->briefdescription,
+ 'content' => elgg_view('user/status', array('entity' => $entity)),
+ );
+ }
+
+ $list_body = elgg_view('user/elements/summary', $params);
+
+ echo elgg_view_image_block($icon, $list_body, $vars);
}
-
-$list_body = elgg_view('layout/objects/list/body', $params);
-
-echo elgg_view_image_block($icon, $list_body);
diff --git a/views/default/user/elements/summary.php b/views/default/user/elements/summary.php
new file mode 100644
index 000000000..46d11c14c
--- /dev/null
+++ b/views/default/user/elements/summary.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * User summary
+ *
+ * @uses $vars['entity'] ElggEntity
+ * @uses $vars['title'] Title link (optional) false = no title, '' = default
+ * @uses $vars['metadata'] HTML for entity metadata and actions (optional)
+ * @uses $vars['subtitle'] HTML for the subtitle (optional)
+ * @uses $vars['tags'] HTML for the tags (optional)
+ * @uses $vars['content'] HTML for the entity content (optional)
+ */
+
+echo elgg_view('object/elements/summary', $vars);
diff --git a/views/default/user/search/finishblurb.php b/views/default/user/search/finishblurb.php
index 1e48d6145..a3878a803 100644
--- a/views/default/user/search/finishblurb.php
+++ b/views/default/user/search/finishblurb.php
@@ -10,7 +10,7 @@ elgg_deprecated_notice('view user/search/finishblurb was deprecated.', 1.7);
if ($vars['count'] > $vars['threshold']) {
?>
-<a href="<?php echo elgg_get_site_url(); ?>pg/search/users/?tag=<?php echo urlencode($vars['tag']); ?>"><?php
+<a href="<?php echo elgg_get_site_url(); ?>search/users?tag=<?php echo urlencode($vars['tag']); ?>"><?php
echo elgg_echo("user:search:finishblurb");
?></a>
<?php
diff --git a/views/default/widgets/admin_welcome/content.php b/views/default/widgets/admin_welcome/content.php
new file mode 100644
index 000000000..f4b92ea66
--- /dev/null
+++ b/views/default/widgets/admin_welcome/content.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Welcome widget for admins
+ */
+
+// section => string replacements.
+$sections = array(
+ 'intro' => array(),
+ 'admin_overview' => array(),
+ 'outro' => array()
+);
+
+// don't use longtext because it filters output.
+// that's annoying.
+echo '<div class="elgg-output">';
+foreach ($sections as $section => $strings) {
+ echo '<p>' . elgg_echo("admin:widget:admin_welcome:$section", $strings) . '</p>';
+}
+echo '</div>'; \ No newline at end of file
diff --git a/views/default/widgets/content_stats/content.php b/views/default/widgets/content_stats/content.php
index 568ebeeff..56772047d 100644
--- a/views/default/widgets/content_stats/content.php
+++ b/views/default/widgets/content_stats/content.php
@@ -19,7 +19,10 @@ foreach ($object_stats as $subtype => $num) {
}
echo '</table>';
+echo '<div class="mtm">';
echo elgg_view('output/url', array(
- 'href' => 'pg/admin/statistics/overview',
- 'text' => 'more',
+ 'href' => 'admin/statistics/overview',
+ 'text' => elgg_echo('more'),
+ 'is_trusted' => true,
));
+echo '</div>';
diff --git a/views/default/widgets/control_panel/content.php b/views/default/widgets/control_panel/content.php
new file mode 100644
index 000000000..a348d612f
--- /dev/null
+++ b/views/default/widgets/control_panel/content.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Admin control panel widget
+ */
+
+elgg_register_menu_item('admin_control_panel', array(
+ 'name' => 'flush',
+ 'text' => elgg_echo('admin:cache:flush'),
+ 'href' => 'action/admin/site/flush_cache',
+ 'is_action' => true,
+ 'link_class' => 'elgg-button elgg-button-action',
+));
+
+// @todo Move in this in ElggUpgradeManager::isLocked() when #4682 fixed
+$is_locked = _elgg_upgrade_is_locked();
+
+if (!$is_locked) {
+ elgg_register_menu_item('admin_control_panel', array(
+ 'name' => 'upgrade',
+ 'text' => elgg_echo('upgrade'),
+ 'href' => 'upgrade.php',
+ 'link_class' => 'elgg-button elgg-button-action',
+ ));
+} else {
+ elgg_register_menu_item('admin_control_panel', array(
+ 'name' => 'unlock_upgrade',
+ 'text' => elgg_echo('upgrade:unlock'),
+ 'href' => 'action/admin/site/unlock_upgrade',
+ 'is_action' => true,
+ 'link_class' => 'elgg-button elgg-button-action',
+ 'confirm' => elgg_echo('upgrade:unlock:confirm'),
+ ));
+}
+
+echo elgg_view_menu('admin_control_panel', array(
+ 'class' => 'elgg-menu-hz',
+ 'item_class' => 'mrm',
+));
diff --git a/views/default/widgets/friends/content.php b/views/default/widgets/friends/content.php
index e0385027d..98814c244 100644
--- a/views/default/widgets/friends/content.php
+++ b/views/default/widgets/friends/content.php
@@ -1,14 +1,9 @@
<?php
-
/**
- * Elgg Friends
* Friend widget display view
*
- * @package ElggFriends
- * @subpackage Core
*/
-
// owner of the widget
$owner = $vars['entity']->getOwnerEntity();
@@ -18,20 +13,13 @@ $num = (int) $vars['entity']->num_display;
// get the correct size
$size = $vars['entity']->icon_size;
-// Get the user's friends
-if ($owner) {
- $friends = $owner->getFriends("", $num);
-}
-// If there are any friends to view, view them
-if (is_array($friends) && sizeof($friends) > 0) {
-
- echo "<div id=\"widget_friends_list\">";
-
- foreach($friends as $friend) {
- echo "<div class=\"widget_friends_singlefriend\" >";
- echo elgg_view("profile/icon",array('entity' => get_user($friend->guid), 'size' => $size));
- echo "</div>";
+if (elgg_instanceof($owner, 'user')) {
+ $html = $owner->listFriends('', $num, array(
+ 'size' => $size,
+ 'list_type' => 'gallery',
+ 'pagination' => false
+ ));
+ if ($html) {
+ echo $html;
}
-
- echo "</div>";
}
diff --git a/views/default/widgets/new_users/content.php b/views/default/widgets/new_users/content.php
index cfa7d8bda..ba85e7421 100644
--- a/views/default/widgets/new_users/content.php
+++ b/views/default/widgets/new_users/content.php
@@ -1,7 +1,11 @@
<?php
+/**
+ * New users admin widget
+ */
echo elgg_list_entities(array(
'type' => 'user',
'subtype'=> null,
- 'full_view' => FALSE
+ 'full_view' => false,
+ 'pagination' => false,
)); \ No newline at end of file
diff --git a/views/default/widgets/online_users/content.php b/views/default/widgets/online_users/content.php
index e1ff69811..6e0cc7abb 100644
--- a/views/default/widgets/online_users/content.php
+++ b/views/default/widgets/online_users/content.php
@@ -1,3 +1,15 @@
<?php
+/**
+ * Online users widget
+ */
-echo $users_online = get_online_users(); \ No newline at end of file
+$count = find_active_users(600, 10, 0, true);
+$objects = find_active_users(600, 10);
+
+if ($objects) {
+ echo elgg_view_entity_list($objects, array(
+ 'count' => $count,
+ 'limit' => 10,
+ 'pagination' => false,
+ ));
+}
diff --git a/views/default/widgets/river_widget/content.php b/views/default/widgets/river_widget/content.php
new file mode 100644
index 000000000..867fc9db6
--- /dev/null
+++ b/views/default/widgets/river_widget/content.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Activity widget content view
+ */
+
+$num = (int) $vars['entity']->num_display;
+
+$options = array(
+ 'limit' => $num,
+ 'pagination' => false,
+);
+
+if (elgg_in_context('dashboard')) {
+ if ($vars['entity']->content_type == 'friends') {
+ $options['relationship_guid'] = elgg_get_page_owner_guid();
+ $options['relationship'] = 'friend';
+ }
+} else {
+ $options['subject_guid'] = elgg_get_page_owner_guid();
+}
+
+$content = elgg_list_river($options);
+if (!$content) {
+ $content = elgg_echo('river:none');
+}
+
+echo $content;
diff --git a/views/default/widgets/river_widget/edit.php b/views/default/widgets/river_widget/edit.php
new file mode 100644
index 000000000..228212e47
--- /dev/null
+++ b/views/default/widgets/river_widget/edit.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Edit settings for river widget
+ */
+
+// dashboard widget has type parameter
+if (elgg_in_context('dashboard')) {
+ if (!isset($vars['entity']->content_type)) {
+ $vars['entity']->content_type = 'friends';
+ }
+ $params = array(
+ 'name' => 'params[content_type]',
+ 'value' => $vars['entity']->content_type,
+ 'options_values' => array(
+ 'friends' => elgg_echo('river:widgets:friends'),
+ 'all' => elgg_echo('river:widgets:all'),
+ ),
+ );
+ $type_dropdown = elgg_view('input/dropdown', $params);
+ ?>
+ <div>
+ <?php echo elgg_echo('river:widget:type'); ?>:
+ <?php echo $type_dropdown; ?>
+ </div>
+ <?php
+}
+
+
+// set default value for number to display
+if (!isset($vars['entity']->num_display)) {
+ $vars['entity']->num_display = 8;
+}
+
+$params = array(
+ 'name' => 'params[num_display]',
+ 'value' => $vars['entity']->num_display,
+ 'options' => array(5, 8, 10, 12, 15, 20),
+);
+$num_dropdown = elgg_view('input/dropdown', $params);
+
+?>
+<div>
+ <?php echo elgg_echo('widget:numbertodisplay'); ?>:
+ <?php echo $num_dropdown; ?>
+</div>
+
+<?php
+// pass the context so we have the correct output upon save.
+if (elgg_in_context('dashboard')) {
+ $context = 'dashboard';
+} else {
+ $context = 'profile';
+}
+
+echo elgg_view('input/hidden', array(
+ 'name' => 'context',
+ 'value' => $context
+)); \ No newline at end of file
diff --git a/views/failsafe/canvas/default.php b/views/failsafe/canvas/default.php
deleted file mode 100644
index 4b8d12e6d..000000000
--- a/views/failsafe/canvas/default.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-} \ No newline at end of file
diff --git a/views/failsafe/messages/exceptions/admin_exception.php b/views/failsafe/messages/exceptions/admin_exception.php
new file mode 100644
index 000000000..57665d9c0
--- /dev/null
+++ b/views/failsafe/messages/exceptions/admin_exception.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Elgg exception (failsafe mode)
+ * Displays a single exception
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @uses $vars['object'] An exception
+ */
+
+?>
+
+<p class="elgg-messages-exception">
+ <span title="<?php echo get_class($vars['object']); ?>">
+ <?php
+
+ echo nl2br($vars['object']->getMessage());
+
+ ?>
+ </span>
+</p>
+
+<p class="elgg-messages-exception">
+ <?php
+
+ echo nl2br(htmlentities(print_r($vars['object'], true), ENT_QUOTES, 'UTF-8'));
+
+ ?>
+</p> \ No newline at end of file
diff --git a/views/failsafe/messages/exceptions/exception.php b/views/failsafe/messages/exceptions/exception.php
index 9fa7dc2a4..1873ca0d9 100644
--- a/views/failsafe/messages/exceptions/exception.php
+++ b/views/failsafe/messages/exceptions/exception.php
@@ -11,28 +11,10 @@
?>
-<p class="messages_exception">
- <span title="<?php echo get_class($vars['object']); ?>">
- <?php
-
- echo nl2br($vars['object']->getMessage());
-
- ?>
+<p class="elgg-messages-exception">
+ <span title="Unrecoverable Error">
+ <?php echo elgg_echo('exception:contact_admin'); ?>
+ <br /><br />
+ Exception #<?php echo $vars['ts']; ?>.
</span>
</p>
-
-<?php
-
-if (elgg_get_config('debug')) {
-?>
-
-<p class="messages_exception">
- <?php
-
- echo nl2br(htmlentities(print_r($vars['object'], true), ENT_QUOTES, 'UTF-8'));
-
- ?>
-</p>
-<?php
-
-}
diff --git a/views/failsafe/page/shells/default.php b/views/failsafe/page/default.php
index 0ce63cc1d..6d628ebbb 100644
--- a/views/failsafe/page/shells/default.php
+++ b/views/failsafe/page/default.php
@@ -33,7 +33,7 @@ header('Content-type: text/html; charset=utf-8');
p {
margin: 0px 0px 15px 0;
}
- #wrapper {
+ #elgg-wrapper {
background:white;
width:570px;
margin:auto;
@@ -43,7 +43,7 @@ header('Content-type: text/html; charset=utf-8');
border-right: 1px solid #666666;
border-bottom: 1px solid #666666;
}
- .messages_exception {
+ .elgg-messages-exception {
background:#FDFFC3;
display:block;
padding:10px;
@@ -52,7 +52,7 @@ header('Content-type: text/html; charset=utf-8');
</head>
<body>
- <div id="wrapper">
+ <div id="elgg-wrapper">
<h1><?php echo $vars['title']; ?></h1>
<?php echo $vars['body']; ?>
</div>
diff --git a/views/foaf/canvas/default.php b/views/foaf/canvas/default.php
deleted file mode 100644
index 4b8d12e6d..000000000
--- a/views/foaf/canvas/default.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-} \ No newline at end of file
diff --git a/views/foaf/page/shells/default.php b/views/foaf/page/default.php
index f955279d0..fad46ed35 100644
--- a/views/foaf/page/shells/default.php
+++ b/views/foaf/page/default.php
@@ -6,7 +6,7 @@
* @subpackage Core
*
* // @todo removed below because blog is a plugin
- * <foaf:weblog rdf:resource="<?php echo elgg_get_site_url(); ?>pg/blog/<?php echo $owner->username; ?>" />
+ * <foaf:weblog rdf:resource="<?php echo elgg_get_site_url(); ?>blog/<?php echo $owner->username; ?>" />
*/
header("Content-Type: text/xml");
@@ -42,8 +42,6 @@ if (!$owner = elgg_get_page_owner_entity()) {
<foaf:name><?php echo $owner->name; ?></foaf:name>
<foaf:homepage rdf:resource="<?php echo $owner->getURL(); ?>" />
<foaf:depiction rdf:resource="<?php echo elgg_format_url($owner->getIconURL('large')); ?>" />
- <?php
- echo $vars['body'];
- ?>
+<?php echo $vars['body']; ?>
</foaf:Person>
</rdf:RDF>
diff --git a/views/foaf/search/entity_list.php b/views/foaf/search/entity_list.php
deleted file mode 100644
index b786865d7..000000000
--- a/views/foaf/search/entity_list.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-$entities = $vars['entities'];
-if (is_array($entities) && sizeof($entities) > 0) {
- foreach($entities as $entity) {
- echo elgg_view_entity($entity);
- }
-} \ No newline at end of file
diff --git a/views/foaf/user/default.php b/views/foaf/user/default.php
index 8d059bc6b..dcba55562 100644
--- a/views/foaf/user/default.php
+++ b/views/foaf/user/default.php
@@ -6,7 +6,8 @@
* @subpackage Core
*/
-$friends=get_user_friends(elgg_get_page_owner_guid(), $subtype = "", $limit = 10000, $offset = 0);
+// @todo update when get_user_friends is deprecated in 1.9
+$friends = get_user_friends(elgg_get_page_owner_guid(), $subtype = "", $limit = 10000, $offset = 0);
foreach ($friends as $friend) {
?>
diff --git a/views/ical/canvas/default.php b/views/ical/canvas/default.php
deleted file mode 100644
index 833b46e74..000000000
--- a/views/ical/canvas/default.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Elgg ICAL output
- *
- * @package Elgg
- * @subpackage Core
- *
- */
-
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-} \ No newline at end of file
diff --git a/views/ical/export/entity.php b/views/ical/export/entity.php
index caa60c7a5..eaa3b56d8 100644
--- a/views/ical/export/entity.php
+++ b/views/ical/export/entity.php
@@ -9,23 +9,25 @@
$entity = $vars['entity'];
-if (
- ($entity instanceof Notable) &&
- ($entity->getCalendarStartTime()) &&
- ($entity->getCalendarEndTime())
-)
-{
-?>
+if ($entity instanceof Notable &&
+ $entity->getCalendarStartTime() &&
+ $entity->getCalendarEndTime()) {
+
+ $timestamp = date("Ymd\THis\Z", $entity->getTimeCreated());
+ $start = date("Ymd\THis\Z", $entity->getCalendarStartTime());
+ $end = date("Ymd\THis\Z", $entity->getCalendarEndTime());
+ $summary = $entity->title;
+ $modified = date("Ymd\THis\Z", $entity->getTimeUpdated());
+
+ echo <<< ICAL
BEGIN:VEVENT
-DTSTAMP:<?php echo date("Ymd\THis\Z", $entity->getTimeCreated()); ?>
-DTSTART:<?php echo date("Ymd\THis\Z", $entity->getCalendarStartTime()); ?>
-DTEND:<?php echo date("Ymd\THis\Z", $entity->getCalendarEndTime()); ?>
-SUMMARY:<?php echo $event->title; ?>
-LAST-MODIFIED:<?php echo date("Ymd\THis\Z", $entity->getTimeUpdated()); ?>
+DTSTAMP:$timestamp
+DTSTART:$start
+DTEND:$end
+SUMMARY:$summary
+LAST-MODIFIED:$modified
END:VEVENT
-<?php
-}
-?>
- if (
- ) \ No newline at end of file
+ICAL;
+
+}
diff --git a/views/ical/object/default.php b/views/ical/object/default.php
index 678676133..77183bb8a 100644
--- a/views/ical/object/default.php
+++ b/views/ical/object/default.php
@@ -7,4 +7,4 @@
*
*/
-elgg_view('export/entity', $vars); \ No newline at end of file
+echo elgg_view('export/entity', $vars); \ No newline at end of file
diff --git a/views/ical/page/shells/default.php b/views/ical/page/default.php
index 9a529b24f..01bd9e86e 100644
--- a/views/ical/page/shells/default.php
+++ b/views/ical/page/default.php
@@ -7,12 +7,13 @@
*
*/
+$site = elgg_get_site_entity();
+
header("Content-Type: text/calendar");
-echo $vars['body'];
?>
BEGIN:VCALENDAR
VERSION:2.0
-PRODID:-//Curverider Ltd//NONSGML Elgg <?php echo get_version(true); ?>//EN
+PRODID:-//Elgg//NONSGML <?php echo $site->name; ?>//EN
<?php echo $vars['body']; ?>
END:VCALENDAR
diff --git a/views/ical/search/entity_list.php b/views/ical/search/entity_list.php
deleted file mode 100644
index 38c19fbb7..000000000
--- a/views/ical/search/entity_list.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$entities = $vars['entities'];
-if (is_array($entities) && sizeof($entities) > 0) {
- foreach($entities as $entity)
- echo elgg_view_entity($entity);
-} \ No newline at end of file
diff --git a/views/installation/install/forms/template.php b/views/installation/forms/install/template.php
index 5e44d928e..a01914f12 100644
--- a/views/installation/install/forms/template.php
+++ b/views/installation/forms/install/template.php
@@ -15,29 +15,16 @@ foreach ($variables as $field => $params) {
$help = elgg_echo("install:$type:help:$field");
$params['name'] = $field;
- $form_body .= '<p>';
+ $form_body .= '<div>';
$form_body .= "<label>$label</label>";
$form_body .= elgg_view("input/{$params['type']}", $params);
$form_body .= "<span class=\"install-help\">$help</span>";
- $form_body .= '</p>';
+ $form_body .= '</div>';
}
$submit_params = array(
- 'value' => elgg_echo('next'),
+ 'value' => elgg_echo('install:next'),
);
$form_body .= elgg_view('input/submit', $submit_params);
echo $form_body;
-
-?>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
- var was_submitted = false;
- function elggCheckFormSubmission() {
- if (was_submitted == false) {
- was_submitted = true;
- return true;
- }
- return false;
- }
-</script>
diff --git a/views/installation/input/access.php b/views/installation/input/access.php
index 3fde7295f..c3d4713bc 100644
--- a/views/installation/input/access.php
+++ b/views/installation/input/access.php
@@ -3,21 +3,12 @@
* Elgg access level input
* Displays a dropdown input field
*
- * @package Elgg
- * @subpackage Core
- *
* @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
* @uses $vars['name'] The name of the input field
*
*/
-if (isset($vars['class'])) {
- $class = $vars['class'];
-}
-if (!$class) {
- $class = "elgg-input-access";
-}
+$class = "elgg-input-access";
if ((!isset($vars['options'])) || (!is_array($vars['options']))) {
$vars['options'] = array();
@@ -28,7 +19,7 @@ if (is_array($vars['options']) && sizeof($vars['options']) > 0) {
?>
- <select name="<?php echo $vars['name']; ?>" <?php if (isset($vars['js'])) echo $vars['js']; ?> <?php if ((isset($vars['disabled'])) && ($vars['disabled'])) echo ' disabled="yes" '; ?> class="<?php echo $class; ?>">
+ <select name="<?php echo $vars['name']; ?>" class="<?php echo $class; ?>">
<?php
foreach($vars['options'] as $key => $option) {
@@ -44,4 +35,4 @@ if (is_array($vars['options']) && sizeof($vars['options']) > 0) {
<?php
-} \ No newline at end of file
+}
diff --git a/views/installation/input/button.php b/views/installation/input/button.php
index a69f7dbfa..ec90fed9d 100644
--- a/views/installation/input/button.php
+++ b/views/installation/input/button.php
@@ -1,25 +1,24 @@
<?php
/**
* Create a input button
- * Use this view for forms rather than creating a submit/reset button tag in the wild as it provides
- * extra security which help prevent CSRF attacks.
- *
- * @package Elgg
- * @subpackage Core
*
* @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
* @uses $vars['name'] The name of the input field
- * @uses $vars['type'] Submit or reset, defaults to submit.
- * @uses $vars['src'] Src of an image
- *
+ * @uses $vars['type'] submit or button.
*/
-$class = $vars['class'];
-if (!$class) {
+if (isset($vars['class'])) {
+ $class = $vars['class'];
+} else {
$class = "elgg-button-submit";
}
+if (isset($vars['name'])) {
+ $name = $vars['name'];
+} else {
+ $name = '';
+}
+
if (isset($vars['type'])) {
$type = strtolower($vars['type']);
} else {
@@ -30,20 +29,12 @@ switch ($type) {
case 'button' :
$type='button';
break;
- case 'reset' :
- $type='reset';
- break;
case 'submit':
default:
$type = 'submit';
}
$value = htmlentities($vars['value'], ENT_QUOTES, 'UTF-8');
-$name = $vars['name'];
-$src = $vars['src'];
-// blank src if trying to access an offsite image.
-if (strpos($src, elgg_get_site_url()) === false) {
- $src = "";
-}
+
?>
-<input type="<?php echo $type; ?>" <?php if (isset($vars['id'])) echo "id=\"{$vars['id']}\"";?> <?php echo $vars['js']; ?> value="<?php echo $value; ?>" src="<?php echo $src; ?>" class="<?php echo $class; ?>" /> \ No newline at end of file
+<input type="<?php echo $type; ?>" value="<?php echo $value; ?>" class="<?php echo $class; ?>" /> \ No newline at end of file
diff --git a/views/installation/input/checkbox.php b/views/installation/input/checkbox.php
new file mode 100644
index 000000000..6fbe25169
--- /dev/null
+++ b/views/installation/input/checkbox.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Elgg checkbox input
+ * Displays a checkbox input tag
+ *
+ * @uses $var['name']
+ * @uses $vars['value']
+ * @uses $vars['class']
+ */
+
+
+if (isset($vars['class'])) {
+ $id = "class=\"{$vars['class']}\"";
+} else {
+ $id = '';
+}
+
+if (!isset($vars['value'])) {
+ $vars['value'] = $vars['name'];
+}
+
+?>
+
+<input type="checkbox" <?php echo $class; ?> name="<?php echo $vars['name']; ?>" value="<?php echo $vars['value']; ?>" /> \ No newline at end of file
diff --git a/views/installation/input/checkboxes.php b/views/installation/input/checkboxes.php
deleted file mode 100644
index 164509831..000000000
--- a/views/installation/input/checkboxes.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Elgg checkbox input
- * Displays a checkbox input field
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
- * @uses $vars['name'] The name of the input field
- * @uses $vars['options'] An array of strings representing the options for the checkbox field
- *
- */
-
-$class = $vars['class'];
-if (!$class) {
- $class = "elgg-input-checkboxes";
-}
-
-foreach($vars['options'] as $label => $option) {
- //if (!in_array($option,$vars['value'])) {
- if (is_array($vars['value'])) {
- if (!in_array($option,$vars['value'])) {
- $selected = "";
- } else {
- $selected = "checked = \"checked\"";
- }
- } else {
- if ($option != $vars['value']) {
- $selected = "";
- } else {
- $selected = "checked = \"checked\"";
- }
- }
-
- // handle indexed array where label is not specified
- // @todo deprecate in Elgg 1.8
- if (is_integer($label)) {
- $label = $option;
- }
-
- $disabled = "";
- if ($vars['disabled']) {
- $disabled = ' disabled="yes" ';
- }
- echo "<label><input type=\"checkbox\" $disabled {$vars['js']} name=\"{$vars['name']}[]\" {$selected} value=\"".htmlentities($option, ENT_QUOTES, 'UTF-8')."\" {$selected} class=\"$class\" />{$label}</label><br />";
-} \ No newline at end of file
diff --git a/views/installation/input/combo.php b/views/installation/input/combo.php
new file mode 100644
index 000000000..508dbcd01
--- /dev/null
+++ b/views/installation/input/combo.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Combination of text box and check box. When the checkbox is checked, the
+ * text field is cleared and disabled.
+ *
+ */
+
+$label = elgg_echo('install:label:combo:' . $vars['name']);
+
+$vars['class'] = "elgg-combo-text";
+echo elgg_view('input/text', $vars);
+
+$vars['class'] = "elgg-combo-checkbox";
+$vars['value'] = "{$vars['name']}-checkbox";
+echo elgg_view('input/checkbox', $vars);
+
+echo "<label class=\"elgg-combo-label\">$label</label>";
+
+echo '<div class="clearfloat"></div>'; \ No newline at end of file
diff --git a/views/installation/input/dropdown.php b/views/installation/input/dropdown.php
index 141ff65b0..cf875492e 100644
--- a/views/installation/input/dropdown.php
+++ b/views/installation/input/dropdown.php
@@ -3,27 +3,20 @@
* Elgg dropdown input
* Displays a dropdown input field
*
- * @package Elgg
- * @subpackage Core
- *
* @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
* @uses $vars['name'] The name of the input field
* @uses $vars['options'] An array of strings representing the options for the dropdown field
* @uses $vars['options_values'] An associative array of "value" => "option" where "value" is an internal name and "option" is
* the value displayed on the button. Replaces $vars['options'] when defined.
*/
+$class = "elgg-input-dropdown";
-$class = $vars['class'];
-if (!$class) {
- $class = "elgg-input-dropdown";
-}
?>
-<select name="<?php echo $vars['name']; ?>" <?php echo $vars['js']; ?> <?php if ($vars['disabled']) echo ' disabled="yes" '; ?> class="<?php echo $class; ?>">
+<select name="<?php echo $vars['name']; ?>" class="<?php echo $class; ?>">
<?php
-if ($vars['options_values']) {
- foreach($vars['options_values'] as $value => $option) {
+if (isset($vars['options_values'])) {
+ foreach ($vars['options_values'] as $value => $option) {
if ($value != $vars['value']) {
echo "<option value=\"$value\">{$option}</option>";
} else {
@@ -31,7 +24,7 @@ if ($vars['options_values']) {
}
}
} else {
- foreach($vars['options'] as $option) {
+ foreach ($vars['options'] as $option) {
if ($option != $vars['value']) {
echo "<option>{$option}</option>";
} else {
@@ -40,4 +33,4 @@ if ($vars['options_values']) {
}
}
?>
-</select> \ No newline at end of file
+</select>
diff --git a/views/installation/input/form.php b/views/installation/input/form.php
index b131c9d10..3556413a8 100644
--- a/views/installation/input/form.php
+++ b/views/installation/input/form.php
@@ -1,36 +1,21 @@
<?php
/**
* Create a form for data submission.
- * Use this view for forms rather than creating a form tag in the wild as it provides
- * extra security which help prevent CSRF attacks.
*
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['body'] The body of the form (made up of other input/xxx views and html
- * @uses $vars['method'] Method (default POST)
- * @uses $vars['enctype'] How the form is encoded, default blank
+ * @uses $vars['body'] The body of the form (made up of other input/xxx views and html
* @uses $vars['action'] URL of the action being called
- *
+ * @uses $vars['method'] Method (default POST)
+ * @uses $vars['name'] Form name
*/
-if (isset($vars['id'])) {
- $id = $vars['id'];
-} else {
- $id = '';
-}
if (isset($vars['name'])) {
- $name = $vars['name'];
+ $name = "name=\"{$vars['name']}\"";
} else {
$name = '';
}
+
$body = $vars['body'];
$action = $vars['action'];
-if (isset($vars['enctype'])) {
- $enctype = $vars['enctype'];
-} else {
- $enctype = '';
-}
if (isset($vars['method'])) {
$method = $vars['method'];
} else {
@@ -39,13 +24,7 @@ if (isset($vars['method'])) {
$method = strtolower($method);
-// Generate a security header
-$security_header = "";
-if (!isset($vars['disable_security']) || $vars['disable_security'] != true) {
- $security_header = elgg_view('input/securitytoken');
-}
?>
-<form <?php if ($id) { ?>id="<?php echo $id; ?>" <?php } ?> <?php if ($name) { ?>name="<?php echo $name; ?>" <?php } ?> action="<?php echo $action; ?>" method="<?php echo $method; ?>" <?php if ($enctype!="") echo "enctype=\"$enctype\""; ?> <?php echo $vars['js']; ?>>
-<?php echo $security_header; ?>
+<form <?php echo $name; ?> action="<?php echo $action; ?>" method="<?php echo $method; ?>">
<?php echo $body; ?>
</form> \ No newline at end of file
diff --git a/views/installation/input/hidden.php b/views/installation/input/hidden.php
deleted file mode 100644
index c9800ebbb..000000000
--- a/views/installation/input/hidden.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/**
- * Create a hidden data field
- * Use this view for forms rather than creating a hidden tag in the wild as it provides
- * extra security which help prevent CSRF attacks.
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
- * @uses $vars['name'] The name of the input field
- *
- */
-?>
-<input type="hidden" <?php echo $vars['js']; ?> name="<?php echo $vars['name']; ?>" value="<?php echo htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); ?>" /> \ No newline at end of file
diff --git a/views/installation/input/longtext.php b/views/installation/input/longtext.php
deleted file mode 100644
index 820a51da4..000000000
--- a/views/installation/input/longtext.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Elgg long text input
- * Displays a long text input field
- *
- * @package Elgg
- * @subpackage Core
- *
- * @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
- * @uses $vars['name'] The name of the input field
- *
- */
-
-$class = $vars['class'];
-if (!$class) {
- $class = "elgg-input-textarea";
-}
-
-?>
-
-<textarea class="<?php echo $class; ?>" name="<?php echo $vars['name']; ?>" <?php if ($vars['disabled']) echo ' disabled="yes" '; ?> <?php echo $vars['js']; ?>><?php echo $vars['value']; ?></textarea> \ No newline at end of file
diff --git a/views/installation/input/password.php b/views/installation/input/password.php
index 8ba79228d..2265ab117 100644
--- a/views/installation/input/password.php
+++ b/views/installation/input/password.php
@@ -3,19 +3,15 @@
* Elgg password input
* Displays a password input field
*
- * @package Elgg
- * @subpackage Core
- *
* @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
* @uses $vars['name'] The name of the input field
*
*/
-$class = $vars['class'];
-if (!$class) {
- $class = "input-password";
-}
+$class = "input-password";
+
+$value = htmlentities($vars['value'], ENT_QUOTES, 'UTF-8');
+
?>
-<input type="password" <?php if ($vars['disabled']) echo ' disabled="yes" '; ?> <?php echo $vars['js']; ?> name="<?php echo $vars['name']; ?>" <?php if (isset($vars['id'])) echo "id=\"{$vars['id']}\""; ?> value="<?php echo htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); ?>" class="<?php echo $class; ?>" />
+<input type="password" name="<?php echo $vars['name']; ?>" value="<?php echo $value; ?>" class="<?php echo $class; ?>" />
diff --git a/views/installation/input/reset.php b/views/installation/input/reset.php
deleted file mode 100644
index 0c83a92ca..000000000
--- a/views/installation/input/reset.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Create a reset input button
- * Use this view for forms rather than creating a submit/reset button tag in the wild as it provides
- * extra security which help prevent CSRF attacks.
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$vars['type'] = 'reset';
-
-echo elgg_view('input/button', $vars); \ No newline at end of file
diff --git a/views/installation/input/securitytoken.php b/views/installation/input/securitytoken.php
deleted file mode 100644
index 75410848a..000000000
--- a/views/installation/input/securitytoken.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * CSRF security token view for use with secure forms.
- *
- * It is still recommended that you use input/form.
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$ts = time();
-$token = generate_action_token($ts);
-
-echo elgg_view('input/hidden', array('name' => '__elgg_token', 'value' => $token));
-echo elgg_view('input/hidden', array('name' => '__elgg_ts', 'value' => $ts));
diff --git a/views/installation/input/submit.php b/views/installation/input/submit.php
index aefb2ada6..5d891c380 100644
--- a/views/installation/input/submit.php
+++ b/views/installation/input/submit.php
@@ -1,11 +1,9 @@
<?php
/**
* Create a submit input button
- * Use this view for forms rather than creating a submit/reset button tag in the wild as it provides
- * extra security which help prevent CSRF attacks.
*
- * @package Elgg
- * @subpackage Core
+ * @uses $vars['value'] The current value, if any
+ * @uses $vars['name'] The name of the input field
*/
$vars['type'] = 'submit';
diff --git a/views/installation/input/text.php b/views/installation/input/text.php
index c59278b40..375b91c44 100644
--- a/views/installation/input/text.php
+++ b/views/installation/input/text.php
@@ -3,22 +3,18 @@
* Elgg text input
* Displays a text input field
*
- * @package Elgg
- * @subpackage Core
-
-
- *
* @uses $vars['value'] The current value, if any
- * @uses $vars['js'] Any Javascript to enter into the input tag
- * @uses $vars['name'] The name of the input field
- * @uses $vars['disabled'] If true then control is read-only
- * @uses $vars['class'] Class override
+ * @uses $vars['name'] The name of the input field
+ * @uses $vars['class'] CSS class
*/
-$class = $vars['class'];
-if (!$class) {
- $class = "input-text";
+if (isset($vars['class'])) {
+ $class = "class=\"{$vars['class']}\"";
+} else {
+ $class = "elgg-input-text";
}
+$value = htmlentities($vars['value'], ENT_QUOTES, 'UTF-8');
+
?>
-<input type="text" <?php if ($vars['disabled']) echo ' disabled="yes" '; ?> <?php echo $vars['js']; ?> name="<?php echo $vars['name']; ?>" value="<?php echo htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); ?>" class="<?php echo $class ?>"/> \ No newline at end of file
+<input type="text" name="<?php echo $vars['name']; ?>" value="<?php echo $value; ?>" <?php echo $class; ?> /> \ No newline at end of file
diff --git a/views/installation/install/footer.php b/views/installation/install/footer.php
deleted file mode 100644
index 69cd27f66..000000000
--- a/views/installation/install/footer.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-/**
- * Install footer - offers help links
- */
-?>
-<ul>
- <li><a href="http://docs.elgg.org/wiki/Installation">Install instructions</a></li>
- <li><a href="http://docs.elgg.org/wiki/Install_Troubleshooting">Install troubleshooting</a></li>
- <li><a href="http://community.elgg.org/pg/groups/world/">Elgg community forums</a></li>
-</ul> \ No newline at end of file
diff --git a/views/installation/install/forms/admin.php b/views/installation/install/forms/admin.php
deleted file mode 100644
index d860096cf..000000000
--- a/views/installation/install/forms/admin.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Admin account form
- *
- * @uses $vars['variables'] Array of form variables. See ElggInstaller.
- *
- * @todo Forms 1.8: Convert to use elgg_view_form
- */
-
-$vars['type'] = 'admin';
-$form_body = elgg_view('install/forms/template', $vars);
-
-$url = current_page_url();
-
-$params = array(
- 'body' => $form_body,
- 'action' => $url,
- 'disable_security' => TRUE,
- 'js' => 'onsubmit="return elggCheckFormSubmission()"',
-);
-echo elgg_view('input/form', $params);
diff --git a/views/installation/install/forms/database.php b/views/installation/install/forms/database.php
deleted file mode 100644
index 02e3816ee..000000000
--- a/views/installation/install/forms/database.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Database form
- *
- * @uses $vars['variables'] Array of form variables. See ElggInstaller.
- *
- * @todo Forms 1.8: Convert to use elgg_view_form
- */
-
-$vars['type'] = 'database';
-$form_body = elgg_view('install/forms/template', $vars);
-
-$url = current_page_url();
-
-$params = array(
- 'body' => $form_body,
- 'action' => $url,
- 'disable_security' => TRUE,
- 'js' => 'onsubmit="return elggCheckFormSubmission()"',
-);
-echo elgg_view('input/form', $params);
diff --git a/views/installation/install/forms/settings.php b/views/installation/install/forms/settings.php
deleted file mode 100644
index 3aa90c10b..000000000
--- a/views/installation/install/forms/settings.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Site settings form
- *
- * @uses $vars['variables'] Array of form variables. See ElggInstaller.
- *
- * @todo Forms 1.8: Convert to use elgg_view_form
- */
-
-$vars['type'] = 'settings';
-$form_body = elgg_view('install/forms/template', $vars);
-
-$url = current_page_url();
-
-$params = array(
- 'body' => $form_body,
- 'action' => $url,
- 'disable_security' => TRUE,
- 'js' => 'onsubmit="return elggCheckFormSubmission()"',
-);
-echo elgg_view('input/form', $params);
diff --git a/views/installation/install/js_rewrite_check.php b/views/installation/install/js_rewrite_check.php
new file mode 100644
index 000000000..04d81171d
--- /dev/null
+++ b/views/installation/install/js_rewrite_check.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Some servers don't allow PHP to check the rewrite, so try via AJAX
+ */
+?>
+<script type="text/javascript">
+ elgg.installer.rewriteTest(
+ '<?php echo $vars['url'];?>',
+ '<?php echo elgg_echo('install:check:rewrite:success'); ?>',
+ '<?php echo $vars['config']->wwwroot; ?>install.php?step=database'
+ );
+</script> \ No newline at end of file
diff --git a/views/installation/install/nav.php b/views/installation/install/nav.php
index 5426071c6..c150cb2cb 100644
--- a/views/installation/install/nav.php
+++ b/views/installation/install/nav.php
@@ -12,12 +12,12 @@
// has a refresh button been requested
$refresh = '';
if (isset($vars['refresh']) && $vars['refresh']) {
- $refresh_text = elgg_echo('Refresh');
+ $refresh_text = elgg_echo('install:refresh');
$refresh = "<a href=\"\">$refresh_text</a>";
}
// create next button and selectively disable
-$next_text = elgg_echo('next');
+$next_text = elgg_echo('install:next');
$next_link = elgg_get_site_url()."install.php?step={$vars['next_step']}";
$next = "<a href=\"$next_link\">$next_text</a>";
if (isset($vars['advance']) && !$vars['advance']) {
@@ -27,7 +27,7 @@ if (isset($vars['advance']) && !$vars['advance']) {
echo <<<___END
-<div class="install-nav">
+<div class="elgg-install-nav">
$next
$refresh
</div>
diff --git a/views/installation/install/pages/admin.php b/views/installation/install/pages/admin.php
index 1fdd5dced..e810aa701 100644
--- a/views/installation/install/pages/admin.php
+++ b/views/installation/install/pages/admin.php
@@ -3,6 +3,15 @@
* Install create admin account page
*/
-echo autop(elgg_echo('install:admin:instructions'));
+echo elgg_autop(elgg_echo('install:admin:instructions'));
-echo elgg_view('install/forms/admin', $vars);
+$vars['type'] = 'admin';
+
+$url = current_page_url();
+
+$form_vars = array(
+ 'action' => $url,
+ 'disable_security' => TRUE,
+);
+
+echo elgg_view_form('install/template', $form_vars, $vars);
diff --git a/views/installation/install/pages/complete.php b/views/installation/install/pages/complete.php
index 0c9821fc2..80f8e7434 100644
--- a/views/installation/install/pages/complete.php
+++ b/views/installation/install/pages/complete.php
@@ -3,11 +3,11 @@
* Install completion page
*/
-echo autop(elgg_echo('install:complete:instructions'));
+echo elgg_autop(elgg_echo('install:complete:instructions'));
?>
-<div class="install-nav">
+<div class="elgg-install-nav">
<?php
$url = elgg_get_site_url() . $vars['destination'];
$text = elgg_echo('install:complete:gotosite');
diff --git a/views/installation/install/pages/database.php b/views/installation/install/pages/database.php
index 7765c6e48..d24b4f57b 100644
--- a/views/installation/install/pages/database.php
+++ b/views/installation/install/pages/database.php
@@ -6,11 +6,21 @@
*/
if (isset($vars['failure']) && $vars['failure']) {
- echo autop(elgg_echo('install:database:error'));
+ echo elgg_autop(elgg_echo('install:database:error'));
$vars['refresh'] = TRUE;
$vars['advance'] = FALSE;
echo elgg_view('install/nav', $vars);
} else {
- echo autop(elgg_echo('install:database:instructions'));
- echo elgg_view('install/forms/database', $vars);
+ echo elgg_autop(elgg_echo('install:database:instructions'));
+
+ $vars['type'] = 'database';
+
+ $url = current_page_url();
+
+ $form_vars = array(
+ 'action' => $url,
+ 'disable_security' => TRUE,
+ );
+
+ echo elgg_view_form('install/template', $form_vars, $vars);
} \ No newline at end of file
diff --git a/views/installation/install/pages/requirements.php b/views/installation/install/pages/requirements.php
index b6516840f..3f0941c95 100644
--- a/views/installation/install/pages/requirements.php
+++ b/views/installation/install/pages/requirements.php
@@ -14,26 +14,26 @@ if ($vars['num_failures'] != 0) {
$instruct_text = elgg_echo('install:requirements:instructions:success');
}
-echo autop($instruct_text);
+echo elgg_autop($instruct_text);
$report = $vars['report'];
foreach ($report as $category => $checks) {
$title = elgg_echo("install:require:$category");
echo "<h3>$title</h3>";
- echo "<ul>";
+ echo "<ul class=\"elgg-require-$category\">";
foreach ($checks as $check) {
echo "<li class=\"{$check['severity']}\">";
- echo autop($check['message']);
+ echo elgg_autop($check['message']);
echo "</li>";
}
echo "</ul>";
}
-$vars['refresh'] = TRUE;
+$vars['refresh'] = true;
// cannot advance to next step with a failure
if ($vars['num_failures'] != 0) {
- $vars['advance'] = FALSE;
+ $vars['advance'] = false;
}
echo elgg_view('install/nav', $vars);
diff --git a/views/installation/install/pages/settings.php b/views/installation/install/pages/settings.php
index 6f20573ef..04f23c0ea 100644
--- a/views/installation/install/pages/settings.php
+++ b/views/installation/install/pages/settings.php
@@ -1,5 +1,14 @@
<?php
-echo autop(elgg_echo('install:settings:instructions'));
+echo elgg_autop(elgg_echo('install:settings:instructions'));
-echo elgg_view('install/forms/settings', $vars);
+$vars['type'] = 'settings';
+
+$url = current_page_url();
+
+$form_vars = array(
+ 'action' => $url,
+ 'disable_security' => TRUE,
+);
+
+echo elgg_view_form('install/template', $form_vars, $vars);
diff --git a/views/installation/install/pages/welcome.php b/views/installation/install/pages/welcome.php
index f069e4ba7..f370c15f3 100644
--- a/views/installation/install/pages/welcome.php
+++ b/views/installation/install/pages/welcome.php
@@ -3,6 +3,6 @@
* Install welcome page
*/
-echo autop(elgg_echo('install:welcome:instructions'));
+echo elgg_autop(elgg_echo('install:welcome:instructions'));
echo elgg_view('install/nav', $vars);
diff --git a/views/installation/page/shells/default.php b/views/installation/page/default.php
index abee13dba..662e8206e 100644
--- a/views/installation/page/shells/default.php
+++ b/views/installation/page/default.php
@@ -29,24 +29,29 @@ header('Expires: Fri, 05 Feb 1982 00:00:00 -0500', TRUE);
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" />
<link rel="stylesheet" href="<?php echo elgg_get_site_url(); ?>install/css/install.css" type="text/css" />
+ <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery-1.6.4.min.js"></script>
+ <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>install/js/install.js"></script>
</head>
<body>
- <div id="elgg-wrapper">
- <div id="elgg-header">
- <?php echo elgg_view('install/header', $vars); ?>
+ <div class="elgg-page">
+ <div class="elgg-page-header">
+ <?php echo elgg_view('page/elements/header', $vars); ?>
+ </div>
+ <div class="elgg-page-body">
+ <div class="elgg-layout">
+ <div class="elgg-sidebar">
+ <?php echo elgg_view('page/elements/sidebar', $vars); ?>
+ </div>
+ <div class="elgg-body">
+ <h2><?php echo $vars['title']; ?></h2>
+ <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
+ <?php echo $vars['body']; ?>
+ </div>
+ </div>
+ </div>
+ <div class="elgg-page-footer">
+ <?php echo elgg_view('page/elements/footer'); ?>
+ </div>
</div>
- <div id="elgg-sidebar">
- <?php echo elgg_view('install/sidebar', $vars); ?>
- </div>
- <div id="elgg-content">
- <h2><?php echo $vars['title']; ?></h2>
- <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
- <?php echo $vars['body']; ?>
- </div>
- <div class="clearfloat"></div>
- </div>
- <div id="elgg-footer">
- <?php echo elgg_view('install/footer'); ?>
- </div>
</body>
</html>
diff --git a/views/installation/page/elements/footer.php b/views/installation/page/elements/footer.php
new file mode 100644
index 000000000..d6a755fba
--- /dev/null
+++ b/views/installation/page/elements/footer.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Install footer - offers help links
+ */
+?>
+<ul>
+ <li><a href="http://docs.elgg.org/wiki/Installation" target="_blank">Install instructions</a></li>
+ <li><a href="http://docs.elgg.org/wiki/Install_Troubleshooting" target="_blank">Install troubleshooting</a></li>
+ <li><a href="http://community.elgg.org/pg/groups/world" target="_blank">Elgg community forums</a></li>
+</ul> \ No newline at end of file
diff --git a/views/installation/install/header.php b/views/installation/page/elements/header.php
index 8c18dbffd..8c18dbffd 100644
--- a/views/installation/install/header.php
+++ b/views/installation/page/elements/header.php
diff --git a/views/installation/page/elements/messages.php b/views/installation/page/elements/messages.php
index 2a06a7b1e..46261dca4 100644
--- a/views/installation/page/elements/messages.php
+++ b/views/installation/page/elements/messages.php
@@ -12,7 +12,7 @@ if (isset($vars['object']) && is_array($vars['object']) && sizeof($vars['object'
foreach ($vars['object'] as $type => $list ) {
foreach ($list as $message) {
echo "<li class=\"elgg-state-$type\">";
- echo autop($message);
+ echo elgg_autop($message);
echo '</li>';
}
}
diff --git a/views/installation/install/sidebar.php b/views/installation/page/elements/sidebar.php
index 8136cd898..8136cd898 100644
--- a/views/installation/install/sidebar.php
+++ b/views/installation/page/elements/sidebar.php
diff --git a/views/json/api/output.php b/views/json/api/output.php
index aab68f0dc..adeb7cc75 100644
--- a/views/json/api/output.php
+++ b/views/json/api/output.php
@@ -1,11 +1,10 @@
<?php
/**
* Elgg JSON output
- * This outputs the api as JSON
+ * This outputs the api results as JSON
*
* @package Elgg
* @subpackage Core
- *
*/
$result = $vars['result'];
diff --git a/views/json/canvas/default.php b/views/json/canvas/default.php
deleted file mode 100644
index faaf615fb..000000000
--- a/views/json/canvas/default.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-}
diff --git a/views/json/entities/entity_list.php b/views/json/entities/entity_list.php
deleted file mode 100644
index f3d388f21..000000000
--- a/views/json/entities/entity_list.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-$entities = $vars['entities'];
-$fullview = $vars['fullview'];
-
-if (is_array($entities) && sizeof($entities) > 0) {
- foreach($entities as $entity) {
- echo elgg_view_entity($entity, $fullview);
- }
-}
diff --git a/views/json/export/entity.php b/views/json/export/entity.php
index 52cd9d244..36af5eaef 100644
--- a/views/json/export/entity.php
+++ b/views/json/export/entity.php
@@ -19,4 +19,7 @@ foreach ($exportable_values as $v) {
$export->url = $entity->getURL();
global $jsonexport;
-$jsonexport[$entity->getType()][$entity->getSubtype()][] = $export; \ No newline at end of file
+$jsonexport[$entity->getType()][$entity->getSubtype()][] = $export;
+
+// @todo hack to fix #4504
+echo "Fix for bug #4504";
diff --git a/views/json/group/default.php b/views/json/group/default.php
index a01b215cc..dd190d402 100644
--- a/views/json/group/default.php
+++ b/views/json/group/default.php
@@ -1,9 +1,9 @@
<?php
/**
- * Elgg default layout
+ * JSON group view
*
* @package Elgg
* @subpackage Core
*/
-elgg_view('export/entity', $vars); \ No newline at end of file
+echo elgg_view('export/entity', $vars);
diff --git a/views/json/object/default.php b/views/json/object/default.php
index a01b215cc..8b88b3010 100644
--- a/views/json/object/default.php
+++ b/views/json/object/default.php
@@ -1,9 +1,9 @@
<?php
/**
- * Elgg default layout
+ * JSON object view
*
* @package Elgg
* @subpackage Core
*/
-elgg_view('export/entity', $vars); \ No newline at end of file
+echo elgg_view('export/entity', $vars);
diff --git a/views/json/page/components/list.php b/views/json/page/components/list.php
new file mode 100644
index 000000000..5de4f1f59
--- /dev/null
+++ b/views/json/page/components/list.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * JSON list view
+ *
+ * @uses $vars['items']
+ */
+
+$items = $vars['items'];
+
+if (is_array($items) && sizeof($items) > 0) {
+ foreach ($items as $item) {
+ elgg_view_list_item($item, $vars);
+ }
+} \ No newline at end of file
diff --git a/views/json/page/default.php b/views/json/page/default.php
new file mode 100644
index 000000000..2d0403e11
--- /dev/null
+++ b/views/json/page/default.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Elgg JSON output pageshell
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ */
+
+header("Content-Type: application/json");
+
+global $jsonexport;
+echo json_encode($jsonexport); \ No newline at end of file
diff --git a/views/json/page/shells/default.php b/views/json/page/shells/default.php
deleted file mode 100644
index d1f86c8a7..000000000
--- a/views/json/page/shells/default.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/**
- * Elgg JSON output pageshell
- *
- * @package Elgg
- * @subpackage Core
- *
- */
-
-if(stristr($_SERVER["HTTP_ACCEPT"],"application/json")) {
- header("Content-Type: application/json");
-} else {
- header("Content-Type: application/javascript");
-}
-// echo $vars['body'];
-
-global $jsonexport;
-echo json_encode($jsonexport); \ No newline at end of file
diff --git a/views/json/river/item.php b/views/json/river/item.php
new file mode 100644
index 000000000..64677817f
--- /dev/null
+++ b/views/json/river/item.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * JSON river item view
+ *
+ * @uses $vars['item']
+ */
+
+global $jsonexport;
+
+if (!isset($jsonexport['activity'])) {
+ $jsonexport['activity'] = array();
+}
+
+$item = $vars['item'];
+if (elgg_view_exists($item->view, 'default')) {
+ $item->string = elgg_view('river/elements/summary', array('item' => $item), FALSE, FALSE, 'default');
+}
+
+$jsonexport['activity'][] = $vars['item'];
diff --git a/views/json/river/item/list.php b/views/json/river/item/list.php
deleted file mode 100644
index c79cd1042..000000000
--- a/views/json/river/item/list.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * JSON river view
- *
- * @package Elgg
- * @subpackage Core
- */
-global $jsonexport;
-
-$json_items = array();
-
-if (isset($vars['items']) && is_array($vars['items'])) {
- $i = 0;
-
- if (!empty($vars['items'])) {
- foreach($vars['items'] as $item) {
-
- $json_entry = array(
- 'subject' => NULL,
- 'object' => NULL,
- 'type' => NULL,
- 'subtype' => NULL,
- 'action_type' => NULL,
- 'view' => NULL,
- 'annotation' => NULL,
- 'timestamp' => NULL,
- 'string' => NULL
- );
-
- if (elgg_view_exists($item->view, 'default')) {
- $json_entry['string'] = elgg_view($item->view, array('item' => $item), FALSE, FALSE, 'default');
- $json_entry['timestamp'] = (int)$item->posted;
- }
-
- $json_items[] = $json_entry;
-
- $i++;
- if ($i >= $vars['limit']) {
- break;
- }
- }
- }
-}
-
-$jsonexport['activity'] = $json_items;
diff --git a/views/json/search/entity_list.php b/views/json/search/entity_list.php
deleted file mode 100644
index c778bf5df..000000000
--- a/views/json/search/entity_list.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$entities = $vars['entities'];
-if (is_array($entities) && sizeof($entities) > 0) {
- foreach($entities as $entity) {
- echo elgg_view_entity($entity);
- }
-}
diff --git a/views/json/site/default.php b/views/json/site/default.php
index a01b215cc..ee4eda489 100644
--- a/views/json/site/default.php
+++ b/views/json/site/default.php
@@ -1,9 +1,9 @@
<?php
/**
- * Elgg default layout
+ * JSON site view
*
* @package Elgg
* @subpackage Core
*/
-elgg_view('export/entity', $vars); \ No newline at end of file
+echo elgg_view('export/entity', $vars);
diff --git a/views/json/user/default.php b/views/json/user/default.php
index a01b215cc..4d44692c9 100644
--- a/views/json/user/default.php
+++ b/views/json/user/default.php
@@ -1,9 +1,9 @@
<?php
/**
- * Elgg default layout
+ * JSON user view
*
* @package Elgg
* @subpackage Core
*/
-elgg_view('export/entity', $vars); \ No newline at end of file
+echo elgg_view('export/entity', $vars);
diff --git a/views/opendd/canvas/default.php b/views/opendd/canvas/default.php
deleted file mode 100644
index 4b8d12e6d..000000000
--- a/views/opendd/canvas/default.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-} \ No newline at end of file
diff --git a/views/opendd/messages/exceptions/exception.php b/views/opendd/messages/exceptions/exception.php
index 54868f1f4..dc0f48a8d 100644
--- a/views/opendd/messages/exceptions/exception.php
+++ b/views/opendd/messages/exceptions/exception.php
@@ -11,7 +11,7 @@
?>
<!--
-<?php echo get_class($vars['object']); ?>: <?php echo autop($vars['object']->getMessage()); ?>
+<?php echo get_class($vars['object']); ?>: <?php echo elgg_autop($vars['object']->getMessage()); ?>
<?php if (elgg_get_config('debug')) { ?>
<?php
echo print_r($vars['object'], true);
diff --git a/views/opendd/page/shells/default.php b/views/opendd/page/default.php
index bdd59d45e..bdd59d45e 100644
--- a/views/opendd/page/shells/default.php
+++ b/views/opendd/page/default.php
diff --git a/views/php/api/output.php b/views/php/api/output.php
index cc76b97e0..14259564c 100644
--- a/views/php/api/output.php
+++ b/views/php/api/output.php
@@ -1,11 +1,10 @@
<?php
/**
* Elgg PHP output
- * This outputs the api as PHP
+ * This outputs the api results as serialized PHP
*
* @package Elgg
* @subpackage Core
- *
*/
$result = $vars['result'];
diff --git a/views/php/canvas/default.php b/views/php/canvas/default.php
deleted file mode 100644
index 4b8d12e6d..000000000
--- a/views/php/canvas/default.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-} \ No newline at end of file
diff --git a/views/php/group/default.php b/views/php/group/default.php
index eed1dbfbd..968d68bcd 100644
--- a/views/php/group/default.php
+++ b/views/php/group/default.php
@@ -1,6 +1,6 @@
<?php
/**
- * Elgg default layout
+ * PHP group view
*
* @package Elgg
* @subpackage Core
diff --git a/views/php/object/default.php b/views/php/object/default.php
index eed1dbfbd..8cf4eb8c6 100644
--- a/views/php/object/default.php
+++ b/views/php/object/default.php
@@ -1,6 +1,6 @@
<?php
/**
- * Elgg default layout
+ * PHP object view
*
* @package Elgg
* @subpackage Core
diff --git a/views/php/page/shells/default.php b/views/php/page/default.php
index c7692c432..87211a462 100644
--- a/views/php/page/shells/default.php
+++ b/views/php/page/default.php
@@ -1,10 +1,9 @@
<?php
/**
- * Elgg PHP output pageshell
+ * PHP output pageshell
*
* @package Elgg
* @subpackage Core
- *
*/
echo $vars['body']; \ No newline at end of file
diff --git a/views/php/search/entity_list.php b/views/php/search/entity_list.php
deleted file mode 100644
index c56874bdb..000000000
--- a/views/php/search/entity_list.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$entities = $vars['entities'];
-if (is_array($entities) && sizeof($entities) > 0) {
- foreach($entities as $entity) {
- echo elgg_view_entity($entity);
- }
-} \ No newline at end of file
diff --git a/views/php/site/default.php b/views/php/site/default.php
index 4b8d12e6d..102ac7ec7 100644
--- a/views/php/site/default.php
+++ b/views/php/site/default.php
@@ -1,13 +1,9 @@
<?php
/**
- * Elgg default layout
+ * PHP site view
*
* @package Elgg
* @subpackage Core
*/
-for ($i = 1; $i < 8; $i++) {
- if (isset($vars["area{$i}"])) {
- echo $vars["area{$i}"];
- }
-} \ No newline at end of file
+elgg_view('export/entity', $vars); \ No newline at end of file
diff --git a/views/php/user/default.php b/views/php/user/default.php
index eed1dbfbd..1bb0f8fa9 100644
--- a/views/php/user/default.php
+++ b/views/php/user/default.php
@@ -1,6 +1,6 @@
<?php
/**
- * Elgg default layout
+ * PHP user view
*
* @package Elgg
* @subpackage Core
diff --git a/views/rss/annotation/default.php b/views/rss/annotation/default.php
deleted file mode 100644
index 98329f132..000000000
--- a/views/rss/annotation/default.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * Elgg RSS view for a generic comment
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$entity = get_entity($vars['annotation']->entity_guid);
-
-$title = substr($vars['annotation']->value, 0, 32);
-if (strlen($vars['annotation']->value) > 32) {
- $title .= " ...";
-}
-
-$permalink = $entity->getURL();
-$pubdate = date('r', $entity->time_created);
-
-$creator = elgg_view('object/creator', array('entity' => $entity));
-$georss = elgg_view('object/georss', array('entity' => $entity));
-$extensions = elgg_view('extensions/item');
-
-$item = <<<__HTML
-<item>
- <guid isPermaLink='true'>$permalink#{$vars['annotation']->id}</guid>
- <pubDate>$pubdate</pubDate>
- <link>$permalink#{$vars['annotation']->id}</link>
- <title><![CDATA[$title]]></title>
- <description><![CDATA[{$vars['annotation']->value}]]></description>
- $creator$georss$extensions
-</item>
-__HTML;
-
-echo $item;
diff --git a/views/rss/annotation/generic_comment.php b/views/rss/annotation/generic_comment.php
new file mode 100644
index 000000000..de652fc8e
--- /dev/null
+++ b/views/rss/annotation/generic_comment.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Elgg RSS view for a generic_comment annotation
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+$annotation = $vars['annotation'];
+
+$poster = $annotation->getOwnerEntity();
+$poster_name = htmlspecialchars($poster->name, ENT_NOQUOTES, 'UTF-8');
+$pubdate = date('r', $annotation->getTimeCreated());
+$permalink = $annotation->getURL();
+
+$title = elgg_echo('generic_comment:title', array($poster_name));
+
+$creator = elgg_view('page/components/creator', array('entity' => $annotation));
+$extensions = elgg_view('extensions/item', $vars);
+
+$item = <<<__HTML
+<item>
+ <guid isPermaLink='true'>$permalink</guid>
+ <pubDate>$pubdate</pubDate>
+ <link>$permalink</link>
+ <title><![CDATA[$title]]></title>
+ <description><![CDATA[{$vars['annotation']->value}]]></description>
+ $creator$extensions
+</item>
+
+__HTML;
+
+echo $item;
diff --git a/views/rss/core/river/body.php b/views/rss/core/river/body.php
deleted file mode 100644
index a168dd6a9..000000000
--- a/views/rss/core/river/body.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/**
- * RSS river view
- *
- * @uses $vars['item']
- */
-$item = $vars['item'];
-
-$view = $item->getView();
-
-$name = $item->getSubjectEntity()->name;
-$body = elgg_view($item->getView(), array('item' => $item), false, false, 'default');
-$body = "$name $body";
-
-$title = strip_tags($body);
-$timestamp = date('r', $item->getPostedTime());
-
-$object = $item->getObjectEntity();
-if ($object) {
- $url = htmlspecialchars($object->getURL());
-} else {
- $url = elgg_get_site_url() . 'pg/activity';
-}
-
-?>
-<item>
- <guid isPermaLink='true'><?php echo $url; ?></guid>
- <pubDate><?php echo $timestamp; ?></pubDate>
- <link><?php echo $url; ?></link>
- <title><![CDATA[<?php echo $title; ?>]]></title>
- <description><![CDATA[<?php echo ($body); ?>]]></description>
-</item>
diff --git a/views/rss/group/default.php b/views/rss/group/default.php
index 4ffceba78..7fef4d434 100644
--- a/views/rss/group/default.php
+++ b/views/rss/group/default.php
@@ -1,37 +1,37 @@
<?php
/**
- * Elgg default group view
+ * RSS group view
*
* @package Elgg
* @subpackage Core
*/
-?>
+$permalink = htmlspecialchars($vars['entity']->getURL(), ENT_NOQUOTES, 'UTF-8');
+$pubdate = date('r', $vars['entity']->getTimeCreated());
+$title = htmlspecialchars($vars['entity']->name, ENT_NOQUOTES, 'UTF-8');
+if ($vars['entity']->description) {
+ $description = elgg_autop($vars['entity']->description);
+} elseif ($vars['entity']->briefdescription) {
+ $description = elgg_autop($vars['entity']->briefdescription);
+} else {
+ $description = '';
+}
+
+$creator = elgg_view('page/components/creator', $vars);
+$georss = elgg_view('page/components/georss', $vars);
+$extension = elgg_view('extensions/item', $vars);
+
+$item = <<<__HTML
<item>
-<guid isPermaLink='true'><?php echo htmlspecialchars($vars['entity']->getURL()); ?></guid>
-<pubDate><?php echo date("r",$vars['entity']->time_created) ?></pubDate>
-<link><?php echo htmlspecialchars($vars['entity']->getURL()); ?></link>
-<title><![CDATA[<?php echo (($vars['entity']->name)); ?>]]></title>
-<description><![CDATA[<?php echo (autop($vars['entity']->description)); ?>]]></description>
-<?php
- $owner = $vars['entity']->getOwnerEntity();
- if ($owner) {
-?>
-<dc:creator><?php echo $owner->name; ?></dc:creator>
-<?php
- }
-?>
-<?php
- if (
- ($vars['entity'] instanceof Locatable) &&
- ($vars['entity']->getLongitude()) &&
- ($vars['entity']->getLatitude())
- ) {
- ?>
- <georss:point><?php echo $vars['entity']->getLatitude(); ?> <?php echo $vars['entity']->getLongitude(); ?></georss:point>
- <?php
- }
-?>
-<?php echo elgg_view('extensions/item'); ?>
+ <guid isPermaLink="true">$permalink</guid>
+ <pubDate>$pubdate</pubDate>
+ <link>$permalink</link>
+ <title><![CDATA[$title]]></title>
+ <description><![CDATA[$description]]></description>
+ $creator$georss$extension
</item>
+
+__HTML;
+
+echo $item;
diff --git a/views/rss/object/creator.php b/views/rss/object/creator.php
deleted file mode 100644
index 2bc6fd57d..000000000
--- a/views/rss/object/creator.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-/**
- *
- */
-
-if ($owner = $vars['entity']->getOwnerEntity()) {
- echo "<dc:creator>{$owner->name}</dc:creator>";
-}
diff --git a/views/rss/object/default.php b/views/rss/object/default.php
index 29e5d4591..8c7d5d8e0 100644
--- a/views/rss/object/default.php
+++ b/views/rss/object/default.php
@@ -1,6 +1,6 @@
<?php
/**
- * Elgg default object view
+ * RSS object view
*
* @package Elgg
* @subpackage Core
@@ -8,19 +8,18 @@
$title = $vars['entity']->title;
if (empty($title)) {
- $subtitle = strip_tags($vars['entity']->description);
- $title = substr($subtitle, 0, 32);
- if (strlen($subtitle) > 32) {
- $title .= ' ...';
- }
+ $title = strip_tags($vars['entity']->description);
+ $title = elgg_get_excerpt($title, 32);
}
-$permalink = htmlspecialchars($vars['entity']->getURL());
-$pubdate = date('r', $vars['entity']->time_created);
+$permalink = htmlspecialchars($vars['entity']->getURL(), ENT_NOQUOTES, 'UTF-8');
+$pubdate = date('r', $vars['entity']->getTimeCreated());
-$creator = elgg_view('object/creator', $vars);
-$georss = elgg_view('object/georss', $vars);
-$extension = elgg_view('extensions/item');
+$description = elgg_autop($vars['entity']->description);
+
+$creator = elgg_view('page/components/creator', $vars);
+$georss = elgg_view('page/components/georss', $vars);
+$extension = elgg_view('extensions/item', $vars);
$item = <<<__HTML
<item>
@@ -28,7 +27,7 @@ $item = <<<__HTML
<pubDate>$pubdate</pubDate>
<link>$permalink</link>
<title><![CDATA[$title]]></title>
- <description><![CDATA[{$vars['entity']->description}]]></description>
+ <description><![CDATA[$description]]></description>
$creator$georss$extension
</item>
diff --git a/views/rss/object/georss.php b/views/rss/object/georss.php
deleted file mode 100644
index 8aa027519..000000000
--- a/views/rss/object/georss.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-/**
- *
- */
-
-if (($vars['entity'] instanceof Locatable) &&
- ($latitude = $vars['entity']->getLongitude()) && ($longitude = $vars['entity']->getLatitude())
-) {
- echo "<georss:point>$latitude $longitude</georss:point>";
-} \ No newline at end of file
diff --git a/views/rss/output/url.php b/views/rss/output/url.php
index e0b94bf8d..b0f4d9792 100644
--- a/views/rss/output/url.php
+++ b/views/rss/output/url.php
@@ -1,6 +1,6 @@
<?php
/**
- * RSS url view
+ * RSS url output view
*
*/
echo elgg_view('output/url', $vars, false, false, 'default');
diff --git a/views/rss/page/components/creator.php b/views/rss/page/components/creator.php
new file mode 100644
index 000000000..a14f1dbca
--- /dev/null
+++ b/views/rss/page/components/creator.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Creator view
+ *
+ * Implements Dublin Core creator
+ *
+ * @uses $vars['entity']
+ */
+
+$owner = $vars['entity']->getOwnerEntity();
+if ($owner) {
+ $owner_name = htmlspecialchars($owner->name, ENT_NOQUOTES, 'UTF-8');
+ echo "<dc:creator>$owner_name</dc:creator>";
+}
diff --git a/views/rss/page/components/gallery.php b/views/rss/page/components/gallery.php
new file mode 100644
index 000000000..690416e5b
--- /dev/null
+++ b/views/rss/page/components/gallery.php
@@ -0,0 +1,8 @@
+<?php
+/*
+ * RSS gallery view
+ *
+ * @uses $vars['items']
+ */
+
+echo elgg_view('page/components/list', $vars);
diff --git a/views/rss/page/components/georss.php b/views/rss/page/components/georss.php
new file mode 100644
index 000000000..d176b8cac
--- /dev/null
+++ b/views/rss/page/components/georss.php
@@ -0,0 +1,15 @@
+<?php
+/**
+ * GeoRSS view
+ *
+ * This implements GeoRSS-Simple
+ *
+ * @uses $vars['entity']
+ */
+
+$longitude = $vars['entity']->getLongitude();
+$latitude = $vars['entity']->getLatitude();
+
+if ($vars['entity'] instanceof Locatable && $longitude && $latitude) {
+ echo "<georss:point>$latitude $longitude</georss:point>";
+}
diff --git a/views/rss/layout/objects/image_block.php b/views/rss/page/components/image_block.php
index ff94bcff2..ff94bcff2 100644
--- a/views/rss/layout/objects/image_block.php
+++ b/views/rss/page/components/image_block.php
diff --git a/views/rss/layout/objects/list.php b/views/rss/page/components/list.php
index 9892d2779..2650fc006 100644
--- a/views/rss/layout/objects/list.php
+++ b/views/rss/page/components/list.php
@@ -6,10 +6,9 @@
*/
$items = $vars['items'];
-$full_view = elgg_extract('full_view', $vars, false);
if (is_array($items) && sizeof($items) > 0) {
foreach ($items as $item) {
- echo elgg_view_list_item($item, $full_view, $vars);
+ echo elgg_view_list_item($item, $vars);
}
} \ No newline at end of file
diff --git a/views/rss/page/default.php b/views/rss/page/default.php
new file mode 100644
index 000000000..a7b757760
--- /dev/null
+++ b/views/rss/page/default.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Elgg RSS output pageshell
+ *
+ * @package Elgg.Core
+ *
+ * @uses $vars['title'] The title of the RSS feed
+ * @uses $vars['body'] The items for the RSS feed as a string
+ * @uses $vars['descrption'] The description for the RSS feed
+ */
+
+// Set title
+if (empty($vars['title'])) {
+ $title = elgg_get_config('sitename');
+} else {
+ $title = elgg_get_config('sitename') . ": " . $vars['title'];
+}
+
+// Remove RSS from URL
+$url = str_replace('?view=rss', '', current_page_url());
+$url = str_replace('&view=rss', '', $url);
+$url = htmlspecialchars($url, ENT_NOQUOTES, 'UTF-8');
+
+$body = elgg_extract('body', $vars, '');
+$description = elgg_extract('description', $vars, '');
+
+$namespaces = elgg_view('extensions/xmlns');
+$extensions = elgg_view('extensions/channel');
+
+
+// allow caching as required by stupid MS products for https feeds.
+header('Pragma: public', true);
+header("Content-Type: text/xml");
+
+echo "<?xml version='1.0'?>";
+echo <<<END
+<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" $namespaces>
+<channel>
+ <title><![CDATA[$title]]></title>
+ <link>$url</link>
+ <description><![CDATA[$description]]></description>
+ $extensions
+ $body
+</channel>
+</rss>
+END;
diff --git a/views/rss/page/elements/comments.php b/views/rss/page/elements/comments.php
new file mode 100644
index 000000000..9c655ffef
--- /dev/null
+++ b/views/rss/page/elements/comments.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * RSS comments view
+ *
+ * @uses $vars['entity']
+ */
+
+$options = array(
+ 'guid' => $vars['entity']->getGUID(),
+ 'annotation_name' => 'generic_comment',
+ 'order_by' => 'n_table.time_created desc',
+);
+echo elgg_list_annotations($options);
diff --git a/views/rss/layout/shells/default.php b/views/rss/page/layouts/default.php
index 7f3ddebbd..7f3ddebbd 100644
--- a/views/rss/layout/shells/default.php
+++ b/views/rss/page/layouts/default.php
diff --git a/views/rss/page/shells/default.php b/views/rss/page/shells/default.php
deleted file mode 100644
index da6f69c41..000000000
--- a/views/rss/page/shells/default.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/**
- * Elgg RSS output pageshell
- *
- * @package Elgg
- * @subpackage Core
- *
- */
-
-header("Content-Type: text/xml");
-
-// allow caching as required by stupid MS products for https feeds.
-header('Pragma: public', TRUE);
-
-echo "<?xml version='1.0'?>\n";
-
-// Set title
-if (empty($vars['title'])) {
- $title = elgg_get_config('sitename');
-} else {
- $title = elgg_get_config('sitename') . ": " . $vars['title'];
-}
-
-// Remove RSS from URL
-$url = str_replace('?view=rss','', full_url());
-$url = str_replace('&view=rss','', $url);
-
-?>
-
-<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" <?php echo elgg_view('extensions/xmlns'); ?> >
-<channel>
- <title><![CDATA[<?php echo $title; ?>]]></title>
- <link><?php echo htmlentities($url); ?></link>
- <?php echo elgg_view('extensions/channel'); ?>
- <?php
-
- echo $vars['body'];
-
- ?>
-</channel>
-</rss>
diff --git a/views/rss/river/item.php b/views/rss/river/item.php
new file mode 100644
index 000000000..fa2914eff
--- /dev/null
+++ b/views/rss/river/item.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * RSS river view
+ *
+ * @uses $vars['item']
+ */
+$item = $vars['item'];
+
+$name = $item->getSubjectEntity()->name;
+$name = htmlspecialchars($name, ENT_NOQUOTES, 'UTF-8');
+$title = elgg_echo('river:update', array($name));
+
+$timestamp = date('r', $item->getPostedTime());
+$body = elgg_view('river/elements/summary', $vars, false, false, 'default');
+
+
+$object = $item->getObjectEntity();
+if ($object) {
+ $url = htmlspecialchars($object->getURL());
+} else {
+ $url = elgg_normalize_url('activity');
+}
+
+$html = <<<__HTML
+<item>
+ <guid>$item->id</guid>
+ <pubDate>$timestamp</pubDate>
+ <link>$url</link>
+ <title><![CDATA[$title]]></title>
+ <description><![CDATA[$body]]></description>
+</item>
+
+__HTML;
+
+echo $html;
diff --git a/views/rss/river/item/list.php b/views/rss/river/item/list.php
deleted file mode 100644
index 3b2fc6179..000000000
--- a/views/rss/river/item/list.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-/**
- * @package Elgg
- * @subpackage Core
- */
-
-if (isset($vars['items']) && is_array($vars['items']) && !empty($vars['items'])) {
- $i = 1;
- foreach($vars['items'] as $item) {
- if ($i++ >= $vars['limit']) {
- break;
- }
-
- $entity = get_entity($item->object_guid);
- echo elgg_view_entity($entity);
- }
-}
diff --git a/views/rss/search/entity_list.php b/views/rss/search/entity_list.php
deleted file mode 100644
index 1e44adf18..000000000
--- a/views/rss/search/entity_list.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-/**
- * @package Elgg
- * @subpackage Core
- */
-
-$entities = $vars['entities'];
-if (is_array($entities) && sizeof($entities) > 0) {
- foreach($entities as $entity) {
- echo elgg_view_entity($entity);
- }
-} \ No newline at end of file
diff --git a/views/rss/user/default.php b/views/rss/user/default.php
index a8b9d073c..92c9427b2 100644
--- a/views/rss/user/default.php
+++ b/views/rss/user/default.php
@@ -1,29 +1,34 @@
<?php
/**
- * Elgg default user view
+ * RSS user view
*
* @package Elgg
* @subpackage Core
*/
-?>
+$permalink = htmlspecialchars($vars['entity']->getURL(), ENT_NOQUOTES, 'UTF-8');
+$pubdate = date('r', $vars['entity']->getTimeCreated());
+$title = htmlspecialchars($vars['entity']->name, ENT_NOQUOTES, 'UTF-8');
+if ($vars['entity']->description) {
+ $description = elgg_autop($vars['entity']->description);
+} else {
+ $description = '';
+}
+
+$georss = elgg_view('page/components/georss', $vars);
+$extension = elgg_view('extensions/item', $vars);
+
+$item = <<<__HTML
<item>
-<guid isPermaLink='true'><?php echo $vars['entity']->getURL(); ?></guid>
-<pubDate><?php echo date("r",$vars['entity']->time_created) ?></pubDate>
-<link><?php echo $vars['entity']->getURL(); ?></link>
-<title><![CDATA[<?php echo (($vars['entity']->name)); ?>]]></title>
-<description><![CDATA[<?php echo (autop($vars['entity']->description)); ?>]]></description>
-<?php
- if (
- ($vars['entity'] instanceof Locatable) &&
- ($vars['entity']->getLongitude()) &&
- ($vars['entity']->getLatitude())
- ) {
- ?>
- <georss:point><?php echo $vars['entity']->getLatitude(); ?> <?php echo $vars['entity']->getLongitude(); ?></georss:point>
- <?php
- }
-?>
-<?php echo elgg_view('extensions/item'); ?>
+ <guid isPermaLink="true">$permalink</guid>
+ <pubDate>$pubdate</pubDate>
+ <link>$permalink</link>
+ <title><![CDATA[$title]]></title>
+ <description><![CDATA[$description]]></description>
+ $georss$extension
</item>
+
+__HTML;
+
+echo $item;
diff --git a/views/xml/messages/exceptions/exception.php b/views/xml/messages/exceptions/exception.php
index 3e4e1c376..66a0f2b96 100644
--- a/views/xml/messages/exceptions/exception.php
+++ b/views/xml/messages/exceptions/exception.php
@@ -11,7 +11,7 @@
?>
<!--
-<?php echo get_class($vars['object']); ?>: <?php echo autop($vars['object']->getMessage()); ?>
+<?php echo get_class($vars['object']); ?>: <?php echo elgg_autop($vars['object']->getMessage()); ?>
<?php if (elgg_get_config('debug')) { ?>
diff --git a/views/xml/page/shells/default.php b/views/xml/page/default.php
index 0f0aecbe4..0f0aecbe4 100644
--- a/views/xml/page/shells/default.php
+++ b/views/xml/page/default.php