aboutsummaryrefslogtreecommitdiff
path: root/mod/profile/views
diff options
context:
space:
mode:
Diffstat (limited to 'mod/profile/views')
-rw-r--r--mod/profile/views/default/icon/user/default/large.php3
-rw-r--r--mod/profile/views/default/icon/user/default/master.php3
-rw-r--r--mod/profile/views/default/icon/user/default/medium.php3
-rw-r--r--mod/profile/views/default/icon/user/default/small.php3
-rw-r--r--mod/profile/views/default/icon/user/default/tiny.php3
-rw-r--r--mod/profile/views/default/icon/user/default/topbar.php3
-rw-r--r--mod/profile/views/default/profile/box.php12
-rw-r--r--mod/profile/views/default/profile/css.php502
-rw-r--r--mod/profile/views/default/profile/details.php75
-rw-r--r--mod/profile/views/default/profile/javascript.php137
-rw-r--r--mod/profile/views/default/profile/js.php9
-rw-r--r--mod/profile/views/default/profile/listing.php49
-rw-r--r--mod/profile/views/default/profile/menu/adminlinks.php28
-rw-r--r--mod/profile/views/default/profile/menu/friendlinks.php23
-rw-r--r--mod/profile/views/default/profile/menu/links.php9
-rw-r--r--mod/profile/views/default/profile/metatags.php8
-rw-r--r--mod/profile/views/default/profile/owner_block.php66
-rwxr-xr-xmod/profile/views/default/profile/ownerblock.php102
-rw-r--r--mod/profile/views/default/profile/sidebar.php13
-rw-r--r--mod/profile/views/default/profile/wrapper.php12
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&hellip;</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