Add new mask to create a blog + edit room with sample text.
authorWilfried Goesgens <willi@arangodb.com>
Thu, 31 Dec 2015 14:09:19 +0000 (15:09 +0100)
committerWilfried Goesgens <willi@arangodb.com>
Thu, 31 Dec 2015 14:09:19 +0000 (15:09 +0100)
webcit/static/t/menu/advanced_roomcommands.html
webcit/static/t/room/create_blog.html [new file with mode: 0644]
webcit/static/t/room/info_status_json.html [new file with mode: 0644]
webcit/static/t/room/result_json.html [new file with mode: 0644]
webcit/static/wclib.js

index 5d6d3fd489bcf439b66c3ccbc31a50f1303b1bff..e3fd0b7de3638aaa6d92f883768e56e34601de00 100644 (file)
@@ -4,6 +4,7 @@
 <?!("X", 1)>
 <li><a href="do_template?template=room_display_private"><?_("Go to a 'hidden' room")></a></li>
 <li><a href="do_template?template=room_create"><?_("Create a new room")></a></li>
+<li><a href="do_template?template=room_create_blog"><?_("Create a new (public) blog")></a></li>
 <li><a href="do_template?template=room_zap_this"><?_("Zap (forget) this room")></a></li>
 <li><a href="do_template?template=room_zapped_list"><?_("List all forgotten rooms")></a></li>
 <li><a href="javascript:TriggerLoadDupes()"><?_("Zap duplicate messages")></a> <span><?_("(Messages of similar subject, sender and date are moved to trash)")></span></li>
