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
Show line numbers
#macro (capital $word) #set ($firstLetter = "$word.charAt(0)") #set ($upperFirst = $firstLetter.toUpperCase()) ${upperFirst}${word.substring(1)}#end #set($groovyObject = $xwiki.parseGroovyFromPage("Groovy.Random")) #set ($dice = $groovyObject.getRandom()) 1 Name Manager This space is used to manage NPC names. * [NameClass] * [NameClassSheet] * [NameClassTemplate] 1.1 Random Name ## Get First Name #set ($pageDoc = $xwiki.getDocument("ModernFirstNames.all")) #set ($names = $pageDoc.getObjects("NameManager.NameClass")) #set ($pick = $dice.nextInt($names.size())) #set ($choice = $names.get($pick)) #set ($firstName = $choice.get("name")) ## Get Surname #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'") #set ($names = $xwiki.search($sql)) #set ($pick = $dice.nextInt($names.size())) #set ($surname = $names.get($pick)) * #capital($firstName) #capital($surname) 1.1 Create a new Name Page <FORM> Space: <input type="text" name="space" value="ModernLastNames" /> Document: <input type="text" name="pageName" value="Title of your name Page"/> <input type="submit" name="add" value="add"> </FORM> ## ## First deal with any create new Page requests ## #if ($request.getParameter("add")) #set ($space = $request.getParameter("space")) #set ($pageName = $request.getParameter("pageName")) #set ($params = "template=NameManager.NameClassTemplate&sheet=1&parent=NameManager.WebHome") #set ($redirect = $xwiki.getURL("${space}.${pageName}", "inline", $params)) $response.sendRedirect($redirect) #end 1.1 Pages containing Names #set ($sql = ", BaseObject as obj where obj.name=doc.fullName and obj.className='NameManager.NameClass' and obj.name<>'NameManager.NameClassTemplate'") #set ($results = $xwiki.searchDocuments($sql)) #foreach ($item in $results) #set ($namePage=$xwiki.getDocument(${item})) * [$namePage.getName() in $namePage.getWeb()>$item] added by $xwiki.getLocalUserName($namePage.creator) #end