General Actions:
Log-in
Home
Courses
Events
Journals
People
Products
Projects
Publications
Talks
Theses
en
Page Actions:
Export
▼
:
Export as PDF
More actions
▼
:
Print preview
View Source
APICe
»
Talks
»
Speaker Index
Wiki source code of
Speaker Index
Hide line numbers
1: #includeMacros("Main.MacroSheet") 2: #includeMacros("Talks.MacroSheet") 3: #includeMacros("People.MacroSheet") 4: 5: #if(!$authorFirstName)#set( $authorFirstName = "" )#end 6: #if(!$authorLastName)#set( $authorLastName = "" )#end 7: #if(!$oneAuthor)#set( $oneAuthor = false )#end 8: 9: #set( $userNamePar = $context.getRequest().getParameter("user") ) 10: #set( $firstNamePar = $context.getRequest().getParameter("name") ) 11: #set( $lastNamePar = $context.getRequest().getParameter("surname") ) 12: 13: #set( $userNameFull = "" ) 14: #if($userName) 15: #xwikiUserCompleteCheck($userName $userNameFull) 16: #else 17: #if($userNamePar) 18: #xwikiUserCompleteCheck($userNamePar $userNameFull) 19: #end 20: #end 21: 22: #if($userNameFull != "") 23: #set($userdoc = $xwiki.getDocument($userNameFull)) 24: #set( $authorFirstName = $userdoc.display("first_name") ) 25: #set( $authorLastName = $userdoc.display("last_name")) 26: #set( $oneAuthor = true) 27: #else 28: #if($firstNamePar && $lastNamePar) 29: #set( $authorFirstName = $firstNamePar ) 30: #set( $authorLastName = $lastNamePar ) 31: #set( $oneAuthor = true) 32: #end 33: #end 34: 35: <a name="top"> </a> 36: 37: #if($oneAuthor) 38: 1 $authorFirstName $authorLastName's Co-Authors Index 39: #else 40: 1 Authors's Index 41: #end 42: 43: #set ($sql = ", BaseObject as obj, LargeStringProperty as prop, StringProperty as prop1 44: where 45: obj.name=doc.fullName and 46: obj.className='Talks.TalkClass' and 47: obj.name<>'Talks.TalkClassTemplate' and 48: prop.id.id=obj.id and 49: prop1.id.id=obj.id and 50: ((prop.name='authors' and 51: prop.value like '%$userNameFull%') or 52: (prop1.name='externalAuthors' and 53: prop1.value like '%$authorLastName, $authorFirstName%')) 54: ") 55: 56: #set($talkDocList = $xwiki.searchDocuments($sql)) 57: #set($talksNo = $talkDocList.size()) 58: 59: #set($authorMap = $xwiki.getHashMap()) 60: #set($authorArrayList = $xwiki.getArrayList()) 61: #set($letterMap = $xwiki.getHashMap()) 62: 63: #if($talksNo > 0) 64: #foreach ($talk in $talkDocList) 65: #set($talkDoc=$xwiki.getDocument($talk)) 66: #set($talkObj=$talkDoc.getObject("Talks.TalkClass")) 67: #if ($talkObj.authors != "") 68: #foreach ($author in $talkObj.authors.split(',')) 69: #set($authorName= "#userLastname($author), #userFirstname($author)") 70: #### build the author list 71: #if (!$authorArrayList.contains($authorName)) 72: #set($noprintvar = $authorArrayList.add($authorName)) 73: #end 74: #### build the author hash table 75: #if (!$authorMap.get($authorName)) 76: $!authorMap.put($authorName, $xwiki.getArrayList()) 77: #end 78: #set($noprintvar = $authorMap.get($authorName).add($talk)) 79: #### build the per-letter hash tables 80: #set($firstLetter = $authorName.substring(0,1).toUpperCase()) 81: #if (!$letterMap.get($firstLetter)) 82: $!letterMap.put($firstLetter, true) 83: #end 84: #end 85: #end 86: #if ($talkObj.externalAuthors != "") 87: #foreach ($authorName in $talkObj.externalAuthors.split('( and | AND )')) 88: #### build the author list 89: #if (!$authorArrayList.contains($authorName)) 90: #set($noprintvar = $authorArrayList.add($authorName)) 91: #end 92: #### build the author hash table 93: #if (!$authorMap.get($authorName)) 94: $!authorMap.put($authorName, $xwiki.getArrayList()) 95: #end 96: #set($noprintvar = $authorMap.get($authorName).add($talk)) 97: #### build the per-letter hash tables 98: #set($firstLetter = $authorName.substring(0,1).toUpperCase()) 99: #if (!$letterMap.get($firstLetter)) 100: $!letterMap.put($firstLetter, true) 101: #end 102: #end 103: #end 104: #end 105: #set($authorNo=$authorArrayList.size()) 106: #set($sortedAuthorList=$xwiki.sort($authorArrayList)) 107: #end 108: 109: The following page indexes #if($oneAuthor) $authorFirstName $authorLastName's #end talks in the #apice() space ~~by author~~. 110: Currently, the #apice() space contains $talksNo #if($oneAuthor) $authorFirstName $authorLastName's #end talks by *$authorNo* #if($oneAuthor)co-authors. #else authors. #end 111: 112: ---- 113: <div> 114: #foreach ($firstLetter in ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]) 115: #if ($velocityCount > 1) | #end 116: #if ($letterMap.get($firstLetter)) 117: <a href="#$firstLetter">$firstLetter</a> 118: #else 119: $firstLetter 120: #end 121: #end 122: </div> 123: ---- 124: 125: <table width="100%"> 126: #foreach ($author in $sortedAuthorList) 127: #set($firstLetter = $author.substring(0,1).toUpperCase()) 128: #if ($letterMap.get($firstLetter)) 129: #set($noprintvar = $letterMap.put($firstLetter,false)) 130: <tr><th align="left" ><a name="$firstLetter"> $firstLetter </a></th><th align="right"><a href="#top">{pre}[{/pre}top{pre}]{/pre}</a></th></tr> 131: #end 132: #set($authorTalkList = $authorMap.get($author)) 133: #set($sortedAuthorTalkList = $xwiki.sort($authorTalkList)) 134: <tr valign="top"><td> $author </td><td>#foreach ($talk in $sortedAuthorTalkList) #if ($velocityCount > 1) | #end [$talk] #end</td></tr> 135: #end 136: </table>
Talks
Home
Search
Tags
All
Users
Roberta Calegari
Giovanni Ciatto
Enrico Denti
Stefano Mariani
Ambra Molesini
Sara Montagna
Andrea Omicini
Danilo Pianini
Alessandro Ricci
Mirko Viroli
Views
Per Year
Per Category
Indexes
Authors
Speakers
Other
MoK
SODA
MEnSA
SAPERE