diff --git a/webcit/static/t/room/create_blog.html b/webcit/static/t/room/create_blog.html
new file mode 100644 (file)
index 0000000..d012a47
--- /dev/null
@@ -0,0 +1,95 @@
+<?!("COND:MAY_CREATE_ROOM", 10)>
+<?=("display_main_menu")>
+<?!("X", 10)>
+<??("COND:MAY_CREATE_ROOM", 11)>
+<?=("head")><?%("COND:LOGGEDIN", 1, 1, 1, "", ="paging")>
+<div id="banner">
+<?=("roombanner")>
+</div>
+
+<div id="content" class="service">
+<br>
+<?=("box_begin_1")><?_("Create a new blog")><?=("box_begin_2")>
+
+<form name="create_room_form" onsubmit="return false" action="entroom" >
+<input type="hidden" name="nonce" id="Nonce" value="<?NONCE>">
+<input type="hidden" name="er_view_blog" id="er_iew_blog" value="<?DEF:VAL(#"VIEW_BLOG")>">
+<input type="hidden" name="er_blog_markup_html" id="er_blog_markup_html" value="<?DEF:VAL(#"VIEW_WIKI")>">
+
+<div id="throbber" style="display: none;"><img src="static/throbber.gif" ></div>
+<div id="wikitext" style="display: none;"><?_("This is the new edit room for your blog")></div>
+<div id="wikipublish" style="display: none;"><?_("Once you've saved your edits, you can press 'publish' to make your writings visible in the blog.")></div>
+<div id="wikilinktext" style="display: none;"><?_("click this link to start your first article")></div>
+<div id="wikilinkmore" style="display: none;"><?_("Edit this page and copy plus edit the above to add more articles.")></div>
+<div id="wikilinkembedmedia" style="display: none;"><?_("You may link previously uploaded images like this:")> (<?_("assuming its name is test.jpg")>)</div>
+
+
+<table class="altern"> 
+
+<tr class="odd"><td><?_("Name of the blog: ")></td><td><input type="text" id="er_name" NAME="er_name" MAXLENGTH="127"><div id="er_name_fixed" style="display: none;"></div></td></tr>
+
+<tr class="even"><td><?_("Resides on floor: ")></td><td>
+
+
+<select name="er_floor" id="er_floor" size="1"><?ITERATE("LFLR", ="room_select_targetfloor")></select>
+<div id="er_floor_fixed" style="display: none;">xxx</div></td></tr>
+</table>
+<hr>
+<table class="altern"> 
+<tr class="odd"><td><?_("Default editor for blog: ")></td>
+<td>
+<?_("Articles will be published from wiki articles to the blog. Choose your prefered source wiki format:")>
+<select name="er_view" id="er_view" size="1">
+<?!("COND:ALLOWED_DEFAULT_VIEW", 1, #"VIEW_WIKI")><option value="<?DEF:VAL(#"VIEW_WIKI")>" <?%("COND:THISROOM:CURR_VIEW", 2, #"VIEW_WIKI", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_WIKI", "X")></option><??("X", 1)>
+<?!("COND:ALLOWED_DEFAULT_VIEW", 1, #"VIEW_WIKIMD")><option value="<?DEF:VAL(#"VIEW_WIKIMD")>" <?%("COND:THISROOM:CURR_VIEW", 2, #"VIEW_WIKIMD", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_WIKIMD", "X")></option><??("X", 1)>
+
+</select>
+<div id="er_view_fixed" style="display: none;">xxx</div></td></tr>
+<tr class="even"><td><?_("Type of edit room:")></td>
+<td>
+<ul class="adminlist">
+
+<li id="li_adminlist_passworded"><input id="adminlist_passworded" type="radio" NAME="type" VALUE="passworded" checked="false"> 
+<?_("Private - require password: ")>
+<input id="er_password" type="text" NAME="er_password" MAXLENGTH="9">
+</li>
+
+<li id="li_adminlist_invonly"><input id="adminlist_invonly" type="radio" NAME="type" VALUE="invonly" checked="true"> 
+<?_("Private - invitation only")>
+</li>
+
+</ul>
+</td></tr></table>
+
+<div id="create_buttons" class="buttons">
+<input type="submit" onclick="create_blog()" value="<?_('Create new blog')>">
+&nbsp;
+<input type="submit" name="cancel_button" value="<?_("Cancel")>">
+</div>
+</form><hr />
+
+
+<div id="edit_info" style="display: none;">
+<?_("Enter the room info below.")> <?_("The text is formatted to the reader's browser. A newline is forced by preceding the next line by a blank.")>
+<form method="post" action="editinfo">
+<input type="hidden" name="nonce" value="<?NONCE()>">
+<input type="hidden" name="template" value="room_info_status_json">
+<textarea name="msgtext" wrap=soft rows=10 cols=80 width=80><?THISROOM:INFOTEXT("X")></textarea>
+
+<div class="buttons" >
+<input type="submit" name="save_button" value="<?_('Save changes')>">
+&nbsp;
+<input type="submit" name="cancel_button" value="<?_('Cancel')>"><br>
+</div>
+
+</form>
+</div>
+
+
+<?SERV:MESG("roomaccess")>
+
+<?=("box_end")>
+</div>
+</div>
+<?=("trailing")>
+<??("X", 11)>
diff --git a/webcit/static/t/room/info_status_json.html b/webcit/static/t/room/info_status_json.html
new file mode 100644 (file)
index 0000000..bc7e54f
--- /dev/null
@@ -0,0 +1,3 @@
+{
+Message: "<?IMPORTANTMESSAGE('j')>"
+}
diff --git a/webcit/static/t/room/result_json.html b/webcit/static/t/room/result_json.html
new file mode 100644 (file)
index 0000000..b492f72
--- /dev/null
@@ -0,0 +1,4 @@
+{
+Message: "<?IMPORTANTMESSAGE('j')>",
+success: <?%("COND:BSTR", 1, "success", 1, "true", "false")>
+}
index 9c580060ad06884ed045a0a6fc51f94cc1156477..462b1f3db060df772ed57121051c1fad955270fc 100644 (file)
@@ -914,4 +914,234 @@ function toggle_wholist()
        return false;   /* this prevents the click from registering as a wholist button press */
 }
 
+function getBlogStartText(wikitype) {
+    var wikitext = document.getElementById("wikitext").innerHTML;
+    var wikipublish = document.getElementById("wikipublish").innerHTML;
+    var wikilinktext = document.getElementById("wikilinktext").innerHTML;
+    var wikilinkmore = document.getElementById("wikilinkmore").innerHTML;
+    var wikilinkembedmedia = document.getElementById("wikilinkembedmedia").innerHTML;
+    if (wikitype) {
+       return "<html><head></head><body>\n" +
+           "<h1>" + wikitext + "</h1>\n" + 
+           "<p>" + wikipublish + "</p>\n" +
+           "<a href='wiki?page=firstarticle'>" + wikilinktext + "</a>" +
+           "<p>" + wikilinkmore + "</p>\n" + 
+           "<p>" + wikilinkembedmedia + " </p>\n<p><img src='/download_file/test.jpg' alt=\"alttext\"></p>\n" + 
+           "</body></html>";
+    }
+    else {
+       return "#" + wikitext + "\n" + 
+           wikipublish + "\n\n" + 
+           "[" + wikilinktext + "](wiki?page=firstarticle)\n\n" +
+           wikilinkmore + "\n\n" + 
+           wikilinkembedmedia + "\n\n ![alttext](/download_file/test.jpg)";
+    }
+}
+
+function create_blog()
+{
+    var er_view_blog = document.getElementById('er_view_blog');
+    var Nonce = document.getElementById('Nonce');
+    var roomname = document.getElementById('er_name').value;
+    var editroomname = roomname + '\\edit';
+    var filePath = "files_" + roomname;
+    var floorID = document.getElementById('er_floor').value;
+
+    var selects = document.getElementById("er_floor");
+    var selectedFloor = selects.options[selects.selectedIndex].value;
+    var selectedFloorName = selects.options[selects.selectedIndex].text;
+
+    var vselects = document.getElementById("er_view");
+    var vselectedMarkup = vselects.options[vselects.selectedIndex].value;
+    var vselectedMarkupName = vselects.options[vselects.selectedIndex].text;
+
+    var adminPW = document.getElementById('adminlist_passworded').checked;
+
+    var passvoid = document.getElementById('er_password').value;
+    var roomtypeWiki = document.getElementById('er_blog_markup_html').value;
+
+    var isHtmlWiki = vselectedMarkup === roomtypeWiki;
+    var starttext = getBlogStartText(isHtmlWiki);
+
+
+    alert("atonehusnato " + roomname + "  " + starttext);
+
+    ToggleVisibility('er_password');
+    var type_edit;
+    if (adminPW) {
+       type_edit = document.getElementById('adminlist_passworded').value;
+       ToggleVisibility('li_adminlist_invonly');
+       ToggleVisibility('adminlist_passworded');
+       
+    }
+    else {
+       type_edit = document.getElementById('adminlist_invonly').value;
+       ToggleVisibility('adminlist_invonly');
+       ToggleVisibility('li_adminlist_passworded');
+    }
+
+    ToggleVisibility('er_floor');
+    document.getElementById('er_floor_fixed').innerHTML = selectedFloorName;
+    ToggleVisibility('er_floor_fixed');
+
+    ToggleVisibility('er_name');
+    document.getElementById('er_name_fixed').innerHTML = roomname;
+    ToggleVisibility('er_name_fixed');
+
+    ToggleVisibility('er_view');
+    document.getElementById('er_view_fixed').innerHTML = vselectedMarkupName;
+    ToggleVisibility('er_view_fixed');
+
+    ToggleVisibility('create_buttons');
+
+    ToggleVisibility('edit_info');
+    ToggleVisibility('throbber');
+    
+
+    var roomdata = {
+       create_blog_room: {
+           nonce:       Nonce,
+           er_name:     roomname,
+           type:        'public',
+           er_view:     er_view_blog,
+           er_floor:    floorID,
+           template:    "room_result_json",
+           ok_button:   1
+       },
+       setflags_blog_room: {
+           nonce:       Nonce,
+           er_name:     roomname,
+           go:          roomname,
+           type:        'public',
+           er_floor:    floorID,
+
+           directory:   "yes",
+           er_dirname:  filePath,
+           ulallowed:   "no",
+           dlallowed:   "yes",
+           ulmsg:       "no",
+           visdir:      "no",
+
+           anon:        "no",
+           last_tabsel: 1,
+           er_view:     er_view_blog,
+           template:    "room_result_json",
+           ok_button:   1
+       },
+       create_blog_edit_room: {
+           nonce:       Nonce,
+           er_name:     editroomname,
+           type:        type_edit,
+           er_view:     vselectedMarkup,
+           er_floor:    floorID,
+           er_password: passvoid,
+           template:    "room_result_json",
+           ok_button:   1
+       },
+       setflags_blog_edit_room: {
+           nonce:       Nonce,
+           er_name:     editroomname,
+           go:          editroomname,
+           type:        type_edit,
+           er_floor:    floorID,
+
+           directory:   "yes",
+           er_dirname:  filePath,
+           ulallowed:   "yes",
+           dlallowed:   "yes",
+           ulmsg:       "no",
+           visdir:      "yes",
+
+           anon:        "no",
+           last_tabsel: 1,
+           er_view:     er_view_blog,
+           template:    "room_result_json",
+           ok_button:   1
+       },
+       blog_wiki_startmessage : {
+           nonce:       Nonce,
+           force_room:  editroomname,
+           page:        "home",
+           markdown:    (isHtmlWiki)?0:1,
+           msgtext:     starttext
+
+       }
+    };
+
+    /* promises anyone?
+     *  - create the blog room
+     *  - set the blog rooms file flags
+     *  - create the edit room
+     *  - set the blog edit room flags
+     */
+    new Ajax.Request("/entroom",
+                    { method: 'post',
+                      parameters: $H(roomdata.create_blog_room).toQueryString(),
+                      onComplete: function(transport) {
+                          new Ajax.Request("/editroom",
+                                           { method: 'post',
+                                             parameters: $H(roomdata.setflags_blog_room).toQueryString(),
+                                             onComplete: function(transport) {
+                                                 new Ajax.Request("/entroom",
+                                                                  { method: 'post',
+                                                                    parameters: $H(roomdata.create_blog_edit_room).toQueryString(),
+                                                                    onComplete: function(transport) {
+                                                                        new Ajax.Request("/editroom",
+                                                                                         { method: 'post',
+                                                                                           parameters: $H(roomdata.setflags_blog_edit_room).toQueryString(),
+                                                                                           onComplete: function(transport) {
+                                                                                               ToggleVisibility('throbber');
+                                                                                               new Ajax.Request("/post",
+                                                                                                                { method: 'post',
+                                                                                                                  parameters: $H(roomdata.blog_wiki_startmessage).toQueryString(),
+                                                                                                                  onComplete: function(transport) {
+
+                                                                                                                  }
+                                                                                                                }
+                                                                                                               );
+                                                                                           }
+                                                                                         }
+                                                                                        );
+                                                                    }
+                                                                  }
+                                                                 );
+                                             }
+                                           }
+                                          )
+                      }
+                    }
+                   );
+
+/*
+
+entroom 
+
+
+
+
+POST /editroom HTTP/1.1.
+
+
+nonce=1681692777
+   go=dnthdnth
+   er_name=dnthdnth
+   er_floor=0
+   type=public
+   er_password= 
+
+  directory=yes
+   er_dirname=blarg <- file pfad
+   ulallowed=yes
+   dlallowed=yes
+   ulmsg=yes
+   visdir=yes
+
+   anon=no
+
+   er_roomaide=
+   last_tabsel=1
+   ok_button=Save+changes
 
+*/
+    return false;
+}
\ No newline at end of file