home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 April
/
CMCD0404.ISO
/
Software
/
Freeware
/
Programare
/
groupoffice-com-2.01
/
modules
/
filesystem
/
listview.inc
< prev
next >
Wrap
Text File
|
2004-03-08
|
14KB
|
380 lines
<?php
/*
Copyright Intermesh 2003
Author: Merijn Schering <mschering@intermesh.nl>
Version: 1.0 Release date: 08 July 2003
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
*/
$fs_sort_field = isset($_COOKIE['fs_sort_field']) ? $_COOKIE['fs_sort_field'] : 'basename';
$fs_sort_direction = isset($_COOKIE['fs_sort_direction']) ? $_COOKIE['fs_sort_direction'] : 'ASC';
if ($fs_sort_direction == "DESC")
{
$sort_arrow = ' <img src="'.$GO_THEME->images['arrow_down'].'" border="0" />';
$new_sort_direction = "ASC";
}else
{
$sort_arrow = ' <img src="'.$GO_THEME->images['arrow_up'].'" border="0" />';
$new_sort_direction = "DESC";
}
$folders = $fs->get_folders_sorted($path, $fs_sort_field, $fs_sort_direction);
$files = $fs->get_files_sorted($path, $fs_sort_field, $fs_sort_direction);
$item_count = count($files) + count($folders);
echo '<h1>'.$fbPath.': '.$page_title.'</h1>';
if (isset($feedback)) echo $feedback;
echo '<input type="hidden" name="task" />';
echo '<table border="0" cellpadding="0" cellspacing="0"><tr>';
if ($parent_path = dirname($path))
{
if ($fs->has_read_permission($GO_SECURITY->user_id, $parent_path))
{
echo '<td class="ModuleIcons">';
echo '<a class="small" href="'.$_SERVER['PHP_SELF'].'?path='.urlencode($parent_path).'"><img src="'.$GO_THEME->images['uplvl_big'].'" border="0" height="32" width="32" /><br />'.$fbUpLevel.'</a></td>';
}
}
echo '<td class="ModuleIcons">';
echo '<a class="small" href="'.$_SERVER['PHP_SELF'].'?path='.$urlencoded_path.'"><img src="'.$GO_THEME->images['fs_refresh'].'" border="0" height="32" width="32" /><br />'.$fbRefresh.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href=\'javascript:properties("'.rawurlencode($fs_no_multi_select).'")\'><img src="'.$GO_THEME->images['properties'].'" border="0" height="32" width="32" /><br />'.$fbProperties.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="'.$_SERVER['PHP_SELF'].'?task=new_folder&path='.$urlencoded_path.'"><img src="'.$GO_THEME->images['new_folder'].'" border="0" height="32" width="32" /><br />'.$fbNewFolder.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="'.$_SERVER['PHP_SELF'].'?task=upload&path='.$urlencoded_path.'"><img src="'.$GO_THEME->images['upload'].'" border="0" height="32" width="32" /><br />'.$fbUpload.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="javascript:delete_items()"><img src="'.$GO_THEME->images['delete_big'].'" border="0" height="32" width="32" /><br />'.$fbDelete.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href=\'javascript:cut_items("'.rawurlencode($fbNoSelect).'")\'><img src="'.$GO_THEME->images['cut'].'" border="0" height="32" width="32" /><br />'.$fbCut.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href=\'javascript:copy_items("'.rawurlencode($fbNoSelect).'")\'><img src="'.$GO_THEME->images['copy'].'" border="0" height="32" width="32" /><br />'.$fbCopy.'</a></td>';
if((count($_SESSION['cut_files']) + count($_SESSION['cut_folders']) + count($_SESSION['copy_files']) + count($_SESSION['copy_folders'])) > 0)
{
echo '<td class="ModuleIcons">';
echo '<a class="small" href="javascript:paste_items()"><img src="'.$GO_THEME->images['paste'].'" border="0" height="32" width="32" /><br />'.$fbPaste.'</a></td>';
}
if($GO_CONFIG->window_mode == 'normal')
{
echo '<td class="ModuleIcons">';
echo '<a class="small" href=\'javascript:mail_files("'.rawurlencode($fbNoSelect).'")\'><img src="'.$GO_THEME->images['fs_email'].'" border="0" height="32" width="32" /><br />'.$lang_modules['email'].'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="'.$_SERVER['PHP_SELF'].'?task=shares&path='.$urlencoded_path.'"><img src="'.$GO_THEME->images['sharing'].'" border="0" height="32" width="32" /><br />'.$fbSharing.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="'.$_SERVER['PHP_SELF'].'?task=search&path='.$urlencoded_path.'"><img src="'.$GO_THEME->images['fs_search'].'" border="0" height="32" width="32" /><br />'.$fs_search.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="javascript:create_archive()"><img src="'.$GO_THEME->images['compress'].'" border="0" height="32" width="32" /><br />'.$fb_compress.'</a></td>';
echo '<td class="ModuleIcons">';
echo '<a class="small" href="javascript:extract()"><img src="'.$GO_THEME->images['decompress'].'" border="0" height="32" width="32" /><br />'.$fb_decompress.'</a></td>';
}
echo '</tr></table>';
if ($GO_CONFIG->window_mode == 'popup')
{
echo '<table border="0">';
if ($mode == 'save')
{
echo '<tr><td><h3>'.$fbFilename.':</h3></td><td><input type="text" class="textbox" name="filename" value="'.$filename.'" size="40" /></td></tr>';
}
echo '<tr><td><h3>'.$strLookIn.':</h3></td><td>';
$dropbox = new dropbox();
$dropbox->add_value($home_path, 'home');
require_once($GO_CONFIG->class_path.'users.class.inc');
$users= new users();
$fs2 = new filesystem();
$fs2->get_authorized_sharers($GO_SECURITY->user_id);
while ($fs2->next_record())
{
$shares = array();
$share_count = $fs->get_shares($fs2->f('user_id'));
while ($fs->next_record())
{
if ($GO_SECURITY->has_permission($GO_SECURITY->user_id, $fs->f('acl_read')) || $GO_SECURITY->has_permission($GO_SECURITY->user_id, $fs->f('acl_write')))
{
if (strpos($path, $fs->f('path')) !== false)
{
$location = $fs->f('path');
}
$shares[] = $fs->f('path');
}
}
$share_count = count($shares) ;
if ($share_count > 0)
{
if ($user = $users->get_user($fs2->f('user_id')))
{
$dropbox->add_optgroup($user['username']);
for ($i=0;$i<$share_count;$i++)
{
$dropbox->add_value($shares[$i], basename($shares[$i]));
}
}
}
}
$location = isset($_POST['location']) ? $_POST['location'] : $home_path;
$dropbox->print_dropbox('location',$location,'onchange="javascript:change_location(this)"');
echo '</td></tr></table>';
}
echo '<table border="0" width="100%">';
echo '<tr>';
if ($GO_CONFIG->window_mode == 'normal')
{
echo '<td valign="top">';
require('treeview.inc');
echo '</td>';
}
echo '<td valign="top">';
echo '<table border="0" cellspacing="0" cellpadding="0"><tr>';
echo '<td class="TableHead2" width="16"><input type="checkbox" onclick="javascript:invert_selection()" name="dummy" /></td>';
echo '<td class="TableHead2" width="16"> </td>';
echo '<td class="TableHead2" width="100" nowrap><a class="TableHead2" href="'.$_SERVER['PHP_SELF'].'?path='.$urlencoded_path.'&new_sort_field=basename&new_sort_direction='.$new_sort_direction.'">'.$strName.'</a>';
if ($fs_sort_field == 'basename')
{
echo $sort_arrow;
}
echo '</td>';
echo '<td class="TableHead2" width="100" nowrap><a class="TableHead2" href="'.$_SERVER['PHP_SELF'].'?path='.$urlencoded_path.'&new_sort_field=filemimefriendly&new_sort_direction='.$new_sort_direction.'">'.$strType.'</a>';
if ($fs_sort_field == 'filemimefriendly')
{
echo $sort_arrow;
}
echo '</td>';
echo '<td class="TableHead2" width="100" nowrap align="right"><a class="TableHead2" href="'.$_SERVER['PHP_SELF'].'?path='.$urlencoded_path.'&new_sort_field=filesize&new_sort_direction='.$new_sort_direction.'">'.$strSize.'</a>';
if ($fs_sort_field == 'filesize')
{
echo $sort_arrow;
}
echo '</td>';
echo '<td class="TableHead2" width="100" nowrap align="right"><a class="TableHead2" href="'.$_SERVER['PHP_SELF'].'?path='.$urlencoded_path.'&new_sort_field=filemtime&new_sort_direction='.$new_sort_direction.'">'.$strModified.'</a>';
if ($fs_sort_field == 'filemtime')
{
echo $sort_arrow;
}
echo '</td>';
echo '</tr>';
while ($folder = array_shift($folders))
{
$short_name = cut_string($folder['name'], 30);
echo '<tr id="'.$folder['path'].'" class="Table1">';
echo '<td><input onclick="javascript:item_click(this)" type="checkbox" name="folders[]" value="'.$folder['path'].'" /></td>';
if ($fs->get_share($folder['path']))
{
$folder_image = $GO_THEME->images['shared_folder'];
}else
{
$folder_image = $GO_THEME->images['folder'];
}
echo '<td><img width="16" height="16" border="0" src="'.$folder_image.'" /></td>';
if (isset($_SESSION['cut_folders']) && in_array(addslashes($folder['path']), $_SESSION['cut_folders']))
{
echo '<td nowrap><a href="'.$_SERVER['PHP_SELF'].'?path='.urlencode($folder['path']).'"><font color="#7d7d7d">'.$folder['name'].'</font></a> </td>';
}else
{
echo '<td nowrap><a href="'.$_SERVER['PHP_SELF'].'?path='.urlencode($folder['path']).'" title="'.$folder['name'].'">'.$short_name.'</a> </td>';
}
echo '<td nowrap>'.$fbFolder.' </td>';
echo '<td align="right">- </td>';
echo '<td nowrap>'.date($_SESSION['GO_SESSION']['date_format'].' '.$_SESSION['GO_SESSION']['time_format'], get_time($folder['mtime'])).' </td>';
echo '</tr>';
echo '<tr><td colspan="99" height="1"><img src="'.$GO_THEME->images['cccccc'].'" border="0" height="1" width="100%" /></td></tr>';
}
$total_size = 0;
while ($file = array_shift($files))
{
$extension = get_extension($file['name']);
if (!isset($GO_FILTER_TYPES) || in_array($extension, $GO_FILTER_TYPES))
{
$total_size += $file['size'];
$short_name = cut_string(strip_extension($file['name']), 30);
echo '<tr id="'.$file['path'].'" class="Table1">';
echo '<td><input onclick="javascript:item_click(this)" type="checkbox" name="files[]" value="'.$file['path'].'" /></td>';
echo '<td><img width="16" height="16" border="0" src="'.$GO_CONFIG->control_url.'icon.php?extension='.$extension.'" /></td>';
if (isset($_SESSION['cut_files']) && in_array(addslashes($file['path']), $_SESSION['cut_files']))
{
echo '<td nowrap><a target="'.$target_frame.'" href="'.$GO_HANDLER.'?path='.urlencode($file['path']).'" title="'.$file['name'].'"><font color="#7d7d7d">'.$short_name.'</font></a> </td>';
}else
{
echo '<td nowrap><a target="'.$target_frame.'" href="'.$GO_HANDLER.'?path='.urlencode($file['path']).'" title="'.$file['name'].'">'.$short_name.'</a> </td>';
}
echo '<td nowrap>'.$file['type'].' </td>';
echo '<td nowrap align="right">'.format_size($file['size']).' </td>';
echo '<td nowrap>'.date($_SESSION['GO_SESSION']['date_format'].' '.$_SESSION['GO_SESSION']['time_format'], get_time($file['mtime'])).' </td>';
echo '</tr>';
echo '<tr><td colspan="99" height="1"><img src="'.$GO_THEME->images['cccccc'].'" border="0" height="1" width="100%" /></td></tr>';
}
}
echo '<tr><td colspan="99" class="small" height="18"> '.$item_count.' '.$fbItems.' '.$fbFolderSize.': '.format_size($total_size).'</td></tr>';
echo '<tr><td colspan="99" height="1"><img src="'.$GO_THEME->images['cccccc'].'" border="0" height="1" width="100%" /></td></tr>';
echo '</table>';
echo '</td></tr>';
if ($GO_CONFIG->window_mode=='popup')
{
echo '<tr><td colspan="2" align="center"><br />';
$button = new button($cmdOk,'javascript:submit_to_handler()');
echo ' ';
$button = new button($cmdCancel,'javascript:window.close()');
echo '</td></tr>';
}
echo '</table>';
?>
<script type="text/javascript" language="javascript" src="<?php echo $GO_CONFIG->host.$GO_MODULES->path.'filesystem.js'; ?>"></script>
<script type="text/javascript" language="javascript">
function submit_to_handler()
{
<?php
if ($GO_MULTI_SELECT == false)
{
?>
var count = 0;
var path = new String;
for (var i=0;i<document.forms[0].elements.length;i++)
{
if(document.forms[0].elements[i].type == 'checkbox' && document.forms[0].elements[i].name != 'dummy')
{
if (document.forms[0].elements[i].checked == true)
{
document.forms[0].path.value = document.forms[0].elements[i].value;
count++;
}
}
}
if (count > 1)
{
alert("<?php echo $fs_no_multi_select; ?>");
return false;
}
<?php
}
?>
document.forms[0].task.value = 'GO_HANDLER';
document.forms[0].action = "<?php echo $GO_HANDLER; ?>";
document.forms[0].submit();
}
function delete_items()
{
var count = 0;
var filename = new String;
var path = new String;
for (var i=0;i<document.forms[0].elements.length;i++)
{
if(document.forms[0].elements[i].type == 'checkbox' && document.forms[0].elements[i].name != 'dummy')
{
if (document.forms[0].elements[i].checked == true)
{
count++;
path = document.forms[0].elements[i].value;
filename = path.substring(path.lastIndexOf('/')+1, path.length);
}
}
}
switch (count)
{
case 0:
alert("<?php echo $fbNoSelect; ?>");
break;
case 1:
if (confirm("<?php echo $strDeletePrefix; ?>'"+filename+"'<?php echo $strDeleteSuffix; ?>"))
{
document.forms[0].task.value = 'delete';
document.forms[0].submit();
}
break;
default:
if (confirm("<?php echo $strDeletePrefix.$strThis; ?> "+count+" <?php echo $strItems.$strDeleteSuffix; ?>"))
{
document.forms[0].task.value = 'delete';
document.forms[0].submit();
}
break;
}
}
function create_archive()
{
var count = 0;
for (var i=0;i<document.forms[0].elements.length;i++)
{
if(document.forms[0].elements[i].type == 'checkbox' && document.forms[0].elements[i].name != 'dummy')
{
if (document.forms[0].elements[i].checked == true)
{
count++;
}
}
}
if (count == 0)
{
alert("<?php echo $fbNoSelect; ?>");
}else
{
document.forms[0].task.value = 'create_archive';
document.forms[0].submit();
}
}
function extract()
{
var count = 0;
for (var i=0;i<document.forms[0].elements.length;i++)
{
if(document.forms[0].elements[i].type == 'checkbox' && document.forms[0].elements[i].name != 'dummy')
{
if (document.forms[0].elements[i].checked == true)
{
count++;
}
}
}
if (count == 0)
{
alert("<?php echo $fbNoSelect; ?>");
}else
{
document.forms[0].task.value = 'extract';
document.forms[0].submit();
}
}
</script>