mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
work on pictures and vfs
This commit is contained in:
parent
f8e33c8aef
commit
3842048b5e
@ -15,10 +15,6 @@
|
|||||||
|
|
||||||
class bo_resources
|
class bo_resources
|
||||||
{
|
{
|
||||||
/*var $public_functions = array
|
|
||||||
(
|
|
||||||
'get_rows' => True
|
|
||||||
);*/
|
|
||||||
var $vfs_basedir = '/resources/';
|
var $vfs_basedir = '/resources/';
|
||||||
var $pictures_dir = '/resources/pictures/';
|
var $pictures_dir = '/resources/pictures/';
|
||||||
var $thumbs_dir = '/resources/pictures/thumbs/';
|
var $thumbs_dir = '/resources/pictures/thumbs/';
|
||||||
@ -59,7 +55,6 @@ class bo_resources
|
|||||||
$order_by = $query['order'] ? $query['order'].' '. $query['sort'] : '';
|
$order_by = $query['order'] ? $query['order'].' '. $query['sort'] : '';
|
||||||
|
|
||||||
$nr = $this->so->search($criteria,$cats,&$rows,$order_by,$offset=$query['start'],$num_rows=0);
|
$nr = $this->so->search($criteria,$cats,&$rows,$order_by,$offset=$query['start'],$num_rows=0);
|
||||||
// print_r($rows);die();
|
|
||||||
foreach($rows as $num => $resource)
|
foreach($rows as $num => $resource)
|
||||||
{
|
{
|
||||||
if (!$this->acl->is_permitted($resource['cat_id'],PHPGW_ACL_EDIT))
|
if (!$this->acl->is_permitted($resource['cat_id'],PHPGW_ACL_EDIT))
|
||||||
@ -82,6 +77,7 @@ class bo_resources
|
|||||||
/*!
|
/*!
|
||||||
@function read
|
@function read
|
||||||
@abstract reads a resource exept binary datas
|
@abstract reads a resource exept binary datas
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param int $id resource id
|
@param int $id resource id
|
||||||
@return array with key => value or false if not found or allowed
|
@return array with key => value or false if not found or allowed
|
||||||
*/
|
*/
|
||||||
@ -93,12 +89,13 @@ class bo_resources
|
|||||||
echo lang('Notify your administrator to correct this situation') . '<br>';
|
echo lang('Notify your administrator to correct this situation') . '<br>';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return /* all exept pictures(blobs) */$this->so->read($id);
|
return $this->so->read($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@function save
|
@function save
|
||||||
@abstract saves a resource. pictures are saved in vfs
|
@abstract saves a resource. pictures are saved in vfs
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param array $resource array with key => value of all needed datas
|
@param array $resource array with key => value of all needed datas
|
||||||
@return string msg if somthing went wrong; nothing if all right
|
@return string msg if somthing went wrong; nothing if all right
|
||||||
*/
|
*/
|
||||||
@ -115,19 +112,45 @@ class bo_resources
|
|||||||
$resource['id'] = $this->so->save($resource);
|
$resource['id'] = $this->so->save($resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($resource['own_file']['size']>0 && ($resource['picture_src']=='own_src' || sizeof($resource['picture_src'])<1))
|
switch ($resource['picture_src'])
|
||||||
{
|
{
|
||||||
$resource['picture_src'] = 'own_src';
|
case 'own_src':
|
||||||
$msg = $this->save_picture($resource['own_file'],$resource['id']);
|
$vfs_data = array('string' => $this->pictures_dir.$resource['id'].'.jpg','relatives' => array(RELATIVE_ROOT));
|
||||||
if($msg)
|
if($resource['own_file']['size'] > 0)
|
||||||
{
|
{
|
||||||
return $msg;
|
$msg = $this->save_picture($resource['own_file'],$resource['id']);
|
||||||
}
|
break;
|
||||||
|
}
|
||||||
|
elseif($this->vfs->file_exists($vfs_data))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$resource['picture_src'] = 'cat_src';
|
||||||
|
case 'cat_src':
|
||||||
|
break;
|
||||||
|
case 'gen_src':
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if($resource['own_file']['size'] > 0)
|
||||||
|
{
|
||||||
|
$resource['picture_src'] = 'own_src';
|
||||||
|
$msg = $this->save_picture($resource['own_file'],$resource['id']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$resource['picture_src'] = 'cat_src';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// somthing went wrong on saving own picture
|
||||||
|
if($msg)
|
||||||
|
{
|
||||||
|
return $msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($resource['picture_src'] == 'gen_src')
|
// delete old pictures
|
||||||
|
if($resource['picture_src'] != 'own_src')
|
||||||
{
|
{
|
||||||
// welches bild? --> picture_src = dateiname
|
$this->remove_picture($resource['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->so->save($resource) ? false : lang('Something went wrong by saving resource');
|
return $this->so->save($resource) ? false : lang('Something went wrong by saving resource');
|
||||||
@ -141,6 +164,7 @@ class bo_resources
|
|||||||
/*!
|
/*!
|
||||||
@function save_picture
|
@function save_picture
|
||||||
@abstract resizes and saves an pictures in vfs
|
@abstract resizes and saves an pictures in vfs
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param array $file array with key => value
|
@param array $file array with key => value
|
||||||
@param int $resource_id
|
@param int $resource_id
|
||||||
@return mixed string with msg if somthing went wrong; nothing if all right
|
@return mixed string with msg if somthing went wrong; nothing if all right
|
||||||
@ -239,6 +263,7 @@ class bo_resources
|
|||||||
/*!
|
/*!
|
||||||
@function get_picture
|
@function get_picture
|
||||||
@abstact get resource picture either from vfs or from symlink
|
@abstact get resource picture either from vfs or from symlink
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param int $id id of resource
|
@param int $id id of resource
|
||||||
@param string $src can be: own_src, gen_src, cat_scr
|
@param string $src can be: own_src, gen_src, cat_scr
|
||||||
@param bool $size false = thumb, true = full pic
|
@param bool $size false = thumb, true = full pic
|
||||||
@ -255,14 +280,38 @@ class bo_resources
|
|||||||
case 'cat_src':
|
case 'cat_src':
|
||||||
list($picture) = $this->cats->return_single($this->so->get_value('cat_id',$id));
|
list($picture) = $this->cats->return_single($this->so->get_value('cat_id',$id));
|
||||||
$picture = unserialize($picture['data']);
|
$picture = unserialize($picture['data']);
|
||||||
$picture = $GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/images/'.$picture['icon'];
|
if($picture['icon'])
|
||||||
break;
|
{
|
||||||
|
$picture = $GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/images/'.$picture['icon'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'gen_src':
|
case 'gen_src':
|
||||||
default :
|
default :
|
||||||
$picture = $GLOBALS['phpgw_info']['server']['webserver_url'].$this->resource_icons.'generic.png';
|
$picture = $GLOBALS['phpgw_info']['server']['webserver_url'].$this->resource_icons;
|
||||||
|
$picture .= strstr($scr,'.') ? $scr : 'generic.png';
|
||||||
}
|
}
|
||||||
return $picture;
|
return $picture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
@fuction remove_picture
|
||||||
|
@abstract removes picture from vfs
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
|
@param int $id id of resource
|
||||||
|
@return bool succsess or not
|
||||||
|
*/
|
||||||
|
function remove_picture($id)
|
||||||
|
{
|
||||||
|
$vfs_data = array('string' => $this->pictures_dir.$id.'.jpg','relatives' => array(RELATIVE_ROOT));
|
||||||
|
$this->vfs->override_acl = 1;
|
||||||
|
if($this->vfs->file_exists($vfs_data))
|
||||||
|
{
|
||||||
|
$this->vfs->rm($vfs_data);
|
||||||
|
$vfs_data['string'] = $this->thumbs_dir.$id.'.jpg';
|
||||||
|
$this->vfs->rm($vfs_data);
|
||||||
|
}
|
||||||
|
$this->vfs->override_acl = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ class so_resources
|
|||||||
/*!
|
/*!
|
||||||
@function search
|
@function search
|
||||||
@abstract searches db for rows matching searchcriteria and categories
|
@abstract searches db for rows matching searchcriteria and categories
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@discussion '*' is replaced with sql-wildcard '%'
|
@discussion '*' is replaced with sql-wildcard '%'
|
||||||
|
|
||||||
@param array $criteria array of key => value for search. (or'ed together)
|
@param array $criteria array of key => value for search. (or'ed together)
|
||||||
@param array $cats array of cat_id => cat_name to be searched
|
@param array $cats array of cat_id => cat_name to be searched
|
||||||
@param &array $data reference of data array with cols to return in first row ( key => '')
|
@param &array $data reference of data array with cols to return in first row ( key => '')
|
||||||
@ -70,6 +70,7 @@ class so_resources
|
|||||||
/*!
|
/*!
|
||||||
@function get_value
|
@function get_value
|
||||||
@abstract gets the value of $key from resource of $id
|
@abstract gets the value of $key from resource of $id
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param string $key key of value to get
|
@param string $key key of value to get
|
||||||
@param int $id resource id
|
@param int $id resource id
|
||||||
@return mixed value of key and resource, false if key or id not found.
|
@return mixed value of key and resource, false if key or id not found.
|
||||||
@ -88,6 +89,7 @@ class so_resources
|
|||||||
/*!
|
/*!
|
||||||
@function read
|
@function read
|
||||||
@abstract reads a resource exept binary datas
|
@abstract reads a resource exept binary datas
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param int $id resource id
|
@param int $id resource id
|
||||||
@return array with key => value or false if not found
|
@return array with key => value or false if not found
|
||||||
*/
|
*/
|
||||||
@ -113,6 +115,7 @@ class so_resources
|
|||||||
/*!
|
/*!
|
||||||
@function save
|
@function save
|
||||||
@abstract saves a resource including binary datas
|
@abstract saves a resource including binary datas
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param array $resource key => value
|
@param array $resource key => value
|
||||||
@return mixed id of resource if all right, false if fale
|
@return mixed id of resource if all right, false if fale
|
||||||
*/
|
*/
|
||||||
|
@ -40,6 +40,7 @@ class ui_resources
|
|||||||
/*!
|
/*!
|
||||||
@function index
|
@function index
|
||||||
@abstract main resources list.
|
@abstract main resources list.
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param array $content content from eTemplate callback
|
@param array $content content from eTemplate callback
|
||||||
|
|
||||||
FIXME don't translate cats in nextmach
|
FIXME don't translate cats in nextmach
|
||||||
@ -88,6 +89,7 @@ class ui_resources
|
|||||||
/*!
|
/*!
|
||||||
@function edit
|
@function edit
|
||||||
@abstract invokes add or edit dialog for resources
|
@abstract invokes add or edit dialog for resources
|
||||||
|
@autor Cornelius Weiß <egw@von-und-zu-weiss.de>
|
||||||
@param mixed $content int for resource_id to edit ( 0 for new ). array if callback from dialog.
|
@param mixed $content int for resource_id to edit ( 0 for new ). array if callback from dialog.
|
||||||
@param string $msg message to display on top of dialog
|
@param string $msg message to display on top of dialog
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user