Show last authors
1 {{include reference="Blog.BlogCode"/}}
2
3 {{velocity}}
4 ## In case this page is called from the blogPostCreate macro
5 #if ("$!targetBlogDoc" != '')
6 #set ($doc = $targetBlogDoc)
7 #end
8 {{html clean="false" wiki="true"}}
9 #set($name = "$!request.entryTitle.trim()")
10 #set($title = $name)
11 #if($name == '')
12 ## If there's also a form_token passed it means the user has entered an empty blog post title, let the user know about it!
13 #if ("$!request.form_token" != '')
14 {{error}}$services.localization.render('blog.post.titleEmptyError'){{/error}}
15
16 #end
17 ## First step, display the create form
18 #if($hasEdit)
19 $xwiki.jsx.use($blogScriptsDocumentName)##
20 #set($space = "$!request.entrySpace")
21 #if($space == '')
22 #set($space = $doc.space)
23 #end
24 <form action='$doc.getURL()' method="post" class="xformInline newBlogPostForm">
25 <div>
26 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
27 <input type="hidden" name="entrySpace" value="$!{escapetool.xml($services.rendering.escape($space,$doc.syntax))}"/>
28 #if($doc.getObject($blogCategoryClassname))
29 <input type="hidden" name="category" value="$services.rendering.escape(${escapetool.xml(${doc.fullName})}, $doc.syntax)"/>
30 #end
31 $services.icon.renderHTML('add')<label class="createPost" for="entryTitle">$services.localization.render('blog.post.createpost') </label>
32 <input type="text" id="entryTitle" name="entryTitle" size="30" placeholder="$services.localization.render('blog.post.title')"/> <span class="buttonwrapper">
33 <input type="submit" value="${escapetool.xml($services.localization.render('blog.post.create'))}" class="btn btn-success button"/></span>
34 </div>
35 </form>
36 #elseif("$!request.entryTitle" != '')## !hasEdit && form submitted
37 #template('accessdenied.vm')
38 #end## hasEdit
39 #else
40 ## Second step, form submitted, create the document
41 #set($space = "$!request.entrySpace")
42 #getBlogPostsLocation($space $blogPostsLocation)
43 #if($blogPostsLocation == '')
44 #set($blogPostsLocation = 'Main')
45 #end
46 ## Since XWiki 12.0RC1 it is possible to use a naming strategy at wiki level and the blog application should respect it.
47 #if("$!services.modelvalidation" != '' && $services.modelvalidation.configuration.useTransformation())
48 #set($name = $services.modelvalidation.transformName($name))
49 #else
50 ## Remove . and : from the document name, as they have a special meaning in XWiki document names
51 #set($name = $name.replaceAll('[.:]', ''))
52 #end
53 #set($blogPostsLocationReference = $services.model.resolveSpace($blogPostsLocation))
54 #set($postDocRef = $services.model.createDocumentReference($name, $blogPostsLocationReference))
55 ## Make sure blog name is new
56 #if($xwiki.exists($postDocRef))
57 #set($name = $xwiki.getUniquePageName($blogPostsLocation, $name))
58 #set($postDocRef = $services.model.createDocumentReference($name, $blogPostsLocationReference))
59 #end
60 ## Get the target blog document, to set it as the parent
61 #getBlogDocument($space $blogDoc)
62 #set($parent = "$!{escapetool.url($blogDoc.fullName)}")
63 #set($title = "$!{escapetool.url($title)}")
64 #set($category = "")
65 #if("$!request.category" != '')
66 #set($category = "&${blogPostClassname}_${blogPostObjectNumber}_category=${escapetool.url(${request.category})}")
67 #end
68 $response.sendRedirect($xwiki.getURL($postDocRef, 'edit', "template=${blogPostTemplate}&parent=${parent}&title=${title}&${blogPostClassname}_0_title=${title}$!{category}&form_token=$!{request.getParameter('form_token')}"))
69 #end## name == ''
70 {{/html}}
71 {{/velocity}}

Child Pages

Page Tree