OSDN Git Service

load()
[pukiwiki/pukiwiki_devel.git] / bin / pkwk14.php
index b34b691..e6605ca 100644 (file)
@@ -1,22 +1,11 @@
 <?php
 // PukiWiki - Yet another WikiWikiWeb clone.
-// $Id: pkwk14.php,v 1.2 2009/01/04 10:54:05 henoheno Exp $
+// $Id: pkwk14.php,v 1.3 2009/01/12 02:58:07 henoheno Exp $
 // Copyright (C) 2009 PukiWiki Developers Team
 // License: GPL v2 or (at your option) any later version
 //
 // PukiWiki administration script for CLI environment
 
-// Error reporting
-//error_reporting(0); // Nothing
-error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
-//error_reporting(E_ALL); // Debug purpose
-
-
-# Safety ----------------------------------------------------
-if (php_sapi_name() != 'cli') {
-       echo 'pkwk: Error: Seems not CLI';
-       exit;
-}
 
 # Name and Usage --------------------------------------------
 define('PKWK_CLI_NAME', $argv[0]);
@@ -27,10 +16,34 @@ function usage()
        exit(1);
 }
 
+# Safety ----------------------------------------------------
+if (php_sapi_name() != 'cli') {
+       echo 'pkwk: Error: Seems not CLI';
+       exit;
+}
+
+# Error reporting -------------------------------------------
+
+//error_reporting(0); // Nothing
+//error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
+error_reporting(E_ALL); // Debug purpose
+
 # Common functions ------------------------------------------
 function warn($string = ''){ fwrite(STDERR, $string . "\n"); }
 function err( $string = ''){ warn($string); exit(1);  }
 
+function load($filepath)
+{
+       if (strpos($filepath, ':') !== FALSE) {
+               err('load: Error: URL-like string');
+       } else if (! file_exists($filepath)) {
+               err('load: Error: No such file: ' . $filepath);
+       }
+
+       require_once($filepath);
+}
+
+
 # Default variables -----------------------------------------
 
 // PKWK_ROOT
@@ -58,24 +71,24 @@ define('DATA_HOME', './');
 # Load libraries --------------------------------------------
 // From pukiwiki.php
 
-require(LIB_DIR . 'func.php');
-require(LIB_DIR . 'file.php');
-require(LIB_DIR . 'html.php');
-require(LIB_DIR . 'backup.php');
-
-require(LIB_DIR . 'convert_html.php');
-require(LIB_DIR . 'make_link.php');
-require(LIB_DIR . 'diff.php');
-require(LIB_DIR . 'config.php');
-require(LIB_DIR . 'link.php');
-require(LIB_DIR . 'auth.php');
-require(LIB_DIR . 'proxy.php');
+load(LIB_DIR . 'func.php');
+load(LIB_DIR . 'file.php');
+load(LIB_DIR . 'html.php');
+load(LIB_DIR . 'backup.php');
+
+load(LIB_DIR . 'convert_html.php');
+load(LIB_DIR . 'make_link.php');
+load(LIB_DIR . 'diff.php');
+load(LIB_DIR . 'config.php');
+load(LIB_DIR . 'link.php');
+load(LIB_DIR . 'auth.php');
+load(LIB_DIR . 'proxy.php');
 if (! extension_loaded('mbstring')) {
-       require(LIB_DIR . 'mbstring.php');
+       load(LIB_DIR . 'mbstring.php');
 }
 
-require(LIB_DIR . 'mail.php');
-require(LIB_DIR . 'spam.php');
+load(LIB_DIR . 'mail.php');
+load(LIB_DIR . 'spam.php');
 
 
 # Default variables 2 ---------------------------------------