# $Id: ext_newpage.rb,v 1.3 2004/05/12 10:42:27 eto Exp $
# Copyright (C) 2003-2004 Kouichirou Eto, All rights reserved.
# This is free software with ABSOLUTELY NO WARRANTY.
# You can redistribute it and/or modify it under the terms of the GNU GPL2.

module Qwik
  class Plugin
    def newpage
      user = @user
      return newpage_require_user if user.nil? || !@site.member.exist?(user)

      newpagetitle = @query['t']
      return newpage_form unless newpagetitle
      newpage_create(newpagetitle)
    end

    def newpage_create(newpagetitle)
      page = @site.create_new # CREATE
      newpagename = page.key
      @site.log(@command.time, @user, "create", newpagename) # CREATE
      page.store("* #{newpagetitle}\n") # at the first, make the page with the title.
      newpagehref = newpagename+".html?c=edit"
      @g.div{[
	  @g.p{"新規ページを作成しました"},
	  @g.p{[@g.a(newpagehref){"新規ページを編集"}, "してください。"]}
	]}
    end

    def newpage_form
      form {
"|新規ページタイトル|{{input(t,,must)}}|
|新しく作成したいページのタイトルを入力してください。|
||{{submit( 新規作成 )}}|"}
    end

    def newpage_require_user
      @g.form("method"=>"POST"){[
	  @g.h3{"新規作成には、このWikiサイトのメンバーである必要があります。"},
#	  login_form,
	  @g.p{[@g.a("LogIn.html"){"LogIn"}, "する。"]},
	  @g.p{[@g.a("FrontPage.html"){"FrontPage"}, "に戻る。"]},
	]}
    end

  end
end
