rmeove wiki

This commit is contained in:
Andreas Stephanides
2014-10-16 21:50:41 +02:00
parent 629c7941cf
commit e1d5cc8d7b
9 changed files with 1 additions and 189 deletions

View File

@@ -33,9 +33,7 @@ include Rails.application.routes.url_helpers
false
end
end
def is_wiki?
!(wikiname.nil? || wikiname.empty?)
end
def text_first_words
md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
words=md[:text].split(" ") unless md.nil?

View File

@@ -1,73 +0,0 @@
class Wiki < Thema
validates :wikiname, :uniqueness=>true, :presence=>true
after_initialize :load_wiki
attr_accessible :wikiname, :wikiformat, :hidelink, :raw_data
WIKIFORMATS={nil=> :textile, 0 =>:textile, 1=> :mediawiki}
def self.find_or_init(name)
w = Wiki.where(:wikiname=>name).first
page = is_file_availaible(name)
if w.nil?
unless page.nil?
w=Wiki.new(:wikiname=>name, :title=>name, :wikiformat=>Wiki::WIKIFORMATS.invert[page.format], :hidelink=>true)
else
w=Wiki.new(:wikiname=>name, :title=>name, :wikiformat=>0, :hidelink=>true)
wiki = Gollum::Wiki.new("../wiki.git", :base_path => "/wiki")
page=wiki.write_page(name, :textile, "ioi", self.commit)
w.reload_page
end
w.themengruppe = Themengruppe.find_wiki_default
w.raw_data="Neues Wiki"
w.save
end
w
end
def raw_data
self.page.raw_data
end
def raw_data=(data)
self.get_page(self.wikiname)
self.wiki.update_page(self.page, self.wikiname, Wiki::WIKIFORMATS[self.wikiformat], data, self.commit)
self.text=self.page.formatted_data
end
def page
self.get_page(wikiname) if @page.nil?
@page
end
def wiki
@wiki
end
def reload_page
self.get_page(self.wikiname)
end
protected
def self.is_file_availaible(name)
wiki = Gollum::Wiki.new("../wiki.git", :base_path => "/wiki")
wiki.page(name)
end
def load_wiki
@wiki = Gollum::Wiki.new("../wiki.git", :base_path => "/wiki")
end
def get_page(name)
@page= @wiki.page(name)
@page=self.wiki.write_page(self.wikiname, Wiki::WIKIFORMATS[self.wikiformat]," ",self.commit) if @page.nil?
@page
end
def commit
{message: "RailsUpdate", name:"SomeUser", email: "ttt@t"}
end
def self.commit
{message: "RailsUpdate", name:"SomeUser", email: "ttt@t"}
end
end