diff --git a/main/admin/user_list.php b/main/admin/user_list.php
index ec3552c8a5..9fc3161d89 100755
--- a/main/admin/user_list.php
+++ b/main/admin/user_list.php
@@ -577,24 +577,7 @@ function modify_filter($user_id, $url_params, $row) {
}
if (api_is_platform_admin(true)) {
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . "admin/user_edit.php?user_id=$user_id";
-
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
-
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . "auth/sso/sso.$subSSOClass.class.php";
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL($user_id, true);
- }
+ $editProfileUrl = Display::getProfileEditionLink($user_id, true);
if (!$user_is_anonymous && api_global_admin_can_edit_admin($user_id, null, true)) {
$result .= ''.Display::return_icon('edit.png', get_lang('Edit'), array(), ICON_SIZE_SMALL).' ';
diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php
index bfcbd42f5e..619f9cb1a0 100755
--- a/main/inc/lib/display.lib.php
+++ b/main/inc/lib/display.lib.php
@@ -1986,4 +1986,39 @@ class Display
{
Session::erase('flash_messages');
}
+
+ /**
+ * Get the profile edition link for a user
+ * @param int $userId The user id
+ * @param boolean $asAdmin Optional. Whether get the URL for the platform admin
+ * @return string The link
+ */
+ public static function getProfileEditionLink($userId, $asAdmin = false)
+ {
+ $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+ if ($asAdmin) {
+ $editProfileUrl = api_get_path(WEB_CODE_PATH) . "admin/user_edit.php?user_id=" . intval($userId);
+ }
+
+ if (api_get_setting('sso_authentication') === 'true') {
+ $subSSOClass = api_get_setting('sso_authentication_subclass');
+
+ $objSSO = null;
+
+ if (!empty($subSSOClass)) {
+ require_once api_get_path(SYS_CODE_PATH) . "auth/sso/sso.$subSSOClass.class.php";
+
+ $subSSOClass = 'sso' . $subSSOClass;
+ $objSSO = new $subSSOClass();
+ } else {
+ $objSSO = new sso();
+ }
+
+ $editProfileUrl = $objSSO->generateProfileEditingURL($userId, $asAdmin);
+ }
+
+ return $editProfileUrl;
+ }
+
}
diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php
index fec6107d2b..a3b1b12bee 100755
--- a/main/inc/lib/userportal.lib.php
+++ b/main/inc/lib/userportal.lib.php
@@ -891,23 +891,7 @@ class IndexManager
}
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
-
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
+ $editProfileUrl = Display::getProfileEditionLink($user_id);
$profile_content .= '
'.Display::return_icon('edit-profile.png',get_lang('EditProfile'),null,ICON_SIZE_SMALL).get_lang('EditProfile').'';
$profile_content .= '';
diff --git a/main/messages/inbox.php b/main/messages/inbox.php
index 0c31fe06e3..8d278fae9e 100755
--- a/main/messages/inbox.php
+++ b/main/messages/inbox.php
@@ -144,23 +144,8 @@ if (api_get_setting('allow_social_tool') == 'true') {
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+ $editProfileUrl = Display::getProfileEditionLink($user_id);
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/messages/new_message.php b/main/messages/new_message.php
index cb12fb7d5f..da6493c7e2 100755
--- a/main/messages/new_message.php
+++ b/main/messages/new_message.php
@@ -324,23 +324,8 @@ if (api_get_setting('allow_social_tool') == 'true') {
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+ $editProfileUrl = Display::getProfileEditionLink($user_id);
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/messages/outbox.php b/main/messages/outbox.php
index 214e6dbc6f..e15497c592 100755
--- a/main/messages/outbox.php
+++ b/main/messages/outbox.php
@@ -123,23 +123,8 @@ if (api_get_setting('allow_social_tool') == 'true') {
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+ $editProfielUrl = Display::getProfileEditionLink($user_id);
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/messages/view_message.php b/main/messages/view_message.php
index f4291d9ad7..d0e5a52ee0 100755
--- a/main/messages/view_message.php
+++ b/main/messages/view_message.php
@@ -68,23 +68,8 @@ if (api_get_setting('allow_social_tool') == 'true') {
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+ $editProfileUrl = Display::getProfileEditionLink($user_id);
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/social/friends.php b/main/social/friends.php
index 63086d9dfe..cf2da40c74 100755
--- a/main/social/friends.php
+++ b/main/social/friends.php
@@ -95,23 +95,8 @@ if(!empty($chat_status['user_chat_status'])){
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
-$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+$editProfileUrl = Display::getProfileEditionLink($user_id);
-if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
-}
$social_avatar_block .= '';
diff --git a/main/social/groups.php b/main/social/groups.php
index cd9e221ac7..4b48e9609f 100755
--- a/main/social/groups.php
+++ b/main/social/groups.php
@@ -235,23 +235,9 @@ if ($group_id != 0) {
}else{
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
+ $editProfileUrl = Display::getProfileEditionLink($user_id);
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
@@ -276,23 +262,9 @@ if ($group_id != 0) {
}else{
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
+ $editProfileUrl = Display::getProfileEditionLink($user_id);
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/social/home.php b/main/social/home.php
index a5c9c2fbaf..19ff7e857d 100755
--- a/main/social/home.php
+++ b/main/social/home.php
@@ -97,23 +97,8 @@ $chat_status = $userInfo['extra'];
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+$editProfileUrl = Display::getProfileEditionLink(api_get_user_id());
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/social/invitations.php b/main/social/invitations.php
index 5b85eb8130..96f57e593d 100755
--- a/main/social/invitations.php
+++ b/main/social/invitations.php
@@ -106,23 +106,8 @@ if(!empty($chat_status['user_chat_status'])){
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
-$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+$editProfileUrl = Display::getProfileEditionLink($user_id);
-if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
-}
$social_avatar_block .= '';
diff --git a/main/social/myfiles.php b/main/social/myfiles.php
index 5c41980ebd..802f5ba07e 100755
--- a/main/social/myfiles.php
+++ b/main/social/myfiles.php
@@ -144,23 +144,8 @@ if(!empty($chat_status['user_chat_status'])){
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
-$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+$editProfileUrl = Display::getProfileEditionLink($user_id);
-if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
-}
$social_avatar_block .= '';
diff --git a/main/social/profile.php b/main/social/profile.php
index 9f5017fffa..0656169032 100755
--- a/main/social/profile.php
+++ b/main/social/profile.php
@@ -389,23 +389,8 @@ if(!empty($chat_status['user_chat_status'])){
}
if (api_get_user_id() === $friendId) {
- $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+ $editProfileUrl = Display::getProfileEditionLink(api_get_user_id());
- if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
- }
$social_avatar_block .= '';
diff --git a/main/social/search.php b/main/social/search.php
index 45f7fe2088..42abe1789a 100755
--- a/main/social/search.php
+++ b/main/social/search.php
@@ -161,23 +161,8 @@ if(!empty($chat_status['user_chat_status'])){
$social_avatar_block.= ''.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')
';
}
-$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+$editProfileUrl = Display::getProfileEditionLink($user_id);
-if (api_get_setting('sso_authentication') === 'true') {
- $subSSOClass = api_get_setting('sso_authentication_subclass');
- $objSSO = null;
-
- if (!empty($subSSOClass)) {
- require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
- $subSSOClass = 'sso' . $subSSOClass;
- $objSSO = new $subSSOClass();
- } else {
- $objSSO = new sso();
- }
-
- $editProfileUrl = $objSSO->generateProfileEditingURL();
-}
$social_avatar_block .= '';