General Actions:
Log-in
Register
Wiki:
games
▼
:
Document Index
»
Space:
NameManager
▼
:
Document Index
»
Page:
WebHome
Search
en
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Name Manager
Wiki source code of
Name Manager
Last modified by
Adam Hattrell
on 2008/06/01 19:35
Content
·
Comments
(0)
·
Annotations
(0)
·
Attachments
(0)
·
History
·
Information
Hide line numbers
1: #macro (capital $word) #set ($firstLetter = "$word.charAt(0)") #set ($upperFirst = $firstLetter.toUpperCase()) ${upperFirst}${word.substring(1)}#end 2: 3: #set($groovyObject = $xwiki.parseGroovyFromPage("Groovy.Random")) 4: #set ($dice = $groovyObject.getRandom()) 5: 6: 1 Name Manager 7: 8: This space is used to manage NPC names. 9: 10: * [NameClass] 11: * [NameClassSheet] 12: * [NameClassTemplate] 13: 14: 1.1 Random Name 15: 16: ## Get First Name 17: #set ($pageDoc = $xwiki.getDocument("ModernFirstNames.all")) 18: #set ($names = $pageDoc.getObjects("NameManager.NameClass")) 19: #set ($pick = $dice.nextInt($names.size())) 20: #set ($choice = $names.get($pick)) 21: #set ($firstName = $choice.get("name")) 22: ## Get Surname 23: #set ($sql = "select prop.value from BaseObject as obj, XWikiDocument as doc, StringProperty as prop where obj.name=doc.fullName and obj.id = prop.id.id and doc.web='ModernLastNames' and obj.className='NameManager.NameClass' and obj.name<>'NameManager.NameClassTemplate' and prop.id.name='name'") 24: #set ($names = $xwiki.search($sql)) 25: #set ($pick = $dice.nextInt($names.size())) 26: #set ($surname = $names.get($pick)) 27: 28: * #capital($firstName) #capital($surname) 29: 30: 1.1 Create a new Name Page 31: 32: <FORM> 33: Space: <input type="text" name="space" value="ModernLastNames" /> 34: Document: <input type="text" name="pageName" value="Title of your name Page"/> 35: <input type="submit" name="add" value="add"> 36: </FORM> 37: 38: ## 39: ## First deal with any create new Page requests 40: ## 41: #if ($request.getParameter("add")) 42: #set ($space = $request.getParameter("space")) 43: #set ($pageName = $request.getParameter("pageName")) 44: #set ($params = "template=NameManager.NameClassTemplate&sheet=1&parent=NameManager.WebHome") 45: #set ($redirect = $xwiki.getURL("${space}.${pageName}", "inline", $params)) 46: $response.sendRedirect($redirect) 47: #end 48: 49: 50: 1.1 Pages containing Names 51: 52: #set ($sql = ", BaseObject as obj where obj.name=doc.fullName and obj.className='NameManager.NameClass' and obj.name<>'NameManager.NameClassTemplate'") 53: 54: #set ($results = $xwiki.searchDocuments($sql)) 55: 56: #foreach ($item in $results) 57: #set ($namePage=$xwiki.getDocument(${item})) 58: * [$namePage.getName() in $namePage.getWeb()>$item] added by $xwiki.getLocalUserName($namePage.creator) 59: #end