egroupware_official/psp_admin/inc/class.bo_pspadmin.inc.php
2008-01-03 13:28:15 +00:00

106 lines
2.5 KiB
PHP

<?php
/**
*
*
**/
class bo_pspadmin
{
var $so;
function bo_pspadmin()
{
$this->so = CreateObject('psp_admin.so_pspadmin');
}
function get_installed_modules($wrapper)
{
switch($wrapper)
{
case 'oscommerce':
$fsplugins = $this->so->oscom_fsmodules();
$dbplugins = $this->so->oscom_dbmodules();
foreach($dbplugins as $key=>$plugin)
{
$dbplugins[$key] = substr("$plugin",0,strpos($plugin,".php"));
}
if ($dbplugins=='') $dbplugins = array();
if ($fsplugins=='') $fsplugins = array();
foreach($fsplugins as $record)
{
if(in_array($record, $dbplugins))
{
$_ret[] = array($record,'installed');
} else $_ret[] = array($record, 'not_yet');
}
foreach($dbplugins as $record)
{
if(!in_array($record, $fsplugins))
{
if($record != '') $_ret[] = array($record, 'broken');
}
}
break;
default:
$_ret = 'not yet.';
break;
}
return $_ret;
}
function oscom_install($module)
{
require_once(EGW_INCLUDE_ROOT."/psp_admin/inc/wrap_osc_plugin.php");
$osc_wrap = new wrap_osc_plugin($module);
$debugmess = $osc_wrap->install();
// todo: if and only if it really happened
// insert it into the PAYMODINSTALLED list
$this->so->oscom_installmod($module);
return $module.' module installed.';
}
function oscom_remove($module)
{
require_once(EGW_INCLUDE_ROOT."/psp_admin/inc/wrap_osc_plugin.php");
$osc_wrap = new wrap_osc_plugin($module);
$debugmess = $osc_wrap->remove();
// todo: if and only if it really happened
// remove it from the PAYMODINSTALLED list
$this->so->oscom_removemod($module);
return $module.' module removed.';
}
function oscom_broken($module)
{
return 'error.';
}
function config_module($module)
{
// form based on keys, values and types of plugin
//
require_once(EGW_INCLUDE_ROOT."/psp_admin/inc/wrap_osc_plugin.php");
$osc_wrap = new wrap_osc_plugin($module);
// get the keys and their values
$plugin_keys = $osc_wrap->keys();
foreach($plugin_keys as $record)
{
$plugin_values[] = $this->so->oscmod_values($record);
$plugin_functions[$record] = $this->so->oscmod_functions($record);
}
// create displaybox 2d-array pluginkey[title, value, description]
foreach($plugin_keys as $key=>$record)
{
//$display[$record] = array_values($plugin_values[$key]);
$display[$record] = $plugin_values[$key];
}
return array($display, $plugin_functions);
}
}