mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
use new vfs end egw_link class
This commit is contained in:
parent
a5b58e57e8
commit
b484528188
@ -1,4 +0,0 @@
|
||||
|
||||
pictures are stored in vfs.
|
||||
Thus eTemplate can't read pictures from vfs yet, u need to create a symlink into your resources directory!
|
||||
ln -s {outside-doc-root-path}/resources/pictures {egroupware-base-dir}/resources
|
@ -35,10 +35,6 @@ class bo_resources
|
||||
$this->so =& CreateObject('resources.so_resources');
|
||||
$this->acl =& CreateObject('resources.bo_acl');
|
||||
$this->cats = $this->acl->egw_cats;
|
||||
$this->vfs =& CreateObject('phpgwapi.vfs');
|
||||
$this->link =& CreateObject('phpgwapi.bolink');
|
||||
$this->conf =& CreateObject('phpgwapi.config');
|
||||
$this->conf->read_repository();
|
||||
|
||||
$this->cal_right_transform = array(
|
||||
EGW_ACL_CALREAD => EGW_ACL_READ,
|
||||
@ -117,7 +113,7 @@ class bo_resources
|
||||
$readonlys["buyable[$resource[res_id]]"] = true;
|
||||
}
|
||||
$readonlys["view_acc[$resource[res_id]]"] = true;
|
||||
$links = $this->link->get_links('resources',$resource['res_id']);
|
||||
$links = egw_link::get_links('resources',$resource['res_id']);
|
||||
if(count($links) != 0 && $accessory_of == -1)
|
||||
{
|
||||
foreach ($links as $link_num => $link)
|
||||
@ -178,13 +174,12 @@ class bo_resources
|
||||
switch ($resource['picture_src'])
|
||||
{
|
||||
case 'own_src':
|
||||
$vfs_data = array('string' => $this->pictures_dir.$resource['res_id'].'.jpg','relatives' => array(RELATIVE_ROOT));
|
||||
if($resource['own_file']['size'] > 0)
|
||||
{
|
||||
$msg = $this->save_picture($resource['own_file'],$resource['res_id']);
|
||||
break;
|
||||
}
|
||||
elseif($this->vfs->file_exists($vfs_data))
|
||||
elseif(@egw_vfs::stat($this->pictures_dir.$resource['res_id'].'.jpg'))
|
||||
{
|
||||
break;
|
||||
}
|
||||
@ -220,11 +215,11 @@ class bo_resources
|
||||
// save links
|
||||
if(is_array($resource['link_to']['to_id']))
|
||||
{
|
||||
$this->link->link('resources',$resource['res_id'],$resource['link_to']['to_id']);
|
||||
egw_link::link('resources',$resource['res_id'],$resource['link_to']['to_id']);
|
||||
}
|
||||
if($resource['accessory_of'] != -1)
|
||||
{
|
||||
$this->link->link('resources',$resource['res_id'],'resources',$resource['accessory_of']);
|
||||
egw_link::link('resources',$resource['res_id'],'resources',$resource['accessory_of']);
|
||||
}
|
||||
|
||||
if(!empty($resource['res_id']) && $this->so->get_value("cat_id",$resource['res_id']) != $resource['cat_id'] && $resource['accessory_of'] == -1)
|
||||
@ -258,7 +253,7 @@ class bo_resources
|
||||
if ($this->so->delete(array('res_id'=>$res_id)))
|
||||
{
|
||||
$this->remove_picture($res_id);
|
||||
$this->link->unlink(0,'resources',$res_id);
|
||||
egw_link::unlink(0,'resources',$res_id);
|
||||
// delete the resource from the calendar
|
||||
ExecMethod('calendar.socal.change_delete_user','r'.$res_id);
|
||||
return false;
|
||||
@ -375,18 +370,13 @@ class bo_resources
|
||||
function save_picture($file,$resouce_id)
|
||||
{
|
||||
// test upload dir
|
||||
$vfs_data = array('string'=>$this->vfs_basedir,'relatives'=>array(RELATIVE_ROOT));
|
||||
if (!($this->vfs->file_exists($vfs_data)))
|
||||
if (!is_dir(egw_vfs::PREFIX.$this->vfs_basedir))
|
||||
{
|
||||
$this->vfs->override_acl = 1;
|
||||
$this->vfs->mkdir($vfs_data);
|
||||
$vfs_data['string'] = $this->pictures_dir;
|
||||
$this->vfs->mkdir($vfs_data);
|
||||
$vfs_data['string'] = $this->thumbs_dir;
|
||||
$this->vfs->mkdir($vfs_data);
|
||||
$this->vfs->override_acl = 0;
|
||||
egw_vfs::$is_root = true;
|
||||
egw_vfs::mkdir($this->pictures_dir,0777,STREAM_MKDIR_RECURSIVE);
|
||||
egw_vfs::mkdir($this->thumbs_dir,0777,STREAM_MKDIR_RECURSIVE);
|
||||
egw_vfs::$is_root = false;
|
||||
}
|
||||
|
||||
switch($file['type'])
|
||||
{
|
||||
case 'image/gif':
|
||||
@ -437,35 +427,10 @@ class bo_resources
|
||||
}
|
||||
imagedestroy($src_img);
|
||||
|
||||
$this->vfs->override_acl = 1;
|
||||
$this->vfs->cp(array(
|
||||
'from' => $tmp_dir.$resouce_id.'.jpg',
|
||||
'to' => $this->pictures_dir.$resouce_id.'.jpg',
|
||||
'relatives' => array(RELATIVE_NONE|VFS_REAL,RELATIVE_ROOT)
|
||||
));
|
||||
$this->vfs->set_attributes(array(
|
||||
'string' => $this->pictures_dir.$resouce_id.'.jpg',
|
||||
'relatives' => array (RELATIVE_ROOT),
|
||||
'attributes' => array (
|
||||
'mime_type' => 'image/jpeg',
|
||||
'comment' => 'picture of resource no.'.$resouce_id,
|
||||
'app' => $GLOBALS['egw_info']['flags']['currentapp']
|
||||
)));
|
||||
$this->vfs->cp(array(
|
||||
'from' => $tmp_dir.$resouce_id.'.thumb.jpg',
|
||||
'to' => $this->thumbs_dir.$resouce_id.'.jpg',
|
||||
'relatives' => array(RELATIVE_NONE|VFS_REAL,RELATIVE_ROOT)
|
||||
));
|
||||
$this->vfs->set_attributes(array(
|
||||
'string' => $this->thumbs_dir.$resouce_id.'.jpg',
|
||||
'relatives' => array (RELATIVE_ROOT),
|
||||
'attributes' => array (
|
||||
'mime_type' => 'image/jpeg',
|
||||
'comment' => 'thumbnail of resource no.'.$resouce_id,
|
||||
'app' => $GLOBALS['egw_info']['flags']['currentapp']
|
||||
)));
|
||||
$this->vfs->override_acl = 0;
|
||||
return;
|
||||
egw_vfs::$is_root = true;
|
||||
copy($tmp_dir.$resouce_id.'.jpg',egw_vfs::PREFIX.$this->pictures_dir.$resouce_id.'.jpg');
|
||||
copy($tmp_dir.$resouce_id.'.thumb.jpg',egw_vfs::PREFIX.$this->thumbs_dir.$resouce_id.'.jpg');
|
||||
egw_vfs::$is_root = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -484,8 +449,7 @@ class bo_resources
|
||||
switch($src)
|
||||
{
|
||||
case 'own_src':
|
||||
$picture = $this->conf->config_data['dont_use_vfs'] ? $GLOBALS['egw_info']['server']['webserver_url'] : 'vfs:';
|
||||
$picture .= $size ? $this->pictures_dir.$res_id.'.jpg' : $this->thumbs_dir.$res_id.'.jpg';
|
||||
$picture = egw::link(egw_vfs::download_url($size ? $this->pictures_dir.$res_id.'.jpg' : $this->thumbs_dir.$res_id.'.jpg'));
|
||||
break;
|
||||
case 'cat_src':
|
||||
list($picture) = $this->cats->return_single($this->so->get_value('cat_id',$res_id));
|
||||
@ -513,15 +477,10 @@ class bo_resources
|
||||
*/
|
||||
function remove_picture($res_id)
|
||||
{
|
||||
$vfs_data = array('string' => $this->pictures_dir.$res_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.$res_id.'.jpg';
|
||||
$this->vfs->rm($vfs_data);
|
||||
}
|
||||
$this->vfs->override_acl = 0;
|
||||
egw_vfs::$is_root = true;
|
||||
egw_vfs::unlink($this->pictures_dir.$res_id.'.jpg');
|
||||
egw_vfs::unlink($this->thumbs_dir.$res_id.'.jpg');
|
||||
egw_vfs::$is_root = false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -73,8 +73,6 @@ class resources_hooks
|
||||
if ($GLOBALS['egw_info']['user']['apps']['admin'] && $location != 'preferences')
|
||||
{
|
||||
$file = Array(
|
||||
'Site configuration' => $GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'resources.ui_resources.admin' )),
|
||||
'Global Categories' => $GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'admin.uicategories.index',
|
||||
'appname' => $appname,
|
||||
@ -83,7 +81,6 @@ class resources_hooks
|
||||
'menuaction=resources.ui_acl.acllist'),
|
||||
'Custom Fields'=>$GLOBALS['egw']->link('/index.php',
|
||||
'menuaction=admin.customfields.edit&appname=resources'),
|
||||
// 'CSV-Import' => $GLOBALS['egw']->link('/infolog/csv_import.php')
|
||||
);
|
||||
if ($location == 'admin')
|
||||
{
|
||||
@ -132,5 +129,3 @@ class resources_hooks
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -22,7 +22,6 @@ class ui_resources
|
||||
'edit' => True,
|
||||
'show' => True,
|
||||
'select' => True,
|
||||
'admin' => True,
|
||||
'writeLangFile' => True
|
||||
);
|
||||
|
||||
@ -248,30 +247,6 @@ class ui_resources
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* adminsection of resources
|
||||
*
|
||||
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||
*/
|
||||
function admin($content='')
|
||||
{
|
||||
if(is_array($content))
|
||||
{
|
||||
if(isset($content['save']))
|
||||
{
|
||||
$this->bo->conf->read_repository();
|
||||
$this->bo->conf->save_value('dont_use_vfs',$content['dont_use_vfs']);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $GLOBALS['egw']->redirect_link('/admin/index.php');
|
||||
}
|
||||
}
|
||||
$content = $this->bo->conf->read_repository();
|
||||
$this->tmpl->read('resources.admin');
|
||||
$this->tmpl->exec('resources.ui_resources.admin',$content,$sel_options,$no_button,$preserv);
|
||||
}
|
||||
|
||||
/**
|
||||
* showes a single resource
|
||||
*
|
||||
|
@ -43,7 +43,3 @@
|
||||
'appname' => 'etemplate',
|
||||
'versions' => Array('1.3','1.4','1.5')
|
||||
);
|
||||
$setup_info['resources']['depends'][] = array( // cause of vfs psuedoprotocol is not fully in the api yet
|
||||
'appname' => 'filemanager',
|
||||
'versions' => Array('1.3','1.4','1.5')
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user