| version 1.34, 2003/01/07 16:19:04 |
version 1.35, 2003/02/03 21:50:51 |
|
|
| * http://www.platon.sk/projects/phpWebFileManager/ |
* http://www.platon.sk/projects/phpWebFileManager/ |
| */ |
*/ |
| |
|
| /* $Platon: phpWebFileManager/index.php,v 1.33 2002/11/24 16:51:19 nepto Exp $ */ |
/* $Platon: phpWebFileManager/index.php,v 1.34 2003/01/07 16:19:04 nepto Exp $ */ |
| |
|
| /* |
/* |
| * phpWebFileManager initialization |
* phpWebFileManager initialization |
| Line 146 function fm_main() |
|
| Line 146 function fm_main() |
|
| * Directory modifying. Dirty, but safe. |
* Directory modifying. Dirty, but safe. |
| */ |
*/ |
| |
|
| $fm_dir = preg_replace('/\/\/+/','/', "$fm_dir/"); |
$fm_dir = preg_replace('{//+}','/', "$fm_dir/"); |
| $fm_dir = preg_replace('/^(|.*\/)\.\.\/([^\.\/][^\.\/]|[^\/][^\.\/]|[^\/][^\.\/]|[^\/]{3,})\/(.*)$/', '\\1\\3', $fm_dir); |
$fm_dir = preg_replace('{^(|.*/)\.\./([^/\.]|[^\./][^\./]|[^/][^\./]|[^/][^\./]|[^/]{3,})/(.*)$}', '\\1\\3', $fm_dir); |
| $fm_dir = preg_replace('/^(|.*\/)([^\/\.][^\.\/]|[^\/][^\.\/]|[^\/][^\.\/]|[^\/]{3,})\/\.\.\/(.*)$/', '\\1\\3', $fm_dir); |
$fm_dir = preg_replace('{^(|.*/)([^/\.]|[^/\.][^\./]|[^/][^\./]|[^/][^\./]|[^/]{3,})/\.\./(.*)$}', '\\1\\3', $fm_dir); |
| |
|
| while (preg_match('/^(|.*\/)\.\.\/(.*)$/', $fm_dir)) { |
while (preg_match('{^(|.*/)\.\./(.*)$}', $fm_dir)) { |
| $fm_dir = preg_replace('/^(|.*\/)\.\.\/(.*)$/', '\\1\\2', $fm_dir); |
$fm_dir = preg_replace('{^(|.*/)\.\./(.*)$}', '\\1\\2', $fm_dir); |
| |
} |
| |
while (preg_match('{^(|.*/)\./(.*)$}', $fm_dir)) { |
| |
$fm_dir = preg_replace('{^(|.*/)\./(.*)$}', '\\1\\2', $fm_dir); |
| } |
} |
| while (strlen($fm_dir) > 0 && $fm_dir[0] == '/') { |
while (strlen($fm_dir) > 0 && $fm_dir[0] == '/') { |
| $fm_dir = substr($fm_dir, 1, strlen($fm_dir)); |
$fm_dir = substr($fm_dir, 1, strlen($fm_dir)); |
| Line 551 function fm_main() |
|
| Line 554 function fm_main() |
|
| $line++; |
$line++; |
| } |
} |
| |
|
| /* |
// Fetching directories and files data |
| * Two steps for() loop. |
$dir_obj = dir('./'); |
| * One for directories and one for files. |
$list_dirs = array(); |
| */ |
$list_files = array(); |
| for ($k = 0; $k < 2; $k++) { |
while (1) { |
| |
$entry = $dir_obj->read(); |
| |
if ($entry === FALSE) { |
| |
break; |
| |
} |
| |
if ($entry == '.' || $entry == '..') { |
| |
continue; |
| |
} |
| |
if (@is_dir($entry)) { |
| |
$list_dirs[] = $entry; |
| |
} else { |
| |
$list_files[] = $entry; |
| |
} |
| |
} |
| |
$dir_obj->close(); |
| |
// Alphabetical order |
| |
sort($list_dirs); |
| |
sort($list_files); |
| |
|
| |
$list_ptr = null; |
| |
$is_dir = null; |
| |
while (1) { |
| |
if ($list_ptr == null) { |
| |
$list_ptr =& $list_dirs; |
| |
$is_dir = TRUE; |
| |
} |
| |
if (count($list_ptr) <= 0) { |
| |
if (count($list_files) <= 0) { |
| |
break; |
| |
} |
| |
$list_ptr =& $list_files; |
| |
$is_dir = FALSE; |
| |
} |
| |
$entry = array_shift($list_ptr); |
| |
|
| $d = dir('./'); |
$entry_he = htmlentities($entry); |
| |
$entry_he2 = str_replace(' ', ' ', $entry_he); |
| |
$entry_ue = htmlentities(rawurlencode($entry)); |
| |
|
| |
// Dirty fastfix by Asbjørn Værnes <avaernes@online.no> |
| |
$entry_ue = str_replace('ö', '%F6', $entry_ue); |
| |
$entry_ue = str_replace('æ', '%E6', $entry_ue); |
| |
$entry_ue = str_replace('ø', '%F8', $entry_ue); |
| |
$entry_ue = str_replace('å', '%E5', $entry_ue); |
| |
$entry_ue = str_replace('&Aelig;', '%C6', $entry_ue); |
| |
$entry_ue = str_replace('Ø', '%D8', $entry_ue); |
| |
$entry_ue = str_replace('Å', '%C5', $entry_ue); |
| |
|
| /* Order in alphabetical order. */ |
echo '<tr valign=middle'; |
| $listing = array(); |
$line++; |
| while ($entry = $d->read()) |
if ($line % 2) { |
| array_push($listing, $entry); |
if (! empty($fm_cfg['color']['odd'])) |
| sort($listing); |
echo ' bgcolor="'.$fm_cfg['color']['odd'].'"'; |
| |
} else { |
| while ($entry = array_shift($listing)) { |
if (! empty($fm_cfg['color']['even'])) |
| $entry_he = htmlentities($entry); |
echo ' bgcolor="'.$fm_cfg['color']['even'].'"'; |
| $entry_he2 = str_replace(' ', ' ', $entry_he); |
} |
| $entry_ue = htmlentities(rawurlencode($entry)); |
echo '>'; |
| |
if ($is_dir) { |
| // Dirty fastfix by Asbjørn Værnes <avaernes@online.no> |
if ($fm_cfg['show']['icons']) { |
| $entry_ue = str_replace('ö', '%F6', $entry_ue); |
echo '<td align=center>'; |
| $entry_ue = str_replace('æ', '%E6', $entry_ue); |
if (is_link($entry)) { |
| $entry_ue = str_replace('ø', '%F8', $entry_ue); |
echo '<b>~</b>'; |
| $entry_ue = str_replace('å', '%E5', $entry_ue); |
|
| $entry_ue = str_replace('&Aelig;', '%C6', $entry_ue); |
|
| $entry_ue = str_replace('Ø', '%D8', $entry_ue); |
|
| $entry_ue = str_replace('Å', '%C5', $entry_ue); |
|
| |
|
| if ($entry != '.' && $entry != '..' && |
|
| (($k == 0 && @is_dir($entry)) || ($k == 1 && ! @is_dir($entry)))) { |
|
| |
|
| echo '<tr valign=middle'; |
|
| $line++; |
|
| if ($line % 2) { |
|
| if (! empty($fm_cfg['color']['odd'])) |
|
| echo ' bgcolor="'.$fm_cfg['color']['odd'].'"'; |
|
| } else { |
} else { |
| if (! empty($fm_cfg['color']['even'])) |
if ($fm_cfg['perm']['dir']['enter']) { |
| echo ' bgcolor="'.$fm_cfg['color']['even'].'"'; |
|
| } |
|
| echo '>'; |
|
| |
|
| if (@is_dir($entry)) { |
|
| if ($fm_cfg['show']['icons']) { |
|
| echo '<td align=center>'; |
|
| if (is_link($entry)) { |
|
| echo '<b>~</b>'; |
|
| } else { |
|
| if ($fm_cfg['perm']['dir']['enter']) { |
|
| echo '<a href="'.$PHP_SELF_origvars_ue; |
|
| echo $fm_cfg['cgi'].'dir='.$fm_dir_ue.$entry_ue.'">'; |
|
| } |
|
| |
|
| echo '<img alt="'._FM_DIR.'" border=0 src="' |
|
| . $fm_cfg['url']['icons'].$fm_cfg['icons']['sys']['DIR'].'">'; |
|
| |
|
| if ($fm_cfg['perm']['dir']['enter']) |
|
| echo '</a>'; |
|
| } |
|
| |
|
| echo '</td>'; |
|
| } |
|
| |
|
| echo '<td width="100%">'; |
|
| |
|
| if ($fm_cfg['perm']['dir']['enter'] |
|
| && ($fm_cfg['perm']['dir']['follow_symlinks'] |
|
| || ! is_link($entry))) { |
|
| echo '<a href="'.$PHP_SELF_origvars_ue; |
echo '<a href="'.$PHP_SELF_origvars_ue; |
| echo $fm_cfg['cgi'].'dir='.$fm_dir_ue.$entry_ue.'">'; |
echo $fm_cfg['cgi'].'dir='.$fm_dir_ue.$entry_ue.'">'; |
| echo $entry_he2.'</a>'; |
|
| } else { |
|
| echo $entry_he2; |
|
| } |
|
| } else { |
|
| |
|
| /* |
|
| * Setting up view URL |
|
| */ |
|
| |
|
| if ($view_column && $fm_cfg['perm']['file']['view']) { |
|
| $view_url = parse_url('http://'.$HTTP_SERVER_VARS['HTTP_HOST'] |
|
| .$HTTP_SERVER_VARS['REQUEST_URI']); |
|
| $view_url['path'] = get_path_without_scriptname($view_url) |
|
| . (strlen($fm_cfg['url']['root']) > 0 |
|
| ? $fm_cfg['url']['root'] : $fm_cfg['dir']['root']) |
|
| . $fm_dir_ue . $entry_ue; |
|
| unset($view_url['query']); |
|
| unset($view_url['fragment']); |
|
| $view_url = str_replace('%2F', '/', glue_url($view_url)); |
|
| } |
|
| |
|
| if ($fm_cfg['show']['icons']) { |
|
| echo '<td align=center>'; |
|
| if (is_link($entry)) { |
|
| echo '<b>@</b>'; |
|
| } else { |
|
| $icon_file = ''; |
|
| $icon_alt = ''; |
|
| $ext = substr(strtolower(strrchr($entry_he , '.')), 1); |
|
| if (isset($fm_cfg['icons']['name'][$entry])) { |
|
| $icon_file = $fm_cfg['icons']['name'][$entry]; |
|
| $icon_alt = strtoupper($entry).' '.strtolower(_FM_FILE); |
|
| } elseif (isset($fm_cfg['icons']['ext'][$ext])) { |
|
| $icon_file = $fm_cfg['icons']['ext'][$ext]; |
|
| $icon_alt = strtoupper($ext).' '.strtolower(_FM_FILE); |
|
| } |
|
| |
|
| if ($icon_file == '') { |
|
| echo ' '; |
|
| } else { |
|
| |
|
| if ($fm_cfg['perm']['file']['view']) { |
|
| echo '<a target=_blank href="'.$view_url.'">'; |
|
| } |
|
| |
|
| echo '<img alt="'.$icon_alt.'" border=0 src="' |
|
| . $fm_cfg['url']['icons'].$icon_file.'">'; |
|
| |
|
| if ($fm_cfg['perm']['file']['view']) { |
|
| echo '</a>'; |
|
| } |
|
| } |
|
| } |
|
| |
|
| echo '</td>'; |
|
| } |
} |
| echo '<td width="100%">' . $entry_he2; |
echo '<img alt="'._FM_DIR.'" border=0 src="' |
| |
. $fm_cfg['url']['icons'].$fm_cfg['icons']['sys']['DIR'].'">'; |
| |
if ($fm_cfg['perm']['dir']['enter']) |
| |
echo '</a>'; |
| } |
} |
| |
|
| echo '</td>'; |
echo '</td>'; |
| |
} |
| if (! @is_dir($entry)) { |
echo '<td width="100%">'; |
| if ($fm_cfg['show']['size']) { |
if ($fm_cfg['perm']['dir']['enter'] |
| echo '<td align=right nowrap><small>'; |
&& ($fm_cfg['perm']['dir']['follow_symlinks'] |
| $size = @filesize($entry); |
|| ! is_link($entry))) { |
| if (is_numeric($size)) { |
echo '<a href="'.$PHP_SELF_origvars_ue; |
| $unit = 'B'; |
echo $fm_cfg['cgi'].'dir='.$fm_dir_ue.$entry_ue.'">'; |
| if ( $size > 1073741824 ) { |
echo $entry_he2.'</a>'; |
| $size = round($size / 1073741824, 1); |
} else { |
| $unit = 'GB'; |
echo $entry_he2; |
| } elseif ( $size > 1048576 ) { |
} |
| $size = round($size / 1048576, 1); |
} else { |
| $unit = 'MB'; |
// Setting up view URL |
| } elseif ( $size > 1024 ) { |
if ($view_column && $fm_cfg['perm']['file']['view']) { |
| $size = round($size / 1024, 1); |
$view_url = parse_url('http://'.$HTTP_SERVER_VARS['HTTP_HOST'] |
| $unit = 'kB'; |
.$HTTP_SERVER_VARS['REQUEST_URI']); |
| } |
$view_url['path'] = get_path_without_scriptname($view_url) |
| echo $size . ' ' . $unit; |
. (strlen($fm_cfg['url']['root']) > 0 |
| } |
? $fm_cfg['url']['root'] : $fm_cfg['dir']['root']) |
| echo '</small></td>'; |
. $fm_dir_ue . $entry_ue; |
| } |
unset($view_url['query']); |
| |
unset($view_url['fragment']); |
| if ($fm_cfg['show']['date']) { |
$view_url = str_replace('%2F', '/', glue_url($view_url)); |
| echo '<td align=center nowrap><small>'; |
} |
| echo date($fm_cfg['format']['date'], @filemtime($entry)); |
if ($fm_cfg['show']['icons']) { |
| echo '</small></td>'; |
echo '<td align=center>'; |
| } |
if (is_link($entry)) { |
| |
echo '<b>@</b>'; |
| if ($rename_column) { |
|
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['file']['rename']) { |
|
| echo '[<a href="'.$PHP_SELF_origvars_ue |
|
| . $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
|
| . $fm_cfg['cgi'].'action=confirm_rename_file'.'&' |
|
| . $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
|
| . _FM_FILE_RENAME.'</a>]'; |
|
| } |
|
| echo '</small></td>'; |
|
| } |
|
| |
|
| if ($delete_column) { |
|
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['file']['delete']) { |
|
| echo '[<a href="'.$PHP_SELF_origvars_ue |
|
| . $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
|
| . $fm_cfg['cgi'].'action=confirm_delete_file'.'&' |
|
| . $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
|
| . _FM_FILE_DELETE.'</a>]'; |
|
| } |
|
| echo '</small></td>'; |
|
| } |
|
| |
|
| if ($view_column) { |
|
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['file']['view']) { |
|
| echo '[<a target=_blank href="'.$view_url.'">' |
|
| . _FM_FILE_VIEW.'</a>]'; |
|
| } |
|
| echo '</small></td>'; |
|
| } |
|
| |
|
| if ($edit_column) { |
|
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['file']['edit'] |
|
| && @is_readable($entry) |
|
| && @is_writeable($entry)) { |
|
| echo '[<a href="'.$PHP_SELF_origvars_ue |
|
| . $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
|
| . $fm_cfg['cgi'].'action=confirm_edit_file'.'&' |
|
| . $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
|
| . _FM_FILE_EDIT.'</a>]'; |
|
| } |
|
| echo '</small></td>'; |
|
| } |
|
| } else { |
} else { |
| |
$icon_file = ''; |
| if ($fm_cfg['show']['size']) { |
$icon_alt = ''; |
| echo '<td></td>'; |
$ext = substr(strtolower(strrchr($entry_he , '.')), 1); |
| |
if (isset($fm_cfg['icons']['name'][$entry])) { |
| |
$icon_file = $fm_cfg['icons']['name'][$entry]; |
| |
$icon_alt = strtoupper($entry).' '.strtolower(_FM_FILE); |
| |
} elseif (isset($fm_cfg['icons']['ext'][$ext])) { |
| |
$icon_file = $fm_cfg['icons']['ext'][$ext]; |
| |
$icon_alt = strtoupper($ext).' '.strtolower(_FM_FILE); |
| } |
} |
| |
if ($icon_file == '') { |
| if ($fm_cfg['show']['date']) { |
echo ' '; |
| echo '<td></td>'; |
} else { |
| } |
if ($fm_cfg['perm']['file']['view']) { |
| |
echo '<a target=_blank href="'.$view_url.'">'; |
| if ($rename_column) { |
|
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['dir']['rename']) { |
|
| echo '[<a href="'.$PHP_SELF_origvars_ue |
|
| . $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
|
| . $fm_cfg['cgi'].'action=confirm_rename_directory'.'&' |
|
| . $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
|
| . _FM_DIR_RENAME.'</a>]'; |
|
| } |
|
| echo '</small></td>'; |
|
| } |
|
| |
|
| if ($delete_column) { |
|
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['dir']['remove']) { |
|
| echo '[<a href="'.$PHP_SELF_origvars_ue |
|
| . $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
|
| . $fm_cfg['cgi'].'action=confirm_remove_directory'.'&' |
|
| . $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
|
| . _FM_DIR_REMOVE.'</a>]'; |
|
| } |
} |
| echo '</small></td>'; |
echo '<img alt="'.$icon_alt.'" border=0 src="' |
| } |
. $fm_cfg['url']['icons'].$icon_file.'">'; |
| |
if ($fm_cfg['perm']['file']['view']) { |
| if ($view_column) { |
echo '</a>'; |
| echo '<td><small>'; |
|
| if ($fm_cfg['perm']['dir']['enter'] |
|
| && ($fm_cfg['perm']['dir']['follow_symlinks'] |
|
| || ! is_link($entry))) { |
|
| echo '[<a href="'.$PHP_SELF_origvars_ue |
|
| . $fm_cfg['cgi'].'dir='.$fm_dir_ue.$entry_ue.'">' |
|
| . _FM_DIR_ENTER.'</a>]'; |
|
| } |
} |
| echo '</small></td>'; |
|
| } |
} |
| |
} |
| |
echo '</td>'; |
| |
} |
| |
echo '<td width="100%">' . $entry_he2; |
| |
} |
| |
echo '</td>'; |
| |
|
| if ($edit_column) { |
if (! $is_dir) { |
| echo '<td><small> </small></td>'; |
if ($fm_cfg['show']['size']) { |
| |
echo '<td align=right nowrap><small>'; |
| |
$size = @filesize($entry); |
| |
if (is_numeric($size)) { |
| |
$unit = 'B'; |
| |
if ( $size > 1073741824 ) { |
| |
$size = round($size / 1073741824, 1); |
| |
$unit = 'GB'; |
| |
} elseif ( $size > 1048576 ) { |
| |
$size = round($size / 1048576, 1); |
| |
$unit = 'MB'; |
| |
} elseif ( $size > 1024 ) { |
| |
$size = round($size / 1024, 1); |
| |
$unit = 'kB'; |
| } |
} |
| |
echo $size . ' ' . $unit; |
| } |
} |
| |
echo '</small></td>'; |
| echo '</tr>'."\n"; |
} |
| |
if ($fm_cfg['show']['date']) { |
| |
echo '<td align=center nowrap><small>'; |
| |
echo date($fm_cfg['format']['date'], @filemtime($entry)); |
| |
echo '</small></td>'; |
| |
} |
| |
if ($rename_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['file']['rename']) { |
| |
echo '[<a href="'.$PHP_SELF_origvars_ue |
| |
. $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
| |
. $fm_cfg['cgi'].'action=confirm_rename_file'.'&' |
| |
. $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
| |
. _FM_FILE_RENAME.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
if ($delete_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['file']['delete']) { |
| |
echo '[<a href="'.$PHP_SELF_origvars_ue |
| |
. $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
| |
. $fm_cfg['cgi'].'action=confirm_delete_file'.'&' |
| |
. $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
| |
. _FM_FILE_DELETE.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
if ($view_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['file']['view']) { |
| |
echo '[<a target=_blank href="'.$view_url.'">' |
| |
. _FM_FILE_VIEW.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
if ($edit_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['file']['edit'] |
| |
&& @is_readable($entry) |
| |
&& @is_writeable($entry)) { |
| |
echo '[<a href="'.$PHP_SELF_origvars_ue |
| |
. $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
| |
. $fm_cfg['cgi'].'action=confirm_edit_file'.'&' |
| |
. $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
| |
. _FM_FILE_EDIT.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
} else { |
| |
if ($fm_cfg['show']['size']) { |
| |
echo '<td></td>'; |
| |
} |
| |
if ($fm_cfg['show']['date']) { |
| |
echo '<td></td>'; |
| |
} |
| |
if ($rename_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['dir']['rename']) { |
| |
echo '[<a href="'.$PHP_SELF_origvars_ue |
| |
. $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
| |
. $fm_cfg['cgi'].'action=confirm_rename_directory'.'&' |
| |
. $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
| |
. _FM_DIR_RENAME.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
if ($delete_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['dir']['remove']) { |
| |
echo '[<a href="'.$PHP_SELF_origvars_ue |
| |
. $fm_cfg['cgi'].'dir='.$fm_dir_ue.'&' |
| |
. $fm_cfg['cgi'].'action=confirm_remove_directory'.'&' |
| |
. $fm_cfg['cgi'].'filename='.$entry_ue.'">' |
| |
. _FM_DIR_REMOVE.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
if ($view_column) { |
| |
echo '<td><small>'; |
| |
if ($fm_cfg['perm']['dir']['enter'] |
| |
&& ($fm_cfg['perm']['dir']['follow_symlinks'] |
| |
|| ! is_link($entry))) { |
| |
echo '[<a href="'.$PHP_SELF_origvars_ue |
| |
. $fm_cfg['cgi'].'dir='.$fm_dir_ue.$entry_ue.'">' |
| |
. _FM_DIR_ENTER.'</a>]'; |
| |
} |
| |
echo '</small></td>'; |
| |
} |
| |
if ($edit_column) { |
| |
echo '<td><small> </small></td>'; |
| } |
} |
| } |
} |
| |
echo '</tr>'."\n"; |
| $d->close(); |
|
| } |
} |
| |
|
| if ($last_row) { |
if ($last_row) { |