/**
  * Loads error processing tool
  *
  * @param string $class
  * @param string $path
  * @param array $config
  * @return modInstallError
  */
 public function loadError($class = 'error.modInstallJSONError', $path = '', array $config = array())
 {
     $className = $this->install->loadClass($class, $path);
     if (!empty($className)) {
         $this->error = new $className($this->install, $config);
     } else {
         die('Failure to load ' . $class . ' from ' . $path);
     }
     return $this->error;
 }
 /**
  * Load version-specific installer.
  *
  * @access public
  * @param string $class The class to load.
  * @param string $path
  * @return modInstallVersion
  */
 public function loadVersionInstaller($class = 'modInstallVersion', $path = '')
 {
     $className = $this->install->loadClass($class, $path);
     if (!empty($className)) {
         $this->versioner = new $className($this);
         return $this->versioner;
     } else {
         $this->install->_fatalError($this->install->lexicon('versioner_err_nf', array('path' => $path)));
     }
     return $this->versioner;
 }
 /**
  * Loads the Smarty parser
  *
  * @param string $class
  * @param string $path The path to the parser
  * @return boolean True if successful.
  */
 public function loadParser($class = 'parser.modInstallSmarty', $path = '')
 {
     $loaded = false;
     $className = $this->install->loadClass($class, $path);
     if (empty($className)) {
         if (!@(include MODX_SETUP_PATH . 'provisioner/bootstrap.php')) {
             die('<html><head><title></title></head><body><h1>FATAL ERROR: MODX Setup cannot continue.</h1><p>Make sure all the files in the MODX setup package have been uploaded to your server.</p></body></html>');
         }
         $loaded = false;
     }
     $this->parser = new $className();
     return $loaded;
 }