diff --git a/filemanager/inc/class.uifilemanager.inc.php b/filemanager/inc/class.uifilemanager.inc.php
index 00df70ee8a..7ca3a4c0be 100755
--- a/filemanager/inc/class.uifilemanager.inc.php
+++ b/filemanager/inc/class.uifilemanager.inc.php
@@ -18,7 +18,6 @@
class uifilemanager
{
-
var $public_functions = array(
'index' => True,
'help' => True,
@@ -31,17 +30,16 @@
//keep
var $bo;
var $t; //template object
- var $dispath;
+ var $dispath;
var $cwd;
var $lesspath;
var $readable_groups;
- var $files_array;
+ var $files_array;
var $numoffiles;
var $dispsep;
var $target;
-
var $prefs;//array
var $groups_applications;
@@ -88,23 +86,24 @@
function uifilemanager()
{
- // error_reporting (8);
+ // error_reporting(8);
+ $GLOBALS['phpgw']->browser = CreateObject('phpgwapi.browser');
- $this->now = date ('Y-m-d');
+ $this->now = date('Y-m-d');
$this->bo = CreateObject('filemanager.bofilemanager');
$this->t = $GLOBALS['phpgw']->template;
// here local vars are created from the HTTP vars
- @reset ($GLOBALS['HTTP_POST_VARS']);
- while (list ($name,) = @each ($GLOBALS['HTTP_POST_VARS']))
+ @reset($GLOBALS['HTTP_POST_VARS']);
+ while(list($name,) = @each($GLOBALS['HTTP_POST_VARS']))
{
$this->$name = $GLOBALS['HTTP_POST_VARS'][$name];
}
- @reset ($GLOBALS['HTTP_GET_VARS']);
- while (list ($name,) = @each ($GLOBALS['HTTP_GET_VARS']))
+ @reset($GLOBALS['HTTP_GET_VARS']);
+ while(list($name,) = @each($GLOBALS['HTTP_GET_VARS']))
{
$$name = $GLOBALS['HTTP_GET_VARS'][$name];
}
@@ -117,55 +116,55 @@
or
'var' when 'var' is set
*/
- 'op' => array ('op' => ''),
- 'path' => array ('path' => ''),
- 'file' => array ('file' => ''),
- 'sortby' => array ('sortby' => ''),
- // 'fileman' => array ('fileman' => ''),
- 'messages' => array ('messages' => ''),
- // 'help_name' => array ('help_name' => ''),
- // 'renamefiles' => array ('renamefiles' => ''),
- 'comment_files' => array ('comment_files' => ''),
- 'show_upload_boxes' => array ('show_upload_boxes' => '')
+ 'op' => array('op' => ''),
+ 'path' => array('path' => ''),
+ 'file' => array('file' => ''),
+ 'sortby' => array('sortby' => ''),
+ // 'fileman' => array('fileman' => ''),
+ 'messages' => array('messages' => ''),
+ // 'help_name' => array('help_name' => ''),
+ // 'renamefiles' => array('renamefiles' => ''),
+ 'comment_files' => array('comment_files' => ''),
+ 'show_upload_boxes' => array('show_upload_boxes' => '')
);
- reset ($to_decode);
- while (list ($var, $conditions) = each ($to_decode))
+ reset($to_decode);
+ while(list($var, $conditions) = each($to_decode))
{
- while (list ($condvar, $condvalue) = each ($conditions))
+ while(list($condvar, $condvalue) = each($conditions))
{
- if (isset ($$condvar) && ($condvar == $var || $$condvar == $condvalue))
+ if(isset($$condvar) && ($condvar == $var || $$condvar == $condvalue))
{
- if (is_array ($$var))
+ if(is_array($$var))
{
- $temp = array ();
- while (list ($varkey, $varvalue) = each ($$var))
+ $temp = array();
+ while(list($varkey, $varvalue) = each($$var))
{
- if (is_int ($varkey))
+ if(is_int($varkey))
{
- $temp[$varkey] = stripslashes (base64_decode(urldecode(($varvalue))));
+ $temp[$varkey] = stripslashes(base64_decode(urldecode(($varvalue))));
}
else
{
- $temp[stripslashes (base64_decode(urldecode(($varkey))))] = $varvalue;
+ $temp[stripslashes(base64_decode(urldecode(($varkey))))] = $varvalue;
}
}
$this->$var = $temp;
}
- elseif (isset ($$var))
+ elseif(isset($$var))
{
- $this->$var = stripslashes (base64_decode(urldecode ($$var)));
+ $this->$var = stripslashes(base64_decode(urldecode($$var)));
}
}
}
}
- // get appl. and user prefs
- $pref = CreateObject ('phpgwapi.preferences', $GLOBALS['userinfo']['username']);
- $pref->read_repository ();
- // $GLOBALS['phpgw']->hooks->single ('add_def_pref', $GLOBALS['appname']);
- $pref->save_repository (True);
- $pref_array = $pref->read_repository ();
+ // get appl. and user prefs
+ $pref = CreateObject('phpgwapi.preferences', $GLOBALS['userinfo']['username']);
+ $pref->read_repository();
+ // $GLOBALS['phpgw']->hooks->single('add_def_pref', $GLOBALS['appname']);
+ $pref->save_repository(True);
+ $pref_array = $pref->read_repository();
$this->prefs = $pref_array[$GLOBALS['appname']];
//always show name
@@ -173,7 +172,7 @@
$this->prefs[name] =1;
- if ($this->prefs['viewinnewwin'])
+ if($this->prefs['viewinnewwin'])
{
$this->target = '_blank';
}
@@ -181,7 +180,7 @@
function index()
{
- if ($noheader || $nofooter || ($this->download_x && (count ($this->fileman) > 0)))
+ if($noheader || $nofooter || ($this->download_x && (count($this->fileman) > 0)))
{
$noheader = True;
$nofooter = True;
@@ -205,7 +204,7 @@
}
// var_dump($GLOBALS[HTTP_POST_VARS]);
- //var_dump($this->delete_x);
+ //var_dump($this->delete_x);
# Page to process users
# Code is fairly hackish at the beginning, but it gets better
@@ -215,7 +214,7 @@
# Some hacks to set and display directory paths correctly
###
/*
- if ($this->goto || $this->goto_x)
+ if($this->goto || $this->goto_x)
{
$this->path = $this->cdtodir;
}
@@ -226,71 +225,77 @@
$this->path = $this->cdtodir;
}
- if (!$this->path)
+ if(!$this->path)
{
- $this->path = $this->bo->vfs->pwd ();
+ $this->path = $this->bo->vfs->pwd();
- if (!$this->path || $this->bo->vfs->pwd (array ('full' => False)) == '')
+ if(!$this->path || $this->bo->vfs->pwd(array('full' => False)) == '')
{
$this->path = $GLOBALS['homedir'];
}
}
- $this->bo->vfs->cd (array ('string' => False, 'relatives' => array (RELATIVE_NONE), 'relative' => False));
- $this->bo->vfs->cd (array ('string' => $this->path, 'relatives' => array (RELATIVE_NONE), 'relative' => False));
+ $this->bo->vfs->cd(array('string' => False, 'relatives' => array(RELATIVE_NONE), 'relative' => False));
+ $this->bo->vfs->cd(array('string' => $this->path, 'relatives' => array(RELATIVE_NONE), 'relative' => False));
- $pwd = $this->bo->vfs->pwd ();
+ $pwd = $this->bo->vfs->pwd();
- if (!$this->cwd = substr ($this->path, strlen ($GLOBALS['homedir']) + 1))
+ if(!$this->cwd = substr($this->path, strlen($GLOBALS['homedir']) + 1))
{
$this->cwd = '/';
}
else
{
- $this->cwd = substr ($pwd, strrpos ($pwd, '/') + 1);
+ $this->cwd = substr($pwd, strrpos($pwd, '/') + 1);
}
$this->disppath = $this->path;
/* This just prevents // in some cases */
- if ($this->path == '/')
- $this->dispsep = '';
+ if($this->path == '/')
+ {
+ $this->dispsep = '';
+ }
else
- $this->dispsep = '/';
+ {
+ $this->dispsep = '/';
+ }
- if (!($this->lesspath = substr ($this->path, 0, strrpos ($this->path, '/'))))
- $this->lesspath = '/';
+ if(!($this->lesspath = substr($this->path, 0, strrpos($this->path, '/'))))
+ {
+ $this->lesspath = '/';
+ }
# Get their readable groups to be used throughout the script
$groups = array();
- $groups = $GLOBALS['phpgw']->accounts->get_list ('groups');
+ $groups = $GLOBALS['phpgw']->accounts->get_list('groups');
$this->readable_groups = array();
- while (list ($num, $account) = each ($groups))
+ while(list($num, $account) = each($groups))
{
- if ($this->bo->vfs->acl_check (array ('owner_id' => $account['account_id'], 'operation' => PHPGW_ACL_READ)))
+ if($this->bo->vfs->acl_check(array('owner_id' => $account['account_id'], 'operation' => PHPGW_ACL_READ)))
{
$this->readable_groups[$account['account_lid']] = Array('account_id' => $account['account_id'], 'account_name' => $account['account_lid']);
}
}
- $this->groups_applications = array ();
+ $this->groups_applications = array();
- while (list ($num, $group_array) = each ($this->readable_groups))
+ while(list($num, $group_array) = each($this->readable_groups))
{
- $group_id = $GLOBALS['phpgw']->accounts->name2id ($group_array['account_name']);
+ $group_id = $GLOBALS['phpgw']->accounts->name2id($group_array['account_name']);
$applications = CreateObject('phpgwapi.applications', $group_id);
- $this->groups_applications[$group_array['account_name']] = $applications->read_account_specific ();
+ $this->groups_applications[$group_array['account_name']] = $applications->read_account_specific();
}
# We determine if they're in their home directory or a group's directory,
# and set the VFS working_id appropriately
- if ((preg_match ('+^'.$GLOBALS['fakebase'].'\/(.*)(\/|$)+U', $this->path, $matches)) && $matches[1] != $GLOBALS['userinfo']['account_lid'])
+ if((preg_match('+^'.$GLOBALS['fakebase'].'\/(.*)(\/|$)+U', $this->path, $matches)) && $matches[1] != $GLOBALS['userinfo']['account_lid'])
{
- $this->bo->vfs->working_id = $GLOBALS['phpgw']->accounts->name2id ($matches[1]);
+ $this->bo->vfs->working_id = $GLOBALS['phpgw']->accounts->name2id($matches[1]);
}
else
{
@@ -298,34 +303,34 @@
}
- # FIXME # comment waht happens here
- if ($this->path != $GLOBALS['homedir'] && $this->path != $GLOBALS['fakebase'] && $this->path != '/' && !$this->bo->vfs->acl_check (array ( 'string' => $this->path, 'relatives' => array (RELATIVE_NONE),'operation' => PHPGW_ACL_READ )))
+ # FIXME # comment waht happens here
+ if($this->path != $GLOBALS['homedir'] && $this->path != $GLOBALS['fakebase'] && $this->path != '/' && !$this->bo->vfs->acl_check(array('string' => $this->path, 'relatives' => array(RELATIVE_NONE),'operation' => PHPGW_ACL_READ)))
{
- $this->messages.= $GLOBALS['phpgw']->common->error_list (array (lang('You do not have access to %1', $this->path)));
- $this->html_link ('/index.php','menuaction=filemanager.uifilemanager.index','path='.$GLOBALS['homedir'], lang('Go to your home directory'));
+ $this->messages.= $GLOBALS['phpgw']->common->error_list(array(lang('You do not have access to %1', $this->path)));
+ $this->html_link('/index.php','menuaction=filemanager.uifilemanager.index','path='.$GLOBALS['homedir'], lang('Go to your home directory'));
- $GLOBALS['phpgw']->common->phpgw_footer ();
- $GLOBALS['phpgw']->common->phpgw_exit ();
+ $GLOBALS['phpgw']->common->phpgw_footer();
+ $GLOBALS['phpgw']->common->phpgw_exit();
}
$GLOBALS['userinfo']['working_id'] = $this->bo->vfs->working_id;
- $GLOBALS['userinfo']['working_lid'] = $GLOBALS['phpgw']->accounts->id2name ($GLOBALS['userinfo']['working_id']);
+ $GLOBALS['userinfo']['working_lid'] = $GLOBALS['phpgw']->accounts->id2name($GLOBALS['userinfo']['working_id']);
# If their home directory doesn't exist, we try to create it
# Same for group directories
- if (($this->path == $GLOBALS['homedir']) && !$this->bo->vfs->file_exists ($pim_tmp_arr))
+ if(($this->path == $GLOBALS['homedir']) && !$this->bo->vfs->file_exists($pim_tmp_arr))
{
$this->bo->vfs->override_acl = 1;
- if (!$this->bo->vfs->mkdir (array (
+ if(!$this->bo->vfs->mkdir(array(
'string' => $GLOBALS['homedir'],
- 'relatives' => array (RELATIVE_NONE)
+ 'relatives' => array(RELATIVE_NONE)
)))
{
- $p = $this->bo->vfs->path_parts ($pim_tmp_arr);
+ $p = $this->bo->vfs->path_parts($pim_tmp_arr);
- $this->messages= $GLOBALS['phpgw']->common->error_list (array (
- lang('Could not create directory %1',
+ $this->messages= $GLOBALS['phpgw']->common->error_list(array(
+ lang('Could not create directory %1',
$GLOBALS['homedir'] . ' (' . $p->real_full_path . ')'
)));
}
@@ -334,49 +339,51 @@
}
# Verify path is real
- if ($this->path != $GLOBALS['homedir'] && $this->path != '/' && $this->path != $GLOBALS['fakebase'])
+ if($this->path != $GLOBALS['homedir'] && $this->path != '/' && $this->path != $GLOBALS['fakebase'])
{
- if (!$this->bo->vfs->file_exists (array (
+ if(!$this->bo->vfs->file_exists(array(
'string' => $this->path,
- 'relatives' => array (RELATIVE_NONE)
+ 'relatives' => array(RELATIVE_NONE)
)))
{
- $this->messages = $GLOBALS['phpgw']->common->error_list (array (lang('Directory %1 does not exist', $this->path)));
- $this->html_link ('/index.php','menuaction=filemanager.uifilemanager.index','path='.$GLOBALS['homedir'], lang('Go to your home directory'));
+ $this->messages = $GLOBALS['phpgw']->common->error_list(array(lang('Directory %1 does not exist', $this->path)));
+ $this->html_link('/index.php','menuaction=filemanager.uifilemanager.index','path='.$GLOBALS['homedir'], lang('Go to your home directory'));
- $GLOBALS['phpgw']->common->phpgw_footer ();
- $GLOBALS['phpgw']->common->phpgw_exit ();
+ $GLOBALS['phpgw']->common->phpgw_footer();
+ $GLOBALS['phpgw']->common->phpgw_exit();
}
}
/* Update if they request it, or one out of 20 page loads */
- srand ((double) microtime() * 1000000);
- if ($update || rand (0, 19) == 4)
+ srand((double) microtime() * 1000000);
+ if($update || rand(0, 19) == 4)
{
- $this->bo->vfs->update_real (array (
- 'string' => $this->path,
- 'relatives' => array (RELATIVE_NONE)
+ $this->bo->vfs->update_real(array(
+ 'string' => $this->path,
+ 'relatives' => array(RELATIVE_NONE)
));
}
# Check available permissions for $this->path, so we can disable unusable operations in user interface
- if ($this->bo->vfs->acl_check (array(
- 'string' => $this->path,
- 'relatives' => array (RELATIVE_NONE),
+ if($this->bo->vfs->acl_check(array(
+ 'string' => $this->path,
+ 'relatives' => array(RELATIVE_NONE),
'operation' => PHPGW_ACL_ADD
)))
{
$this->can_add = True;
}
-
# Default is to sort by name
- if (!$this->sortby)
+ if(!$this->sortby)
{
$this->sortby = 'name';
}
- if($this->debug) $this->debug_filemanager();
+ if($this->debug)
+ {
+ $this->debug_filemanager();
+ }
# main action switch
// FIXME this will become a switch
@@ -388,44 +395,44 @@
{
$this->createdir();
}
- elseif ($this->uploadprocess)
+ elseif($this->uploadprocess)
{
$this->fileUpload();
}
- elseif ($this->upload_x || $this->show_upload_boxes)
+ elseif($this->upload_x || $this->show_upload_boxes)
{
$this->showUploadboxes();
}
- elseif ($this->copy_to_x)
+ elseif($this->copy_to_x)
{
$this->copyTo();
}
- elseif ($this->move_to_x)
+ elseif($this->move_to_x)
{
$this->moveTo();
}
- elseif ($this->download_x)
+ elseif($this->download_x)
{
$this->download();
}
- elseif ($this->renamefiles)
+ elseif($this->renamefiles)
{
$this->rename();
}
- elseif ($this->comment_files)
+ elseif($this->comment_files)
{
$this->editComment();
}
- elseif ($this->edit_cancel_x)
+ elseif($this->edit_cancel_x)
{
$this->readFilesInfo();
$this->fileListing();
}
- elseif ($this->edit_x || $this->edit_preview_x || $this->edit_save_x || $this->edit_save_done_x)
+ elseif($this->edit_x || $this->edit_preview_x || $this->edit_save_x || $this->edit_save_done_x)
{
$this->edit();
}
- elseif ($this->delete_x)
+ elseif($this->delete_x)
{
$this->delete();
}
@@ -434,7 +441,6 @@
$this->readFilesInfo();
$this->fileListing();
}
-
}
function fileListing()
@@ -445,12 +451,12 @@
$this->t->set_block('filemanager_list_t','row','row');
$this->t->set_block('filemanager_list_t','filemanager_footer','filemanager_footer');
- $vars['form_action']=$this->encode_href ('/index.php', 'menuaction=filemanager.uifilemanager.index','path='.$this->path);
- if ($this->numoffiles || $this->cwd)
+ $vars['form_action']=$this->encode_href('/index.php', 'menuaction=filemanager.uifilemanager.index','path='.$this->path);
+ if($this->numoffiles || $this->cwd)
{
- while (list ($num, $name) = each ($this->prefs))
+ while(list($num, $name) = each($this->prefs))
{
- if ($name)
+ if($name)
{
$columns++;
}
@@ -465,20 +471,19 @@
$this->t->set_var($vars);
$this->t->pparse('out','filemanager_header');
-
###
# Start File Table Column Headers
# Reads values from $file_attributes array and preferences
###
$this->t->set_var('actions',lang('select'));
- reset ($this->bo->file_attributes);
+ reset($this->bo->file_attributes);
if($this->numoffiles>0)
{
- while (list ($internal, $displayed) = each ($this->bo->file_attributes))
+ while(list($internal, $displayed) = each($this->bo->file_attributes))
{
- if ($this->prefs[$internal])
+ if($this->prefs[$internal])
{
$col_data=''.$displayed.' ';
$this->t->set_var('col_data',$col_data);
@@ -497,7 +502,7 @@
$vars[lang_no_files]=$lang_nofiles;
- if ($this->prefs['dotdot'] && $this->prefs['name'] && $this->path != '/')
+ if($this->prefs['dotdot'] && $this->prefs['name'] && $this->path != '/')
{
$this->t->set_var('actions','');
@@ -509,64 +514,63 @@
$this->t->set_var('col_data',$col_data);
$this->t->parse('columns','column');
- if ($this->prefs['mime_type'])
+ if($this->prefs['mime_type'])
{
$col_data=lang('Directory');
$this->t->set_var('col_data',$col_data);
$this->t->parse('columns','column',True);
}
-
$this->t->set_var('row_tr_color',$tr_color);
$this->t->parse('rows','row');
$this->t->pparse('out','row');
}
# List all of the files, with their attributes
- @reset ($this->files_array);
- for ($i = 0; $i != $this->numoffiles; $i++)
+ @reset($this->files_array);
+ for($i = 0; $i != $this->numoffiles; $i++)
{
$files = $this->files_array[$i];
- if ($this->rename_x || $this->edit_comments_x)
+ if($this->rename_x || $this->edit_comments_x)
{
- unset ($this_selected);
- unset ($renamethis);
- unset ($edit_this_comment);
+ unset($this_selected);
+ unset($renamethis);
+ unset($edit_this_comment);
- for ($j = 0; $j != $this->numoffiles; $j++)
+ for($j = 0; $j != $this->numoffiles; $j++)
{
- if ($this->fileman[$j] == $files['name'])
+ if($this->fileman[$j] == $files['name'])
{
$this_selected = 1;
break;
}
}
- if ($this->rename_x && $this_selected)
+ if($this->rename_x && $this_selected)
{
$renamethis = 1;
}
- elseif ($this->edit_comments_x && $this_selected)
+ elseif($this->edit_comments_x && $this_selected)
{
$edit_this_comment = 1;
}
}
- if (!$this->prefs['dotfiles'] && ereg ("^\.", $files['name']))
+ if(!$this->prefs['dotfiles'] && ereg("^\.", $files['name']))
{
continue;
}
# Checkboxes
- if (!$this->rename_x && !$this->edit_comments_x && $this->path != $GLOBALS['fakebase'] && $this->path != '/')
+ if(!$this->rename_x && !$this->edit_comments_x && $this->path != $GLOBALS['fakebase'] && $this->path != '/')
{
$cbox=' ';
$this->t->set_var('actions',$cbox);
}
- elseif ($renamethis)
+ elseif($renamethis)
{
- $cbox=$this->html_form_input ('hidden', 'fileman[' . base64_encode ($files['name']) . ']', $files['name'], NULL, NULL, 'checked');
+ $cbox=$this->html_form_input('hidden', 'fileman[' . base64_encode($files['name']) . ']', $files['name'], NULL, NULL, 'checked');
$this->t->set_var('actions',$cbox);
}
else
@@ -575,16 +579,16 @@
}
# File name and icon
- if ($renamethis)
+ if($renamethis)
{
$col_data=$this->mime_icon($files['mime_type']);
$col_data.=' ';
}
else
{
- if ($files['mime_type'] == 'Directory')
+ if($files['mime_type'] == 'Directory')
{
- $link=$this->encode_href ('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->path.$this->dispsep.$files['name']);
+ $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->path.$this->dispsep.$files['name']);
$icon=$this->mime_icon($files['mime_type']);
@@ -594,15 +598,15 @@
else
{
- if ($this->prefs['viewonserver'] && isset ($GLOBALS['filesdir']) && !$files['link_directory'])
+ if($this->prefs['viewonserver'] && isset($GLOBALS['filesdir']) && !$files['link_directory'])
{
#FIXME
$clickview = $GLOBALS['filesdir'].$pwd.'/'.$files['name'];
- if ($phpwh_debug)
+ if($phpwh_debug)
{
echo 'Setting clickview = '.$clickview.' '."\n";
- $this->html_link ($clickview,'', '',$files['name'], 0, 1, 0, '');
+ $this->html_link($clickview,'', '',$files['name'], 0, 1, 0, '');
}
}
else
@@ -619,7 +623,7 @@
$this->t->parse('columns','column');
# MIME type
- if ($this->prefs['mime_type'])
+ if($this->prefs['mime_type'])
{
$col_data=$files['mime_type'];
$this->t->set_var('col_data',$col_data);
@@ -627,23 +631,23 @@
}
# File size
- if ($this->prefs['size'])
+ if($this->prefs['size'])
{
$tmp_arr=array(
- 'string' => $files['directory'] . '/' . $files['name'],
- 'relatives' => array (RELATIVE_NONE)
+ 'string' => $files['directory'] . '/' . $files['name'],
+ 'relatives' => array(RELATIVE_NONE)
);
$size = $this->bo->vfs->get_size($tmp_arr);
- $col_data=$this->bo->borkb ($size);
+ $col_data=$this->bo->borkb($size);
$this->t->set_var('col_data',$col_data);
$this->t->parse('columns','column',True);
}
# Date created
- if ($this->prefs['created'])
+ if($this->prefs['created'])
{
$col_data=$files['created'];
$this->t->set_var('col_data',$col_data);
@@ -651,29 +655,35 @@
}
# Date modified
- if ($this->prefs['modified'])
+ if($this->prefs['modified'])
{
- if ($files['modified'] != '0000-00-00') $col_data=$files['modified'];
- else $col_data='';
+ if($files['modified'] != '0000-00-00')
+ {
+ $col_data=$files['modified'];
+ }
+ else
+ {
+ $col_data='';
+ }
$this->t->set_var('col_data',$col_data);
$this->t->parse('columns','column',True);
}
# Owner name
- if ($this->prefs['owner'])
+ if($this->prefs['owner'])
{
- $this->t->set_var('col_data',$GLOBALS['phpgw']->accounts->id2name ($files['owner_id']));
+ $this->t->set_var('col_data',$GLOBALS['phpgw']->accounts->id2name($files['owner_id']));
$this->t->parse('columns','column',True);
}
# Creator name
- if ($this->prefs['createdby_id'])
+ if($this->prefs['createdby_id'])
{
- $this->html_table_col_begin ();
- if ($files['createdby_id'])
+ $this->html_table_col_begin();
+ if($files['createdby_id'])
{
- $col_data=$GLOBALS['phpgw']->accounts->id2name ($files['createdby_id']);
+ $col_data=$GLOBALS['phpgw']->accounts->id2name($files['createdby_id']);
}
else $col_data='';
@@ -682,11 +692,11 @@
}
# Modified by name
- if ($this->prefs['modifiedby_id'])
+ if($this->prefs['modifiedby_id'])
{
- if ($files['modifiedby_id'])
+ if($files['modifiedby_id'])
{
- $col_data=$GLOBALS['phpgw']->accounts->id2name ($files['modifiedby_id']);
+ $col_data=$GLOBALS['phpgw']->accounts->id2name($files['modifiedby_id']);
}
else $col_data='';
$this->t->set_var('col_data',$col_data);
@@ -694,7 +704,7 @@
}
# Application
- if ($this->prefs['app'])
+ if($this->prefs['app'])
{
$col_data=$files['app'];
$this->t->set_var('col_data',$col_data);
@@ -702,11 +712,11 @@
}
# Comment
- if ($this->prefs['comment'])
+ if($this->prefs['comment'])
{
- if ($edit_this_comment)
+ if($edit_this_comment)
{
- $col_data=' ' ;
+ $col_data=' ';
}
else
{
@@ -717,7 +727,7 @@
}
# Version
- if ($this->prefs['version'])
+ if($this->prefs['version'])
{
$link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.history','file='.$files['name'].'&path='.$this->path);
$col_data=''.$files['version'].' ';
@@ -725,9 +735,7 @@
$this->t->parse('columns','column',True);
}
-
-
- if ($files['mime_type'] == 'Directory')
+ if($files['mime_type'] == 'Directory')
{
$usedspace += $fileinfo[0];
}
@@ -742,7 +750,7 @@
}
// when renaming or changing comments render extra sumbmit button
- if ($this->rename_x || $this->edit_comments_x)
+ if($this->rename_x || $this->edit_comments_x)
{
$col_data=' ';
$this->t->set_var('col_data',$col_data);
@@ -751,43 +759,36 @@
$this->t->parse('rows','row');
$this->t->pparse('out','row');
}
-
-
}
-
-
// The file and directory information
$vars[lang_files_in_this_dir]=lang('Files in this directory');
$vars[files_in_this_dir]=$this->numoffiles;
$vars[lang_used_space]=lang('Used space');
- $vars[used_space]=$this->bo->borkb ($usedspace, NULL, 1);
+ $vars[used_space]=$this->bo->borkb($usedspace, NULL, 1);
- if ($this->path == $GLOBALS['homedir'] || $this->path == $GLOBALS['fakebase'])
+ if($this->path == $GLOBALS['homedir'] || $this->path == $GLOBALS['fakebase'])
{
$vars[lang_unused_space]=lang('Unused space');
- $vars[unused_space]=$this->bo->borkb ($GLOBALS['userinfo']['hdspace'] - $usedspace, NULL, 1);
+ $vars[unused_space]=$this->bo->borkb($GLOBALS['userinfo']['hdspace'] - $usedspace, NULL, 1);
- $tmp_arr=array (
+ $tmp_arr=array(
'string' => $this->path,
- 'relatives' => array (RELATIVE_NONE)
+ 'relatives' => array(RELATIVE_NONE)
);
- $ls_array = $this->bo->vfs->ls ($tmp_arr);
-
+ $ls_array = $this->bo->vfs->ls($tmp_arr);
$vars[lang_total_files]=lang('Total Files');
- $vars[total_files]= count ($ls_array);
-
+ $vars[total_files]= count($ls_array);
}
$this->t->set_var($vars);
$this->t->pparse('out','filemanager_footer');
- $GLOBALS['phpgw']->common->phpgw_footer ();
- $GLOBALS['phpgw']->common->phpgw_exit ();
-
+ $GLOBALS['phpgw']->common->phpgw_footer();
+ $GLOBALS['phpgw']->common->phpgw_exit();
}
function readFilesInfo()
@@ -798,38 +799,46 @@
# $fakebase is a special directory. In that directory, we list the user's
# home directory and the directories for the groups they're in
$this->numoffiles = 0;
- if ($this->path == $GLOBALS['fakebase'])
+ if($this->path == $GLOBALS['fakebase'])
{
- if (!$this->bo->vfs->file_exists (array ('string' => $GLOBALS['homedir'], 'relatives' => array (RELATIVE_NONE))))
+ if(!$this->bo->vfs->file_exists(array('string' => $GLOBALS['homedir'], 'relatives' => array(RELATIVE_NONE))))
{
- $this->bo->vfs->mkdir (array ('string' => $GLOBALS['homedir'], 'relatives' => array (RELATIVE_NONE)));
+ $this->bo->vfs->mkdir(array('string' => $GLOBALS['homedir'], 'relatives' => array(RELATIVE_NONE)));
}
- $ls_array = $this->bo->vfs->ls (array ( 'string' => $GLOBALS['homedir'], 'relatives' => array (RELATIVE_NONE), 'checksubdirs' => False, 'nofiles' => True ) );
+ $ls_array = $this->bo->vfs->ls(array(
+ 'string' => $GLOBALS['homedir'],
+ 'relatives' => array(RELATIVE_NONE),
+ 'checksubdirs' => False,
+ 'nofiles' => True
+ ));
$this->files_array[] = $ls_array[0];
$this->numoffiles++;
- reset ($this->readable_groups);
- while (list ($num, $group_array) = each ($this->readable_groups))
+ reset($this->readable_groups);
+ while(list($num, $group_array) = each($this->readable_groups))
{
# If the group doesn't have access to this app, we don't show it
- if (!$this->groups_applications[$group_array['account_name']][$GLOBALS['appname']]['enabled'])
+ if(!$this->groups_applications[$group_array['account_name']][$GLOBALS['appname']]['enabled'])
{
continue;
}
- if (!$this->bo->vfs->file_exists (array ('string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],'relatives' => array (RELATIVE_NONE) )) )
+ if(!$this->bo->vfs->file_exists(array('string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],'relatives' => array(RELATIVE_NONE))))
{
$this->bo->vfs->override_acl = 1;
- $this->bo->vfs->mkdir (array ( 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], 'relatives' => array (RELATIVE_NONE) ) );
+ $this->bo->vfs->mkdir(array(
+ 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],
+ 'relatives' => array(RELATIVE_NONE)
+ ));
$this->bo->vfs->override_acl = 0;
- $this->bo->vfs->set_attributes (array ( 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], 'relatives' => array (RELATIVE_NONE), 'attributes' => array ( 'owner_id' => $group_array['account_id'], 'createdby_id' => $group_array['account_id'] ) ) );
+ $this->bo->vfs->set_attributes(array('string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],'relatives' => array(RELATIVE_NONE),'attributes' => array('owner_id' => $group_array['account_id'],'createdby_id' => $group_array['account_id'])));
}
- $ls_array = $this->bo->vfs->ls (array ( 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], 'relatives' => array (RELATIVE_NONE), 'checksubdirs' => False, 'nofiles' => True ) );
+ $ls_array = $this->bo->vfs->ls(array('string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],'relatives' => array(RELATIVE_NONE),'checksubdirs' => False,'nofiles' => True));
$this->files_array[] = $ls_array[0];
@@ -838,30 +847,37 @@
}
else
{
- $ls_array = $this->bo->vfs->ls (array ( 'string' => $this->path, 'relatives' => array (RELATIVE_NONE), 'checksubdirs' => False, 'nofiles' => False, 'orderby' => $this->sortby ) );
+ $ls_array = $this->bo->vfs->ls(array(
+ 'string' => $this->path,
+ 'relatives' => array(RELATIVE_NONE),
+ 'checksubdirs' => False,
+ 'nofiles' => False,
+ 'orderby' => $this->sortby
+ ));
- if ($phpwh_debug)
+ if($phpwh_debug)
{
echo '# of files found in "'.$this->path.'" : '.count($ls_array).' '."\n";
}
- while (list ($num, $file_array) = each ($ls_array))
+ while(list($num, $file_array) = each($ls_array))
{
$this->numoffiles++;
$this->files_array[] = $file_array;
- if ($phpwh_debug)
+ if($phpwh_debug)
{
echo 'Filename: '.$file_array['name'].' '."\n";
}
}
}
- if (!is_array ($this->files_array))
+ if(!is_array($this->files_array))
{
- $this->files_array = array ();
+ $this->files_array = array();
}
// end file count
}
+
function toolbar($type)
{
switch($type)
@@ -869,7 +885,7 @@
case 'location':
$toolbar='
-
+
';
$toolbar.=' ';
@@ -877,14 +893,14 @@
';
// go up icon when we're not at the top
- if ($this->path != '/')
- {
+ if($this->path != '/')
+ {
$link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->lesspath);
$toolbar.=$this->buttonImage($link,'up',lang('go up'));
}
// go home icon when we're not home already
- if ($this->path != $GLOBALS['homedir'])
+ if($this->path != $GLOBALS['homedir'])
{
$link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$GLOBALS['homedir']);
$toolbar.=$this->buttonImage($link,'home',lang('go home'));
@@ -896,7 +912,7 @@
$toolbar.=''.lang('Location').': ';
//$toolbar.=' ';
- $current_option=''.$this->disppath.' ';
+ $current_option=''.$this->disppath.' ';
// selectbox for change/move/and copy to
$dirs_options=$this->all_other_directories_options();
$toolbar.=''.$current_option.$dirs_options.'
@@ -904,7 +920,7 @@
';
$toolbar.=$this->inputImage('goto','goto',lang('Quick jump to'));
// upload button
- if ($this->path != '/' && $this->path != $GLOBALS['fakebase'] && $this->can_add)
+ if($this->path != '/' && $this->path != $GLOBALS['fakebase'] && $this->can_add)
{
$toolbar.=' ';
@@ -920,46 +936,44 @@
break;
case 'list_nav':
$toolbar='
-
+
';
// selectbox for change/move/and copy to
// submit buttons for
- if ($this->path != '/' && $this->path != $GLOBALS['fakebase'])
+ if($this->path != '/' && $this->path != $GLOBALS['fakebase'])
{
$toolbar.=' ';
$toolbar.='
';
- if (!$this->rename_x && !$this->edit_comments_x)
+ if(!$this->rename_x && !$this->edit_comments_x)
{
// edit text file button
$toolbar.=$this->inputImage('edit','edit',lang('edit'));
}
- if (!$this->edit_comments_x)
+ if(!$this->edit_comments_x)
{
$toolbar.=$this->inputImage('rename','rename',lang('Rename'));
}
- if (!$this->rename_x && !$this->edit_comments_x)
+ if(!$this->rename_x && !$this->edit_comments_x)
{
$toolbar.=$this->inputImage('delete','delete',lang('Delete'));
}
- if (!$this->rename_x)
+ if(!$this->rename_x)
{
$toolbar.=$this->inputImage('edit_comments','edit_comments',lang('Edit comments'));
}
$toolbar.=' ';
}
- // $toolbar.='
';
- if (!$this->rename_x && !$this->edit_comments_x)
+ // $toolbar.='
';
+ if(!$this->rename_x && !$this->edit_comments_x)
{
-
-
// copy and move buttons
- if ($this->path != '/' && $this->path != $GLOBALS['fakebase'])
+ if($this->path != '/' && $this->path != $GLOBALS['fakebase'])
{
$toolbar3.=' ';
$toolbar3.=' ';
@@ -975,7 +989,7 @@
}
// create dir and file button
- if ($this->path != '/' && $this->path != $GLOBALS['fakebase'] && $this->can_add)
+ if($this->path != '/' && $this->path != $GLOBALS['fakebase'] && $this->can_add)
{
$toolbar3.=' ';
$toolbar3.=' ';
@@ -989,7 +1003,7 @@
{
$toolbar.=$toolbar3;
/* $toolbar.='
-
+
'.$toolbar3;*/
}
}
@@ -997,927 +1011,957 @@
break;
default:$x='';
- }
-
-
- if($toolbar)
- {
- return $toolbar;
- }
}
-
- // move to bo
- # Handle File Uploads
- function fileUpload()
+ if($toolbar)
{
- if ($this->path != '/' && $this->path != $GLOBALS['fakebase'])
- {
- for ($i = 0; $i != $this->show_upload_boxes; $i++)
- {
- if ($badchar = $this->bo->bad_chars ($_FILES['upload_file']['name'][$i], True, True))
- {
- $this->messages.= $GLOBALS['phpgw']->common->error_list (array ($this->bo->html_encode (lang('File names cannot contain "%1"', $badchar), 1)));
-
- continue;
- }
-
- # Check to see if the file exists in the database, and get its info at the same time
- $ls_array = $this->bo->vfs->ls (array (
- 'string'=> $this->path . '/' . $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_NONE),
- 'checksubdirs' => False,
- 'nofiles' => True
- ));
-
- $fileinfo = $ls_array[0];
-
- if ($fileinfo['name'])
- {
- if ($fileinfo['mime_type'] == 'Directory')
- {
- $this->messages.= $GLOBALS['phpgw']->common->error_list (array (lang('Cannot replace %1 because it is a directory', $fileinfo['name'])));
- continue;
- }
- }
-
- if ($_FILES['upload_file']['size'][$i] > 0)
- {
- if ($fileinfo['name'] && $fileinfo['deleteable'] != 'N')
- {
- $tmp_arr=array(
- 'string'=> $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_ALL),
- 'attributes' => array (
- 'owner_id' => $GLOBALS['userinfo']['username'],
- 'modifiedby_id' => $GLOBALS['userinfo']['username'],
- 'modified' => $this->now,
- 'size' => $_FILES['upload_file']['size'][$i],
- 'mime_type' => $_FILES['upload_file']['type'][$i],
- 'deleteable' => 'Y',
- 'comment' => stripslashes ($upload_comment[$i])
- )
- );
- $this->bo->vfs->set_attributes($tmp_arr);
-
- $tmp_arr=array (
- 'from' => $_FILES['upload_file']['tmp_name'][$i],
- 'to' => $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_NONE|VFS_REAL, RELATIVE_ALL)
- );
- $this->bo->vfs->cp($tmp_arr);
-
- $this->messages.=lang('Replaced %1', $this->disppath.'/'.$_FILES['upload_file']['name'][$i]);
- }
- else
- {
-
- $this->bo->vfs->cp (array (
- 'from'=> $_FILES['upload_file']['tmp_name'][$i],
- 'to'=> $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_NONE|VFS_REAL, RELATIVE_ALL)
- ));
-
- $this->bo->vfs->set_attributes (array (
- 'string'=> $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_ALL),
- 'attributes'=> array (
- 'mime_type' => $_FILES['upload_file']['type'][$i],
- 'comment' => stripslashes ($upload_comment[$i])
- )
- ));
-
- $this->messages.=lang('Created %1,%2', $this->disppath.'/'.$_FILES['upload_file']['name'][$i], $_FILES['upload_file']['size'][$i]);
- }
- }
- elseif ($_FILES['upload_file']['name'][$i])
- {
- $this->bo->vfs->touch (array (
- 'string'=> $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_ALL)
- ));
-
- $this->bo->vfs->set_attributes (array (
- 'string'=> $_FILES['upload_file']['name'][$i],
- 'relatives' => array (RELATIVE_ALL),
- 'attributes'=> array (
- 'mime_type' => $_FILES['upload_file']['type'][$i],
- 'comment' => $upload_comment[$i]
- )
- ));
-
- $this->messages.=lang('Created %1,%2', $this->disppath.'/'.$_FILES['upload_file']['name'][$i], $file_size[$i]);
- }
- }
-
- $this->readFilesInfo();
- $this->filelisting();
- }
-
+ return $toolbar;
}
+ }
- # Handle Editing comments
- function editComment()
+ // move to bo
+ # Handle File Uploads
+ function fileUpload()
+ {
+ if($this->path != '/' && $this->path != $GLOBALS['fakebase'])
{
- while (list ($file) = each ($this->comment_files))
+ for($i = 0; $i != $this->show_upload_boxes; $i++)
{
- if ($badchar = $this->bo->bad_chars ($this->comment_files[$file], False, True))
+ if($badchar = $this->bo->bad_chars($_FILES['upload_file']['name'][$i], True, True))
{
- $this->messages=$GLOBALS['phpgw']->common->error_list (array ($file . $this->bo->html_encode (': ' . lang('Comments cannot contain "%1"', $badchar), 1)));
+ $this->messages.= $GLOBALS['phpgw']->common->error_list(array($this->bo->html_encode(lang('File names cannot contain "%1"', $badchar), 1)));
+
continue;
}
- $this->bo->vfs->set_attributes (array ( 'string' => $file, 'relatives' => array (RELATIVE_ALL), 'attributes' => array ( 'comment' => stripslashes ($this->comment_files[$file]) ) ) );
-
- $this->messages=lang('Updated comment for %1', $this->path.'/'.$file);
- }
-
- $this->readFilesInfo();
- $this->filelisting();
- }
-
- # Handle Renaming Files and Directories
- function rename()
- {
- while (list ($from, $to) = each ($this->renamefiles))
- {
- if ($badchar = $this->bo->bad_chars ($to, True, True))
- {
- $this->messages=$GLOBALS['phpgw']->common->error_list (array ($this->bo->html_encode (lang('File names cannot contain "%1"', $badchar), 1)));
- continue;
- }
-
- if (ereg ("/", $to) || ereg ("\\\\", $to))
- {
- $this->messages=$GLOBALS['phpgw']->common->error_list (array (lang("File names cannot contain \\ or /")));
- }
- elseif (!$this->bo->vfs->mv (array ( 'from' => $from, 'to' => $to )) )
- {
- $this->messages= $GLOBALS['phpgw']->common->error_list (array (lang('Could not rename %1 to %2', $this->disppath.'/'.$from, $this->disppath.'/'.$to)));
- }
- else
- {
- $this->messages=lang('Renamed %1 to %2', $this->disppath.'/'.$from, $this->disppath.'/'.$to);
- }
- }
- $this->readFilesInfo();
- $this->filelisting();
- }
-
- # Handle Moving Files and Directories
- function moveTo()
- {
- while (list ($num, $file) = each ($this->fileman))
- {
- if ($this->bo->vfs->mv (array (
- 'from' => $file,
- 'to' => $this->todir . '/' . $file,
- 'relatives' => array (RELATIVE_ALL, RELATIVE_NONE)
- )))
- {
- $moved++;
- $this->messages=lang('Moved %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file);
- }
- else
- {
- $this->messages = $GLOBALS['phpgw']->common->error_list (array (lang('Could not move %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file)));
- }
- }
-
- if ($moved)
- {
- $x=0;
- }
-
- $this->readFilesInfo();
- $this->filelisting();
- }
-
- // Handle Copying of Files and Directories
- function copyTo()
- {
- while (list ($num, $file) = each ($this->fileman))
- {
- if ($this->bo->vfs->cp (array ( 'from' => $file, 'to' => $this->todir . '/' . $file, 'relatives' => array (RELATIVE_ALL, RELATIVE_NONE) )) )
- {
- $copied++;
- $this->message .= lang('Copied %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file);
- }
- else
- {
- $this->message .= $GLOBALS['phpgw']->common->error_list (array (lang('Could not copy %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file)));
- }
- }
-
- if ($copied)
- {
- $x=0;
- }
-
- $this->readFilesInfo();
- $this->filelisting();
-
- }
-
- function createdir()
- {
- if ($this->newdir_x && $this->newfile_or_dir)
- {
- if ($this->bo->badchar = $this->bo->bad_chars ($this->newfile_or_dir, True, True))
- {
- $this->messages= $GLOBALS['phpgw']->common->error_list (array ($this->bo->html_encode (lang('Directory names cannot contain "%1"', $badchar), 1)));
- }
-
- if ($$this->newfile_or_dir[strlen($this->newfile_or_dir)-1] == ' ' || $this->newfile_or_dir[0] == ' ')
- {
- $this->messages= $GLOBALS['phpgw']->common->error_list (array (lang('Cannot create directory because it begins or ends in a space')));
- }
-
- $ls_array = $this->bo->vfs->ls (array (
- 'string' => $this->path . '/' . $this->newfile_or_dir,
- 'relatives' => array (RELATIVE_NONE),
- 'checksubdirs' => False,
+ # Check to see if the file exists in the database, and get its info at the same time
+ $ls_array = $this->bo->vfs->ls(array(
+ 'string'=> $this->path . '/' . $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_NONE),
+ 'checksubdirs' => False,
'nofiles' => True
));
$fileinfo = $ls_array[0];
- if ($fileinfo['name'])
+ if($fileinfo['name'])
{
- if ($fileinfo['mime_type'] != 'Directory')
+ if($fileinfo['mime_type'] == 'Directory')
{
- $this->messages= $GLOBALS['phpgw']->common->error_list (array (
- lang('%1 already exists as a file',
- $fileinfo['name'])
+ $this->messages.= $GLOBALS['phpgw']->common->error_list(array(lang('Cannot replace %1 because it is a directory', $fileinfo['name'])));
+ continue;
+ }
+ }
+
+ if($_FILES['upload_file']['size'][$i] > 0)
+ {
+ if($fileinfo['name'] && $fileinfo['deleteable'] != 'N')
+ {
+ $tmp_arr=array(
+ 'string'=> $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_ALL),
+ 'attributes' => array(
+ 'owner_id' => $GLOBALS['userinfo']['username'],
+ 'modifiedby_id' => $GLOBALS['userinfo']['username'],
+ 'modified' => $this->now,
+ 'size' => $_FILES['upload_file']['size'][$i],
+ 'mime_type' => $_FILES['upload_file']['type'][$i],
+ 'deleteable' => 'Y',
+ 'comment' => stripslashes($upload_comment[$i])
+ )
+ );
+ $this->bo->vfs->set_attributes($tmp_arr);
+
+ $tmp_arr=array(
+ 'from' => $_FILES['upload_file']['tmp_name'][$i],
+ 'to' => $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_NONE|VFS_REAL, RELATIVE_ALL)
+ );
+ $this->bo->vfs->cp($tmp_arr);
+
+ $this->messages.=lang('Replaced %1', $this->disppath.'/'.$_FILES['upload_file']['name'][$i]);
+ }
+ else
+ {
+
+ $this->bo->vfs->cp(array(
+ 'from'=> $_FILES['upload_file']['tmp_name'][$i],
+ 'to'=> $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_NONE|VFS_REAL, RELATIVE_ALL)
));
- }
- else
- {
- $this->messages= $GLOBALS['phpgw']->common->error_list (array (lang('Directory %1 already exists', $fileinfo['name'])));
+
+ $this->bo->vfs->set_attributes(array(
+ 'string'=> $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_ALL),
+ 'attributes'=> array(
+ 'mime_type' => $_FILES['upload_file']['type'][$i],
+ 'comment' => stripslashes($upload_comment[$i])
+ )
+ ));
+
+ $this->messages.=lang('Created %1,%2', $this->disppath.'/'.$_FILES['upload_file']['name'][$i], $_FILES['upload_file']['size'][$i]);
}
}
- else
+ elseif($_FILES['upload_file']['name'][$i])
{
- if ($this->bo->vfs->mkdir (array ('string' => $this->newfile_or_dir)))
- {
- $this->messages=lang('Created directory %1', $this->disppath.'/'.$this->newfile_or_dir);
- }
- else
- {
- $this->messages=$GLOBALS['phpgw']->common->error_list (array (lang('Could not create %1', $this->disppath.'/'.$this->newfile_or_dir)));
- }
+ $this->bo->vfs->touch(array(
+ 'string'=> $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_ALL)
+ ));
+
+ $this->bo->vfs->set_attributes(array(
+ 'string'=> $_FILES['upload_file']['name'][$i],
+ 'relatives' => array(RELATIVE_ALL),
+ 'attributes'=> array(
+ 'mime_type' => $_FILES['upload_file']['type'][$i],
+ 'comment' => $upload_comment[$i]
+ )
+ ));
+
+ $this->messages.=lang('Created %1,%2', $this->disppath.'/'.$_FILES['upload_file']['name'][$i], $file_size[$i]);
}
-
- $this->readFilesInfo();
- $this->filelisting();
}
- }
-
- function delete()
- {
- if( is_array($this->fileman) && count($this->fileman) >= 1)
- {
- foreach($this->fileman as $filename)
- {
- if ($this->bo->vfs->delete (array ('string' => $filename)))
- {
- $this->messages .= lang('Deleted %1', $this->disppath.'/'.$filename).' ';
- }
- else
- {
- $this->messages=$GLOBALS['phpgw']->common->error_list (array (lang('Could not delete %1', $this->disppath.'/'.$filename)));
- }
- }
- }
- else
- {
- // make this a javascript func for quicker respons
- $this->messages=$GLOBALS['phpgw']->common->error_list (array (lang('Please select a file to delete.')));
- }
$this->readFilesInfo();
$this->filelisting();
}
+ }
-
- function debug_filemanager()
+ # Handle Editing comments
+ function editComment()
+ {
+ while(list($file) = each($this->comment_files))
{
- error_reporting (8);
-
- echo "Filemanager debug:
- path: {$this->path}
- disppath: {$this->disppath}
- cwd: {$this->cwd}
- lesspath: {$this->lesspath}
-
- eGroupware debug:
- real getabsolutepath: " . $this->bo->vfs->getabsolutepath (array ('target' => False, 'mask' => False, 'fake' => False)) . "
- fake getabsolutepath: " . $this->bo->vfs->getabsolutepath (array ('target' => False)) . "
- appsession: " . $GLOBALS['phpgw']->session->appsession ('vfs','') . "
- pwd: " . $this->bo->vfs->pwd () . " ";
-
- echo '
';
- var_dump($this);
-
-
- }
-
- function showUploadboxes()
- {
- $this->t->set_file(array('upload' => 'upload.tpl'));
- $this->t->set_block('upload','upload_header','upload_header');
- $this->t->set_block('upload','row','row');
- $this->t->set_block('upload','upload_footer','upload_footer');
-
- # Decide how many upload boxes to show
- if (!$this->show_upload_boxes || $this->show_upload_boxes <= 0)
+ if($badchar = $this->bo->bad_chars($this->comment_files[$file], False, True))
{
- if (!$this->show_upload_boxes = $this->prefs['show_upload_boxes'])
- {
- $this->show_upload_boxes = 1;
- }
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array($file . $this->bo->html_encode(': ' . lang('Comments cannot contain "%1"', $badchar), 1)));
+ continue;
}
- # Show file upload boxes. Note the last argument to html (). Repeats $this->show_upload_boxes times
- if ($this->path != '/' && $this->path != $GLOBALS['fakebase'] && $this->can_add)
+ $this->bo->vfs->set_attributes(array(
+ 'string' => $file,
+ 'relatives' => array(RELATIVE_ALL),
+ 'attributes' => array(
+ 'comment' => stripslashes($this->comment_files[$file])
+ )
+ ));
+
+ $this->messages=lang('Updated comment for %1', $this->path.'/'.$file);
+ }
+
+ $this->readFilesInfo();
+ $this->filelisting();
+ }
+
+ # Handle Renaming Files and Directories
+ function rename()
+ {
+ while(list($from, $to) = each($this->renamefiles))
+ {
+ if($badchar = $this->bo->bad_chars($to, True, True))
{
- $vars[form_action]=$GLOBALS[phpgw]->link('/index.php','menuaction=filemanager.uifilemanager.index');
- $vars[path]=$this->path;
- $vars[lang_file]=lang('File');
- $vars[lang_comment]=lang('Comment');
- $vars[num_upload_boxes]=$this->show_upload_boxes;
- $this->t->set_var($vars);
- $this->t->pparse('out','upload_header');
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array($this->bo->html_encode(lang('File names cannot contain "%1"', $badchar), 1)));
+ continue;
+ }
- for($i=0;$i<$this->show_upload_boxes;$i++)
- {
- $this->t->set_var('row_tr_color',$tr_color);
- $this->t->parse('rows','row');
- $this->t->pparse('out','row');
- }
+ if(ereg("/", $to) || ereg("\\\\", $to))
+ {
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array(lang("File names cannot contain \\ or /")));
+ }
+ elseif(!$this->bo->vfs->mv(array(
+ 'from' => $from,
+ 'to' => $to
+ )))
+ {
+ $this->messages= $GLOBALS['phpgw']->common->error_list(array(lang('Could not rename %1 to %2', $this->disppath.'/'.$from, $this->disppath.'/'.$to)));
+ }
+ else
+ {
+ $this->messages=lang('Renamed %1 to %2', $this->disppath.'/'.$from, $this->disppath.'/'.$to);
+ }
+ }
+ $this->readFilesInfo();
+ $this->filelisting();
+ }
- $vars[lang_upload]=lang('Upload files');
- $vars[change_upload_boxes].=lang('Show') . ' ';
- $links.= $this->html_link ('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=5', '5');
- $links.=' ';
- $links.= $this->html_link ('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=10', '10');
- $links.=' ';
- $links.= $this->html_link ('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=20', '20');
- $links.=' ';
- $links.= $this->html_link ('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=50', '50');
- $links.=' ';
- $links.= lang('upload fields');
- $vars[change_upload_boxes].=$links;
- $this->t->set_var($vars);
- $this->t->pparse('out','upload_footer');
+ # Handle Moving Files and Directories
+ function moveTo()
+ {
+ while(list($num, $file) = each($this->fileman))
+ {
+ if($this->bo->vfs->mv(array(
+ 'from' => $file,
+ 'to' => $this->todir . '/' . $file,
+ 'relatives' => array(RELATIVE_ALL, RELATIVE_NONE)
+ )))
+ {
+ $moved++;
+ $this->messages=lang('Moved %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file);
+ }
+ else
+ {
+ $this->messages = $GLOBALS['phpgw']->common->error_list(array(lang('Could not move %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file)));
}
}
- /* create textfile */
- function createfile()
+ if($moved)
{
- $this->createfile=$this->newfile_or_dir;
- if ($this->createfile)
+ $x=0;
+ }
+
+ $this->readFilesInfo();
+ $this->filelisting();
+ }
+
+ // Handle Copying of Files and Directories
+ function copyTo()
+ {
+ while(list($num, $file) = each($this->fileman))
+ {
+ if($this->bo->vfs->cp(array(
+ 'from' => $file,
+ 'to' => $this->todir . '/' . $file,
+ 'relatives' => array(RELATIVE_ALL, RELATIVE_NONE)
+ )))
{
- if ($badchar = $this->bo->bad_chars ($this->createfile, True, True))
+ $copied++;
+ $this->message .= lang('Copied %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file);
+ }
+ else
+ {
+ $this->message .= $GLOBALS['phpgw']->common->error_list(array(lang('Could not copy %1 to %2', $this->disppath.'/'.$file, $this->todir.'/'.$file)));
+ }
+ }
+
+ if($copied)
+ {
+ $x=0;
+ }
+
+ $this->readFilesInfo();
+ $this->filelisting();
+ }
+
+ function createdir()
+ {
+ if($this->newdir_x && $this->newfile_or_dir)
+ {
+ if($this->bo->badchar = $this->bo->bad_chars($this->newfile_or_dir, True, True))
+ {
+ $this->messages= $GLOBALS['phpgw']->common->error_list(array($this->bo->html_encode(lang('Directory names cannot contain "%1"', $badchar), 1)));
+ }
+
+ /* TODO is this right or should it be a single $ ? */
+ if($$this->newfile_or_dir[strlen($this->newfile_or_dir)-1] == ' ' || $this->newfile_or_dir[0] == ' ')
+ {
+ $this->messages= $GLOBALS['phpgw']->common->error_list(array(lang('Cannot create directory because it begins or ends in a space')));
+ }
+
+ $ls_array = $this->bo->vfs->ls(array(
+ 'string' => $this->path . '/' . $this->newfile_or_dir,
+ 'relatives' => array(RELATIVE_NONE),
+ 'checksubdirs' => False,
+ 'nofiles' => True
+ ));
+
+ $fileinfo = $ls_array[0];
+
+ if($fileinfo['name'])
+ {
+ if($fileinfo['mime_type'] != 'Directory')
{
- $this->messages = $GLOBALS['phpgw']->common->error_list (array (
- lang('File names cannot contain "%1"',$badchar),
- 1)
- );
-
- $this->fileListing();
- }
-
- if ($this->bo->vfs->file_exists (array (
- 'string'=> $this->createfile,
- 'relatives' => array (RELATIVE_ALL)
- )))
- {
- $this->messages=$GLOBALS['phpgw']->common->error_list (array (lang('File %1 already exists. Please edit it or delete it first.', $this->createfile)));
- $this->fileListing();
- }
-
-
- if ($this->bo->vfs->touch (array ( 'string' => $this->createfile, 'relatives' => array (RELATIVE_ALL) )) )
- {
- $this->fileman = array ();
- $this->fileman[0] = $this->createfile;
- $this->edit = 1;
- $this->numoffiles++;
- $this->edit();
+ $this->messages= $GLOBALS['phpgw']->common->error_list(array(
+ lang('%1 already exists as a file',
+ $fileinfo['name'])
+ ));
}
else
{
- $this->messages=$GLOBALS['phpgw']->common->error_list (array (lang('File %1 could not be created.', $this->createfile)));
- $this->fileListing();
+ $this->messages= $GLOBALS['phpgw']->common->error_list(array(lang('Directory %1 already exists', $fileinfo['name'])));
+ }
+ }
+ else
+ {
+ if($this->bo->vfs->mkdir(array('string' => $this->newfile_or_dir)))
+ {
+ $this->messages=lang('Created directory %1', $this->disppath.'/'.$this->newfile_or_dir);
+ }
+ else
+ {
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array(lang('Could not create %1', $this->disppath.'/'.$this->newfile_or_dir)));
}
}
- }
- # Handle Editing files
- function edit()
- {
$this->readFilesInfo();
+ $this->filelisting();
+ }
+ }
- $this->t->set_file(array('filemanager_edit' => 'edit_file.tpl'));
- $this->t->set_block('filemanager_edit','row','row');
-
- $vars[preview_content]='';
- if ($this->edit_file)
+ function delete()
+ {
+ if( is_array($this->fileman) && count($this->fileman) >= 1)
+ {
+ foreach($this->fileman as $filename)
{
- $this->edit_file_content = stripslashes ($this->edit_file_content);
- }
-
- if ($this->edit_preview_x)
- {
- $content = $this->edit_file_content;
-
- $vars[lang_preview_of]=lang('Preview of %1', $this->path.'/'.$edit_file);
-
- $vars[preview_content]=nl2br($content);
- }
- elseif ($this->edit_save_x || $this->edit_save_done_x)
- {
-
- $content = $this->edit_file_content;
- //die( $content);
- if ($this->bo->vfs->write (array (
- 'string' => $this->edit_file,
- 'relatives' => array (RELATIVE_ALL),
- 'content' => $content
- )))
+ if($this->bo->vfs->delete(array('string' => $filename)))
{
- $this->messages=lang('Saved %1', $this->path.'/'.$this->edit_file);
-
- if($this->edit_save_done_x)
- {
- $this->readFilesInfo();
- $this->fileListing();
- exit;
- }
+ $this->messages .= lang('Deleted %1', $this->disppath.'/'.$filename).' ';
}
else
{
- $this->messages=lang('Could not save %1', $this->path.'/'.$this->edit_file);
- }
- }
-
- # Now we display the edit boxes and forms
- for ($j = 0; $j != $this->numoffiles; $j++)
- {
- # If we're in preview or save mode, we only show the file
- # being previewed or saved
- if ($this->edit_file && ($this->fileman[$j] != $this->edit_file))
- {
- continue;
- }
-
- if ($this->fileman[$j] && $this->bo->vfs->file_exists (array ( 'string' => $this->fileman[$j], 'relatives' => array (RELATIVE_ALL) )) )
- {
- if ($this->edit_file)
- {
- $content = stripslashes ($this->edit_file_content);
- }
- else
- {
- $content = $this->bo->vfs->read (array ('string' => $this->fileman[$j]));
- }
-
- $vars[form_action]= $GLOBALS['phpgw']->link('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->path);
- $vars[edit_file]=$this->fileman[$j];
-
- # We need to include all of the fileman entries for each file's form,
- # so we loop through again
- for ($i = 0; $i != $this->numoffiles; $i++)
- {
- if($this->fileman[$i]) $value='value="'.$this->fileman[$i].'"';
- $vars[filemans_hidden]=' ';
-
- }
-
- $vars[file_content]=$content;
-
-
- $vars[buttonPreview]=$this->inputImage('edit_preview','edit_preview',lang('Preview %1', $this->bo->html_encode ($this->fileman[$j], 1)));
- $vars[buttonSave]=$this->inputImage('edit_save','save',lang('Save %1', $this->bo->html_encode ($this->fileman[$j], 1)));
- $vars[buttonDone]=$this->inputImage('edit_save_done','ok',lang('Save %1, and go back to file listing ', $this->bo->html_encode ($this->fileman[$j], 1)));
- $vars[buttonCancel]=$this->inputImage('edit_cancel','cancel',lang('Cancel editing %1 without saving', $this->bo->html_encode ($this->fileman[$j], 1)));
- $this->t->set_var($vars);
- $this->t->parse('rows','row');
- $this->t->pparse('out','row');
-
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array(lang('Could not delete %1', $this->disppath.'/'.$filename)));
}
}
}
-
-
-
- function history()
+ else
{
- if ($this->file)
+ // make this a javascript func for quicker respons
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array(lang('Please select a file to delete.')));
+ }
+ $this->readFilesInfo();
+ $this->filelisting();
+ }
+
+ function debug_filemanager()
+ {
+ error_reporting(8);
+
+ echo "Filemanager debug:
+ path: {$this->path}
+ disppath: {$this->disppath}
+ cwd: {$this->cwd}
+ lesspath: {$this->lesspath}
+
+ eGroupware debug:
+ real getabsolutepath: " . $this->bo->vfs->getabsolutepath(array('target' => False, 'mask' => False, 'fake' => False)) . "
+ fake getabsolutepath: " . $this->bo->vfs->getabsolutepath(array('target' => False)) . "
+ appsession: " . $GLOBALS['phpgw']->session->appsession('vfs','') . "
+ pwd: " . $this->bo->vfs->pwd() . " ";
+
+ echo '
';
+ var_dump($this);
+ }
+
+ function showUploadboxes()
+ {
+ $this->t->set_file(array('upload' => 'upload.tpl'));
+ $this->t->set_block('upload','upload_header','upload_header');
+ $this->t->set_block('upload','row','row');
+ $this->t->set_block('upload','upload_footer','upload_footer');
+
+ # Decide how many upload boxes to show
+ if(!$this->show_upload_boxes || $this->show_upload_boxes <= 0)
+ {
+ if(!$this->show_upload_boxes = $this->prefs['show_upload_boxes'])
{
- $journal_array = $this->bo->vfs->get_journal (array (
- 'string' => $this->file,
- 'relatives' => array (RELATIVE_ALL)
- ));
+ $this->show_upload_boxes = 1;
+ }
+ }
- if (is_array ($journal_array))
+ # Show file upload boxes. Note the last argument to html(). Repeats $this->show_upload_boxes times
+ if($this->path != '/' && $this->path != $GLOBALS['fakebase'] && $this->can_add)
+ {
+ $vars[form_action]=$GLOBALS[phpgw]->link('/index.php','menuaction=filemanager.uifilemanager.index');
+ $vars[path]=$this->path;
+ $vars[lang_file]=lang('File');
+ $vars[lang_comment]=lang('Comment');
+ $vars[num_upload_boxes]=$this->show_upload_boxes;
+ $this->t->set_var($vars);
+ $this->t->pparse('out','upload_header');
+
+ for($i=0;$i<$this->show_upload_boxes;$i++)
+ {
+ $this->t->set_var('row_tr_color',$tr_color);
+ $this->t->parse('rows','row');
+ $this->t->pparse('out','row');
+ }
+
+ $vars[lang_upload]=lang('Upload files');
+ $vars[change_upload_boxes].=lang('Show') . ' ';
+ $links.= $this->html_link('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=5', '5');
+ $links.=' ';
+ $links.= $this->html_link('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=10', '10');
+ $links.=' ';
+ $links.= $this->html_link('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=20', '20');
+ $links.=' ';
+ $links.= $this->html_link('/index.php','menuaction=filemanager.uifilemanager.index','show_upload_boxes=50', '50');
+ $links.=' ';
+ $links.= lang('upload fields');
+ $vars[change_upload_boxes].=$links;
+ $this->t->set_var($vars);
+ $this->t->pparse('out','upload_footer');
+ }
+ }
+
+ /* create textfile */
+ function createfile()
+ {
+ $this->createfile=$this->newfile_or_dir;
+ if($this->createfile)
+ {
+ if($badchar = $this->bo->bad_chars($this->createfile, True, True))
+ {
+ $this->messages = $GLOBALS['phpgw']->common->error_list(array(
+ lang('File names cannot contain "%1"',$badchar),
+ 1)
+ );
+
+ $this->fileListing();
+ }
+
+ if($this->bo->vfs->file_exists(array(
+ 'string'=> $this->createfile,
+ 'relatives' => array(RELATIVE_ALL)
+ )))
+ {
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array(lang('File %1 already exists. Please edit it or delete it first.', $this->createfile)));
+ $this->fileListing();
+ }
+
+ if($this->bo->vfs->touch(array(
+ 'string' => $this->createfile,
+ 'relatives' => array(RELATIVE_ALL)
+ )))
+ {
+ $this->fileman = array();
+ $this->fileman[0] = $this->createfile;
+ $this->edit = 1;
+ $this->numoffiles++;
+ $this->edit();
+ }
+ else
+ {
+ $this->messages=$GLOBALS['phpgw']->common->error_list(array(lang('File %1 could not be created.', $this->createfile)));
+ $this->fileListing();
+ }
+ }
+ }
+
+ # Handle Editing files
+ function edit()
+ {
+ $this->readFilesInfo();
+
+ $this->t->set_file(array('filemanager_edit' => 'edit_file.tpl'));
+ $this->t->set_block('filemanager_edit','row','row');
+
+ $vars[preview_content]='';
+ if($this->edit_file)
+ {
+ $this->edit_file_content = stripslashes($this->edit_file_content);
+ }
+
+ if($this->edit_preview_x)
+ {
+ $content = $this->edit_file_content;
+
+ $vars[lang_preview_of]=lang('Preview of %1', $this->path.'/'.$edit_file);
+
+ $vars[preview_content]=nl2br($content);
+ }
+ elseif($this->edit_save_x || $this->edit_save_done_x)
+ {
+ $content = $this->edit_file_content;
+ //die( $content);
+ if($this->bo->vfs->write(array(
+ 'string' => $this->edit_file,
+ 'relatives' => array(RELATIVE_ALL),
+ 'content' => $content
+ )))
+ {
+ $this->messages=lang('Saved %1', $this->path.'/'.$this->edit_file);
+
+ if($this->edit_save_done_x)
{
- $this->html_table_begin ();
- $this->html_table_row_begin ();
- $this->html_table_col_begin ();
- echo lang('Date');
- $this->html_table_col_end ();
- $this->html_table_col_begin ();
- echo lang('Version');
- $this->html_table_col_end ();
- $this->html_table_col_begin ();
- echo lang('Who');
- $this->html_table_col_end ();
- $this->html_table_col_begin ();
- echo lang('Operation');
- $this->html_table_col_end ();
- $this->html_table_row_end ();
+ $this->readFilesInfo();
+ $this->fileListing();
+ exit;
+ }
+ }
+ else
+ {
+ $this->messages=lang('Could not save %1', $this->path.'/'.$this->edit_file);
+ }
+ }
- while (list ($num, $journal_entry) = each ($journal_array))
- {
- $this->html_table_row_begin ();
- $this->html_table_col_begin ();
- $this->bo->html_text ($journal_entry['created'] . ' ');
- $this->html_table_col_end ();
- $this->html_table_col_begin ();
- $this->bo->html_text ($journal_entry['version'] . ' ' );
- $this->html_table_col_end ();
- $this->html_table_col_begin ();
- $this->bo->html_text ($GLOBALS['phpgw']->accounts->id2name ($journal_entry['owner_id']) . ' ');
- $this->html_table_col_end ();
- $this->html_table_col_begin ();
- $this->bo->html_text ($journal_entry['comment']);
- $this->html_table_col_end ();
- }
+ # Now we display the edit boxes and forms
+ for($j = 0; $j != $this->numoffiles; $j++)
+ {
+ # If we're in preview or save mode, we only show the file
+ # being previewed or saved
+ if($this->edit_file &&($this->fileman[$j] != $this->edit_file))
+ {
+ continue;
+ }
- $this->html_table_end ();
- $GLOBALS['phpgw']->common->phpgw_footer ();
- $GLOBALS['phpgw']->common->phpgw_exit ();
+ if($this->fileman[$j] && $this->bo->vfs->file_exists(array(
+ 'string' => $this->fileman[$j],
+ 'relatives' => array(RELATIVE_ALL)
+ )))
+ {
+ if($this->edit_file)
+ {
+ $content = stripslashes($this->edit_file_content);
}
else
{
- echo lang('No version history for this file/directory');
+ $content = $this->bo->vfs->read(array('string' => $this->fileman[$j]));
}
+ $vars[form_action]= $GLOBALS['phpgw']->link('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->path);
+ $vars[edit_file]=$this->fileman[$j];
+
+ # We need to include all of the fileman entries for each file's form,
+ # so we loop through again
+ for($i = 0; $i != $this->numoffiles; $i++)
+ {
+ if($this->fileman[$i]) $value='value="'.$this->fileman[$i].'"';
+ $vars[filemans_hidden]=' ';
+ }
+
+ $vars[file_content]=$content;
+
+ $vars[buttonPreview]=$this->inputImage('edit_preview','edit_preview',lang('Preview %1', $this->bo->html_encode($this->fileman[$j], 1)));
+ $vars[buttonSave]=$this->inputImage('edit_save','save',lang('Save %1', $this->bo->html_encode($this->fileman[$j], 1)));
+ $vars[buttonDone]=$this->inputImage('edit_save_done','ok',lang('Save %1, and go back to file listing ', $this->bo->html_encode($this->fileman[$j], 1)));
+ $vars[buttonCancel]=$this->inputImage('edit_cancel','cancel',lang('Cancel editing %1 without saving', $this->bo->html_encode($this->fileman[$j], 1)));
+ $this->t->set_var($vars);
+ $this->t->parse('rows','row');
+ $this->t->pparse('out','row');
+
}
-
}
+ }
- function view()
+ function history()
+ {
+ if($this->file)
{
+ $journal_array = $this->bo->vfs->get_journal(array(
+ 'string' => $this->file,
+ 'relatives' => array(RELATIVE_ALL)
+ ));
- if ($this->file)
+ if(is_array($journal_array))
{
- $ls_array = $this->bo->vfs->ls (array (
- 'string' => $this->path.'/'.$this->file,
- 'relatives' => array (RELATIVE_ALL),
- 'checksubdirs' => False,
- 'nofiles' => True
- ));
+ $this->html_table_begin();
+ $this->html_table_row_begin();
+ $this->html_table_col_begin();
+ echo lang('Date');
+ $this->html_table_col_end();
+ $this->html_table_col_begin();
+ echo lang('Version');
+ $this->html_table_col_end();
+ $this->html_table_col_begin();
+ echo lang('Who');
+ $this->html_table_col_end();
+ $this->html_table_col_begin();
+ echo lang('Operation');
+ $this->html_table_col_end();
+ $this->html_table_row_end();
- if ($ls_array[0]['mime_type'])
+ while(list($num, $journal_entry) = each($journal_array))
{
- $mime_type = $ls_array[0]['mime_type'];
- }
- elseif ($this->prefs['viewtextplain'])
- {
- $mime_type = 'text/plain';
+ $this->html_table_row_begin();
+ $this->html_table_col_begin();
+ $this->bo->html_text($journal_entry['created'] . ' ');
+ $this->html_table_col_end();
+ $this->html_table_col_begin();
+ $this->bo->html_text($journal_entry['version'] . ' ' );
+ $this->html_table_col_end();
+ $this->html_table_col_begin();
+ $this->bo->html_text($GLOBALS['phpgw']->accounts->id2name($journal_entry['owner_id']) . ' ');
+ $this->html_table_col_end();
+ $this->html_table_col_begin();
+ $this->bo->html_text($journal_entry['comment']);
+ $this->html_table_col_end();
}
+ $this->html_table_end();
+ $GLOBALS['phpgw']->common->phpgw_footer();
+ $GLOBALS['phpgw']->common->phpgw_exit();
+ }
+ else
+ {
+ echo lang('No version history for this file/directory');
+ }
+ }
+ }
+
+ function view()
+ {
+ if($this->file)
+ {
+ $ls_array = $this->bo->vfs->ls(array(
+ 'string' => $this->path.'/'.$this->file,
+ 'relatives' => array(RELATIVE_ALL),
+ 'checksubdirs' => False,
+ 'nofiles' => True
+ ));
+
+ if($ls_array[0]['mime_type'])
+ {
+ $mime_type = $ls_array[0]['mime_type'];
+ }
+ elseif($this->prefs['viewtextplain'])
+ {
+ $mime_type = 'text/plain';
+ }
+ $viewable = array('','text/plain','text/csv','text/html','text/text');
+
+ if(in_array($mime_type,$viewable))
+ {
header('Content-type: ' . $mime_type);
- echo $this->bo->vfs->read (array (
- 'string' => $this->path.'/'.$this->file,
- 'relatives' => array (RELATIVE_NONE)
- ));
- $GLOBALS['phpgw']->common->phpgw_exit ();
+ header('Content-disposition: filename="' . $this->file . '"');
}
- }
-
- function download()
- {
- for ($i = 0; $i != $this->numoffiles; $i++)
+ else
{
- if (!$this->fileman[$i])
- {
- continue;
- }
-
- $download_browser = CreateObject ('phpgwapi.browser');
- $download_browser->content_header ($this->fileman[$i]);
- echo $this->bo->vfs->read (array ('string' => $this->fileman[$i]));
- $GLOBALS['phpgw']->common->phpgw_exit ();
+ $GLOBALS['phpgw']->browser->content_header($this->file,$mime_type);
}
+ echo $this->bo->vfs->read(array(
+ 'string' => $this->path.'/'.$this->file,
+ 'relatives' => array(RELATIVE_NONE)
+ ));
+ $GLOBALS['phpgw']->common->phpgw_exit();
+ }
+ }
+
+ function download()
+ {
+ for($i = 0; $i != $this->numoffiles; $i++)
+ {
+ if(!$this->fileman[$i])
+ {
+ continue;
+ }
+
+ $download_browser = CreateObject('phpgwapi.browser');
+ $download_browser->content_header($this->fileman[$i]);
+ echo $this->bo->vfs->read(array('string' => $this->fileman[$i]));
+ $GLOBALS['phpgw']->common->phpgw_exit();
+ }
+ }
+
+ //give back an array with all directories except current and dirs that are not accessable
+ function all_other_directories_options()
+ {
+ # First we get the directories in their home directory
+ $dirs = array();
+ $dirs[] = array('directory' => $GLOBALS['fakebase'], 'name' => $GLOBALS['userinfo']['account_lid']);
+
+ $tmp_arr=array(
+ 'string' => $GLOBALS['homedir'],
+ 'relatives' => array(RELATIVE_NONE),
+ 'checksubdirs' => True,
+ 'mime_type' => 'Directory'
+ );
+
+ $ls_array = $this->bo->vfs->ls($tmp_arr);
+
+ while(list($num, $dir) = each($ls_array))
+ {
+ $dirs[] = $dir;
}
- //give back an array with all directories except current and dirs that are not accessable
- function all_other_directories_options()
- {
- # First we get the directories in their home directory
- $dirs = array ();
- $dirs[] = array ('directory' => $GLOBALS['fakebase'], 'name' => $GLOBALS['userinfo']['account_lid']);
- $tmp_arr=array (
- 'string' => $GLOBALS['homedir'],
- 'relatives' => array (RELATIVE_NONE),
+ # Then we get the directories in their readable groups' home directories
+ reset($this->readable_groups);
+ while(list($num, $group_array) = each($this->readable_groups))
+ {
+ # Don't list directories for groups that don't have access
+ if(!$this->groups_applications[$group_array['account_name']][$GLOBALS['appname']]['enabled'])
+ {
+ continue;
+ }
+
+ $dirs[] = array('directory' => $GLOBALS['fakebase'], 'name' => $group_array['account_name']);
+
+ $tmp_arr=array(
+ 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],
+ 'relatives' => array(RELATIVE_NONE),
'checksubdirs' => True,
'mime_type' => 'Directory'
);
- $ls_array = $this->bo->vfs->ls ($tmp_arr);
-
- while (list ($num, $dir) = each ($ls_array))
+ $ls_array = $this->bo->vfs->ls($tmp_arr);
+ while(list($num, $dir) = each($ls_array))
{
$dirs[] = $dir;
}
-
-
- # Then we get the directories in their readable groups' home directories
- reset ($this->readable_groups);
- while (list ($num, $group_array) = each ($this->readable_groups))
- {
- # Don't list directories for groups that don't have access
- if (!$this->groups_applications[$group_array['account_name']][$GLOBALS['appname']]['enabled'])
- {
- continue;
- }
-
- $dirs[] = array ('directory' => $GLOBALS['fakebase'], 'name' => $group_array['account_name']);
-
- $tmp_arr=array (
- 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'],
- 'relatives' => array (RELATIVE_NONE),
- 'checksubdirs' => True,
- 'mime_type' => 'Directory'
- );
-
- $ls_array = $this->bo->vfs->ls ($tmp_arr);
- while (list ($num, $dir) = each ($ls_array))
- {
- $dirs[] = $dir;
- }
- }
-
- reset ($dirs);
- while (list ($num, $dir) = each ($dirs))
- {
- if (!$dir['directory'])
- {
- continue;
- }
-
- # So we don't display //
- if ($dir['directory'] != '/')
- {
- $dir['directory'] .= '/';
- }
-
- # No point in displaying the current directory, or a directory that doesn't exist
- if ((($dir['directory'] . $dir['name']) != $this->path) && $this->bo->vfs->file_exists (array ( 'string' => $dir['directory'] . $dir['name'], 'relatives' => array (RELATIVE_NONE) )) )
- {
- //FIXME replace the html_form_option function
- $options.=$this->html_form_option ($dir['directory'] . $dir['name'], $dir['directory'] . $dir['name']);
- }
- }
-
- return $options;
}
-
- /* seek icon for mimetype else return an unknown icon */
- function mime_icon($mime_type, $size=16)
+ reset($dirs);
+ while(list($num, $dir) = each($dirs))
{
- if(!$mime_type) $mime_type='unknown';
-
- $mime_type= str_replace ('/','_',$mime_type);
-
- $img=$GLOBALS['phpgw']->common->image('filemanager','mime'.$size.'_'.strtolower($mime_type));
- if(!$img) $img=$GLOBALS['phpgw']->common->image('filemanager','mime'.$size.'_unknown');
-
- $icon=' ';
- return $icon;
- }
-
- function buttonImage($link,$img='',$help='')
- {
-
- $image=$GLOBALS['phpgw']->common->image('filemanager','button_'.strtolower($img));
-
- if($img)
+ if(!$dir['directory'])
{
- return '
-
- ';
+ continue;
+ }
+
+ # So we don't display //
+ if($dir['directory'] != '/')
+ {
+ $dir['directory'] .= '/';
+ }
+
+ # No point in displaying the current directory, or a directory that doesn't exist
+ if((($dir['directory'] . $dir['name']) != $this->path) && $this->bo->vfs->file_exists(array('string' => $dir['directory'] . $dir['name'],'relatives' => array(RELATIVE_NONE))))
+ {
+ //FIXME replace the html_form_option function
+ $options .= $this->html_form_option($dir['directory'] . $dir['name'], $dir['directory'] . $dir['name']);
}
}
- function inputImage($name,$img='',$help='')
- {
- $image=$GLOBALS['phpgw']->common->image('filemanager','button_'.strtolower($img));
-
- if($img)
- {
- return '
-
- ';
- }
-
-
- }
-
- function html_form_input ($type = NULL, $name = NULL, $value = NULL, $maxlength = NULL, $size = NULL, $checked = NULL, $string = '', $return = 1)
- {
- $text = ' ';
- if ($type != NULL && $type)
- {
- if ($type == 'checkbox')
- {
- $value = $this->bo->string_encode ($value, 1);
- }
- $text .= 'type="'.$type.'" ';
- }
- if ($name != NULL && $name)
- {
- $text .= 'name="'.$name.'" ';
- }
- if ($value != NULL && $value)
- {
- $text .= 'value="'.$value.'" ';
- }
- if (is_int ($maxlength) && $maxlength >= 0)
- {
- $text .= 'maxlength="'.$maxlength.'" ';
- }
- if (is_int ($size) && $size >= 0)
- {
- $text .= 'size="'.$size.'" ';
- }
- if ($checked != NULL && $checked)
- {
- $text .= 'checked ';
- }
-
- return ' ';
- }
-
- function html_form_option ($value = NULL, $displayed = NULL, $selected = NULL, $return = 0)
- {
- $text = ' ';
- if ($value != NULL && $value)
- {
- $text .= ' value="'.$value.'" ';
- }
- if ($selected != NULL && $selected)
- {
- $text .= ' selected';
- }
- return ''.$displayed.' ';
- }
-
-
- function encode_href($href = NULL, $args = NULL , $extra_args)
- {
- $href = $this->bo->string_encode ($href, 1);
- $all_args = $args.'&'.$this->bo->string_encode ($extra_args, 1);
-
- $address = $GLOBALS['phpgw']->link ($href, $all_args);
-
- return $address;
-
- }
-
- function html_link ($href = NULL, $args = NULL , $extra_args, $text = NULL, $return = 1, $encode = 1, $linkonly = 0, $target = NULL)
- {
- // unset($encode);
- if ($encode)
- {
- $href = $this->bo->string_encode ($href, 1);
- $all_args = $args.'&'.$this->bo->string_encode ($extra_args, 1);
- }
- else
- {
- // $href = $this->bo->string_encode ($href, 1);
- $all_args = $args.'&'.$extra_args;
-
- }
- ###
- # This decodes / back to normal
- ###
- // $all_args = preg_replace ("/%2F/", "/", $all_args);
- // $href = preg_replace ("/%2F/", "/", $href);
-
-
- /* Auto-detect and don't disturb absolute links */
- if (!preg_match ("|^http(.{0,1})://|", $href))
- {
- //Only add an extra / if there isn't already one there
-
- // die(SEP);
- if (!($href[0] == SEP))
- {
- $href = SEP . $href;
- }
-
- /* $phpgw->link requires that the extra vars be passed separately */
- // $link_parts = explode ("?", $href);
- $address = $GLOBALS['phpgw']->link ($href, $all_args);
- // $address = $GLOBALS['phpgw']->link ($href);
- }
- else
- {
- $address = $href;
- }
-
- /* If $linkonly is set, don't add any HTML */
- if ($linkonly)
- {
- $rstring = $address;
- }
- else
- {
- if ($target)
- {
- $target = 'target='.$target;
- }
-
- $text = trim ($text);
- $rstring = ''.$text.' ';
- }
-
- return ($this->bo->eor ($rstring, $return));
- }
-
- function html_table_begin ($width = NULL, $border = NULL, $cellspacing = NULL, $cellpadding = NULL, $rules = NULL, $string = '', $return = 0)
- {
- if ($width != NULL && $width)
- $width = "width=$width";
- if (is_int ($border) && $border >= 0)
- $border = "border=$border";
- if (is_int ($cellspacing) && $cellspacing >= 0)
- $cellspacing = "cellspacing=$cellspacing";
- if (is_int ($cellpadding) && $cellpadding >= 0)
- $cellpadding = "cellpadding=$cellpadding";
- if ($rules != NULL && $rules)
- $rules = "rules=$rules";
-
- $rstring = "";
- return ($this->bo->eor ($rstring, $return));
- }
-
-
- function html_table_end ($return = 0)
- {
- $rstring = "
";
- return ($this->bo->eor ($rstring, $return));
- }
-
- function html_table_row_begin ($align = NULL, $halign = NULL, $valign = NULL, $bgcolor = NULL, $string = '', $return = 0)
- {
- if ($align != NULL && $align)
- $align = "align=$align";
- if ($halign != NULL && $halign)
- $halign = "halign=$halign";
- if ($valign != NULL && $valign)
- $valign = "valign=$valign";
- if ($bgcolor != NULL && $bgcolor)
- $bgcolor = "bgcolor=$bgcolor";
- $rstring = " ";
- return ($this->bo->eor ($rstring, $return));
- }
-
- function html_table_row_end ($return = 0)
- {
- $rstring = " ";
- return ($this->bo->eor ($rstring, $return));
- }
-
- function html_table_col_begin ($align = NULL, $halign = NULL, $valign = NULL, $rowspan = NULL, $colspan = NULL, $string = '', $return = 0)
- {
- if ($align != NULL && $align)
- $align = "align=$align";
- if ($halign != NULL && $halign)
- $halign = "halign=$halign";
- if ($valign != NULL && $valign)
- $valign = "valign=$valign";
- if (is_int ($rowspan) && $rowspan >= 0)
- $rowspan = "rowspan=$rowspan";
- if (is_int ($colspan) && $colspan >= 0)
- $colspan = "colspan=$colspan";
-
- $rstring = "";
- return ($this->bo->eor ($rstring, $return));
- }
-
- function html_table_col_end ($return = 0)
- {
- $rstring = " ";
- return ($this->bo->eor ($rstring, $return));
- }
-
+ return $options;
}
+
+ /* seek icon for mimetype else return an unknown icon */
+ function mime_icon($mime_type, $size=16)
+ {
+ if(!$mime_type) $mime_type='unknown';
+
+ $mime_type= str_replace ('/','_',$mime_type);
+
+ $img=$GLOBALS['phpgw']->common->image('filemanager','mime'.$size.'_'.strtolower($mime_type));
+ if(!$img) $img=$GLOBALS['phpgw']->common->image('filemanager','mime'.$size.'_unknown');
+
+ $icon=' ';
+ return $icon;
+ }
+
+ function buttonImage($link,$img='',$help='')
+ {
+ $image=$GLOBALS['phpgw']->common->image('filemanager','button_'.strtolower($img));
+
+ if($img)
+ {
+ return '
+
+ ';
+ }
+ }
+
+ function inputImage($name,$img='',$help='')
+ {
+ $image=$GLOBALS['phpgw']->common->image('filemanager','button_'.strtolower($img));
+
+ if($img)
+ {
+ return '
+
+ ';
+ }
+ }
+
+ function html_form_input($type = NULL, $name = NULL, $value = NULL, $maxlength = NULL, $size = NULL, $checked = NULL, $string = '', $return = 1)
+ {
+ $text = ' ';
+ if($type != NULL && $type)
+ {
+ if($type == 'checkbox')
+ {
+ $value = $this->bo->string_encode($value, 1);
+ }
+ $text .= 'type="'.$type.'" ';
+ }
+ if($name != NULL && $name)
+ {
+ $text .= 'name="'.$name.'" ';
+ }
+ if($value != NULL && $value)
+ {
+ $text .= 'value="'.$value.'" ';
+ }
+ if(is_int($maxlength) && $maxlength >= 0)
+ {
+ $text .= 'maxlength="'.$maxlength.'" ';
+ }
+ if(is_int($size) && $size >= 0)
+ {
+ $text .= 'size="'.$size.'" ';
+ }
+ if($checked != NULL && $checked)
+ {
+ $text .= 'checked ';
+ }
+
+ return ' ';
+ }
+
+ function html_form_option($value = NULL, $displayed = NULL, $selected = NULL, $return = 0)
+ {
+ $text = ' ';
+ if($value != NULL && $value)
+ {
+ $text .= ' value="'.$value.'" ';
+ }
+ if($selected != NULL && $selected)
+ {
+ $text .= ' selected';
+ }
+ return ''.$displayed.' ';
+ }
+
+ function encode_href($href = NULL, $args = NULL , $extra_args)
+ {
+ $href = $this->bo->string_encode($href, 1);
+ $all_args = $args.'&'.$this->bo->string_encode($extra_args, 1);
+
+ $address = $GLOBALS['phpgw']->link($href, $all_args);
+
+ return $address;
+ }
+
+ function html_link($href = NULL, $args = NULL , $extra_args, $text = NULL, $return = 1, $encode = 1, $linkonly = 0, $target = NULL)
+ {
+ // unset($encode);
+ if($encode)
+ {
+ $href = $this->bo->string_encode($href, 1);
+ $all_args = $args.'&'.$this->bo->string_encode($extra_args, 1);
+ }
+ else
+ {
+ // $href = $this->bo->string_encode($href, 1);
+ $all_args = $args.'&'.$extra_args;
+ }
+ ###
+ # This decodes / back to normal
+ ###
+ // $all_args = preg_replace("/%2F/", "/", $all_args);
+ // $href = preg_replace("/%2F/", "/", $href);
+
+ /* Auto-detect and don't disturb absolute links */
+ if(!preg_match("|^http(.{0,1})://|", $href))
+ {
+ //Only add an extra / if there isn't already one there
+
+ // die(SEP);
+ if(!($href[0] == SEP))
+ {
+ $href = SEP . $href;
+ }
+
+ /* $phpgw->link requires that the extra vars be passed separately */
+ // $link_parts = explode("?", $href);
+ $address = $GLOBALS['phpgw']->link($href, $all_args);
+ // $address = $GLOBALS['phpgw']->link($href);
+ }
+ else
+ {
+ $address = $href;
+ }
+
+ /* If $linkonly is set, don't add any HTML */
+ if($linkonly)
+ {
+ $rstring = $address;
+ }
+ else
+ {
+ if($target)
+ {
+ $target = 'target='.$target;
+ }
+
+ $text = trim($text);
+ $rstring = ''.$text.' ';
+ }
+
+ return($this->bo->eor($rstring, $return));
+ }
+
+ function html_table_begin($width = NULL, $border = NULL, $cellspacing = NULL, $cellpadding = NULL, $rules = NULL, $string = '', $return = 0)
+ {
+ if($width != NULL && $width)
+ {
+ $width = "width=$width";
+ }
+ if(is_int($border) && $border >= 0)
+ {
+ $border = "border=$border";
+ }
+ if(is_int($cellspacing) && $cellspacing >= 0)
+ {
+ $cellspacing = "cellspacing=$cellspacing";
+ }
+ if(is_int($cellpadding) && $cellpadding >= 0)
+ {
+ $cellpadding = "cellpadding=$cellpadding";
+ }
+ if($rules != NULL && $rules)
+ {
+ $rules = "rules=$rules";
+ }
+
+ $rstring = "";
+ return($this->bo->eor($rstring, $return));
+ }
+
+ function html_table_end($return = 0)
+ {
+ $rstring = "
";
+ return($this->bo->eor($rstring, $return));
+ }
+
+ function html_table_row_begin($align = NULL, $halign = NULL, $valign = NULL, $bgcolor = NULL, $string = '', $return = 0)
+ {
+ if($align != NULL && $align)
+ {
+ $align = "align=$align";
+ }
+ if($halign != NULL && $halign)
+ {
+ $halign = "halign=$halign";
+ }
+ if($valign != NULL && $valign)
+ {
+ $valign = "valign=$valign";
+ }
+ if($bgcolor != NULL && $bgcolor)
+ {
+ $bgcolor = "bgcolor=$bgcolor";
+ }
+ $rstring = "";
+ return($this->bo->eor($rstring, $return));
+ }
+
+ function html_table_row_end($return = 0)
+ {
+ $rstring = " ";
+ return($this->bo->eor($rstring, $return));
+ }
+
+ function html_table_col_begin($align = NULL, $halign = NULL, $valign = NULL, $rowspan = NULL, $colspan = NULL, $string = '', $return = 0)
+ {
+ if($align != NULL && $align)
+ {
+ $align = "align=$align";
+ }
+ if($halign != NULL && $halign)
+ {
+ $halign = "halign=$halign";
+ }
+ if($valign != NULL && $valign)
+ {
+ $valign = "valign=$valign";
+ }
+ if(is_int($rowspan) && $rowspan >= 0)
+ {
+ $rowspan = "rowspan=$rowspan";
+ }
+ if(is_int($colspan) && $colspan >= 0)
+ {
+ $colspan = "colspan=$colspan";
+ }
+
+ $rstring = "";
+ return($this->bo->eor($rstring, $return));
+ }
+
+ function html_table_col_end($return = 0)
+ {
+ $rstring = " ";
+ return($this->bo->eor($rstring, $return));
+ }
+ }