diff options
Diffstat (limited to 'mod/profile/views')
20 files changed, 223 insertions, 840 deletions
diff --git a/mod/profile/views/default/icon/user/default/large.php b/mod/profile/views/default/icon/user/default/large.php deleted file mode 100644 index ac28f8e9a..000000000 --- a/mod/profile/views/default/icon/user/default/large.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - echo elgg_get_site_url() . "mod/profile/graphics/defaultlarge.gif"; -?>
\ No newline at end of file diff --git a/mod/profile/views/default/icon/user/default/master.php b/mod/profile/views/default/icon/user/default/master.php deleted file mode 100644 index 129b0d375..000000000 --- a/mod/profile/views/default/icon/user/default/master.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - echo elgg_get_site_url() . "mod/profile/graphics/defaultmaster.gif"; -?>
\ No newline at end of file diff --git a/mod/profile/views/default/icon/user/default/medium.php b/mod/profile/views/default/icon/user/default/medium.php deleted file mode 100644 index 8815a65bc..000000000 --- a/mod/profile/views/default/icon/user/default/medium.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - echo elgg_get_site_url() . "mod/profile/graphics/defaultmedium.gif"; -?>
\ No newline at end of file diff --git a/mod/profile/views/default/icon/user/default/small.php b/mod/profile/views/default/icon/user/default/small.php deleted file mode 100644 index 895aa15cc..000000000 --- a/mod/profile/views/default/icon/user/default/small.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - echo elgg_get_site_url() . "mod/profile/graphics/defaultsmall.gif"; -?>
\ No newline at end of file diff --git a/mod/profile/views/default/icon/user/default/tiny.php b/mod/profile/views/default/icon/user/default/tiny.php deleted file mode 100644 index 866c61533..000000000 --- a/mod/profile/views/default/icon/user/default/tiny.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - echo elgg_get_site_url() . "mod/profile/graphics/defaulttiny.gif"; -?>
\ No newline at end of file diff --git a/mod/profile/views/default/icon/user/default/topbar.php b/mod/profile/views/default/icon/user/default/topbar.php deleted file mode 100644 index 0ff3dbaaa..000000000 --- a/mod/profile/views/default/icon/user/default/topbar.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - echo elgg_get_site_url() . "mod/profile/graphics/defaulttopbar.gif"; -?>
\ No newline at end of file diff --git a/mod/profile/views/default/profile/box.php b/mod/profile/views/default/profile/box.php deleted file mode 100644 index 9d97ddc35..000000000 --- a/mod/profile/views/default/profile/box.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php -/** - * Profile info box - */ - -?> -<div class="profile"> -<?php - echo elgg_view('profile/sidebar'); - echo elgg_view('profile/details', array('entity' => elgg_get_page_owner())); -?> -</div>
\ No newline at end of file diff --git a/mod/profile/views/default/profile/css.php b/mod/profile/views/default/profile/css.php index 4522f7f6e..e24f555a9 100644 --- a/mod/profile/views/default/profile/css.php +++ b/mod/profile/views/default/profile/css.php @@ -1,468 +1,126 @@ <?php /** - * Elgg Profile + * Elgg Profile CSS * * @package Profile */ ?> /* *************************************** - main layout blocks + Profile *************************************** */ .profile { float: left; - width: 625px; - margin: 0 5px 15px; - padding: 5px; - border: 2px solid #dedede; + margin-bottom: 15px; } -#widget-col-1 { - min-height: 300px; -} -#profile_content { - float:right; - width:700px; - position: relative; -} -#profile_sidebar { - width:230px; - float:left; -} -.elgg-horizontal-tabbed-nav.profile { - margin-top:0px; - margin-bottom:25px; - position:relative; -} -.elgg-horizontal-tabbed-nav.profile .profile_name { - display:block; - width:265px; - position:absolute; -} -.elgg-horizontal-tabbed-nav.profile .profile_name h2 { - margin:0; - padding:0; - border:none; -} -.elgg-horizontal-tabbed-nav.profile ul { - margin-left:260px; -} - -/* *************************************** - default avatar icons -*************************************** */ -.usericon { - position:relative; -} -.usericon.tiny, -img.tiny { - width:25px; - height:25px; - /* remove the border-radius if you don't want rounded avatars in supported browsers */ - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - -moz-background-clip: border; +.profile .elgg-inner { + margin: 0 5px; + border: 2px solid #eee; - -o-background-size: 25px; - -webkit-background-size: 25px; - -khtml-background-size: 25px; - -moz-background-size: 25px; -} -.usericon.small, -img.small { - width:40px; - height:40px; - /* remove the border-radius if you don't want rounded avatars in supported browsers */ - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -moz-background-clip: border; - - -o-background-size: 40px; - -webkit-background-size: 40px; - -khtml-background-size: 40px; - -moz-background-size: 40px; -} -img.large { - width:200px; - height:200px; -} -img.medium { - width:100px; - height:100px; -} - -/* *************************************** - ownerblock in sidebar -*************************************** */ -#profile_sidebar #owner_block { - background-color: #eeeeee; - -webkit-border-radius: 8px; - -moz-border-radius: 8px; - padding:15px; - min-height:270px; -} -#elgg-sidebar #owner_block { - background-color: white; - -webkit-border-radius: 8px; + -webkit-border-radius: 8px; -moz-border-radius: 8px; - padding:5px; - margin-bottom:10px; -} -#owner_block .owner_block_icon { - float:left; - padding:0; - margin:0; -} -#owner_block .owner_block_icon.large { - width:200px; - height:200px; - overflow: hidden; - float:none; -} -#owner_block .owner_block_contents { - margin-left: 50px; -} -#elgg-sidebar #owner_block .owner_block_contents { - margin-left: 34px; -} -#owner_block .owner_block_contents h3 { - margin-top:-4px; - border-bottom:none; - margin-bottom:0; - padding-bottom:0; -} -#owner_block .owner_block_contents p.profile_info { - margin:0; - padding:0; - color: #666666; + border-radius: 8px; } -#owner_block .owner_block_contents p.profile_info.briefdescription { - font-size: 90%; - line-height:1.2em; - font-style: italic; +#profile-details { + padding: 15px; } -#owner_block .owner_block_contents p.profile_info.location { - font-size: 90%; +/*** ownerblock ***/ +#profile-owner-block { + width: 200px; + float: left; + background-color: #eee; + padding: 15px; } -#owner_block .profile_actions { - margin-top:10px; +#profile-owner-block .large { + margin-bottom: 10px; } -#owner_block .profile_actions a.action-button { - margin-bottom:4px; +#profile-owner-block a.elgg-button-action { + margin-bottom: 4px; display: table; } -/* ownerblock links to owners tools */ -#owner_block .owners_content_links { - border-top:1px dotted #cccccc; - margin-top:4px; - padding-top:2px; -} -#owner_block .owners_content_links ul { - margin:0; - padding:0; -} -#owner_block .owners_content_links ul li { - display:block; - float:left; - width:95px; - font-size: 90%; -} -/* profile pages - ownerblock links to owners tools */ -.owner_block_links { - margin-top:5px; -} -.owner_block_links ul { - margin:0; - padding:0; - list-style: none; -} -.owner_block_links ul li.selected a { - background: #4690D6; - color:white; -} -.owner_block_links ul li a { - display:block; - -webkit-border-radius: 8px; +.profile-content-menu a { + display: block; + + -webkit-border-radius: 8px; -moz-border-radius: 8px; - background-color:white; - margin:3px 0 5px 0; - padding:2px 4px 2px 8px; + border-radius: 8px; + + background-color: white; + margin: 3px 0 5px 0; + padding: 2px 4px 2px 8px; } -.owner_block_links ul li a:hover { - background:#0054A7; - color:white; - text-decoration:none; +.profile-content-menu a:hover { + background: #0054A7; + color: white; + text-decoration: none; } - - -/* *************************************** - admin menu in sidebar -*************************************** */ -.owner_block_links .admin_menu_options { +.profile-admin-menu { display: none; } -.owner_block_links ul.admin_menu { - background-color:white; +.profile-admin-menu-wrapper a { + display: block; + -webkit-border-radius: 8px; -moz-border-radius: 8px; - cursor:pointer; -} -.owner_block_links ul.admin_menu li a { + border-radius: 8px; + background-color: white; - color:red; - margin-bottom:0; + margin: 3px 0 5px 0; + padding: 2px 4px 2px 8px; } -.owner_block_links ul.admin_menu li a:hover { - color:black; +.profile-admin-menu-wrapper { + background-color: white; + + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } -.owner_block_links ul.admin_menu li ul.admin_menu_options li a { - color:red; - background-color:white; - display:block; - margin:0px; - padding:2px 4px 2px 13px; +.profile-admin-menu-wrapper li a { + background-color: white; + color: red; + margin-bottom: 0; } -.owner_block_links ul.admin_menu li ul.admin_menu_options li a:hover { - color:black; - background:none; - text-decoration: underline; +.profile-admin-menu-wrapper a:hover { + color: black; } - - -/* *************************************** - full profile info panel -*************************************** */ -#profile_content .odd { - background-color:#f4f4f4; +/*** profile details ***/ +#profile-details .odd { + background-color: #f4f4f4; + -webkit-border-radius: 4px; -moz-border-radius: 4px; - margin:0 0 7px 0; - padding:2px 4px 2px 4px; + border-radius: 4px; + + margin: 0 0 7px; + padding: 2px 4px; } -#profile_content .even { +#profile-details .even { background-color:#f4f4f4; + -webkit-border-radius: 4px; -moz-border-radius: 4px; - margin:0 0 7px 0; - padding:2px 4px 2px 4px; + border-radius: 4px; + + margin: 0 0 7px; + padding: 2px 4px; } -#profile_content .aboutme_title { +.profile-aboutme-title { background-color:#f4f4f4; + -webkit-border-radius: 4px; -moz-border-radius: 4px; - margin:0 0 0px 0; - padding:2px 4px 2px 4px; -} -#profile_content .aboutme_contents { - padding:2px 0 0 3px; -} - - -/* *************************************** - friends panel within profile -*************************************** */ -#profile_content .entity-listing .entity-listing-info { - width:664px; -} - - -/* *************************************** - commentwall within profile -*************************************** */ -#comment_wall_add textarea { - width:685px; -} -#comment_wall_add #postit { - float:right; -} - - -/* *************************************** - twitter panel within profile -*************************************** */ -ul#twitter_update_list { - padding-left:0; -} -ul#twitter_update_list li { - background-image: url(<?php echo elgg_get_site_url(); ?>mod/profile/graphics/speech_bubble_tail.gif); - background-position:right bottom; - background-repeat: no-repeat; - list-style-image:none; - list-style-position:outside; - list-style-type:none; - margin:0 0 5px 0; - padding:0; - overflow-x: hidden; -} -ul#twitter_update_list li span { - color:#666666; - background:#ececec; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - padding:3px 5px 4px 5px; - display:block; -} -ul#twitter_update_list li a { - display:block; - margin:-2px 0 0 4px; -} -ul#twitter_update_list li span a { - display:inline !important; -} -p.visit_twitter a { - background:url(<?php echo elgg_get_site_url(); ?>mod/profile/graphics/twitter16px.png) left no-repeat; - padding:0 0 0 20px; - margin:0; + border-radius: 4px; + + margin: 0; + padding: 2px 4px; } -.visit_twitter { - padding:5px 0; - margin:0 0 0 0; - border-top:1px solid #dedede; +.profile-aboutme-contents { + padding: 2px 0 0 3px; } - -/* *************************************** - banned user -*************************************** */ -/* banned user full profile panel */ -#profile_content .banned_user { - border:2px solid red; - padding:4px 8px; +.profile-banned-user { + border: 2px solid red; + padding: 4px 8px; + -webkit-border-radius: 6px; -moz-border-radius: 6px; -} -/* banned user in friends lists */ -.entity-listing-info p.entity-title.user.banned { - text-decoration: line-through; -} -.entity-listing-info p.entity-title.user.banned a { - color:red; -} - - -/* *************************************** - admin area - custom profile fields -*************************************** */ -.default_profile_reset { - border-top: 1px solid #dedede; - margin-top:30px; -} -.default_profile_reset .action-button { - float:right; -} -/* field re-order */ -#sortable_profile_fields { - list-style: none; - padding:0; - margin:0; - border-top:1px solid #cccccc; -} -#sortable_profile_fields li { - padding:5px 0 5px 0; - border-bottom:1px solid #cccccc; -} -#sortable_profile_fields li img.handle { - margin-right: 7px; - cursor: move; -} -#sortable_profile_fields .ui-sortable-helper { - background: #eeeeee; - color:#333333; - padding: 5px 0 5px 0; - margin: 0; - width:100%; -} - - -/* *************************************** - avatar drop-down menu -*************************************** */ -.avatar_menu_button { - width:15px; - height:15px; - position:absolute; - cursor:pointer; - display:none; - right:0; - bottom:0; -} -.avatar_menu_arrow { - background: url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -150px top; - width:15px; - height:15px; -} -.avatar_menu_arrow_on { - background: url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -150px -16px; - width:15px; - height:15px; -} -.avatar_menu_arrow_hover { - background: url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png) no-repeat -150px -32px; - width:15px; - height:15px; -} -/* user avatar submenu options */ -.usericon .sub_menu { - display:none; - position:absolute; - padding:0; - margin:0; - border-top:solid 1px #E5E5E5; - border-left:solid 1px #E5E5E5; - border-right:solid 1px #999999; - border-bottom:solid 1px #999999; - width:164px; - background:#FFFFFF; - text-align:left; - -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50); - -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.50); - font-size:14px; -} -div.usericon a.icon img { - z-index:10; -} -.usericon .sub_menu a:link, -.usericon .sub_menu a:visited, -.usericon .sub_menu a:hover { - display:block; - font-weight: normal; -} -.usericon .sub_menu a:hover { - background:#cccccc; - text-decoration:none; -} -.usericon .sub_menu .displayname { - padding:0 !important; - margin:0 !important; - border-bottom:solid 1px #dddddd !important; - font-size:14px !important; -} -.usericon .sub_menu .displayname a { - padding:3px 3px 3px 8px; - font-size:14px; - font-weight: bold; -} -.usericon .sub_menu .displayname a .username { - display:block; - font-weight: normal; - font-size:12px; - text-align: left; - margin:0; -} -.sub_menu ul.sub_menu_list { - list-style: none; - margin-bottom:0; - padding-left:0; -} -.usericon .sub_menu a { - padding:2px 3px 2px 8px; - font-size:12px; -} -/* admin menu options in avatar submenu */ -.user_menu_admin { - border-top:solid 1px #dddddd; -} -.usericon .sub_menu li.user_menu_admin a { - color:red; -} -.usericon .sub_menu li.user_menu_admin a:hover { - color:white; - background:red; + border-radius: 6px; } diff --git a/mod/profile/views/default/profile/details.php b/mod/profile/views/default/profile/details.php index 27b0f943b..da4e95690 100644 --- a/mod/profile/views/default/profile/details.php +++ b/mod/profile/views/default/profile/details.php @@ -4,38 +4,65 @@ * @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($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)) { - //This function controls the alternating class - $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even'; - ?> - <p class="<?php echo $even_odd; ?>"> - <b><?php - echo elgg_echo("profile:{$shortname}"); - ?>: </b> +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' => $vars['entity']->$shortname)); + echo elgg_view("output/{$valtype}", array('value' => $value)); ?> - </p> - <?php - } + </div> + <?php } } } -if (!get_plugin_setting('user_defined_fields', 'profile')) { - if ($vars['entity']->isBanned()) { - echo "<div class='banned_user'>"; - echo elgg_echo('profile:banned'); - echo "</div>"; +if (!elgg_get_config('profile_custom_fields')) { + if ($user->isBanned()) { + echo "<p class='profile-banned-user'>"; + echo elgg_echo('banned'); + echo "</p>"; } else { - if ($vars['entity']->description) { - echo "<p class='aboutme_title'><b>" . elgg_echo("profile:aboutme") . "</b></p>"; - echo "<div class='aboutme_contents'>" . elgg_view('output/longtext', array('value' => $vars['entity']->description)) . "</div>"; + 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/javascript.php b/mod/profile/views/default/profile/javascript.php deleted file mode 100644 index 96b57fb95..000000000 --- a/mod/profile/views/default/profile/javascript.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php - -/** - * Elgg profile image Javascript - * - * @package ElggProfile - * - * @uses $vars['entity'] The user entity - */ - -// header("Content-type: text/javascript"); -// header("Pragma: public"); -// header("Cache-Control: public"); - -?> - -var submenuLayer = 1000; - -function setup_avatar_menu(parent) { - if (!parent) { - parent = document; - } - - // avatar image menu link - $(parent).find("div.usericon img").mouseover(function() { - // find nested avatar_menu_button and show - $(this.parentNode.parentNode).children(".avatar_menu_button").show(); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow"); - //$(this.parentNode.parentNode).css("z-index", submenuLayer); - }) - .mouseout(function() { - if($(this).parent().parent().find("div.sub_menu").css('display')!="block") { - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_on"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(this.parentNode.parentNode).children(".avatar_menu_button").hide(); - } - else { - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_on"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(this.parentNode.parentNode).children(".avatar_menu_button").show(); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow"); - } - }); - - - // avatar contextual menu - $(".avatar_menu_button img").click(function(e) { - - var submenu = $(this).parent().parent().find("div.sub_menu"); - - // close submenu if arrow is clicked & menu already open - if(submenu.css('display') == "block") { - //submenu.hide(); - } - else { - // get avatar dimensions - var avatar = $(this).parent().parent().parent().find("div.usericon"); - //alert( "avatarWidth: " + avatar.width() + ", avatarHeight: " + avatar.height() ); - - // move submenu position so it aligns with arrow graphic - if (e.pageX < 840) { // popup menu to left of arrow if we're at edge of page - submenu.css("top",(avatar.height()) + "px") - .css("left",(avatar.width()-15) + "px") - .fadeIn('normal'); - } - else { - submenu.css("top",(avatar.height()) + "px") - .css("left",(avatar.width()-166) + "px") - .fadeIn('normal'); - } - - // force z-index - workaround for IE z-index bug - avatar.css("z-index", submenuLayer); - avatar.find("a.icon img").css("z-index", submenuLayer); - submenu.css("z-index", submenuLayer+1); - - submenuLayer++; - - // change arrow to 'on' state - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow_on"); - } - - // hide any other open submenus and reset arrows - $("div.sub_menu:visible").not(submenu).hide(); - $(".avatar_menu_button").removeClass("avatar_menu_arrow"); - $(".avatar_menu_button").removeClass("avatar_menu_arrow_on"); - $(".avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(".avatar_menu_button").hide(); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow_on"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").show(); - //alert("submenuLayer = " +submenu.css("z-index")); - }) - // hover arrow each time mouseover enters arrow graphic (eg. when menu is already shown) - .mouseover(function() { - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_on"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow_hover"); - }) - // if menu not shown revert arrow, else show 'menu open' arrow - .mouseout(function() { - if($(this).parent().parent().find("div.sub_menu").css('display')!="block"){ - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow"); - } - else { - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").removeClass("avatar_menu_arrow"); - $(this.parentNode.parentNode).children("div.avatar_menu_button").addClass("avatar_menu_arrow_on"); - } - }); - - // hide avatar menu if click occurs outside of menu - // and hide arrow button - $(document).click(function(event) { - var target = $(event.target); - if (target.parents(".usericon").length == 0) { - $(".usericon div.sub_menu").fadeOut(); - $(".avatar_menu_button").removeClass("avatar_menu_arrow"); - $(".avatar_menu_button").removeClass("avatar_menu_arrow_on"); - $(".avatar_menu_button").removeClass("avatar_menu_arrow_hover"); - $(".avatar_menu_button").hide(); - } - }); - - -} - -$(document).ready(function() { - - setup_avatar_menu(); - -}); 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/listing.php b/mod/profile/views/default/profile/listing.php deleted file mode 100644 index 0622264b8..000000000 --- a/mod/profile/views/default/profile/listing.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -/** - * Elgg user display (small) - * - * @package ElggProfile - * - * @uses $vars['entity'] The user entity - */ - -$icon = elgg_view( - "profile/icon", array( - 'entity' => $vars['entity'], - 'size' => 'tiny', - ) -); - -$banned = $vars['entity']->isBanned(); - -// Simple XFN -$rel_type = ""; -if (get_loggedin_userid() == $vars['entity']->guid) { - $rel_type = 'me'; -} elseif (check_entity_relationship(get_loggedin_userid(), 'friend', $vars['entity']->guid)) { - $rel_type = 'friend'; -} - -if ($rel_type) { - $rel = "rel=\"$rel_type\""; -} - -if (!$banned) { - $info .= "<p class='entity-title user'><a href=\"" . $vars['entity']->getUrl() . "\" $rel>" . $vars['entity']->name . "</a></p>"; - $location = $vars['entity']->location; - if (!empty($location)) { - $info .= "<p class='entity-subtext user'>" . elgg_echo("profile:location") . ": " . elgg_view("output/tags",array('value' => $vars['entity']->location)) . "</p>"; - } - //create a view that a status plugin could extend - in the default case, this is the wire - $info .= elgg_view("profile/status", array("entity" => $vars['entity'])); -}else{ - $info .= "<p class='entity-title user banned'>"; - if (isadminloggedin()) - $info .= "<a href=\"" . $vars['entity']->getUrl() . "\">"; - $info .= $vars['entity']->name; - if (isadminloggedin()) - $info .= "</a>"; - $info .= "</p>"; -} - -echo elgg_view_listing($icon, $info); diff --git a/mod/profile/views/default/profile/menu/adminlinks.php b/mod/profile/views/default/profile/menu/adminlinks.php deleted file mode 100644 index 39807764a..000000000 --- a/mod/profile/views/default/profile/menu/adminlinks.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php -/** - * Profile admin context links - * - * @package ElggProfile - * - * @uses $vars['entity'] The user entity - */ - -if (isadminloggedin()){ - if (get_loggedin_userid()!=$vars['entity']->guid){ -?> - <a href="<?php echo elgg_get_site_url(); ?>pg/settings/user/<?php echo $vars['entity']->username; ?>/"><?php echo elgg_echo('profile:editdetails'); ?></a> -<?php - if (!$vars['entity']->isBanned()) { - echo elgg_view('output/confirmlink', array('text' => elgg_echo("ban"), 'href' => "action/admin/user/ban?guid={$vars['entity']->guid}")); - } else { - echo elgg_view('output/confirmlink', array('text' => elgg_echo("unban"), 'href' => "action/admin/user/unban?guid={$vars['entity']->guid}")); - } - echo elgg_view('output/confirmlink', array('text' => elgg_echo("delete"), 'href' => "action/admin/user/delete?guid={$vars['entity']->guid}")); - echo elgg_view('output/confirmlink', array('text' => elgg_echo("resetpassword"), 'href' => "action/admin/user/resetpassword?guid={$vars['entity']->guid}")); - if (!$vars['entity']->isAdmin()) { - echo elgg_view('output/confirmlink', array('text' => elgg_echo("makeadmin"), 'href' => "action/admin/user/makeadmin?guid={$vars['entity']->guid}")); - } else { - echo elgg_view('output/confirmlink', array('text' => elgg_echo("removeadmin"), 'href' => "action/admin/user/removeadmin?guid={$vars['entity']->guid}")); - } - } - } diff --git a/mod/profile/views/default/profile/menu/friendlinks.php b/mod/profile/views/default/profile/menu/friendlinks.php deleted file mode 100644 index ed13edb8b..000000000 --- a/mod/profile/views/default/profile/menu/friendlinks.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php -/** - * Elgg profile icon avatar menu: Add / Remove friend links - * - * @package ElggProfile - * - * @uses $vars['entity'] The user entity. If none specified, the current user is assumed. - */ -$ts = time(); -$token = generate_action_token($ts); -if ($vars['entity']->isFriend()) { - echo elgg_view('output/confirmlink', array( - 'href' => "action/friends/remove?friend={$vars['entity']->getGUID()}", - 'text' => elgg_echo('friend:remove'), - 'class' => 'remove_friend' - )); -} else { - echo elgg_view('output/confirmlink', array( - 'href' => "action/friends/add?friend={$vars['entity']->getGUID()}", - 'text' => elgg_echo('friend:add'), - 'class' => 'add_friend' - )); -}
\ No newline at end of file diff --git a/mod/profile/views/default/profile/menu/links.php b/mod/profile/views/default/profile/menu/links.php deleted file mode 100644 index 4233d7ec5..000000000 --- a/mod/profile/views/default/profile/menu/links.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -/** - * Elgg profile icon avatar menu: view for plugins to extend - * - * @package ElggProfile - * - * @uses $vars['entity'] The user entity. If none specified, the current user is assumed. - */ -?> diff --git a/mod/profile/views/default/profile/metatags.php b/mod/profile/views/default/profile/metatags.php index 1197a2e0a..52048b8a7 100644 --- a/mod/profile/views/default/profile/metatags.php +++ b/mod/profile/views/default/profile/metatags.php @@ -6,9 +6,11 @@ * */ -if (elgg_get_page_owner()) { +$owner = elgg_get_page_owner_entity(); + +if (elgg_instanceof($owner, 'user')) { ?> - <link rel="meta" type="application/rdf+xml" title="FOAF" href="<?php echo full_url(); ?>?view=foaf" /> + <link rel="meta" type="application/rdf+xml" title="FOAF" href="<?php echo current_page_url(); ?>?view=foaf" /> <?php -}
\ No newline at end of file +} 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/ownerblock.php b/mod/profile/views/default/profile/ownerblock.php deleted file mode 100755 index 684209569..000000000 --- a/mod/profile/views/default/profile/ownerblock.php +++ /dev/null @@ -1,102 +0,0 @@ -<?php - -/** - * A simple owner block which houses info about the user whose 'stuff' you are looking at - */ - -// get the user who owns this profile -if ($vars['entity']) { - if ($vars['context'] == 'edit') { - $user = get_entity($vars['entity']->container_guid); - } else { - $user = get_entity($vars['entity']->guid); - } -} else { - $user = elgg_get_page_owner(); -} -if (!$user) { - // no user so we quit view - echo elgg_echo('viewfailure', array(__FILE__)); - return TRUE; -} - -$more_info = ''; - -$location = elgg_view("output/tags",array('value' => $user->location)); -$section = $vars['section']; -if ($section == 'details') { - $icon = elgg_view("profile/icon",array('entity' => $user, 'size' => 'large', 'override' => 'true')); - $icon_class = "large"; -} else { - $icon = elgg_view("profile/icon",array('entity' => $user, 'size' => 'small')); - $more_info = "<div class='owner_block_contents clearfix'>"; - $more_info .= "<h3><a href='{$url}'>{$user->name}</a></h3>"; - $more_info .= "<p class='profile_info briefdescription'>{$user->briefdescription}</p>"; - $more_info .= "<p class='profile_info location'>{$location}</p>"; - $more_info .= "</div>"; -} -$profile_actions = ""; -if (isloggedin() && (get_loggedin_userid() == elgg_get_page_owner_guid())) { - $profile_actions = "<div class='clearfix profile_actions'>"; - $profile_actions .= "<a href='".elgg_get_site_url()."pg/profile/{$user->username}/edit/details' class='action-button'>". elgg_echo('profile:edit') ."</a>"; - $profile_actions .= "<a href='".elgg_get_site_url()."pg/avatar/edit/{$user->username}' class='action-button'>". elgg_echo('avatar:edit') ."</a>"; - $profile_actions .= "</div>"; -} else { - $profile_actions = "<div class='profile_actions'>"; - if (isloggedin()) { - if (get_loggedin_userid() != $user->getGUID()) { - if ($user->isFriend()) { - $url = elgg_get_site_url()."action/friends/remove?friend={$user->getGUID()}"; - $url = elgg_add_action_tokens_to_url($url); - $profile_actions .= "<a href=\"$url\" class='action-button'>" . elgg_echo('friend:remove') . "</a>"; - } else { - $url = elgg_get_site_url()."action/friends/add?friend={$user->getGUID()}"; - $url = elgg_add_action_tokens_to_url($url); - $profile_actions .= "<a href=\"$url\" class='action-button'>" . elgg_echo('friend:add') . "</a>"; - } - } - } - if (is_plugin_enabled('messages') && isloggedin()) { - $profile_actions .= "<a href=\"".elgg_get_site_url()."mod/messages/send.php?send_to={$user->guid}\" class='action-button'>". elgg_echo('messages:send') ."</a>"; - } - $profile_actions .= "</div>"; -} - -$username = $user->username; -$email = $user->email; -$phone = $user->phone; - - -// if admin, display admin links -$admin_links = ''; -if (isadminloggedin() && get_loggedin_userid() != elgg_get_page_owner_guid()) { - $params = array( - 'user' => elgg_get_page_owner(), - 'toggle' => true, - 'sort_by' => 'order', - ); - $admin_links = elgg_view_menu('user_admin', $params); - $admin_links = "<div class=\"owner_block_links\">$admin_links</div>"; -} - -$menu = elgg_view_menu('user_ownerblock', array('user' => elgg_get_page_owner())); - -//contruct the display -$display = <<<EOT - -<div id="owner_block"> - <div class="owner_block_icon {$icon_class}"> - {$icon} - </div> - {$more_info} - {$profile_actions} - <div class="owner_block_links"> - $menu - </div> - <!-- if admin user --> - {$admin_links} -</div> - -EOT; - -echo $display; diff --git a/mod/profile/views/default/profile/sidebar.php b/mod/profile/views/default/profile/sidebar.php deleted file mode 100644 index 525a2da81..000000000 --- a/mod/profile/views/default/profile/sidebar.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php -/** - * Elgg profile icon edit form - * - * @package ElggProfile - */ -?> -<div id="profile_sidebar"> -<?php - $section = $vars['section']; - echo elgg_view('profile/ownerblock', array('section' => $section)); -?> -</div>
\ No newline at end of file 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 |
