. * * 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;