[Hiki-dev:01076] misc/hikifarm/index.cgi patch

Back to archive index

Atsushi SHICHI ats7****@a*****
2005年 11月 27日 (日) 18:14:33 JST


しち です。

HikiFarm で作成する Wiki のデフォルトのサイト名を変更しようと思い、
Hikiインストールディレクトリ/hiki.conf の @site_name を変更して
みましたが、「現在運用中の Wiki サイト」に表示される「Wiki の名前」
は「〜's Wiki」のままでした。
以下のようなパッチはどうでしょうか。
initialize の引数が増えてしまいますが...

--- hiki-0.8.4/misc/hikifarm/index.cgi.orig	2005-08-28 12:09:57.000000000 +0900
+++ hiki-0.8.4/misc/hikifarm/index.cgi	2005-11-27 17:03:14.000000000 +0900
@@ -81,18 +81,20 @@
 
 class Wiki
   attr_reader :name, :title, :mtime, :last_modified_page, :pages_num, :pages
-  def initialize(name, data_root)
+  def initialize(name, data_root, hiki)
     @name = name
     @pages_num = 0
 
-    begin
-      File.readlines("#{data_root}/#{name}/hiki.conf").each do |line|
+    @title = "#{name}'s Wiki"
+    __my_wiki_name__ = name
+    ["#{hiki}/hiki.conf", "#{data_root}/#{name}/hiki.conf"].each do |f|
+      next unless FileTest.file?(f)
+
+      File.readlines(f).each do |line|
         if line =~ /^[@\$]?site_name\s*=\s*(".*")\s*$/
           @title = eval($1.untaint)
         end
       end
-    rescue
-      @title = "#{name}'s Wiki"
     end
 
     pages = Dir["#{data_root}/#{name}/text/*"]
@@ -118,7 +120,7 @@
 class Hikifarm
   attr_reader :wikilist
   
-  def initialize(farm_pub_path, ruby, repos_type, repos_root, data_root)
+  def initialize(farm_pub_path, ruby, repos_type, repos_root, data_root, hiki)
     require "hiki/repos/#{repos_type}"
     @repos = Hiki::const_get("HikifarmRepos#{repos_type.capitalize}").new(repos_root, data_root)
     @ruby = ruby
@@ -132,7 +134,7 @@
       next if not FileTest.file?("#{wiki}/hikiconf.rb")
 
       begin
-        @wikilist << Wiki.new(File.basename(wiki), data_root)
+        @wikilist << Wiki.new(File.basename(wiki), data_root, hiki)
       rescue
       end
     end
@@ -472,7 +474,7 @@
 class App
   def initialize(conf)
     @conf = conf
-    @farm = Hikifarm.new(File.dirname(__FILE__), @conf.ruby, @conf.repos_type, @conf.repos_root, @conf.data_root)
+    @farm = Hikifarm.new(File.dirname(__FILE__), @conf.ruby, @conf.repos_type, @conf.repos_root, @conf.data_root, @conf.hiki)
     @cgi = conf.cgi
   end

--
Atsushi SHICHI
72CD F89C 9840 2422 48D5  F04A CE97 8697 7E72 D5FA



Hiki-dev メーリングリストの案内
Back to archive index