Example #1
0
			$mods = array();
			
			foreach($files as $k=>$v)
			{
				$v = $files[$k] = clean($v);
				
				$gr = get_group($v);
				if(!empty($gr)) $groups[$gr] = true;
				
				$own = get_group($v);
				if(!empty($own)) $owners[$own] = true;
				
				$mod = get_rights($v);
				$mods[$mod] = true;
				
				if(d_is_file($v)) $fsizes[] = show_size($v, false);
				else $dsizes[] = show_size($v, false);
			}
			
			light_message('<h3>Properties for selected items</h3>
			<p>size of '.sizeof($fsizes).' selected files: <b>'.show_size(0,false,array_sum($fsizes)).'</b></p>
			<p>size of '.sizeof($dsizes).' selected dirs: <b>'.show_size(0,false,array_sum($dsizes)).'</b></p>
			<p>total size: <b>'.show_size(0,false,array_sum($fsizes)+array_sum($dsizes)).'</b></p>
			'.(sizeof($mods)==1 ? '<p>mod: <b>'.get_rights($v,false).' ('.get_rights($v).')</b></p>' : '').'
			'.(sizeof($owners)==1 ? '<p>owner: <b>'.get_owner($v).'</b></p>' : '').'
			'.(sizeof($groups)==1 ? '<p>group: <b>'.get_group($v).'</b></p>' : '') );
			
			
		}
		break;
	case 'terminal':
Example #2
0
/**
 * Copy not only files, but folders too. See copy() description for details
 *
 * @param string $src
 * @param string $dest
 * @return bool
 */
function d_copy($src,$dest)
{
	if(!$src||!$dest) return false; /* this is very important function and must be protected from stupid errors */
	$src = abs_path($src,false);
	$dest = abs_path($dest,false);
	
	setwritable(dirname($dest),true);
	setreadable($src,true); /* we need to have read permissions! */
	
	if(d_is_file($src)) return (!FIX && @copy($src,$dest)) || @d_ftpcom('copy',$src,$dest);
	
	if(!d_is_dir($src)) return d_error($src.' does not exist');
	
	$dest.='/';
	$src .='/';
	if(substr($dest,0,strlen($src))==$src) return d_error('Cannot copy the directory inside itself.');
	
	if(!d_is_dir($dest) && !d_mkdir($dest)) return false;
	
	$t = d_filelist_fast($src);
	
	foreach(array_merge($t['files'],$t['dirs']) as $f) if(!d_copy($src.basename($f),$dest.basename($f))) $error=true;
	
	return !isset($error);
}