forked from extern/egroupware
431 lines
14 KiB
PHP
431 lines
14 KiB
PHP
<?php
|
|
/**
|
|
* eGroupWare - resources
|
|
* http://www.egroupware.org
|
|
* Created by eTemplates DB-Tools written by ralfbecker@outdoor-training.de
|
|
*
|
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
|
* @package resources
|
|
* @subpackage setup
|
|
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
|
*/
|
|
|
|
use EGroupware\Api;
|
|
use EGroupware\Api\Vfs;
|
|
|
|
function resources_upgrade0_0_1_008()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','picture_src',array(
|
|
'type' => 'varchar',
|
|
'precision' => '20'
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.012';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_012()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','picture_thumb',array(
|
|
'type' => 'blob'
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.013';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_013()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->DropColumn('egw_resources',array(
|
|
'fd' => array(
|
|
'id' => array('type' => 'auto'),
|
|
'name' => array('type' => 'varchar','precision' => '100'),
|
|
'short_description' => array('type' => 'varchar','precision' => '100'),
|
|
'cat_id' => array('type' => 'int','precision' => '11','nullable' => False),
|
|
'quantity' => array('type' => 'int','precision' => '11'),
|
|
'useable' => array('type' => 'int','precision' => '11'),
|
|
'location' => array('type' => 'varchar','precision' => '100'),
|
|
'bookable' => array('type' => 'varchar','precision' => '1'),
|
|
'buyable' => array('type' => 'varchar','precision' => '1'),
|
|
'prize' => array('type' => 'varchar','precision' => '200'),
|
|
'long_description' => array('type' => 'longtext'),
|
|
'accessories' => array('type' => 'varchar','precision' => '50'),
|
|
'picture_src' => array('type' => 'varchar','precision' => '20'),
|
|
'picture_thumb' => array('type' => 'blob')
|
|
),
|
|
'pk' => array('id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
),'picture');
|
|
$GLOBALS['phpgw_setup']->oProc->DropColumn('egw_resources',array(
|
|
'fd' => array(
|
|
'id' => array('type' => 'auto'),
|
|
'name' => array('type' => 'varchar','precision' => '100'),
|
|
'short_description' => array('type' => 'varchar','precision' => '100'),
|
|
'cat_id' => array('type' => 'int','precision' => '11','nullable' => False),
|
|
'quantity' => array('type' => 'int','precision' => '11'),
|
|
'useable' => array('type' => 'int','precision' => '11'),
|
|
'location' => array('type' => 'varchar','precision' => '100'),
|
|
'bookable' => array('type' => 'varchar','precision' => '1'),
|
|
'buyable' => array('type' => 'varchar','precision' => '1'),
|
|
'prize' => array('type' => 'varchar','precision' => '200'),
|
|
'long_description' => array('type' => 'longtext'),
|
|
'accessories' => array('type' => 'varchar','precision' => '50'),
|
|
'picture_src' => array('type' => 'varchar','precision' => '20')
|
|
),
|
|
'pk' => array('id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
),'picture_thumb');
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.014';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_014()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AlterColumn('egw_resources','quantity',array(
|
|
'type' => 'int',
|
|
'precision' => '11',
|
|
'default' => '1'
|
|
));
|
|
$GLOBALS['phpgw_setup']->oProc->AlterColumn('egw_resources','useable',array(
|
|
'type' => 'int',
|
|
'precision' => '11',
|
|
'default' => '1'
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.015';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_015()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AlterColumn('egw_resources','accessories',array(
|
|
'type' => 'varchar',
|
|
'precision' => '100'
|
|
));
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','accessory_only',array(
|
|
'type' => 'varchar',
|
|
'precision' => '1',
|
|
'default' => '0'
|
|
));
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','relatives',array(
|
|
'type' => 'varchar',
|
|
'precision' => '100'
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.016';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_016()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->DropColumn('egw_resources',array(
|
|
'fd' => array(
|
|
'id' => array('type' => 'auto'),
|
|
'name' => array('type' => 'varchar','precision' => '100'),
|
|
'short_description' => array('type' => 'varchar','precision' => '100'),
|
|
'cat_id' => array('type' => 'int','precision' => '11','nullable' => False),
|
|
'quantity' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'useable' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'location' => array('type' => 'varchar','precision' => '100'),
|
|
'bookable' => array('type' => 'varchar','precision' => '1'),
|
|
'buyable' => array('type' => 'varchar','precision' => '1'),
|
|
'prize' => array('type' => 'varchar','precision' => '200'),
|
|
'long_description' => array('type' => 'longtext'),
|
|
'accessories' => array('type' => 'varchar','precision' => '100'),
|
|
'picture_src' => array('type' => 'varchar','precision' => '20'),
|
|
'relatives' => array('type' => 'varchar','precision' => '100')
|
|
),
|
|
'pk' => array('id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
),'accessory_only');
|
|
$GLOBALS['phpgw_setup']->oProc->DropColumn('egw_resources',array(
|
|
'fd' => array(
|
|
'id' => array('type' => 'auto'),
|
|
'name' => array('type' => 'varchar','precision' => '100'),
|
|
'short_description' => array('type' => 'varchar','precision' => '100'),
|
|
'cat_id' => array('type' => 'int','precision' => '11','nullable' => False),
|
|
'quantity' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'useable' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'location' => array('type' => 'varchar','precision' => '100'),
|
|
'bookable' => array('type' => 'varchar','precision' => '1'),
|
|
'buyable' => array('type' => 'varchar','precision' => '1'),
|
|
'prize' => array('type' => 'varchar','precision' => '200'),
|
|
'long_description' => array('type' => 'longtext'),
|
|
'accessories' => array('type' => 'varchar','precision' => '100'),
|
|
'picture_src' => array('type' => 'varchar','precision' => '20')
|
|
),
|
|
'pk' => array('id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
),'relatives');
|
|
$GLOBALS['phpgw_setup']->oProc->DropColumn('egw_resources',array(
|
|
'fd' => array(
|
|
'id' => array('type' => 'auto'),
|
|
'name' => array('type' => 'varchar','precision' => '100'),
|
|
'short_description' => array('type' => 'varchar','precision' => '100'),
|
|
'cat_id' => array('type' => 'int','precision' => '11','nullable' => False),
|
|
'quantity' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'useable' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'location' => array('type' => 'varchar','precision' => '100'),
|
|
'bookable' => array('type' => 'varchar','precision' => '1'),
|
|
'buyable' => array('type' => 'varchar','precision' => '1'),
|
|
'prize' => array('type' => 'varchar','precision' => '200'),
|
|
'long_description' => array('type' => 'longtext'),
|
|
'picture_src' => array('type' => 'varchar','precision' => '20')
|
|
),
|
|
'pk' => array('id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
),'accessories');
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','accessory_of',array(
|
|
'type' => 'int',
|
|
'precision' => '11',
|
|
'default' => '-1'
|
|
));
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.017';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_017()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->RenameColumn('egw_resources','id','res_id');
|
|
$GLOBALS['phpgw_setup']->oProc->RefreshTable('egw_resources',array(
|
|
'fd' => array(
|
|
'res_id' => array('type' => 'auto'),
|
|
'name' => array('type' => 'varchar','precision' => '100'),
|
|
'short_description' => array('type' => 'varchar','precision' => '100'),
|
|
'cat_id' => array('type' => 'int','precision' => '11','nullable' => False),
|
|
'quantity' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'useable' => array('type' => 'int','precision' => '11','default' => '1'),
|
|
'location' => array('type' => 'varchar','precision' => '100'),
|
|
'bookable' => array('type' => 'varchar','precision' => '1'),
|
|
'buyable' => array('type' => 'varchar','precision' => '1'),
|
|
'prize' => array('type' => 'varchar','precision' => '200'),
|
|
'long_description' => array('type' => 'longtext'),
|
|
'picture_src' => array('type' => 'varchar','precision' => '20'),
|
|
'accessory_of' => array('type' => 'int','precision' => '11','default' => '-1')
|
|
),
|
|
'pk' => array('res_id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.018';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_018()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','storage_info',array(
|
|
'type' => 'varchar',
|
|
'precision' => '200'
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.019';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_019()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','inventory_number',array(
|
|
'type' => 'varchar',
|
|
'precision' => '20'
|
|
));
|
|
|
|
$GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.020';
|
|
return $GLOBALS['setup_info']['resources']['currentver'];
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_020()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->CreateTable('egw_resources_extra',array(
|
|
'fd' => array(
|
|
'extra_id' => array('type' => 'int','precision' => '4','nullable' => False),
|
|
'extra_name' => array('type' => 'varchar','precision' => '40','nullable' => False),
|
|
'extra_owner' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '-1'),
|
|
'extra_value' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '')
|
|
),
|
|
'pk' => array('extra_id','extra_name','extra_owner'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '0.0.1.021';
|
|
}
|
|
|
|
|
|
function resources_upgrade0_0_1_021()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.2';
|
|
}
|
|
|
|
|
|
function resources_upgrade1_2()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.4';
|
|
}
|
|
|
|
|
|
/**
|
|
* Move resource pictures into the regular attachmen dirs with name .picture.jpg
|
|
*
|
|
* @return string
|
|
*/
|
|
function resources_upgrade1_4()
|
|
{
|
|
Vfs::$is_root = true;
|
|
Vfs::load_wrapper('sqlfs');
|
|
if (Vfs::is_dir('/resources/pictures'))
|
|
{
|
|
Vfs::remove('/resources/pictures/thumbs'); // remove thumb dir incl. thumbnails
|
|
foreach(Vfs::find('sqlfs://default/resources/pictures',array('url' => true)) as $url)
|
|
{
|
|
if (is_numeric($id = basename($url,'.jpg')))
|
|
{
|
|
if (!Vfs::is_dir($dir = "/apps/resources/$id"))
|
|
{
|
|
Vfs::mkdir($dir,0777,STREAM_MKDIR_RECURSIVE);
|
|
}
|
|
rename($url,'sqlfs://default'.$dir.'/.picture.jpg'); // we need to rename on the same wrapper!
|
|
}
|
|
}
|
|
Vfs::rmdir('/resources/pictures',0);
|
|
Vfs::rmdir('/resources',0);
|
|
}
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.6';
|
|
}
|
|
|
|
|
|
function resources_upgrade1_6()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.8';
|
|
}
|
|
|
|
|
|
function resources_upgrade1_8()
|
|
{
|
|
// add location category required for CalDAV to distinguish between locations and resources
|
|
$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => Api\Categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'Locations','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
|
|
$locations_cat_id = $GLOBALS['egw_setup']->db->get_last_insert_id($GLOBALS['egw_setup']->cats_table,'cat_id');
|
|
Api\Config::save_value('location_cats', $locations_cat_id, 'resources');
|
|
|
|
// Give default group all rights to this general cat
|
|
$defaultgroup = $GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);
|
|
$GLOBALS['egw_setup']->add_acl('resources','run',$defaultgroup);
|
|
$GLOBALS['egw_setup']->add_acl('resources',"L$locations_cat_id",$defaultgroup,399);
|
|
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.9.001';
|
|
}
|
|
|
|
|
|
function resources_upgrade1_9_001()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->AddColumn('egw_resources','deleted',array(
|
|
'type' => 'int',
|
|
'precision' => '8'
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.9.002';
|
|
}
|
|
|
|
|
|
function resources_upgrade1_9_002()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.9.003';
|
|
}
|
|
|
|
|
|
function resources_upgrade1_9_003()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->AddColumn('egw_resources','res_creator',array(
|
|
'type' => 'int',
|
|
'meta' => 'user',
|
|
'precision' => '11'
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AddColumn('egw_resources','res_created',array(
|
|
'type' => 'int',
|
|
'meta' => 'timestamp',
|
|
'precision' => '8'
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AddColumn('egw_resources','res_modifier',array(
|
|
'type' => 'int',
|
|
'meta' => 'user',
|
|
'precision' => '11'
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AddColumn('egw_resources','res_modified',array(
|
|
'type' => 'int',
|
|
'meta' => 'timestamp',
|
|
'precision' => '8'
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '1.9.004';
|
|
}
|
|
|
|
function resources_upgrade1_9_004()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '14.1';
|
|
}
|
|
|
|
function resources_upgrade14_1()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '16.1';
|
|
}
|
|
|
|
function resources_upgrade16_1()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '17.1';
|
|
}
|
|
|
|
/**
|
|
* Bump version to 19.1
|
|
*
|
|
* @return string
|
|
*/
|
|
function resources_upgrade17_1()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '19.1';
|
|
}
|
|
|
|
function resources_upgrade19_1()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_resources_extra','extra_value',array(
|
|
'type' => 'varchar',
|
|
'meta' => 'cfvalue',
|
|
'precision' => '16384',
|
|
'nullable' => False,
|
|
'default' => ''
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '19.1.001';
|
|
}
|
|
|
|
/**
|
|
* Bump version to 20.1
|
|
*
|
|
* @return string
|
|
*/
|
|
function resources_upgrade19_1_001()
|
|
{
|
|
return $GLOBALS['setup_info']['resources']['currentver'] = '20.1';
|
|
}
|