OSDN Git Service

16d94052629d0abb7daa02cab259baf8703d4635
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / index.php
1 <?php\r
2 /**\r
3   * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
4   * Copyright (C) 2002-2005 The Nucleus Group\r
5   *\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
11   *\r
12   * $Id: index.php,v 1.4 2005-03-15 07:32:11 kimitake Exp $\r
13   */\r
14         // we are using admin stuff:\r
15         $CONF = array();\r
16         $CONF['UsingAdminArea'] = 1;\r
17 \r
18         // include the admin code\r
19         include('../config.php');\r
20 \r
21         if ($CONF['alertOnSecurityRisk'] == 1)\r
22         {\r
23                 // check if files exist and generate an error if so\r
24                 $aFiles = array(\r
25                         '../install.sql' => 'install.sql should be deleted',\r
26                         '../install.php' => 'install.php should be deleted',\r
27                         'upgrades' => 'nucleus/upgrades directory should be deleted',\r
28                         'convert' => 'nucleus/convert directory should be deleted'\r
29                 );\r
30                 $aFound = array();\r
31                 foreach($aFiles as $fileName => $fileDesc)\r
32                 {\r
33                         if (@file_exists($fileName))\r
34                                 array_push($aFound, $fileDesc);\r
35                 }\r
36                 if (@is_writable('../config.php')) {\r
37                         array_push($aFound, 'config.php should be non-writable (chmod to 444)');\r
38                 }\r
39                 if (sizeof($aFound) > 0)\r
40                 {\r
41                         startUpError(\r
42                                 '<p>One or more of the Nucleus installation files are still present on the webserver, or are writable.</p><p>You should remove these files or change their permissions to ensure security. Here are the files that were found by Nucleus</p> <ul><li>'. implode($aFound, '</li><li>').'</li></ul><p>If you don\'t want to see this error message again, without solving the problem, set <code>$CONF[\'alertOnSecurityRisk\']</code> in <code>globalfunctions.php</code> to <code>0</code>, or do this at the end of <code>config.php</code>.</p>',\r
43                                 'Security Risk'\r
44                         );\r
45                 }\r
46         }\r
47 \r
48         $bNeedsLogin = false;\r
49         $bIsActivation = in_array($action, array('activate', 'activatesetpwd'));\r
50         \r
51         if ($action == 'logout') \r
52                 $bNeedsLogin = true;    \r
53         \r
54         if (!$member->isLoggedIn() && !$bIsActivation)\r
55                 $bNeedsLogin = true;\r
56 \r
57         // show error if member cannot login to admin\r
58         if ($member->isLoggedIn() && !$member->canLogin() && !$bIsActivation) {\r
59                 $error = _ERROR_LOGINDISALLOWED;\r
60                 $bNeedsLogin = true;\r
61         }\r
62         \r
63         if ($bNeedsLogin)\r
64         {\r
65                 setOldAction($action);  // see ADMIN::login() (sets old action in POST vars)\r
66                 $action = 'showlogin';\r
67         }\r
68 \r
69         sendContentType('application/xhtml+xml', 'admin-' . $action);\r
70         \r
71         $admin = new ADMIN();\r
72         $admin->action($action);\r
73 ?>