コード例 #1
0
ファイル: pakeGulliver.php プロジェクト: bqevin/processmaker
function run_pack_plugin($task, $args)
{
    ini_set('display_errors', 'on');
    ini_set('error_reporting', E_ERROR);
    // the environment for poedit always is Development
    define('G_ENVIRONMENT', G_DEV_ENV);
    //the plugin name in the first argument
    if (!isset($args[0])) {
        printf("Error: %s\n", pakeColor::colorize('you must specify a valid name for the plugin', 'ERROR'));
        exit(0);
    }
    $pluginName = $args[0];
    require_once "propel/Propel.php";
    G::LoadSystem('templatePower');
    $pluginDirectory = PATH_PLUGINS . $pluginName;
    $pluginOutDirectory = PATH_OUTTRUNK . 'plugins' . PATH_SEP . $pluginName;
    $pluginHome = PATH_OUTTRUNK . 'plugins' . PATH_SEP . $pluginName;
    //verify if plugin exists,
    $pluginClassFilename = PATH_PLUGINS . $pluginName . PATH_SEP . 'class.' . $pluginName . '.php';
    $pluginFilename = PATH_PLUGINS . $pluginName . '.php';
    if (!is_file($pluginClassFilename)) {
        printf("The plugin %s does not exist in this file %s \n", pakeColor::colorize($pluginName, 'ERROR'), pakeColor::colorize($pluginClassFilename, 'INFO'));
        die;
    }
    G::LoadClass('plugin');
    require_once $pluginFilename;
    $oPluginRegistry =& PMPluginRegistry::getSingleton();
    $pluginDetail = $oPluginRegistry->getPluginDetails($pluginName . '.php');
    $fileTar = $pluginHome . PATH_SEP . $pluginName . '-' . $pluginDetail->iVersion . '.tar';
    G::LoadThirdParty('pear/Archive', 'Tar');
    $tar = new Archive_Tar($fileTar);
    $tar->_compress = false;
    $pathBase = $pluginHome . PATH_SEP . $pluginName . PATH_SEP;
    $tar->createModify($pluginHome . PATH_SEP . $pluginName . '.php', '', $pluginHome);
    addTarFolder($tar, $pathBase, $pluginHome);
    $aFiles = $tar->listContent();
    foreach ($aFiles as $key => $val) {
        printf(" %6d %s \n", $val['size'], pakeColor::colorize($val['filename'], 'INFO'));
    }
    printf("File created in  %s \n", pakeColor::colorize($fileTar, 'INFO'));
    $filesize = sprintf("%5.2f", filesize($fileTar) / 1024);
    printf("Filesize  %s Kb \n", pakeColor::colorize($filesize, 'INFO'));
}
コード例 #2
0
ファイル: skin_Ajax.php プロジェクト: emildev35/processmaker
function addTarFolder($tar, $pathBase, $pluginHome)
{
    $aux = explode(PATH_SEP, $pathBase);
    if ($aux[count($aux) - 2] == '.svn') {
        return;
    }
    if ($handle = opendir($pathBase)) {
        while (false !== ($file = readdir($handle))) {
            if (is_file($pathBase . $file)) {
                //print "file $file \n";
                $tar->addModify($pathBase . $file, '', $pluginHome);
            }
            if (is_dir($pathBase . $file) && $file != '..' && $file != '.') {
                //print "dir $pathBase$file \n";
                addTarFolder($tar, $pathBase . $file . PATH_SEP, $pluginHome);
            }
        }
        closedir($handle);
    }
}
コード例 #3
0
ファイル: skinsExport.php プロジェクト: nshong/processmaker
function packPlugin($pluginName, $version)
{
    $pathBase = PATH_DATA . 'skins' . PATH_SEP . $pluginName . PATH_SEP;
    $pathHome = PATH_DATA . 'skins' . PATH_SEP . $pluginName;
    $fileTar = PATH_DATA . 'skins' . PATH_SEP . $pluginName . '-' . $version . '.tar';
    G::LoadSystem('templatePower');
    /*
      $pluginDirectory    = PATH_PLUGINS  . $pluginName;
      $pluginOutDirectory = PATH_OUTTRUNK . 'plugins' . PATH_SEP . $pluginName;
      $pluginHome         = PATH_OUTTRUNK . 'plugins' . PATH_SEP . $pluginName;
    
      //verify if plugin exists, 
      $pluginClassFilename = PATH_PLUGINS . $pluginName . PATH_SEP . 'class.' . $pluginName . '.php';
      if ( !is_file ( $pluginClassFilename ) ) { 
        printf("The plugin %s doesn't exist in this file %s \n", pakeColor::colorize( $pluginName, 'ERROR'), pakeColor::colorize( $pluginClassFilename, 'INFO') );
        die ;
      }
    */
    G::LoadThirdParty('pear/Archive', 'Tar');
    $tar = new Archive_Tar($fileTar);
    $tar->_compress = false;
    //$tar->createModify( $pathHome . PATH_SEP . $pluginName . '.php' ,'', $pathHome);
    addTarFolder($tar, $pathBase, $pathHome);
    $aFiles = $tar->listContent();
    return $fileTar;
}