. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ G::LoadClass('Installer'); $inst = new Installer(); G::LoadClass('processes'); $oProcess = new Processes(); //Get Available autoinstall process $availablePlugins = $inst->getDirectoryFiles(PATH_OUTTRUNK."autoinstall","tar"); rsort($availablePlugins); $path=PATH_OUTTRUNK."autoinstall".PATH_SEP; $message=""; foreach($availablePlugins as $filename){ G::LoadThirdParty( 'pear/Archive','Tar'); $tar = new Archive_Tar ( $path. $filename); $sFileName = substr($filename,0,strrpos($filename, '.' )); $sClassName = substr($filename,0,strpos($filename, '-' )); $aFiles = $tar->listContent(); $bMainFile = false; $bClassFile = false; foreach ( $aFiles as $key => $val ) { if ( $val['filename'] == $sClassName . '.php' ) $bMainFile = true; if ( $val['filename'] == $sClassName . PATH_SEP . 'class.' . $sClassName . '.php' ) $bClassFile = true; } if ( $bMainFile && $bClassFile ) { $res = $tar->extract ( PATH_PLUGINS ); } else throw ( new Exception ( "The file $filename doesn't contain class: $sClassName ") ) ; //print "change to ENABLED"; $oPluginRegistry =& PMPluginRegistry::getSingleton(); $pluginFile = $sClassName . '.php'; if ( !file_exists ( PATH_PLUGINS . $sClassName . '.php' ) ) throw ( new Exception( "File '$pluginFile' doesn't exist ") ); require_once ( PATH_PLUGINS . $pluginFile ); $details = $oPluginRegistry->getPluginDetails( $pluginFile ); $oPluginRegistry->installPlugin( $details->sNamespace); $oPluginRegistry->enablePlugin( $details->sNamespace); $oPluginRegistry->setupPlugins(); //get and setup enabled plugins $size = file_put_contents ( PATH_DATA_SITE . 'plugin.singleton', $oPluginRegistry->serializeInstance() ); $message.="$filename - OK
"; } echo $message; ?>