OSDN Git Service

Merge branch 'skinnable-master'
[nucleus-jp/nucleus-next.git] / nucleus / upgrades / index.php
index f0f706d..c806652 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2009 The Nucleus Group
+ * Copyright (C) 2002-2012 The Nucleus Group
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -11,8 +11,8 @@
  */
 /**
  * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2009 The Nucleus Group
- * @version $Id: index.php 1624 2012-01-09 11:36:20Z sakamocchi $
+ * @copyright Copyright (C) 2002-2012 The Nucleus Group
+ * @version $Id: index.php 1690 2012-03-08 22:45:08Z ftruscot $
  *
  */
 
        }
        else
        {
-               $current = 400
+               $current = 400;
        }
        
        if ( $current == 400 )
        else
        {
 ?>
-       <p class="warning"> <a href="upgrade.php?from=<?php echo $current?>">Click here to upgrade the database to Nucleus v3.6</a>. </p>
+       <p class="warning"> <a href="upgrade.php?from=<?php echo $current?>">Click here to upgrade the database to Nucleus v4.0</a>. </p>
 <?php
        }
 ?>
                $sth = 1;
        }
 
+       // upgrades from pre-400 version need to be warned of possible plugin incompatibility in general and specifically where known.
+       // may also need to do some things for db encoding?
+       if ( in_array($from, array(95, 96)) || $from < 400 )
+       {
+               upgrade_manual_400();
+               $sth = 1;
+       }
+
+
        if ( $sth == 0 )
        {
                echo '<p class="ok"> No manual changes needed. This must be your lucky day! </p>';
        <p> A manual addition needs to be made to <em>config.php</em>, in order to get the media functions to work. Here's what to add: </p>
        <pre>
        // path to media dir
-       $DIR_MEDIA = '<strong><?php echo i18n;;hsc($guess)?></strong>';
+       $DIR_MEDIA = '<strong><?php echo htmlspecialchars($guess)?></strong>';
        </pre>
 
        <p> Also, it will be necessary to create that directory yourself. If you want to make file upload possible, you should set the permissions of the media/ directory to 777 (see the documentation/tips.html in Nucleus 0.96+ for a quick guide on setting permissions). </p>
        <p> A manual addition needs to be made to <i>config.php</i>, in order to get imported skins to work correctly. Here's what to add: </p>
        <pre>
        // extra skin files for imported skins
-       $DIR_SKINS = '<strong><?php echo i18n;;hsc($guess)?></strong>';
+       $DIR_SKINS = '<strong><?php echo htmlspecialchars($guess)?></strong>';
        </pre>
 
        <p> Also, it will be necessary to create this directory yourself. Downloaded skins can then be expanded into that directory and be imported from inside the Nucleus admin area. </p>
 
 <?php
        } // end function upgrade_manual_350()
+
+
+       /**
+        * Manual update instructions for version 4.0 and before
+        */
+       function upgrade_manual_400()
+       {
+               global $DIR_NUCLEUS, $manager;
+?>
+       <h2> Important Notices for Nucleus 4.0 </h2>
+
+<?php
+       // Give user warning if they are running old version of PHP
+       if ( phpversion() < '5' )
+       {
+               echo '<p> WARNING: You are running NucleusCMS on a older version of PHP that is no longer supported by NucleusCMS. Please upgrade to PHP5! </p>';
+       }
+       
+       // find if any of the known plugin incompatibilities are installed.
+       $pluginsToCheck = array(
+                                                       array("NP_ShowComments","Not installed","1.30"),
+                                                       array("NP_MultiLanguage","Not installed","1.10")
+                                               );
+       foreach ( $pluginsToCheck as $plug )
+       {
+               if ( $manager->pluginInstalled($plug[0]) )
+               {
+                       $plug[1] = $manager->getPlugin($plug[0])->getVersion();
+               }
+       }
+?>
+
+       <p> Nucleus CMS 4.0 represents a lot of fundamental code changes behind the scenes to make use of PHP5 features, to establish a single multi-byte code base, and to generally improve some of the structure to comply with contempary coding standards.
+           As such, despite the best efforts of the development team to maintain backward compatibility with plugins, there are areas where compatibility could not be maintained due to the nature of the 3rd-party plugin system. 
+               The following table shows the list of known plugin incompatibilities, please review it and upgrade your plugins as needed. If you experience compatibility issues with any plugins, 
+               please request help at our <a href="http://forum.nucleuscms.org">support forum</a>.</p>
+       <table>
+       <tr><th>Plugin Name</th><th>Installed Version</th><th>4.0-compatible version</th></tr>
+<?php
+       foreach ( $pluginsToCheck as $plug )
+       {
+               echo '<tr><td>'.$plug[0].'</td><td>'.$plug[1].'</td><td>'.$plug[2].'</td></tr>';
+       }
+?>
+       </table>
+
+<?php
+       } // end function upgrade_manual_350()