typo fix
[phpfspot.git] / phpfspot.class.php
index f88ddf815b9cd1a66fa3045ca8ba3bc2c561eeb2..50ab45e139423f31c34f08d6c414af13062ac91c 100644 (file)
@@ -23,7 +23,6 @@
 
 require_once "phpfspot_cfg.php";
 require_once "phpfspot_db.php";
-require_once "phpfspot_tmpl.php";
 
 class PHPFSPOT {
 
@@ -64,7 +63,13 @@ class PHPFSPOT {
       }
       $this->check_config_table();
 
-
+      /* include Smarty template engine */
+      if(!$this->check_readable($this->cfg->smarty_path .'/libs/Smarty.class.php')) {
+         exit(1);
+      }
+      require $this->cfg->smarty_path .'/libs/Smarty.class.php';
+      /* overload Smarty class if our own template handler */
+      require_once "phpfspot_tmpl.php";
       $this->tmpl = new PHPFSPOT_TMPL($this);
 
       $this->get_tags();
@@ -1942,6 +1947,31 @@ class PHPFSPOT {
    {
       return $this->get_web_protocol() ."://". $this->get_server_name() . $this->cfg->web_path;
    } // get_phpfspot_url()
+   
+   /**
+    * check file exists and is readable
+    *
+    * returns true, if everything is ok, otherwise false
+    * if $silent is not set, this function will output and
+    * error message
+    */
+   private function check_readable($file, $silent = null)
+   {
+      if(!file_exists($file)) {
+         if(!isset($silent))
+            print "File \"". $file ."\" does not exist.\n";
+         return false;
+      }
+
+      if(!is_readable($file)) {
+         if(!isset($silent))
+            print "File \"". $file ."\" is not reachable for user ". $this->getuid() ."\n";
+         return false;
+      }
+
+      return true;
+
+   } // check_readable()
 
 }