diff --git a/core/userrights.class.inc.php b/core/userrights.class.inc.php index 95c0f75eb..bdb12ce7c 100644 --- a/core/userrights.class.inc.php +++ b/core/userrights.class.inc.php @@ -1088,7 +1088,7 @@ class UserRights public static function GetContactPicture($sName = '') { // TODO: replace with console one - $sPictureUrl = utils::GetAbsoluteUrlAppRoot().'datamodels/2.x/itop-portal-base/portal/public/img/user-profile-default-256px.png'; + $sPictureUrl = utils::GetAbsoluteUrlAppRoot().'images/user-pictures/' . appUserPreferences::GetPref('user_picture_placeholder', 'default-placeholder.png'); if (empty($sName)) { diff --git a/css/backoffice/layout/_navigation-menu.scss b/css/backoffice/layout/_navigation-menu.scss index 17766968f..bab35eead 100644 --- a/css/backoffice/layout/_navigation-menu.scss +++ b/css/backoffice/layout/_navigation-menu.scss @@ -119,6 +119,7 @@ $ibo-navigation-menu--notifications-toggler--font-size: 28px !default; $ibo-navigation-menu--user--text-color: $ibo-color-white-100 !default; $ibo-navigation-menu--user-welcome-message--toggler--padding-left : 6px !default; $ibo-navigation-menu--user-picture--image--border-radius: $ibo-border-radius-full !default; +$ibo-navigation-menu--user-picture--image--background-color: $ibo-color-grey-300; $ibo-navigation-menu--user-notifications--toggler--padding-left: 5px !default; $ibo-navigation-menu--user-picture--image-collapsed--size: 36px !default; @@ -507,6 +508,7 @@ $ibo-navigation-menu--user-picture--image-expanded--size: 72px !default; .ibo-navigation-menu--user-picture--image{ width: $ibo-navigation-menu--user-picture--image-collapsed--size; border-radius: $ibo-navigation-menu--user-picture--image--border-radius; + background-color: $ibo-navigation-menu--user-picture--image--background-color; } } .ibo-navigation-menu--user-welcome-message, .ibo-navigation-menu--user-organization, .ibo-navigation-menu--user-notifications{ diff --git a/css/light-grey.scss b/css/light-grey.scss index 466f10ea8..3f1f5fc22 100644 --- a/css/light-grey.scss +++ b/css/light-grey.scss @@ -4365,4 +4365,27 @@ border: 2px solid black; } } +} + + +.ibo-preferences--user-preferences--picture-placeholder{ + display: flex; + flex-direction: row; + flex-wrap: wrap; +} +.ibo-preferences--user-preferences--picture-placeholder--image{ + height: 54px; + width: 54px; + border-radius: 100%; + margin: 12px; +} +.ibo-preferences--user-preferences--picture-placeholder--image > img{ + border-radius: 100%; + background-color: lightgray; +} +.ibo-preferences--user-preferences--picture-placeholder--image.ibo-is-active{ + border: solid 3px hsla(213, 49.4%, 34.1%, 1); +} +.ibo-preferences--user-preferences--picture-placeholder--image:hover{ + border: solid 3px hsla(209, 61.6%, 50%, 1); } \ No newline at end of file diff --git a/images/user-pictures/boy-1.png b/images/user-pictures/boy-1.png new file mode 100644 index 000000000..cd6f26f5c Binary files /dev/null and b/images/user-pictures/boy-1.png differ diff --git a/images/user-pictures/boy-10.png b/images/user-pictures/boy-10.png new file mode 100644 index 000000000..644b5e42c Binary files /dev/null and b/images/user-pictures/boy-10.png differ diff --git a/images/user-pictures/boy-11.png b/images/user-pictures/boy-11.png new file mode 100644 index 000000000..5ff344b15 Binary files /dev/null and b/images/user-pictures/boy-11.png differ diff --git a/images/user-pictures/boy-12.png b/images/user-pictures/boy-12.png new file mode 100644 index 000000000..9c16751cc Binary files /dev/null and b/images/user-pictures/boy-12.png differ diff --git a/images/user-pictures/boy-13.png b/images/user-pictures/boy-13.png new file mode 100644 index 000000000..d95938b9b Binary files /dev/null and b/images/user-pictures/boy-13.png differ diff --git a/images/user-pictures/boy-14.png b/images/user-pictures/boy-14.png new file mode 100644 index 000000000..83a7fb225 Binary files /dev/null and b/images/user-pictures/boy-14.png differ diff --git a/images/user-pictures/boy-15.png b/images/user-pictures/boy-15.png new file mode 100644 index 000000000..acbe9b959 Binary files /dev/null and b/images/user-pictures/boy-15.png differ diff --git a/images/user-pictures/boy-16.png b/images/user-pictures/boy-16.png new file mode 100644 index 000000000..094d3596c Binary files /dev/null and b/images/user-pictures/boy-16.png differ diff --git a/images/user-pictures/boy-17.png b/images/user-pictures/boy-17.png new file mode 100644 index 000000000..d7a286f75 Binary files /dev/null and b/images/user-pictures/boy-17.png differ diff --git a/images/user-pictures/boy-18.png b/images/user-pictures/boy-18.png new file mode 100644 index 000000000..b7f6c3ce6 Binary files /dev/null and b/images/user-pictures/boy-18.png differ diff --git a/images/user-pictures/boy-19.png b/images/user-pictures/boy-19.png new file mode 100644 index 000000000..4f90eff93 Binary files /dev/null and b/images/user-pictures/boy-19.png differ diff --git a/images/user-pictures/boy-2.png b/images/user-pictures/boy-2.png new file mode 100644 index 000000000..05da0fa5d Binary files /dev/null and b/images/user-pictures/boy-2.png differ diff --git a/images/user-pictures/boy-20.png b/images/user-pictures/boy-20.png new file mode 100644 index 000000000..6dd38017b Binary files /dev/null and b/images/user-pictures/boy-20.png differ diff --git a/images/user-pictures/boy-21.png b/images/user-pictures/boy-21.png new file mode 100644 index 000000000..959405bf3 Binary files /dev/null and b/images/user-pictures/boy-21.png differ diff --git a/images/user-pictures/boy-22.png b/images/user-pictures/boy-22.png new file mode 100644 index 000000000..da8b25402 Binary files /dev/null and b/images/user-pictures/boy-22.png differ diff --git a/images/user-pictures/boy-3.png b/images/user-pictures/boy-3.png new file mode 100644 index 000000000..e161d90a0 Binary files /dev/null and b/images/user-pictures/boy-3.png differ diff --git a/images/user-pictures/boy-4.png b/images/user-pictures/boy-4.png new file mode 100644 index 000000000..49d35dfc3 Binary files /dev/null and b/images/user-pictures/boy-4.png differ diff --git a/images/user-pictures/boy-5.png b/images/user-pictures/boy-5.png new file mode 100644 index 000000000..2b86ffdb8 Binary files /dev/null and b/images/user-pictures/boy-5.png differ diff --git a/images/user-pictures/boy-6.png b/images/user-pictures/boy-6.png new file mode 100644 index 000000000..220dc97b4 Binary files /dev/null and b/images/user-pictures/boy-6.png differ diff --git a/images/user-pictures/boy-7.png b/images/user-pictures/boy-7.png new file mode 100644 index 000000000..ecf59575a Binary files /dev/null and b/images/user-pictures/boy-7.png differ diff --git a/images/user-pictures/boy-8.png b/images/user-pictures/boy-8.png new file mode 100644 index 000000000..d5be09aef Binary files /dev/null and b/images/user-pictures/boy-8.png differ diff --git a/images/user-pictures/boy-9.png b/images/user-pictures/boy-9.png new file mode 100644 index 000000000..4b72d700a Binary files /dev/null and b/images/user-pictures/boy-9.png differ diff --git a/images/user-pictures/boy.png b/images/user-pictures/boy.png new file mode 100644 index 000000000..bd28bfeb2 Binary files /dev/null and b/images/user-pictures/boy.png differ diff --git a/images/user-pictures/girl-1.png b/images/user-pictures/girl-1.png new file mode 100644 index 000000000..b11058199 Binary files /dev/null and b/images/user-pictures/girl-1.png differ diff --git a/images/user-pictures/girl-10.png b/images/user-pictures/girl-10.png new file mode 100644 index 000000000..dee7500c9 Binary files /dev/null and b/images/user-pictures/girl-10.png differ diff --git a/images/user-pictures/girl-11.png b/images/user-pictures/girl-11.png new file mode 100644 index 000000000..8a942012c Binary files /dev/null and b/images/user-pictures/girl-11.png differ diff --git a/images/user-pictures/girl-12.png b/images/user-pictures/girl-12.png new file mode 100644 index 000000000..d348c3320 Binary files /dev/null and b/images/user-pictures/girl-12.png differ diff --git a/images/user-pictures/girl-13.png b/images/user-pictures/girl-13.png new file mode 100644 index 000000000..ad1a0301f Binary files /dev/null and b/images/user-pictures/girl-13.png differ diff --git a/images/user-pictures/girl-14.png b/images/user-pictures/girl-14.png new file mode 100644 index 000000000..93d7fafb3 Binary files /dev/null and b/images/user-pictures/girl-14.png differ diff --git a/images/user-pictures/girl-15.png b/images/user-pictures/girl-15.png new file mode 100644 index 000000000..8990a9263 Binary files /dev/null and b/images/user-pictures/girl-15.png differ diff --git a/images/user-pictures/girl-16.png b/images/user-pictures/girl-16.png new file mode 100644 index 000000000..16fa87865 Binary files /dev/null and b/images/user-pictures/girl-16.png differ diff --git a/images/user-pictures/girl-17.png b/images/user-pictures/girl-17.png new file mode 100644 index 000000000..0a2fb4754 Binary files /dev/null and b/images/user-pictures/girl-17.png differ diff --git a/images/user-pictures/girl-18.png b/images/user-pictures/girl-18.png new file mode 100644 index 000000000..d733ede03 Binary files /dev/null and b/images/user-pictures/girl-18.png differ diff --git a/images/user-pictures/girl-19.png b/images/user-pictures/girl-19.png new file mode 100644 index 000000000..c13bc6c41 Binary files /dev/null and b/images/user-pictures/girl-19.png differ diff --git a/images/user-pictures/girl-2.png b/images/user-pictures/girl-2.png new file mode 100644 index 000000000..348c1a4f5 Binary files /dev/null and b/images/user-pictures/girl-2.png differ diff --git a/images/user-pictures/girl-20.png b/images/user-pictures/girl-20.png new file mode 100644 index 000000000..b4917ed6e Binary files /dev/null and b/images/user-pictures/girl-20.png differ diff --git a/images/user-pictures/girl-21.png b/images/user-pictures/girl-21.png new file mode 100644 index 000000000..6d5bd1ea1 Binary files /dev/null and b/images/user-pictures/girl-21.png differ diff --git a/images/user-pictures/girl-22.png b/images/user-pictures/girl-22.png new file mode 100644 index 000000000..9d0c4a277 Binary files /dev/null and b/images/user-pictures/girl-22.png differ diff --git a/images/user-pictures/girl-23.png b/images/user-pictures/girl-23.png new file mode 100644 index 000000000..831202b22 Binary files /dev/null and b/images/user-pictures/girl-23.png differ diff --git a/images/user-pictures/girl-24.png b/images/user-pictures/girl-24.png new file mode 100644 index 000000000..b51d5a014 Binary files /dev/null and b/images/user-pictures/girl-24.png differ diff --git a/images/user-pictures/girl-25.png b/images/user-pictures/girl-25.png new file mode 100644 index 000000000..59b2827ec Binary files /dev/null and b/images/user-pictures/girl-25.png differ diff --git a/images/user-pictures/girl-26.png b/images/user-pictures/girl-26.png new file mode 100644 index 000000000..51da88d28 Binary files /dev/null and b/images/user-pictures/girl-26.png differ diff --git a/images/user-pictures/girl-3.png b/images/user-pictures/girl-3.png new file mode 100644 index 000000000..abb45ece9 Binary files /dev/null and b/images/user-pictures/girl-3.png differ diff --git a/images/user-pictures/girl-4.png b/images/user-pictures/girl-4.png new file mode 100644 index 000000000..5429b90ca Binary files /dev/null and b/images/user-pictures/girl-4.png differ diff --git a/images/user-pictures/girl-5.png b/images/user-pictures/girl-5.png new file mode 100644 index 000000000..d0dc6200a Binary files /dev/null and b/images/user-pictures/girl-5.png differ diff --git a/images/user-pictures/girl-6.png b/images/user-pictures/girl-6.png new file mode 100644 index 000000000..16af9a001 Binary files /dev/null and b/images/user-pictures/girl-6.png differ diff --git a/images/user-pictures/girl-7.png b/images/user-pictures/girl-7.png new file mode 100644 index 000000000..36adc18dd Binary files /dev/null and b/images/user-pictures/girl-7.png differ diff --git a/images/user-pictures/girl-8.png b/images/user-pictures/girl-8.png new file mode 100644 index 000000000..01b165cf0 Binary files /dev/null and b/images/user-pictures/girl-8.png differ diff --git a/images/user-pictures/girl-9.png b/images/user-pictures/girl-9.png new file mode 100644 index 000000000..1cec9533f Binary files /dev/null and b/images/user-pictures/girl-9.png differ diff --git a/images/user-pictures/girl.png b/images/user-pictures/girl.png new file mode 100644 index 000000000..9822f81a8 Binary files /dev/null and b/images/user-pictures/girl.png differ diff --git a/images/user-pictures/user-profile-default-256px.png b/images/user-pictures/user-profile-default-256px.png new file mode 100644 index 000000000..5fc2548d9 Binary files /dev/null and b/images/user-pictures/user-profile-default-256px.png differ diff --git a/pages/preferences.php b/pages/preferences.php index 530f0ec98..ff0667ca1 100644 --- a/pages/preferences.php +++ b/pages/preferences.php @@ -17,6 +17,8 @@ * You should have received a copy of the GNU Affero General Public License */ +use Combodo\iTop\Application\UI\Layout\PageContent\PageContentFactory; + require_once('../approot.inc.php'); require_once(APPROOT.'/application/application.inc.php'); require_once(APPROOT.'/application/itopwebpage.class.inc.php'); @@ -28,6 +30,8 @@ require_once(APPROOT.'/application/startup.inc.php'); */ function DisplayPreferences($oP) { + $oP->SetContentLayout(PageContentFactory::MakeStandardEmpty()); +// $oP->AddUiBlock(new \Combodo\iTop\Application\UI\Component\Breadcrumbs\Breadcrumbs()); $oAppContext = new ApplicationContext(); $sURL = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?'.$oAppContext->GetForLink(); @@ -362,6 +366,50 @@ EOF $oP->add(''); $oP->add(''); } + + //Todo: factorize as UiBlock + if (true) + { + $sUserPicturesFolder = '../images/user-pictures/'; + $sUserDefaultPicture = appUserPreferences::GetPref('user_picture_placeholder', 'default-placeholder.png'); + + $oP->add( + <<UI:Preferences:ChooseAPlaceholder' +

UI:Preferences:ChooseAPlaceholder+

+
+HTML + ); + foreach (scandir($sUserPicturesFolder) as $sUserPicture) + { + if ($sUserPicture === '.' || $sUserPicture === '..') + { + continue; + } + $sAdditionalClass = ''; + if ($sUserDefaultPicture === $sUserPicture) + { + $sAdditionalClass = ' ibo-is-active'; + } + $oP->add(' '); + } + $oP->add_ready_script( + <<add( + << + +HTML + ); + } /** @var iPreferencesExtension $oLoginExtensionInstance */ foreach (MetaModel::EnumPlugins('iPreferencesExtension') as $oPreferencesExtensionInstance) @@ -511,6 +559,7 @@ try DisplayPreferences($oPage); } } + $oPage->output(); } catch(CoreException $e)