From e38af6abb2c3beea9ff02c83781f14f89072d379 Mon Sep 17 00:00:00 2001 From: Zone Date: Wed, 16 Jan 2002 06:32:19 +0000 Subject: [PATCH] Convert to arrayized VFS calls, more precise output in test.php --- filemanager/index.php | 398 ++++++++++++++++++++++++++++++++---------- filemanager/test.php | 138 +++++++++++---- 2 files changed, 407 insertions(+), 129 deletions(-) diff --git a/filemanager/index.php b/filemanager/index.php index 808a55f0d7..f906df87f0 100755 --- a/filemanager/index.php +++ b/filemanager/index.php @@ -18,7 +18,6 @@ while (list ($name,) = each ($GLOBALS['HTTP_GET_VARS'])) $$name = $GLOBALS['HTTP_GET_VARS'][$name]; } - $to_decode = array ( /* @@ -90,7 +89,7 @@ include ('../header.inc.php'); if ($execute && $command_line) { - if ($result = $GLOBALS['phpgw']->vfs->command_line (stripslashes ($command_line))) + if ($result = $GLOBALS['phpgw']->vfs->command_line (array ('command_line' => stripslashes ($command_line)))) { $messages = html_text_bold ('Command sucessfully run', 1); if ($result != 1 && strlen ($result) > 0) @@ -123,14 +122,14 @@ if (!$path) { $path = $GLOBALS['phpgw']->vfs->pwd (); - if (!$path || $GLOBALS['phpgw']->vfs->pwd (False) == '') + if (!$path || $GLOBALS['phpgw']->vfs->pwd (array ('full' => False)) == '') { $path = $GLOBALS['homedir']; } } -$GLOBALS['phpgw']->vfs->cd (False, False, array (RELATIVE_NONE)); -$GLOBALS['phpgw']->vfs->cd ($path, False, array (RELATIVE_NONE)); +$GLOBALS['phpgw']->vfs->cd (array ('string' => False, 'relatives' => array (RELATIVE_NONE), 'relative' => False)); +$GLOBALS['phpgw']->vfs->cd (array ('string' => $path, 'relatives' => array (RELATIVE_NONE), 'relative' => False)); $pwd = $GLOBALS['phpgw']->vfs->pwd (); @@ -165,8 +164,8 @@ if ($phpwh_debug) lesspath: $lesspath

phpGW debug:
- real getabsolutepath: " . $GLOBALS['phpgw']->vfs->getabsolutepath (False, False, False) . "
- fake getabsolutepath: " . $GLOBALS['phpgw']->vfs->getabsolutepath (False) . "
+ real getabsolutepath: " . $GLOBALS['phpgw']->vfs->getabsolutepath (array ('target' => False, 'mask' => False, 'fake' => False)) . "
+ fake getabsolutepath: " . $GLOBALS['phpgw']->vfs->getabsolutepath (array ('target' => False)) . "
appsession: " . $GLOBALS['phpgw']->session->appsession ('vfs','') . "
pwd: " . $GLOBALS['phpgw']->vfs->pwd () . "
"; } @@ -204,7 +203,15 @@ else $GLOBALS['phpgw']->vfs->working_id = $GLOBALS['userinfo']['username']; } -if ($path != $GLOBALS['homedir'] && $path != $GLOBALS['fakebase'] && $path != '/' && !$GLOBALS['phpgw']->vfs->acl_check ($path, array (RELATIVE_NONE), PHPGW_ACL_READ)) +if ($path != $GLOBALS['homedir'] + && $path != $GLOBALS['fakebase'] + && $path != '/' + && !$GLOBALS['phpgw']->vfs->acl_check (array ( + 'string' => $path, + 'relatives' => array (RELATIVE_NONE), + 'operation' => PHPGW_ACL_READ + )) +) { echo $GLOBALS['phpgw']->common->error_list (array ('You do not have access to '.$path)); html_break (2); @@ -220,22 +227,35 @@ $GLOBALS['userinfo']['working_lid'] = $GLOBALS['phpgw']->accounts->id2name ($GLO # Same for group directories ### -if (($path == $GLOBALS['homedir']) && !$GLOBALS['phpgw']->vfs->file_exists ($GLOBALS['homedir'], array (RELATIVE_NONE))) +if (($path == $GLOBALS['homedir']) + && !$GLOBALS['phpgw']->vfs->file_exists (array ( + 'string' => $GLOBALS['homedir'], + 'relatives' => array (RELATIVE_NONE) + )) +) { -// $GLOBALS['phpgw']->vfs->override_acl = 1; - $GLOBALS['phpgw']->vfs->mkdir ($GLOBALS['homedir'], array (RELATIVE_NONE)); -// $GLOBALS['phpgw']->vfs->override_acl = 0; + $GLOBALS['phpgw']->vfs->override_acl = 1; + $GLOBALS['phpgw']->vfs->mkdir (array ('string' => $GLOBALS['homedir'], 'relatives' => array (RELATIVE_NONE))); + $GLOBALS['phpgw']->vfs->override_acl = 0; } elseif (preg_match ('|^'.$GLOBALS['fakebase'].'\/(.*)$|U', $path, $matches)) { - if (!$GLOBALS['phpgw']->vfs->file_exists ($path, array (RELATIVE_NONE))) + if (!$GLOBALS['phpgw']->vfs->file_exists (array ('string' => $path, 'relatives' => array (RELATIVE_NONE)))) { -// $GLOBALS['phpgw']->vfs->override_acl = 1; - $GLOBALS['phpgw']->vfs->mkdir ($path, array (RELATIVE_NONE)); -// $GLOBALS['phpgw']->vfs->override_acl = 0; + $GLOBALS['phpgw']->vfs->override_acl = 1; + $GLOBALS['phpgw']->vfs->mkdir (array ('string' => $path, 'relatives' => array (RELATIVE_NONE))); + $GLOBALS['phpgw']->vfs->override_acl = 0; $group_id = $GLOBALS['phpgw']->accounts->name2id ($matches[1]); - $GLOBALS['phpgw']->vfs->set_attributes ($path, array (RELATIVE_NONE), array ('owner_id' => $group_id, 'createdby_id' => $group_id)); + $GLOBALS['phpgw']->vfs->set_attributes (array ( + 'string' => $path, + 'relatives' => array (RELATIVE_NONE), + 'attributes' => array ( + 'owner_id' => $group_id, + 'createdby_id' => $group_id + ) + ) + ); } } @@ -245,7 +265,7 @@ elseif (preg_match ('|^'.$GLOBALS['fakebase'].'\/(.*)$|U', $path, $matches)) if ($path != $GLOBALS['homedir'] && $path != '/' && $path != $GLOBALS['fakebase']) { - if (!$GLOBALS['phpgw']->vfs->file_exists ($path, array (RELATIVE_NONE))) + if (!$GLOBALS['phpgw']->vfs->file_exists (array ('string' => $path, 'relatives' => array (RELATIVE_NONE)))) { echo $GLOBALS['phpgw']->common->error_list (array ('Directory '.$path.' does not exist')); html_break (2); @@ -260,7 +280,7 @@ if ($path != $GLOBALS['homedir'] && $path != '/' && $path != $GLOBALS['fakebase' srand ((double) microtime() * 1000000); if ($update || rand (0, 19) == 4) { - $GLOBALS['phpgw']->vfs->update_real ($path, array (RELATIVE_NONE)); + $GLOBALS['phpgw']->vfs->update_real (array ('string' => $path, 'relatives' => array (RELATIVE_NONE))); } ### @@ -294,12 +314,18 @@ if (!$show_upload_boxes || $show_upload_boxes <= 0) $numoffiles = 0; if ($path == $GLOBALS['fakebase']) { - if (!$GLOBALS['phpgw']->vfs->file_exists ($GLOBALS['homedir'], array (RELATIVE_NONE))) + if (!$GLOBALS['phpgw']->vfs->file_exists (array ('string' => $GLOBALS['homedir'], 'relatives' => array (RELATIVE_NONE)))) { - $GLOBALS['phpgw']->vfs->mkdir ($GLOBALS['homedir'], array (RELATIVE_NONE)); + $GLOBALS['phpgw']->vfs->mkdir (array ('string' => $GLOBALS['homedir'], 'relatives' => array (RELATIVE_NONE))); } - $ls_array = $GLOBALS['phpgw']->vfs->ls ($GLOBALS['homedir'], array (RELATIVE_NONE), False, False, True); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $GLOBALS['homedir'], + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => False, + 'nofiles' => True + ) + ); $files_array[] = $ls_array[0]; $numoffiles++; // $files_array = $ls_array; @@ -317,13 +343,36 @@ if ($path == $GLOBALS['fakebase']) continue; } - if (!$GLOBALS['phpgw']->vfs->file_exists ($GLOBALS['fakebase'].'/'.$group_array['account_name'], array (RELATIVE_NONE))) + if (!$GLOBALS['phpgw']->vfs->file_exists (array ( + 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], + 'relatives' => array (RELATIVE_NONE) + )) + ) { - $GLOBALS['phpgw']->vfs->mkdir ($GLOBALS['fakebase'].'/'.$group_array['account_name'], array (RELATIVE_NONE)); - $GLOBALS['phpgw']->vfs->set_attributes ($GLOBALS['fakebase'].'/'.$group_array['account_name'], array (RELATIVE_NONE), array ('owner_id' => $group_array['account_id'], 'createdby_id' => $group_array['account_id'])); + $GLOBALS['phpgw']->vfs->mkdir (array ( + 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], + 'relatives' => array (RELATIVE_NONE) + ) + ); + + $GLOBALS['phpgw']->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 = $GLOBALS['phpgw']->vfs->ls ($GLOBALS['fakebase'].'/'.$group_array['account_name'], array (RELATIVE_NONE), False, False, True); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => False, + 'nofiles' => True + ) + ); $files_array[] = $ls_array[0]; @@ -332,7 +381,14 @@ if ($path == $GLOBALS['fakebase']) } else { - $ls_array = $GLOBALS['phpgw']->vfs->ls ($path, array (RELATIVE_NONE), False, False, False, $sortby); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $path, + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => False, + 'nofiles' => False, + 'orderby' => $sortby + ) + ); if ($phpwh_debug) { @@ -366,73 +422,90 @@ if ($download) $download_browser = CreateObject ('phpgwapi.browser'); $download_browser->content_header ($fileman[$i]); - echo $GLOBALS['phpgw']->vfs->read ($fileman[$i]); + echo $GLOBALS['phpgw']->vfs->read (array ('string' => $fileman[$i])); $GLOBALS['phpgw']->common->phpgw_exit (); } } if ($op == 'view' && $file) { -// $ls_array = $GLOBALS['phpgw']->vfs->ls ($path.'/'.$file, array (RELATIVE_ALL), False, False, True); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $path.'/'.$file, + 'relatives' => array (RELATIVE_ALL), + 'checksubdirs' => False, + 'nofiles' => True + ) + ); -// if ($ls_array[0]['mime_type']) -// { -// $mime_type = $ls_array[0]['mime_type']; -// } -// elseif ($GLOBALS['settings']['viewtextplain']) -// { -// $mime_type = 'text/plain'; -// } + if ($ls_array[0]['mime_type']) + { + $mime_type = $ls_array[0]['mime_type']; + } + elseif ($GLOBALS['settings']['viewtextplain']) + { + $mime_type = 'text/plain'; + } - Header('Content-length: '.$GLOBALS['phpgw']->vfs->get_size($path.'/'.$file,array(RELATIVE_ALL))); - Header('Content-type: '.$GLOBALS['phpgw']->vfs->file_type($path.'/'.$file,array(RELATIVE_ALL))); - Header('Content-disposition: attachment; filename="'.$file.'"'); - echo $GLOBALS['phpgw']->vfs->read($path.'/'.$file,array(RELATIVE_ALL)); - flush(); - -// header('Content-type: ' . $mime_type); -// echo $GLOBALS['phpgw']->vfs->read ($path.'/'.$file); + header('Content-type: ' . $mime_type); + echo $GLOBALS['phpgw']->vfs->read (array ( + 'string' => $path.'/'.$file, + 'relatives' => array (RELATIVE_NONE) + ) + ); $GLOBALS['phpgw']->common->phpgw_exit (); } if ($op == 'history' && $file) { - html_table_begin (); - html_table_row_begin (); - html_table_col_begin (); - html_text_bold ('Date'); - html_table_col_end (); - html_table_col_begin (); - html_text_bold ('Version'); - html_table_col_end (); - html_table_col_begin (); - html_text_bold ('Who'); - html_table_col_end (); - html_table_col_begin (); - html_text_bold ('Operation'); - html_table_col_end (); - html_table_row_end (); + $journal_array = $GLOBALS['phpgw']->vfs->get_journal (array ( + 'string' => $file, + 'relatives' => array (RELATIVE_ALL) + ) + ); - $journal_array = $GLOBALS['phpgw']->vfs->get_journal ($file, array (RELATIVE_ALL)); - while (list ($num, $journal_entry) = each ($journal_array)) + if (is_array ($journal_array)) { + html_table_begin (); html_table_row_begin (); html_table_col_begin (); - html_text ($journal_entry['created'] . html_nbsp (3, 1)); + html_text_bold ('Date'); html_table_col_end (); html_table_col_begin (); - html_text ($journal_entry['version'] . html_nbsp (3, 1)); + html_text_bold ('Version'); html_table_col_end (); html_table_col_begin (); - html_text ($GLOBALS['phpgw']->accounts->id2name ($journal_entry['owner_id']) . html_nbsp (3, 1)); + html_text_bold ('Who'); html_table_col_end (); html_table_col_begin (); - html_text ($journal_entry['comment']); + html_text_bold ('Operation'); html_table_col_end (); + html_table_row_end (); + + while (list ($num, $journal_entry) = each ($journal_array)) + { + html_table_row_begin (); + html_table_col_begin (); + html_text ($journal_entry['created'] . html_nbsp (3, 1)); + html_table_col_end (); + html_table_col_begin (); + html_text ($journal_entry['version'] . html_nbsp (3, 1)); + html_table_col_end (); + html_table_col_begin (); + html_text ($GLOBALS['phpgw']->accounts->id2name ($journal_entry['owner_id']) . html_nbsp (3, 1)); + html_table_col_end (); + html_table_col_begin (); + html_text ($journal_entry['comment']); + html_table_col_end (); + } + + html_table_end (); + html_page_close (); + } + else + { + html_text_bold ('No version history for this file/directory'); } - html_table_end (); - html_page_close (); } if ($newfile && $createfile) @@ -445,7 +518,11 @@ if ($newfile && $createfile) html_page_close (); } - if ($GLOBALS['phpgw']->vfs->file_exists ($createfile, array (RELATIVE_ALL))) + if ($GLOBALS['phpgw']->vfs->file_exists (array ( + 'string' => $createfile, + 'relatives' => array (RELATIVE_ALL) + )) + ) { echo $GLOBALS['phpgw']->common->error_list (array ('File '.$createfile.' already exists. Please edit it or delete it first.')); html_break (2); @@ -453,7 +530,11 @@ if ($newfile && $createfile) html_page_close (); } - if ($GLOBALS['phpgw']->vfs->touch ($createfile, array (RELATIVE_ALL))) + if ($GLOBALS['phpgw']->vfs->touch (array ( + 'string' => $createfile, + 'relatives' => array (RELATIVE_ALL) + )) + ) { $fileman = array (); $fileman[0] = $createfile; @@ -728,7 +809,11 @@ if (!$op && !$delete && !$createdir && !$renamefiles && !$move && !$copy && !$ed if ($GLOBALS['settings']['viewonserver'] && isset ($GLOBALS['filesdir']) && !$files['link_directory']) { $clickview = $GLOBALS['filesdir'].$pwd.'/'.$files['name']; - echo 'Setting clickview = '.$clickview.'
'."\n"; + + if ($phpwh_debug) + { + echo 'Setting clickview = '.$clickview.'
'."\n"; + } } else { @@ -766,7 +851,12 @@ if (!$op && !$delete && !$createdir && !$renamefiles && !$move && !$copy && !$ed { html_table_col_begin (); - $size = $GLOBALS['phpgw']->vfs->get_size ($files['directory'] . '/' . $files['name'], array (RELATIVE_NONE)); + $size = $GLOBALS['phpgw']->vfs->get_size (array ( + 'string' => $files['directory'] . '/' . $files['name'], + 'relatives' => array (RELATIVE_NONE) + ) + ); + borkb ($size); html_table_col_end (); @@ -971,14 +1061,23 @@ if (!$op && !$delete && !$createdir && !$renamefiles && !$move && !$copy && !$ed # First we get the directories in their home directory ### + $dirs = array (); $dirs[] = array ('directory' => $GLOBALS['fakebase'], 'name' => $GLOBALS['userinfo']['account_lid']); - $ls_array = $GLOBALS['phpgw']->vfs->ls ($GLOBALS['homedir'], array (RELATIVE_NONE), True, 'Directory'); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $GLOBALS['homedir'], + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => True, + 'mime_type' => 'Directory' + ) + ); + while (list ($num, $dir) = each ($ls_array)) { $dirs[] = $dir; } + ### # Then we get the directories in their membership's home directories ### @@ -997,7 +1096,13 @@ if (!$op && !$delete && !$createdir && !$renamefiles && !$move && !$copy && !$ed $dirs[] = array ('directory' => $GLOBALS['fakebase'], 'name' => $group_array['account_name']); - $ls_array = $phpgw->vfs->ls ($GLOBALS['fakebase'].'/'.$group_array[account_name], array (RELATIVE_NONE), True, 'Directory'); + $ls_array = $phpgw->vfs->ls (array ( + 'string' => $GLOBALS['fakebase'].'/'.$group_array['account_name'], + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => True, + 'mime_type' => 'Directory' + ) + ); while (list ($num, $dir) = each ($ls_array)) { $dirs[] = $dir; @@ -1025,7 +1130,12 @@ if (!$op && !$delete && !$createdir && !$renamefiles && !$move && !$copy && !$ed # No point in displaying the current directory, or a directory that doesn't exist ### - if ((($dir['directory'] . $dir['name']) != $path) && $GLOBALS['phpgw']->vfs->file_exists ($dir['directory'] . $dir['name'], array (RELATIVE_NONE))) + if ((($dir['directory'] . $dir['name']) != $path) + && $GLOBALS['phpgw']->vfs->file_exists (array ( + 'string' => $dir['directory'] . $dir['name'], + 'relatives' => array (RELATIVE_NONE) + )) + ) { html_form_option ($dir['directory'] . $dir['name'], $dir['directory'] . $dir['name']); } @@ -1087,7 +1197,12 @@ if (!$op && !$delete && !$createdir && !$renamefiles && !$move && !$copy && !$ed html_text_bold ('Unused space: '); html_text (borkb ($GLOBALS['userinfo']['hdspace'] - $usedspace, NULL, 1)); - $ls_array = $GLOBALS['phpgw']->vfs->ls ($path, array (RELATIVE_NONE)); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $path, + 'relatives' => array (RELATIVE_NONE) + ) + ); + $i = count ($ls_array); html_break (2); @@ -1185,7 +1300,12 @@ if ($edit) { $content = $edit_file_content; - if ($GLOBALS['phpgw']->vfs->write ($edit_file, array (RELATIVE_ALL), $content)) + if ($GLOBALS['phpgw']->vfs->write (array ( + 'string' => $edit_file, + 'relatives' => array (RELATIVE_ALL), + 'content' => $content + )) + ) { html_text_bold ('Saved '.$path.'/'.$edit_file); html_break (2); @@ -1210,7 +1330,12 @@ if ($edit) echo 'fileman['.$j.']: '.$fileman[$j].'
'.$content.'
'; continue; - if ($GLOBALS['phpgw']->vfs->write ($fileman[$j], array (RELATIVE_ALL), $content)) + if ($GLOBALS['phpgw']->vfs->write (array ( + 'string' => $fileman[$j], + 'relatives' => array (RELATIVE_ALL), + 'content' => $content + )) + ) { html_text_bold ('Saved '.$path.'/'.$fileman[$j]); html_break (1); @@ -1242,7 +1367,11 @@ if ($edit) continue; } - if ($fileman[$j] && $GLOBALS['phpgw']->vfs->file_exists ($fileman[$j], array (RELATIVE_ALL))) + if ($fileman[$j] && $GLOBALS['phpgw']->vfs->file_exists (array ( + 'string' => $fileman[$j], + 'relatives' => array (RELATIVE_ALL) + )) + ) { if ($edit_file) { @@ -1250,7 +1379,7 @@ if ($edit) } else { - $content = $GLOBALS['phpgw']->vfs->read ($fileman[$j]); + $content = $GLOBALS['phpgw']->vfs->read (array ('string' => $fileman[$j])); } html_table_begin ('100%'); @@ -1306,7 +1435,14 @@ elseif ($op == 'upload' && $path != '/' && $path != $GLOBALS['fakebase']) # Check to see if the file exists in the database, and get its info at the same time ### - $ls_array = $GLOBALS['phpgw']->vfs->ls ($path . '/' . $upload_file_name[$i], array (RELATIVE_NONE), False, False, True); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $path . '/' . $upload_file_name[$i], + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => False, + 'nofiles' => True + ) + ); + $fileinfo = $ls_array[0]; if ($fileinfo['name']) @@ -1322,23 +1458,69 @@ elseif ($op == 'upload' && $path != '/' && $path != $GLOBALS['fakebase']) { if ($fileinfo['name'] && $fileinfo['deleteable'] != 'N') { - $GLOBALS['phpgw']->vfs->set_attributes ($upload_file_name[$i], array (RELATIVE_ALL), array ('owner_id' => $GLOBALS['userinfo']['username'], 'modifiedby_id' => $GLOBALS['userinfo']['username'], 'modified' => $now, 'size' => $upload_file_size[$i], 'mime_type' => $upload_file_type[$i], 'deleteable' => 'Y', 'comment' => stripslashes ($upload_comment[$i]))); - $GLOBALS['phpgw']->vfs->cp ($upload_file[$i], $upload_file_name[$i], array (RELATIVE_NONE|VFS_REAL, RELATIVE_ALL)); + $GLOBALS['phpgw']->vfs->set_attributes (array ( + 'string' => $upload_file_name[$i], + 'relatives' => array (RELATIVE_ALL), + 'attributes' => array ( + 'owner_id' => $GLOBALS['userinfo']['username'], + 'modifiedby_id' => $GLOBALS['userinfo']['username'], + 'modified' => $now, + 'size' => $upload_file_size[$i], + 'mime_type' => $upload_file_type[$i], + 'deleteable' => 'Y', + 'comment' => stripslashes ($upload_comment[$i]) + ) + ) + ); + + $GLOBALS['phpgw']->vfs->cp (array ( + 'from' => $upload_file[$i], + 'to' => $upload_file_name[$i], + 'relatives' => array (RELATIVE_NONE|VFS_REAL, RELATIVE_ALL) + ) + ); html_text_summary ('Replaced '.$disppath.'/'.$upload_file_name[$i], $upload_file_size[$i]); } else { - $GLOBALS['phpgw']->vfs->cp ($upload_file[$i], $upload_file_name[$i], array (RELATIVE_NONE|VFS_REAL, RELATIVE_ALL)); - $GLOBALS['phpgw']->vfs->set_attributes ($upload_file_name[$i], array (RELATIVE_ALL), array ('mime_type' => $upload_file_type[$i], 'comment' => stripslashes ($upload_comment[$i]))); + $GLOBALS['phpgw']->vfs->cp (array ( + 'from' => $upload_file[$i], + 'to' => $upload_file_name[$i], + 'relatives' => array (RELATIVE_NONE|VFS_REAL, RELATIVE_ALL) + ) + ); + + $GLOBALS['phpgw']->vfs->set_attributes (array ( + 'string' => $upload_file_name[$i], + 'relatives' => array (RELATIVE_ALL), + 'attributes' => array ( + 'mime_type' => $upload_file_type[$i], + 'comment' => stripslashes ($upload_comment[$i]) + ) + ) + ); html_text_summary ('Created '.$disppath.'/'.$upload_file_name[$i], $upload_file_size[$i]); } } elseif ($upload_file_name[$i]) { - $GLOBALS['phpgw']->vfs->touch ($upload_file_name[$i], array (RELATIVE_ALL)); - $GLOBALS['phpgw']->vfs->set_attributes ($upload_file_name[$i], array (RELATIVE_ALL), array ('mime_type' => $upload_file_type[$i], 'comment' => $upload_comment[$i])); + $GLOBALS['phpgw']->vfs->touch (array ( + 'string' => $upload_file_name[$i], + 'relatives' => array (RELATIVE_ALL) + ) + ); + + $GLOBALS['phpgw']->vfs->set_attributes (array ( + 'string' => $upload_file_name[$i], + 'relatives' => array (RELATIVE_ALL), + 'attributes' => array ( + 'mime_type' => $upload_file_type[$i], + 'comment' => $upload_comment[$i] + ) + ) + ); html_text_summary ('Created '.$disppath.'/'.$upload_file_name[$i], $file_size[$i]); } @@ -1362,7 +1544,14 @@ elseif ($comment_files) continue; } - $GLOBALS['phpgw']->vfs->set_attributes ($file, array (RELATIVE_ALL), array ('comment' => stripslashes ($comment_files[$file]))); + $GLOBALS['phpgw']->vfs->set_attributes (array ( + 'string' => $file, + 'relatives' => array (RELATIVE_ALL), + 'attributes' => array ( + 'comment' => stripslashes ($comment_files[$file]) + ) + ) + ); html_text_summary ('Updated comment for '.$path.'/'.$file); } @@ -1389,7 +1578,11 @@ elseif ($renamefiles) { echo $GLOBALS['phpgw']->common->error_list (array ("File names cannot contain \\ or /")); } - elseif (!$GLOBALS['phpgw']->vfs->mv ($from, $to)) + elseif (!$GLOBALS['phpgw']->vfs->mv (array ( + 'from' => $from, + 'to' => $to + )) + ) { echo $GLOBALS['phpgw']->common->error_list (array ('Could not rename '.$disppath.'/'.$from.' to '.$disppath.'/'.$to)); } @@ -1411,7 +1604,12 @@ elseif ($move) { while (list ($num, $file) = each ($fileman)) { - if ($GLOBALS['phpgw']->vfs->mv ($file, $todir . '/' . $file, array (RELATIVE_ALL, RELATIVE_NONE))) + if ($GLOBALS['phpgw']->vfs->mv (array ( + 'from' => $file, + 'to' => $todir . '/' . $file, + 'relatives' => array (RELATIVE_ALL, RELATIVE_NONE) + )) + ) { $moved++; html_text_summary ('Moved '.$disppath.'/'.$file.' to '.$todir.'/'.$file); @@ -1440,7 +1638,12 @@ elseif ($copy) { while (list ($num, $file) = each ($fileman)) { - if ($GLOBALS['phpgw']->vfs->cp ($file, $todir . '/' . $file, array (RELATIVE_ALL, RELATIVE_NONE))) + if ($GLOBALS['phpgw']->vfs->cp (array ( + 'from' => $file, + 'to' => $todir . '/' . $file, + 'relatives' => array (RELATIVE_ALL, RELATIVE_NONE) + )) + ) { $copied++; html_text_summary ('Copied '.$disppath.'/'.$file.' to '.$todir.'/'.$file); @@ -1471,7 +1674,7 @@ elseif ($delete) { if ($fileman[$i]) { - if ($GLOBALS['phpgw']->vfs->delete ($fileman[$i])) + if ($GLOBALS['phpgw']->vfs->delete (array ('string' => $fileman[$i]))) { html_text_summary ('Deleted '.$disppath.'/'.$fileman[$i], $fileinfo['size']); } @@ -1504,7 +1707,14 @@ elseif ($newdir && $createdir) html_page_close (); } - $ls_array = $GLOBALS['phpgw']->vfs->ls ($path . '/' . $createdir, array (RELATIVE_NONE), False, False, True); + $ls_array = $GLOBALS['phpgw']->vfs->ls (array ( + 'string' => $path . '/' . $createdir, + 'relatives' => array (RELATIVE_NONE), + 'checksubdirs' => False, + 'nofiles' => True + ) + ); + $fileinfo = $ls_array[0]; if ($fileinfo['name']) @@ -1526,7 +1736,7 @@ elseif ($newdir && $createdir) } else { - if ($GLOBALS['phpgw']->vfs->mkdir ($createdir)) + if ($GLOBALS['phpgw']->vfs->mkdir (array ('string' => $createdir))) { html_text_summary ('Created directory '.$disppath.'/'.$createdir); html_break (2); diff --git a/filemanager/test.php b/filemanager/test.php index 898d79a1e5..857469ca24 100644 --- a/filemanager/test.php +++ b/filemanager/test.php @@ -26,148 +26,210 @@ $currentapp = $phpgw_info["flags"]["currentapp"]; ### # start of getabsolutepath tests +$sequence_num = 1; $phpgw->vfs->cd (); +//$phpgw->common->phpgw_footer (); +//$phpgw->common->phpgw_exit (); $io = array ("" => "$homedir", "dir" => "$homedir/dir", "dir/file" => "$homedir/dir/file", "dir/dir2" => "$homedir/dir/dir2", "dir/dir2/file" => "$homedir/dir/dir2/file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$homedir/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i))) != $o) { - echo "
getabsolutepath - $cd - $i - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd - $i - $o - $ao"; } } +$sequence_num = 2; $cd = "test"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE) + ) +); $io = array ("" => "/test", "dir" => "/test/dir", "dir/file" => "/test/dir/file", "dir/dir2" => "/test/dir/dir2", "dir/dir2/file" => "/test/dir/dir2/file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "/test/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i))) != $o) { - echo "
getabsolutepath - $cd - $i - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd - $i - $o - $ao"; } } +$sequence_num = 3; $cd = "test/test2/test3"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE) + ) +); $io = array ("" => "/test/test2/test3", "dir" => "/test/test2/test3/dir", "dir/file" => "/test/test2/test3/dir/file", "dir/dir2" => "/test/test2/test3/dir/dir2", "dir/dir2/file" => "/test/test2/test3/dir/dir2/file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "/test/test2/test3/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i))) != $o) { - echo "
getabsolutepath - $cd - $i - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd - $i - $o - $ao"; } } /* Actually means cd to home directory */ +$sequence_num = 4; $cd = ""; -$phpgw->vfs->cd ($cd); +$phpgw->vfs->cd (array( + 'string' => $cd, + ) +); $relatives = array (RELATIVE_USER); $io = array ("" => "$homedir", "dir" => "$homedir/dir", "dir/file" => "$homedir/dir/file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$homedir/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives))) != $o) { - echo "
getabsolutepath - $cd - $i - $relatives[0] - $o - $ao"; + echo '
HERE'; + echo "
$sequence_num - getabsolutepath - $cd - $i - $relatives[0] - $o - $ao"; } } /* $cd shouldn't affect this test, but we'll set it anyways */ +$sequence_num = 5; $cd = "test2/test4"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE), + ) +); $relatives = array (RELATIVE_NONE); $io = array ("" => "", "dir" => "dir", "dir/file" => "dir/file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives))) != $o) { - echo "
getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; } } /* $cd shouldn't affect this test, but we'll set it anyways */ +$sequence_num = 6; $cd = "test3/test5"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE), + ) +); $relatives = array (RELATIVE_USER_APP); $io = array ("" => "$homedir/.$currentapp", "dir" => "$homedir/.$currentapp/dir", "dir/dir2" => "$homedir/.$currentapp/dir/dir2", "dir/file" => "$homedir/.$currentapp/dir/file", "dir/dir2/dir3/file" => "$homedir/.$currentapp/dir/dir2/dir3/file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$homedir/.$currentapp/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives))) != $o) { - echo "
getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; } } /* $cd shouldn't affect this test, but we'll set it anyways */ +$sequence_num = 7; $cd = "test4/test6"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE) + ) +); $relatives = array (RELATIVE_ROOT); $io = array ("" => "", "dir" => "/dir", "/dir/dir2/dir3" => "/dir/dir2/dir3", "dir/file" => "/dir/file", "dir/dir2/dir3" => "/dir/dir2/dir3", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives))) != $o) { - echo "
getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; } } /* Now a few to test the VFS_REAL capabilities */ +$sequence_num = 8; $cd = ""; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE) + ) +); $relatives = array (RELATIVE_ROOT|VFS_REAL); $io = array ("" => "$filesdir", "dir" => "$filesdir$sep" . "dir", "dir/dir2/dir3" => "$filesdir$sep" . "dir$sep" . "dir2$sep" . "dir3", "dir/file" => "$filesdir$sep" . "dir$sep" . "file", "dir/dir2/dir3/file" => "$filesdir$sep" . "dir$sep" . "dir2$sep" . "dir3$sep" . "file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$filesdir$sep" . "`~!@#$%^&*()-_=+$sep" . "|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives, False)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives, 'fake' =>False))) != $o) { - echo "
getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; } } +$sequence_num = 9; $cd = "test5/test7"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_NONE)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_NONE) + ) +); $relatives = array (RELATIVE_USER|VFS_REAL); $io = array ("" => "$filesdir$realhomedir", "dir" => "$filesdir$realhomedir$sep" . "dir", "dir/dir2/dir3" => "$filesdir$realhomedir$sep" . "dir$sep" . "dir2$sep" . "dir3", "dir/file" => "$filesdir$realhomedir$sep" . "dir$sep" . "file", "dir/dir2/dir3/file" => "$filesdir$realhomedir$sep" . "dir$sep" . "dir2$sep" . "dir3$sep" . "file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$filesdir$realhomedir$sep" . "`~!@#$%^&*()-_=+$sep" . "|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives, False)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives, 'fake' => False))) != $o) { - echo "
getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; } } +$sequence_num = 10; $cd = "test6/test8"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_USER)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_USER) + ) +); /* RELATIVE_CURRENT should be implied */ $relatives = array (VFS_REAL); $io = array ("" => "$filesdir$realhomedir$sep$cd", "dir" => "$filesdir$realhomedir$sep$cd$sep" . "dir", "dir/dir2/dir3" => "$filesdir$realhomedir$sep$cd$sep" . "dir$sep" . "dir2$sep" . "dir3", "dir/file" => "$filesdir$realhomedir$sep$cd$sep" . "dir$sep" . "file", "dir/dir2/dir3/file" => "$filesdir$realhomedir$sep$cd$sep" . "dir$sep" . "dir2$sep" . "dir3$sep" . "file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$filesdir$realhomedir$sep$cd$sep" . "`~!@#$%^&*()-_=+$sep" . "|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives, False)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives, 'fake' => False))) != $o) { - echo "
getabsolutepath - $cd - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd - $i - $relatives[0] - $o - $ao"; } } +$sequence_num = 11; $cd = "test7/test9"; -$phpgw->vfs->cd ($cd, False, array (RELATIVE_USER)); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array (RELATIVE_USER) + ) +); $relatives = array (RELATIVE_USER_APP|VFS_REAL); $io = array ("" => "$filesdir$realhomedir$sep.$currentapp", "dir" => "$filesdir$realhomedir$sep.$currentapp$sep" . "dir", "dir/dir2/dir3" => "$filesdir$realhomedir$sep.$currentapp$sep" . "dir$sep" . "dir2$sep" . "dir3", "dir/file" => "$filesdir$realhomedir$sep.$currentapp$sep" . "dir$sep" . "file", "dir/dir2/dir3/file" => "$filesdir$realhomedir$sep.$currentapp$sep" . "dir$sep" . "dir2$sep" . "dir3$sep" . "file", "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => "$filesdir$realhomedir$sep.$currentapp$sep`~!@#$%^&*()-_=+$sep" . "|[{]};:'\",<.>?"); while (list ($i, $o) = each ($io)) { - if (($ao = $phpgw->vfs->getabsolutepath ($i, $relatives, False)) != $o) + if (($ao = $phpgw->vfs->getabsolutepath (array ('string' => $i, 'mask' => $relatives, 'fake' => False))) != $o) { - echo "
getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; + echo "
$sequence_num - getabsolutepath - $cd (shouldn't matter) - $i - $relatives[0] - $o - $ao"; } } @@ -182,20 +244,26 @@ $io = array ("" => array ("fake_full_path" => "", "fake_leading_dirs" => "", "fa `~!@#$%^&*()-_=+/|[{]};:'\",<.>? */ +$sequence_num = 12; $cd = "test8/test10"; $relatives[0] = RELATIVE_USER; -$phpgw->vfs->cd ($cd, False, array ($relatives[0])); +$phpgw->vfs->cd (array( + 'string' => $cd, + 'relative' => False, + 'relatives' => array ($relatives[0]) + ) +); $subhome = substr ($homedir, 1); $io = array ("" => array ("fake_full_path" => "$homedir/$cd", "fake_leading_dirs" => "$homedir/test8", "fake_extra_path" => "$subhome/test8", "fake_name" => "test10", "real_full_path" => "$filesdir$homedir/$cd", "real_leading_dirs" => "$filesdir$homedir/test8", "real_extra_path" => "$subhome/test8", "real_name" => "test10"), "dir2/file" => array ("fake_full_path" => "$homedir/$cd/dir2/file", "fake_leading_dirs" => "$homedir/$cd/dir2", "fake_extra_path" => "$subhome/$cd/dir2", "fake_name" => "file", "real_full_path" => "$filesdir$homedir/$cd/dir2/file", "real_leading_dirs" => "$filesdir$homedir/$cd/dir2", "real_extra_path" => "$subhome/$cd/dir2", "real_name" => "file"), "`~!@#$%^&*()-_=+/|[{]};:'\",<.>?" => array ("fake_full_path" => "$homedir/$cd/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?", "fake_leading_dirs" => "$homedir/$cd/`~!@#$%^&*()-_=+", "fake_extra_path" => "$subhome/$cd/`~!@#$%^&*()-_=+", "fake_name" => "|[{]};:'\",<.>?", "real_full_path" => "$filesdir$homedir/$cd/`~!@#$%^&*()-_=+/|[{]};:'\",<.>?", "real_leading_dirs" => "$filesdir$homedir/$cd/`~!@#$%^&*()-_=+", "real_extra_path" => "$subhome/$cd/`~!@#$%^&*()-_=+", "real_name" => "|[{]};:'\",<.>?")); while (list ($i, $o) = each ($io)) { - $ao = $phpgw->vfs->path_parts ($i); + $ao = $phpgw->vfs->path_parts (array ('string' => $i)); while (list ($key, $value) = each ($o)) { if ($ao->$key != $o[$key]) { - echo "
path_parts - $cd - $i - $relatives[0] - $key - $o[$key] - $ao[$key]"; + echo "
$sequence_num - path_parts - $cd - $i - $relatives[0] - $key - $o[$key] - $ao[$key]"; } } }