OSDN Git Service

This commit was generated by cvs2svn to compensate for changes in r4,
[nucleus-jp/nucleus-jp-ancient.git] / euc / nucleus / index.php
1 <?php
2 /**
3   * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
4   * Copyright (C) 2002-2004 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.1.1.1 2005-02-28 07:13:53 kimitake Exp $
13   */
14         // we are using admin stuff:
15         $CONF = array();
16         $CONF['UsingAdminArea'] = 1;
17
18         // include the admin code
19         include('../config.php');
20
21         if ($CONF['alertOnSecurityRisk'] == 1)
22         {
23                 // check if files exist and generate an error if so
24                 $aFiles = array(
25                         '../install.sql' => 'install.sql should be deleted',
26                         '../install.php' => 'install.php should be deleted',
27                         'upgrades' => 'nucleus/upgrades directory should be deleted',
28                         'convert' => 'nucleus/convert directory should be deleted'
29                 );
30                 $aFound = array();
31                 foreach($aFiles as $fileName => $fileDesc)
32                 {
33                         if (@file_exists($fileName))
34                                 array_push($aFound, $fileDesc);
35                 }
36                 if (@is_writable('../config.php')) {
37                         array_push($aFound, 'config.php should be non-writable (chmod to 444)');
38                 }
39                 if (sizeof($aFound) > 0)
40                 {
41                         startUpError(
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>',
43                                 'Security Risk'
44                         );
45                 }
46         }
47
48         $bNeedsLogin = false;
49         $bIsActivation = in_array($action, array('activate', 'activatesetpwd'));
50         
51         if ($action == 'logout') 
52                 $bNeedsLogin = true;    
53         
54         if (!$member->isLoggedIn() && !$bIsActivation)
55                 $bNeedsLogin = true;
56
57         // show error if member cannot login to admin
58         if ($member->isLoggedIn() && !$member->canLogin() && !$bIsActivation) {
59                 $error = _ERROR_LOGINDISALLOWED;
60                 $bNeedsLogin = true;
61         }
62         
63         if ($bNeedsLogin)
64         {
65                 setOldAction($action);  // see ADMIN::login() (sets old action in POST vars)
66                 $action = 'showlogin';
67         }
68
69         sendContentType('application/xhtml+xml', 'admin-' . $action);
70         
71         $admin = new ADMIN();
72         $admin->action($action);
73 ?>