OSDN Git Service

merged 3.3 beta1
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / upgrades / index.php
1 <?php
2 /**
3   * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
4   * Copyright (C) 2002-2005 The Nucleus Group
5   *
6   * This program is free software; you can redistribute it and/or
7   * modify it under the terms of the GNU General Public License
8   * as published by the Free Software Foundation; either version 2
9   * of the License, or (at your option) any later version.
10   * (see nucleus/documentation/index.html#license for more info)
11   *
12   * $Id: index.php,v 1.7 2006-07-17 20:03:45 kimitake Exp $
13   * $NucleusJP: index.php,v 1.6 2006/07/12 07:11:49 kimitake Exp $
14   */
15
16 include('upgrade.functions.php'); 
17   
18 // check if logged in etc
19 if (!$member->isLoggedIn()) {
20   upgrade_showLogin('index.php');
21 }
22
23 if (!$member->isAdmin()) {
24   upgrade_error('Super-admin(最高管理者)のみがアップグレードを実行できます。');
25 }
26
27 upgrade_head();
28
29 ?>
30
31 <h1>アップグレードスクリプト集</h1>
32
33 <div class="note">
34 <b>Note:</b> もし古いバージョンの Nuclues からアップグレードしようとしているのでなければ(つまりまっさらな状態からインストールしたのであれば)、これらのスクリプト集は必要ありません。
35 </div>
36
37 <p>
38 古いバージョンの Nucleus からアップグレードするとき、データベーステーブルのアップグレードが必要です。
39 このアップグレードスクリプトを実行することでそれが可能となります。
40 </p>
41
42 <?php  // calculate current version
43       if (!upgrade_checkinstall(96)) $current = 95;
44   else  if (!upgrade_checkinstall(10)) $current = 96;
45   else  if (!upgrade_checkinstall(11)) $current = 10;
46   else  if (!upgrade_checkinstall(15)) $current = 11;  
47   else  if (!upgrade_checkinstall(20)) $current = 15;    
48   else  if (!upgrade_checkinstall(25)) $current = 20;      
49   else  if (!upgrade_checkinstall(30)) $current = 25;      
50   else  if (!upgrade_checkinstall(31)) $current = 30;      
51   else  if (!upgrade_checkinstall(32)) $current = 31;      
52   else  $current = 32;
53
54   if ($current == 32) {
55     ?>
56       <p class="ok">自動でできるアップグレードはありません。データベースは既に最新の Nucleus 用にアップデートされています。</p>
57     <?php  } else {
58     ?>
59       <p class="warning"><a href="upgrade.php?from=<?php echo $current?>">ここをクリックしてデータベースを Nucleus v3.3 用にアップグレードします</a></p>
60     <?php  }
61 ?>
62
63 <div class="note">
64 <b>注意:</b> 作業中、各ステップごとにデータベースのバックアップを忘れないようにして下さい。
65 </div>
66
67 <h1>手動変更</h1>
68
69 <p>いくつかの変更は手動で行う必要があります。下記にその手順を示します。</p>
70
71 <?php
72 $sth = 0;
73 if (!$DIR_MEDIA) {
74   upgrade_manual_96();
75   $sth = 1;
76 }
77 if (!$DIR_SKINS) {
78   upgrade_manual_20();
79   $sth = 1;
80 }
81
82 // some manual code changes are needed in order to get Nucleus to work on php version
83 // lower than 4.0.6
84 if (phpversion() < '4.0.6') {
85   upgrade_manual_php405();
86   $sth = 1;
87 }
88
89 if ($sth == 0)
90   echo "<p class='ok'>手動変更は必要ありません。今日はラッキーな日ですね!</p>";  
91
92
93
94 upgrade_foot();
95
96 function upgrade_todo($ver) {
97   return upgrade_checkinstall($ver) ? "(<span class='ok'>インストール済み</span>)" : "(<span class='warning'>インストールが必要</span>)";
98 }
99
100 function upgrade_manual_96() {
101   global $DIR_NUCLEUS;
102   
103   $guess = str_replace("/nucleus/","/media/",$DIR_NUCLEUS);
104 ?>
105   <h2>Nucleus 0.96 用に必要な変更</h2>
106   <p>
107     メディア機能を使用するために<i>config.php</i>を手動で変更する必要があります。下記の通り追加します:
108   </p>
109   <pre>
110   // path to media dir
111   $DIR_MEDIA = '<b><?php echo htmlspecialchars($guess)?></b>';
112   </pre>
113   
114   <p>
115   また、ディレクトリもあなた自身の手で作る必要があります。もしファイルのアップロードを可能にしたいのであれば、media/ ディレクトリのパーミッションを777にします。(Nucleus 0.96+ のためのパーミッションの設定に関するクイックガイドが documentation/tips.html にあります)
116   </p>
117   
118 <?php }
119
120 function upgrade_manual_20() {
121   global $DIR_NUCLEUS;
122   
123   $guess = str_replace("/nucleus/","/skins/",$DIR_NUCLEUS);
124 ?>
125   <h2>Nucleus 2.0 用に必要な変更</h2>
126   <p>
127     スキンの取り込み機能を使用するために<i>config.php</i>を手動で変更する必要があります。下記の通り追加します:
128   </p>
129   <pre>
130   // extra skin files for imported skins
131   $DIR_SKINS = '<b><?php echo htmlspecialchars($guess)?></b>';
132   </pre>
133   
134   <p>また、ディレクトリもあなた自身の手で作る必要があります。これでダウンロードしたスキンを上記ディレクトリに展開したり、Nucleus 管理画面から取り込んだりできるようになります。</p>
135   
136   <h3>RSS 2.0 と RSD スキン</h3>
137   
138   <p>Nucleus 2.0 を新規にインストールしたとき、RSD(Really Simple Discovery) 用のスキンの他に、RSS 2.0(Really Simple Syndication)用のスキンもまたインストールされます。<code>xml-rss2.php</code> と <code>rsd.php</code> の両ファイルはアップグレードされますが、スキンに関しては手動でインストールする必要があります。<code>upgrade-files</code>の中身をアップロードしたあと、管理者画面を開き、管理ホームにあるスキンの「読込/書出」を開きます。そこから両スキンをインストールすることができます(もしインストールするつもりがなければ、しなくても結構です)。</p>
139   
140 <?php }
141
142 function upgrade_manual_php405() {
143 ?>
144 <h2>PHP のバージョンが 4.0.3, 4.0.4 または 4.0.5 の場合に必要となる変更</h2>
145 <p>
146   PHP のバージョンが 4.0.6 より以前の場合、変更が必要なファイルが2つあります。PHP のバージョンを 4.0.6 や 4.2.2+以降のものにアップグレードした方がいいでしょう(4.0.6 や 4.2.2 以前のものにはセキュリティー問題があります)。もし PHP のアップグレードが困難もしくは、する予定がない場合は、以下のファイルを変更して下さい。
147 </p>
148 <ul>
149   <li>nucleus/libs/PARSER.php のコードが下記のようになっていることを確認して下さい。(84行目から):
150     <pre>
151
152   if (in_array($actionlc, $this-&gt;actions) || $this-&gt;norestrictions ) {
153     <strong>$this-&gt;call_using_array($action, $this-&gt;handler, $params);</strong>
154   } else {
155     // redirect to plugin action if possible
156     if (in_array('plugin', $this-&gt;actions) 
157       && $manager-&gt;pluginInstalled('NP_'.$action))
158       $this-&gt;doAction('plugin('.$action.
159         $this-&gt;pdelim.implode($this-&gt;pdelim,$params).')');
160     else
161       echo '&lt;b&gt;DISALLOWED (' , $action , ')&lt;/b&gt;';
162   }
163
164
165 }
166      </pre>
167     </li>
168     <li>nucleus/libs/PARSER.php のコードが下記のようになっていることを確認して下さい。(75行目から):
169     <pre>
170 // $params = array_map('trim',$params);
171 foreach ($params as $key =&gt; $value) { $params[$key] = trim($value); }
172     </pre>
173     </li>
174   </ul>
175   
176 <?php }
177
178 ?>