forked from extern/egroupware
moved filescenter vfs2 tables and classes to filescenter and added index tables
This commit is contained in:
parent
7bd9d6b253
commit
523997b43e
@ -1,276 +0,0 @@
|
|||||||
<?php
|
|
||||||
/***************************************************************************\
|
|
||||||
* eGroupWare - File Manager *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by: *
|
|
||||||
* - Vinicius Cubas Brand <viniciuscb@users.sourceforge.net> *
|
|
||||||
* sponsored by Thyamad - http://www.thyamad.com *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* Description: Custom Field class handler for VFS (SQL implementation v2) *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* 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. *
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
class vfs_customfields
|
|
||||||
{
|
|
||||||
var $db;
|
|
||||||
|
|
||||||
function vfs_customfields()
|
|
||||||
{
|
|
||||||
$this->db = clone($GLOBALS['phpgw']->db);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- #
|
|
||||||
# Functions to associate customfields to a file #
|
|
||||||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- #
|
|
||||||
|
|
||||||
|
|
||||||
//$file_id: the id of the file
|
|
||||||
function & get_fields_by_fileid($file_id)
|
|
||||||
{
|
|
||||||
if (!is_numeric($file_id) || !(((int)$file_id)==$file_id))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
$sql = "SELECT cf.customfield_name as name,
|
|
||||||
cfd.data as data
|
|
||||||
FROM phpgw_vfs2_customfields as cf,
|
|
||||||
phpgw_vfs2_customfields_data as cfd
|
|
||||||
WHERE cf.customfield_id = cfd.customfield_id
|
|
||||||
AND cf.customfield_active = 'Y'
|
|
||||||
AND cfd.file_id = $file_id";
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
$result[$this->db->Record['name']] = $this->db->Record['data'];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//$data = array(file_id => array('field1'=> 'value', ....),
|
|
||||||
// file_id2 => array(...) ... )
|
|
||||||
// Store will do insert or update, depending if the field exists or
|
|
||||||
// not.
|
|
||||||
function store_fields($data)
|
|
||||||
{
|
|
||||||
if (!is_array($data))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
$fields = $this->get_customfields('customfield_name');
|
|
||||||
|
|
||||||
foreach($data as $file_id => $file_data)
|
|
||||||
{
|
|
||||||
foreach($file_data as $name => $value)
|
|
||||||
{
|
|
||||||
//Column type does not exists
|
|
||||||
if (!array_key_exists($name,$fields))
|
|
||||||
{
|
|
||||||
//TODO ERROR HANDLING
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->db->insert('phpgw_vfs2_customfields_data',
|
|
||||||
array('data' => $value),
|
|
||||||
array('file_id'=>$file_id,'customfield_id'=>$fields[$name]['customfield_id']),
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//$data = array('file_id' => array('field1','field2',...),
|
|
||||||
// 'fileid2' => ... )
|
|
||||||
function delete_fields($data)
|
|
||||||
{
|
|
||||||
|
|
||||||
$fields = $this->get_customfields('customfield_name');
|
|
||||||
|
|
||||||
foreach($data as $file_id => $file_fields)
|
|
||||||
{
|
|
||||||
foreach($file_fields as $column_name)
|
|
||||||
{
|
|
||||||
if (!array_key_exists($column_name,$fields))
|
|
||||||
{
|
|
||||||
//TODO ERROR HANDLING
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->db->delete('phpgw_vfs2_customfields_data',
|
|
||||||
array('file_id' => $file_id,'customfield_id'=>$fields[$column_name]['customfield_id']),__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Search the files that have $keyword in any field, or in the fields
|
|
||||||
specified in the array fields
|
|
||||||
@param $fields array('field1','fields2',...)*/
|
|
||||||
function search_files($keyword,$fields=null)
|
|
||||||
{
|
|
||||||
|
|
||||||
$where = '';
|
|
||||||
|
|
||||||
if ($fields)
|
|
||||||
{
|
|
||||||
$customfields = $this->get_customfields('customfield_name');
|
|
||||||
|
|
||||||
foreach ($fields as $field)
|
|
||||||
{
|
|
||||||
if ($customfields[$field])
|
|
||||||
{
|
|
||||||
$cf_ids[] = 'customfield_id='.$customfields[$field]['customfield_id'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($cf_ids)
|
|
||||||
{
|
|
||||||
$where = implode(' OR ',$cf_ids);
|
|
||||||
|
|
||||||
$where = 'AND ('.$where.')';
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$sql = "SELECT file_id
|
|
||||||
FROM phpgw_vfs2_customfields_data
|
|
||||||
WHERE data LIKE '%$keyword%'
|
|
||||||
$where";
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$res = array();
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
$res[] = $this->db->Record['file_id'];
|
|
||||||
}
|
|
||||||
return $res;
|
|
||||||
}
|
|
||||||
|
|
||||||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- #
|
|
||||||
# Functions to manage custom field types #
|
|
||||||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- #
|
|
||||||
|
|
||||||
//Gets all custom field types, indexed by $indexedby.
|
|
||||||
//Example: array( 'customfieldname1' => array('customfield_id'=>x,'customfield_description'=>y,'type'=>z...)...)
|
|
||||||
//@param bool $activeonly If true, brings only active fields
|
|
||||||
function get_customfields($indexedby='customfield_name',$activeonly=true)
|
|
||||||
{
|
|
||||||
$where=($activeonly)?array('customfield_active'=>'Y'):array();
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_customfields','*',$where,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$result = array();
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
$result[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_array($result[0]) || !array_key_exists($indexedby,$result[0]))
|
|
||||||
{
|
|
||||||
$indexedby = 'customfield_name';
|
|
||||||
}
|
|
||||||
|
|
||||||
$result2 = array();
|
|
||||||
foreach($result as $key => $val)
|
|
||||||
{
|
|
||||||
$result2[$val[$indexedby]] = $val;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result2;
|
|
||||||
}
|
|
||||||
|
|
||||||
//samething that $this->get_customfields, but returns an array in the
|
|
||||||
//format array('name' => 'description', 'name2'=>'desc2',...)
|
|
||||||
function get_attributes($activeonly=true)
|
|
||||||
{
|
|
||||||
$where=($activeonly)?array('customfield_active'=>'Y'):array();
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_customfields','*',$where,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
$result[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
|
|
||||||
$result2 = array();
|
|
||||||
foreach($result as $key => $val)
|
|
||||||
{
|
|
||||||
$result2[$val['customfield_name']] = $val['customfield_description'];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Add a new type of custom field
|
|
||||||
//$type can be of the same possible types for egw
|
|
||||||
function add_customfield($name,$description,$type,$precision='',$active='N')
|
|
||||||
{
|
|
||||||
$active = strtoupper($active);
|
|
||||||
|
|
||||||
$res = $this->db->insert('phpgw_vfs2_customfields',array(
|
|
||||||
'customfield_name' => $name,
|
|
||||||
'customfield_description' => $description,
|
|
||||||
'customfield_type' => $type,
|
|
||||||
'customfield_precision' => $precision,
|
|
||||||
'customfield_active' => $active ),
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($res)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Update a customfield type (customfield_name, customfield_description, type, precision, active)
|
|
||||||
function update_customfield($customfield_id,$data)
|
|
||||||
{
|
|
||||||
if (!is_numeric($customfield_id) || !(((int)$customfield_id)==$customfield_id))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($data['customfield_active'])
|
|
||||||
{
|
|
||||||
$data['customfield_active'] = strtoupper($data['customfield_active']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->db->update('phpgw_vfs2_customfields',$data,array('customfield_id'=>$customfield_id),__LINE__,__FILE__))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//generally better inactivate a field than remove.
|
|
||||||
function remove_customfield($customfield_id)
|
|
||||||
{
|
|
||||||
$res = $this->db->delete('phpgw_vfs2_customfields',array('customfield_id'=>$customfield_id),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($res)
|
|
||||||
{
|
|
||||||
$res2 = $this->db->delete('phpgw_vfs2_customfields_data',array('customfield_id'=>$customfield_id),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($res2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,359 +0,0 @@
|
|||||||
<?php
|
|
||||||
/***************************************************************************\
|
|
||||||
* eGroupWare - File Manager *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by: *
|
|
||||||
* - Vinicius Cubas Brand <viniciuscb@users.sourceforge.net> *
|
|
||||||
* sponsored by Thyamad - http://www.thyamad.com *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* Description: Mime type class handler for VFS (SQL implementation v2) *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* 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. *
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
#based on the filetypes.inc.php class by intermesh, see groupoffice.com
|
|
||||||
|
|
||||||
#02 Sep 2004 viniciuscb Initial Release
|
|
||||||
|
|
||||||
class vfs_mimetypes
|
|
||||||
{
|
|
||||||
var $default_filetype_icon;
|
|
||||||
var $db;
|
|
||||||
var $vfs; //Just to get mime types from vfs->get_ext_mime_type()
|
|
||||||
|
|
||||||
var $default_mimetype = "application/OCTET-STREAM";
|
|
||||||
|
|
||||||
function vfs_mimetypes($create_vfs=true)
|
|
||||||
{
|
|
||||||
//use create_vfs=false and after this use $this->set_vfs to keep the
|
|
||||||
// same object (i.e. use reference) in $this->vfs
|
|
||||||
if ($create_vfs)
|
|
||||||
{
|
|
||||||
$this->vfs =& CreateObject('phpgwapi.vfs');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->default_filetype_icon = PHPGW_INCLUDE_ROOT.'/filescenter/icons/default.gif';
|
|
||||||
|
|
||||||
$this->db = clone($GLOBALS['phpgw']->db);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function add_filetype
|
|
||||||
* @description Adds a new mime_type to the mime_types repository
|
|
||||||
* @note One of the two: extension or mime are required
|
|
||||||
* @param extension string A file extension
|
|
||||||
* @param mime string the mime type according to the RFCs 2046/1524
|
|
||||||
* @param friendly string File type description in human-friendly
|
|
||||||
* format
|
|
||||||
* @param image string content of icon file
|
|
||||||
* @param icon_name string complete path filename of icon image
|
|
||||||
* (note: will be used only when icon_data is not set)
|
|
||||||
* @param mime_magic data used for mime_magic functions (planned)
|
|
||||||
* @param return_image bool if true will return the binary data of image
|
|
||||||
* @result Array with mime_id and other mime info, false otherwise
|
|
||||||
*/
|
|
||||||
function add_filetype($data,$return_image=false,$dont_update=false)
|
|
||||||
{
|
|
||||||
if (!$data['extension'] && !$data['mime'])
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (!$data['mime'])
|
|
||||||
{
|
|
||||||
$data['mime'] = $this->get_mime_type($data['extension']);
|
|
||||||
}
|
|
||||||
elseif (!$data['extension'])
|
|
||||||
{
|
|
||||||
$data['extension'] = '(n/a)'; //Thinking in 'Directory'
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$data['friendly'])
|
|
||||||
{
|
|
||||||
if ($data['extension'] != '(n/a)')
|
|
||||||
{
|
|
||||||
$data['friendly'] = strtoupper($data['extension']).' File';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$data['friendly'] = $data['mime'];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$data['image'])
|
|
||||||
{
|
|
||||||
if (!$data['icon_name'] || !file_exists($data['icon_name']))
|
|
||||||
{
|
|
||||||
$data['icon_name'] = $this->default_filetype_icon;
|
|
||||||
}
|
|
||||||
$fp = fopen($data['icon_name'],"r");
|
|
||||||
$data['image'] = fread($fp,filesize($data['icon_name']));
|
|
||||||
fclose($fp);
|
|
||||||
|
|
||||||
$data['image'] = $this->db->quote($data['image'],'blob');
|
|
||||||
|
|
||||||
unset($data['icon_name']);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$where['extension'] = $data['extension'];
|
|
||||||
#$where['mime'] = $data['mime'];
|
|
||||||
|
|
||||||
if ($dont_update)
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes','mime_id',$where,__LINE__,__FILE__);
|
|
||||||
if ($this->db->next_record())
|
|
||||||
{
|
|
||||||
return false; //msgerror Existent register that cannot be overwritten
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$res = $this->db->insert('phpgw_vfs2_mimetypes',$data,$where,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
|
|
||||||
if($res)
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes','mime_id',$where,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
$data['mime_id'] = $this->db->Record['mime_id'];
|
|
||||||
|
|
||||||
if (!$return_image)
|
|
||||||
{
|
|
||||||
unset($data['image']);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function edit_filetype
|
|
||||||
* @description Edits a mime_type of the mime_types repository
|
|
||||||
* @note mime_id required. Will change only passed vars.
|
|
||||||
* @param extension string A file extension
|
|
||||||
* @param mime string the mime type according to the RFCs 2046/1524
|
|
||||||
* @param friendly string File type description in human-friendly
|
|
||||||
* format
|
|
||||||
* @param image string content of icon file
|
|
||||||
* @param icon_name string complete path filename of icon image
|
|
||||||
* (note: will be used only when icon_data is not set)
|
|
||||||
* @param mime_magic data used for mime_magic functions (planned)
|
|
||||||
* @param return_image bool if true will return the binary data of image
|
|
||||||
* @result Array with mime_id and other mime info, false otherwise
|
|
||||||
*/
|
|
||||||
function edit_filetype($data,$return_image=false)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (!$data['mime_id'])
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$where['mime_id'] = $data['mime_id'];
|
|
||||||
|
|
||||||
if ($data['image'])
|
|
||||||
{
|
|
||||||
$data['image'] = $this->db->quote($data['image'],'blob');
|
|
||||||
}
|
|
||||||
|
|
||||||
$res = $this->db->update('phpgw_vfs2_mimetypes',$data,$where,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
|
|
||||||
if($res)
|
|
||||||
{
|
|
||||||
if ($return_image)
|
|
||||||
{
|
|
||||||
$return_fields = '*';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$return_fields = 'mime_id,extension,mime,friendly,mime_magic,proper_id';
|
|
||||||
}
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes',$return_fields,$where,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
return $this->db->Record;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get_type
|
|
||||||
* @description Returns a mime type, based in extension or mime_id
|
|
||||||
* @param $desc array have index 'extension', 'mime_id' or 'mime'
|
|
||||||
* @param $return_image if true will return the binary data of image
|
|
||||||
* @result Array with mime_id and other mime info, false otherwise
|
|
||||||
*/
|
|
||||||
function get_type($data, $return_image=false)
|
|
||||||
{
|
|
||||||
//TODO error messages
|
|
||||||
if ((!$data['extension'] || $data['extension'] == '(n/a)') &&
|
|
||||||
!$data['mime_id'] && !$data['mime'])
|
|
||||||
return false;
|
|
||||||
|
|
||||||
|
|
||||||
$return_fields = ($return_image)?'*':'mime_id,extension,friendly,mime_magic,mime,proper_id';
|
|
||||||
|
|
||||||
if ($data['mime_id'])
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes',$return_fields,
|
|
||||||
array('mime_id'=>$data['mime_id']),__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
else if ($data['extension'])
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes',$return_fields,
|
|
||||||
array('extension'=>$data['extension']),__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
else if ($data['mime'])
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes',$return_fields,
|
|
||||||
array('mime'=>$data['mime']),__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($data['extension'] && $data['mime'])
|
|
||||||
{
|
|
||||||
//if there is extension and mime specified and nothing was found only with extension, search mime
|
|
||||||
if ($this->db->next_record())
|
|
||||||
return $this->db->Record;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes',$return_fields,
|
|
||||||
array('mime'=>$data['mime']),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($this->db->next_record())
|
|
||||||
return $this->db->Record;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($this->db->next_record())
|
|
||||||
return $this->db->Record;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get_filetypes
|
|
||||||
* @description Returns an array with all file types in the repository
|
|
||||||
* @param $return_images if true, the images are returned in the array
|
|
||||||
* @param $offset int if specified, will bring a subset of repository
|
|
||||||
* @result Array: $arr[1]['mime_id'] ...
|
|
||||||
*/
|
|
||||||
function get_filetypes($return_images=false,$offset=false)
|
|
||||||
{
|
|
||||||
$return_fields = ($return_images)?'*':'mime_id,extension,friendly,mime_magic,mime,proper_id';
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_mimetypes',$return_fields,false,
|
|
||||||
__LINE__,__FILE__,$offset);
|
|
||||||
|
|
||||||
$result = array();
|
|
||||||
while ($this->db->next_record())
|
|
||||||
{
|
|
||||||
$result[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function update_filetype
|
|
||||||
* @description Updates a file type information in the filetype
|
|
||||||
* repository
|
|
||||||
* @param $return_image if true will return the binary data of image
|
|
||||||
* @note parameters in $data: the same of add_filetype()
|
|
||||||
* @result bool true on success, false otherwise
|
|
||||||
*/
|
|
||||||
function update_filetype($data)
|
|
||||||
{
|
|
||||||
if (!$data['mime_id'])
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($data['icon_name'])
|
|
||||||
{
|
|
||||||
if (file_exists($data['icon_name']))
|
|
||||||
{
|
|
||||||
$fp = fopen($data['icon_name'],"r");
|
|
||||||
$data['image'] = fread($fp,filesize($icon));
|
|
||||||
fclose($fp);
|
|
||||||
}
|
|
||||||
|
|
||||||
$data['image'] = $this->db->quote($data['image'],'blob');
|
|
||||||
|
|
||||||
unset($data['icon_name']);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$where['mime_id'] = $data['mime_id'];
|
|
||||||
|
|
||||||
if ($this->db->update('phpgw_vfs2_mimetypes',$data,$where,__LINE__,
|
|
||||||
__FILE__))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function delete_filetype
|
|
||||||
* @description deletes a type from the file type repository
|
|
||||||
* @param $mime_id the mime_id of the record
|
|
||||||
* @result bool true on success, false otherwise
|
|
||||||
*/
|
|
||||||
function delete_filetype($mime_id)
|
|
||||||
{
|
|
||||||
if ($this->db->delete('phpgw_vfs2_mimetypes',
|
|
||||||
array('mime_id'=>$mime_id),__LINE__,__FILE__))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function set_vfs(&$vfs)
|
|
||||||
{
|
|
||||||
$this->vfs =& $vfs;
|
|
||||||
}
|
|
||||||
|
|
||||||
#private methods
|
|
||||||
|
|
||||||
function get_mime_type($extension)
|
|
||||||
{
|
|
||||||
return $this->vfs->get_ext_mime_type(array('string'=>$extension));
|
|
||||||
}
|
|
||||||
|
|
||||||
function default_values ($data, $default_values)
|
|
||||||
{
|
|
||||||
for ($i = 0; list ($key, $value) = each ($default_values); $i++)
|
|
||||||
{
|
|
||||||
if (!isset ($data[$key]))
|
|
||||||
{
|
|
||||||
$data[$key] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -1,373 +0,0 @@
|
|||||||
<?php
|
|
||||||
/***************************************************************************\
|
|
||||||
* eGroupWare - File Manager *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by: *
|
|
||||||
* - Vinicius Cubas Brand <viniciuscb@users.sourceforge.net> *
|
|
||||||
* sponsored by Thyamad - http://www.thyamad.com *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* Description: File ID Prefixes class handler for SQL implementation v2 *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* 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. *
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
#12 Oct 2004 viniciuscb Initial Release
|
|
||||||
|
|
||||||
define ('PHPGW_VFS2_PREFIX_APP','vfs2_prefix'); //for prefix
|
|
||||||
define ('PHPGW_VFS2_PTYPE_APP','vfs2_ptype'); //for file type
|
|
||||||
|
|
||||||
class vfs_prefixes
|
|
||||||
{
|
|
||||||
var $db;
|
|
||||||
|
|
||||||
var $table_fields = array(
|
|
||||||
'prefix_id',
|
|
||||||
'owner_id',
|
|
||||||
'prefix',
|
|
||||||
'prefix_description',
|
|
||||||
'prefix_type'
|
|
||||||
);
|
|
||||||
|
|
||||||
function vfs_prefixes()
|
|
||||||
{
|
|
||||||
$this->db = clone($GLOBALS['phpgw']->db);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function add
|
|
||||||
* @description Adds a new File ID Prefix to the prefixes repository
|
|
||||||
* @param prefix string (required) A prefix
|
|
||||||
* @param prefix_description string (optional) Brief prefix description
|
|
||||||
* @param owner_id int (required) Owner Id of prefix
|
|
||||||
* @param prefix_type (optional) can be 'p' for prefix, 't' for type.
|
|
||||||
* @result (int) prefix_id
|
|
||||||
*
|
|
||||||
* @note: will search for another equal $prefix in repository. If
|
|
||||||
* exists, returns its prefix_id and if user have permission,
|
|
||||||
* updates this prefix. If don't exists, insert and return its
|
|
||||||
* prefix_id. $dont_update will not do any update if exists, even
|
|
||||||
* if current user can update.
|
|
||||||
*/
|
|
||||||
function add($data,$dont_update=false)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (!$data['prefix'])
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$data['prefix_type'])
|
|
||||||
{
|
|
||||||
$data['prefix_type'] = 'p';
|
|
||||||
}
|
|
||||||
|
|
||||||
//eliminate keys which are not a field in table
|
|
||||||
foreach($data as $key => $val)
|
|
||||||
{
|
|
||||||
if (!in_array($key,$this->table_fields))
|
|
||||||
{
|
|
||||||
unset($data[$key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//see if exists some equal prefix id
|
|
||||||
$this->db->select('phpgw_vfs2_prefixes','prefix_id',array('prefix' => $data['prefix']));
|
|
||||||
|
|
||||||
if($this->db->next_record()) //exists
|
|
||||||
{
|
|
||||||
if ($dont_update)
|
|
||||||
{
|
|
||||||
return $this->db->Record['prefix_id'];
|
|
||||||
}
|
|
||||||
$data['prefix_id'] = $this->db->Record['prefix_id'];
|
|
||||||
return $this->edit($data);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$data['owner_id'])
|
|
||||||
{
|
|
||||||
$data['owner_id'] = $GLOBALS['phpgw_info']['user']['account_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->db->insert('phpgw_vfs2_prefixes',$data,false,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_prefixes','prefix_id',array('prefix' => $data['prefix']));
|
|
||||||
|
|
||||||
if($this->db->next_record()) //exists
|
|
||||||
{
|
|
||||||
return $this->db->Record['prefix_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function edit
|
|
||||||
* @description Edits a File ID Prefix
|
|
||||||
* @param prefix_id int (required) The ID for prefix
|
|
||||||
* @param prefix string (optional) A prefix
|
|
||||||
* @param prefix_description string (optional) Brief prefix description
|
|
||||||
* @param owner_id int (optional) Owner Id of prefix
|
|
||||||
* @param prefix_type (optional) can be 'p' for prefix, 't' for type.
|
|
||||||
* @result (int) prefix_id
|
|
||||||
* @result (bool) true on success, false on any other possibility
|
|
||||||
*/
|
|
||||||
function edit($data)
|
|
||||||
{
|
|
||||||
if (!$data['prefix_id'])
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//eliminate keys which are not a field in table
|
|
||||||
foreach($data as $key => $val)
|
|
||||||
{
|
|
||||||
if (!in_array($key,$this->table_fields))
|
|
||||||
{
|
|
||||||
unset($data[$key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$where['prefix_id'] = $data['prefix_id'];
|
|
||||||
unset($data['prefix_id']);
|
|
||||||
|
|
||||||
return $this->db->update('phpgw_vfs2_prefixes',$data,$where,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function remove
|
|
||||||
* @description Removes a File ID Prefix
|
|
||||||
* @param prefix_id int (required) The ID for prefix
|
|
||||||
* @result (bool) true on success, false on any other possibility
|
|
||||||
*/
|
|
||||||
function remove($prefix_id)
|
|
||||||
{
|
|
||||||
return $this->db->delete('phpgw_vfs2_prefixes',array('prefix_id' => $prefix_id),__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get
|
|
||||||
* @description Gets information about a prefix just based in prefix_id
|
|
||||||
* @param prefix_id int (required) The ID for prefix
|
|
||||||
* OR
|
|
||||||
* @param prefix int (required) The prefix
|
|
||||||
* @result (array) with column names as indexes, empty array if inexist
|
|
||||||
*/
|
|
||||||
function get($data)
|
|
||||||
{
|
|
||||||
if (!$data['prefix_id'] && !$data['prefix'])
|
|
||||||
return false;
|
|
||||||
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_prefixes','*',$data,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($this->db->next_record())
|
|
||||||
{
|
|
||||||
return $this->db->Record;
|
|
||||||
}
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get_prefixes
|
|
||||||
* @description Gets all prefixes this user can view, based in querying
|
|
||||||
* acl
|
|
||||||
* @param user_id int (required) The ID of user to whom you want to
|
|
||||||
* know, or will get current user as default
|
|
||||||
* @param status string If 'view', returns info about all prefixes
|
|
||||||
* user can view. if 'owns', return only prefixes user owns
|
|
||||||
* @result (array) with column names as indexes, empty array if inexist
|
|
||||||
*/
|
|
||||||
function get_prefixes($status='view',$user_id=false,$type='p')
|
|
||||||
{
|
|
||||||
if (!$user_id)
|
|
||||||
{
|
|
||||||
$user_id = $GLOBALS['phpgw_info']['user']['account_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ($status)
|
|
||||||
{
|
|
||||||
case 'owns':
|
|
||||||
$this->db->select('phpgw_vfs2_prefixes','*',array('owner_id'=>$user_id,'prefix_type'=>$type),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
$return[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 'view':
|
|
||||||
$acl =& CreateObject('phpgwapi.acl',$user_id);
|
|
||||||
|
|
||||||
//fetch ids of prefixes that user can view
|
|
||||||
if (!$pr_list = $acl->get_location_list_for_id(PHPGW_VFS2_PREFIX_APP,PHPGW_ACL_READ,$user_id))
|
|
||||||
{
|
|
||||||
$pr_list = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
//fetch ids of prefixes that groups user belong to can view
|
|
||||||
//Note: this will be in two phases. One: fetch groups user
|
|
||||||
// belongs to. Two: fetch prefix list for these groups
|
|
||||||
|
|
||||||
/* Note: prefixes are organized in phpgwapi.acl in the
|
|
||||||
* following schema:
|
|
||||||
* - appname: (PHPGW_VFS2_PREFIX_APP)
|
|
||||||
* - location: id_prefix
|
|
||||||
* - account_id: Id of user that has grants (not the
|
|
||||||
* grantor. The grantor is only the owner of prefix,
|
|
||||||
* defined in prefixes repository).
|
|
||||||
* - acl_rights: PHPGW_ACL_READ
|
|
||||||
*/
|
|
||||||
|
|
||||||
$user_groups = $GLOBALS['phpgw']->accounts->membership($user_id);
|
|
||||||
|
|
||||||
foreach($user_groups as $group)
|
|
||||||
{
|
|
||||||
if (!$group_pr_list = $acl->get_location_list_for_id(PHPGW_VFS2_PREFIX_APP,PHPGW_ACL_READ,$group['account_id']))
|
|
||||||
{
|
|
||||||
$group_pr_list = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$pr_list = array_merge($pr_list,$group_pr_list);
|
|
||||||
}
|
|
||||||
|
|
||||||
//remove dupliate values
|
|
||||||
$pr_list = array_unique($pr_list);
|
|
||||||
|
|
||||||
//now we have the list of prefixes user can view. We must
|
|
||||||
//now fetch complete information about prefixes of
|
|
||||||
//phpgw_vfs2_prefixes
|
|
||||||
|
|
||||||
if (!count($pr_list))
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($pr_list)
|
|
||||||
{
|
|
||||||
$prefix_string = '('.implode(',',$pr_list).')';
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_prefixes','*','prefix_id IN '.$prefix_string." AND prefix_type='$type'",__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
$return[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return $return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function update_permissions
|
|
||||||
* @description Updates users who can see a prefix
|
|
||||||
*
|
|
||||||
* @param prefix_id int (required) The prefix that will have permissions
|
|
||||||
* changed
|
|
||||||
* @param user_list array Array with account_ids that can read prefix
|
|
||||||
* as values.
|
|
||||||
*
|
|
||||||
* @result (bool)
|
|
||||||
*/
|
|
||||||
function update_permissions($prefix_id,$user_list)
|
|
||||||
{
|
|
||||||
|
|
||||||
//1. see if current user is owner of the prefix
|
|
||||||
$current_user_id = $GLOBALS['phpgw_info']['user']['account_id'];
|
|
||||||
|
|
||||||
$prefix_info = $this->get(array('prefix_id'=>$prefix_id));
|
|
||||||
|
|
||||||
if ($current_user_id != $prefix_info['owner_id'])
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//2. get current permission for prefix
|
|
||||||
$current_permissions = $this->get_permissions(array('prefix_id'=>$prefix_id));
|
|
||||||
|
|
||||||
//3. change permissions
|
|
||||||
$list_of_users_to_add = array_diff($user_list,$current_permissions);
|
|
||||||
$list_of_users_to_del = array_diff($current_permissions,$user_list);
|
|
||||||
|
|
||||||
|
|
||||||
$acl =& CreateObject('phpgwapi.acl',$current_user_id);
|
|
||||||
|
|
||||||
foreach($list_of_users_to_add as $user_id)
|
|
||||||
{
|
|
||||||
$acl->account_id = $user_id;
|
|
||||||
$acl->read_repository();
|
|
||||||
#echo "<br>\nAdded: prefix $prefix_id ; user $user_id";
|
|
||||||
$acl->add(PHPGW_VFS2_PREFIX_APP,$prefix_id,PHPGW_ACL_READ);
|
|
||||||
$acl->save_repository();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($list_of_users_to_del as $user_id)
|
|
||||||
{
|
|
||||||
$acl->account_id = $user_id;
|
|
||||||
$acl->read_repository();
|
|
||||||
#echo "<br>\nDeleted: prefix $prefix_id ; user $user_id";
|
|
||||||
$acl->delete(PHPGW_VFS2_PREFIX_APP,$prefix_id);
|
|
||||||
$acl->save_repository();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get_permissions
|
|
||||||
* @description This will get all permissions for a given prefix.
|
|
||||||
* In other words, will return an array of all accounts who
|
|
||||||
* can see a prefix. Will not dive into groups' users,
|
|
||||||
* only showing user and group accounts who can see
|
|
||||||
* prefix.
|
|
||||||
*
|
|
||||||
* @param prefix int (required) The File ID Prefix
|
|
||||||
* OR
|
|
||||||
* @param prefix_id int (required) The ID of the File ID Prefix
|
|
||||||
* @param prefixes array The same type of the return of get_prefixes
|
|
||||||
*
|
|
||||||
* @result (array) with column names as indexes, empty array if inexist
|
|
||||||
*/
|
|
||||||
function get_permissions($data)
|
|
||||||
{
|
|
||||||
if (is_numeric($data))
|
|
||||||
{
|
|
||||||
$prefix_id = $data;
|
|
||||||
}
|
|
||||||
elseif ($data['prefix'])
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_prefixes','prefix_id',array('prefix'=>$data['prefix']),__LINE__,__FILE__);
|
|
||||||
if ($this->db->next_record())
|
|
||||||
{
|
|
||||||
$prefix_id = $this->db->Record['prefix_id'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif($data['prefix_id'])
|
|
||||||
{
|
|
||||||
$prefix_id = $data['prefix_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$prefix_id)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$acl =& CreateObject('phpgwapi.acl');
|
|
||||||
$user_ids = $acl->get_ids_for_location($prefix_id,PHPGW_ACL_READ,PHPGW_VFS2_PREFIX_APP);
|
|
||||||
|
|
||||||
return ($user_ids)?$user_ids:array();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -1,516 +0,0 @@
|
|||||||
<?php
|
|
||||||
/***************************************************************************\
|
|
||||||
* eGroupWare - File Manager *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by: *
|
|
||||||
* - Vinicius Cubas Brand <viniciuscb@users.sourceforge.net> *
|
|
||||||
* sponsored by Thyamad - http://www.thyamad.com *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* Description: File Sharing class handler for VFS (SQL implementation v2) *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* 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. *
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
// This class had to be created because file sharing work very differently
|
|
||||||
// In fm2 than in fm.
|
|
||||||
|
|
||||||
#FIXME this class is completely vfs_sql2 oriented. Must exist implementation
|
|
||||||
# to other types
|
|
||||||
|
|
||||||
class vfs_sharing
|
|
||||||
{
|
|
||||||
var $accounts;
|
|
||||||
var $db;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function vfs_sharing
|
|
||||||
* @description Class constructor
|
|
||||||
*/
|
|
||||||
function vfs_sharing()
|
|
||||||
{
|
|
||||||
$this->accounts =& $GLOBALS['phpgw']->accounts;
|
|
||||||
$this->db = clone($GLOBALS['phpgw']->db);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function set_permissions
|
|
||||||
* @description Add specified permissions that do not exist, remove
|
|
||||||
* unspecified permissions that exist. Easier to call than
|
|
||||||
* add_permissions and then remove_permissions
|
|
||||||
* @param array $data in the following format:
|
|
||||||
* array(
|
|
||||||
* file_id => array(
|
|
||||||
* account_id => acl_rights,
|
|
||||||
* account_id2 => acl_rights2,...
|
|
||||||
* ),
|
|
||||||
* file_id2 ... );
|
|
||||||
*/
|
|
||||||
function set_permissions($data)
|
|
||||||
{
|
|
||||||
//TODO see if a user have permissions in a file. Only if he have
|
|
||||||
//(or if is inside his homedir) he can change permissions
|
|
||||||
if (!$data || !is_array($data))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//search for permissions on files, to know which ones must be
|
|
||||||
//updated/inserted
|
|
||||||
reset($data);
|
|
||||||
while(list($file_id,$account_ids) = each($data))
|
|
||||||
{
|
|
||||||
$file_ids[] = $file_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = 'SELECT * from phpgw_vfs2_shares
|
|
||||||
WHERE file_id IN ('.implode(',',$file_ids).')';
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while ($this->db->next_record())
|
|
||||||
{
|
|
||||||
$current_shares[$this->db->Record['file_id']][$this->db->Record['account_id']] = $this->db->Record['acl_rights'];
|
|
||||||
}
|
|
||||||
|
|
||||||
//now that we have the current permissions, must know which ones to
|
|
||||||
//insert/update and which ones to delete
|
|
||||||
reset($data);
|
|
||||||
while(list($file_id,$account_ids) = each($data))
|
|
||||||
{
|
|
||||||
reset($account_ids);
|
|
||||||
while(list($account_id,$acl_rights) = each($account_ids))
|
|
||||||
{
|
|
||||||
//exists
|
|
||||||
if (array_key_exists($account_id,$current_shares[$file_id]))
|
|
||||||
{
|
|
||||||
if ($current_shares[$file_id][$account_id] != $acl_rights)
|
|
||||||
{
|
|
||||||
$insert[$file_id][$account_id] = $acl_rights;
|
|
||||||
}
|
|
||||||
|
|
||||||
unset($current_shares[$file_id][$account_id]);
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$insert[$file_id][$account_id] = $acl_rights;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//get which ones to delete
|
|
||||||
reset($current_shares);
|
|
||||||
while(list($file_id,$account_ids) = each($current_shares))
|
|
||||||
{
|
|
||||||
if (is_array($account_ids))
|
|
||||||
{
|
|
||||||
reset($account_ids);
|
|
||||||
while(list($account_id,$acl_rights) = each($account_ids))
|
|
||||||
{
|
|
||||||
$delete[$file_id][$account_id] = $acl_rights;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($insert as $file_id => $account_ids)
|
|
||||||
{
|
|
||||||
$this->store_permissions($file_id,$account_ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($delete as $file_id => $account_ids)
|
|
||||||
{
|
|
||||||
$this->remove_permissions($file_id,$account_ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function store_qpermissions
|
|
||||||
* @description Add/update new permissions to a file id
|
|
||||||
* @param account_ids: array('account_id'=> acl_rights,acc_id2=>acl_r2,)
|
|
||||||
*/
|
|
||||||
function store_permissions($file_id,$account_ids)
|
|
||||||
{
|
|
||||||
if (!is_array($account_ids) || !is_numeric($file_id))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($account_ids as $account_id => $acl_rights)
|
|
||||||
{
|
|
||||||
$this->db->insert('phpgw_vfs2_shares',
|
|
||||||
array('acl_rights'=>$acl_rights),
|
|
||||||
array('account_id'=>$account_id,'file_id'=>$file_id),
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function remove_permissions
|
|
||||||
* @description Remove some permissions of a file id
|
|
||||||
*/
|
|
||||||
function remove_permissions($file_id,$account_ids)
|
|
||||||
{
|
|
||||||
if (!is_array($account_ids) || !is_numeric($file_id))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//gets an array will all accounts as key
|
|
||||||
$accounts = array_keys($account_ids);
|
|
||||||
|
|
||||||
$this->db->delete('phpgw_vfs2_shares',
|
|
||||||
array('account_id'=>$accounts,'file_id'=>$file_id),
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function: remove_all_permissions
|
|
||||||
*
|
|
||||||
* Removes all permissions of a file
|
|
||||||
*/
|
|
||||||
function remove_all_permissions($file_id)
|
|
||||||
{
|
|
||||||
$this->db->delete('phpgw_vfs2_shares',
|
|
||||||
array('file_id'=>$file_id),
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get_permissions
|
|
||||||
* @description This function will get the permissions set for a given
|
|
||||||
* file, makeing a simple query in the file repository. Does not
|
|
||||||
* search for permissions in parent dirs. If you want to know which
|
|
||||||
* is the permission for a user in a given file TAKING IN COUNT the
|
|
||||||
* parent dirs, use $this->get_file_permissions instead.
|
|
||||||
* @param int file_id The id of the file
|
|
||||||
* @result array with account_id as index, acl_rights as value
|
|
||||||
* @author Vinicius Cubas Brand
|
|
||||||
*/
|
|
||||||
function get_permissions($file_id)
|
|
||||||
{
|
|
||||||
$this->db->select('phpgw_vfs2_shares','acl_rights,account_id',
|
|
||||||
array('file_id'=>$file_id),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$result = array();
|
|
||||||
|
|
||||||
while ($this->db->next_record())
|
|
||||||
{
|
|
||||||
$result[$this->db->Record['account_id']] = $this->db->Record['acl_rights'];
|
|
||||||
}
|
|
||||||
|
|
||||||
return ($result);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function get_shares
|
|
||||||
* @description Get all shares in which the user have $permission
|
|
||||||
* @param $account_id The id of the user that can read the shared folder
|
|
||||||
* @param $is_owner If true, will get only the shared folders that
|
|
||||||
* $account_id owns. Useful to get the shares that account_id owns
|
|
||||||
* and have configured himself (true), or instead the shares of the
|
|
||||||
* others that he have $permission (false)
|
|
||||||
* @result array with the list of the file_id's of all shares
|
|
||||||
*/
|
|
||||||
function get_shares($account_id,$is_owner=false,$permission=PHPGW_ACL_READ,$exclude_dir='')
|
|
||||||
{
|
|
||||||
$default_values = array(
|
|
||||||
'is_owner' => false,
|
|
||||||
'permission' => PHPGW_ACL_READ
|
|
||||||
);
|
|
||||||
|
|
||||||
if (is_array($account_id))
|
|
||||||
{
|
|
||||||
$account_id = array_merge($default_values,$account_id);
|
|
||||||
$is_owner = $account_id['is_owner'];
|
|
||||||
$permission = $account_id['permission'];
|
|
||||||
$exclude_dir = $account_id['exclude_dir'];
|
|
||||||
$only_dir = $account_id['only_dir'];
|
|
||||||
$account_id = $account_id['account_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($exclude_dir)
|
|
||||||
{
|
|
||||||
if (is_array($exclude_dir))
|
|
||||||
{
|
|
||||||
foreach ($exclude_dir as $dir)
|
|
||||||
{
|
|
||||||
$append .= " AND fls.directory NOT LIKE '".$dir."%' ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$append .= " AND fls.directory NOT LIKE '".$exclude_dir."%' ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif ($only_dir)
|
|
||||||
{
|
|
||||||
$append .= " AND fls.directory LIKE '".$only_dir."%' ";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($is_owner)
|
|
||||||
{
|
|
||||||
$sql = "SELECT DISTINCT sh.file_id as file_id,
|
|
||||||
sh.acl_rights as acl_rights,
|
|
||||||
fls.directory as directory,
|
|
||||||
fls.name as name,
|
|
||||||
fls.owner_id as owner_id
|
|
||||||
FROM phpgw_vfs2_shares as sh,
|
|
||||||
phpgw_vfs2_files as fls
|
|
||||||
INNER JOIN phpgw_vfs2_mimetypes mime on fls.mime_id = mime.mime_id
|
|
||||||
WHERE sh.file_id = fls.file_id
|
|
||||||
AND mime.mime = 'Directory'
|
|
||||||
AND fls.shared = 'Y'
|
|
||||||
$append
|
|
||||||
AND fls.owner_id = $account_id";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//gets the id of all groups $account_id belongs to
|
|
||||||
$groups = $GLOBALS['phpgw']->accounts->membership($account_id);
|
|
||||||
|
|
||||||
foreach($groups as $group)
|
|
||||||
{
|
|
||||||
$accounts[] = $group['account_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$accounts[] = $account_id;
|
|
||||||
|
|
||||||
$sql = "SELECT DISTINCT sh.file_id as file_id,
|
|
||||||
sh.acl_rights as acl_rights,
|
|
||||||
fls.directory as directory,
|
|
||||||
fls.name as name,
|
|
||||||
fls.owner_id as owner_id
|
|
||||||
FROM phpgw_vfs2_shares as sh,
|
|
||||||
phpgw_vfs2_files as fls
|
|
||||||
INNER JOIN phpgw_vfs2_mimetypes mime on fls.mime_id = mime.mime_id
|
|
||||||
WHERE sh.file_id = fls.file_id
|
|
||||||
AND mime.mime = 'Directory'
|
|
||||||
AND sh.account_id IN (".implode(',',$accounts).")
|
|
||||||
AND fls.shared = 'Y'
|
|
||||||
$append
|
|
||||||
AND fls.owner_id != $account_id";
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$res = array();
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
if($this->db->Record['acl_rights'] & $permission)
|
|
||||||
{
|
|
||||||
$res[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//should be returned the array with complete file description
|
|
||||||
return $res;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* function search_shares
|
|
||||||
* @description Search for a shared folder which the user have
|
|
||||||
* $permission and have $keyword related (in directory or filename)
|
|
||||||
* @result array with the list of all shares
|
|
||||||
*/
|
|
||||||
//TODO search by file owner's name
|
|
||||||
function search_shares($account_id,$keyword,$permission=PHPGW_ACL_READ)
|
|
||||||
{
|
|
||||||
if ($account_id != ((int)$account_id))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//gets the id of all groups $account_id belongs to
|
|
||||||
$groups = $GLOBALS['phpgw']->accounts->membership($account_id);
|
|
||||||
|
|
||||||
foreach($groups as $group)
|
|
||||||
{
|
|
||||||
$accounts[] = $group['account_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$accounts[] = $account_id;
|
|
||||||
|
|
||||||
$sql = "SELECT DISTINCT sh.file_id as file_id,
|
|
||||||
sh.acl_rights as acl_rights,
|
|
||||||
fls.directory as directory,
|
|
||||||
fls.name as name,
|
|
||||||
fls.owner_id as owner_id
|
|
||||||
FROM phpgw_vfs2_shares as sh,
|
|
||||||
phpgw_vfs2_files as fls
|
|
||||||
WHERE sh.file_id = fls.file_id
|
|
||||||
AND sh.account_id IN (".implode(',',$accounts).")
|
|
||||||
AND ( fls.directory LIKE '%$keyword%'
|
|
||||||
OR fls.name LIKE '%$keyword%')
|
|
||||||
AND fls.shared = 'Y'
|
|
||||||
AND fls.owner_id != $account_id";
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while($this->db->next_record())
|
|
||||||
{
|
|
||||||
if ($this->db->Record['acl_rights'] & $permission)
|
|
||||||
{
|
|
||||||
$res[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $res;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function: get_file_permissions
|
|
||||||
*
|
|
||||||
* Gets the permissions for a user in a given file For files in a
|
|
||||||
* shared dir, will get the acl rights of the parent dir, and if
|
|
||||||
* not specified, of the parent of the parent, and so on. NOTE:
|
|
||||||
* this consider that files CANNOT have permissions set, only
|
|
||||||
* their parent dir, and the file inherits the nearer parent with
|
|
||||||
* permissions defined (even if these permissions are NONE)
|
|
||||||
*
|
|
||||||
* @result int some mask of various PHPGW_ACL_*
|
|
||||||
*/
|
|
||||||
function get_file_permissions($account_id,$file_id)
|
|
||||||
{
|
|
||||||
//get directory/file names
|
|
||||||
$this->db->select('phpgw_vfs2_files','directory,name',
|
|
||||||
array('file_id' => $file_id),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
$directory = $this->db->Record['directory'];
|
|
||||||
$name = $this->db->Record['name'];
|
|
||||||
|
|
||||||
$fullname = $directory.'/'.$name;
|
|
||||||
|
|
||||||
$parent_dirs = array();
|
|
||||||
|
|
||||||
$dirs_expl = explode('/',$fullname);
|
|
||||||
|
|
||||||
//put all parents hierarchy in an array
|
|
||||||
$parent_dirs_array[]=$fullname;
|
|
||||||
while(1)
|
|
||||||
{
|
|
||||||
array_pop($dirs_expl);
|
|
||||||
if($dirs_expl[1])
|
|
||||||
{
|
|
||||||
$parent_dirs_array[]=implode('/',$dirs_expl);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$parent_dirs_array[]='/';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//gets the id of all groups $account_id belongs to
|
|
||||||
$groups = $GLOBALS['phpgw']->accounts->membership($account_id);
|
|
||||||
|
|
||||||
foreach($groups as $group)
|
|
||||||
{
|
|
||||||
$accounts[] = $group['account_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$accounts[] = $account_id;
|
|
||||||
$accounts[] = 0; //default permission for all users
|
|
||||||
|
|
||||||
$accounts = implode(',',$accounts);
|
|
||||||
|
|
||||||
//searches for information in the parent dirs
|
|
||||||
for($i=0; $i<count($parent_dirs_array);$i++)
|
|
||||||
{
|
|
||||||
$dir_name = array_pop(explode('/',$parent_dirs_array[$i]));
|
|
||||||
if ($dir_name)
|
|
||||||
{
|
|
||||||
|
|
||||||
//if file have a reg in table, will try to see if it is
|
|
||||||
//with permissions to the current user
|
|
||||||
$sql = "SELECT sh.acl_rights as acl_rights,
|
|
||||||
fls.directory as directory,
|
|
||||||
fls.name as name,
|
|
||||||
fls.owner_id as owner_id,
|
|
||||||
fls.shared as shared
|
|
||||||
FROM phpgw_vfs2_files as fls,
|
|
||||||
phpgw_vfs2_shares as sh
|
|
||||||
WHERE fls.file_id = sh.file_id
|
|
||||||
AND fls.directory = '".$parent_dirs_array[$i+1]."'
|
|
||||||
AND fls.name = '".$dir_name."'
|
|
||||||
AND fls.shared = 'Y'";
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($this->db->next_record())
|
|
||||||
{
|
|
||||||
|
|
||||||
$sql = "SELECT sh.acl_rights as acl_rights,
|
|
||||||
fls.directory as directory,
|
|
||||||
fls.name as name,
|
|
||||||
fls.owner_id as owner_id,
|
|
||||||
fls.shared as shared
|
|
||||||
FROM phpgw_vfs2_files as fls,
|
|
||||||
phpgw_vfs2_shares as sh
|
|
||||||
WHERE (sh.account_id IN ($accounts)
|
|
||||||
OR fls.owner_id = $account_id)
|
|
||||||
AND fls.file_id = sh.file_id
|
|
||||||
AND fls.directory = '".$parent_dirs_array[$i+1]."'
|
|
||||||
AND fls.name = '".$dir_name."'
|
|
||||||
AND fls.shared = 'Y'";
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
$this->db->select('phpgw_vfs2_files','file_id',
|
|
||||||
array('directory'=>$parent_dirs_array[$i+1],
|
|
||||||
'name'=>$dir_name), __LINE__,__FILE__);
|
|
||||||
|
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_shares','acl_rights',
|
|
||||||
array('file_id'=>$this->db->Record['file_id'],
|
|
||||||
'account_id'=>$account_id),__LINE__,__FILE__);*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// echo "tested file: ".$dir_name." \n<br>";
|
|
||||||
// echo $sql."<br><br>\n\n";
|
|
||||||
while ($this->db->next_record())
|
|
||||||
{
|
|
||||||
// echo "results for file: ".$dir_name." \n<br>";
|
|
||||||
if ($this->db->Record['owner_id'] == $account_id)
|
|
||||||
{
|
|
||||||
//the user can do anything with any dir or file
|
|
||||||
//inside a dir that belongs to him.
|
|
||||||
return PHPGW_ACL_READ|PHPGW_ACL_EDIT|PHPGW_ACL_ADD;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$entered = true;
|
|
||||||
$result |= $this->db->Record['acl_rights'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($entered)
|
|
||||||
{
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
File diff suppressed because it is too large
Load Diff
@ -1,684 +0,0 @@
|
|||||||
<?php
|
|
||||||
/***************************************************************************\
|
|
||||||
* eGroupWare - File Manager *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by: *
|
|
||||||
* - Vinicius Cubas Brand <viniciuscb@users.sourceforge.net> *
|
|
||||||
* sponsored by Thyamad - http://www.thyamad.com *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* Description: File version class handler for VFS (SQL implementation v2) *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* 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. *
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
class vfs_versionsystem
|
|
||||||
{
|
|
||||||
|
|
||||||
/* The high level database handler object */
|
|
||||||
// var $db_highlevel;
|
|
||||||
|
|
||||||
/* Stores the possible amount number of old file backups; In an
|
|
||||||
* inserction, this number will be verified and if there are already
|
|
||||||
* $backups backed up for a file, will delete backup of the oldest
|
|
||||||
* (although keeping the record of operations). 0 for no backup system
|
|
||||||
* and -1 to infinite versions. */
|
|
||||||
var $backups;
|
|
||||||
|
|
||||||
/* tmp dir (without end slash) to store temporary file backups (when
|
|
||||||
* file is snapshotted) */
|
|
||||||
var $tmp_dir;
|
|
||||||
|
|
||||||
/* Virtual file system base class */
|
|
||||||
var $vfs;
|
|
||||||
|
|
||||||
/* Stores information about snapshotted files. Array with the file_id
|
|
||||||
as index. */
|
|
||||||
var $snapshotted_files;
|
|
||||||
|
|
||||||
/* Database handling */
|
|
||||||
var $db;
|
|
||||||
|
|
||||||
/* Now */
|
|
||||||
var $now;
|
|
||||||
|
|
||||||
var $account_id;
|
|
||||||
|
|
||||||
var $last_saved_snapshot=-1;
|
|
||||||
|
|
||||||
var $backup_foldername = '_backup';
|
|
||||||
|
|
||||||
//Operations that create file backups
|
|
||||||
var $backup_operations = array(
|
|
||||||
VFS_OPERATION_EDITED
|
|
||||||
);
|
|
||||||
|
|
||||||
var $attributes = array(
|
|
||||||
'version_id', /* Integer. Unique to each modification. */
|
|
||||||
'file_id', /* Integer. Id of the file that modif. belongs.*/
|
|
||||||
'operation', /* Operation made in modification. */
|
|
||||||
'modifiedby_id', /* phpGW account_id of who last modified */
|
|
||||||
'modified', /* Datetime of modification, in SQL format */
|
|
||||||
'version', /* Version of file prior modification. */
|
|
||||||
'comment', /* Human-readable description of modification. */
|
|
||||||
'backup_file_id', /* file_id of file that is a backup . */
|
|
||||||
'backup_content', /* usable if files are stored in database. */
|
|
||||||
'src', /* source directory in a copy or move operation.*/
|
|
||||||
'dest' /* destination directory in a copy or move operation.*/
|
|
||||||
);
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function vfs_versionsystem
|
|
||||||
* @abstract Object constructor
|
|
||||||
* @author Vinicius Cubas Brand
|
|
||||||
*/
|
|
||||||
function vfs_versionsystem($create_vfs=true)
|
|
||||||
{
|
|
||||||
//use create_vfs=false and after this use $this->set_vfs to keep the
|
|
||||||
// same object (i.e. use reference) in $this->vfs instead of
|
|
||||||
// creating a new object.
|
|
||||||
if ($create_vfs)
|
|
||||||
{
|
|
||||||
$this->vfs =& CreateObject('phpgwapi.vfs');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIXME this takes a value defined in the filescenter
|
|
||||||
* configuration. Better next time to take a value from global api
|
|
||||||
* configuration. must fix here and in the filescenter */
|
|
||||||
if (array_key_exists('filescenter',$GLOBALS['phpgw_info']['user']['preferences']))
|
|
||||||
{
|
|
||||||
$this->backups = $GLOBALS['phpgw_info']['user']['preferences']['filescenter']['vfs_backups'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->backups = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->snapshotted_files = array();
|
|
||||||
$this->db = clone($GLOBALS['phpgw']->db);
|
|
||||||
$this->now = date('Y-m-d H:i:s');
|
|
||||||
$this->account_id = $GLOBALS['phpgw_info']['user']['account_id'];
|
|
||||||
$this->tmp_dir = $GLOBALS['phpgw_info']['server']['temp_dir'];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function create_initial_version()
|
|
||||||
* @abstract Creates a initial journal entry for a file
|
|
||||||
* @description Must be used after a file has been created. Will create
|
|
||||||
* an initial journal entry in the database. If somehow
|
|
||||||
* the database already have any journal for that file,
|
|
||||||
* this method is wrongly called and will do nothing.
|
|
||||||
* Also if no file is found with that file_id, fails.
|
|
||||||
*
|
|
||||||
* @author Vinicius Cubas Brand
|
|
||||||
*/
|
|
||||||
function create_initial_version($file_id)
|
|
||||||
{
|
|
||||||
if ($GLOBALS['phpgw']->banish_journal)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = true;
|
|
||||||
|
|
||||||
//See if file exists
|
|
||||||
$this->db->select('phpgw_vfs2_files','*',
|
|
||||||
array('file_id'=>$file_id), __LINE__,__FILE__);
|
|
||||||
|
|
||||||
if (!$this->db->next_record())
|
|
||||||
{
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$file_record = $this->db->Record;
|
|
||||||
|
|
||||||
//See if journal for the file already exists
|
|
||||||
$this->db->select('phpgw_vfs2_versioning','*',
|
|
||||||
array('file_id'=>$file_id),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
if ($this->db->next_record())
|
|
||||||
{
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return true; //TODO error message
|
|
||||||
}
|
|
||||||
|
|
||||||
$insert_data = array(
|
|
||||||
'file_id' => $file_record['file_id'],
|
|
||||||
'operation' => VFS_OPERATION_CREATED,
|
|
||||||
'modified' => $this->now,
|
|
||||||
'modifiedby_id' => $this->account_id,
|
|
||||||
'version' => '0.0.0.0'
|
|
||||||
);
|
|
||||||
|
|
||||||
$res = $this->db->insert('phpgw_vfs2_versioning',$insert_data,null,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
/* $this->db->update('phpgw_vfs2_files',array(
|
|
||||||
'modified' => $insert_data['modified'],
|
|
||||||
'modifiedby_id' => $insert_data['modifiedby_id']
|
|
||||||
),
|
|
||||||
array('file_id' => $insert_data['file_id']).__LINE__,__FILE__
|
|
||||||
);*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($res)
|
|
||||||
{
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function save_snapshot()
|
|
||||||
* @abstract Saves a snapshot from a file
|
|
||||||
* @description Must be called before any modification in a file. After
|
|
||||||
* the modification was successful, one must do a vfs_version->commit()
|
|
||||||
* Depending of the type of operation and how backups are set, will
|
|
||||||
* handle backups. If a commit is not made until the end of the script,
|
|
||||||
* no modifications in the journal will be saved.
|
|
||||||
*
|
|
||||||
* @param $file_id int The file_id
|
|
||||||
* @param $operation int A VFS_OPERATION as defined in vfs_shared file
|
|
||||||
* @param $other string Its use will differ depending on the operation:
|
|
||||||
* Copy,Move: $other contains the fake_full_path_clean of destination
|
|
||||||
*
|
|
||||||
* @author Vinicius Cubas Brand
|
|
||||||
* @result bool
|
|
||||||
*/
|
|
||||||
function save_snapshot($file_id,$operation,$comment='',$other='')
|
|
||||||
{
|
|
||||||
//Prevent recursive reentrant when working in vfs->copy, f.inst
|
|
||||||
if ($GLOBALS['phpgw']->banish_journal)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = true;
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_files','*',
|
|
||||||
array('file_id'=>$file_id), __LINE__,__FILE__);
|
|
||||||
|
|
||||||
if (!$this->db->next_record())
|
|
||||||
{
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$file_record = $this->db->Record;
|
|
||||||
|
|
||||||
//If already snapshotted, will do a rollback in the old snapshot
|
|
||||||
//before make a new one.
|
|
||||||
if ($this->snapshotted_files[$file_record['file_id']])
|
|
||||||
{
|
|
||||||
$this->rollback($file_record['file_id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Create a backup if necessary
|
|
||||||
if ($this->backups != 0 && in_array($operation,$this->backup_operations))
|
|
||||||
{
|
|
||||||
$random_filename = $this->tmp_dir.SEP.$this->random_filename();
|
|
||||||
|
|
||||||
$this->vfs->cp(array(
|
|
||||||
'from' => $file_record['directory'].SEP.$file_record['name'],
|
|
||||||
'to' => $random_filename,
|
|
||||||
'relatives' => array(RELATIVE_ROOT,RELATIVE_NONE|VFS_REAL)
|
|
||||||
));
|
|
||||||
|
|
||||||
$this->vfs->set_attributes(array(
|
|
||||||
'string' => $random_filename,
|
|
||||||
'relatives' => array(RELATIVE_NONE|VFS_REAL),
|
|
||||||
'attributes' => array('is_backup' => 'Y')
|
|
||||||
));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//backup_file_id and backup_data will be set in commit() only.
|
|
||||||
$insert_data = array(
|
|
||||||
'file_id' => $file_record['file_id'],
|
|
||||||
'operation' => $operation,
|
|
||||||
'modifiedby_id' => $this->account_id,
|
|
||||||
'modified' => $this->now, //Datetime of entry
|
|
||||||
'version' => $file_record['version'],
|
|
||||||
'comment' => $comment,
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($operation == VFS_OPERATION_COPIED || $operation == VFS_OPERATION_MOVED)
|
|
||||||
{
|
|
||||||
$insert_data['src'] = $file_record['directory'].'/'.$file_record['name'];
|
|
||||||
$insert_data['dest'] = $other['dest'];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* $file_data is the information of the file, stored in
|
|
||||||
* $this->snapshotted_files. 'insert_data' have the data to be
|
|
||||||
* inserted in the versioning table, 'tmp_filename' is the name of
|
|
||||||
* the temporary backup copy, if any, and 'record' is the
|
|
||||||
* information of the file before changes (that will be made between
|
|
||||||
* the call to save_snapshot() and the call to commit().
|
|
||||||
*/
|
|
||||||
$file_data = array(
|
|
||||||
'insert_data' => $insert_data,
|
|
||||||
'tmp_filename' => $random_filename,
|
|
||||||
'record' => $file_record
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->snapshotted_files[$file_id] = $file_data;
|
|
||||||
$this->last_saved_snapshot = $file_id;
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function commit()
|
|
||||||
* @abstract Commits the creation of a journal entry
|
|
||||||
* @description Will have to be called after a save_snapshot is made.
|
|
||||||
* If a vfs_version->save_snapshot() call is not made before, this
|
|
||||||
* method does nothing. If no parameter is passed, will commit the
|
|
||||||
* file from the last saved snapshot.
|
|
||||||
*
|
|
||||||
* @param $file_id int The file_id
|
|
||||||
*
|
|
||||||
* @author Vinicius Cubas Brand
|
|
||||||
* @result bool
|
|
||||||
*/
|
|
||||||
function commit($file_id=-1)
|
|
||||||
{
|
|
||||||
//Prevent recursive reentrant when working in vfs->copy, f.inst
|
|
||||||
if ($GLOBALS['phpgw']->banish_journal)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = true;
|
|
||||||
|
|
||||||
if ($file_id == -1)
|
|
||||||
{
|
|
||||||
if ($this->last_saved_snapshot == -1)
|
|
||||||
{
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$file_id = $this->last_saved_snapshot;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$this->snapshotted_files[$file_id])
|
|
||||||
{
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$file_data = $this->snapshotted_files[$file_id];
|
|
||||||
|
|
||||||
//if there is any backup to be made, will make these backups and
|
|
||||||
//remove too old backup versions, as defined in configuration.
|
|
||||||
if ($this->backups != 0 && in_array($file_data['insert_data']['operation'],$this->backup_operations))
|
|
||||||
{
|
|
||||||
|
|
||||||
//counts the number of stored backups
|
|
||||||
$where = "file_id=$file_id AND (backup_file_id != NULL OR backup_file_id != 0)";
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_versioning','count(*)',$where,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
if ($this->db->Record[0] >= $this->backups && $this->backups != -1)
|
|
||||||
{
|
|
||||||
//Remove old backups
|
|
||||||
|
|
||||||
//Deletes oldest backup(s)
|
|
||||||
$backups_to_be_deleted = $this->db->Record[0] - $this->backups + 1;
|
|
||||||
|
|
||||||
$sql = "SELECT vers.version_id as version_id,
|
|
||||||
vers.backup_file_id as backup_file_id,
|
|
||||||
files.directory as directory,
|
|
||||||
files.name as name
|
|
||||||
FROM phpgw_vfs2_versioning as vers,
|
|
||||||
phpgw_vfs2_files as files
|
|
||||||
WHERE vers.file_id=$file_id
|
|
||||||
AND vers.backup_file_id = files.file_id
|
|
||||||
ORDER BY vers.modified";
|
|
||||||
|
|
||||||
$this->db->query($sql,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
for ($i = 0; $i < $backups_to_be_deleted; $i++)
|
|
||||||
{
|
|
||||||
//FIXME don't know why this only works 4 the 1st cycle
|
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
$version_file_id = $this->db->Record['backup_file_id'];
|
|
||||||
$version_id = $this->db->Record['version_id'];
|
|
||||||
|
|
||||||
|
|
||||||
$version_directory = $this->db->Record['directory'];
|
|
||||||
$version_name = $this->db->Record['name'];
|
|
||||||
|
|
||||||
//Removes old backup
|
|
||||||
$this->vfs->rm(array(
|
|
||||||
'string' => $version_directory.SEP.$version_name,
|
|
||||||
'relatives' => array(RELATIVE_ROOT)
|
|
||||||
));
|
|
||||||
|
|
||||||
$versions_to_update[] = $version_id;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($versions_to_update)
|
|
||||||
{
|
|
||||||
//updates old journal
|
|
||||||
$update_data = array(
|
|
||||||
'backup_file_id' => '',
|
|
||||||
'backup_content' => ''
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($versions_to_update as $key => $val)
|
|
||||||
{
|
|
||||||
|
|
||||||
$update_where = array(
|
|
||||||
'version_id' => $val
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->db->update('phpgw_vfs2_versioning',
|
|
||||||
$update_data,$update_where,__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
unset($version_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
//create backup folder, if not exists
|
|
||||||
//Important: the backup dir will be inside the virtual root
|
|
||||||
$backup_foldername = $file_data['record']['directory'].SEP.$this->backup_foldername;
|
|
||||||
|
|
||||||
$dir = array(
|
|
||||||
'string' => $backup_foldername,
|
|
||||||
'relatives' => array(RELATIVE_ROOT)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!$this->vfs->file_exists($dir))
|
|
||||||
{
|
|
||||||
$this->vfs->mkdir($dir); //TODO error messages
|
|
||||||
|
|
||||||
$attributes=array_merge($dir,array(
|
|
||||||
'attributes' => array(
|
|
||||||
'is_backup' => 'Y'
|
|
||||||
)
|
|
||||||
));
|
|
||||||
|
|
||||||
$this->vfs->set_attributes($attributes);
|
|
||||||
}
|
|
||||||
|
|
||||||
//create a backup filename
|
|
||||||
$backup_filename = $this->backup_filename(
|
|
||||||
$file_data['record']['name'],
|
|
||||||
$file_data['insert_data']['version']
|
|
||||||
);
|
|
||||||
|
|
||||||
//move file from temporary location to its definitive location
|
|
||||||
$res = $this->vfs->mv(array(
|
|
||||||
'from' => $file_data['tmp_filename'],
|
|
||||||
'to' => $backup_foldername.SEP.$backup_filename,
|
|
||||||
'relatives' => array(RELATIVE_NONE|VFS_REAL,RELATIVE_ROOT)
|
|
||||||
));
|
|
||||||
|
|
||||||
//sets its attribute as backup
|
|
||||||
$this->vfs->set_attributes(array(
|
|
||||||
'string' => $backup_foldername.SEP.$backup_filename,
|
|
||||||
'relatives' => array(RELATIVE_ROOT),
|
|
||||||
'attributes' => array('is_backup' => 'Y')
|
|
||||||
));
|
|
||||||
|
|
||||||
//TODO backup content in database support
|
|
||||||
|
|
||||||
//Fetch the backup file_id to put this information in the
|
|
||||||
//version table
|
|
||||||
if ($res)
|
|
||||||
{
|
|
||||||
$res_ls = $this->vfs->ls(array(
|
|
||||||
'string' => $backup_foldername.SEP.$backup_filename,
|
|
||||||
'relatives' => RELATIVE_ROOT,
|
|
||||||
'nofiles' => True,
|
|
||||||
'backups' => True
|
|
||||||
));
|
|
||||||
|
|
||||||
if ($res_ls)
|
|
||||||
{
|
|
||||||
$file_data['insert_data']['backup_file_id'] = $res_ls[0]['file_id'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$res = $this->db->insert('phpgw_vfs2_versioning',
|
|
||||||
$file_data['insert_data'],null,__LINE__,__FILE__);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($res)
|
|
||||||
{
|
|
||||||
//If operation is one of the type that increments file version
|
|
||||||
if (in_array($file_data['insert_data']['operation'],$this->backup_operations))
|
|
||||||
{
|
|
||||||
|
|
||||||
$this->db->update('phpgw_vfs2_files',
|
|
||||||
array(
|
|
||||||
'version' => $this->inc($file_data['insert_data']['version']),
|
|
||||||
'modified' => $file_data['insert_data']['modified'],
|
|
||||||
'modifiedby_id' => $file_data['insert_data']['modifiedby_id']
|
|
||||||
),
|
|
||||||
array('file_id' => $file_data['insert_data']['file_id']),
|
|
||||||
__LINE__, __FILE__
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
unset($this->snapshotted_files[$file_id]);
|
|
||||||
$this->last_saved_snapshot = -1;
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function rollback()
|
|
||||||
* @abstract Rollbacks the save of the snapshot
|
|
||||||
* @description Will have to be called after a save_snapshot is made.
|
|
||||||
* If a vfs_version->save_snapshot() call is not made before, this
|
|
||||||
* method does nothing. If no parameter is passed, will rollback the
|
|
||||||
* file from the last saved snapshot. This method only deletes the
|
|
||||||
* temporary backup file and the saved file information
|
|
||||||
*
|
|
||||||
* @param $file_id int The file_id
|
|
||||||
*
|
|
||||||
* @author Vinicius Cubas Brand
|
|
||||||
* @result bool
|
|
||||||
*/
|
|
||||||
function rollback($file_id=-1)
|
|
||||||
{
|
|
||||||
//Prevent recursive reentrant when working in vfs->copy, f.inst
|
|
||||||
if ($GLOBALS['phpgw']->banish_journal)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = true;
|
|
||||||
|
|
||||||
if ($file_id == -1)
|
|
||||||
{
|
|
||||||
if ($this->last_saved_snapshot == -1)
|
|
||||||
{
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$file_id = $this->last_saved_snapshot;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$this->snapshotted_files[$file_id])
|
|
||||||
{
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$file_data = $this->snapshotted_files[$file_id];
|
|
||||||
|
|
||||||
$this->vfs->rm(array(
|
|
||||||
'string' => $file_data['tmp_filename'],
|
|
||||||
'relatives' => array(RELATIVE_NONE | VFS_REAL)
|
|
||||||
));
|
|
||||||
|
|
||||||
unset($this->snapshotted_files[$file_id]);
|
|
||||||
$this->last_saved_snapshot = -1;
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->banish_journal = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function get_journal()
|
|
||||||
* @abstract Returns an array with the journal for a file
|
|
||||||
*/
|
|
||||||
function get_journal($file_id)
|
|
||||||
{
|
|
||||||
//TODO support for database-only storage.
|
|
||||||
$fields = array_diff($this->attributes,array('backup_content'));
|
|
||||||
|
|
||||||
$where = 'file_id='.$file_id.' ORDER BY modified DESC, version DESC, operation DESC';
|
|
||||||
|
|
||||||
|
|
||||||
$this->db->select('phpgw_vfs2_versioning',$fields,$where,
|
|
||||||
__LINE__,__FILE__);
|
|
||||||
|
|
||||||
while ($this->db->next_record())
|
|
||||||
{
|
|
||||||
$result[] = $this->db->Record;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function inc()
|
|
||||||
* @abstract Given a file version, increments it using the vfs
|
|
||||||
* versioning pattern and returns the incremented file version.
|
|
||||||
* Analyzes operation and increments the file version taking
|
|
||||||
* consideration of this operation.
|
|
||||||
*
|
|
||||||
* @param $version string The file version
|
|
||||||
* @param $operation int Some VFS_OPERATION as defined in vfs_shared
|
|
||||||
*
|
|
||||||
* @result string
|
|
||||||
*/
|
|
||||||
function inc($version)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Let's increment the version for the file itself. We keep the
|
|
||||||
* current version when making the journal entry, because that was
|
|
||||||
* the version that was operated on. The maximum numbers for each
|
|
||||||
* part in the version string: none.99.9.9
|
|
||||||
*/
|
|
||||||
$version_parts = split ("\.", $version);
|
|
||||||
$newnumofparts = $numofparts = count ($version_parts);
|
|
||||||
|
|
||||||
if ($version_parts[3] >= 9)
|
|
||||||
{
|
|
||||||
$version_parts[3] = 0;
|
|
||||||
$version_parts[2]++;
|
|
||||||
$version_parts_3_update = 1;
|
|
||||||
}
|
|
||||||
elseif (isset ($version_parts[3]))
|
|
||||||
{
|
|
||||||
$version_parts[3]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($version_parts[2] >= 9 && $version_parts[3] == 0 && $version_parts_3_update)
|
|
||||||
{
|
|
||||||
$version_parts[2] = 0;
|
|
||||||
$version_parts[1]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($version_parts[1] > 99)
|
|
||||||
{
|
|
||||||
$version_parts[1] = 0;
|
|
||||||
$version_parts[0]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
for ($i = 0; $i < $newnumofparts; $i++)
|
|
||||||
{
|
|
||||||
if (!isset ($version_parts[$i]))
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($i)
|
|
||||||
{
|
|
||||||
$newversion .= '.';
|
|
||||||
}
|
|
||||||
|
|
||||||
$newversion .= $version_parts[$i];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $newversion;
|
|
||||||
}
|
|
||||||
|
|
||||||
function set_vfs(&$vfs)
|
|
||||||
{
|
|
||||||
$this->vfs =& $vfs;
|
|
||||||
}
|
|
||||||
|
|
||||||
#helper, private functions
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function random_filename()
|
|
||||||
* @abstract Generates a Random Filename
|
|
||||||
*
|
|
||||||
* @result string
|
|
||||||
*/
|
|
||||||
function random_filename()
|
|
||||||
{
|
|
||||||
$filename = '';
|
|
||||||
$filename_length = 8;
|
|
||||||
while (strlen($filename) < $filename_length) {
|
|
||||||
$filename .= chr(rand (97,122));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $filename.'.tmp';
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* @function backup_filename()
|
|
||||||
* @abstract Return the backup filename for a certain filename + version
|
|
||||||
*
|
|
||||||
* @result string
|
|
||||||
*/
|
|
||||||
function backup_filename($filename,$version)
|
|
||||||
{
|
|
||||||
$version = str_replace('.','_',$version);
|
|
||||||
$fbrk = explode('.',$filename);
|
|
||||||
$fbrk[0] .= '-'.$version;
|
|
||||||
return implode('.',$fbrk);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
@ -12,7 +12,7 @@
|
|||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
//$oProc->m_odb->Halt_On_Error = 'yes';
|
//$oProc->m_odb->Halt_On_Error = 'yes';
|
||||||
|
|
||||||
foreach(array(
|
foreach(array(
|
||||||
'aa' => 'Afar',
|
'aa' => 'Afar',
|
||||||
'ab' => 'Abkhazian',
|
'ab' => 'Abkhazian',
|
||||||
@ -156,7 +156,7 @@ foreach(array(
|
|||||||
{
|
{
|
||||||
$oProc->insert($GLOBALS['egw_setup']->languages_table,array('lang_name' => $name),array('lang_id' => $id),__LINE__,__FILE__);
|
$oProc->insert($GLOBALS['egw_setup']->languages_table,array('lang_name' => $name),array('lang_id' => $id),__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(array(
|
foreach(array(
|
||||||
'sessions_checkip' => 'True',
|
'sessions_checkip' => 'True',
|
||||||
'image_type' => '1',
|
'image_type' => '1',
|
||||||
@ -177,25 +177,6 @@ $oProc->query("INSERT INTO egw_interserv(server_name,server_host,server_url,trus
|
|||||||
$oProc->query ("INSERT INTO egw_vfs (vfs_owner_id, vfs_createdby_id, vfs_modifiedby_id, vfs_created, vfs_modified, vfs_size, vfs_mime_type, vfs_deleteable, vfs_comment, vfs_app, vfs_directory, vfs_name, vfs_link_directory, vfs_link_name) VALUES (0,0,0,'1970-01-01',NULL,NULL,'Directory','Y',NULL,NULL,'/','', NULL, NULL)");
|
$oProc->query ("INSERT INTO egw_vfs (vfs_owner_id, vfs_createdby_id, vfs_modifiedby_id, vfs_created, vfs_modified, vfs_size, vfs_mime_type, vfs_deleteable, vfs_comment, vfs_app, vfs_directory, vfs_name, vfs_link_directory, vfs_link_name) VALUES (0,0,0,'1970-01-01',NULL,NULL,'Directory','Y',NULL,NULL,'/','', NULL, NULL)");
|
||||||
$oProc->query ("INSERT INTO egw_vfs (vfs_owner_id, vfs_createdby_id, vfs_modifiedby_id, vfs_created, vfs_modified, vfs_size, vfs_mime_type, vfs_deleteable, vfs_comment, vfs_app, vfs_directory, vfs_name, vfs_link_directory, vfs_link_name) VALUES (0,0,0,'1970-01-01',NULL,NULL,'Directory','Y',NULL,NULL,'/','home', NULL, NULL)");
|
$oProc->query ("INSERT INTO egw_vfs (vfs_owner_id, vfs_createdby_id, vfs_modifiedby_id, vfs_created, vfs_modified, vfs_size, vfs_mime_type, vfs_deleteable, vfs_comment, vfs_app, vfs_directory, vfs_name, vfs_link_directory, vfs_link_name) VALUES (0,0,0,'1970-01-01',NULL,NULL,'Directory','Y',NULL,NULL,'/','home', NULL, NULL)");
|
||||||
|
|
||||||
// Create Addressbook for Default group, by setting a group ACL from the group to itself for all rights: add, read, edit and delete
|
// Create Addressbook for Default group, by setting a group ACL from the group to itself for all rights: add, read, edit and delete
|
||||||
$defaultgroup = $GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);
|
$defaultgroup = $GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);
|
||||||
$GLOBALS['egw_setup']->add_acl('addressbook',$defaultgroup,$defaultgroup,1|2|4|8);
|
$GLOBALS['egw_setup']->add_acl('addressbook',$defaultgroup,$defaultgroup,1|2|4|8);
|
||||||
|
|
||||||
/*************************************************************************\
|
|
||||||
* Default Records for VFS v2 *
|
|
||||||
\*************************************************************************/
|
|
||||||
if ($GLOBALS['DEBUG'])
|
|
||||||
{
|
|
||||||
echo "<br>\n<b>initiating to create the default records for VFS SQL2...";
|
|
||||||
}
|
|
||||||
|
|
||||||
include EGW_INCLUDE_ROOT.'/phpgwapi/setup/default_records_mime.inc.php';
|
|
||||||
|
|
||||||
$oProc->query("INSERT INTO phpgw_vfs2_files (mime_id,owner_id,createdby_id,size,directory,name)
|
|
||||||
SELECT mime_id,0,0,4096,'/','' FROM phpgw_vfs2_mimetypes WHERE mime='Directory'");
|
|
||||||
|
|
||||||
if ($GLOBALS['DEBUG'])
|
|
||||||
{
|
|
||||||
echo " DONE!</b>";
|
|
||||||
}
|
|
||||||
/*************************************************************************/
|
|
||||||
|
@ -1,186 +0,0 @@
|
|||||||
<?php
|
|
||||||
/***************************************************************************\
|
|
||||||
* eGroupWare - VFS SQL version 2 *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by: *
|
|
||||||
* - Vinicius Cubas Brand <vinicius@thyamad.com> *
|
|
||||||
* sponsored by Thyamad - http://www.thyamad.com *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* Image data files extracted from Intermesh Group-Office, *
|
|
||||||
* all rights reserved. *
|
|
||||||
* http://www.group-office.com/ *
|
|
||||||
* ------------------------------------------------------------------------- *
|
|
||||||
* This program is free software; you can redistribute it and/or modify it *
|
|
||||||
* under the terms of the GNU Lesser General Public License (version 2) as *
|
|
||||||
* published by the Free Software Foundation. *
|
|
||||||
* This software is distributed in the hope that it will be useful, but *
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
|
||||||
* See the GNU Lesser General Public License for more details. *
|
|
||||||
\***************************************************************************/
|
|
||||||
if ($GLOBALS['DEBUG'])
|
|
||||||
{
|
|
||||||
echo " inserting default mime-types... ";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isset($oProc))
|
|
||||||
{
|
|
||||||
$oProc =& $GLOBALS['phpgw_setup']->oProc;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($oProc))
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dwf',"mime"=>'image/VND.DWF',"friendly"=>'Autocad Tekening',"image"=>pack('H*','47494638396110001000f700000000000000840000ff00840000848400ffff848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f9040100000a002c000000001000100000087e0015081c48b0e040030813223428d0408204081e265868d040c487111d1aa8885122808f000a5a4c708080c90310016c3c48924001020308a05449d0a2cc0402605aa4c99200c90101040448c0b321020302040c101a004151050e0f040d1000c0cc9546498244e9142bd48e609f8e049bd22bc8b367bd4255c876654000003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'jpg',"mime"=>'image/jpeg',"friendly"=>'JPEG image',"image"=>pack('H*','47494638396110001000f7000096f6f569c8ca5dcdcec283627c3d1c7d3c1c7ac2c174c4c596f5f7c38262a9c9c893fbe4a2b3a390b8b898ba9900444591baaa008b1d65876696b5b7a7efeea3ebea7c3d1a7d3d1aa1f1f24c1c2c451e3d4c1d2fb08191b3839337a7a898b8a090baacb182946786678afafbb9c2c1bfc1c086beb51d75450b5a3b3ac2c297d7b216b6b4c3836063322b1e6d4eaac9cb49193f501f18a9c8ca4a1a4010989800643c32022817b7b5918f90ced0cf7dedee067f0e2d8555c2825f00281fdee0df091a0a87485095f4f66f3e3765856d7bffff4ababb0a7a7b70a090c1825f3d7d58166e3e7bc3c2c9e9e8d1e9d1581921218a62033b32003d1800222200633b5e8777005a43008282003112606968773840617961697271b9e3d5a4ccccbae3d3326252c283609ab99a00610079496f09a9a746070fa1b9a129412963838255b5b42848305d877928a130b283934e1e2e0d3d2dc2c0c113a93b0030203f1837c1bfc019b9b766ceb71d5d389bba9b7f4e47b18191c28161158e1d6f807075c5c6d0cecf4b1c2c0044252a9a9b049a2c744d6c00512969c9c8b18292b282924c1d2d4d1d2d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90400000000002c00000000100010000008ff00cd6829508000810b172c58206870488b2741f824183080458f3049124c1ca02786220e150c1c3a1420c0c8037f985448b448112203140000402044e6030c140cb074190041911423462cb8b3e40480433b11f5bc42c3888e0556789c5073a8434b44028edcb09385c4981d82506038d0e18d4b011e569421c1a54f1b17581e1cd8c9016d1a0567d0c88940a5860f1349050c52d0c4c9164211a0188a0278d186101364fcc8010887142560e04c69c0f2f18417254ac4a9a302cf1c245e385f8550458204112288ac01e2870d089681107d81e0c081983c1f3e306000a2cb9e451a0a254a8408d1f2e6cbdd202203838e860c2d152dca8e5d91a219360202003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'doc',"mime"=>'application/msword',"friendly"=>'Microsoft Word document',"image"=>pack('H*','47494638396110001000f7000000000000ffff848484c6c6c6ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000005002c0000000010001000000871000b081440b0a04181080b0820c0b02143010004029848b12200020b230208c071e3c68e042a16f0483200800128090cd068b2a3c9010c61ae1ce9d2a44a992a59b6b49952a6c689102fdeec1971a0c3a339112e44c9946952a3481bce842ad5e9548551a51655d8b42bcaad412d5a0c08003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'txt',"mime"=>'text/plain',"friendly"=>'Platte tekst',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c000000001000100000044c904909aab57302640cf74695014e699ac0014c86d3bd6da85225dc3ae9ccdc679dafa41eea405cf17ab262508823168fa7e44375a9e69c2b8d738b1d71898f6996f2dd8e19d72fe28cb66222003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'xls',"mime"=>'application/vnd.ms-excel',"friendly"=>'Excel Workbook',"image"=>pack('H*','47494638396110001000f7000000000000848400ffff848484c6c6c6ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c0000000010001000000873000d081c40b0a04181080d0c28c0b021c30100040298c8702200870b230210206022c78b0d2d6afc089180c993050868dcd8d12201862f5502081080e54c0027638af4d8f265ca9411078acca913e1c2983f1baa349a12254ca04c91fe2c3ab0a949ab50ab3adcba7420d1af4115ee1c0b2020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'mp3',"mime"=>'audio/mpeg',"friendly"=>'MP3 audio',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c0000000010001000000869000d081c38100000820809061000404042840108001840f1a1c08802040c28e0f061c402130b704c18e0a3c48d231516d848002400911d07461cd0f2e4cb981709b004993165c185350dc24c68f063489f0801443c8a33e94201432d1a507a53eacf86560b1e241810003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'gif',"mime"=>'image/gif',"friendly"=>'GIF afbeelding',"image"=>pack('H*','47494638396110001000f7000096f6f569c8ca5dcdcec283627c3d1c7d3c1c7ac2c174c4c596f5f7c38262a9c9c893fbe4a2b3a390b8b898ba9900444591baaa008b1d65876696b5b7a7efeea3ebea7c3d1a7d3d1aa1f1f24c1c2c451e3d4c1d2fb08191b3839337a7a898b8a090baacb182946786678afafbb9c2c1bfc1c086beb51d75450b5a3b3ac2c297d7b216b6b4c3836063322b1e6d4eaac9cb49193f501f18a9c8ca4a1a4010989800643c32022817b7b5918f90ced0cf7dedee067f0e2d8555c2825f00281fdee0df091a0a87485095f4f66f3e3765856d7bffff4ababb0a7a7b70a090c1825f3d7d58166e3e7bc3c2c9e9e8d1e9d1581921218a62033b32003d1800222200633b5e8777005a43008282003112606968773840617961697271b9e3d5a4ccccbae3d3326252c283609ab99a00610079496f09a9a746070fa1b9a129412963838255b5b42848305d877928a130b283934e1e2e0d3d2dc2c0c113a93b0030203f1837c1bfc019b9b766ceb71d5d389bba9b7f4e47b18191c28161158e1d6f807075c5c6d0cecf4b1c2c0044252a9a9b049a2c744d6c00512969c9c8b18292b282924c1d2d4d1d2d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90400000000002c00000000100010000008ff00cd6829508000810b172c58206870488b2741f824183080458f3049124c1ca02786220e150c1c3a1420c0c8037f985448b448112203140000402044e6030c140cb074190041911423462cb8b3e40480433b11f5bc42c3888e0556789c5073a8434b44028edcb09385c4981d82506038d0e18d4b011e569421c1a54f1b17581e1cd8c9016d1a0567d0c88940a5860f1349050c52d0c4c9164211a0188a0278d186101364fcc8010887142560e04c69c0f2f18417254ac4a9a302cf1c245e385f8550458204112288ac01e2870d089681107d81e0c081983c1f3e306000a2cb9e451a0a254a8408d1f2e6cbdd202203838e860c2d152dca8e5d91a219360202003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'pdf',"mime"=>'application/pdf',"friendly"=>'PDF document',"image"=>pack('H*','47494638396110001000f70000000000080808848484b5b5b5c6c6c6dededeff3100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000007002c000000001000100040086a000f080440b0a0410002130628c0b0c00001031a162068a0a2458b0024221ce810a2c4860743660c5071e381850d0744d4a8b02181880f550e30194080808f2c39e22c401221808b404706182ad260ce931209dc3c8a92a100a54c192a95f9d026cdaa3b272a2c6a3020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'bmp',"mime"=>'image/bmp',"friendly"=>'Bitmap image',"image"=>pack('H*','47494638396111001000f700000000000000840000ff00848400ffff5252526363637373738400008484008484849494949c9c9ca5a5a5b5b5b5c6c6c6ce0063d6d6d6dededeefefeff7f7f7ff0000ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000018002c000000001100100000089a0031081c68400180820006124c28b00000000e1962608850a0820b00063c6008c0200603143c5640909140000c09303254f04000809125032478e0716080010220901ca020818504126d0ed099d127508516151c50a094e9d29a032f5eb830418283070f9606b548b3e901030f915a9c3021c283060c1480158be162d9b369d78a95fa7681daad16a7be6d70972d5db368e58a7d4898b0c28000003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'wav',"mime"=>'audio/WAV',"friendly"=>'Wave audio',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c0000000010001000000869000d081c38100000820809061000404042840108001840f1a1c08802040c28e0f061c402130b704c18e0a3c48d231516d848002400911d07461cd0f2e4cb981709b004993165c185350dc24c68f063489f0801443c8a33e94201432d1a507a53eacf86560b1e241810003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dwg',"mime"=>'image/VND.DWG',"friendly"=>'Autocad tekening',"image"=>pack('H*','47494638396110001000f70000ffffffffffccffff99ffff66ffff33ffff00ffccffffccccffcc99ffcc66ffcc33ffcc00ff99ffff99ccff9999ff9966ff9933ff9900ff66ffff66ccff6699ff6666ff6633ff6600ff33ffff33ccff3399ff3366ff3333ff3300ff00ffff00ccff0099ff0066ff0033ff0000ccffffccffccccff99ccff66ccff33ccff00ccccffcccccccccc99cccc66cccc33cccc00cc99ffcc99cccc9999cc9966cc9933cc9900cc66ffcc66cccc6699cc6666cc6633cc6600cc33ffcc33cccc3399cc3366cc3333cc3300cc00ffcc00cccc0099cc0066cc0033cc000099ffff99ffcc99ff9999ff6699ff3399ff0099ccff99cccc99cc9999cc6699cc3399cc009999ff9999cc9999999999669999339999009966ff9966cc9966999966669966339966009933ff9933cc9933999933669933339933009900ff9900cc99009999006699003399000066ffff66ffcc66ff9966ff6666ff3366ff0066ccff66cccc66cc9966cc6666cc3366cc006699ff6699cc6699996699666699336699006666ff6666cc6666996666666666336666006633ff6633cc6633996633666633336633006600ff6600cc66009966006666003366000033ffff33ffcc33ff9933ff6633ff3333ff0033ccff33cccc33cc9933cc6633cc3333cc003399ff3399cc3399993399663399333399003366ff3366cc3366993366663366333366003333ff3333cc3333993333663333333333003300ff3300cc33009933006633003333000000ffff00ffcc00ff9900ff6600ff3300ff0000ccff00cccc00cc9900cc6600cc3300cc000099ff0099cc0099990099660099330099000066ff0066cc0066990066660066330066000033ff0033cc0033990033660033330033000000ff0000cc000099000066000033000000ad0b10ae262eb5848779020dd50918e81626a94950d06f76f74657f9354cfef3f5fffbfcffeefafef5ff403c43f1f5f9f1fffb2b4037e4faefedfff6ccd6c751564ef6fcf2c5cebbdde3d5f1f4e3fdfef68080732a2823ae9c90b65721e8d7cfede5e3cfada7714e4ae14540fe7673492424faebebffffff21f904010000ff002c00000000100010000008e300ff091c48b0e0bf7ef45899a367ce9c42560c150a0cc4ee1dbc8befd8ad8877ef1ebe7c02dbad9b4792a4959281e6f5bb764ddfb947dbd660c3b6a626b72333d53c0ae4ef91b76ce0f865dbb7af5bb870d9bc6d0b34ee510e6cfc1e54b060e1080770ddbc3d6a27ef11196e15ca04a980cd2a366e5a03ad7bf48d1f3f7b651e48ade036dfb576e8667d2be340ee0c1d418862d337ab9dbf6d64ba710337a2db086edcbcd29b1508dfb61cdcc281e3d68d83e76dd9ea414cd7af4bb61ffc8c800377ba5fbe4003fbf5dbb60dc84c6cb4116923488f5ebb84be03b50b04dba0f1820101003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'exe',"mime"=>'application/octet-stream',"friendly"=>'Application',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c000000001000100000044b90c9492b4338eb8d8fffe08700c8419c687a8ea54a3c000cb3076793c7a3efbc4ef383418cf7db011642226e37586000835d5107382c86be250f80cd967ae007cb76e39acf68ae653d8900003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'url',"mime"=>'application/octet-stream',"friendly"=>'Hyperlink',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000d002c0000000010001000000458b049446b9578becddf4199d66dc7036608c7301be00219b132c4c392b0440ccb5c7387dcaeb791fd3c39decc07840d0ec651b33118c81807286d3a6000aeab2352c27a01529d208681968e3188ac7caec698efaf905e1f01003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'zip',"mime"=>'application/x-zip-compressed',"friendly"=>'Winzip archive',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c000000001000100000044b90c9c980bd80527050ff997455d87564c0322cc0e3be0f80a0eb505af159a97ccdc6b38a6fd8e2a07ac8621030ec1575a9e64a89badd741a8e67db0965ad9a700521de58662331060d8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'html',"mime"=>'text/HTML',"friendly"=>'HTML pagina',"image"=>pack('H*','47494638396110001000f700000000000000840000ff00840000848400ffff848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f9040100000a002c000000001000100000087e0015081c48b0e040030813223428d0408204081e265868d040c487111d1aa8885122808f000a5a4c708080c90310016c3c48924001020308a05449d0a2cc0402605aa4c99200c90101040448c0b321020302040c101a004151050e0f040d1000c0cc9546498244e9142bd48e609f8e049bd22bc8b367bd4255c876654000003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'htm',"mime"=>'text/HTML',"friendly"=>'HTML page',"image"=>pack('H*','47494638396110001000f700000000000000840000ff00840000848400ffff848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f9040100000a002c000000001000100000087e0015081c48b0e040030813223428d0408204081e265868d040c487111d1aa8885122808f000a5a4c708080c90310016c3c48924001020308a05449d0a2cc0402605aa4c99200c90101040448c0b321020302040c101a004151050e0f040d1000c0cc9546498244e9142bd48e609f8e049bd22bc8b367bd4255c876654000003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'tar',"mime"=>'application/X-TAR',"friendly"=>'Tarbal archief',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c000000001000100000086a000d081c08a0a0410003131a00304040c38708051a5c78d0e000840008042000a080c78f050008c0b83140c582212f2ed4c8b224c7902317ba9cd99121c696386bc60430b3654d95197b6ed489f1e449950a193a5cda306252a30aa32e142035a1c19113a51ec48a3020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'reg',"mime"=>'application/octet-stream',"friendly"=>'Windows register file',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c000000001000100000045390c93911bd173d8031328ec1599df4018fc65548dba25fb87ec6f38806029ca6b3f938806806141a86c215432303386fc9ca51086d2a11c0e254547984bcc8a8e948aec9b8bd5b16aa5c82dfb28b734e6f4b22003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'psd',"mime"=>'application/octet-stream',"friendly"=>'Adobe photoshop image',"image"=>pack('H*','47494638396110001000f70000000000080808848484b5b5b5c6c6c6dededeff3100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000007002c000000001000100040086a000f080440b0a0410002130628c0b0c00001031a162068a0a2458b0024221ce810a2c4860743660c5071e381850d0744d4a8b02181880f550e30194080808f2c39e22c401221808b404706182ad260ce931209dc3c8a92a100a54c192a95f9d026cdaa3b272a2c6a3020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'csv',"mime"=>'application/octet-stream',"friendly"=>'Comma Separated Values',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'mpe',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000f7000000000000008400848400ffff848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000007002c000000001000100000087b000f083c40a0a0418303131240c0b021820204120a5ce8906101041115566408a023008d1b2d0210309062c80223050c10c0b2a5008605510ae838a026809a3305100080f2a3c79b386fa244295065cda33347f2fc784080019b0300040080a023d1033f3b4ea52a12e449a61343762d59a0acd9b360b1665d1b10003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'mpg',"mime"=>'application/OCTET-STREAM',"friendly"=>'MPEG Video Clip',"image"=>pack('H*','47494638396110001000f7000000000000008400848400ffff848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000007002c000000001000100000087b000f083c40a0a0418303131240c0b021820204120a5ce8906101041115566408a023008d1b2d0210309062c80223050c10c0b2a5008605510ae838a026809a3305100080f2a3c79b386fa244295065cda33347f2fc784080019b0300040080a023d1033f3b4ea52a12e449a61343762d59a0acd9b360b1665d1b10003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'PCX',"mime"=>'application/octet-stream',"friendly"=>'PCX image',"image"=>pack('H*','47494638396110001000f7000096f6f569c8ca5dcdcec283627c3d1c7d3c1c7ac2c174c4c596f5f7c38262a9c9c893fbe4a2b3a390b8b898ba9900444591baaa008b1d65876696b5b7a7efeea3ebea7c3d1a7d3d1aa1f1f24c1c2c451e3d4c1d2fb08191b3839337a7a898b8a090baacb182946786678afafbb9c2c1bfc1c086beb51d75450b5a3b3ac2c297d7b216b6b4c3836063322b1e6d4eaac9cb49193f501f18a9c8ca4a1a4010989800643c32022817b7b5918f90ced0cf7dedee067f0e2d8555c2825f00281fdee0df091a0a87485095f4f66f3e3765856d7bffff4ababb0a7a7b70a090c1825f3d7d58166e3e7bc3c2c9e9e8d1e9d1581921218a62033b32003d1800222200633b5e8777005a43008282003112606968773840617961697271b9e3d5a4ccccbae3d3326252c283609ab99a00610079496f09a9a746070fa1b9a129412963838255b5b42848305d877928a130b283934e1e2e0d3d2dc2c0c113a93b0030203f1837c1bfc019b9b766ceb71d5d389bba9b7f4e47b18191c28161158e1d6f807075c5c6d0cecf4b1c2c0044252a9a9b049a2c744d6c00512969c9c8b18292b282924c1d2d4d1d2d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90400000000002c00000000100010000008ff00cd6829508000810b172c58206870488b2741f824183080458f3049124c1ca02786220e150c1c3a1420c0c8037f985448b448112203140000402044e6030c140cb074190041911423462cb8b3e40480433b11f5bc42c3888e0556789c5073a8434b44028edcb09385c4981d82506038d0e18d4b011e569421c1a54f1b17581e1cd8c9016d1a0567d0c88940a5860f1349050c52d0c4c9164211a0188a0278d186101364fcc8010887142560e04c69c0f2f18417254ac4a9a302cf1c245e385f8550458204112288ac01e2870d089681107d81e0c081983c1f3e306000a2cb9e451a0a254a8408d1f2e6cbdd202203838e860c2d152dca8e5d91a219360202003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'tif',"mime"=>'application/octet-stream',"friendly"=>'TIF afbeelding',"image"=>pack('H*','47494638396110001000f7000096f6f569c8ca5dcdcec283627c3d1c7d3c1c7ac2c174c4c596f5f7c38262a9c9c893fbe4a2b3a390b8b898ba9900444591baaa008b1d65876696b5b7a7efeea3ebea7c3d1a7d3d1aa1f1f24c1c2c451e3d4c1d2fb08191b3839337a7a898b8a090baacb182946786678afafbb9c2c1bfc1c086beb51d75450b5a3b3ac2c297d7b216b6b4c3836063322b1e6d4eaac9cb49193f501f18a9c8ca4a1a4010989800643c32022817b7b5918f90ced0cf7dedee067f0e2d8555c2825f00281fdee0df091a0a87485095f4f66f3e3765856d7bffff4ababb0a7a7b70a090c1825f3d7d58166e3e7bc3c2c9e9e8d1e9d1581921218a62033b32003d1800222200633b5e8777005a43008282003112606968773840617961697271b9e3d5a4ccccbae3d3326252c283609ab99a00610079496f09a9a746070fa1b9a129412963838255b5b42848305d877928a130b283934e1e2e0d3d2dc2c0c113a93b0030203f1837c1bfc019b9b766ceb71d5d389bba9b7f4e47b18191c28161158e1d6f807075c5c6d0cecf4b1c2c0044252a9a9b049a2c744d6c00512969c9c8b18292b282924c1d2d4d1d2d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90400000000002c00000000100010000008ff00cd6829508000810b172c58206870488b2741f824183080458f3049124c1ca02786220e150c1c3a1420c0c8037f985448b448112203140000402044e6030c140cb074190041911423462cb8b3e40480433b11f5bc42c3888e0556789c5073a8434b44028edcb09385c4981d82506038d0e18d4b011e569421c1a54f1b17581e1cd8c9016d1a0567d0c88940a5860f1349050c52d0c4c9164211a0188a0278d186101364fcc8010887142560e04c69c0f2f18417254ac4a9a302cf1c245e385f8550458204112288ac01e2870d089681107d81e0c081983c1f3e306000a2cb9e451a0a254a8408d1f2e6cbdd202203838e860c2d152dca8e5d91a219360202003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'pps',"mime"=>'application/VND.MS-POWERPOINT',"friendly"=>'Powerpoint presentation',"image"=>pack('H*','47494638396110001000e64200e09d80ec9a74ea9a79707070c7a697de9e856b1c00feffffa7471fdf9e7e7f7f7fdee0dffff7e8fefefe6a5042b34313fff8e6dedede3c3c3ca74717bebebe1f1f1f90573bca6a42a94919727272717171ffd7af909090ffefd69b4a2cee9d7fc6a7959b4c23d66636be6e4d606062fff7e5ea9b72bfbfbfb27259c7a896ffeacc6161639b9b9b8888882020205737286747385757579a492b5f5f5fff9262601f00020202684e429d4b25a84816a84818f79765606060efefeff797679c9c9cdfdfdfffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90401000042002c00000000100010000007a7804242412f25100c0c418a411a82420e0e3730292004040d8b1c1582183e3b3b02023e3a40a54114272e423a3e393923a23a11a60a0a2d36393b280522343e138bc13cb91d050f0fa3c18b3cac1f2a1b173b393da5a641cc3e321e0808d2d4d58a3321260909000001388a07078b2b06063516e70101d40b0b408a248e038b3ddf4a61e2e12883b2830405f95304b09abe6bfd0e2a4b2844c28f8b182fb2b818c391c78f1e0301003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'mpeg',"mime"=>'application/OCTET-STREAM',"friendly"=>'MPEG Video Clip',"image"=>pack('H*','47494638396110001000f7000000000000008400848400ffff848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000007002c000000001000100000087b000f083c40a0a0418303131240c0b021820204120a5ce8906101041115566408a023008d1b2d0210309062c80223050c10c0b2a5008605510ae838a026809a3305100080f2a3c79b386fa244295065cda33347f2fc784080019b0300040080a023d1033f3b4ea52a12e449a61343762d59a0acd9b360b1665d1b10003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'avi',"mime"=>'application/OCTET-STREAM',"friendly"=>'AVI Video Clip',"image"=>pack('H*','47494638396110001000f70000000000848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000004002c00000000100010000008700009082410a0a0418303130628c0b061010101120a5ce890a180021115566408a023008d1b2d02c84830a4c882100f166488726447013001c00c3092a6808e043cca9c09e0a1cc8f04610a85d8d126d0000362dea459e025509d501bde041972ea408a55814e1ccad5aa40a860010404003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'tgz',"mime"=>'application/X-GZIP-COMPRESSED',"friendly"=>'Tarbal gecomprimeerd archief',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c000000001000100000086a000d081c08a0a0410003131a00304040c38708051a5c78d0e000840008042000a080c78f050008c0b83140c582212f2ed4c8b224c7902317ba9cd99121c696386bc60430b3654d95197b6ed489f1e449950a193a5cda306252a30aa32e142035a1c19113a51ec48a3020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'asf',"mime"=>'application/OCTET-STREAM',"friendly"=>'ASF video clip',"image"=>pack('H*','47494638396110001000f70000000000848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000004002c00000000100010000008700009082410a0a0418303130628c0b061010101120a5ce890a180021115566408a023008d1b2d02c84830a4c882100f166488726447013001c00c3092a6808e043cca9c09e0a1cc8f04610a85d8d126d0000362dea459e025509d501bde041972ea408a55814e1ccad5aa40a860010404003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'php',"mime"=>'text/PLAIN',"friendly"=>'PHP web page',"image"=>pack('H*','47494638396110001000f700000000000000840000ff00840000848400ffff848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f9040100000b002c00000000100010000008920017081478a0a0418303131e50904081c3040b0f2424e890a1c3850a242ab4581180470013312a4040922102901b111c2840a0e04894030f40248060c0800324611ad86900a70002377182dc09200100031e0710081020e7020309a246451a60e9c2933b132085fab1a9c9a351011c28aa150047ac50b71af55831c1c9a752a77a244917e4d1a277c57efc3870efc4840101003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'bas',"mime"=>'text/plain',"friendly"=>'text/plain',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'scr',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'vcf',"mime"=>'text/PLAIN',"friendly"=>'text/PLAIN',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'sim',"mime"=>'text/plain',"friendly"=>'text/plain',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'sh',"mime"=>'text/PLAIN',"friendly"=>'text/PLAIN',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'jpeg',"mime"=>'application/OCTET-STREAM',"friendly"=>'JPEG image',"image"=>pack('H*','47494638396110001000f7000096f6f569c8ca5dcdcec283627c3d1c7d3c1c7ac2c174c4c596f5f7c38262a9c9c893fbe4a2b3a390b8b898ba9900444591baaa008b1d65876696b5b7a7efeea3ebea7c3d1a7d3d1aa1f1f24c1c2c451e3d4c1d2fb08191b3839337a7a898b8a090baacb182946786678afafbb9c2c1bfc1c086beb51d75450b5a3b3ac2c297d7b216b6b4c3836063322b1e6d4eaac9cb49193f501f18a9c8ca4a1a4010989800643c32022817b7b5918f90ced0cf7dedee067f0e2d8555c2825f00281fdee0df091a0a87485095f4f66f3e3765856d7bffff4ababb0a7a7b70a090c1825f3d7d58166e3e7bc3c2c9e9e8d1e9d1581921218a62033b32003d1800222200633b5e8777005a43008282003112606968773840617961697271b9e3d5a4ccccbae3d3326252c283609ab99a00610079496f09a9a746070fa1b9a129412963838255b5b42848305d877928a130b283934e1e2e0d3d2dc2c0c113a93b0030203f1837c1bfc019b9b766ceb71d5d389bba9b7f4e47b18191c28161158e1d6f807075c5c6d0cecf4b1c2c0044252a9a9b049a2c744d6c00512969c9c8b18292b282924c1d2d4d1d2d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90400000000002c00000000100010000008ff00cd6829508000810b172c58206870488b2741f824183080458f3049124c1ca02786220e150c1c3a1420c0c8037f985448b448112203140000402044e6030c140cb074190041911423462cb8b3e40480433b11f5bc42c3888e0556789c5073a8434b44028edcb09385c4981d82506038d0e18d4b011e569421c1a54f1b17581e1cd8c9016d1a0567d0c88940a5860f1349050c52d0c4c9164211a0188a0278d186101364fcc8010887142560e04c69c0f2f18417254ac4a9a302cf1c245e385f8550458204112288ac01e2870d089681107d81e0c081983c1f3e306000a2cb9e451a0a254a8408d1f2e6cbdd202203838e860c2d152dca8e5d91a219360202003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'xkr',"mime"=>'application/octet-stream',"friendly"=>'application/octet-stream',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dat',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'wmv',"mime"=>'video/X-MS-WMV',"friendly"=>'Windows Media Video',"image"=>pack('H*','47494638396110001000f7000000000000008400848400ffff848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000007002c000000001000100000087b000f083c40a0a0418303131240c0b021820204120a5ce8906101041115566408a023008d1b2d0210309062c80223050c10c0b2a5008605510ae838a026809a3305100080f2a3c79b386fa244295065cda33347f2fc784080019b0300040080a023d1033f3b4ea52a12e449a61343762d59a0acd9b360b1665d1b10003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'inc',"mime"=>'text/plain',"friendly"=>'PHP inclusion',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'sql',"mime"=>'text/plain',"friendly"=>'SQL file',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c000000001000100000044c904909aab57302640cf74695014e699ac0014c86d3bd6da85225dc3ae9ccdc679dafa41eea405cf17ab262508823168fa7e44375a9e69c2b8d738b1d71898f6996f2dd8e19d72fe28cb66222003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ppt',"mime"=>'application/vnd.ms-powerpoint',"friendly"=>'Powerpoint presentation',"image"=>pack('H*','47494638396110001000f7000000000000ffff840000848484c6c6c6ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c0000000010001000000870000d081c40b0a04181080d0c28c0b0214382030d1a6cb8708042870d016404c0712101830400101849a040c88a020208181012e3c9020304a4642992a4490015416a74f89224c99a236f0ee04894a84b0008179a34e9f366528c479f2ef55932a454a80cad0ea4ca15e9c0a260890604003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'',"mime"=>'',"friendly"=>'Onbekend',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'db',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c0000000010001000000878000d081440b0a04181080d0828c0b02143010010028008c061c385110110d81800c0808f1f0b001839918046932043321c3032c046930e07346439314000013057cecc389220ca940558228428c0a5479041230e1459b4a24ea14b457a9c9974a8ce9855a3a6440a55a1458b5d056c1dab5421c9b3680302003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'tpl',"mime"=>'application/OCTET-STREAM',"friendly"=>'Template file',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'css',"mime"=>'text/css',"friendly"=>'Custom Style Sheet',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'lock',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cfg',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'conf',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'deny',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'misc',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'pal',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'save',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'net',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'defs',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'rc',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'jar',"mime"=>'Array',"friendly"=>'Java source file',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'png',"mime"=>'image/png',"friendly"=>'image/png',"image"=>pack('H*','47494638396111001000f700000000000000840000ff00848400ffff5252526363637373738400008484008484849494949c9c9ca5a5a5b5b5b5c6c6c6ce0063d6d6d6dededeefefeff7f7f7ff0000ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000018002c000000001100100000089a0031081c68400180820006124c28b00000000e1962608850a0820b00063c6008c0200603143c5640909140000c09303254f04000809125032478e0716080010220901ca020818504126d0ed099d127508516151c50a094e9d29a032f5eb830418283070f9606b548b3e901030f915a9c3021c283060c1480158be162d9b369d78a95fa7681daad16a7be6d70972d5db368e58a7d4898b0c28000003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cnf',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'bak',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ini',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'old',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'key',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cron',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'xterm',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'login',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'modes',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cshrc',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'allow',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cache',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'perms',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'types',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'users',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'local',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'js',"mime"=>'application/x-javascript',"friendly"=>'application/x-javascript',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'exp',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'xml',"mime"=>'text/xml',"friendly"=>'XML file',"image"=>pack('H*','47494638396110001000f7000000000000008400009c0000ff00848431639c3163ff319c00319cff31ceff31ffff848484a5cef7c6c6c6f7f7f7ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f9040100000f002c00000000100010000008830017081c4850e083830f164058c8b06183050815365ce800828306102026a468b163450020016c74c0a0220102062c96842052210301100840508020000401255bbeb44840418203012ae26c0961a701040706d8c4e98028c98a01a2aafcb8d1a3d58a4d4716d8ca952b558958af5a74dab5ec578e61d33a151b5664c8b770433e0808003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'pl',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'jpe',"mime"=>'image/jpeg',"friendly"=>'JPEG image',"image"=>pack('H*','47494638396111001000f700000000000000840000ff00848400ffff5252526363637373738400008484008484849494949c9c9ca5a5a5b5b5b5c6c6c6ce0063d6d6d6dededeefefeff7f7f7ff0000ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000018002c000000001100100000089a0031081c68400180820006124c28b00000000e1962608850a0820b00063c6008c0200603143c5640909140000c09303254f04000809125032478e0716080010220901ca020818504126d0ed099d127508516151c50a094e9d29a032f5eb830418283070f9606b548b3e901030f915a9c3021c283060c1480158be162d9b369d78a95fa7681daad16a7be6d70972d5db368e58a7d4898b0c28000003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'lnk',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'wmf',"mime"=>'application/OCTET-STREAM',"friendly"=>'Windows Media File',"image"=>pack('H*','47494638396110001000f70000000000848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000004002c00000000100010000008700009082410a0a0418303130628c0b061010101120a5ce890a180021115566408a023008d1b2d02c84830a4c882100f166488726447013001c00c3092a6808e043cca9c09e0a1cc8f04610a85d8d126d0000362dea459e025509d501bde041972ea408a55814e1ccad5aa40a860010404003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'JOB',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'jof',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'pm4',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dxf',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dft',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'asm',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'par',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dmp',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'frm',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'frx',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cls',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'PDM',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'vbp',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'vbw',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ICO',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'SCC',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'log',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'tlb',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dll',"mime"=>'application/octet-stream',"friendly"=>'application/octet-stream',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'OCX',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'BAT',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'DDF',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'Lst',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'CAB',"mime"=>'application/OCTET-STREAM',"friendly"=>'Windows cabinet archive',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'mdb',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c0000000010001000000878000d081440b0a04181080d0828c0b02143010010028008c061c385110110d81800c0808f1f0b001839918046932043321c3032c046930e07346439314000013057cecc389220ca940558228428c0a5479041230e1459b4a24ea14b457a9c9974a8ce9855a3a6440a55a1458b5d056c1dab5421c9b3680302003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dist',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'hist',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'rar',"mime"=>'application/OCTET-STREAM',"friendly"=>'WinRAR archive',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c000000001000100000086a000d081c08a0a0410003131a00304040c38708051a5c78d0e000840008042000a080c78f050008c0b83140c582212f2ed4c8b224c7902317ba9cd99121c696386bc60430b3654d95197b6ed489f1e449950a193a5cda306252a30aa32e142035a1c19113a51ec48a3020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'fla',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'swf',"mime"=>'application/x-shockwave-flash',"friendly"=>'application/x-shockwave-flash',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'en',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'jis',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'fig',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'tsv',"mime"=>'text/tab-separated-values',"friendly"=>'text/tab-separated-values',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'wml',"mime"=>'text/vnd.wap.wml',"friendly"=>'text/vnd.wap.wml',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cgi',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'fr',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'mov',"mime"=>'application/OCTET-STREAM',"friendly"=>'Movie clip',"image"=>pack('H*','47494638396110001000f70000000000848484c6c6c6ff0000ffff84ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000004002c00000000100010000008700009082410a0a0418303130628c0b061010101120a5ce890a180021115566408a023008d1b2d02c84830a4c882100f166488726447013001c00c3092a6808e043cca9c09e0a1cc8f04610a85d8d126d0000362dea459e025509d501bde041972ea408a55814e1ccad5aa40a860010404003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'gz',"mime"=>'application/x-gzip',"friendly"=>'Gzip compressed archive',"image"=>pack('H*','47494638396110001000f70000000000848400848484c6c6c6ffff00ffffffffffc0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21f90401000006002c000000001000100000086a000d081c08a0a0410003131a00304040c38708051a5c78d0e000840008042000a080c78f050008c0b83140c582212f2ed4c8b224c7902317ba9cd99121c696386bc60430b3654d95197b6ed489f1e449950a193a5cda306252a30aa32e142035a1c19113a51ec48a3020003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'rpm',"mime"=>'application/x-rpm',"friendly"=>'RPM Package',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ai',"mime"=>'application/postscript',"friendly"=>'Adobe Illustrator file',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'eml',"mime"=>'message/RFC822',"friendly"=>'message/RFC822',"image"=>pack('H*','47494638396110001000c4ff00ffffff00ffffc0c0c080808000808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90401000002002c0000000010001000400537a0208e64290c400a146cabae432ccf7481bef85b98fc88ba39002160d3b558ba9e72c95cde82aa61111a254ca9aa2b7675ec7a77cd5108003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'aspx',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'cs',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'resx',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ascx',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'err',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ils',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'xdp',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'trc',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'sam',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'rtf',"mime"=>'text/RICHTEXT',"friendly"=>'Rich text format',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'rnd',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'map',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ja',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'0',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'h',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'b',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'img',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'pif',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'abw',"mime"=>'application/ABIWORD',"friendly"=>'application/ABIWORD',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'ps',"mime"=>'application/POSTSCRIPT',"friendly"=>'application/POSTSCRIPT',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'dir',"mime"=>'application/x-director',"friendly"=>'application/x-director',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'adr',"mime"=>'application/octet-stream',"friendly"=>'application/octet-stream',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'sxw',"mime"=>'application/OCTET-STREAM',"friendly"=>'application/OCTET-STREAM',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'plt',"mime"=>'Array',"friendly"=>'Array',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
$oProc->insert("phpgw_vfs2_mimetypes", array("extension"=>'(n/a)',"mime"=>'Directory',"friendly"=>'Directory',"image"=>pack('H*','47494638396110001000b30000000000800000008000808000000080800080008080c0c0c0808080ff000000ff00ffff000000ffff00ff00ffffffffff21f9040100000c002c0000000010001000000452f0a1492b6298c9c77b3f40b679def1841a4296409b4a5675be083110780ecc5b9dffbb506fc509d21e8b004773e2a95481c483e1d018870fe54320680a9f44efab452e5f55e1cef7c06ebbd942b39ccc8800003b')),array(),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -1,77 +1,66 @@
|
|||||||
<?php
|
<?php
|
||||||
/**************************************************************************\
|
/**
|
||||||
* eGroupWare - phpgwapi setup *
|
* eGroupWare - API Setup
|
||||||
* http://www.egroupware.org *
|
*
|
||||||
* -------------------------------------------- *
|
* @link http://www.egroupware.org
|
||||||
* This program is free software; you can redistribute it and/or modify it *
|
* @package api
|
||||||
* under the terms of the GNU General Public License as published by the *
|
* @subpackage setup
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
* option) any later version. *
|
* @version $Id$
|
||||||
\**************************************************************************/
|
*/
|
||||||
|
|
||||||
// $Id$
|
|
||||||
|
|
||||||
/* Basic information about this app */
|
|
||||||
$setup_info['phpgwapi']['name'] = 'phpgwapi';
|
|
||||||
$setup_info['phpgwapi']['title'] = 'eGroupWare API';
|
|
||||||
$setup_info['phpgwapi']['version'] = '1.5.006';
|
|
||||||
$setup_info['phpgwapi']['versions']['current_header'] = '1.28';
|
|
||||||
$setup_info['phpgwapi']['enable'] = 3;
|
|
||||||
$setup_info['phpgwapi']['app_order'] = 1;
|
|
||||||
|
|
||||||
/* The tables this app creates */
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_config';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_applications';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_acl';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_accounts';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_preferences';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_sessions';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_app_sessions';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_access_log';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_hooks';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_languages';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_lang';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_nextid';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_categories';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_log';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_log_msg';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_interserv';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_vfs';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_history_log';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_async';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_api_content_history';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_mimetypes';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_files';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_customfields';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_quota';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_shares';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_versioning';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_customfields_data';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_vfs2_prefixes';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_links';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook_extra';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook_lists';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook2list';
|
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_sqlfs';
|
|
||||||
|
|
||||||
// hooks used by vfs_home_hooks to manage user- and group-directories for the new stream based VFS
|
|
||||||
$setup_info['phpgwapi']['hooks']['addaccount'] = 'phpgwapi.vfs_home_hooks.addAccount';
|
|
||||||
$setup_info['phpgwapi']['hooks']['deleteaccount'] = 'phpgwapi.vfs_home_hooks.deleteAccount';
|
|
||||||
$setup_info['phpgwapi']['hooks']['editaccount'] = 'phpgwapi.vfs_home_hooks.editAccount';
|
|
||||||
$setup_info['phpgwapi']['hooks']['addgroup'] = 'phpgwapi.vfs_home_hooks.addGroup';
|
|
||||||
$setup_info['phpgwapi']['hooks']['deletegroup'] = 'phpgwapi.vfs_home_hooks.deleteGroup';
|
|
||||||
$setup_info['phpgwapi']['hooks']['editgroup'] = 'phpgwapi.vfs_home_hooks.editGroup';
|
|
||||||
|
|
||||||
/* Basic information about this app */
|
|
||||||
$setup_info['notifywindow']['name'] = 'notifywindow';
|
|
||||||
$setup_info['notifywindow']['title'] = 'Notify Window';
|
|
||||||
$setup_info['notifywindow']['version'] = '1.0.0';
|
|
||||||
$setup_info['notifywindow']['enable'] = 2;
|
|
||||||
$setup_info['notifywindow']['app_order'] = 1;
|
|
||||||
$setup_info['notifywindow']['tables'] = '';
|
|
||||||
$setup_info['notifywindow']['hooks'][] = 'home';
|
|
||||||
|
|
||||||
|
/* Basic information about this app */
|
||||||
|
$setup_info['phpgwapi']['name'] = 'phpgwapi';
|
||||||
|
$setup_info['phpgwapi']['title'] = 'eGroupWare API';
|
||||||
|
$setup_info['phpgwapi']['version'] = '1.5.008';
|
||||||
|
$setup_info['phpgwapi']['versions']['current_header'] = '1.28';
|
||||||
|
$setup_info['phpgwapi']['enable'] = 3;
|
||||||
|
$setup_info['phpgwapi']['app_order'] = 1;
|
||||||
|
|
||||||
|
/* The tables this app creates */
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_config';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_applications';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_acl';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_accounts';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_preferences';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_sessions';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_app_sessions';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_access_log';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_hooks';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_languages';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_lang';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_nextid';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_categories';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_log';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_log_msg';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_interserv';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_vfs';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_history_log';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_async';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_api_content_history';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_links';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook_extra';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook_lists';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_addressbook2list';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_sqlfs';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_index';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_cat2entry';
|
||||||
|
$setup_info['phpgwapi']['tables'][] = 'egw_index_keywords';
|
||||||
|
|
||||||
|
// hooks used by vfs_home_hooks to manage user- and group-directories for the new stream based VFS
|
||||||
|
$setup_info['phpgwapi']['hooks']['addaccount'] = 'phpgwapi.vfs_home_hooks.addAccount';
|
||||||
|
$setup_info['phpgwapi']['hooks']['deleteaccount'] = 'phpgwapi.vfs_home_hooks.deleteAccount';
|
||||||
|
$setup_info['phpgwapi']['hooks']['editaccount'] = 'phpgwapi.vfs_home_hooks.editAccount';
|
||||||
|
$setup_info['phpgwapi']['hooks']['addgroup'] = 'phpgwapi.vfs_home_hooks.addGroup';
|
||||||
|
$setup_info['phpgwapi']['hooks']['deletegroup'] = 'phpgwapi.vfs_home_hooks.deleteGroup';
|
||||||
|
$setup_info['phpgwapi']['hooks']['editgroup'] = 'phpgwapi.vfs_home_hooks.editGroup';
|
||||||
|
|
||||||
|
/* Basic information about this app */
|
||||||
|
$setup_info['notifywindow']['name'] = 'notifywindow';
|
||||||
|
$setup_info['notifywindow']['title'] = 'Notify Window';
|
||||||
|
$setup_info['notifywindow']['version'] = '1.0.0';
|
||||||
|
$setup_info['notifywindow']['enable'] = 2;
|
||||||
|
$setup_info['notifywindow']['app_order'] = 1;
|
||||||
|
$setup_info['notifywindow']['tables'] = '';
|
||||||
|
$setup_info['notifywindow']['hooks'][] = 'home';
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,274 +1,366 @@
|
|||||||
<?php
|
<?php
|
||||||
/**************************************************************************\
|
/**
|
||||||
* eGroupWare - Setup *
|
* eGroupWare - API Setup
|
||||||
* http://www.egroupware.org *
|
*
|
||||||
* -------------------------------------------- *
|
* Update scripts 1.4 --> 1.6
|
||||||
* 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 *
|
* @link http://www.egroupware.org
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
* @package api
|
||||||
* option) any later version. *
|
* @subpackage setup
|
||||||
\**************************************************************************/
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
// $Id$
|
/* Include older eGroupWare update support */
|
||||||
|
include('tables_update_0_9_9.inc.php');
|
||||||
|
include('tables_update_0_9_10.inc.php');
|
||||||
|
include('tables_update_0_9_12.inc.php');
|
||||||
|
include('tables_update_0_9_14.inc.php');
|
||||||
|
include('tables_update_1_0.inc.php');
|
||||||
|
include('tables_update_1_2.inc.php');
|
||||||
|
|
||||||
/* Include older eGroupWare update support */
|
// updates from the stable 1.4 branch
|
||||||
include('tables_update_0_9_9.inc.php');
|
$test[] = '1.4.001';
|
||||||
include('tables_update_0_9_10.inc.php');
|
function phpgwapi_upgrade1_4_001()
|
||||||
include('tables_update_0_9_12.inc.php');
|
{
|
||||||
include('tables_update_0_9_14.inc.php');
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
||||||
include('tables_update_1_0.inc.php');
|
}
|
||||||
include('tables_update_1_2.inc.php');
|
|
||||||
|
|
||||||
// updates from the stable 1.4 branch
|
$test[] = '1.4.002';
|
||||||
$test[] = '1.4.001';
|
function phpgwapi_upgrade1_4_002()
|
||||||
function phpgwapi_upgrade1_4_001()
|
{
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.4.003';
|
||||||
|
function phpgwapi_upgrade1_4_003()
|
||||||
|
{
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.4.004';
|
||||||
|
function phpgwapi_upgrade1_4_004()
|
||||||
|
{
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.001';
|
||||||
|
function phpgwapi_upgrade1_5_001()
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','org_name',array(
|
||||||
|
'type' => 'varchar',
|
||||||
|
'precision' => '128',
|
||||||
|
'nullable' => true
|
||||||
|
));
|
||||||
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','contact_email',array(
|
||||||
|
'type' => 'varchar',
|
||||||
|
'precision' => '128',
|
||||||
|
'nullable' => true
|
||||||
|
));
|
||||||
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','contact_email_home',array(
|
||||||
|
'type' => 'varchar',
|
||||||
|
'precision' => '128',
|
||||||
|
'nullable' => true
|
||||||
|
));
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.002';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.002';
|
||||||
|
function phpgwapi_upgrade1_5_002()
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->oProc->CreateTable('egw_sqlfs',array(
|
||||||
|
'fd' => array(
|
||||||
|
'fs_id' => array('type' => 'auto','nullable' => False),
|
||||||
|
'fs_dir' => array('type' => 'int','precision' => '4','nullable' => False),
|
||||||
|
'fs_name' => array('type' => 'varchar','precision' => '200','nullable' => False),
|
||||||
|
'fs_mode' => array('type' => 'int','precision' => '2','nullable' => False),
|
||||||
|
'fs_uid' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'),
|
||||||
|
'fs_gid' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'),
|
||||||
|
'fs_created' => array('type' => 'timestamp','precision' => '8','nullable' => False,'default' => 'current_timestamp'),
|
||||||
|
'fs_modified' => array('type' => 'timestamp','precision' => '8','nullable' => False),
|
||||||
|
'fs_mime' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
||||||
|
'fs_size' => array('type' => 'int','precision' => '8','nullable' => False),
|
||||||
|
'fs_creator' => array('type' => 'int','precision' => '4','nullable' => False),
|
||||||
|
'fs_modifier' => array('type' => 'int','precision' => '4'),
|
||||||
|
'fs_active' => array('type' => 'bool','nullable' => False,'default' => 't'),
|
||||||
|
'fs_comment' => array('type' => 'varchar','precision' => '255'),
|
||||||
|
'fs_content' => array('type' => 'blob')
|
||||||
|
),
|
||||||
|
'pk' => array('fs_id'),
|
||||||
|
'fk' => array(),
|
||||||
|
'ix' => array(array('fs_dir','fs_active','fs_name')),
|
||||||
|
'uc' => array()
|
||||||
|
));
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.003';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.003';
|
||||||
|
function phpgwapi_upgrade1_5_003()
|
||||||
|
{
|
||||||
|
// import the current egw_vfs into egw_sqlfs
|
||||||
|
// ToDo: moving /infolog and /infolog/$app to /apps in the files dir!!!
|
||||||
|
$debug = $GLOBALS['DEBUG'];
|
||||||
|
|
||||||
|
// delete the table in case this update runs multiple times
|
||||||
|
$GLOBALS['egw_setup']->db->query('DELETE FROM egw_sqlfs',__LINE__,__FILE__);
|
||||||
|
if ($GLOBALS['egw_setup']->db->Type == 'mysql')
|
||||||
{
|
{
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
$GLOBALS['egw_setup']->db->query('ALTER TABLE egw_sqlfs AUTO_INCREMENT=1',__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
|
// make sure the required dirs are there and have the following id's
|
||||||
$test[] = '1.4.002';
|
$dirs = array(
|
||||||
function phpgwapi_upgrade1_4_002()
|
'/' => 1,
|
||||||
|
'/home' => 2,
|
||||||
|
'/apps' => 3,
|
||||||
|
);
|
||||||
|
foreach($dirs as $path => $id)
|
||||||
{
|
{
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
$nrow = array(
|
||||||
}
|
'fs_id' => $id,
|
||||||
|
'fs_dir' => $path == '/' ? 0 : $dirs['/'],
|
||||||
$test[] = '1.4.003';
|
'fs_name' => substr($path,1),
|
||||||
function phpgwapi_upgrade1_4_003()
|
'fs_mode' => 05,
|
||||||
{
|
'fs_uid' => 0,
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
'fs_gid' => 0,
|
||||||
}
|
'fs_created' => time(),
|
||||||
|
'fs_modified' => time(),
|
||||||
$test[] = '1.4.004';
|
'fs_mime' => 'httpd/unix-directory',
|
||||||
function phpgwapi_upgrade1_4_004()
|
'fs_size' => 0,
|
||||||
{
|
'fs_creator' => 0,
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.001';
|
'fs_modifier' => 0,
|
||||||
}
|
'fs_comment' => null,
|
||||||
|
'fs_content' => null,
|
||||||
$test[] = '1.5.001';
|
|
||||||
function phpgwapi_upgrade1_5_001()
|
|
||||||
{
|
|
||||||
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','org_name',array(
|
|
||||||
'type' => 'varchar',
|
|
||||||
'precision' => '128',
|
|
||||||
'nullable' => true
|
|
||||||
));
|
|
||||||
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','contact_email',array(
|
|
||||||
'type' => 'varchar',
|
|
||||||
'precision' => '128',
|
|
||||||
'nullable' => true
|
|
||||||
));
|
|
||||||
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','contact_email_home',array(
|
|
||||||
'type' => 'varchar',
|
|
||||||
'precision' => '128',
|
|
||||||
'nullable' => true
|
|
||||||
));
|
|
||||||
|
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.002';
|
|
||||||
}
|
|
||||||
|
|
||||||
$test[] = '1.5.002';
|
|
||||||
function phpgwapi_upgrade1_5_002()
|
|
||||||
{
|
|
||||||
$GLOBALS['egw_setup']->oProc->CreateTable('egw_sqlfs',array(
|
|
||||||
'fd' => array(
|
|
||||||
'fs_id' => array('type' => 'auto','nullable' => False),
|
|
||||||
'fs_dir' => array('type' => 'int','precision' => '4','nullable' => False),
|
|
||||||
'fs_name' => array('type' => 'varchar','precision' => '200','nullable' => False),
|
|
||||||
'fs_mode' => array('type' => 'int','precision' => '2','nullable' => False),
|
|
||||||
'fs_uid' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'),
|
|
||||||
'fs_gid' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'),
|
|
||||||
'fs_created' => array('type' => 'timestamp','precision' => '8','nullable' => False,'default' => 'current_timestamp'),
|
|
||||||
'fs_modified' => array('type' => 'timestamp','precision' => '8','nullable' => False),
|
|
||||||
'fs_mime' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
|
||||||
'fs_size' => array('type' => 'int','precision' => '8','nullable' => False),
|
|
||||||
'fs_creator' => array('type' => 'int','precision' => '4','nullable' => False),
|
|
||||||
'fs_modifier' => array('type' => 'int','precision' => '4'),
|
|
||||||
'fs_active' => array('type' => 'bool','nullable' => False,'default' => 't'),
|
|
||||||
'fs_comment' => array('type' => 'varchar','precision' => '255'),
|
|
||||||
'fs_content' => array('type' => 'blob')
|
|
||||||
),
|
|
||||||
'pk' => array('fs_id'),
|
|
||||||
'fk' => array(),
|
|
||||||
'ix' => array(array('fs_dir','fs_active','fs_name')),
|
|
||||||
'uc' => array()
|
|
||||||
));
|
|
||||||
|
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.003';
|
|
||||||
}
|
|
||||||
|
|
||||||
$test[] = '1.5.003';
|
|
||||||
function phpgwapi_upgrade1_5_003()
|
|
||||||
{
|
|
||||||
// import the current egw_vfs into egw_sqlfs
|
|
||||||
// ToDo: moving /infolog and /infolog/$app to /apps in the files dir!!!
|
|
||||||
$debug = $GLOBALS['DEBUG'];
|
|
||||||
|
|
||||||
// delete the table in case this update runs multiple times
|
|
||||||
$GLOBALS['egw_setup']->db->query('DELETE FROM egw_sqlfs',__LINE__,__FILE__);
|
|
||||||
if ($GLOBALS['egw_setup']->db->Type == 'mysql')
|
|
||||||
{
|
|
||||||
$GLOBALS['egw_setup']->db->query('ALTER TABLE egw_sqlfs AUTO_INCREMENT=1',__LINE__,__FILE__);
|
|
||||||
}
|
|
||||||
// make sure the required dirs are there and have the following id's
|
|
||||||
$dirs = array(
|
|
||||||
'/' => 1,
|
|
||||||
'/home' => 2,
|
|
||||||
'/apps' => 3,
|
|
||||||
);
|
);
|
||||||
foreach($dirs as $path => $id)
|
$GLOBALS['egw_setup']->db->insert('egw_sqlfs',$nrow,false,__LINE__,__FILE__,'phpgwapi');
|
||||||
|
}
|
||||||
|
$query = $GLOBALS['egw_setup']->db->select('egw_vfs','*',"vfs_mime_type != 'journal' AND vfs_mime_type != 'journal-deleted'",__LINE__,__FILE__,false,'ORDER BY length(vfs_directory) ASC','phpgwapi');
|
||||||
|
if ($debug) echo "rows=<pre>\n";
|
||||||
|
|
||||||
|
foreach($query as $row)
|
||||||
|
{
|
||||||
|
// rename the /infolog dir to /apps/infolog and /infolog/$app /apps/$app
|
||||||
|
if (substr($row['vfs_directory'],0,8) == '/infolog')
|
||||||
{
|
{
|
||||||
$nrow = array(
|
$parts = explode('/',$row['vfs_directory']); // 0 = '', 1 = 'infolog', 2 = app or info_id
|
||||||
'fs_id' => $id,
|
//$parts[1] = is_numeric($parts[2]) ? 'apps/infolog' : 'apps';
|
||||||
'fs_dir' => $path == '/' ? 0 : $dirs['/'],
|
$parts[1] = $row['vfs_directory']=='/infolog' && is_numeric($row['vfs_name']) ||
|
||||||
'fs_name' => substr($path,1),
|
$parts[1]=='infolog' && is_numeric($parts[2]) ? 'apps/infolog' : 'apps';
|
||||||
'fs_mode' => 05,
|
$row['vfs_directory'] = implode('/',$parts);
|
||||||
'fs_uid' => 0,
|
|
||||||
'fs_gid' => 0,
|
|
||||||
'fs_created' => time(),
|
|
||||||
'fs_modified' => time(),
|
|
||||||
'fs_mime' => 'httpd/unix-directory',
|
|
||||||
'fs_size' => 0,
|
|
||||||
'fs_creator' => 0,
|
|
||||||
'fs_modifier' => 0,
|
|
||||||
'fs_comment' => null,
|
|
||||||
'fs_content' => null,
|
|
||||||
);
|
|
||||||
$GLOBALS['egw_setup']->db->insert('egw_sqlfs',$nrow,false,__LINE__,__FILE__,'phpgwapi');
|
|
||||||
}
|
}
|
||||||
$query = $GLOBALS['egw_setup']->db->select('egw_vfs','*',"vfs_mime_type != 'journal' AND vfs_mime_type != 'journal-deleted'",__LINE__,__FILE__,false,'ORDER BY length(vfs_directory) ASC','phpgwapi');
|
elseif ($row['vfs_directory'] == '/' && $row['vfs_name'] == 'infolog')
|
||||||
if ($debug) echo "rows=<pre>\n";
|
|
||||||
|
|
||||||
foreach($query as $row)
|
|
||||||
{
|
{
|
||||||
// rename the /infolog dir to /apps/infolog and /infolog/$app /apps/$app
|
$row['vfs_directory'] = '/apps';
|
||||||
if (substr($row['vfs_directory'],0,8) == '/infolog')
|
|
||||||
{
|
|
||||||
$parts = explode('/',$row['vfs_directory']); // 0 = '', 1 = 'infolog', 2 = app or info_id
|
|
||||||
//$parts[1] = is_numeric($parts[2]) ? 'apps/infolog' : 'apps';
|
|
||||||
$parts[1] = $row['vfs_directory']=='/infolog' && is_numeric($row['vfs_name']) ||
|
|
||||||
$parts[1]=='infolog' && is_numeric($parts[2]) ? 'apps/infolog' : 'apps';
|
|
||||||
$row['vfs_directory'] = implode('/',$parts);
|
|
||||||
}
|
|
||||||
elseif ($row['vfs_directory'] == '/' && $row['vfs_name'] == 'infolog')
|
|
||||||
{
|
|
||||||
$row['vfs_directory'] = '/apps';
|
|
||||||
}
|
|
||||||
$nrow = array(
|
|
||||||
'fs_dir' => $dirs[$row['vfs_directory']],
|
|
||||||
'fs_name' => $row['vfs_name'],
|
|
||||||
'fs_mode' => $row['vfs_owner_id'] > 0 ?
|
|
||||||
($row['vfs_mime_type'] == 'Directory' ? 0700 : 0600) :
|
|
||||||
($row['vfs_mime_type'] == 'Directory' ? 0070 : 0060),
|
|
||||||
'fs_uid' => $row['vfs_owner_id'] > 0 ? $row['vfs_owner_id'] : 0,
|
|
||||||
'fs_gid' => $row['vfs_owner_id'] < 0 ? -$row['vfs_owner_id'] : 0,
|
|
||||||
'fs_created' => $row['vfs_created'],
|
|
||||||
'fs_modified' => $row['vfs_modified'] ? $row['vfs_modified'] : $row['vfs_created'],
|
|
||||||
'fs_mime' => $row['vfs_mime_type'] == 'Directory' ? 'httpd/unix-directory' :
|
|
||||||
($row['vfs_mime_type'] ? $row['vfs_mime_type'] : 'application/octet-stream'),
|
|
||||||
'fs_size' => $row['vfs_size'],
|
|
||||||
'fs_creator' => $row['vfs_createdby_id'],
|
|
||||||
'fs_modifier' => $row['vfs_modifedby_id'],
|
|
||||||
'fs_comment' => $row['vfs_comment'] ? $row['vfs_comment'] : null,
|
|
||||||
'fs_content' => $row['vfs_content'],
|
|
||||||
);
|
|
||||||
if ($debug)
|
|
||||||
{
|
|
||||||
foreach($row as $key => $val)
|
|
||||||
{
|
|
||||||
if (is_numeric($key)) unset($row[$key]);
|
|
||||||
}
|
|
||||||
print_r($row);
|
|
||||||
print_r($nrow);
|
|
||||||
}
|
|
||||||
if ($row['vfs_mime_type'] == 'Directory')
|
|
||||||
{
|
|
||||||
$dir = ($row['vfs_directory'] == '/' ? '' : $row['vfs_directory']).'/'.$row['vfs_name'];
|
|
||||||
|
|
||||||
if (!isset($dirs[$dir])) // ignoring doublicate dirs, my devel box has somehow many of them specially /home
|
|
||||||
{
|
|
||||||
$GLOBALS['egw_setup']->db->insert('egw_sqlfs',$nrow,false,__LINE__,__FILE__,'phpgwapi');
|
|
||||||
$dirs[$dir] = $GLOBALS['egw_setup']->db->get_last_insert_id('egw_sqlfs','fs_id');
|
|
||||||
if ($debug) echo "<b>$dir = {$dirs[$dir]}</b>\n";
|
|
||||||
}
|
|
||||||
elseif ($debug)
|
|
||||||
{
|
|
||||||
echo "<b>ignoring doublicate directory '$dir'!</b>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$GLOBALS['egw_setup']->db->insert('egw_sqlfs',$nrow,false,__LINE__,__FILE__,'phpgwapi');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
$nrow = array(
|
||||||
|
'fs_dir' => $dirs[$row['vfs_directory']],
|
||||||
|
'fs_name' => $row['vfs_name'],
|
||||||
|
'fs_mode' => $row['vfs_owner_id'] > 0 ?
|
||||||
|
($row['vfs_mime_type'] == 'Directory' ? 0700 : 0600) :
|
||||||
|
($row['vfs_mime_type'] == 'Directory' ? 0070 : 0060),
|
||||||
|
'fs_uid' => $row['vfs_owner_id'] > 0 ? $row['vfs_owner_id'] : 0,
|
||||||
|
'fs_gid' => $row['vfs_owner_id'] < 0 ? -$row['vfs_owner_id'] : 0,
|
||||||
|
'fs_created' => $row['vfs_created'],
|
||||||
|
'fs_modified' => $row['vfs_modified'] ? $row['vfs_modified'] : $row['vfs_created'],
|
||||||
|
'fs_mime' => $row['vfs_mime_type'] == 'Directory' ? 'httpd/unix-directory' :
|
||||||
|
($row['vfs_mime_type'] ? $row['vfs_mime_type'] : 'application/octet-stream'),
|
||||||
|
'fs_size' => $row['vfs_size'],
|
||||||
|
'fs_creator' => $row['vfs_createdby_id'],
|
||||||
|
'fs_modifier' => $row['vfs_modifedby_id'],
|
||||||
|
'fs_comment' => $row['vfs_comment'] ? $row['vfs_comment'] : null,
|
||||||
|
'fs_content' => $row['vfs_content'],
|
||||||
|
);
|
||||||
if ($debug)
|
if ($debug)
|
||||||
{
|
{
|
||||||
echo "dirs=";
|
foreach($row as $key => $val)
|
||||||
print_r($dirs);
|
|
||||||
echo "</pre>\n";
|
|
||||||
}
|
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.004';
|
|
||||||
}
|
|
||||||
|
|
||||||
$test[] = '1.5.004';
|
|
||||||
function phpgwapi_upgrade1_5_004()
|
|
||||||
{
|
|
||||||
// convert the filemanager group grants into extended ACL
|
|
||||||
|
|
||||||
// delete all sqlfs entries from the ACL table, in case we run multiple times
|
|
||||||
$GLOBALS['egw_setup']->db->delete('egw_acl',array('acl_appname' => sqlfs_stream_wrapper::EACL_APPNAME),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$GLOBALS['egw_setup']->setup_account_object();
|
|
||||||
$accounts = $GLOBALS['egw_setup']->accounts;
|
|
||||||
$accounts = new accounts();
|
|
||||||
|
|
||||||
egw_vfs::$is_root = true; // we need root rights to set the extended acl, without being the owner
|
|
||||||
|
|
||||||
foreach($GLOBALS['egw_setup']->db->select('egw_acl','*',array(
|
|
||||||
'acl_appname' => 'filemanager',
|
|
||||||
"acl_location != 'run'",
|
|
||||||
),__LINE__,__FILE__) as $row)
|
|
||||||
{
|
|
||||||
$rights = egw_vfs::READABLE | egw_vfs::EXECUTABLE;
|
|
||||||
if($row['acl_rights'] > 1) $rights |= egw_vfs::WRITABLE;
|
|
||||||
|
|
||||||
if (($lid = $accounts->id2name($row['acl_account'])) && $accounts->exists($row['acl_location']))
|
|
||||||
{
|
{
|
||||||
$ret = sqlfs_stream_wrapper::eacl('/home/'.$lid,$rights,(int)$row['acl_location']);
|
if (is_numeric($key)) unset($row[$key]);
|
||||||
//echo "<p>sqlfs_stream_wrapper::eacl('/home/$lid',$rights,$row[acl_location])=$ret</p>\n";
|
}
|
||||||
|
print_r($row);
|
||||||
|
print_r($nrow);
|
||||||
|
}
|
||||||
|
if ($row['vfs_mime_type'] == 'Directory')
|
||||||
|
{
|
||||||
|
$dir = ($row['vfs_directory'] == '/' ? '' : $row['vfs_directory']).'/'.$row['vfs_name'];
|
||||||
|
|
||||||
|
if (!isset($dirs[$dir])) // ignoring doublicate dirs, my devel box has somehow many of them specially /home
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->db->insert('egw_sqlfs',$nrow,false,__LINE__,__FILE__,'phpgwapi');
|
||||||
|
$dirs[$dir] = $GLOBALS['egw_setup']->db->get_last_insert_id('egw_sqlfs','fs_id');
|
||||||
|
if ($debug) echo "<b>$dir = {$dirs[$dir]}</b>\n";
|
||||||
|
}
|
||||||
|
elseif ($debug)
|
||||||
|
{
|
||||||
|
echo "<b>ignoring doublicate directory '$dir'!</b>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
egw_vfs::$is_root = false;
|
else
|
||||||
|
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.005';
|
|
||||||
}
|
|
||||||
|
|
||||||
$test[] = '1.5.005';
|
|
||||||
function phpgwapi_upgrade1_5_005()
|
|
||||||
{
|
|
||||||
// move /infolog/$app to /apps/$app and /infolog to /apps/infolog
|
|
||||||
|
|
||||||
$files_dir = $GLOBALS['egw_setup']->db->select('egw_config','config_value',array(
|
|
||||||
'config_name' => 'files_dir',
|
|
||||||
'config_app' => 'phpgwapi',
|
|
||||||
),__LINE__,__FILE__)->fetchSingle();
|
|
||||||
|
|
||||||
if ($files_dir && file_exists($files_dir) && file_exists($files_dir.'/infolog'))
|
|
||||||
{
|
{
|
||||||
mkdir($files_dir.'/apps',0700,true);
|
$GLOBALS['egw_setup']->db->insert('egw_sqlfs',$nrow,false,__LINE__,__FILE__,'phpgwapi');
|
||||||
if (($dir = opendir($files_dir.'/infolog')))
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if ($debug)
|
||||||
|
{
|
||||||
|
echo "dirs=";
|
||||||
|
print_r($dirs);
|
||||||
|
echo "</pre>\n";
|
||||||
|
}
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.004';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.004';
|
||||||
|
function phpgwapi_upgrade1_5_004()
|
||||||
|
{
|
||||||
|
// convert the filemanager group grants into extended ACL
|
||||||
|
|
||||||
|
// delete all sqlfs entries from the ACL table, in case we run multiple times
|
||||||
|
$GLOBALS['egw_setup']->db->delete('egw_acl',array('acl_appname' => sqlfs_stream_wrapper::EACL_APPNAME),__LINE__,__FILE__);
|
||||||
|
|
||||||
|
$GLOBALS['egw_setup']->setup_account_object();
|
||||||
|
$accounts = $GLOBALS['egw_setup']->accounts;
|
||||||
|
$accounts = new accounts();
|
||||||
|
|
||||||
|
egw_vfs::$is_root = true; // we need root rights to set the extended acl, without being the owner
|
||||||
|
|
||||||
|
foreach($GLOBALS['egw_setup']->db->select('egw_acl','*',array(
|
||||||
|
'acl_appname' => 'filemanager',
|
||||||
|
"acl_location != 'run'",
|
||||||
|
),__LINE__,__FILE__) as $row)
|
||||||
|
{
|
||||||
|
$rights = egw_vfs::READABLE | egw_vfs::EXECUTABLE;
|
||||||
|
if($row['acl_rights'] > 1) $rights |= egw_vfs::WRITABLE;
|
||||||
|
|
||||||
|
if (($lid = $accounts->id2name($row['acl_account'])) && $accounts->exists($row['acl_location']))
|
||||||
|
{
|
||||||
|
$ret = sqlfs_stream_wrapper::eacl('/home/'.$lid,$rights,(int)$row['acl_location']);
|
||||||
|
//echo "<p>sqlfs_stream_wrapper::eacl('/home/$lid',$rights,$row[acl_location])=$ret</p>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
egw_vfs::$is_root = false;
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.005';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.005';
|
||||||
|
function phpgwapi_upgrade1_5_005()
|
||||||
|
{
|
||||||
|
// move /infolog/$app to /apps/$app and /infolog to /apps/infolog
|
||||||
|
|
||||||
|
$files_dir = $GLOBALS['egw_setup']->db->select('egw_config','config_value',array(
|
||||||
|
'config_name' => 'files_dir',
|
||||||
|
'config_app' => 'phpgwapi',
|
||||||
|
),__LINE__,__FILE__)->fetchSingle();
|
||||||
|
|
||||||
|
if ($files_dir && file_exists($files_dir) && file_exists($files_dir.'/infolog'))
|
||||||
|
{
|
||||||
|
mkdir($files_dir.'/apps',0700,true);
|
||||||
|
if (($dir = opendir($files_dir.'/infolog')))
|
||||||
|
{
|
||||||
|
while(($app = readdir($dir)))
|
||||||
{
|
{
|
||||||
while(($app = readdir($dir)))
|
if (!is_numeric($app) && $app[0] != '.') // ingore infolog entries and . or ..
|
||||||
{
|
{
|
||||||
if (!is_numeric($app) && $app[0] != '.') // ingore infolog entries and . or ..
|
rename($files_dir.'/infolog/'.$app,$files_dir.'/apps/'.$app);
|
||||||
{
|
|
||||||
rename($files_dir.'/infolog/'.$app,$files_dir.'/apps/'.$app);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
closedir($dir);
|
|
||||||
rename($files_dir.'/infolog',$files_dir.'/apps/infolog');
|
|
||||||
}
|
}
|
||||||
|
closedir($dir);
|
||||||
|
rename($files_dir.'/infolog',$files_dir.'/apps/infolog');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.006';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.006';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.006';
|
||||||
|
function phpgwapi_upgrade1_5_006()
|
||||||
|
{
|
||||||
|
// drop filescenter tables, if filecenter is not installed
|
||||||
|
static $filescenter_tables = array(
|
||||||
|
'phpgw_vfs2_mimetypes',
|
||||||
|
'phpgw_vfs2_files',
|
||||||
|
'phpgw_vfs2_customfields',
|
||||||
|
'phpgw_vfs2_quota',
|
||||||
|
'phpgw_vfs2_shares',
|
||||||
|
'phpgw_vfs2_versioning',
|
||||||
|
'phpgw_vfs2_customfields_data',
|
||||||
|
'phpgw_vfs2_prefixes',
|
||||||
|
);
|
||||||
|
$filescenter_app = $GLOBALS['egw_setup']->db->select('egw_applications','*',array(
|
||||||
|
'app_name' => 'filescenter',
|
||||||
|
),__LINE__,__FILE__)->fetchSingle();
|
||||||
|
|
||||||
|
if (!$filescenter_app || !is_dir(EGW_INCLUDE_ROOT.'/filescenter'))
|
||||||
|
{
|
||||||
|
foreach($filescenter_tables as $table)
|
||||||
|
{
|
||||||
|
schema_proc::DropTable($table);
|
||||||
|
}
|
||||||
|
if ($filescenter_app) // app installed, but no sources --> deinstall it
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->db->delete('egw_applications',array(
|
||||||
|
'app_name' => 'filescenter',
|
||||||
|
),__LINE__,__FILE__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// move tables to the filescenter app
|
||||||
|
$GLOBALS['egw_setup']->db->update('egw_applications',array(
|
||||||
|
'app_tables' => implode(',',$filescenter_tables),
|
||||||
|
),array(
|
||||||
|
'app_name' => 'filescenter',
|
||||||
|
),__LINE__,__FILE__);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.007';
|
||||||
|
}
|
||||||
|
|
||||||
|
$test[] = '1.5.007';
|
||||||
|
function phpgwapi_upgrade1_5_007()
|
||||||
|
{
|
||||||
|
// tables for the eGW-wide index
|
||||||
|
|
||||||
|
foreach(array(
|
||||||
|
'egw_index_keywords' => array(
|
||||||
|
'fd' => array(
|
||||||
|
'si_id' => array('type' => 'auto','nullable' => False),
|
||||||
|
'si_keyword' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
||||||
|
'si_ignore' => array('type' => 'bool')
|
||||||
|
),
|
||||||
|
'pk' => array('si_id'),
|
||||||
|
'fk' => array(),
|
||||||
|
'ix' => array(),
|
||||||
|
'uc' => array('si_keyword')
|
||||||
|
),
|
||||||
|
'egw_index' => array(
|
||||||
|
'fd' => array(
|
||||||
|
'si_app' => array('type' => 'varchar','precision' => '25','nullable' => False),
|
||||||
|
'si_app_id' => array('type' => 'varchar','precision' => '50','nullable' => False),
|
||||||
|
'si_id' => array('type' => 'int','precision' => '4','nullable' => False),
|
||||||
|
'si_owner' => array('type' => 'int','precision' => '4','nullable' => False)
|
||||||
|
),
|
||||||
|
'pk' => array('si_app','si_app_id','si_id'),
|
||||||
|
'fk' => array(),
|
||||||
|
'ix' => array('si_id'),
|
||||||
|
'uc' => array()
|
||||||
|
),
|
||||||
|
'egw_cat2entry' => array(
|
||||||
|
'fd' => array(
|
||||||
|
'ce_app' => array('type' => 'varchar','precision' => '25','nullable' => False),
|
||||||
|
'ce_app_id' => array('type' => 'varchar','precision' => '50','nullable' => False),
|
||||||
|
'cat_id' => array('type' => 'int','precision' => '4','nullable' => False),
|
||||||
|
'ce_owner' => array('type' => 'int','precision' => '4','nullable' => False)
|
||||||
|
),
|
||||||
|
'pk' => array('ce_app','ce_app_id','cat_id'),
|
||||||
|
'fk' => array(),
|
||||||
|
'ix' => array('cat_id'),
|
||||||
|
'uc' => array()
|
||||||
|
)) as $table => $definition)
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->oProc->CreateTable($table,$definition);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.5.008';
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user