PHP Classes

File: web/SSO/bin/pack.php

Recommend this page to a friend!
  Classes of william amed   Raptor 2   web/SSO/bin/pack.php   Download  
File: web/SSO/bin/pack.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 1,934 bytes
 

Contents

Class file image Download
#!/usr/bin/env php
<?php

/* This is the base directory of the simpleSAMLphp installation. */
$baseDir = dirname(dirname(__FILE__));

/* Add library autoloader. */
require_once($baseDir . '/lib/_autoload.php');

if (
count($argv) < 1) {
    echo
"Wrong number of parameters. Run: " . $argv[0] . " [install,show] url [branch]\n"; exit;
}

// Needed in order to make session_start to be called before output is printed.
$session = SimpleSAML_Session::getSessionFromRequest();
$config = SimpleSAML_Configuration::getConfig('config.php');


$action = $argv[1];


function
getModinfo() {
    global
$argv;
    if (
count($argv) < 2)
        throw new
Exception('Missing second parameter: URL/ID');
    return
sspmod_core_ModuleDefinition::load($argv[2]);
}

function
getBranch() {
    global
$argv;
    if (isset(
$argv[3])) return $argv[3];
    return
NULL;
}

switch(
$action) {
    case
'install':
        
$mod = getModinfo();
       
$installer = new sspmod_core_ModuleInstaller($mod);
       
$installer->install(getBranch());
        break;
   
    case
'remove':
        
$mod = getModinfo();
       
$installer = new sspmod_core_ModuleInstaller($mod);
       
$installer->remove(getBranch());
        break;
       
    case
'upgrade':
        
$mod = getModinfo();
       
$installer = new sspmod_core_ModuleInstaller($mod);
       
$installer->upgrade(getBranch());
        break;
   
    case
'upgrade-all' :
       
$mdir = scandir($config->getBaseDir() . 'modules/');
        foreach(
$mdir AS $md) {
            if (!
sspmod_core_ModuleDefinition::validId($md)) continue;
            if (!
sspmod_core_ModuleDefinition::isDefined($md)) continue;
           
$moduledef = sspmod_core_ModuleDefinition::load($md, 'remote');
           
$installer = new sspmod_core_ModuleInstaller($moduledef);
           
            if (
$moduledef->updateExists() || $moduledef->alwaysUpdate()) {
                echo
"Upgrading [" . $md . "]\n";
               
$installer->upgrade();
            } else {
                echo
"No updates available for [" . $md . "]\n";
            }
        }
        break;
           
    default:
        throw new
Exception('Unknown action [' . $action . ']');
}