2001-09-14 21:45:06 +02:00
|
|
|
<?php
|
|
|
|
/**************************************************************************\
|
|
|
|
* phpGroupWare - administration *
|
|
|
|
* http://www.phpgroupware.org *
|
|
|
|
* -------------------------------------------- *
|
|
|
|
* This program is free software; you can redistribute it and/or modify it *
|
|
|
|
* under the terms of the GNU General Public License as published by the *
|
|
|
|
* Free Software Foundation; either version 2 of the License, or (at your *
|
|
|
|
* option) any later version. *
|
|
|
|
\**************************************************************************/
|
|
|
|
|
|
|
|
/* $Id$ */
|
|
|
|
|
|
|
|
class soapplications
|
|
|
|
{
|
|
|
|
var $db;
|
|
|
|
|
|
|
|
function soapplications()
|
|
|
|
{
|
|
|
|
$this->db = $GLOBALS['phpgw']->db;
|
|
|
|
}
|
|
|
|
|
|
|
|
function read($app_name)
|
|
|
|
{
|
|
|
|
$sql = "SELECT * FROM phpgw_applications WHERE app_name='$app_name'";
|
|
|
|
|
|
|
|
$this->db->query($sql,__LINE__,__FILE__);
|
|
|
|
$this->db->next_record();
|
|
|
|
$app_info = array(
|
|
|
|
$this->db->f('app_name'),
|
2002-10-27 00:40:09 +02:00
|
|
|
$this->db->f('app_name'),
|
2001-09-14 21:45:06 +02:00
|
|
|
$this->db->f('app_enabled'),
|
|
|
|
$this->db->f('app_name'),
|
|
|
|
$this->db->f('app_order')
|
|
|
|
);
|
|
|
|
return $app_info;
|
|
|
|
}
|
|
|
|
|
|
|
|
function get_list()
|
|
|
|
{
|
2002-01-06 06:01:29 +01:00
|
|
|
$this->db->query('SELECT * FROM phpgw_applications WHERE app_enabled<3',__LINE__,__FILE__);
|
2001-09-14 21:45:06 +02:00
|
|
|
if($this->db->num_rows())
|
|
|
|
{
|
|
|
|
while ($this->db->next_record())
|
|
|
|
{
|
|
|
|
$apps[$this->db->f('app_name')] = array(
|
2002-10-27 00:40:09 +02:00
|
|
|
'title' => str_replace('- ','-',ucwords(str_replace('_','- ',$this->db->f('app_name')))),
|
2001-09-14 21:45:06 +02:00
|
|
|
'name' => $this->db->f('app_name'),
|
|
|
|
'status' => $this->db->f('app_enabled')
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@reset($apps);
|
|
|
|
return $apps;
|
|
|
|
}
|
|
|
|
|
2001-09-14 21:53:24 +02:00
|
|
|
function add($data)
|
|
|
|
{
|
2001-11-30 02:13:31 +01:00
|
|
|
/* Yes, the sequence should work, but after a mass import in setup (new install)
|
|
|
|
it does not work on pg
|
|
|
|
*/
|
2002-01-06 06:01:29 +01:00
|
|
|
$sql = 'SELECT MAX(app_id) from phpgw_applications';
|
2001-11-30 02:13:31 +01:00
|
|
|
$this->db->query($sql,__LINE__,__FILE__);
|
|
|
|
$this->db->next_record();
|
|
|
|
$app_id = $this->db->f(0) + 1;
|
2002-10-27 00:40:09 +02:00
|
|
|
$sql = 'INSERT INTO phpgw_applications (app_id,app_name,app_enabled,app_order) VALUES('
|
|
|
|
. $app_id . ",'" . addslashes($data['n_app_name']) . "','"
|
2001-09-14 21:53:24 +02:00
|
|
|
. $data['n_app_status'] . "','" . $data['app_order'] . "')";
|
|
|
|
|
|
|
|
$this->db->query($sql,__LINE__,__FILE__);
|
|
|
|
return True;
|
|
|
|
}
|
|
|
|
|
2001-09-14 21:45:06 +02:00
|
|
|
function save($data)
|
|
|
|
{
|
|
|
|
$sql = "UPDATE phpgw_applications SET app_name='" . addslashes($data['n_app_name']) . "',"
|
2002-10-27 00:40:09 +02:00
|
|
|
. "app_enabled='" . $data['n_app_status'] . "',app_order='" . $data['app_order']
|
|
|
|
. "' WHERE app_name='" . $data['old_app_name'] . "'";
|
2001-09-14 21:45:06 +02:00
|
|
|
|
|
|
|
$this->db->query($sql,__LINE__,__FILE__);
|
|
|
|
return True;
|
|
|
|
}
|
|
|
|
|
|
|
|
function exists($app_name)
|
|
|
|
{
|
2001-11-30 02:13:31 +01:00
|
|
|
$this->db->query("SELECT COUNT(app_name) FROM phpgw_applications WHERE app_name='" . addslashes($app_name) . "'",__LINE__,__FILE__);
|
2001-09-14 21:45:06 +02:00
|
|
|
$this->db->next_record();
|
|
|
|
|
|
|
|
if ($this->db->f(0) != 0)
|
|
|
|
{
|
|
|
|
return True;
|
|
|
|
}
|
|
|
|
return False;
|
|
|
|
}
|
|
|
|
|
|
|
|
function app_order()
|
|
|
|
{
|
2002-04-14 16:51:25 +02:00
|
|
|
$this->db->query('SELECT (MAX(app_order)+1) FROM phpgw_applications',__LINE__,__FILE__);
|
2001-09-14 21:45:06 +02:00
|
|
|
$this->db->next_record();
|
2002-04-14 16:51:25 +02:00
|
|
|
return $this->db->f(0);
|
2001-09-14 21:45:06 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function delete($app_name)
|
|
|
|
{
|
|
|
|
$this->db->query("DELETE FROM phpgw_applications WHERE app_name='$app_name'",__LINE__,__FILE__);
|
|
|
|
}
|
2002-01-06 06:01:29 +01:00
|
|
|
|
|
|
|
function register_hook($app)
|
|
|
|
{
|
|
|
|
$this->db->query("INSERT INTO phpgw_hooks(hook_appname,hook_location,hook_filename) "
|
|
|
|
. "VALUES ('".$app['app_name']."','".$app['hook']."','hook_".$app['hook'].".inc.php')",__LINE__,__FILE__
|
|
|
|
);
|
|
|
|
}
|
2001-09-14 21:45:06 +02:00
|
|
|
}
|