XWiki
XWikiUserSheet
en
0
Main.XWikiUsers
XWiki.Admin
XWiki.Admin
xwiki:XWiki.Admin
1106308018000
1106308018000
1106308018000
1.1

#

Imported from XAR
false
xwiki/2.0
false
noavatar.png
3076
XWiki.Admin
1263400909000
1.1
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
XWiki.XWikiUserSheet
0
XWiki.JavaScriptExtension
4a317e5c-a75e-4dec-aad0-1f80ffde5124
long `Object.extend(XWiki, { userprofile : { init : function() { if ($('avatar')) { Event.observe($('avatar'), 'mouseover', function() { XWiki.userprofile.displayChangePhoto('true') }); Event.observe($('avatar'), 'mouseout', function() { XWiki.userprofile.displayChangePhoto('false') }); XWiki.userprofile.adjustTabsContainerHeight(); } }, /* ** This ugly hack is used as a workaround for IE6 box model (3px jog bug) which prevent from ** putting the separating border between tabs and panes on the pane div. We put the border ** on the tabs container and adjust its size depending on the size of the right pane. ** FIXME: find a better mechanism for tabbed UIs / drop this hack when stopping IE6 support. */ adjustTabsContainerHeight: function() { var currentPane; $("vertical-panes").select("div.vertical-pane").each(function(pane){ if(!pane.hasClassName('hidden')) { currentPane = pane; } }); if (currentPane.getHeight() > $('vertical-tabs').getHeight()) { $('vertical-tabs').setStyle({ height: currentPane.getHeight() + 'px' }); } else { $('vertical-tabs').setStyle({ height: '' }); } }, displayChangePhoto : function(display) { var changePhoto = $('avatarUpload'); if (display == true) { changePhoto.removeClassName('hidden'); } else { changePhoto.addClassName('hidden'); } }, switchTab : function(tab) { $("vertical-panes").select("div.vertical-pane").each(function(pane){ pane.addClassName('hidden'); }); $('vertical-tabs').setStyle({ height: '' }); $(tab + 'Pane').removeClassName('hidden'); $("vertical-tabs").select("li.vertical-tab").each(function(tab){ tab.removeClassName('active'); }); $(tab + 'Tab').addClassName('active'); XWiki.userprofile.adjustTabsContainerHeight(); } } }); Event.observe(window, 'load', function() { XWiki.userprofile.init() });` userprofile 0 onDemand
XWiki.SheetClass
0
defaultEditMode
1
Default Edit Mode
15
0
com.xpn.xwiki.objects.classes.StringClass
XWiki.XWikiUserSheet
0
XWiki.SheetClass
03ac24bd-55c2-4ce2-b80a-9b4ecf5f5282
XWiki.XWikiUserSheet
0
XWiki.StyleSheetExtension
30c9f7e7-0b53-468b-a254-645d035d9416
long `#template("colorThemeInit.vm") #set($tabswidth = "130px") td.recentChangesLeft, .recentChangesMoreActions { display:none; } td.recentChangesRight { padding: 0 !important; } #profilePane .column h1 { font-weight:bold; font-size:115%; margin:10px 0; } #profilePane .column h2 { font-size: 110%; } div.userInfo, div.userRecentChanges, div.userPreferences, div.passwordManagement, div.watchlistManagement, div.watchlistRss, div.watchlistElements { margin: 5px 10px 10px; padding: 5px 10px 10px; } div.userInfo, div.userPreferences, div.watchlistManagement { background-color: $theme.backgroundSecondaryColor; } .userInfo img { max-width: 100%; } div.userInfo input[type="text"], div.userInfo input[type="password"], div.userInfo textarea, div.userInfo select, div.userPreferences select { width: 100%; } div.editProfileCategory { float:right; } div.editProfileCategory a { display:block; width: 16px; height: 16px; background: url($xwiki.getSkinFile('icons/silk/pencil.gif')) no-repeat; } /* Watchlist */ #watchlistRssLink { background: url($xwiki.getSkinFile('icons/xwiki/rss-medium.png')) no-repeat; padding-left: 18px; font-weight: bold; } span.wikiWatchlistType, span.spaceWatchlistType, span.pageWatchlistType { width: 16px; height: 16px; display: block; } span.wikiWatchlistType { background: url($xwiki.getSkinFile('icons/silk/world.gif')) no-repeat; } span.spaceWatchlistType { background: url($xwiki.getSkinFile('icons/silk/folder.gif')) no-repeat; } span.pageWatchlistType { background: url($xwiki.getSkinFile('icons/silk/page_white_text.gif')) no-repeat; } /* Tabs */ div#vertical-panes { margin-top: 10px; } span#avatarUpload { display:block; width:$tabswidth; position:absolute; font-size: 10px; font-weight: bold; background-color: white; } #vertical-tabs { float:left; width:$tabswidth; border-right: solid 1px $theme.menuBackgroundColor; } #vertical-tabs ul { margin:0; margin-top:5px; padding:0; border-right:0; border-bottom:0; border-left:0; } #vertical-tabs ul li { display: block; list-style-type: none; list-style-position: outside; margin:0; border: solid 1px $theme.pageContentBackgroundColor; border-right: 0; } #vertical-tabs ul li img { float:left; margin-right:4px; vertical-align:middle; } #vertical-tabs ul li span { line-height:1.5em; } #vertical-tabs ul li.active { border: solid 1px $theme.menuBackgroundColor; border-right: 0px; } #vertical-tabs ul li a { padding: 3px 0px 3px 10px; text-decoration: none; display:block; color:$theme.menuBackgroundColor; } #vertical-tabs ul li.active a { text-decoration: none; position:relative; left:1px; background:$theme.pageContentBackgroundColor; color: $theme.textColor; padding-left: 9px; } .vertical-pane { margin-left:$tabswidth; padding: 10px; padding-top: 0; } .vertical-pane .column { overflow: hidden; }` userprofile 1 onDemand
{{velocity}} ## ## Extensions and vars ## ##$xwiki.ssx.use("XWiki.XWikiUserSheet")## ##$xwiki.jsx.use("XWiki.XWikiUserSheet")## #set($obj = $doc.getObject("XWiki.XWikiUsers")) ## ## Categories ## #set($categories = $util.arrayList) #set($discard = $categories.add(['profile', $msg.get('platform.core.profile.category.profile'), 'XWiki.XWikiUserProfileSheet', 'icons/silk/vcard.gif'])) #set($isMyProfile = ($xcontext.user == $doc.fullName)) #if($isMyProfile || $hasAdmin) #set($discard = $categories.add(['preferences', $msg.get('platform.core.profile.category.preferences'), 'XWiki.XWikiUserPreferencesSheet', 'icons/silk/wrench.gif'])) #end ## TODO: add APIs to be able to display users watchlists to admins #if($isMyProfile && $hasWatch) #set($discard = $categories.add(['watchlist', $msg.get('platform.core.profile.category.watchlist'), 'XWiki.XWikiUserWatchListSheet', 'icons/silk/star.gif'])) #end ## ## Avatar ## #set($avatarURL = '') #if($obj.getProperty("avatar") && $obj.getProperty("avatar").getValue() != '') #foreach ($attach in $doc.attachmentList) #if($attach.filename == $obj.getProperty("avatar").getValue()) #set($avatarURL = "$doc.getAttachmentURL($attach.filename, 'download', 'width=120')") #end #end #end #if("$!avatarURL" == '') #set($avatarURL = $xwiki.getDocument("XWiki.XWikiUserSheet").getAttachmentURL('noavatar.png', 'download', 'width=120')) #end ## ## Current category ## #set($currentCategory = "$!request.category") #if($currentCategory == "") #set($currentCategory = $listtool.get($listtool.get($categories, 0), 0)) #end ## ## Display ## {{html clean="false"}} <div id="vertical-panes"> ## ## Tabs ## <div id="vertical-tabs"> <div id="avatar"> <span id="avatarUpload" class="hidden">$msg.get('platform.core.profile.changePhoto')</span> <a href="$doc.getURL('edit', 'xpage=changemyavatar')" ><img class="photo" id="xwikiuseravatar" alt="$doc.display('first_name', 'view', $obj)" src="$avatarURL"/></a> </div> <div> <ul> #foreach($tab in $categories) #set($tabKey = $listtool.get($tab, 0)) #set($tabName = $listtool.get($tab, 1)) #set($tabIcon = $listtool.get($tab, 3)) <li id="${tabKey}Tab" class="vertical-tab#if($tabKey == $currentCategory) active#end"><a href="?category=${tabKey}"><img src="$xwiki.getSkinFile($tabIcon)" alt="$tabName" /><span>$tabName</span></a><script type="text/javascript">Event.observe($("${tabKey}Tab"), 'click', function(event) { XWiki.userprofile.switchTab("${tabKey}"); Event.stop(event); });</script></li> #end </ul> </div> </div> ## ## Panes ## #foreach($tab in $categories) #set($tabKey = $listtool.get($tab, 0)) #set($tabInclude = $listtool.get($tab, 2)) <div id="${tabKey}Pane" class="vertical-pane#if($tabKey != $currentCategory) hidden#end"> {{/html}}

{{include document="${tabInclude}" /}}

{{html clean="false"}} </div> #end <div class="clearfloats">&nbsp;</div> </div> {{/html}} {{/velocity}}