[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] api/class.setup.php, 1.1.1.1.2.18
From: |
nomail |
Subject: |
[Phpgroupware-cvs] api/class.setup.php, 1.1.1.1.2.18 |
Date: |
Fri, 14 May 2004 07:58:44 +0200 |
Update of /api
Modified Files:
Branch: proposal-branch
class.setup.php
date: 2004/05/14 05:58:44; author: jengo; state: Exp; lines: +167 -46
Log Message:
Instead of reading preferences from an array, they will be stored in a table
which will be read for the UI ... this is part of the changes to make this work
=====================================================================
Index: api/class.setup.php
diff -u api/class.setup.php:1.1.1.1.2.17 api/class.setup.php:1.1.1.1.2.18
--- api/class.setup.php:1.1.1.1.2.17 Fri Apr 16 20:59:49 2004
+++ api/class.setup.php Fri May 14 05:58:44 2004
@@ -118,23 +118,28 @@
$this->install_log['stage'] = $args['stage'];
- $this->install_log['tab_widget'] = array(
- 0 => array(
+ $this->install_log['tab_widget'] = array
+ (
+ 0 => array
+ (
'title' => lang('Config file'),
'op' => 'api.setup.start&stage=1',
'current' => 0
),
- 1 => array(
+ 1 => array
+ (
'title' => lang('Applications'),
'op' => 'api.setup.start&stage=2',
'current' => 0
),
- 2 => array(
+ 2 => array
+ (
'title' => lang('Configuration'),
'op' => 'api.setup.start&stage=3',
'current' => 0
),
- 3 => array(
+ 3 => array
+ (
'title' => lang('Inital accounts'),
'op' => 'api.setup.start&stage=4',
'current' => 0
@@ -173,35 +178,34 @@
$args->set('log_email', NOTSET);
$args = $args->get(func_get_args());
- if(isset($args['action']))
+ if (isset($args['action']))
{
- if(empty($args['baseurl']))
+ if (empty($args['baseurl']))
{
$args['baseurl'] = 'index.php';
}
- if(!isset($args['db_name']) ||
- !isset($args['db_user'])
- )
+
+ if (! isset($args['db_name']) || !
isset($args['db_user']))
{
$GLOBALS['msgbox']->add('Not all
required params were set!', 'warning');
return $this->editconfigfile();
}
- $config['server']['db_host'] = $args['db_host'];
- $config['server']['db_name'] = $args['db_name'];
- $config['server']['db_user'] = $args['db_user'];
- $config['server']['db_pass'] = $args['db_pass'];
- $config['server']['db_type'] = $args['db_type'];
- $config['server']['baseurl'] = $args['baseurl'];
+ $config['server']['db_host'] =
$args['db_host'];
+ $config['server']['db_name'] =
$args['db_name'];
+ $config['server']['db_user'] =
$args['db_user'];
+ $config['server']['db_pass'] =
$args['db_pass'];
+ $config['server']['db_type'] =
$args['db_type'];
+ $config['server']['baseurl'] =
$args['baseurl'];
$config['server']['default_anon_op'] =
$args['default_anon_op'];
- $config['server']['session_type'] =
$args['session_type'];
- $config['server']['session_method'] =
$args['session_method'];
- $config['errconf']['err_report'] =
$args['err_report'];
- $config['errconf']['err_log'] =
$args['err_log'];
- $config['errconf']['err_email'] =
$args['err_email'];
- $config['errconf']['log_table'] =
$args['log_table'];
- $config['errconf']['log_file'] =
$args['log_file'];
- $config['errconf']['log_email'] =
$args['log_email'];
+ $config['server']['session_type'] =
$args['session_type'];
+ $config['server']['session_method'] =
$args['session_method'];
+ $config['errconf']['err_report'] =
$args['err_report'];
+ $config['errconf']['err_log'] =
$args['err_log'];
+ $config['errconf']['err_email'] =
$args['err_email'];
+ $config['errconf']['log_table'] =
$args['log_table'];
+ $config['errconf']['log_file'] =
$args['log_file'];
+ $config['errconf']['log_email'] =
$args['log_email'];
$filecontents = '<?php'."\n";
$filecontents .= '$phpgw_config = '."'";
$filecontents .= var2xml($config, 'config');
@@ -219,10 +223,10 @@
exit;
break;
case 'view':
-
$GLOBALS['msgbox']->add('This is your config.', 'notice');
-
$config['server']['text'] = $filecontents;
- $config['configtext'] =
$filecontents;
- return $config;
+ $GLOBALS['msgbox']->add('This
is your config.', 'notice');
+ $config['server']['text'] =
$filecontents;
+ $config['configtext'] =
$filecontents;
+ return $config;
break;
case 'write config':
if(is_writeable(PHPGW_ROOT.SEP.'config.inc.php') ||
(!file_exists(PHPGW_ROOT.SEP.'config.inc.php') && is_writeable(PHPGW_ROOT)))
@@ -240,6 +244,7 @@
}
break;
}
+
define('PHPGW_FINISHED', true);
echo $filecontents;
exit;
@@ -299,29 +304,54 @@
$current_version =
$apps->get_version($val);
if ($current_version == false)
{
-
$this->install_log['install_app'][] =
array('name'=>$val['title'].'('.$val['version'].')', 'status'=>'Not installed');
+
$this->install_log['install_app'][] = array
+ (
+ 'name' =>
$val['title'] . '(' . $val['version'] . ')',
+ 'status' =>
'Not installed'
+ );
}
elseif($current_version >
$val['version'])
{
-
$this->install_log['install_app'][] =
array('name'=>$val['title'].'('.$val['version'].')', 'status'=>'Need
downgrading');
+
$this->install_log['install_app'][] = array
+ (
+ 'name' =>
$val['title'] . '(' . $val['version'] . ')',
+ 'status' =>
'Need downgrading'
+ );
}
elseif ($val['version'] >
$current_version)
{
-
$this->install_log['install_app'][] =
array('name'=>$val['title'].'('.$val['version'].')', 'status'=>'Need
upgrading');
+
$this->install_log['install_app'][] = array
+ (
+ 'name' =>
$val['title'] . '(' . $val['version'] . ')',
+ 'status' =>
'Need upgrading'
+ );
}
elseif ($val['version'] ==
$current_version)
{
-
$this->install_log['install_app'][] =
array('name'=>$val['title'].'('.$val['version'].')', 'status'=>'Installed');
+
$this->install_log['install_app'][] = array
+ (
+ 'name' =>
$val['title'] . '(' . $val['version'] . ')',
+ 'status' =>
'Installed'
+ );
}
}
error_reporting($old_level);
break;
case 'Install':
$this->install_log['install_app'] =
array();
- $this->flow =
array('more_depends'=>true,'activity'=>true, 'pass'=>0);
+ $this->flow = array
+ (
+ 'more_depends' => true,
+ 'activity' => true,
+ 'pass' => 0
+ );
while($this->flow['more_depends'] &&
$this->flow['activity'])
{
- $this->flow =
array('more_depends'=>false,'activity'=>false);
+ $this->flow = array
+ (
+ 'more_depends' => false,
+ 'activity' => false
+ );
reset ($this->apps_data);
foreach($this->apps_data as
$val)
{
@@ -355,6 +385,24 @@
return $this->install_log;
}
+ function __add_app_pref_value($id,$text,$value)
+ {
+ $GLOBALS['phpgw']->db->execute("
+ INSERT INTO
+ phpgw_apps_prefs_values
+ (
+ pv_id,
+ pv_text,
+ pv_value
+ )
+ VALUES
+ (
+ " . $id . ",
+ '" . $text . "',
+ '" . $value . "'
+ )");
+ }
+
function process_install($data)
{
$old_level = error_reporting(0);
@@ -373,10 +421,76 @@
if($apps->add($data['name'], $data['title'],
$data['version']))
{
$this->flow['activity'] = true;
- $this->install_log['install_app'][] =
array('name' => $data['name'],
- 'status'
=> 'Installed'
+ $this->install_log['install_app'][] =
array
+ (
+ 'name' => $data['name'],
+ 'status' => 'Installed'
);
+ //$GLOBALS['phpgw']->db->transbegin();
+ foreach ($data['prefs'] as $key =>
$_pref)
+ {
+ foreach ($_pref as $key =>
$pref)
+ {
+ switch
(strtolower($pref['type']))
+ {
+ case
'selectbox':
+ $type =
'S';
+ break;
+ case 'checkbox':
+ $type =
'C';
+ break;
+ case 'inputbox':
+ $type =
'I';
+ break;
+ default:
+ $type =
'?';
+ }
+
+
$GLOBALS['phpgw']->db->execute("
+ INSERT INTO
+
phpgw_apps_prefs
+ (
+
pref_appname,
+
pref_type,
+
pref_name,
+
pref_label
+ )
+ VALUES
+ (
+ '" .
$data['name'] . "',
+ '" .
$type . "',
+ '" .
$pref['name'] . "',
+ '" .
$pref['label'] . "'
+ )");
+
+ $dbresult =
$GLOBALS['phpgw']->db->execute("
+ SELECT
+ pref_id
+ FROM
+
phpgw_apps_prefs
+ WHERE
+
pref_appname='" . $data['name'] . "'
+ AND
+
pref_name='" . $pref['name'] . "'");
+
+ if
(strtolower($pref['type']) == 'selectbox')
+ {
+ foreach
($pref['values'] as $_pref_value)
+ {
+ foreach
($_pref_value as $pref_value)
+ {
+
$this->__add_app_pref_value($dbresult->fields['pref_id'],$pref_value['text'],$pref_value['value']);
+ }
+ }
+ }
+ else
+ {
+
$this->__add_app_pref_value($dbresult->fields['pref_id'],'',$pref['value']);
+ }
+ }
+ }
+
foreach ($data['acl_locations'] as $key
=> $acl_location)
{
if (count($acl_location) == 3)
@@ -407,6 +521,7 @@
. "')");
}
+ //$GLOBALS['phpgw']->db->transcommit();
}
else
{
@@ -418,14 +533,18 @@
//$this->process_hooks($data['hooks']);
//$apps->add($data['name'], $data['title'],
$data['version']);
$this->flow['activity'] = true;
- $this->install_log['install_app'][] =
array('name' => $data['name'],
- 'status' =>
'Upgraded'
+ $this->install_log['install_app'][] = array
+ (
+ 'name' => $data['name'],
+ 'status' => 'Upgraded'
);
}
elseif($this->flow['pass'] == '0')
{
- $this->install_log['install_app'][] =
array('name' => $data['name'],
- 'status' => 'Up
to Date'
+ $this->install_log['install_app'][] = array
+ (
+ 'name' => $data['name'],
+ 'status' => 'Up to Date'
);
}
error_reporting($old_level);
@@ -503,7 +622,7 @@
function process_prefs($data = NOTSET)
{
- $prefs = createObject('api_prefs',
array('account_id'=>'phpgw_default'));
+ $prefs = createObject('api_prefs', array('account_id'
=> 'phpgw_default'));
if($data != NOTSET && is_array($data['prefs_item']))
{
foreach($data['prefs_item'] as $val)
@@ -539,7 +658,8 @@
$admin_id =
$accounts->create($admin_account_info);
if(!is_null($admin_id))
{
- $history_values = array(
+ $history_values = array
+ (
'account_lid' =>
$args['admin_lid'],
'account_firstname' =>
$args['admin_fname'],
'account_lastname' =>
$args['admin_lname'],
@@ -575,7 +695,8 @@
if(!is_null($admin_id))
{
- $history_values = array(
+ $history_values = array
+ (
'account_lid' =>
'anonymous',
'account_firstname' =>
'Anonymous',
'account_lastname' =>
'User',
@@ -583,7 +704,7 @@
);
$history->set('api.accounts.' .
$anon_id,$history_values,array());
- $anon_acl =
createObject('api_acl', array('account_id'=>$anon_id));
+ $anon_acl =
createObject('api_acl', array('account_id' => $anon_id));
$anon_acl->add('wcm.base',1);
$this->install_log['text'] .= '
Anonymous account was created.';
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] api/class.setup.php, 1.1.1.1.2.18,
nomail <=