aboutsummaryrefslogtreecommitdiff
path: root/views/default
diff options
context:
space:
mode:
Diffstat (limited to 'views/default')
-rw-r--r--views/default/admin/appearance/default_widgets.php3
-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.php23
-rw-r--r--views/default/admin/header.php2
-rw-r--r--views/default/admin/plugin_settings.php4
-rw-r--r--views/default/admin/plugins.php197
-rw-r--r--views/default/admin/plugins/advanced.php91
-rw-r--r--views/default/admin/plugins/simple.php11
-rw-r--r--views/default/admin/settings/advanced.php2
-rw-r--r--views/default/admin/settings/advanced/site_secret.php11
-rw-r--r--views/default/admin/settings/basic.php2
-rw-r--r--views/default/admin/statistics/overview.php4
-rw-r--r--views/default/admin/statistics/overview/basic.php (renamed from views/default/admin/statistics/basic.php)0
-rw-r--r--views/default/admin/statistics/overview/numentities.php (renamed from views/default/admin/statistics/numentities.php)0
-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/admins.php12
-rw-r--r--views/default/annotation/default.php25
-rw-r--r--views/default/annotation/generic_comment.php28
-rw-r--r--views/default/core/account/login_box.php15
-rw-r--r--views/default/core/account/login_dropdown.php4
-rw-r--r--views/default/core/account/login_walled_garden.php100
-rw-r--r--views/default/core/avatar/upload.php19
-rw-r--r--views/default/core/dashboard/blurb.php17
-rw-r--r--views/default/core/friends/collection.php4
-rw-r--r--views/default/core/river/filter.php16
-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.php7
-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/admin.php1095
-rw-r--r--views/default/css/elements/components.php47
-rw-r--r--views/default/css/elements/core.php40
-rw-r--r--views/default/css/elements/forms.php165
-rw-r--r--views/default/css/elements/helpers.php17
-rw-r--r--views/default/css/elements/icons.php182
-rw-r--r--views/default/css/elements/layout.php15
-rw-r--r--views/default/css/elements/misc.php6
-rw-r--r--views/default/css/elements/modules.php21
-rw-r--r--views/default/css/elements/navigation.php150
-rw-r--r--views/default/css/elements/typography.php12
-rw-r--r--views/default/css/elgg.php7
-rw-r--r--views/default/css/ie.php78
-rw-r--r--views/default/css/ie6.php8
-rw-r--r--views/default/css/ie7.php75
-rw-r--r--views/default/css/lightbox.php371
-rw-r--r--views/default/css/walled_garden.php96
-rw-r--r--views/default/errors/404.php8
-rw-r--r--views/default/errors/default.php8
-rw-r--r--views/default/forms/account/settings.php2
-rw-r--r--views/default/forms/admin/menu/save.php4
-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.php28
-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.php47
-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.php14
-rw-r--r--views/default/forms/friends/collections/add.php4
-rw-r--r--views/default/forms/login.php40
-rw-r--r--views/default/forms/plugins/settings/save.php12
-rw-r--r--views/default/forms/plugins/usersettings/save.php9
-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.php30
-rw-r--r--views/default/forms/user/passwordreset.php2
-rw-r--r--views/default/forms/user/requestnewpassword.php16
-rw-r--r--views/default/forms/useradd.php13
-rw-r--r--views/default/forms/usersettings/save.php10
-rw-r--r--views/default/forms/widgets/save.php6
-rw-r--r--views/default/graphics/ajax_loader.php12
-rw-r--r--views/default/group/elements/summary.php13
-rw-r--r--views/default/icon/default.php52
-rw-r--r--views/default/icon/user/default.php68
-rw-r--r--views/default/input/access.php27
-rw-r--r--views/default/input/autocomplete.php36
-rw-r--r--views/default/input/button.php17
-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.php48
-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.php39
-rw-r--r--views/default/input/location.php27
-rw-r--r--views/default/input/longtext.php29
-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.php2
-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.php45
-rw-r--r--views/default/js/admin.php61
-rw-r--r--views/default/js/elgg.php13
-rw-r--r--views/default/js/initialize_elgg.php2
-rw-r--r--views/default/js/languages.php28
-rw-r--r--views/default/js/lightbox.php8
-rw-r--r--views/default/js/walled_garden.php67
-rw-r--r--views/default/navigation/breadcrumbs.php1
-rw-r--r--views/default/navigation/listtype.php28
-rw-r--r--views/default/navigation/menu/default.php15
-rw-r--r--views/default/navigation/menu/elements/item.php19
-rw-r--r--views/default/navigation/menu/elements/section.php17
-rw-r--r--views/default/navigation/menu/site.php11
-rw-r--r--views/default/navigation/menu/user_hover.php1
-rw-r--r--views/default/navigation/pagination.php21
-rw-r--r--views/default/navigation/tabs.php93
-rw-r--r--views/default/navigation/topbar_tools.php1
-rw-r--r--views/default/navigation/viewtype.php6
-rw-r--r--views/default/object/admin_notice.php3
-rw-r--r--views/default/object/default.php7
-rw-r--r--views/default/object/elements/full.php37
-rw-r--r--views/default/object/elements/summary.php59
-rw-r--r--views/default/object/plugin.php8
-rw-r--r--views/default/object/plugin/advanced.php231
-rw-r--r--views/default/object/plugin/elements/dependencies.php12
-rw-r--r--views/default/object/plugin/full.php308
-rw-r--r--views/default/object/plugin/invalid.php14
-rw-r--r--views/default/object/plugin/simple.php63
-rw-r--r--views/default/object/widget.php3
-rw-r--r--views/default/object/widget/elements/controls.php44
-rw-r--r--views/default/object/widget/elements/settings.php14
-rw-r--r--views/default/output/access.php7
-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.php6
-rw-r--r--views/default/output/tag.php35
-rw-r--r--views/default/output/tagcloud.php14
-rw-r--r--views/default/output/tags.php73
-rw-r--r--views/default/output/text.php3
-rw-r--r--views/default/output/url.php15
-rw-r--r--views/default/page/admin.php40
-rw-r--r--views/default/page/components/gallery.php66
-rw-r--r--views/default/page/components/list.php33
-rw-r--r--views/default/page/components/module.php18
-rw-r--r--views/default/page/components/summary.php53
-rw-r--r--views/default/page/default.php46
-rw-r--r--views/default/page/elements/comments.php5
-rw-r--r--views/default/page/elements/comments_block.php1
-rw-r--r--views/default/page/elements/foot.php11
-rw-r--r--views/default/page/elements/footer.php3
-rw-r--r--views/default/page/elements/head.php14
-rw-r--r--views/default/page/elements/header.php6
-rw-r--r--views/default/page/elements/header_logo.php6
-rw-r--r--views/default/page/elements/messages.php2
-rw-r--r--views/default/page/elements/owner_block.php2
-rw-r--r--views/default/page/elements/shortcut_icon.php6
-rw-r--r--views/default/page/elements/sidebar.php2
-rw-r--r--views/default/page/elements/tagcloud_block.php1
-rw-r--r--views/default/page/elements/topbar.php10
-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.php5
-rw-r--r--views/default/page/layouts/content.php1
-rw-r--r--views/default/page/layouts/content/header.php55
-rw-r--r--views/default/page/layouts/error.php12
-rw-r--r--views/default/page/layouts/one_column.php19
-rw-r--r--views/default/page/layouts/walled_garden.php16
-rw-r--r--views/default/page/layouts/widgets.php9
-rw-r--r--views/default/page/layouts/widgets/add_button.php12
-rw-r--r--views/default/page/layouts/widgets/add_panel.php10
-rw-r--r--views/default/page/walled_garden.php40
-rw-r--r--views/default/profile/icon.php2
-rw-r--r--views/default/river/annotation/generic_comment/create.php27
-rw-r--r--views/default/river/elements/body.php82
-rw-r--r--views/default/river/elements/image.php6
-rw-r--r--views/default/river/elements/layout.php14
-rw-r--r--views/default/river/elements/responses.php (renamed from views/default/river/elements/footer.php)11
-rw-r--r--views/default/river/elements/summary.php54
-rw-r--r--views/default/river/item.php28
-rw-r--r--views/default/river/relationship/friend/create.php16
-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.php35
-rw-r--r--views/default/user/elements/summary.php13
-rw-r--r--views/default/widgets/admin_welcome/content.php9
-rw-r--r--views/default/widgets/content_stats/content.php5
-rw-r--r--views/default/widgets/control_panel/content.php38
-rw-r--r--views/default/widgets/friends/content.php17
-rw-r--r--views/default/widgets/new_users/content.php3
-rw-r--r--views/default/widgets/online_users/content.php11
-rw-r--r--views/default/widgets/river_widget/content.php8
-rw-r--r--views/default/widgets/river_widget/edit.php13
209 files changed, 4625 insertions, 2468 deletions
diff --git a/views/default/admin/appearance/default_widgets.php b/views/default/admin/appearance/default_widgets.php
index 5ce0d0acf..1bf5791ac 100644
--- a/views/default/admin/appearance/default_widgets.php
+++ b/views/default/admin/appearance/default_widgets.php
@@ -17,6 +17,7 @@ if ($object) {
'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',
));
@@ -34,7 +35,7 @@ if (!$widget_context && $list) {
$current_info = null;
$tabs = array();
foreach ($list as $info) {
- $url = "admin/settings/default_widgets?widget_context={$info['widget_context']}";
+ $url = "admin/appearance/default_widgets?widget_context={$info['widget_context']}";
$selected = false;
if ($widget_context == $info['widget_context']) {
$selected = true;
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 542ab1b6f..b9440a95d 100644
--- a/views/default/admin/appearance/profile_fields/list.php
+++ b/views/default/admin/appearance/profile_fields/list.php
@@ -9,22 +9,24 @@
$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');
@@ -36,8 +38,9 @@ foreach ($items as $item) {
//$even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even';
$url = elgg_view('output/url', array(
'href' => "action/profile/fields/delete?id={$item->shortname}",
- 'is_action' => TRUE,
'text' => elgg_view_icon('delete-alt'),
+ 'is_action' => true,
+ 'is_trusted' => true,
));
$type = elgg_echo($item->type);
echo <<<HTML
@@ -49,8 +52,4 @@ 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/header.php b/views/default/admin/header.php
index 3919c017e..331190a88 100644
--- a/views/default/admin/header.php
+++ b/views/default/admin/header.php
@@ -7,10 +7,12 @@ $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">
diff --git a/views/default/admin/plugin_settings.php b/views/default/admin/plugin_settings.php
index 7473768c0..1c6e9e206 100644
--- a/views/default/admin/plugin_settings.php
+++ b/views/default/admin/plugin_settings.php
@@ -17,9 +17,9 @@ $vars['entity'] = $plugin;
$settings = false;
if (elgg_view_exists("settings/$plugin_id/edit") || elgg_view_exists("plugins/$plugin_id/settings")) {
- $title = $plugin->manifest->getName();
+ $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 02e9ae58b..000000000
--- a/views/default/admin/plugins/advanced.php
+++ /dev/null
@@ -1,91 +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', true);
-$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 $id => $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:category:$category");
- }
- }
- }
-}
-
-$categories = array_merge(array('' => elgg_echo('admin:plugins:category: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 elgg-button-action'
-));
-
-$category_form = elgg_view('input/form', array(
- 'body' => $category_dropdown . $category_button,
- 'method' => 'get',
- 'action' => 'admin/plugins/advanced',
- 'disable_security' => true,
-));
-
-// @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 elgg-button-action' href=\"$activate_url\">" . elgg_echo('admin:plugins:activate_all') . '</a> ';
- $buttons .= "<a class='elgg-button 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
-
-echo elgg_view_entity_list($installed_plugins, 0, 0, 0, true, false, false);
-
-?>
-</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/settings/advanced.php b/views/default/admin/settings/advanced.php
index 12e4303e7..a262740f2 100644
--- a/views/default/admin/settings/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/settings/basic.php b/views/default/admin/settings/basic.php
index 3b8f4f183..9334ba81b 100644
--- a/views/default/admin/settings/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/statistics/overview.php b/views/default/admin/statistics/overview.php
index 2f5b25121..ac5aaac36 100644
--- a/views/default/admin/statistics/overview.php
+++ b/views/default/admin/statistics/overview.php
@@ -8,6 +8,6 @@
echo elgg_view('admin/statistics/extend');
-echo elgg_view_module('inline', elgg_echo('admin:statistics:label:basic'), elgg_view('admin/statistics/basic'));
+echo elgg_view_module('inline', elgg_echo('admin:statistics:label:basic'), elgg_view('admin/statistics/overview/basic'));
-echo elgg_view_module('inline', elgg_echo('admin:statistics:label:numentities'), elgg_view('admin/statistics/numentities')); \ 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/basic.php b/views/default/admin/statistics/overview/basic.php
index 2c9b3b88e..2c9b3b88e 100644
--- a/views/default/admin/statistics/basic.php
+++ b/views/default/admin/statistics/overview/basic.php
diff --git a/views/default/admin/statistics/numentities.php b/views/default/admin/statistics/overview/numentities.php
index af4ae2773..af4ae2773 100644
--- a/views/default/admin/statistics/numentities.php
+++ b/views/default/admin/statistics/overview/numentities.php
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/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 a21fdee51..5d29a53e2 100644
--- a/views/default/annotation/default.php
+++ b/views/default/annotation/default.php
@@ -2,9 +2,9 @@
/**
* Elgg default annotation view
*
+ * @note To add or remove from the annotation menu, register handlers for the menu:annotation hook.
+ *
* @uses $vars['annotation']
- * @uses $vars['delete_action'] A custom action for the delete button.
- * The annotation ID is passed as 'annotation_id'.
*/
$annotation = $vars['annotation'];
@@ -16,28 +16,19 @@ if (!$owner) {
$icon = elgg_view_entity_icon($owner, 'tiny');
$owner_link = "<a href=\"{$owner->getURL()}\">$owner->name</a>";
-$delete_action = elgg_extract('delete_action', $vars, '');
+$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);
-$delete_button = '';
-if ($delete_action && $annotation->canEdit()) {
- $url = elgg_http_add_url_query_elements($delete_action, array(
- 'annotation_id' => $annotation->id,
- ));
- $delete_button = elgg_view("output/confirmlink", array(
- 'href' => $url,
- 'text' => "<span class=\"elgg-icon elgg-icon-delete right\"></span>",
- 'confirm' => elgg_echo('deleteconfirm'),
- 'text_encode' => false,
- ));
-}
-
$body = <<<HTML
<div class="mbn">
- $delete_button
+ $menu
$owner_link
<span class="elgg-subtext">
$friendlytime
diff --git a/views/default/annotation/generic_comment.php b/views/default/annotation/generic_comment.php
index 4a3407e1a..22a8d9211 100644
--- a/views/default/annotation/generic_comment.php
+++ b/views/default/annotation/generic_comment.php
@@ -2,8 +2,8 @@
/**
* Elgg generic comment view
*
- * @uses $vars['annotation'] ElggAnnotation object
- * @uses $vars['full_view'] Display fill view or brief view
+ * @uses $vars['annotation'] ElggAnnotation object
+ * @uses $vars['full_view'] Display fill view or brief view
*/
if (!isset($vars['annotation'])) {
@@ -29,23 +29,17 @@ $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()) {
- $url = "action/comments/delete?annotation_id=$comment->id";
- $delete_button = elgg_view("output/confirmlink", array(
- 'href' => $url,
- 'text' => "<span class=\"elgg-icon elgg-icon-delete right\"></span>",
- 'confirm' => elgg_echo('deleteconfirm'),
- 'text_encode' => false,
- ));
- }
+ $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
@@ -61,11 +55,13 @@ HTML;
//@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/core/account/login_box.php b/views/default/core/account/login_box.php
index 274172bdb..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_hook_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 a1d64a768..e90cbf106 100644
--- a/views/default/core/account/login_dropdown.php
+++ b/views/default/core/account/login_dropdown.php
@@ -9,7 +9,7 @@ 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));
@@ -24,4 +24,4 @@ $body = elgg_view_form('login', array('action' => "{$login_url}action/login"), a
));
echo elgg_view_module('dropdown', '', $body, array('id' => 'login-dropdown-box'));
?>
-</div> \ No newline at end of file
+</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 57c3c31d7..000000000
--- a/views/default/core/account/login_walled_garden.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
- * Walled Garden Login Form
- *
- * @todo still requires clean up
- */
-
-$reg_url = elgg_normalize_url('register');
-$forgot_url = elgg_normalize_url('pages/account/forgotten_password.php');
-$cancel_button = elgg_view('input/button', array(
- 'value' => elgg_echo('cancel'),
- 'class' => 'elgg-button-cancel mlm',
-));
-
-$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",
-));
-
-if (elgg_get_config('allow_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 id="elgg-walledgarden-registration" class="hidden clearfix">
- <div class="elgg-hiddenform-body" class="clearfix">
- <h2>$title</h2>
- $body
- </div>
- <div class="elgg-hiddenform-bottom"></div>
-</div>
-__HTML;
-}
-
-$title = elgg_echo('user:password:lost');
-$body = elgg_view_form('user/requestnewpassword');
-echo <<<__HTML
-<div id="elgg-walledgarden-lostpassword" class="hidden clearfix">
- <div class="elgg-hiddenform-body" class="clearfix">
- <h2>$title</h2>
- $body
- </div>
- <div class="elgg-hiddenform-bottom"></div>
-</div>
-__HTML;
-
-//@todo JS 1.8: no
-?>
-<script type="text/javascript">
-$(document).ready(function() {
- $('input.username').focus();
-
- // add cancel button to inline forms
- $('#elgg-walledgarden-registration').find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
- $('#elgg-walledgarden-lostpassword').find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
-
- function elgg_slide_hiddenform(activateLink, parentElement, toggleElement) {
- $(activateLink).closest(parentElement).find(toggleElement).fadeToggle('medium');
- }
-
- $('a[href="<?php echo $reg_url; ?>"]').click(function(e) {
- e.preventDefault();
- elgg_slide_hiddenform(this, '#elgg-walledgarden-login', '#elgg-walledgarden-registration');
- $('input.name').focus();
- });
-
- $('a[href="<?php echo $forgot_url; ?>"]').click(function(e) {
- e.preventDefault();
- elgg_slide_hiddenform(this, '#elgg-walledgarden-login', '#elgg-walledgarden-lostpassword');
- $('input.lostusername').focus();
- });
-
- $('input.elgg-button-cancel').click(function() {
- if ($('#elgg-walledgarden-lostpassword').is(':visible')) {
- $('a[href="<?php echo $forgot_url; ?>"]').click();
- } else if ($('#elgg-walledgarden-registration').is(':visible')) {
- $('a[href="<?php echo $reg_url; ?>"]').click();
- }
- return false;
- });
-});
-</script>
diff --git a/views/default/core/avatar/upload.php b/views/default/core/avatar/upload.php
index 6887eab5c..6f9124192 100644
--- a/views/default/core/avatar/upload.php
+++ b/views/default/core/avatar/upload.php
@@ -5,10 +5,24 @@
* @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);
@@ -23,8 +37,9 @@ $upload_form = elgg_view_form('avatar/upload', $form_params, $vars);
$image = <<<HTML
<div id="current-user-avatar" class="mrl prl">
<label>$current_label</label><br />
- <img src="$user_avatar" alt="avatar" />
+ $user_avatar
</div>
+$remove_button
HTML;
$body = <<<HTML
diff --git a/views/default/core/dashboard/blurb.php b/views/default/core/dashboard/blurb.php
deleted file mode 100644
index 0c4e3947a..000000000
--- a/views/default/core/dashboard/blurb.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-/**
- * Elgg dashboard blurb
- *
- */
-?>
-
-<div class="elgg-col elgg-col-2of3">
-<?php
- echo elgg_view('output/longtext', array(
- 'id' => 'dashboard-info',
- 'class' => 'elgg-inner pas mhs mbl',
- 'value' => elgg_echo("dashboard:nowidgets"),
- ));
-
-?>
-</div> \ No newline at end of file
diff --git a/views/default/core/friends/collection.php b/views/default/core/friends/collection.php
index dac98bc5d..1a330af01 100644
--- a/views/default/core/friends/collection.php
+++ b/views/default/core/friends/collection.php
@@ -25,7 +25,7 @@ if ($coll->owner_guid == elgg_get_logged_in_user_guid()) {
'href' => 'action/friends/collections/delete?collection=' . $coll->id,
'class' => 'delete_collection',
'text' => elgg_view_icon('delete'),
- 'text_encode' => false,
+ 'encode_text' => false,
));
echo "</div>";
}
@@ -43,7 +43,7 @@ if ($friends) {
echo elgg_view('input/friendspicker', array(
'entities' => $friends,
- 'value' => $members,
+ 'value' => $vars['collection']->members,
'content' => $content,
'replacement' => '',
'friendspicker' => $vars['friendspicker'],
diff --git a/views/default/core/river/filter.php b/views/default/core/river/filter.php
index 87380b561..9b7fadaa8 100644
--- a/views/default/core/river/filter.php
+++ b/views/default/core/river/filter.php
@@ -34,17 +34,5 @@ if ($selector) {
$params['value'] = $selector;
}
echo elgg_view('input/dropdown', $params);
-?>
-<?php //@todo JS 1.8: no ?>
-<script type="text/javascript">
-elgg.register_hook_handler('init', 'system', 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 ff02c9183..195db1d61 100644
--- a/views/default/core/settings/tools.php
+++ b/views/default/core/settings/tools.php
@@ -11,12 +11,9 @@
// Description of what's going on
echo elgg_view('output/longtext', array(
'value' => elgg_echo("usersettings:plugins:description"),
- 'class' => 'user-settings mtm',
+ 'class' => 'user-settings mtn mbm',
));
-$limit = get_input('limit', 10);
-$offset = get_input('offset', 0);
-
// Get the installed plugins
$installed_plugins = $vars['installed_plugins'];
$count = count($installed_plugins);
@@ -29,7 +26,7 @@ foreach ($installed_plugins as $plugin) {
if (elgg_view_exists("usersettings/$plugin_id/edit")
|| elgg_view_exists("plugins/$plugin_id/usersettings")) {
- $title = $plugin->manifest->getName();
+ $title = $plugin->getManifest()->getName();
$body = elgg_view_form('plugins/usersettings/save', array(), array('entity' => $plugin));
echo elgg_view_module('info', $title, $body);
}
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/admin.php b/views/default/css/admin.php
index b41649c06..c435621b2 100644
--- a/views/default/css/admin.php
+++ b/views/default/css/admin.php
@@ -25,7 +25,6 @@ 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%;
@@ -38,26 +37,23 @@ html, body {
margin-bottom: 1px;
}
img {
- border-width:0;
- border-color:transparent;
-}
-:focus {
- outline:0 none;
+ 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;
@@ -79,7 +75,6 @@ blockquote, q {
/* ***************************************
BASICS
*************************************** */
-
body {
background-color: #eee;
font-size: 80%;
@@ -100,13 +95,21 @@ h6 { font-size: 0.8em; }
a {
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;
@@ -115,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;
@@ -142,18 +150,11 @@ 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;
-}
+
/* ***************************************
PAGE WRAPPER
*************************************** */
@@ -200,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;
@@ -211,6 +212,9 @@ table.mceLayout {
content: "";
}
+/* ***************************************
+ MESSAGES
+*************************************** */
.elgg-page-messages {
padding: 20px 0 0;
width: 500px;
@@ -225,6 +229,44 @@ table.mceLayout {
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
@@ -232,7 +274,7 @@ table.mceLayout {
.elgg-page-body {
padding: 20px 0;
}
-.elgg-main {
+.elgg-main {
background-color: #fff;
border: 1px solid #ccc;
padding: 20px;
@@ -250,14 +292,6 @@ table.mceLayout {
.elgg-main h2 {
color: #333333;
}
-<?php // elgg-layout gets clearfix ?>
-.elgg-layout:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
/* ***************************************
FOOTER
@@ -266,6 +300,7 @@ table.mceLayout {
background-color: #111;
border: 1px solid #999;
padding: 10px 20px;
+ margin-bottom: 10px;
}
.elgg-page-footer a {
color: #ddd;
@@ -279,7 +314,9 @@ table.mceLayout {
/* ***************************************
MODULES
*************************************** */
-
+.elgg-module {
+ overflow: hidden;
+}
.elgg-module-main {
background-color: #fff;
border: 1px solid #ccc;
@@ -288,6 +325,9 @@ table.mceLayout {
.elgg-module-main > .elgg-head {
margin-bottom: 5px;
}
+.elgg-module-info > .elgg-head {
+ margin-bottom: 10px;
+}
.elgg-module-inline {
margin: 20px 0;
}
@@ -315,6 +355,8 @@ table.mceLayout {
.elgg-table td, .elgg-table th {
background: white;
border: 1px solid #ccc;
+ padding: 4px 8px;
+ vertical-align: middle;
}
.elgg-table th {
background-color: #ddd;
@@ -322,15 +364,19 @@ table.mceLayout {
.elgg-table .alt td {
background: #eee;
}
-.elgg-table td {
- padding: 4px 8px;
- border-bottom: 1px solid #ccc;
+.elgg-table input[type=checkbox] {
+ margin-top: 3px;
}
+
.elgg-table-alt {
width: 100%;
border-top: 1px solid #ccc;
}
-.elgg-table-alt td {
+.elgg-table-alt th {
+ background-color: #eee;
+ font-weight: bold;
+}
+.elgg-table-alt td, th {
padding: 2px 4px;
border-bottom: 1px solid #ccc;
}
@@ -355,31 +401,27 @@ table.mceLayout {
float: right;
margin-left: 5px;
}
-
-.elgg-list-item {
+.elgg-item {
margin: 3px;
}
-.elgg-menu-metadata {
- float: right;
- margin-left: 15px;
- font-size: 90%;
-}
-.elgg-menu-metadata > li {
- float: left;
- margin-left: 15px;
+.elgg-list-simple li {
+ margin-bottom: 5px;
}
-.elgg-menu-metadata, .elgg-menu-metadata a {
- color: #aaa;
+.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 {
@@ -392,46 +434,365 @@ input {
font: 120% Arial, Helvetica, sans-serif;
padding: 5px;
border: 1px solid #ccc;
- color:#666;
+ color: #666;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
+ margin: 0;
}
+
/* default elgg core input field classes */
-.input-text,
-.input-tags,
-.input-url,
-.input-textarea {
- width:98%;
+.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;
}
-input[type="submit"], .elgg-button-submit, .elgg-button-action {
+
+.elgg-button {
font-size: 14px;
font-weight: bold;
- color: white;
text-decoration: none;
- background-color: #333;
- border-color: #333;
-
+
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
- display: inline-block;
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;
+ 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
*************************************** */
@@ -457,14 +818,13 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
color: white;
text-decoration: none;
}
-
-.elgg-pagination .elgg-state-disabled {
+.elgg-pagination .elgg-state-disabled span {
color: #CCC;
border-color: #CCC;
}
-.elgg-pagination .elgg-state-selected {
- color: #555;
- border-color: #555;
+.elgg-pagination .elgg-state-selected span {
+ color: #000;
+ border-color: #ccc;
}
/* ***************************************
@@ -522,7 +882,6 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
-moz-border-radius: 5px;
border-radius: 5px;
}
-
.elgg-admin-sidebar-menu a:hover {
text-decoration: none;
background: black;
@@ -532,12 +891,10 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
.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;
@@ -557,14 +914,26 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
}
/* ***************************************
- FOOTER MENU
+ TITLE MENU
*************************************** */
-.elgg-menu-footer {color:gray}
+.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{
+.elgg-menu-footer li:after {
content: "\007C";
display: inline-block;
padding: 0 4px 0 4px;
@@ -575,6 +944,20 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
}
/* ***************************************
+ 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 {
@@ -618,25 +1001,91 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
}
/* ***************************************
+ 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;
+ 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
@@ -672,6 +1121,16 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
.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;
@@ -684,26 +1143,19 @@ input[type="submit"]:hover, .elgg-button-submit:hover, .elgg-button-action:hover
}
.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;
+ padding: 4px 45px 0 20px;
color: #333;
}
-.elgg-module-widget > .elgg-head a {
- position: absolute;
- top: 5px;
- display: inline-block;
- width: 18px;
- height: 18px;
- padding: 2px 2px 0 0;
-}
.elgg-widget-collapse-button {
- left: 5px;
color: #c5c5c5;
text-decoration: none;
}
@@ -718,12 +1170,6 @@ a.elgg-widget-collapse-button:before {
a.elgg-widget-collapsed:before {
content: "\25BA";
}
-.elgg-widget-delete-button {
- right: 5px;
-}
-.elgg-widget-edit-button {
- right: 25px;
-}
.elgg-module-widget > .elgg-body {
border-top: 1px solid #dedede;
background-color: white;
@@ -788,80 +1234,6 @@ a.elgg-widget-collapsed:before {
width: 83.33%;
}
-
-.elgg-subtext {
- color: #666;
- font-size: 85%;
- line-height: 1.2em;
- font-style: italic;
- margin-bottom: 5px;
-}
-
-a.elgg-longtext-control {
- float: right;
- margin-left: 14px;
-}
-
-/* ***************************************
- Spacing (from OOCSS)
-*************************************** */
-.pan{padding:0}
-.pas{padding:5px}
-.pam{padding:10px}
-.pal{padding:20px}
-.ptn{padding-top:0}
-.pts{padding-top:5px}
-.ptm{padding-top:10px}
-.ptl{padding-top:20px}
-.prn{padding-right:0}
-.prs{padding-right:5px}
-.prm{padding-right:10px}
-.prl{padding-right:20px}
-.pbn{padding-bottom:0}
-.pbs{padding-bottom:5px}
-.pbm{padding-bottom:10px}
-.pbl{padding-bottom:20px}
-.pln{padding-left:0}
-.pls{padding-left:5px}
-.plm{padding-left:10px}
-.pll{padding-left:20px}
-.phn{padding-left:0;padding-right:0}
-.phs{padding-left:5px;padding-right:5px}
-.phm{padding-left:10px;padding-right:10px}
-.phl{padding-left:20px;padding-right:20px}
-.pvn{padding-top:0;padding-bottom:0}
-.pvs{padding-top:5px;padding-bottom:5px}
-.pvm{padding-top:10px;padding-bottom:10px}
-.pvl{padding-top:20px;padding-bottom:20px}
-.man{margin:0}
-.mas{margin:5px}
-.mam{margin:10px}
-.mal{margin:20px}
-.mtn{margin-top:0}
-.mts{margin-top:5px}
-.mtm{margin-top:10px}
-.mtl{margin-top:20px}
-.mrn{margin-right:0}
-.mrs{margin-right:5px}
-.mrm{margin-right:10px}
-.mrl{margin-right:20px}
-.mbn{margin-bottom:0}
-.mbs{margin-bottom:5px}
-.mbm{margin-bottom:10px}
-.mbl{margin-bottom:20px}
-.mln{margin-left:0}
-.mls{margin-left:5px}
-.mlm{margin-left:10px}
-.mll{margin-left:20px}
-.mhn{margin-left:0;margin-right:0}
-.mhs{margin-left:5px;margin-right:5px}
-.mhm{margin-left:10px;margin-right:10px}
-.mhl{margin-left:20px;margin-right:20px}
-.mvn{margin-top:0;margin-bottom:0}
-.mvs{margin-top:5px;margin-bottom:5px}
-.mvm{margin-top:10px;margin-bottom:10px}
-.mvl{margin-top:20px;margin-bottom:20px}
-
/* ***************************************
ICONS
*************************************** */
@@ -871,6 +1243,10 @@ a.elgg-longtext-control {
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 {
@@ -910,6 +1286,7 @@ a.elgg-longtext-control {
*************************************** */
.elgg-avatar {
position: relative;
+ display: inline-block;
}
.elgg-avatar > a > img {
display: block;
@@ -1017,186 +1394,284 @@ a.elgg-longtext-control {
height: 200px;
}
+/* ***************************************
+ PLUGINS
+**************************************** */
+.elgg-plugin {
+ border: 1px solid #999;
+ margin: 0 0 5px;
+ padding: 0 7px 4px 10px;
-.elgg-menu-metadata {
- list-style-type: none;
- float: right;
- margin-left: 15px;
- font-size: 90%;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
}
-.elgg-menu-metadata > li {
- float: left;
- margin-left: 15px;
+.elgg-plugin.elgg-state-draggable > .elgg-image-block .elgg-head {
+ cursor: move;
}
-
-.right {float:right}
-.elgg-toggle {cursor:pointer}
-
-/* ***************************************
- STATES
-*************************************** */
-
-.elgg-state-active {
- background:#ccc;
- color: #333;
+.elgg-plugin p {
+ margin: 0;
}
-
-.elgg-state-inactive {
- background:#dedede;
+.elgg-plugin h3 {
+ color: black;
+ padding-bottom: 10px;
}
-
-.elgg-state-available {
- color: #333;
- cursor: pointer;
+.elgg-plugin-settings {
+ font-weight: normal;
+ font-size: 0.9em;
}
-
-.elgg-state-available:hover {
- border-color: #aaa;
+.elgg-plugin-screenshot {
+ display: inline;
}
-
-.elgg-state-unavailable {
- color: #888;
+.elgg-plugin-screenshot img {
+ border: 1px solid #999;
}
+.elgg-plugin-screenshot-lightbox {
+ display: block;
+ position: absolute;
+ width: 99%;
+ text-align: center;
+ background-color: white;
+ border: 1px solid #999;
-.elgg-state-success {
- background: #e6efc2;
- color: #264409;
- border-color: #c6d880;
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
}
-
-.elgg-state-error {
+.elgg-plugin-screenshot-lightbox h2 {
+ color: black;
+}
+.elgg-plugin.elgg-state-active {
+ background: white;
+}
+.elgg-plugin.elgg-state-inactive {
+ background: #dedede;
+}
+.elgg-plugin .elgg-state-error {
background: #fbe3e4;
color: #8a1f11;
border-color: #fbc2c4;
font-weight: bold;
}
-
-p.elgg-state-error {
- padding: 5px;
+.elgg-plugin .elgg-state-warning {
+ background: #fbedb5;
+ color: #000000;
+ border-color: #fbe58b;
+ font-weight: bold;
}
+.elgg-plugin-more {
+ background-color: #eee;
-<?php //@todo elgg-drag-handle instead? ?>
-.elgg-state-draggable .elgg-head {
- cursor: move;
+ -webkit-border-radius: 8px;
+ -moz-border-radius: 8px;
+ border-radius: 8px;
+
+ padding: 5px 10px;
+ margin: 4px 0;
+}
+ul.elgg-plugin-categories, ul.elgg-plugin-categories > li,
+ul.elgg-plugin-resources, ul.elgg-plugin-resources > li {
+ display: inline;
+}
+.elgg-plugin-category-bundled {
+ border-width: 2px;
+ border-color: #0054A7;
}
-<?php //What to do with states that don't have default styles? ?>
-.elgg-state-selected {}
-.elgg-state-disabled {}
+/****************************************
+ MARKDOWN
+****************************************/
+.elgg-markdown {
+ margin: 15px;
+}
+.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;
+}
+.elgg-markdown ol {
+ list-style: decimal;
+ padding-left: 2em;
+}
+.elgg-markdown ul {
+ list-style: disc;
+ padding-left: 2em;
+}
+.elgg-markdown p {
+ margin: 15px 0;
+}
/* ***************************************
- ADMIN MISC
+ MISC
*************************************** */
+.elgg-content-thin {
+ max-width: 600px;
+}
-.manifest_file {
- background-color:#eee;
+.elgg-subtext {
+ color: #666;
+ font-size: 85%;
+ line-height: 1.2em;
+ font-style: italic;
+ margin-bottom: 5px;
+}
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- border-radius: 8px;
+.elgg-text-help {
+ display: block;
+ font-size: 85%;
+ font-style: italic;
+}
- padding:5px 10px;
- margin: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:#999;
+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 #999;
- margin:0 0 5px;
- padding:0 7px 4px 10px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- 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 #999;
+.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 #999;
-
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- border-radius: 8px;
}
-.elgg-plugin-screenshot-lightbox h2 {
- color:black;
+.elgg-transition:hover {
+ opacity: .7;
}
-.elgg-plugin.elgg-state-active {
- background: white;
+/* ***************************************
+ BORDERS AND SEPARATORS
+*************************************** */
+.elgg-border-plain {
+ border: 1px solid #eeeeee;
}
-
-.admin_notices {
- padding-bottom: 15px;
+.elgg-border-transition {
+ border: 1px solid #eeeeee;
}
-.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-divide-top {
+ border-top: 1px solid #CCCCCC;
}
-
-.admin_notices a {
- float: right;
+.elgg-divide-bottom {
+ border-bottom: 1px solid #CCCCCC;
}
-
-.add-user form {
- width:300px;
+.elgg-divide-left {
+ border-left: 1px solid #CCCCCC;
}
+.elgg-divide-right {
+ border-right: 1px solid #CCCCCC;
+}
+
+/* ***************************************
+ SPACING (from OOCSS)
+*************************************** */
+.pan{padding:0}
+.pas{padding:5px}
+.pam{padding:10px}
+.pal{padding:20px}
+.ptn{padding-top:0}
+.pts{padding-top:5px}
+.ptm{padding-top:10px}
+.ptl{padding-top:20px}
+.prn{padding-right:0}
+.prs{padding-right:5px}
+.prm{padding-right:10px}
+.prl{padding-right:20px}
+.pbn{padding-bottom:0}
+.pbs{padding-bottom:5px}
+.pbm{padding-bottom:10px}
+.pbl{padding-bottom:20px}
+.pln{padding-left:0}
+.pls{padding-left:5px}
+.plm{padding-left:10px}
+.pll{padding-left:20px}
+.phn{padding-left:0;padding-right:0}
+.phs{padding-left:5px;padding-right:5px}
+.phm{padding-left:10px;padding-right:10px}
+.phl{padding-left:20px;padding-right:20px}
+.pvn{padding-top:0;padding-bottom:0}
+.pvs{padding-top:5px;padding-bottom:5px}
+.pvm{padding-top:10px;padding-bottom:10px}
+.pvl{padding-top:20px;padding-bottom:20px}
+.man{margin:0}
+.mas{margin:5px}
+.mam{margin:10px}
+.mal{margin:20px}
+.mtn{margin-top:0}
+.mts{margin-top:5px}
+.mtm{margin-top:10px}
+.mtl{margin-top:20px}
+.mrn{margin-right:0}
+.mrs{margin-right:5px}
+.mrm{margin-right:10px}
+.mrl{margin-right:20px}
+.mbn{margin-bottom:0}
+.mbs{margin-bottom:5px}
+.mbm{margin-bottom:10px}
+.mbl{margin-bottom:20px}
+.mln{margin-left:0}
+.mls{margin-left:5px}
+.mlm{margin-left:10px}
+.mll{margin-left:20px}
+.mhn{margin-left:0;margin-right:0}
+.mhs{margin-left:5px;margin-right:5px}
+.mhm{margin-left:10px;margin-right:10px}
+.mhl{margin-left:20px;margin-right:20px}
+.mvn{margin-top:0;margin-bottom:0}
+.mvs{margin-top:5px;margin-bottom:5px}
+.mvm{margin-top:10px;margin-bottom:10px}
+.mvl{margin-top:20px;margin-bottom:20px}
diff --git a/views/default/css/elements/components.php b/views/default/css/elements/components.php
index 0fcbe3619..7fe535d57 100644
--- a/views/default/css/elements/components.php
+++ b/views/default/css/elements/components.php
@@ -7,17 +7,6 @@
* @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.
- */
?>
/* ***************************************
@@ -47,10 +36,10 @@
border-bottom: 1px dotted #CCCCCC;
}
-.elgg-list-item .elgg-subtext {
+.elgg-item .elgg-subtext {
margin-bottom: 5px;
}
-.elgg-list-content {
+.elgg-item .elgg-content {
margin: 10px 5px;
}
@@ -65,9 +54,12 @@
.elgg-gallery td {
padding: 5px;
}
-.elgg-gallery-fluid li {
+.elgg-gallery-fluid > li {
float: left;
}
+.elgg-gallery-users > li {
+ margin: 0 2px;
+}
/* ***************************************
Tables
@@ -93,7 +85,11 @@
width: 100%;
border-top: 1px solid #ccc;
}
-.elgg-table-alt td {
+.elgg-table-alt th {
+ background-color: #eee;
+ font-weight: bold;
+}
+.elgg-table-alt td, .elgg-table-alt th {
padding: 2px 4px 2px 4px;
border-bottom: 1px solid #ccc;
}
@@ -143,10 +139,10 @@
/* ***************************************
River
*************************************** */
-.elgg-river {
+.elgg-list-river {
border-top: 1px solid #CCC;
}
-.elgg-river > li {
+.elgg-list-river > li {
border-bottom: 1px solid #CCC;
}
.elgg-river-item {
@@ -161,6 +157,9 @@
font-style: italic;
line-height: 1.2em;
}
+
+.elgg-river-attachments,
+.elgg-river-message,
.elgg-river-content {
border-left: 1px solid #CCC;
font-size: 85%;
@@ -168,9 +167,8 @@
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 {
@@ -271,17 +269,16 @@
Tags
*************************************** */
.elgg-tags {
- display: inline;
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
index e99a11e13..74f21ee59 100644
--- a/views/default/css/elements/core.php
+++ b/views/default/css/elements/core.php
@@ -18,7 +18,14 @@
/* Clearfix */
.clearfix:after,
.elgg-grid:after,
-.elgg-layout: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;
@@ -39,13 +46,28 @@
*overflow:visible;
}
-<?php //@todo isn't this only needed if we use display:table-cell? ?>
+<?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;
@@ -61,8 +83,9 @@
/* Enabled nesting of dropdown/flyout menus */
.elgg-menu > li { position: relative; }
-/* Separators should only come between list items */
-.elgg-menu > li:last-child:after { display: none }
+.elgg-menu > li:last-child::after {
+ display: none;
+}
/* Maximize click target */
.elgg-menu > li > a { display: block }
@@ -89,13 +112,6 @@
.elgg-menu-hz > li > span {
/* Google says do this, but why? */
position: relative;
-
- /* FF2 */
- display: -moz-inline-box;
display: inline-block;
-
- /* Inline-block: IE 6, 7 */
- zoom: 1;
- *display: inline;
-} \ No newline at end of file
+}
diff --git a/views/default/css/elements/forms.php b/views/default/css/elements/forms.php
index d783b5123..068cc8fd6 100644
--- a/views/default/css/elements/forms.php
+++ b/views/default/css/elements/forms.php
@@ -16,6 +16,10 @@ fieldset > div {
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;
@@ -28,18 +32,16 @@ input, textarea {
color: #666;
font: 120% Arial, Helvetica, sans-serif;
padding: 5px;
- width: 100%;
-
+ width: 100%;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
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:#333;
@@ -67,17 +69,25 @@ 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;
}
+.elgg-form-login, .elgg-form-account {
+ max-width: 450px;
+}
+
/* ***************************************
FRIENDS PICKER
*************************************** */
+.friends-picker-main-wrapper {
+ margin-bottom: 15px;
+}
.friends-picker-container h3 {
font-size:4em !important;
text-align: left;
@@ -95,7 +105,7 @@ input[type="radio"] {
margin: 0;
padding:0;
position: relative;
- width: 100%;
+ width: 730px;
}
.friends-picker {
position: relative;
@@ -225,16 +235,141 @@ input[type="radio"] {
}
/* ***************************************
+ 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;
+}
+
+/* ***************************************
+ 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);
+}
+.ui-datepicker-inline {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
-.user-picker .user-picker-entry {
- clear:both;
- height:25px;
- padding:5px;
- margin-top:5px;
- border-bottom:1px solid #cccccc;
+.ui-datepicker-header {
+ position: relative;
+ background: #4690D6;
+ color: white;
+ padding: 2px 0;
+ border-bottom: 1px solid #0054A7;
+}
+.ui-datepicker-header a {
+ color: white;
+}
+.ui-datepicker-prev, .ui-datepicker-next {
+ position: absolute;
+ top: 5px;
+ 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: 4px;
+}
+.ui-datepicker th {
+ color: #0054A7;
+ 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: #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;
}
-.user-picker-entry .elgg-button-delete {
- margin-right:10px;
-} \ No newline at end of file
diff --git a/views/default/css/elements/helpers.php b/views/default/css/elements/helpers.php
index e6f59260d..e9a9e0a30 100644
--- a/views/default/css/elements/helpers.php
+++ b/views/default/css/elements/helpers.php
@@ -33,27 +33,10 @@
float: right;
}
-.right {
- float: right;
-}
-
-.left {
- float: left;
-}
-
.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;
}
diff --git a/views/default/css/elements/icons.php b/views/default/css/elements/icons.php
index 08948df50..9b12e0a57 100644
--- a/views/default/css/elements/icons.php
+++ b/views/default/css/elements/icons.php
@@ -27,214 +27,253 @@
.elgg-icon-arrow-two-head {
background-position: 0 -36px;
}
-.elgg-icon-calendar {
+.elgg-icon-attention:hover {
background-position: 0 -54px;
}
-.elgg-icon-checkmark:hover {
+.elgg-icon-attention {
background-position: 0 -72px;
}
-.elgg-icon-checkmark {
+.elgg-icon-calendar {
background-position: 0 -90px;
}
-.elgg-icon-clip:hover {
+.elgg-icon-cell-phone {
background-position: 0 -108px;
}
-.elgg-icon-clip {
+.elgg-icon-checkmark:hover {
background-position: 0 -126px;
}
-.elgg-icon-cursor-drag-arrow {
+.elgg-icon-checkmark {
background-position: 0 -144px;
}
-.elgg-icon-delete-alt:hover {
+.elgg-icon-clip:hover {
background-position: 0 -162px;
}
-.elgg-icon-delete-alt {
+.elgg-icon-clip {
background-position: 0 -180px;
}
-.elgg-icon-delete:hover {
+.elgg-icon-cursor-drag-arrow {
background-position: 0 -198px;
}
-.elgg-icon-delete {
+.elgg-icon-delete-alt:hover {
background-position: 0 -216px;
}
-.elgg-icon-download:hover {
+.elgg-icon-delete-alt {
background-position: 0 -234px;
}
-.elgg-icon-download {
+.elgg-icon-delete:hover {
background-position: 0 -252px;
}
-.elgg-icon-facebook {
+.elgg-icon-delete {
background-position: 0 -270px;
}
-.elgg-icon-home:hover {
+.elgg-icon-download:hover {
background-position: 0 -288px;
}
-.elgg-icon-home {
+.elgg-icon-download {
background-position: 0 -306px;
}
-.elgg-icon-hover-menu:hover {
+.elgg-icon-eye {
background-position: 0 -324px;
}
-.elgg-icon-hover-menu {
+.elgg-icon-facebook {
background-position: 0 -342px;
}
-.elgg-icon-link:hover {
+.elgg-icon-grid:hover {
background-position: 0 -360px;
}
-.elgg-icon-link {
+.elgg-icon-grid {
background-position: 0 -378px;
}
-.elgg-icon-mail-alt:hover {
+.elgg-icon-home:hover {
background-position: 0 -396px;
}
-.elgg-icon-mail-alt {
+.elgg-icon-home {
background-position: 0 -414px;
}
-.elgg-icon-mail:hover {
+.elgg-icon-hover-menu:hover {
background-position: 0 -432px;
}
-.elgg-icon-mail {
+.elgg-icon-hover-menu {
background-position: 0 -450px;
}
-.elgg-icon-print-alt {
+.elgg-icon-info:hover {
background-position: 0 -468px;
}
-.elgg-icon-print {
+.elgg-icon-info {
background-position: 0 -486px;
}
-.elgg-icon-push-pin-alt {
+.elgg-icon-link:hover {
background-position: 0 -504px;
}
-.elgg-icon-push-pin {
+.elgg-icon-link {
background-position: 0 -522px;
}
-.elgg-icon-redo {
+.elgg-icon-list {
background-position: 0 -540px;
}
-.elgg-icon-refresh:hover {
+.elgg-icon-lock-closed {
background-position: 0 -558px;
}
-.elgg-icon-refresh {
+.elgg-icon-lock-open {
background-position: 0 -576px;
}
-.elgg-icon-round-arrow-left {
+.elgg-icon-mail-alt:hover {
background-position: 0 -594px;
}
-.elgg-icon-round-arrow-right {
+.elgg-icon-mail-alt {
background-position: 0 -612px;
}
-.elgg-icon-round-checkmark {
+.elgg-icon-mail:hover {
background-position: 0 -630px;
}
-.elgg-icon-round-minus {
+.elgg-icon-mail {
background-position: 0 -648px;
}
-.elgg-icon-round-plus {
+.elgg-icon-photo {
background-position: 0 -666px;
}
-.elgg-icon-rss {
+.elgg-icon-print-alt {
background-position: 0 -684px;
}
-.elgg-icon-search-focus {
+.elgg-icon-print {
background-position: 0 -702px;
}
-.elgg-icon-search {
+.elgg-icon-push-pin-alt {
background-position: 0 -720px;
}
-.elgg-icon-settings-alt:hover {
+.elgg-icon-push-pin {
background-position: 0 -738px;
}
-.elgg-icon-settings-alt {
+.elgg-icon-redo {
background-position: 0 -756px;
}
-.elgg-icon-settings {
+.elgg-icon-refresh:hover {
background-position: 0 -774px;
}
-.elgg-icon-share:hover {
+.elgg-icon-refresh {
background-position: 0 -792px;
}
-.elgg-icon-share {
+.elgg-icon-round-arrow-left {
background-position: 0 -810px;
}
-.elgg-icon-shop-cart:hover {
+.elgg-icon-round-arrow-right {
background-position: 0 -828px;
}
-.elgg-icon-shop-cart {
+.elgg-icon-round-checkmark {
background-position: 0 -846px;
}
-.elgg-icon-speech-bubble-alt:hover {
+.elgg-icon-round-minus {
background-position: 0 -864px;
}
-.elgg-icon-speech-bubble-alt {
+.elgg-icon-round-plus {
background-position: 0 -882px;
}
-.elgg-icon-speech-bubble:hover {
+.elgg-icon-rss {
background-position: 0 -900px;
}
-.elgg-icon-speech-bubble {
+.elgg-icon-search-focus {
background-position: 0 -918px;
}
-.elgg-icon-star-alt {
+.elgg-icon-search {
background-position: 0 -936px;
}
-.elgg-icon-star-empty:hover {
+.elgg-icon-settings-alt:hover {
background-position: 0 -954px;
}
-.elgg-icon-star-empty {
+.elgg-icon-settings-alt {
background-position: 0 -972px;
}
-.elgg-icon-star:hover {
+.elgg-icon-settings {
background-position: 0 -990px;
}
-.elgg-icon-star {
+.elgg-icon-share:hover {
background-position: 0 -1008px;
}
-.elgg-icon-tag:hover {
+.elgg-icon-share {
background-position: 0 -1026px;
}
-.elgg-icon-tag {
+.elgg-icon-shop-cart:hover {
background-position: 0 -1044px;
}
-.elgg-icon-thumbs-down-alt:hover {
+.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 -1080px;
+ background-position: 0 -1296px;
}
.elgg-icon-thumbs-down {
- background-position: 0 -1098px;
+ background-position: 0 -1314px;
}
.elgg-icon-thumbs-up-alt:hover {
- background-position: 0 -1116px;
+ background-position: 0 -1332px;
}
.elgg-icon-thumbs-up:hover,
.elgg-icon-thumbs-up-alt {
- background-position: 0 -1134px;
+ background-position: 0 -1350px;
}
.elgg-icon-thumbs-up {
- background-position: 0 -1152px;
+ background-position: 0 -1368px;
}
.elgg-icon-trash {
- background-position: 0 -1170px;
+ background-position: 0 -1386px;
}
.elgg-icon-twitter {
- background-position: 0 -1188px;
+ background-position: 0 -1404px;
}
.elgg-icon-undo {
- background-position: 0 -1206px;
+ background-position: 0 -1422px;
}
.elgg-icon-user:hover {
- background-position: 0 -1224px;
+ background-position: 0 -1440px;
}
.elgg-icon-user {
- background-position: 0 -1242px;
+ background-position: 0 -1458px;
}
.elgg-icon-users:hover {
- background-position: 0 -1260px;
+ background-position: 0 -1476px;
}
.elgg-icon-users {
- background-position: 0 -1278px;
+ background-position: 0 -1494px;
+}
+.elgg-icon-video {
+ background-position: 0 -1512px;
}
@@ -249,8 +288,8 @@
.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;
+ min-height: 31px;
+ min-width: 31px;
}
/* ***************************************
@@ -258,6 +297,7 @@
*************************************** */
.elgg-avatar {
position: relative;
+ display: inline-block;
}
.elgg-avatar > a > img {
display: block;
diff --git a/views/default/css/elements/layout.php b/views/default/css/elements/layout.php
index d52938aee..9d92752b4 100644
--- a/views/default/css/elements/layout.php
+++ b/views/default/css/elements/layout.php
@@ -15,6 +15,10 @@
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;
@@ -35,7 +39,6 @@
.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;
@@ -50,7 +53,7 @@
top: 24px;
right: 20px;
max-width: 500px;
- z-index: 1000;
+ z-index: 2000;
}
.elgg-system-messages li {
margin-top: 10px;
@@ -72,15 +75,15 @@
.elgg-layout {
min-height: 360px;
}
-.elgg-layout-one-column {
- padding: 10px 0;
-}
.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;
@@ -115,4 +118,4 @@
}
.elgg-page-footer a:hover {
color: #666;
-} \ No newline at end of file
+}
diff --git a/views/default/css/elements/misc.php b/views/default/css/elements/misc.php
index c8ba4f735..d9622d34a 100644
--- a/views/default/css/elements/misc.php
+++ b/views/default/css/elements/misc.php
@@ -8,10 +8,6 @@
z-index: 100;
}
-#dashboard-info .elgg-inner {
- border: 2px solid #dedede;
-}
-
/* ***************************************
AVATAR UPLOADING & CROPPING
*************************************** */
@@ -22,7 +18,7 @@
#avatar-croppingtool {
border-top: 1px solid #ccc;
}
-#user-avatar {
+#user-avatar-cropper {
float: left;
}
#user-avatar-preview {
diff --git a/views/default/css/elements/modules.php b/views/default/css/elements/modules.php
index a5b907ddc..a37ae094b 100644
--- a/views/default/css/elements/modules.php
+++ b/views/default/css/elements/modules.php
@@ -2,6 +2,7 @@
Modules
*************************************** */
.elgg-module {
+ overflow: hidden;
margin-bottom: 20px;
}
@@ -154,19 +155,10 @@
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: 4px;
- display: inline-block;
- width: 18px;
- height: 18px;
- padding: 2px 2px 0 0;
-}
a.elgg-widget-collapse-button {
- left: 5px;
color: #c5c5c5;
}
a.elgg-widget-collapse-button:hover,
@@ -180,12 +172,6 @@ a.elgg-widget-collapse-button:before {
a.elgg-widget-collapsed:before {
content: "\25BA";
}
-a.elgg-widget-delete-button {
- right: 5px;
-}
-a.elgg-widget-edit-button {
- right: 25px;
-}
.elgg-module-widget > .elgg-body {
background-color: white;
width: 100%;
@@ -197,6 +183,7 @@ a.elgg-widget-edit-button {
width: 96%;
padding: 2%;
border-bottom: 2px solid #dedede;
+ background-color: #f9f9f9;
}
.elgg-widget-content {
padding: 10px;
@@ -204,4 +191,4 @@ a.elgg-widget-edit-button {
.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 25b45bbee..6b29e4c19 100644
--- a/views/default/css/elements/navigation.php
+++ b/views/default/css/elements/navigation.php
@@ -16,7 +16,7 @@
text-align: center;
}
.elgg-pagination li {
- display: inline;
+ display: inline-block;
margin: 0 6px 0 0;
text-align: center;
}
@@ -24,7 +24,8 @@
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-
+
+ display: block;
padding: 2px 6px;
color: #4690d6;
border: 1px solid #4690d6;
@@ -98,7 +99,7 @@
.elgg-breadcrumbs > li {
display: inline-block;
}
-.elgg-breadcrumbs > li:after{
+.elgg-breadcrumbs > li:after {
content: "\003E";
padding: 0 4px;
font-weight: normal;
@@ -130,13 +131,9 @@
}
.elgg-menu-topbar > li > a {
- padding: 2px 15px;
+ padding-top: 2px;
color: #eee;
- margin-top: 1px;
-}
-
-.elgg-menu-topbar > li > a > span {
- vertical-align: middle;
+ margin: 1px 15px 0;
}
.elgg-menu-topbar > li > a:hover {
@@ -148,11 +145,28 @@
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: 7000;
+ z-index: 1;
}
.elgg-menu-site > li > a {
@@ -165,7 +179,6 @@
text-decoration: none;
}
-
.elgg-menu-site-default {
position: absolute;
bottom: 0;
@@ -178,62 +191,68 @@
margin-right: 1px;
}
-.elgg-menu-site-default > li > a {color: white}
+.elgg-menu-site-default > li > a {
+ color: white;
+}
+.elgg-menu-site > li > ul {
+ display: none;
+ background-color: white;
+}
+
+.elgg-menu-site > li:hover > ul {
+ display: block;
+}
.elgg-menu-site-default > .elgg-state-selected > a,
.elgg-menu-site-default > li:hover > a {
background: white;
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);
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-more {
- display: none;
position: relative;
left: -1px;
width: 100%;
- z-index: 7000;
min-width: 150px;
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);
}
-li:hover > .elgg-menu-site-more {
- display: block;
-}
-
.elgg-menu-site-more > li > a {
- background: white;
+ 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-more > li > a:hover {
background: #4690D6;
color: white;
}
+
.elgg-menu-site-more > li:last-child > a,
.elgg-menu-site-more > li:last-child > a:hover {
-webkit-border-radius: 0 0 4px 4px;
@@ -354,7 +373,10 @@ li:hover > .elgg-menu-site-more {
position: absolute;
z-index: 10000;
- width: 165px;
+ overflow: hidden;
+
+ min-width: 165px;
+ max-width: 250px;
border: solid 1px;
border-color: #E5E5E5 #999 #999 #E5E5E5;
background-color: #FFF;
@@ -389,12 +411,12 @@ li:hover > .elgg-menu-site-more {
}
/* ***************************************
- FOOTER
+ SITE FOOTER
*************************************** */
.elgg-menu-footer > li,
.elgg-menu-footer > li > a {
display: inline-block;
- color:#999;
+ color: #999;
}
.elgg-menu-footer > li:after {
@@ -411,22 +433,43 @@ li:hover > .elgg-menu-site-more {
}
/* ***************************************
- ENTITY
+ 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
*************************************** */
-.elgg-menu-entity {
+<?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 {
- display: inline-block;
+.elgg-menu-entity > li, .elgg-menu-annotation > li {
margin-left: 15px;
}
-<?php // height depends on line height/font size ?>
-.elgg-menu-entity > li > a {
+.elgg-menu-entity > li > a, .elgg-menu-annotation > li > a {
color: #aaa;
- height: 18px;
+}
+<?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;
}
/* ***************************************
@@ -468,15 +511,50 @@ li:hover > .elgg-menu-site-more {
margin-left: 15px;
font-size: 90%;
color: #aaa;
+ line-height: 16px;
+ height: 16px;
}
.elgg-menu-river > li {
display: inline-block;
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;
-} \ No newline at end of file
+}
+
+/* ***************************************
+ 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;
+}
diff --git a/views/default/css/elements/typography.php b/views/default/css/elements/typography.php
index a50f85c8c..c044cb1cc 100644
--- a/views/default/css/elements/typography.php
+++ b/views/default/css/elements/typography.php
@@ -34,9 +34,6 @@ p:last-child {
margin-bottom: 0;
}
-dt { font-weight: bold }
-dd { margin: 0 0 1em 1em }
-
pre, code {
font-family: Monaco, "Courier New", Courier, monospace;
font-size: 12px;
@@ -138,7 +135,11 @@ h6 { font-size: 0.8em; }
.elgg-output {
margin-top: 10px;
}
-.elgg-output ul, ol {
+
+.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;
}
@@ -157,4 +158,5 @@ h6 { font-size: 0.8em; }
}
.elgg-output img {
max-width: 100%;
-} \ No newline at end of file
+ height: auto;
+}
diff --git a/views/default/css/elgg.php b/views/default/css/elgg.php
index 675af860d..4960e6ade 100644
--- a/views/default/css/elgg.php
+++ b/views/default/css/elgg.php
@@ -26,13 +26,12 @@ if ($old_css_view != elgg_get_config('viewpath')) {
Base CSS
* CSS reset
* core
- * helpers
+ * helpers (moved to end to have a higher priority)
* grid
*******************************************************************************/
echo elgg_view('css/elements/reset', $vars);
echo elgg_view('css/elements/core', $vars);
-echo elgg_view('css/elements/helpers', $vars);
echo elgg_view('css/elements/grid', $vars);
@@ -61,5 +60,9 @@ 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 6760d3886..34ececa89 100644
--- a/views/default/css/ie.php
+++ b/views/default/css/ie.php
@@ -1,74 +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;}
-.elgg-image-block .entity-metadata {
- min-width:400px;
- text-align: right;
-}
-
-/* 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;
+/* ie8 does not like shrink wrapping this div with inline-block */
+.elgg-avatar {
+ display: block;
}
-.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 f8ed208f6..cf49d33f2 100644
--- a/views/default/css/ie6.php
+++ b/views/default/css/ie6.php
@@ -1,15 +1,11 @@
/**
- * 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 */
.elgg-button-delete a { background-position-y: 2px; }
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
index 75bf0f29e..f6f7f97dc 100644
--- a/views/default/css/walled_garden.php
+++ b/views/default/css/walled_garden.php
@@ -6,60 +6,76 @@
$url = elgg_get_site_url();
?>
-#elgg-walledgarden {
+.elgg-body-walledgarden {
margin: 100px auto 0 auto;
- width: 563px;
- min-height: 230px;
- background: url(<?php echo $url; ?>_graphics/walled_garden_background_top.gif) no-repeat left top;
- padding: 0;
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-walledgarden-bottom {
- margin:0 auto;
- background: url(<?php echo $url; ?>_graphics/walled_garden_background_bottom.gif) no-repeat left bottom;
- width:563px;
- height:54px;
+.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-intro {
- width: 230px;
- float: left;
- margin: 35px 15px 15px 35px;
+.elgg-walledgarden-single > .elgg-body {
+ padding: 0 18px;
}
-#elgg-walledgarden-login {
- width: 230px;
- float: left;
- margin: 30px 15px 45px 19px;
+.elgg-module-walledgarden-login {
+ margin: 0;
+}
+.elgg-body-walledgarden h3 {
+ font-size: 1.5em;
+ line-height: 1.1em;
+ padding-bottom: 5px;
}
.elgg-heading-walledgarden {
- color: #666666;
margin-top: 60px;
line-height: 1.1em;
}
-#elgg-walledgarden-lostpassword,
-#elgg-walledgarden-registration {
- position: absolute;
- right: 0;
- top: 0;
- width: 563px;
- background-color: white;
- padding: 0;
- background: url(<?php echo $url; ?>_graphics/walled_garden_backgroundfull_top.gif) no-repeat left top;
- height: auto;
+h1, h2, h3, h4, h5, h6 {
+ color: #666;
}
-.elgg-hiddenform-body {
- padding: 30px 40px 0 40px;
- height: auto;
-}
-.elgg-hiddenform-bottom {
- margin: 0 auto;
- background: url(<?php echo $url; ?>_graphics/walled_garden_backgroundfull_bottom.gif) no-repeat left bottom;
- width: 563px;
- height: 54px;
- position: relative;
-}
+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/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 91129c881..1a67ffcc4 100644
--- a/views/default/forms/admin/menu/save.php
+++ b/views/default/forms/admin/menu/save.php
@@ -33,7 +33,7 @@ echo elgg_view('output/longtext', array(
));
for ($i=0; $i<$num_featured_items; $i++) {
- if (array_key_exists($i, $featured_menu_names)) {
+ if ($featured_menu_names && array_key_exists($i, $featured_menu_names)) {
$current_value = $featured_menu_names[$i];
} else {
$current_value = ' ';
@@ -64,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 12b2cd616..000000000
--- a/views/default/forms/admin/plugins/simple_update_states.php
+++ /dev/null
@@ -1,28 +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 elgg_view_entity_list($plugin_list, 0, 0, 0, false, false, false);
-echo elgg_view('input/submit', array('value' => elgg_echo('save')));
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 fa253967c..14b74e4f9 100644
--- a/views/default/forms/admin/site/update_advanced.php
+++ b/views/default/forms/admin/site/update_advanced.php
@@ -17,28 +17,34 @@ foreach (array('wwwroot', 'path', 'dataroot') 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="elgg-divide-top">';
+$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 66722aef2..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="elgg-divide-top">';
+$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 857a54e1f..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" class="mrl" 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 6d674838a..9acabf3ea 100644
--- a/views/default/forms/comments/add.php
+++ b/views/default/forms/comments/add.php
@@ -18,16 +18,20 @@ if (isset($vars['entity']) && elgg_is_logged_in()) {
echo elgg_view('input/submit', array('value' => elgg_echo('comment')));
} else {
?>
- <div>
- <label><?php echo elgg_echo("generic_comments:add"); ?></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()
));
-} \ No newline at end of file
+}
diff --git a/views/default/forms/friends/collections/add.php b/views/default/forms/friends/collections/add.php
index 644c7adb9..04c87346b 100644
--- a/views/default/forms/friends/collections/add.php
+++ b/views/default/forms/friends/collections/add.php
@@ -42,7 +42,7 @@ echo elgg_view('input/friendspicker', array(
));
echo "</div>";
-echo "<div>";
+echo '<div class="elgg-foot">';
if (isset($vars['collection'])) {
echo elgg_view('input/hidden', array(
'name' => 'collection_id',
@@ -50,4 +50,4 @@ if (isset($vars['collection'])) {
));
}
echo elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('save')));
-echo "</div>";
+echo '</div>';
diff --git a/views/default/forms/login.php b/views/default/forms/login.php
index 452c4c425..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() . '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/plugins/settings/save.php b/views/default/forms/plugins/settings/save.php
index efe6d7792..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,15 +17,15 @@ if ($type != 'user') {
$type = '';
}
-if (elgg_view_exists("{$type}settings/$plugin_id/edit")) {
+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);
-} else {
- echo elgg_view("plugins/$plugin_id/{$type}settings", $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 bf243ae6b..ced88f818 100644
--- a/views/default/forms/plugins/usersettings/save.php
+++ b/views/default/forms/plugins/usersettings/save.php
@@ -1,4 +1,13 @@
<?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
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 57dc00e85..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 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 6f35a3ea3..c0ee66f76 100644
--- a/views/default/forms/register.php
+++ b/views/default/forms/register.php
@@ -6,22 +6,16 @@
* @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');
- if (is_array($admin)) {
- $admin = $admin[0];
- }
}
?>
@@ -31,6 +25,7 @@ if (elgg_is_sticky_form('register')) {
echo elgg_view('input/text', array(
'name' => 'name',
'value' => $name,
+ 'class' => 'elgg-autofocus',
));
?>
</div>
@@ -73,24 +68,13 @@ if (elgg_is_sticky_form('register')) {
<?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')));
-?>
-<script type="text/javascript">
- $(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 3c89776f6..5946fa7c0 100644
--- a/views/default/forms/user/passwordreset.php
+++ b/views/default/forms/user/passwordreset.php
@@ -3,7 +3,7 @@
* Reset user password form
*/
-echo autop(elgg_echo('user:resetpassword:reset_password_confirm'));
+echo elgg_autop(elgg_echo('user:resetpassword:reset_password_confirm'));
echo elgg_view('input/hidden', array(
'name' => 'u',
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 fcb93a6c6..4f337e4e4 100644
--- a/views/default/forms/useradd.php
+++ b/views/default/forms/useradd.php
@@ -17,10 +17,6 @@ if (elgg_is_sticky_form('useradd')) {
}
}
-$admin_option = false;
-if ((elgg_get_logged_in_user_entity()->isAdmin()) && ($vars['show_admin'])) {
- $admin_option = true;
-}
?>
<div>
<label><?php echo elgg_echo('name');?></label><br />
@@ -67,19 +63,16 @@ if ((elgg_get_logged_in_user_entity()->isAdmin()) && ($vars['show_admin'])) {
));
?>
</div>
-
+<div>
<?php
-if ($admin_option) {
- echo "<div>";
echo elgg_view('input/checkboxes', array(
'name' => "admin",
'options' => array(elgg_echo('admin_option') => 1),
'value' => $admin,
));
- echo "</div>";
-}
?>
+</div>
-<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 62593e699..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="elgg-divide-top">';
+$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 aeef37429..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,
));
@@ -32,10 +32,10 @@ $body = <<<___END
<div>
$access
</div>
- <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 1a9046178..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,15 +14,18 @@ if (isset($vars['id'])) {
$id = "id=\"{$vars['id']}\"";
}
+$class = 'elgg-ajax-loader';
+if (isset($vars['class'])) {
+ $class = "$class {$vars['class']}";
+}
+
if (elgg_extract('hidden', $vars, true)) {
- $hidden = 'hidden';
-} else {
- $hidden = '';
+ $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/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 46889e89e..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) {
@@ -53,9 +87,17 @@ if ($show_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 b16d08fc3..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'],
-));
-
-unset($vars['match_on']);
-unset($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);
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() . '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 3122068ca..9957fdc54 100644
--- a/views/default/input/button.php
+++ b/views/default/input/button.php
@@ -6,20 +6,21 @@
* @subpackage Core
*
* @uses $vars['src'] Src of an image
- * @uses $vars['class'] Class to add to elgg-button
- *
- * @todo Handle classes better
+ * @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' => '',
);
$vars = array_merge($defaults, $vars);
-$vars['class'] = trim("elgg-button {$vars['class']}");
-
switch ($vars['type']) {
case 'button':
case 'reset':
@@ -32,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
index afc40e899..828ce5520 100644
--- a/views/default/input/date.php
+++ b/views/default/input/date.php
@@ -3,28 +3,54 @@
* Elgg date input
* Displays a text field with a popup date picker.
*
- * @package Elgg
- * @subpackage Core
+ * 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.
*
- * @uses $vars['value'] The current value, if any (as a unix timestamp)
+ * 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' => '',
- 'class' => '',
+ 'disabled' => false,
+ 'timestamp' => false,
);
$vars = array_merge($defaults, $vars);
-//@todo popup_calendar deprecated in 1.8. Remove in 2.0
-$vars['class'] = trim("elgg-input-date popup_calendar {$vars['class']}");
+$timestamp = $vars['timestamp'];
+unset($vars['timestamp']);
-if ($vars['value'] > 86400) {
- $vars['value'] = date('n/d/Y', $vars['value']);
+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']);
}
-$attributes = elgg_format_attributes($vars);
+// convert timestamps to text for display
+if (is_numeric($vars['value'])) {
+ $vars['value'] = gmdate('Y-m-d', $vars['value']);
+}
-?>
-<input type="text" <?php echo $attributes; ?> /> \ No newline at end of file
+$attributes = elgg_format_attributes($vars);
+echo "<input type=\"text\" $attributes />";
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/input/friendspicker.php b/views/default/input/friendspicker.php
index 1a60e0d88..40708c890 100644
--- a/views/default/input/friendspicker.php
+++ b/views/default/input/friendspicker.php
@@ -9,6 +9,10 @@
* @subpackage Core
*
* @uses $vars['entities'] The array of ElggUser objects
+ * @uses $vars['name']
+ * @uses $vars['value']
+ * @uses $vars['highlight']
+ * @uses $vars['callback']
*/
elgg_load_js('elgg.friendspicker');
@@ -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])) {
@@ -162,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) {
?>
@@ -187,12 +183,10 @@ if (!isset($vars['replacement'])) {
}
//echo "<p>" . $user->name . "</p>";
- $label = elgg_view_entity_icon($friend, 'tiny', array('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;
}
@@ -243,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);
}
?>
@@ -319,7 +304,7 @@ $(document).ready(function () {
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 bd61b86ce..61dc7ca19 100644
--- a/views/default/input/longtext.php
+++ b/views/default/input/longtext.php
@@ -1,29 +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
);
-// work around for deprecation code in elgg_views()
-unset($vars['internalname']);
-unset($vars['internalid']);
-
$vars = array_merge($defaults, $vars);
+$value = $vars['value'];
+unset($vars['value']);
+
echo elgg_view_menu('longtext', array(
'sort_by' => 'priority',
'class' => 'elgg-menu-hz',
'id' => $vars['id'],
));
-echo elgg_view('input/plaintext', $vars);
+
+?>
+
+<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 64b135afa..df369b3b4 100644
--- a/views/default/input/submit.php
+++ b/views/default/input/submit.php
@@ -4,6 +4,8 @@
*
* @package Elgg
* @subpackage Core
+ *
+ * @uses $vars['class'] CSS class that replaces elgg-button-submit
*/
$vars['type'] = 'submit';
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 656effc98..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_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 2f2f59287..e8aa0d2ed 100644
--- a/views/default/js/admin.php
+++ b/views/default/js/admin.php
@@ -4,8 +4,9 @@
*
* @since 1.8
*/
+
+if (0) { ?><script><?php }
?>
-//<script>
elgg.provide('elgg.admin');
elgg.admin.init = function () {
@@ -17,9 +18,6 @@ elgg.admin.init = function () {
$(this).stop().slideUp('medium');
});
- // plugin screenshot modal
- $('.elgg-plugin-screenshot a').click(elgg.admin.displayPluginScreenshot);
-
// draggable plugin reordering
$('#elgg-plugin-list > ul').sortable({
items: 'li:has(> .elgg-state-draggable)',
@@ -32,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',
@@ -41,7 +40,7 @@ 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
@@ -49,7 +48,7 @@ elgg.admin.init = function () {
// admin notices delete ajax
$('a.elgg-admin-notice').click(elgg.admin.deleteNotice);
-}
+};
/**
* Save the plugin order after a move event.
@@ -73,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
@@ -132,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.
@@ -142,13 +99,13 @@ 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.
@@ -164,6 +121,6 @@ elgg.admin.deleteNotice = function(e) {
$container.slideUp('medium');
}
});
-}
+};
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 76388f80c..c3b56e398 100644
--- a/views/default/js/elgg.php
+++ b/views/default/js/elgg.php
@@ -43,24 +43,29 @@ $libs = array(
foreach ($libs as $file) {
include("{$CONFIG->path}js/lib/$file.js");
- // putting a new line between the files to address http://trac.elgg.org/ticket/3081
+ // 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 ?>
+<?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_hook('init', 'system');
- elgg.trigger_hook('ready', '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 09e0b27bc..b45c33463 100644
--- a/views/default/js/initialize_elgg.php
+++ b/views/default/js/initialize_elgg.php
@@ -3,6 +3,7 @@
* 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
@@ -41,6 +42,7 @@ 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) . ');';
}
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
index 5f3764756..a1f018eea 100644
--- a/views/default/js/lightbox.php
+++ b/views/default/js/lightbox.php
@@ -3,7 +3,12 @@
* Elgg lightbox
*
* Usage
- * Apply the class elgg-lightbox to links.
+ * 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
@@ -12,6 +17,7 @@
* @todo add support for passing options: $('#myplugin-lightbox').elgg.ui.lightbox(options);
*/
+if (0) { ?><script><?php }
?>
/**
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/navigation/breadcrumbs.php b/views/default/navigation/breadcrumbs.php
index bad73c4b3..88577a8ff 100644
--- a/views/default/navigation/breadcrumbs.php
+++ b/views/default/navigation/breadcrumbs.php
@@ -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 e90667e8d..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="mtm">
- <?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 0dc6dd6b3..006deb3ea 100644
--- a/views/default/navigation/menu/default.php
+++ b/views/default/navigation/menu/default.php
@@ -2,15 +2,17 @@
/**
* Default menu
*
- * @uses $vars['name']
- * @uses $vars['menu']
- * @uses $vars['class']
- * @uses $vars['show_section_headers']
+ * @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?
*/
// we want css classes to use dashes
-$vars['name'] = str_replace('_', '-', $vars['name']);
+$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'])) {
@@ -23,6 +25,7 @@ foreach ($vars['menu'] as $section => $menu_items) {
'class' => "$class elgg-menu-{$vars['name']}-$section",
'section' => $section,
'name' => $vars['name'],
- 'show_section_headers' => $headers
+ 'show_section_headers' => $headers,
+ 'item_class' => $item_class,
));
}
diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php
index 893bbd205..fd9738826 100644
--- a/views/default/navigation/menu/elements/item.php
+++ b/views/default/navigation/menu/elements/item.php
@@ -4,28 +4,35 @@
*
* @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 "<li class=\"$item_class\">";
echo $item->getContent();
if ($children) {
echo elgg_view('navigation/menu/elements/section', array(
diff --git a/views/default/navigation/menu/elements/section.php b/views/default/navigation/menu/elements/section.php
index 92a259776..c0e9ba750 100644
--- a/views/default/navigation/menu/elements/section.php
+++ b/views/default/navigation/menu/elements/section.php
@@ -2,15 +2,17 @@
/**
* Menu group
*
- * @uses $vars['items']
- * @uses $vars['class']
- * @uses $vars['name']
- * @uses $vars['section']
- * @uses $vars['show_section_headers']
+ * @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);
@@ -20,6 +22,9 @@ if ($headers) {
echo "<ul class=\"$class\">";
foreach ($vars['items'] as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $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/site.php b/views/default/navigation/menu/site.php
index 1409f54af..24c21dd57 100644
--- a/views/default/navigation/menu/site.php
+++ b/views/default/navigation/menu/site.php
@@ -6,20 +6,23 @@
* @uses $vars['menu']['more']
*/
+$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 ($vars['menu']['default'] as $menu_item) {
+foreach ($default_items as $menu_item) {
echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
}
-if (isset($vars['menu']['more'])) {
+if ($more_items) {
echo '<li class="elgg-more">';
$more = elgg_echo('more');
- echo "<a title=\"$more\">$more</a>";
+ echo "<a href=\"#\">$more</a>";
echo elgg_view('navigation/menu/elements/section', array(
'class' => 'elgg-menu elgg-menu-site elgg-menu-site-more',
- 'items' => $vars['menu']['more'],
+ 'items' => $more_items,
));
echo '</li>';
diff --git a/views/default/navigation/menu/user_hover.php b/views/default/navigation/menu/user_hover.php
index e32e5ab57..5c89e585c 100644
--- a/views/default/navigation/menu/user_hover.php
+++ b/views/default/navigation/menu/user_hover.php
@@ -19,6 +19,7 @@ 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>";
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 3351edc93..307f03fc6 100644
--- a/views/default/navigation/topbar_tools.php
+++ b/views/default/navigation/topbar_tools.php
@@ -7,4 +7,3 @@
*
* @deprecated 1.8 Extend the topbar menus or the page/elements/topbar view directly
*/
-elgg_deprecated_notice('navigation/topbar_tools was deprecated. Extend the topbar menus or the page/elements/topbar view directly', 1.8); \ No newline at end of file
diff --git a/views/default/navigation/viewtype.php b/views/default/navigation/viewtype.php
index 69d29dc32..6dfa4ebc7 100644
--- a/views/default/navigation/viewtype.php
+++ b/views/default/navigation/viewtype.php
@@ -5,9 +5,7 @@
* @package Elgg
* @subpackage Core
*
- * @deprecated 1.8 Use navigation/listtype
+ * @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 086eddb1f..11524567e 100644
--- a/views/default/object/admin_notice.php
+++ b/views/default/object/admin_notice.php
@@ -11,7 +11,8 @@ if (isset($vars['entity']) && elgg_instanceof($vars['entity'], 'object', 'admin_
'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'
+ '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 2cf9805f0..70e098742 100644
--- a/views/default/object/default.php
+++ b/views/default/object/default.php
@@ -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('page/components/summary', $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/object/elements/summary.php b/views/default/object/elements/summary.php
new file mode 100644
index 000000000..63ab8f816
--- /dev/null
+++ b/views/default/object/elements/summary.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Object summary
+ *
+ * Sample output
+ * <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-content">Excerpt text</div>
+ *
+ * @uses $vars['entity'] ElggEntity
+ * @uses $vars['title'] Title link (optional) false = no title, '' = default
+ * @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 (default is tags on entity, pass false for no tags)
+ * @uses $vars['content'] HTML for the entity content (optional)
+ */
+
+$entity = $vars['entity'];
+
+$title_link = elgg_extract('title', $vars, '');
+if ($title_link === '') {
+ if (isset($entity->title)) {
+ $text = $entity->title;
+ } else {
+ $text = $entity->name;
+ }
+ $params = array(
+ 'text' => elgg_get_excerpt($text, 100),
+ 'href' => $entity->getURL(),
+ 'is_trusted' => true,
+ );
+ $title_link = elgg_view('output/url', $params);
+}
+
+$metadata = elgg_extract('metadata', $vars, '');
+$subtitle = elgg_extract('subtitle', $vars, '');
+$content = elgg_extract('content', $vars, '');
+
+$tags = elgg_extract('tags', $vars, '');
+if ($tags === '') {
+ $tags = elgg_view('output/tags', array('tags' => $entity->tags));
+}
+
+if ($metadata) {
+ echo $metadata;
+}
+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-content\">$content</div>";
+}
diff --git a/views/default/object/plugin.php b/views/default/object/plugin.php
index 2facca97a..5c7138e96 100644
--- a/views/default/object/plugin.php
+++ b/views/default/object/plugin.php
@@ -7,12 +7,14 @@
*
*/
+if (!elgg_in_context('admin')) {
+ forward('/', 403);
+}
+
$plugin = $vars['entity'];
if (!$plugin->isValid()) {
echo elgg_view('object/plugin/invalid', $vars);
-} elseif ($vars['full_view']) {
- echo elgg_view('object/plugin/advanced', $vars);
} else {
- echo elgg_view('object/plugin/simple', $vars);
+ echo elgg_view('object/plugin/full', $vars);
}
diff --git a/views/default/object/plugin/advanced.php b/views/default/object/plugin/advanced.php
deleted file mode 100644
index 4b5a3ba48..000000000
--- a/views/default/object/plugin/advanced.php
+++ /dev/null
@@ -1,231 +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['entity'];
-$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 elgg-button-action elgg-state-disabled"
- ));
-}
-
-// Display categories
-$categories_html = '';
-if ($categories) {
- $categories_arr = array();
- $base_url = elgg_get_site_url() . "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']}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 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 class="elgg-state-draggable elgg-plugin <?php echo $active_class ?>" id="elgg-plugin-<?php echo $plugin->guid; ?>">
- <div class="elgg-image-block">
- <div class="elgg-image-alt">
- <ul class="elgg-menu elgg-menu-metadata">
- <?php echo "$links"; ?>
- </ul>
- <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() . "admin/plugin_settings/" . $plugin->getID();
- $settings_link = "<a class='plugin_settings small link' href='$link'>[" . elgg_echo('settings') . "]</a>";
-}
-?>
- <div class="elgg-head">
- <h3><?php echo $plugin->manifest->getName(). " $version $settings_link"; ?></h3>
- </div>
- <?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">
- <?php
- echo elgg_view('output/url', array(
- 'href' => "#elgg-plugin-manifest-{$plugin->getID()}",
- 'text' => elgg_echo("admin:plugins:label:moreinfo"),
- 'class' => 'elgg-toggler',
- ));
- ?>
- </div>
- </div>
- </div>
- <div class="hidden manifest_file" id="elgg-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('object/plugin/elements/dependencies', array('plugin' => $plugin));
- ?>
- </div>
- </div>
-</div> \ No newline at end of file
diff --git a/views/default/object/plugin/elements/dependencies.php b/views/default/object/plugin/elements/dependencies.php
index 11a441a4a..d8daedd33 100644
--- a/views/default/object/plugin/elements/dependencies.php
+++ b/views/default/object/plugin/elements/dependencies.php
@@ -9,18 +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) {
@@ -28,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
index 9e239b7ca..828bceaba 100644
--- a/views/default/object/plugin/invalid.php
+++ b/views/default/object/plugin/invalid.php
@@ -14,29 +14,29 @@ $plugin = $vars['entity'];
$id = $plugin->getID();
$path = htmlspecialchars($plugin->getPath());
-$message = elgg_echo('admin:plugins:warning:invalid', array($id));
-$error = $plugin->getError();
+$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><?php echo $message; ?></p>
+ <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-{$plugin->getID()}",
+ 'href' => "#elgg-plugin-manifest-$css_id",
'text' => elgg_echo("admin:plugins:label:moreinfo"),
- 'class' => 'elgg-toggler',
+ 'rel' => 'toggle',
));
?>
</div>
- <div class="hidden manifest_file" id="elgg-plugin-manifest-<?php echo $plugin->getID(); ?>">
+ <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>
- <p><?php echo $error; ?></p>
</div>
</div>
</div> \ No newline at end of file
diff --git a/views/default/object/plugin/simple.php b/views/default/object/plugin/simple.php
deleted file mode 100644
index 0361666ff..000000000
--- a/views/default/object/plugin/simple.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-$plugin = $vars['entity'];
-
-$plugin_guid = $plugin->guid;
-$plugin_id = $plugin->getID();
-$active = $plugin->isActive();
-$can_activate = $plugin->canActivate();
-$name = $plugin->manifest->getName();
-$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() . "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
- <div class="elgg-plugin $active_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>
-___END;
diff --git a/views/default/object/widget.php b/views/default/object/widget.php
index f84c44e1c..0c7994f2b 100644
--- a/views/default/object/widget.php
+++ b/views/default/object/widget.php
@@ -55,8 +55,9 @@ if ($can_edit) {
}
$widget_header = <<<HEADER
- <h3>$title</h3>
+ <div class="elgg-widget-handle clearfix"><h3>$title</h3>
$controls
+ </div>
HEADER;
$widget_body = <<<BODY
diff --git a/views/default/object/widget/elements/controls.php b/views/default/object/widget/elements/controls.php
index 83a2f5767..57a935f62 100644
--- a/views/default/object/widget/elements/controls.php
+++ b/views/default/object/widget/elements/controls.php
@@ -6,41 +6,9 @@
* @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' => "#elgg-widget-content-$widget->guid",
- 'class' => 'elgg-widget-collapse-button elgg-toggler',
-);
-$collapse_link = elgg_view('output/url', $params);
-
-$delete_link = $edit_link = '';
-if ($widget->canEdit()) {
- $params = array(
- 'text' => elgg_view_icon('delete-alt'),
- 'title' => elgg_echo('widget:delete', array($widget->getTitle())),
- 'href' => "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' => elgg_view_icon('settings-alt'),
- 'title' => elgg_echo('widget:edit'),
- 'href' => "#widget-edit-$widget->guid",
- 'class' => "elgg-toggler elgg-widget-edit-button",
- );
- $edit_link = elgg_view('output/url', $params);
- }
-}
-
-echo <<<___END
- $collapse_link
- $delete_link
- $edit_link
-___END;
+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
index 5afe56ed8..25cda58c9 100644
--- a/views/default/object/widget/elements/settings.php
+++ b/views/default/object/widget/elements/settings.php
@@ -6,8 +6,20 @@
*/
$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 elgg_view_form('widgets/save', array(), $vars); ?>
+ <?php echo $form; ?>
</div>
diff --git a/views/default/output/access.php b/views/default/output/access.php
index f312608d5..5c8d62c4d 100644
--- a/views/default/output/access.php
+++ b/views/default/output/access.php
@@ -11,6 +11,7 @@ if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) {
$access_id = $vars['entity']->access_id;
$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,7 +21,7 @@ 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 .= ' elgg-access-group-open';
@@ -35,5 +36,7 @@ if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) {
$access_class .= ' elgg-access-private';
}
- echo "<span class=\"$access_class\">$access_id_string</span>";
+ $help_text = elgg_echo('access:help');
+
+ echo "<span title=\"$help_text\" class=\"$access_class\">$access_id_string</span>";
}
diff --git a/views/default/output/confirmlink.php b/views/default/output/confirmlink.php
index 967094113..532790a38 100644
--- a/views/default/output/confirmlink.php
+++ b/views/default/output/confirmlink.php
@@ -6,15 +6,16 @@
* @package Elgg
* @subpackage Core
*
- * @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['text_encode'] Encode special characters? (false)
+ * @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, false);
+$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);
@@ -24,8 +25,8 @@ if ($encode) {
$text = htmlspecialchars($text, ENT_QUOTES, 'UTF-8', false);
}
-if (!isset($vars['title'])) {
- $vars['title'] = addslashes($confirm);
+if (!isset($vars['title']) && isset($vars['confirm'])) {
+ $vars['title'] = $vars['rel'];
}
if (isset($vars['class'])) {
@@ -36,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 fda7668e7..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("n/d/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 ffdfd87cc..589100c4f 100644
--- a/views/default/output/longtext.php
+++ b/views/default/output/longtext.php
@@ -25,13 +25,13 @@ unset($vars['parse_urls']);
$text = $vars['value'];
unset($vars['value']);
-$text = filter_tags($text);
-
if ($parse_urls) {
$text = parse_urls($text);
}
-$text = autop($text);
+$text = filter_tags($text);
+
+$text = elgg_autop($text);
$attributes = elgg_format_attributes($vars);
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 22b6cf49d..2fbf1cd0a 100644
--- a/views/default/output/tagcloud.php
+++ b/views/default/output/tagcloud.php
@@ -39,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 .= ', ';
}
@@ -47,9 +49,15 @@ if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) {
if ($size < 100) {
$size = 100;
}
- $url = elgg_get_site_url()."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>";
+ $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');
diff --git a/views/default/output/tags.php b/views/default/output/tags.php
index 345b256c4..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,27 +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 '<div>';
- echo elgg_view_icon('tag');
- 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() . '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 elgg_view('output/url', array('href' => $url, 'text' => $tag, 'rel' => 'tag'));
- 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>';
- echo '</div>';
+
+ $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 79ab52377..81b02087d 100644
--- a/views/default/output/url.php
+++ b/views/default/output/url.php
@@ -10,7 +10,7 @@
* @uses string $vars['href'] The unencoded url string
* @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);
@@ -37,11 +37,20 @@ if ($url) {
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
index d0e7915cc..7045edd91 100644
--- a/views/default/page/admin.php
+++ b/views/default/page/admin.php
@@ -5,16 +5,11 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['title'] The page title
- * @uses $vars['body'] The main content of the page
+ * @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");
-
-$messages = $vars['sysmessages'];
-
$notices_html = '';
$notices = elgg_get_admin_notices();
if ($notices) {
@@ -22,9 +17,19 @@ if ($notices) {
$notices_html .= elgg_view_entity($notice);
}
- $notices_html = "<div class=\"admin_notices\">$notices_html</div>";
+ $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">
@@ -36,35 +41,26 @@ if ($notices) {
<div class="elgg-inner">
<div class="elgg-page-header">
<div class="elgg-inner clearfix">
- <?php echo elgg_view('admin/header'); ?>
+ <?php echo $header; ?>
</div>
</div>
<div class="elgg-page-messages">
- <?php echo elgg_view('page/elements/messages', array('object' => $messages)); ?>
+ <?php echo $messages; ?>
<?php echo $notices_html; ?>
</div>
<div class="elgg-page-body">
<div class="elgg-inner">
- <?php echo $vars['body']; ?>
+ <?php echo $body; ?>
</div>
</div>
<div class="elgg-page-footer">
<div class="elgg-inner">
- <?php echo elgg_view('admin/footer'); ?>
+ <?php echo $footer; ?>
</div>
</div>
</div>
</div>
-<?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
-}
-
-?>
+ <?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 1ba896836..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;
}
@@ -21,8 +29,17 @@ $pagination = elgg_extract('pagination', $vars, true);
$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,
@@ -37,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, $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 ae951c89f..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,22 +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);
$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 = "";
@@ -40,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,
@@ -51,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, $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
index 578e9b9cf..ea61a6e4b 100644
--- a/views/default/page/components/summary.php
+++ b/views/default/page/components/summary.php
@@ -1,53 +1,4 @@
<?php
-/**
- * List body
- *
- * Sample output
- * <ul class="elgg-menu elgg-menu-metadata"><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>
- *
- * @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)
- */
-$entity = $vars['entity'];
-
-$title_link = elgg_extract('title', $vars, '');
-if ($title_link === '') {
- if (isset($entity->title)) {
- $text = $entity->title;
- } else {
- $text = $entity->name;
- }
- $params = array(
- 'text' => $text,
- 'href' => $entity->getURL(),
- );
- $title_link = elgg_view('output/url', $params);
-}
-
-$metadata = elgg_extract('metadata', $vars, '');
-$subtitle = elgg_extract('subtitle', $vars, '');
-$content = elgg_extract('content', $vars, '');
-
-$tags = elgg_extract('tags', $vars, '');
-if ($tags !== false) {
- $tags = elgg_view('output/tags', array('tags' => $entity->tags));
-}
-
-if ($metadata) {
- echo $metadata;
-}
-echo "<h3>$title_link</h3>";
-echo "<div class=\"elgg-subtext\">$subtitle</div>";
-echo $tags;
-if ($content) {
- echo "<div class=\"elgg-list-content\">$content</div>";
-}
+// Deprecated in favor of type/elements/summary
+echo elgg_view('object/elements/summary', $vars);
diff --git a/views/default/page/default.php b/views/default/page/default.php
index 77f79157b..567494d0c 100644
--- a/views/default/page/default.php
+++ b/views/default/page/default.php
@@ -6,69 +6,71 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['title'] The page title
- * @uses $vars['body'] The main content of the page
+ * @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') {
- elgg_deprecated_notice("admin plugins should route through 'admin'.", 1.8);
+ 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/shells/admin', $vars);
+ 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="en" lang="en">
+<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 elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
+ <?php echo $messages; ?>
</div>
- <?php if (elgg_is_logged_in()): ?>
+ <?php if (elgg_is_logged_in()){ ?>
<div class="elgg-page-topbar">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/topbar', $vars); ?>
+ <?php echo $topbar; ?>
</div>
</div>
- <?php endif; ?>
+ <?php } ?>
<div class="elgg-page-header">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/header', $vars); ?>
+ <?php echo $header; ?>
</div>
</div>
<div class="elgg-page-body">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/body', $vars); ?>
+ <?php echo $body; ?>
</div>
</div>
<div class="elgg-page-footer">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/footer', $vars); ?>
+ <?php echo $footer; ?>
</div>
</div>
</div>
-<?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
-}
-
-?>
+<?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 ebc7d3df5..97cb9574e 100644
--- a/views/default/page/elements/comments.php
+++ b/views/default/page/elements/comments.php
@@ -12,7 +12,7 @@ $show_add_form = elgg_extract('show_add_form', $vars, true);
$id = '';
if (isset($vars['id'])) {
- $id = "id =\"{$vars['id']}\"";
+ $id = "id=\"{$vars['id']}\"";
}
$class = 'elgg-comments';
@@ -36,8 +36,7 @@ if ($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
index 751aa4312..d0f8ab809 100644
--- a/views/default/page/elements/comments_block.php
+++ b/views/default/page/elements/comments_block.php
@@ -36,6 +36,7 @@ if ($comments) {
'items' => $comments,
'pagination' => false,
'list_class' => 'elgg-latest-comments',
+ 'full_view' => false,
));
} else {
$body = '<p>' . elgg_echo('generic_comment:none') . '</p>';
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 06fdb84a5..ded2cea9a 100644
--- a/views/default/page/elements/footer.php
+++ b/views/default/page/elements/footer.php
@@ -12,10 +12,11 @@ echo elgg_view_menu('footer', array('sort_by' => 'priority', 'class' => 'elgg-me
$powered_url = elgg_get_site_url() . "_graphics/powered_by_elgg_badge_drk_bckgnd.gif";
-echo '<div class="mts clearfloat right">';
+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 048edec40..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 {
@@ -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
@@ -72,4 +78,4 @@ $metatags = elgg_view('metatags', $vars);
if ($metatags) {
elgg_deprecated_notice("The metatags view has been deprecated. Extend page/elements/head instead", 1.8);
echo $metatags;
-} \ No newline at end of file
+}
diff --git a/views/default/page/elements/header.php b/views/default/page/elements/header.php
index 2361644f2..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);
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 a35a48586..edd40d71e 100644
--- a/views/default/page/elements/messages.php
+++ b/views/default/page/elements/messages.php
@@ -18,7 +18,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-message elgg-state-$type\">";
- echo autop($message);
+ 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 c525a38aa..fc7f0f6d2 100644
--- a/views/default/page/elements/owner_block.php
+++ b/views/default/page/elements/owner_block.php
@@ -15,7 +15,7 @@ $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));
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 e1d25eed5..fe6bb450e 100644
--- a/views/default/page/elements/sidebar.php
+++ b/views/default/page/elements/sidebar.php
@@ -6,7 +6,7 @@
*/
echo elgg_view_menu('extras', array(
- 'sort_by' => 'name',
+ 'sort_by' => 'priority',
'class' => 'elgg-menu-hz',
));
diff --git a/views/default/page/elements/tagcloud_block.php b/views/default/page/elements/tagcloud_block.php
index 8b67c9e37..258951c41 100644
--- a/views/default/page/elements/tagcloud_block.php
+++ b/views/default/page/elements/tagcloud_block.php
@@ -50,6 +50,7 @@ $cloud .= elgg_view_icon('tag');
$cloud .= elgg_view('output/url', array(
'href' => 'tags',
'text' => elgg_echo('tagcloud:allsitetags'),
+ 'is_trusted' => true,
));
$cloud .= '</p>';
diff --git a/views/default/page/elements/topbar.php b/views/default/page/elements/topbar.php
index 17c5d938b..e4c6c86bb 100644
--- a/views/default/page/elements/topbar.php
+++ b/views/default/page/elements/topbar.php
@@ -1,14 +1,16 @@
<?php
/**
- * Elgg top toolbar
+ * Elgg topbar
* The standard elgg top toolbar
*/
-
-
// Elgg logo
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.
-echo elgg_view("navigation/topbar_tools");
+$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 890c8a06e..8dbdc27e6 100644
--- a/views/default/page/layouts/admin.php
+++ b/views/default/page/layouts/admin.php
@@ -21,6 +21,11 @@
<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']);
}
diff --git a/views/default/page/layouts/content.php b/views/default/page/layouts/content.php
index 35d695f0a..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
*/
diff --git a/views/default/page/layouts/content/header.php b/views/default/page/layouts/content/header.php
index 4c63009f4..1e66e52db 100644
--- a/views/default/page/layouts/content/header.php
+++ b/views/default/page/layouts/content/header.php
@@ -2,51 +2,42 @@
/**
* Main content header
*
- * This includes a title and a new content button by default
+ * 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)
- * @uses $vars['buttons'] Content header buttons (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());
-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 (!$owner) {
- // this is probably an all page
- $owner = elgg_get_logged_in_user_entity();
- }
- if ($owner && $owner->canWriteToContainer()) {
- $guid = $owner->getGUID();
- elgg_register_menu_item('title', array(
- 'name' => 'add',
- 'href' => elgg_extract('new_link', $vars, "$context/add/$guid"),
- 'text' => elgg_echo("$context:add"),
- 'class' => 'elgg-button elgg-button-action',
- ));
- }
- }
-
- $buttons = elgg_view_menu('title', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
- }
- echo <<<HTML
+$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">
- <h2 class="elgg-heading-main">$title</h2>$buttons
+ $title$buttons
</div>
HTML;
-}
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 c59a574e7..491d5b459 100644
--- a/views/default/page/layouts/one_column.php
+++ b/views/default/page/layouts/one_column.php
@@ -13,13 +13,26 @@ $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; ?>">
- <div class="elgg-body">
- <?php echo $vars['content']; ?>
+ <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/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 b2c54e854..c6b162516 100644
--- a/views/default/page/layouts/widgets.php
+++ b/views/default/page/layouts/widgets.php
@@ -31,6 +31,7 @@ if (elgg_can_edit_widget_layout($context)) {
'widgets' => $widgets,
'context' => $context,
'exact_match' => $exact_match,
+ 'show_access' => $show_access,
);
echo elgg_view('page/layouts/widgets/add_panel', $params);
}
@@ -39,10 +40,14 @@ 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) {
if (array_key_exists($widget->handler, $widget_types)) {
echo elgg_view_entity($widget, array('show_access' => $show_access));
diff --git a/views/default/page/layouts/widgets/add_button.php b/views/default/page/layouts/widgets/add_button.php
index a8670146b..c33a45f99 100644
--- a/views/default/page/layouts/widgets/add_button.php
+++ b/views/default/page/layouts/widgets/add_button.php
@@ -4,7 +4,13 @@
*/
?>
<div class="elgg-widget-add-control">
- <a class="elgg-button elgg-button-action elgg-toggler" href="#widgets-add-panel">
- <?php echo elgg_echo('widgets:add'); ?>
- </a>
+<?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/page/layouts/widgets/add_panel.php b/views/default/page/layouts/widgets/add_panel.php
index 2786e83b2..d9b11342a 100644
--- a/views/default/page/layouts/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) {
@@ -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/walled_garden.php b/views/default/page/walled_garden.php
index 662e90f45..b280cf6b2 100644
--- a/views/default/page/walled_garden.php
+++ b/views/default/page/walled_garden.php
@@ -5,14 +5,17 @@
* 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");
-
-$site = elgg_get_site_entity();
-$title = $site->name;
-
?>
-<html>
+<!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>
@@ -21,24 +24,17 @@ $title = $site->name;
<div class="elgg-page-messages">
<?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
</div>
- <div class="elgg-page-body">
- <div id="elgg-walledgarden">
- <div id="elgg-walledgarden-intro">
- <h1 class="elgg-heading-walledgarden">
- <?php
- echo elgg_echo('walled_garden:welcome');
- echo ': <br/>';
- echo $title;
- ?>
- </h1>
- </div>
- <div id="elgg-walledgarden-login">
- <?php echo $vars['body']; ?>
- </div>
- </div>
- <div id="elgg-walledgarden-bottom"></div>
+ <div class="<?php echo $wg_body_class; ?>">
+ <?php echo $vars['body']; ?>
</div>
</div>
-<?php echo elgg_view('footer/analytics'); ?>
+<?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 a69c41f1e..5f06cfd54 100644
--- a/views/default/profile/icon.php
+++ b/views/default/profile/icon.php
@@ -12,6 +12,6 @@
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/elements/body.php b/views/default/river/elements/body.php
index f9ecbc03c..2cd7f2289 100644
--- a/views/default/river/elements/body.php
+++ b/views/default/river/elements/body.php
@@ -2,32 +2,66 @@
/**
* Body of river item
*
- * @uses $vars['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'];
-$subject = $item->getSubjectEntity();
+
+$menu = elgg_view_menu('river', array(
+ 'item' => $item,
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz',
+));
// 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 = elgg_view_menu('river', array('item' => $item, 'sort_by' => 'priority'));
-$header .= "$subject_link <span class=\"elgg-river-timestamp\">$timestamp</span>";
-
-// body
-$body = elgg_view($item->getView(), array('item' => $item));
-
-// footer
-$footer = elgg_view('river/elements/footer', $vars);
-
-echo elgg_view('page/components/module', array(
- 'header' => $header,
- 'body' => $body,
- 'footer' => $footer,
- 'class' => 'mbn',
-)); \ No newline at end of file
+$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/river/elements/image.php b/views/default/river/elements/image.php
index 9caa44b36..6f6aeae65 100644
--- a/views/default/river/elements/image.php
+++ b/views/default/river/elements/image.php
@@ -9,4 +9,8 @@
$subject = $vars['item']->getSubjectEntity();
-echo elgg_view_entity_icon($subject, '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/river/elements/footer.php b/views/default/river/elements/responses.php
index f1e79f131..f6c32e142 100644
--- a/views/default/river/elements/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>";
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 bf7c80b03..75767e08d 100644
--- a/views/default/river/item.php
+++ b/views/default/river/item.php
@@ -1,16 +1,30 @@
<?php
/**
- * Layout of a river item
+ * 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('river/elements/image', array('item' => $item)),
- 'body' => elgg_view('river/elements/body', array('item' => $item)),
- 'class' => 'elgg-river-item',
-);
+echo elgg_view($item->getView(), $vars);
+
-echo elgg_view('page/components/image_block', $vars);
+$_elgg_special_river_catch = false;
diff --git a/views/default/river/relationship/friend/create.php b/views/default/river/relationship/friend/create.php
index 14dab4451..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_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 elgg_view_icon('arrow-right', true);
-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 71eb273f0..6c84e84ad 100644
--- a/views/default/user/default.php
+++ b/views/default/user/default.php
@@ -6,25 +6,26 @@
* @uses $vars['size'] Size of the icon
*/
-$user = $vars['entity'];
+$entity = $vars['entity'];
$size = elgg_extract('size', $vars, 'tiny');
-$icon = elgg_view_entity_icon($user, $size);
+$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-menu elgg-menu-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 = '';
@@ -33,24 +34,24 @@ if (elgg_in_context('owner_block') || elgg_in_context('widgets')) {
if (elgg_get_context() == 'gallery') {
echo $icon;
} else {
- if ($user->isBanned()) {
+ if ($entity->isBanned()) {
$banned = elgg_echo('banned');
$params = array(
- 'entity' => $user,
+ 'entity' => $entity,
'title' => $title,
- 'metadata' => '<ul class="elgg-menu elgg-menu-metadata"><li>$banned</li></ul>',
+ 'metadata' => $metadata,
);
} else {
$params = array(
- 'entity' => $user,
+ 'entity' => $entity,
'title' => $title,
'metadata' => $metadata,
- 'subtitle' => $user->briefdescription,
- 'content' => elgg_view('user/status', array('entity' => $user)),
+ 'subtitle' => $entity->briefdescription,
+ 'content' => elgg_view('user/status', array('entity' => $entity)),
);
}
- $list_body = elgg_view('page/components/summary', $params);
+ $list_body = elgg_view('user/elements/summary', $params);
- echo elgg_view_image_block($icon, $list_body);
+ echo elgg_view_image_block($icon, $list_body, $vars);
}
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/widgets/admin_welcome/content.php b/views/default/widgets/admin_welcome/content.php
index 4ebdb719c..f4b92ea66 100644
--- a/views/default/widgets/admin_welcome/content.php
+++ b/views/default/widgets/admin_welcome/content.php
@@ -7,16 +7,13 @@
$sections = array(
'intro' => array(),
'admin_overview' => array(),
- 'common_links' => array(
- elgg_normalize_url('pg/admin/plugins/simple'),
- elgg_normalize_url('pg/admin/site/advanced'),
- ),
- 'external_resources' => 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>';
-} \ No newline at end of file
+}
+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 7086e4b9e..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' => 'admin/statistics/overview',
- 'text' => 'more',
+ '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 4c5ef5b4a..98814c244 100644
--- a/views/default/widgets/friends/content.php
+++ b/views/default/widgets/friends/content.php
@@ -13,12 +13,13 @@ $num = (int) $vars['entity']->num_display;
// get the correct size
$size = $vars['entity']->icon_size;
-$html = $owner->listFriends('', $num, array(
- 'size' => $size,
- 'gallery' => true,
-));
-if ($html) {
- echo $html;
-} else {
-
+if (elgg_instanceof($owner, 'user')) {
+ $html = $owner->listFriends('', $num, array(
+ 'size' => $size,
+ 'list_type' => 'gallery',
+ 'pagination' => false
+ ));
+ if ($html) {
+ echo $html;
+ }
}
diff --git a/views/default/widgets/new_users/content.php b/views/default/widgets/new_users/content.php
index 207a67a9d..ba85e7421 100644
--- a/views/default/widgets/new_users/content.php
+++ b/views/default/widgets/new_users/content.php
@@ -6,5 +6,6 @@
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 d81ff3705..6e0cc7abb 100644
--- a/views/default/widgets/online_users/content.php
+++ b/views/default/widgets/online_users/content.php
@@ -3,4 +3,13 @@
* 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
index 427fd92bf..867fc9db6 100644
--- a/views/default/widgets/river_widget/content.php
+++ b/views/default/widgets/river_widget/content.php
@@ -10,13 +10,13 @@ $options = array(
'pagination' => false,
);
-if (elgg_in_context('profile')) {
- $options['subject_guid'] = elgg_get_page_owner_guid();
-} else {
+if (elgg_in_context('dashboard')) {
if ($vars['entity']->content_type == 'friends') {
- $options['relationship_guid'] = elgg_get_logged_in_user_guid();
+ $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);
diff --git a/views/default/widgets/river_widget/edit.php b/views/default/widgets/river_widget/edit.php
index e0351e883..228212e47 100644
--- a/views/default/widgets/river_widget/edit.php
+++ b/views/default/widgets/river_widget/edit.php
@@ -43,3 +43,16 @@ $num_dropdown = elgg_view('input/dropdown', $params);
<?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