function initPostinstallScripts()
    {
        $filelist = $this->getFilelist();
        $contents = $this->getContents();
        $contents = $contents['dir']['file'];
        if (!is_array($contents) || !isset($contents[0])) {
            $contents = array($contents);
        }
        $taskfiles = array();
        foreach ($contents as $file) {
            $atts = $file['attribs'];
            unset($file['attribs']);
            if (count($file)) {
                $taskfiles[$atts['name']] = $file;
            }
        }
        $common = new PEAR_Common;
        $common->debug = $this->_config->get('verbose');
        $this->_scripts = array();
        foreach ($taskfiles as $name => $tasks) {
            if (!isset($filelist[$name])) {
                // file was not installed due to installconditions
                continue;
            }
            $atts = $filelist[$name];
            foreach ($tasks as $tag => $raw) {
                $taskname = $this->getTask($tag);
                $task = &new $taskname($this->_config, $common, PEAR_TASK_INSTALL);
                if (!$task->isScript()) {
                    continue; // scripts are only handled after installation
                }
                $lastversion = isset($this->_packageInfo['_lastversion']) ?
                    $this->_packageInfo['_lastversion'] : null;
                $task->init($raw, $atts, $lastversion);
                $res = $task->startSession($this, $atts['installed_as']);
                if (!$res) {
                    continue; // skip this file
                }
                if (PEAR::isError($res)) {
                    return $res;
                }
                $assign = &$task;
                $this->_scripts[] = &$assign;
            }
        }
        if (count($this->_scripts)) {
            return true;
        }
        return false;
    }
function initPostinstallScripts()
    {
        $filelist = $this->getFilelist();
        $contents = $this->getContents();
        $contents = $contents['dir']['file'];
        if (!is_array($contents) || !isset($contents[0])) {
            $contents = array($contents);
        }
        $taskfiles = array();
        foreach ($contents as $file) {
            $atts = $file['attribs'];
            unset($file['attribs']);
            if (count($file)) {
                $taskfiles[$atts['name']] = $file;
            }
        }
        $common = new PEAR_Common;
        $common->debug = $this->_config->get('verbose');
        $this->_scripts = array();
        foreach ($taskfiles as $name => $tasks) {
            if (!isset($filelist[$name])) {
                // file was not installed due to installconditions
                continue;
            }
            $atts = $filelist[$name];
            foreach ($tasks as $tag => $raw) {
                $taskname = $this->getTask($tag);
                $task = &new $taskname($this->_config, $common, PEAR_TASK_INSTALL);
                if (!$task->isScript()) {
                    continue; // scripts are only handled after installation
                }
                $lastversion = isset($this->_packageInfo['_lastversion']) ?
                    $this->_packageInfo['_lastversion'] : null;
                $task->init($raw, $atts, $lastversion);
                $res = $task->startSession($this, $atts['installed_as']);
                if (!$res) {
                    continue; // skip this file
                }
                if (PEAR::isError($res)) {
                    return $res;
                }
                $assign = &$task;
                $this->_scripts[] = &$assign;
            }
        }
        if (count($this->_scripts)) {
            return true;
        }
        return false;
    }
function initPostinstallScripts ( ) { $ filelist = $ this -> getFilelist ( ) ; $ contents = $ this -> getContents ( ) ; $ contents = $ contents [ 'dir' ] [ 'file' ] ; if ( ! is_array ( $ contents ) || ! isset ( $ contents [ 0 ] ) ) { $ contents = array ( $ contents ) ; } $ taskfiles = array ( ) ; foreach ( $ contents as $ file ) { $ atts = $ file [ 'attribs' ] ; unset ( $ file [ 'attribs' ] ) ; if ( count ( $ file ) ) { $ taskfiles [ $ atts [ 'name' ] ] = $ file ; } } $ common = new PEAR_Common ; $ common -> debug = $ this -> _config -> get ( 'verbose' ) ; $ this -> _scripts = array ( ) ; foreach ( $ taskfiles as $ name => $ tasks ) { if ( ! isset ( $ filelist [ $ name ] ) ) { // file was not installed due to installconditions continue ; } $ atts = $ filelist [ $ name ] ; foreach ( $ tasks as $ tag => $ raw ) { $ taskname = $ this -> getTask ( $ tag ) ; $ task = & new $ taskname ( $ this -> _config , $ common , PEAR_TASK_INSTALL ) ; if ( ! $ task -> isScript ( ) ) { continue ; // scripts are only handled after installation } $ lastversion = isset ( $ this -> _packageInfo [ '_lastversion' ] ) ? $ this -> _packageInfo [ '_lastversion' ] : null ; $ task -> init ( $ raw , $ atts , $ lastversion ) ; $ res = $ task -> startSession ( $ this , $ atts [ 'installed_as' ] ) ; if ( ! $ res ) { continue ; // skip this file } if ( PEAR :: isError ( $ res ) ) { return $ res ; } $ assign = & $ task ; $ this -> _scripts [ ] = & $ assign ; } } if ( count ( $ this -> _scripts ) ) { return true ; } return false ; }
Initialize post-install scripts for running

This method can be used to detect post-install scripts, as the return value
indicates whether any exist
@return bool
Initialize post - install scripts for running