Changeset 22764

Show
Ignore:
Timestamp:
07/02/09 11:42:15 (1 year ago)
Author:
rambo
Message:

fix logic error in parser type checking, convert to use autoload, refs #1196

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/external-tools/mvc_installer/bin/midgard2-install

    r22673 r22764  
    3535 * *** TEST AREA *** 
    3636 */ 
    37  /* 
     37 
     38if (class_exists('midgard2_installer_parser_foo_bar_baz')) 
     39
     40
     41 
     42/* 
    3843$installer = midgard2_installer_installer::get('mvc'); 
    3944$installer->install_file('/tmp/bar.file', '/tmp/foo.file'); 
    4045$installer->error_cleanup(); 
    41  */ 
     46*/ 
    4247 
    43 /*  
     48/* 
    4449$info = midgard2_installer_parser::parse('pear::channel://ragnaroek.pear.midgard-project.org/midcom'); 
    4550$info = midgard2_installer_parser::parse('mvc::git://github.com/bergie/net_nemein_calendar.git'); 
  • trunk/external-tools/mvc_installer/lib/exporter.php

    r22673 r22764  
    3232    { 
    3333        $classname = "midgard2_installer_exporter_{$type}"; 
     34        /* 
    3435        if (!class_exists($classname)) 
    3536        { 
    3637            require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'exporter' . DIRECTORY_SEPARATOR . "{$type}.php"); 
    3738        } 
     39        */ 
    3840        return new $classname(); 
    3941    } 
  • trunk/external-tools/mvc_installer/lib/init.php

    r22673 r22764  
    44 */ 
    55define('MGD2INST_ROOT', dirname(__FILE__)); 
     6 
    67/** 
    7  * Then require the baseclasses we use 
     8 * Load the error handlers 
    89 */ 
    910require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'errors.php'); 
    10 require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'helpers.php'); 
    11 require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'config.php'); 
    12 require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'parser.php'); 
    13 require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'exporter.php'); 
    14 require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'resolver.php'); 
    15 require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'installer.php'); 
    1611 
     12/** 
     13 * Autoloader for our classes 
     14 * 
     15 * @param string $classname class to load 
     16 * @return boolean. 
     17 * @see http://fi.php.net/manual/en/function.spl-autoload-register.php 
     18 */ 
     19function midgard2_installer_helpers_autoload($classname) 
     20{ 
     21    $remainder = preg_replace('/^midgard2_installer/', '', $classname); 
     22    $parts = explode('_', $remainder); 
     23    unset($remainder); 
     24    $path = MGD2INST_ROOT; 
     25    $file = array_pop($parts) . '.php'; 
     26    $path .= implode(DIRECTORY_SEPARATOR, $parts) . DIRECTORY_SEPARATOR . $file; 
     27    unset($parts, $file); 
     28    //echo "DEBUG: Checking {$path}\n"; 
     29    if (!file_exists($path)) 
     30    { 
     31        return false; 
     32    } 
     33    require($path); 
     34    return true; 
     35} 
     36spl_autoload_register('midgard2_installer_helpers_autoload'); 
    1737 
    1838?> 
  • trunk/external-tools/mvc_installer/lib/installer.php

    r22673 r22764  
    3939 
    4040        $classname = "midgard2_installer_installer_{$type}"; 
     41        /* 
    4142        if (!class_exists($classname)) 
    4243        { 
    4344            require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'installer' . DIRECTORY_SEPARATOR . "{$type}.php"); 
    4445        } 
     46        */ 
    4547        $singletons[$type] = new $classname(); 
    4648        return $singletons[$type]; 
  • trunk/external-tools/mvc_installer/lib/parser.php

    r22673 r22764  
    3535 
    3636        // This is special package type used only for dependency checking 
    37         if (    $ret['installer'] === 'executable' 
    38             ||  $ret['installer'] === 'extension') 
     37        if (    $ret['type'] === 'executable' 
     38            ||  $ret['type'] === 'extension') 
    3939        { 
    4040            unset($remain); 
  • trunk/external-tools/mvc_installer/lib/resolver.php

    r22673 r22764  
    2020 
    2121        $classname = "midgard2_installer_resolver_{$type}"; 
     22        /* 
    2223        if (!class_exists($classname)) 
    2324        { 
    2425            require_once(MGD2INST_ROOT . DIRECTORY_SEPARATOR . 'resolver' . DIRECTORY_SEPARATOR . "{$type}.php"); 
    2526        } 
     27        */ 
    2628        $singletons[$type] = new $classname(); 
    2729        return $singletons[$type];