diff options
Diffstat (limited to 'mod/profile/views')
| -rw-r--r-- | mod/profile/views/default/profile/css.php | 126 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/details.php | 68 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/edit.php | 48 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/editicon.php | 32 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/icon.php | 36 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/js.php | 9 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/metatags.php | 16 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/owner_block.php | 66 | ||||
| -rw-r--r-- | mod/profile/views/default/profile/wrapper.php | 12 | ||||
| -rw-r--r-- | mod/profile/views/default/user/user.php | 72 |
10 files changed, 297 insertions, 188 deletions
diff --git a/mod/profile/views/default/profile/css.php b/mod/profile/views/default/profile/css.php new file mode 100644 index 000000000..e24f555a9 --- /dev/null +++ b/mod/profile/views/default/profile/css.php @@ -0,0 +1,126 @@ +<?php +/** + * Elgg Profile CSS + * + * @package Profile + */ +?> +/* *************************************** + Profile +*************************************** */ +.profile { + float: left; + margin-bottom: 15px; +} +.profile .elgg-inner { + margin: 0 5px; + border: 2px solid #eee; + + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; +} +#profile-details { + padding: 15px; +} +/*** ownerblock ***/ +#profile-owner-block { + width: 200px; + float: left; + background-color: #eee; + padding: 15px; +} +#profile-owner-block .large { + margin-bottom: 10px; +} +#profile-owner-block a.elgg-button-action { + margin-bottom: 4px; + display: table; +} +.profile-content-menu a { + display: block; + + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; + + background-color: white; + margin: 3px 0 5px 0; + padding: 2px 4px 2px 8px; +} +.profile-content-menu a:hover { + background: #0054A7; + color: white; + text-decoration: none; +} +.profile-admin-menu { + display: none; +} +.profile-admin-menu-wrapper a { + display: block; + + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; + + background-color: white; + margin: 3px 0 5px 0; + padding: 2px 4px 2px 8px; +} +.profile-admin-menu-wrapper { + background-color: white; + + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; +} +.profile-admin-menu-wrapper li a { + background-color: white; + color: red; + margin-bottom: 0; +} +.profile-admin-menu-wrapper a:hover { + color: black; +} +/*** profile details ***/ +#profile-details .odd { + background-color: #f4f4f4; + + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + margin: 0 0 7px; + padding: 2px 4px; +} +#profile-details .even { + background-color:#f4f4f4; + + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + margin: 0 0 7px; + padding: 2px 4px; +} +.profile-aboutme-title { + background-color:#f4f4f4; + + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + margin: 0; + padding: 2px 4px; +} +.profile-aboutme-contents { + padding: 2px 0 0 3px; +} +.profile-banned-user { + border: 2px solid red; + padding: 4px 8px; + + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} diff --git a/mod/profile/views/default/profile/details.php b/mod/profile/views/default/profile/details.php new file mode 100644 index 000000000..da4e95690 --- /dev/null +++ b/mod/profile/views/default/profile/details.php @@ -0,0 +1,68 @@ +<?php +/** + * Elgg user display (details) + * @uses $vars['entity'] The user entity + */ + +$user = elgg_get_page_owner_entity(); + +$profile_fields = elgg_get_config('profile_fields'); + +echo '<div id="profile-details" class="elgg-body pll">'; +echo "<h2>{$user->name}</h2>"; + +echo elgg_view("profile/status", array("entity" => $user)); + +$even_odd = null; +if (is_array($profile_fields) && sizeof($profile_fields) > 0) { + foreach ($profile_fields as $shortname => $valtype) { + if ($shortname == "description") { + // skip about me and put at bottom + continue; + } + $value = $user->$shortname; + + if (!empty($value)) { + + // fix profile URLs populated by https://github.com/Elgg/Elgg/issues/5232 + // @todo Replace with upgrade script, only need to alter users with last_update after 1.8.13 + if ($valtype == 'url' && $value == 'http://') { + $user->$shortname = ''; + continue; + } + + // validate urls + if ($valtype == 'url' && !preg_match('~^https?\://~i', $value)) { + $value = "http://$value"; + } + + // this controls the alternating class + $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even'; + ?> + <div class="<?php echo $even_odd; ?>"> + <b><?php echo elgg_echo("profile:{$shortname}"); ?>: </b> + <?php + echo elgg_view("output/{$valtype}", array('value' => $value)); + ?> + </div> + <?php + } + } +} + +if (!elgg_get_config('profile_custom_fields')) { + if ($user->isBanned()) { + echo "<p class='profile-banned-user'>"; + echo elgg_echo('banned'); + echo "</p>"; + } else { + if ($user->description) { + echo "<p class='profile-aboutme-title'><b>" . elgg_echo("profile:aboutme") . "</b></p>"; + echo "<div class='profile-aboutme-contents'>"; + echo elgg_view('output/longtext', array('value' => $user->description, 'class' => 'mtn')); + echo "</div>"; + } + } +} + +echo '</div>';
\ No newline at end of file diff --git a/mod/profile/views/default/profile/edit.php b/mod/profile/views/default/profile/edit.php deleted file mode 100644 index 5ccfd9ec4..000000000 --- a/mod/profile/views/default/profile/edit.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php
-
- /**
- * Elgg profile edit form
- *
- * @package ElggProfile
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Ben Werdmuller <ben@curverider.co.uk>
- * @copyright Curverider Ltd 2008
- * @link http://elgg.com/
- *
- * @uses $vars['entity'] The user entity
- * @uses $vars['profile'] Profile items from $CONFIG->profile, defined in profile/start.php for now
- */
-
-?>
-
-<form action="<?php echo $vars['url']; ?>action/profile/edit" method="post">
-
-<?php
-
- //var_export($vars['profile']);
- if (is_array($vars['config']->profile) && sizeof($vars['config']->profile) > 0)
- foreach($vars['config']->profile as $shortname => $valtype) {
-
-?>
-
- <p>
- <label>
- <?php echo elgg_echo("profile:{$shortname}") ?><br />
- <?php echo elgg_view("input/{$valtype}",array(
- 'internalname' => $shortname,
- 'value' => $vars['entity']->$shortname,
- )); ?>
- </label>
- </p>
-
-<?php
-
- }
-
-?>
-
- <p>
- <input type="submit" value="<?php echo elgg_echo("save"); ?>" />
- </p>
-
-</form>
\ No newline at end of file diff --git a/mod/profile/views/default/profile/editicon.php b/mod/profile/views/default/profile/editicon.php deleted file mode 100644 index 8e71f2f75..000000000 --- a/mod/profile/views/default/profile/editicon.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php
-
- /**
- * Elgg profile icon edit form
- *
- * @package ElggProfile
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Ben Werdmuller <ben@curverider.co.uk>
- * @copyright Curverider Ltd 2008
- * @link http://elgg.com/
- *
- * @uses $vars['entity'] The user entity
- * @uses $vars['profile'] Profile items from $CONFIG->profile, defined in profile/start.php for now
- */
-
-?>
-
- <form action="<?php echo $vars['url']; ?>action/profile/iconupload" method="post" enctype="multipart/form-data">
- <p>
- <?php echo elgg_echo("profile:editicon"); ?>:
- </p>
- <p>
- <?php
-
- echo elgg_view("input/file",array('internalname' => 'profileicon'));
-
- ?>
- </p>
- <p>
- <input type="submit" value="<?php echo elgg_echo("upload"); ?>" />
- </p>
- </form>
\ No newline at end of file diff --git a/mod/profile/views/default/profile/icon.php b/mod/profile/views/default/profile/icon.php deleted file mode 100644 index 036786715..000000000 --- a/mod/profile/views/default/profile/icon.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php
-
- /**
- * Elgg profile icon
- *
- * @package ElggProfile
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Ben Werdmuller <ben@curverider.co.uk>
- * @copyright Curverider Ltd 2008
- * @link http://elgg.com/
- *
- * @uses $vars['entity'] The user entity. If none specified, the current user is assumed.
- * @uses $vars['size'] The size - small, medium or large. If none specified, medium is assumed.
- */
-
- // Get entity
- if (empty($vars['entity']))
- $vars['entity'] = $vars['user'];
-
- $name = htmlentities($vars['entity']->name);
- $username = $vars['entity']->username;
-
- // Get size
- if (!in_array($vars['size'],array('small','medium','large','tiny')))
- $vars['size'] = "medium";
-
- // Get any align and js
- if (!empty($vars['align'])) {
- $align = " align=\"{$vars['align']}\" ";
- } else {
- $align = "";
- }
-
-?>
-
- <a href="<?php echo $vars['entity']->getURL(); ?>"><img src="<?php echo $vars['url']; ?>pg/icon/<?php echo $username; ?>/<?php echo $vars['size']; ?>/icon.jpg" border="0" <?php echo $align; ?> title="<?php echo $name; ?>" <?php echo $vars['js']; ?> /></a>
\ No newline at end of file diff --git a/mod/profile/views/default/profile/js.php b/mod/profile/views/default/profile/js.php new file mode 100644 index 000000000..5a08a90bd --- /dev/null +++ b/mod/profile/views/default/profile/js.php @@ -0,0 +1,9 @@ + +// force the first column to at least be as large as the profile box in cols 2 and 3 +// we also want to run before the widget init happens so priority is < 500 +elgg.register_hook_handler('init', 'system', function() { + // only do this on the profile page's widget canvas. + if ($('.profile').length) { + $('#elgg-widget-col-1').css('min-height', $('.profile').outerHeight(true) + 1); + } +}, 400); diff --git a/mod/profile/views/default/profile/metatags.php b/mod/profile/views/default/profile/metatags.php new file mode 100644 index 000000000..52048b8a7 --- /dev/null +++ b/mod/profile/views/default/profile/metatags.php @@ -0,0 +1,16 @@ +<?php +/** + * FOAF + * + * @package ElggProfile + * + */ + +$owner = elgg_get_page_owner_entity(); + +if (elgg_instanceof($owner, 'user')) { +?> + <link rel="meta" type="application/rdf+xml" title="FOAF" href="<?php echo current_page_url(); ?>?view=foaf" /> +<?php + +} diff --git a/mod/profile/views/default/profile/owner_block.php b/mod/profile/views/default/profile/owner_block.php new file mode 100644 index 000000000..63cb5391a --- /dev/null +++ b/mod/profile/views/default/profile/owner_block.php @@ -0,0 +1,66 @@ +<?php +/** + * Profile owner block + */ + +$user = elgg_get_page_owner_entity(); + +if (!$user) { + // no user so we quit view + echo elgg_echo('viewfailure', array(__FILE__)); + return TRUE; +} + +$icon = elgg_view_entity_icon($user, 'large', array( + 'use_hover' => false, + 'use_link' => false, +)); + +// grab the actions and admin menu items from user hover +$menu = elgg_trigger_plugin_hook('register', "menu:user_hover", array('entity' => $user), array()); +$builder = new ElggMenuBuilder($menu); +$menu = $builder->getMenu(); +$actions = elgg_extract('action', $menu, array()); +$admin = elgg_extract('admin', $menu, array()); + +$profile_actions = ''; +if (elgg_is_logged_in() && $actions) { + $profile_actions = '<ul class="elgg-menu profile-action-menu mvm">'; + foreach ($actions as $action) { + $profile_actions .= '<li>' . $action->getContent(array('class' => 'elgg-button elgg-button-action')) . '</li>'; + } + $profile_actions .= '</ul>'; +} + +// if admin, display admin links +$admin_links = ''; +if (elgg_is_admin_logged_in() && elgg_get_logged_in_user_guid() != elgg_get_page_owner_guid()) { + $text = elgg_echo('admin:options'); + + $admin_links = '<ul class="profile-admin-menu-wrapper">'; + $admin_links .= "<li><a rel=\"toggle\" href=\"#profile-menu-admin\">$text…</a>"; + $admin_links .= '<ul class="profile-admin-menu" id="profile-menu-admin">'; + foreach ($admin as $menu_item) { + $admin_links .= elgg_view('navigation/menu/elements/item', array('item' => $menu_item)); + } + $admin_links .= '</ul>'; + $admin_links .= '</li>'; + $admin_links .= '</ul>'; +} + +// content links +$content_menu = elgg_view_menu('owner_block', array( + 'entity' => elgg_get_page_owner_entity(), + 'class' => 'profile-content-menu', +)); + +echo <<<HTML + +<div id="profile-owner-block"> + $icon + $profile_actions + $content_menu + $admin_links +</div> + +HTML; diff --git a/mod/profile/views/default/profile/wrapper.php b/mod/profile/views/default/profile/wrapper.php new file mode 100644 index 000000000..73b7934f2 --- /dev/null +++ b/mod/profile/views/default/profile/wrapper.php @@ -0,0 +1,12 @@ +<?php +/** + * Profile info box + */ + +?> +<div class="profile elgg-col-2of3"> + <div class="elgg-inner clearfix"> + <?php echo elgg_view('profile/owner_block'); ?> + <?php echo elgg_view('profile/details'); ?> + </div> +</div>
\ No newline at end of file diff --git a/mod/profile/views/default/user/user.php b/mod/profile/views/default/user/user.php deleted file mode 100644 index efa19f0d4..000000000 --- a/mod/profile/views/default/user/user.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php
-
- /**
- * Elgg user display
- *
- * @package ElggProfile
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Ben Werdmuller <ben@curverider.co.uk>
- * @copyright Curverider Ltd 2008
- * @link http://elgg.com/
- *
- * @uses $vars['entity'] The user entity
- */
-
- echo elgg_view(
- "profile/icon", array(
- 'entity' => $vars['entity'],
- 'align' => "right",
- 'size' => "large",
- )
- );
-
-?>
- <h2><a href="<?php echo $vars['entity']->getUrl(); ?>"><?php echo $vars['entity']->name; ?></a></h2>
- <?php
-
- if ($vars['full'] == true) {
-
- ?>
- <p><b><?php echo elgg_echo("profile:aboutme"); ?></b></p>
- <p><?php echo nl2br($vars['entity']->description); ?></p>
- <?php
-
- }
- if (is_array($vars['config']->profile) && sizeof($vars['config']->profile) > 0)
- foreach($vars['config']->profile as $shortname => $valtype) {
- if ($shortname != "description") {
- $value = $vars['entity']->$shortname;
- if (!empty($value)) {
-
- ?>
-
- <p>
- <b><?php
-
- echo elgg_echo("profile:{$shortname}");
-
- ?>: </b>
- <?php
-
- echo elgg_view("output/{$valtype}",array('value' => $vars['entity']->$shortname));
-
- ?>
-
- </p>
-
- <?php
- }
- }
- }
-
- if ($vars['entity']->canEdit()) {
-
- ?>
- <p>
- <a href="<?php echo $vars['url']; ?>mod/profile/edit.php"><?php echo elgg_echo("edit"); ?></a>
- </p>
- <?php
-
- }
-
- ?>
\ No newline at end of file |
