Wiki source code of CreateNewWiki3
Last modified by Ludovic Dubost on 2009/07/03 12:22
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | ############################################################################################ | ||
| 2 | ## Create a new wiki with initial minimum informations step by step or in one page. | ||
| 3 | ## | ||
| 4 | ## Can use URL parameters : | ||
| 5 | ## -doc | ||
| 6 | ## 0 : Just show input and properties names | ||
| 7 | ## 1 : Print documentation for each field | ||
| 8 | ## -stepbystep | ||
| 9 | ## 0 : All informations in one page and create button | ||
| 10 | ## 1 : Step by step based on javascript | ||
| 11 | ## | ||
| 12 | ############################################################################################ | ||
| 13 | ## PLUGINS DEPENDANCIES | ||
| 14 | #set ($WikiManager = $xwiki.wikimanager) | ||
| 15 | #if (!$WikiManager) | ||
| 16 | #error($msg.get("wikimanager.pluginnotenabled")) | ||
| 17 | #end | ||
| 18 | #if (!$xwiki.applicationmanager) | ||
| 19 | #error($msg.get("xapp.pluginnotenabled")) | ||
| 20 | #end | ||
| 21 | #if(!$xwiki.isVirtualMode()) | ||
| 22 | #error($msg.get("wikimanager.notinvirtualmode")) | ||
| 23 | #end | ||
| 24 | ############################################################################################ | ||
| 25 | ## MACROS | ||
| 26 | #macro(getRequestList $paramlist $paramname) | ||
| 27 | #set ($paramtable = []) | ||
| 28 | #set ($paramtable = $request.getParameterValues($paramname)) | ||
| 29 | #if ($paramtable) | ||
| 30 | #set ($paramlist = []) | ||
| 31 | #foreach($paramvalue in $paramtable) | ||
| 32 | #set ($ok = $paramlist.add($paramvalue)) | ||
| 33 | #end | ||
| 34 | #end | ||
| 35 | #end | ||
| 36 | ## | ||
| 37 | #macro(printUsersAndGroups $users $groups $rightlevel $userlist $grouplist $hidden) | ||
| 38 | <select #if ($hidden) type="hidden" #end name="${rightlevel}users" id="${rightlevel}users" multiple="multiple"> | ||
| 39 | #foreach ($user in $users) | ||
| 40 | #if ($context.database == $context.mainWikiName) #set ($user = "${context.mainWikiName}:${user}") #end | ||
| 41 | <option value="$user" #if ($userlist && $userlist.contains($user)) selected="selected" #end>$xwiki.getUserName($user, $util.null, false)</option> | ||
| 42 | #end | ||
| 43 | </select> | ||
| 44 | <select #if ($hidden) type="hidden" #end name="${rightlevel}groups" id="${rightlevel}groups" multiple="multiple"> | ||
| 45 | #foreach ($group in $groups) | ||
| 46 | #if ($context.database == $context.mainWikiName) #set ($group = "${context.mainWikiName}:${group}") #end | ||
| 47 | #set ($pointindex = $group.indexOf(".") + 1) | ||
| 48 | <option value="$group" #if ($grouplist && $grouplist.contains($group)) selected="selected" #end>$group.substring($pointindex)</option> | ||
| 49 | #end | ||
| 50 | </select> | ||
| 51 | #end | ||
| 52 | ## | ||
| 53 | #macro(addRights $prefdoc $userlist $grouplist $rights $needsave) | ||
| 54 | #set ($users = "") | ||
| 55 | #foreach($user in $userlist) | ||
| 56 | #if ($users != "") | ||
| 57 | #set ($users = "${users},${user}") | ||
| 58 | #else | ||
| 59 | #set ($users = $user) | ||
| 60 | #end | ||
| 61 | #end | ||
| 62 | #set ($groups = "") | ||
| 63 | #foreach($group in $grouplist) | ||
| 64 | #if ($groups != "") | ||
| 65 | #set ($groups = "${groups},${group}") | ||
| 66 | #else | ||
| 67 | #set ($groups = $group) | ||
| 68 | #end | ||
| 69 | #end | ||
| 70 | ## | ||
| 71 | #if (($users != "") || ($groups != "")) | ||
| 72 | #set ($rightsobj = $prefdoc.newObject("XWiki.XWikiGlobalRights")) | ||
| 73 | ## | ||
| 74 | #set ($ok = $rightsobj.set("users", $users)) | ||
| 75 | #set ($ok = $rightsobj.set("groups", $groups)) | ||
| 76 | #set ($ok = $rightsobj.set("levels", $rights)) | ||
| 77 | #set ($ok = $rightsobj.set("allow", 1)) | ||
| 78 | ## | ||
| 79 | #set ($needsave = true) | ||
| 80 | #end | ||
| 81 | #end | ||
| 82 | ############################################################################################ | ||
| 83 | ## TOOLS | ||
| 84 | #set ($Exception = $WikiManager.DefaultException) | ||
| 85 | #set ($ALIASSUFFIX = "") | ||
| 86 | #set ($WSTEPID_INTRO = 0) ## Wiki creation introduction | ||
| 87 | #set ($WSTEPNAME_INTRO = "wstep_intro") | ||
| 88 | #set ($WSTEPID_WIKINAME = 1) ## Wiki name | ||
| 89 | #set ($WSTEPNAME_WIKINAME = "wstep_wikiname") | ||
| 90 | #set ($WSTEPID_WIKIDESC = 2) ## Wiki descriptor informations | ||
| 91 | #set ($WSTEPNAME_WIKIDESC = "wstep_wikidesc") | ||
| 92 | #set ($WSTEPID_DATAFROM = 3) ## Initialise wiki data from wiki template or XAR package | ||
| 93 | #set ($WSTEPNAME_DATAFROM = "wstep_datafrom") | ||
| 94 | #set ($WSTEPID_USERS = 4) ## Preregistered users | ||
| 95 | #set ($WSTEPNAME_USERS = "wstep_users") | ||
| 96 | #set ($WSTEPID_SUMMARY = 5) ## Summary be fore create | ||
| 97 | #set ($WSTEPNAME_SUMMARY = "wstep_summary") | ||
| 98 | #set ($WSTEPLIST = [$WSTEPNAME_INTRO, $WSTEPNAME_WIKINAME, $WSTEPNAME_WIKIDESC, $WSTEPNAME_DATAFROM, $WSTEPNAME_USERS, $WSTEPNAME_SUMMARY]) | ||
| 99 | #set ($ISWIKINAMEAVAILABLE = $xwiki.getDocument("WikiCode.IsWikiOrDatabaseAvailableService").externalURL) | ||
| 100 | #set ($MSG_ERROR_WIKIALREADYEXISTS = "<div class=\"errormessage\"><span class=\"messagetype\">$msg.get('error'): </span>$msg.get('wikimanager.wikiname.error.wikialreadyexists')</div>") | ||
| 101 | #set ($MSG_WARNING_DATABASEALREADYEXISTS = "<div class=\"warningmessage\"><span class=\"messagetype\">$msg.get('warning'): </span>$msg.get('wikimanager.wikiname.error.databasealreadyexists')</div>") | ||
| 102 | #set ($MSG_ERROR_DATABASEALREADYEXISTS = "<div class=\"errormessage\"><span class=\"messagetype\">$msg.get('error'): </span>$msg.get('wikimanager.wikiname.error.databasealreadyexists')</div>") | ||
| 103 | #set ($MSG_ERROR_WIKINAMEALREADYUSED = "<div class=\"errormessage\"><span class=\"messagetype\">$msg.get('error'): </span>$msg.get('wikimanager.wikiname.error.alreadyused')</div>") | ||
| 104 | #set ($MSG_ERROR_WIKINAMEEMPTY = "<div class=\"errormessage\"><span class=\"messagetype\">$msg.get('error'): </span>$msg.get('wikimanager.wikiname.error.empty')</div>") | ||
| 105 | #set ($MSG_INFO_WIKINAMEVALID = "<div class=\"infomessage\"><span class=\"messagetype\">$msg.get('info'): </span>$msg.get('wikimanager.wikiname.info.valid')</div>") | ||
| 106 | ## | ||
| 107 | ############################################################################################ | ||
| 108 | ## REQUEST PARAMETERS | ||
| 109 | #if ($request.stepbystep) | ||
| 110 | #set ($wstepbystep = $request.stepbystep) | ||
| 111 | #end | ||
| 112 | #if ($request.doc && $request.doc == "1") | ||
| 113 | #set ($documentation = 1) | ||
| 114 | #end | ||
| 115 | ## | ||
| 116 | #set ($wikidocument = $WikiManager.createWikiDocument()) | ||
| 117 | #set ($wikidocumentobject = $wikidocument.updateObjectFromRequest("XWiki.XWikiServerClass")) | ||
| 118 | ## | ||
| 119 | #if ($request.actioncreate) | ||
| 120 | #set ($action = "create") | ||
| 121 | #else | ||
| 122 | #set ($action = $request.getParameter("action")) | ||
| 123 | #end | ||
| 124 | ## | ||
| 125 | #set ($wikiname = $request.getParameter("wikiname")) | ||
| 126 | #set ($wikitemplate = $request.getParameter("wikitemplate")) | ||
| 127 | #set ($wikipackage = $request.getParameter("wikipackage")) | ||
| 128 | #if ($wikidocument.owner == "") | ||
| 129 | $wikidocument.set("owner", $context.user) | ||
| 130 | #end | ||
| 131 | #if ($wikidocument.server == "" && $wikiname && $wikiname != "") | ||
| 132 | $wikidocument.set("server", "${wikiname}.${DOMAINNAME}") | ||
| 133 | #end | ||
| 134 | ## | ||
| 135 | #getRequestList($readeruserlist "readersusers") | ||
| 136 | #getRequestList($readergrouplist "readersgroups") | ||
| 137 | #getRequestList($writeruserlist "writersusers") | ||
| 138 | #getRequestList($writergrouplist "writersgroups") | ||
| 139 | #getRequestList($adminuserlist "adminsusers") | ||
| 140 | #getRequestList($admingrouplist "adminsgroups") | ||
| 141 | #if ($request.forcewikiname && $request.forcewikiname == 'on') | ||
| 142 | #set ($failonexist = false) | ||
| 143 | #else | ||
| 144 | #set ($failonexist = true) | ||
| 145 | #end | ||
| 146 | ## | ||
| 147 | ############################################################################# | ||
| 148 | ## | ||
| 149 | 1 $msg.get("wikimanager.createwiki") | ||
| 150 | #if ($wstepbystep) | ||
| 151 | [$msg.get("wikimanager.action.createwiki.nonstepbystep")>CreateNewWiki#if($documentation)?doc=1#end] | ||
| 152 | #else | ||
| 153 | [$msg.get("wikimanager.action.createwiki.stepbystep")>CreateNewWiki?stepbystep=0&#if($documentation)doc=1#end] | ||
| 154 | #end | ||
| 155 | ## | ||
| 156 | #if ($action && $action == "create") | ||
| 157 | #set ($result = $WikiManager.createNewWiki($wikiname, $wikitemplate, $wikipackage, $wikidocument, $failonexist)) | ||
| 158 | ## | ||
| 159 | #if ($result == $Exception.ERROR_NOERROR) | ||
| 160 | ## Init new wiki global rights | ||
| 161 | #set ($currentwiki = $context.database) | ||
| 162 | #set ($ok = $context.setDatabase($wikidocument.wikiName)) | ||
| 163 | ## | ||
| 164 | #set ($prefdoc = $xwiki.getDocument("XWiki.XWikiPreferences")) | ||
| 165 | ## | ||
| 166 | #set ($needsave = false) | ||
| 167 | ## | ||
| 168 | #addRights($prefdoc $readeruserlist $readergrouplist "view, comment" $needsave) | ||
| 169 | #addRights($prefdoc $writeruserlist $writergrouplist "edit, view, comment" $needsave) | ||
| 170 | #addRights($prefdoc $adminuserlist $admingrouplist "admin" $needsave) | ||
| 171 | ## | ||
| 172 | #if ($needsave) | ||
| 173 | $prefdoc.save() | ||
| 174 | #end | ||
| 175 | ## | ||
| 176 | #set ($ok = $context.setDatabase($currentwiki)) | ||
| 177 | ## | ||
| 178 | #info($msg.get("wikimanager.successcreatewiki", [$wikiname, $wikidocument.getHomePageUrl()])) | ||
| 179 | #else | ||
| 180 | #if ($result == $Exception.ERROR_WM_WIKIALREADYEXISTS) | ||
| 181 | #error($msg.get("wikimanager.errorcreatewiki.ERROR_WM_WIKIALREADYEXISTS", [$wikiname, $result])) | ||
| 182 | #else | ||
| 183 | #error($msg.get("wikimanager.errorcreatewiki", [$wikiname, $context.lastexception])) | ||
| 184 | #end | ||
| 185 | #end | ||
| 186 | #end | ||
| 187 | ## | ||
| 188 | ############################################################################# | ||
| 189 | ## | ||
| 190 | {pre} | ||
| 191 | <script type="text/javascript"> | ||
| 192 | // <![CDATA[ | ||
| 193 | var domainnamesetted = false; | ||
| 194 | var prettynamesetted = false; | ||
| 195 | var lastwikiname; | ||
| 196 | #if ($wstepbystep) | ||
| 197 | var steps = new Array(#foreach ($wstep in $WSTEPLIST)#if ($velocityCount > 1), #end"$wstep"#end) | ||
| 198 | var currentstep = $wstepbystep; | ||
| 199 | |||
| 200 | function getUsersGroupsValue(users, groups) | ||
| 201 | { | ||
| 202 | var str = ""; | ||
| 203 | |||
| 204 | if (users.value != "" || users.value != "") { | ||
| 205 | str = "<ul class=\"star\">"; | ||
| 206 | |||
| 207 | if (users.value != "") | ||
| 208 | str += "<li>Users: " + users.value + "<\/li>" | ||
| 209 | if (groups.value != "") | ||
| 210 | str += "<li>Groups: " + groups.value + "<\/li>" | ||
| 211 | |||
| 212 | str += "<\/ul>"; | ||
| 213 | } | ||
| 214 | |||
| 215 | return str; | ||
| 216 | } | ||
| 217 | |||
| 218 | function refreshSummary() | ||
| 219 | { | ||
| 220 | $("summarywikiname").innerHTML = "<p>" + $("wikiname").value + "<\/p>"; | ||
| 221 | $("summarywikiprettyname").innerHTML = "<p>" + $("XWiki.XWikiServerClass_0_wikiprettyname").value + "<\/p>"; | ||
| 222 | $("summarywikidesc").innerHTML = "<p>" + $("XWiki.XWikiServerClass_0_description").value + "<\/p>"; | ||
| 223 | $("summarywikidomain").innerHTML = "<p>" + $("XWiki.XWikiServerClass_0_server").value + "<\/p>"; | ||
| 224 | $("summarywikiadmin").innerHTML = "<p>" + $("XWiki.XWikiServerClass_0_owner").value + "<\/p>"; | ||
| 225 | $("summarywikitemplate").innerHTML = "<p>" + $("wikitemplate").value + "<\/p>"; | ||
| 226 | $("summarywikipackage").innerHTML = "<p>" + $("wikipackage").value + "<\/p>"; | ||
| 227 | $("summaryreaders").innerHTML = getUsersGroupsValue($("readersusers"), $("readersgroups")); | ||
| 228 | $("summarywriters").innerHTML = getUsersGroupsValue($("writersusers"), $("writersgroups")); | ||
| 229 | $("summaryadmins").innerHTML = getUsersGroupsValue($("adminsusers"), $("adminsgroups")); | ||
| 230 | } | ||
| 231 | |||
| 232 | function showStep() | ||
| 233 | { | ||
| 234 | for (var i = 0; i < steps.length; ++i) { | ||
| 235 | if (i != currentstep) | ||
| 236 | addClass($(steps[i]), "hidden"); | ||
| 237 | else | ||
| 238 | rmClass($(steps[i]), "hidden"); | ||
| 239 | } | ||
| 240 | |||
| 241 | if (currentstep > 0) | ||
| 242 | rmClass($("actionprevious"), "hidden"); | ||
| 243 | else | ||
| 244 | addClass($("actionprevious"), "hidden"); | ||
| 245 | |||
| 246 | if (currentstep < steps.length-1) { | ||
| 247 | rmClass($("actionnext"), "hidden"); | ||
| 248 | addClass($("actioncreate"), "hidden"); | ||
| 249 | } else { | ||
| 250 | addClass($("actionnext"), "hidden"); | ||
| 251 | rmClass($("actioncreate"), "hidden"); | ||
| 252 | |||
| 253 | refreshSummary(); | ||
| 254 | } | ||
| 255 | } | ||
| 256 | |||
| 257 | function goNext() | ||
| 258 | { | ||
| 259 | ++currentstep; | ||
| 260 | showStep(); | ||
| 261 | } | ||
| 262 | |||
| 263 | function goPrevious() | ||
| 264 | { | ||
| 265 | --currentstep; | ||
| 266 | showStep(); | ||
| 267 | } | ||
| 268 | |||
| 269 | #end | ||
| 270 | |||
| 271 | function validateWikiName() | ||
| 272 | { | ||
| 273 | $('wikiname').value = noaccent($('wikiname').value).toLowerCase(); | ||
| 274 | |||
| 275 | var wikiname = $('wikiname').value; | ||
| 276 | |||
| 277 | if (lastwikiname == wikiname) | ||
| 278 | { | ||
| 279 | return; | ||
| 280 | } | ||
| 281 | |||
| 282 | lastwikiname = wikiname; | ||
| 283 | |||
| 284 | if (wikiname && wikiname != "") | ||
| 285 | { | ||
| 286 | $('wikinamevalidation').innerHTML = "$MSG_ERROR_WIKINAMEEMPTY"; | ||
| 287 | |||
| 288 | var surl = "$ISWIKINAMEAVAILABLE" + "?xpage=plain&ajax=1&wikiname=" + escape(wikiname); | ||
| 289 | new Ajax.Request(surl, | ||
| 290 | { | ||
| 291 | method: 'get', | ||
| 292 | onSuccess: function(transport) { | ||
| 293 | var hideForceWikiName = true; | ||
| 294 | |||
| 295 | if (transport.responseText == "true") | ||
| 296 | { | ||
| 297 | $('wikinamevalidation').innerHTML = "$MSG_INFO_WIKINAMEVALID"; | ||
| 298 | $('actioncreatebutton').disabled = false; | ||
| 299 | } | ||
| 300 | else if (transport.responseText == "database") | ||
| 301 | { | ||
| 302 | hideForceWikiName = false; | ||
| 303 | |||
| 304 | forceWikiNameChanged(); | ||
| 305 | } | ||
| 306 | else if (transport.responseText == "wiki") | ||
| 307 | { | ||
| 308 | $('wikinamevalidation').innerHTML = "$MSG_ERROR_WIKIALREADYEXISTS"; | ||
| 309 | $('actioncreatebutton').disabled = true; | ||
| 310 | } | ||
| 311 | else | ||
| 312 | { | ||
| 313 | $('wikinamevalidation').innerHTML = "$MSG_ERROR_WIKINAMEALREADYUSED"; | ||
| 314 | $('actioncreatebutton').disabled = true; | ||
| 315 | } | ||
| 316 | |||
| 317 | if (hideForceWikiName) | ||
| 318 | { | ||
| 319 | addClass($('forcewikinamediv'), "hidden"); | ||
| 320 | } | ||
| 321 | else | ||
| 322 | { | ||
| 323 | rmClass($('forcewikinamediv'), "hidden"); | ||
| 324 | } | ||
| 325 | } | ||
| 326 | }); | ||
| 327 | } | ||
| 328 | else | ||
| 329 | { | ||
| 330 | $('wikinamevalidation').innerHTML = "$MSG_ERROR_WIKINAMEEMPTY"; | ||
| 331 | $('actioncreatebutton').disabled = true; | ||
| 332 | addClass($('forcewikinamediv'), "hidden"); | ||
| 333 | } | ||
| 334 | } | ||
| 335 | |||
| 336 | function forceWikiNameChanged() | ||
| 337 | { | ||
| 338 | if ($('forcewikiname').checked == true) | ||
| 339 | { | ||
| 340 | $('wikinamevalidation').innerHTML = "$MSG_WARNING_DATABASEALREADYEXISTS"; | ||
| 341 | $('actioncreatebutton').disabled = false; | ||
| 342 | } | ||
| 343 | else | ||
| 344 | { | ||
| 345 | $('wikinamevalidation').innerHTML = "$MSG_ERROR_DATABASEALREADYEXISTS"; | ||
| 346 | $('actioncreatebutton').disabled = true; | ||
| 347 | } | ||
| 348 | } | ||
| 349 | |||
| 350 | function wikiNameChanged() | ||
| 351 | { | ||
| 352 | validateWikiName(); | ||
| 353 | |||
| 354 | if (domainnamesetted == false) { | ||
| 355 | $("XWiki.XWikiServerClass_0_server").value = $("wikiname").value + "$ALIASSUFFIX"; | ||
| 356 | } | ||
| 357 | |||
| 358 | if (prettynamesetted == false) { | ||
| 359 | $("XWiki.XWikiServerClass_0_wikiprettyname").value = $("wikiname").value.substring(0,1).toUpperCase() + $("wikiname").value.substring(1); | ||
| 360 | } | ||
| 361 | } | ||
| 362 | |||
| 363 | function domainNameChanged() | ||
| 364 | { | ||
| 365 | domainnamesetted = true; | ||
| 366 | } | ||
| 367 | |||
| 368 | function prettyNameChanged() | ||
| 369 | { | ||
| 370 | prettynamesetted = true; | ||
| 371 | } | ||
| 372 | |||
| 373 | function validate() | ||
| 374 | { | ||
| 375 | } | ||
| 376 | // ]]> | ||
| 377 | </script> | ||
| 378 | {/pre} | ||
| 379 | <form method="get" action="" id="wikicreationform"> | ||
| 380 | #if ($wstepbystep) | ||
| 381 | <div id="$WSTEPNAME_INTRO"> | ||
| 382 | ##1.1 $msg.get("wikimanager.title.createwiki.intro") | ||
| 383 | <p>$msg.get("wikimanager.doc.createwiki.intro")</p> | ||
| 384 | </div> | ||
| 385 | #end | ||
| 386 | ## | ||
| 387 | ############################################################################# | ||
| 388 | ## | ||
| 389 | <div id="$WSTEPNAME_WIKINAME"> | ||
| 390 | #if ($wstepbystep) | ||
| 391 | 1.1 $msg.get("wikimanager.title.createwiki.wikiname") | ||
| 392 | #end | ||
| 393 | <table> | ||
| 394 | <tr> | ||
| 395 | <td> | ||
| 396 | <dl> | ||
| 397 | <dt>$msg.get("wikimanager.prop.wiki.wikiname")</dt> | ||
| 398 | <dd> | ||
| 399 | <input size="40" id="wikiname" name="wikiname" type="text" onchange="wikiNameChanged();" onkeyup="wikiNameChanged();" /> | ||
| 400 | <br /> | ||
| 401 | <div id="wikinamevalidation"></div> | ||
| 402 | <div id="forcewikinamediv"><input id="forcewikiname" name="forcewikiname" type="checkbox" #if ($failonexist == false)checked="true"#end onchange="forceWikiNameChanged();"/>$msg.get("wikimanager.wikiname.force")</div> | ||
| 403 | </dd> | ||
| 404 | </dl> | ||
| 405 | </td> | ||
| 406 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.wikiname")</td> #end | ||
| 407 | </tr> | ||
| 408 | </table> | ||
| 409 | </div> | ||
| 410 | ## | ||
| 411 | ############################################################################# | ||
| 412 | ## | ||
| 413 | <div id="$WSTEPNAME_WIKIDESC"> | ||
| 414 | #if ($wstepbystep) | ||
| 415 | 1.1 $msg.get("wikimanager.title.createwiki.desc") | ||
| 416 | #if ($documentation) $msg.get("wikimanager.doc.createwiki.desc") #end | ||
| 417 | #end | ||
| 418 | <table> | ||
| 419 | <tr> | ||
| 420 | <td> | ||
| 421 | <dl> | ||
| 422 | <dt>$msg.get("wikimanager.prop.wiki.wikiprettyname")</dt> | ||
| 423 | <dd><input size="40" id="XWiki.XWikiServerClass_0_wikiprettyname" name="XWiki.XWikiServerClass_0_wikiprettyname" type="text" onchange="prettyNameChanged();" /></dd> | ||
| 424 | </dl> | ||
| 425 | </td> | ||
| 426 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.desc.wikiprettyname")</td> #end | ||
| 427 | </tr> | ||
| 428 | <tr> | ||
| 429 | <td> | ||
| 430 | <dl> | ||
| 431 | <dt>$msg.get("wikimanager.prop.wiki.description")</dt> | ||
| 432 | <dd>$wikidocument.display("description", "edit")</dd> | ||
| 433 | </dl> | ||
| 434 | </td> | ||
| 435 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.desc.description")</td> #end | ||
| 436 | </tr> | ||
| 437 | <tr> | ||
| 438 | <td> | ||
| 439 | <dl> | ||
| 440 | <dt>$msg.get("wikimanager.prop.wiki.server")</dt> | ||
| 441 | <dd><input size="40" id="XWiki.XWikiServerClass_0_server" name="XWiki.XWikiServerClass_0_server" type="text" onchange="domainNameChanged();" /></dd> | ||
| 442 | </dl> | ||
| 443 | </td> | ||
| 444 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.desc.server.creation", [$ALIASSUFFIX])</td> #end | ||
| 445 | </tr> | ||
| 446 | <tr> | ||
| 447 | <td> | ||
| 448 | <dl> | ||
| 449 | <dt>$msg.get("wikimanager.prop.wiki.owner")</dt> | ||
| 450 | <dd>$wikidocument.display("owner", "edit")</dd> | ||
| 451 | </dl> | ||
| 452 | </td> | ||
| 453 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.desc.owner")</td> #end | ||
| 454 | </tr> | ||
| 455 | </table> | ||
| 456 | </div> | ||
| 457 | ## | ||
| 458 | ############################################################################# | ||
| 459 | ## | ||
| 460 | <div id="$WSTEPNAME_DATAFROM"> | ||
| 461 | #if ($wstepbystep) | ||
| 462 | 1.1 $msg.get("wikimanager.title.createwiki.datafrom") | ||
| 463 | #if ($documentation) $msg.get("wikimanager.doc.createwiki.datafrom") #end | ||
| 464 | #end | ||
| 465 | <table> | ||
| 466 | <tr> | ||
| 467 | <td> | ||
| 468 | <dl> | ||
| 469 | <dt><label for="wikitemplate">$msg.get("wikimanager.wikitemplate")</label></dt> | ||
| 470 | <dd> | ||
| 471 | #set ($listtemplate=$WikiManager.getWikiTemplateList()) | ||
| 472 | <select #if($listtemplate.size() == 0)disabled="disabled"#end name="wikitemplate" id="wikitemplate"> | ||
| 473 | <option value="">---</option> | ||
| 474 | #foreach ($template in $listtemplate) | ||
| 475 | <option value="$template.wikiName">#if($template.wikiPrettyName != "")$template.wikiPrettyName#else$template.wikiName#end</option> | ||
| 476 | #end | ||
| 477 | </select> | ||
| 478 | </dd> | ||
| 479 | </dl> | ||
| 480 | </td> | ||
| 481 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.datafrom.template")</td> #end | ||
| 482 | </tr> | ||
| 483 | <tr> | ||
| 484 | <td> | ||
| 485 | <dl> | ||
| 486 | <dt><label for="wikipackage">$msg.get("wikimanager.wikipackage")</label></dt> | ||
| 487 | <dd> | ||
| 488 | #set ($listpackage=$doc.getAttachmentList()) | ||
| 489 | <select #if($listpackage.size() == 0)disabled="disabled"#end name="wikipackage" id="wikipackage"> | ||
| 490 | <option value="">---</option> | ||
| 491 | #foreach ($package in $listpackage) | ||
| 492 | <option value="$package.getFilename()">$package.getFilename()</option> | ||
| 493 | #end | ||
| 494 | </select> | ||
| 495 | </dd> | ||
| 496 | </dl> | ||
| 497 | </td> | ||
| 498 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.datafrom.package")</td> #end | ||
| 499 | </tr> | ||
| 500 | </table> | ||
| 501 | </div> | ||
| 502 | ## | ||
| 503 | ############################################################################# | ||
| 504 | ## | ||
| 505 | #set ($rightsmanager = $xwiki.rightsmanager) | ||
| 506 | #set ($users = $rightsmanager.usersApi.allGlobalUsersNames) | ||
| 507 | #set ($groups = $rightsmanager.groupsApi.allGlobalGroupsNames) | ||
| 508 | <div id="$WSTEPNAME_USERS"> | ||
| 509 | #if ($wstepbystep) | ||
| 510 | 1.1 $msg.get("wikimanager.title.createwiki.members") | ||
| 511 | #if ($documentation) $msg.get("wikimanager.doc.createwiki.members") #end | ||
| 512 | #end | ||
| 513 | <table> | ||
| 514 | <tr> | ||
| 515 | <td> | ||
| 516 | <dl> | ||
| 517 | <dt><label for="readersusers">$msg.get("wikimanager.readers")</label></dt> | ||
| 518 | <dd>#printUsersAndGroups($users $groups "readers" $readeruserlist $readergrouplist false)</dd> | ||
| 519 | </dl> | ||
| 520 | </td> | ||
| 521 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.members.readers")</td> #end | ||
| 522 | </tr> | ||
| 523 | <tr> | ||
| 524 | <td> | ||
| 525 | <dl> | ||
| 526 | <dt><label for="writersusers">$msg.get("wikimanager.writers")</label></dt> | ||
| 527 | <dd>#printUsersAndGroups($users $groups "writers" $writeruserlist $writergrouplist false)</dd> | ||
| 528 | </dl> | ||
| 529 | </td> | ||
| 530 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.members.writers")</td> #end | ||
| 531 | </tr> | ||
| 532 | <tr> | ||
| 533 | <td> | ||
| 534 | <dl> | ||
| 535 | <dt><label for="adminsusers">$msg.get("wikimanager.admins")</label></dt> | ||
| 536 | <dd>#printUsersAndGroups($users $groups "admins" $adminuserlist $admingrouplist false)</dd> | ||
| 537 | </dl> | ||
| 538 | </td> | ||
| 539 | #if ($documentation) <td>$msg.get("wikimanager.doc.createwiki.members.administrators")</td> #end | ||
| 540 | </tr> | ||
| 541 | </table> | ||
| 542 | </div> | ||
| 543 | ## | ||
| 544 | ############################################################################# | ||
| 545 | ## | ||
| 546 | #if ($wstepbystep) | ||
| 547 | <div id="$WSTEPNAME_SUMMARY"> | ||
| 548 | 1.1 $msg.get("wikimanager.title.createwiki.summary") | ||
| 549 | #if ($documentation) $msg.get("wikimanager.doc.createwiki.summary") #end | ||
| 550 | <table class="wiki-table" border="0" cellpadding="0" cellspacing="0"> | ||
| 551 | <tbody> | ||
| 552 | <tr><th>Properties</th><th>Values</th></tr> | ||
| 553 | <tr class="table-odd"><td>*$msg.get("wikimanager.prop.wiki.wikiname")*</td><td id="summarywikiname">---</td></tr> | ||
| 554 | <tr class="table-odd"><td>*$msg.get("wikimanager.prop.wiki.wikiprettyname")*</td><td id="summarywikiprettyname">---</td></tr> | ||
| 555 | <tr class="table-odd"><td>*$msg.get("wikimanager.prop.wiki.description")*</td><td id="summarywikidesc">---</td></tr> | ||
| 556 | <tr class="table-even"><td>*$msg.get("wikimanager.prop.wiki.server")*</td><td id="summarywikidomain">---</td></tr> | ||
| 557 | <tr class="table-odd"><td>*$msg.get("wikimanager.prop.wiki.owner")*</td><td id="summarywikiadmin">---</td></tr> | ||
| 558 | <tr class="table-odd"><td>*$msg.get("wikimanager.wikitemplate")*</td><td id="summarywikitemplate">---</td></tr> | ||
| 559 | <tr class="table-odd"><td>*$msg.get("wikimanager.wikipackage")*</td><td id="summarywikipackage">---</td></tr> | ||
| 560 | <tr class="table-odd"><td>*$msg.get("wikimanager.readers")*</td><td id="summaryreaders">---</td></tr> | ||
| 561 | <tr class="table-odd"><td>*$msg.get("wikimanager.writers")*</td><td id="summarywriters">---</td></tr> | ||
| 562 | <tr class="table-odd"><td>*$msg.get("wikimanager.admins")*</td><td id="summaryadmins">---</td></tr> | ||
| 563 | </tbody> | ||
| 564 | </table> | ||
| 565 | </div> | ||
| 566 | #end | ||
| 567 | ## | ||
| 568 | ############################################################################# | ||
| 569 | ## | ||
| 570 | <div> | ||
| 571 | #if ($wstepbystep) | ||
| 572 | <a href="javascript:void(0)" id="actionprevious" class="button" onclick="goPrevious();">${msg.get("wikimanager.action.previous")}</a> | ||
| 573 | | | ||
| 574 | <a href="javascript:void(0)" id="actionnext" class="button" onclick="goNext();">${msg.get("wikimanager.action.next")}</a> | ||
| 575 | #end | ||
| 576 | <div id="actioncreate"> | ||
| 577 | <br /> | ||
| 578 | #if ($request.stepbystep) <input type="hidden" name="stepbystep" value="$request.stepbystep" /> #end | ||
| 579 | #if ($request.doc) <input type="hidden" name="doc" value="$request.doc" /> #end | ||
| 580 | <input type="submit" id="actioncreatebutton" name="actioncreate" value="${msg.get("create")}" onclick="return validate();" /> | ||
| 581 | </div> | ||
| 582 | </div> | ||
| 583 | </form> | ||
| 584 | {pre} | ||
| 585 | <script type="text/javascript"> | ||
| 586 | // <![CDATA[ | ||
| 587 | validateWikiName() | ||
| 588 | |||
| 589 | #if ($wstepbystep) | ||
| 590 | showStep(); | ||
| 591 | |||
| 592 | if ($("XWiki.XWikiServerClass_0_server").value != "") | ||
| 593 | domainnamesetted = true; | ||
| 594 | |||
| 595 | if ($("XWiki.XWikiServerClass_0_wikiprettyname").value != "") | ||
| 596 | prettynamesetted = true; | ||
| 597 | #end | ||
| 598 | // ]]> | ||
| 599 | </script> | ||
| 600 | {/pre} |