3 * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
\r
4 * Copyright (C) 2002-2005 The Nucleus Group
\r
6 * This program is free software; you can redistribute it and/or
\r
7 * modify it under the terms of the GNU General Public License
\r
8 * as published by the Free Software Foundation; either version 2
\r
9 * of the License, or (at your option) any later version.
\r
10 * (see nucleus/documentation/index.html#license for more info)
\r
12 * $Id: index.php,v 1.5 2005-03-19 07:20:28 kimitake Exp $
\r
13 * $NucleusJP: index.php,v 1.4 2005/03/18 06:07:10 kimitake Exp $
\r
16 include('upgrade.functions.php');
\r
18 // check if logged in etc
\r
19 if (!$member->isLoggedIn()) {
\r
20 upgrade_showLogin('index.php');
\r
23 if (!$member->isAdmin()) {
\r
24 upgrade_error('Super-admin(最高管理者)のみがアップグレードを実行できます。');
\r
31 <h1>アップグレードスクリプト集</h1>
\r
34 <b>Note:</b> もし古いバージョンの Nuclues からアップグレードしようとしているのでなければ(つまりまっさらな状態からインストールしたのであれば)、これらのスクリプト集は必要ありません。
\r
38 古いバージョンの Nucleus からアップグレードするとき、データベーステーブルのアップグレードが必要です。
\r
39 このアップグレードスクリプトを実行することでそれが可能となります。
\r
42 <?php // calculate current version
\r
43 if (!upgrade_checkinstall(96)) $current = 95;
\r
44 else if (!upgrade_checkinstall(10)) $current = 96;
\r
45 else if (!upgrade_checkinstall(11)) $current = 10;
\r
46 else if (!upgrade_checkinstall(15)) $current = 11;
\r
47 else if (!upgrade_checkinstall(20)) $current = 15;
\r
48 else if (!upgrade_checkinstall(25)) $current = 20;
\r
49 else if (!upgrade_checkinstall(30)) $current = 25;
\r
50 else if (!upgrade_checkinstall(31)) $current = 30;
\r
51 else if (!upgrade_checkinstall(32)) $current = 31;
\r
54 if ($current == 32) {
\r
56 <p class="ok">自動でできるアップグレードはありません。データベースは既に最新の Nucleus 用にアップデートされています。</p>
\r
59 <p class="warning"><a href="upgrade.php?from=<?php echo $current?>">ここをクリックしてデータベースを Nucleus v3.2 用にアップグレードします</a></p>
\r
64 <b>注意:</b> 作業中、各ステップごとにデータベースのバックアップを忘れないようにして下さい。
\r
69 <p>いくつかの変更は手動で行う必要があります。下記にその手順を示します。</p>
\r
74 upgrade_manual_96();
\r
78 upgrade_manual_20();
\r
82 // some manual code changes are needed in order to get Nucleus to work on php version
\r
84 if (phpversion() < '4.0.6') {
\r
85 upgrade_manual_php405();
\r
90 echo "<p class='ok'>手動変更は必要ありません。今日はラッキーな日ですね!</p>";
\r
96 function upgrade_todo($ver) {
\r
97 return upgrade_checkinstall($ver) ? "(<span class='ok'>インストール済み</span>)" : "(<span class='warning'>インストールが必要</span>)";
\r
100 function upgrade_manual_96() {
\r
101 global $DIR_NUCLEUS;
\r
103 $guess = str_replace("/nucleus/","/media/",$DIR_NUCLEUS);
\r
105 <h2>Nucleus 0.96 用に必要な変更</h2>
\r
107 メディア機能を使用するために<i>config.php</i>を手動で変更する必要があります。下記の通り追加します:
\r
110 // path to media dir
\r
111 $DIR_MEDIA = '<b><?php echo htmlspecialchars($guess)?></b>';
\r
115 また、ディレクトリもあなた自身の手で作る必要があります。もしファイルのアップロードを可能にしたいのであれば、media/ ディレクトリのパーミッションを777にします。(Nucleus 0.96+ のためのパーミッションの設定に関するクイックガイドが documentation/tips.html にあります)
\r
120 function upgrade_manual_20() {
\r
121 global $DIR_NUCLEUS;
\r
123 $guess = str_replace("/nucleus/","/skins/",$DIR_NUCLEUS);
\r
125 <h2>Nucleus 2.0 用に必要な変更</h2>
\r
127 スキンの取り込み機能を使用するために<i>config.php</i>を手動で変更する必要があります。下記の通り追加します:
\r
130 // extra skin files for imported skins
\r
131 $DIR_SKINS = '<b><?php echo htmlspecialchars($guess)?></b>';
\r
134 <p>また、ディレクトリもあなた自身の手で作る必要があります。これでダウンロードしたスキンを上記ディレクトリに展開したり、Nucleus 管理画面から取り込んだりできるようになります。</p>
\r
136 <h3>RSS 2.0 と RSD スキン</h3>
\r
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>
\r
142 function upgrade_manual_php405() {
\r
144 <h2>PHP のバージョンが 4.0.3, 4.0.4 または 4.0.5 の場合に必要となる変更</h2>
\r
146 PHP のバージョンが 4.0.6 より以前の場合、変更が必要なファイルが2つあります。PHP のバージョンを 4.0.6 や 4.2.2+以降のものにアップグレードした方がいいでしょう(4.0.6 や 4.2.2 以前のものにはセキュリティー問題があります)。もし PHP のアップグレードが困難もしくは、する予定がない場合は、以下のファイルを変更して下さい。
\r
149 <li>nucleus/libs/PARSER.php のコードが下記のようになっていることを確認して下さい。(84行目から):
\r
152 if (in_array($actionlc, $this->actions) || $this->norestrictions ) {
\r
153 <strong>$this->call_using_array($action, $this->handler, $params);</strong>
\r
155 // redirect to plugin action if possible
\r
156 if (in_array('plugin', $this->actions)
\r
157 && $manager->pluginInstalled('NP_'.$action))
\r
158 $this->doAction('plugin('.$action.
\r
159 $this->pdelim.implode($this->pdelim,$params).')');
\r
161 echo '<b>DISALLOWED (' , $action , ')</b>';
\r
168 <li>nucleus/libs/PARSER.php のコードが下記のようになっていることを確認して下さい。(75行目から):
\r
170 // $params = array_map('trim',$params);
\r
171 foreach ($params as $key => $value) { $params[$key] = trim($value); }
\r