| | |
| | | } |
| | | |
| | | /** |
| | | * Get the group id from an group |
| | | * |
| | | */ |
| | | function getgid($group){ |
| | | global $app; |
| | | if($this->is_group($group)){ |
| | | $group_datei = $this->server_conf['group_datei']; |
| | | $groups = $app->file->no_comments($group_datei); |
| | | $lines = explode("\n", $groups); |
| | | if(is_array($lines)){ |
| | | foreach($lines as $line){ |
| | | if(trim($line) != ""){ |
| | | list($f1, $f2, $f3, $f4) = explode(':', $line); |
| | | if($f1 == $group) return $f3; |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Return info about a group by name |
| | | * |
| | | */ |
| | | function posix_getgrnam($group) { |
| | | if(!function_exists('posix_getgrnam')){ |
| | | $group_datei = $this->server_conf['group_datei']; |
| | | $cmd = 'grep -m 1 "^'.$group.':" '.$group_datei; |
| | | exec($cmd, $output, $return_var); |
| | | if($return_var != 0 || !$output[0]) return false; |
| | | list($f1, $f2, $f3, $f4) = explode(':', $output[0]); |
| | | $f2 = trim($f2); |
| | | $f3 = trim($f3); |
| | | $f4 = trim($f4); |
| | | if($f4 != ''){ |
| | | $members = explode(',', $f4); |
| | | } else { |
| | | $members = array(); |
| | | } |
| | | $group_details = array( 'name' => $group, |
| | | 'passwd' => $f2, |
| | | 'members' => $members, |
| | | 'gid' => $f3); |
| | | return $group_details; |
| | | } else { |
| | | return posix_getgrnam($group); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Get all information from a user |
| | | * |
| | | */ |
| | |
| | | $app->log("Action aborted, file is a symlink: $filename",LOGLEVEL_WARN); |
| | | return false; |
| | | } |
| | | return file_put_contents($filename, $data); |
| | | return file_get_contents($filename, $data); |
| | | } |
| | | |
| | | function rename($filename, $new_filename, $allow_symlink = false) { |
| | |
| | | } |
| | | |
| | | function unlink($filename) { |
| | | if(file_exists($filename)) { |
| | | if(file_exists($filename) || is_link($filename)) { |
| | | return unlink($filename); |
| | | } |
| | | } |
| | | |
| | | function copy($file1,$file2) { |
| | | return copy($file1,$file2); |
| | | } |
| | | |
| | | function touch($file, $allow_symlink = false){ |
| | | global $app; |
| | | if($allow_symlink == false && @file_exists($file) && $this->checkpath($file) == false) { |
| | | $this->unlink($file); |
| | | } |
| | | if(@touch($file)) { |
| | | return true; |
| | | } else { |
| | | $app->log("touch failed: $file",LOGLEVEL_DEBUG); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | function checkpath($path) { |
| | |
| | | function make_trashscan(){ |
| | | global $app; |
| | | //trashscan erstellen |
| | | // Template Öffnen |
| | | // Template Öffnen |
| | | $app->tpl->clear_all(); |
| | | $app->tpl->define( array(table => 'trashscan.master')); |
| | | |
| | |
| | | unset($shadow_file_array); |
| | | } |
| | | } |
| | | |
| | | function intval($string, $force_numeric = false) { |
| | | if(intval($string) == 2147483647) { |
| | | if($force_numeric == true) return floatval($string); |
| | | elseif(preg_match('/^([-]?)[0]*([1-9][0-9]*)([^0-9].*)*$/', $string, $match)) return $match[1].$match[2]; |
| | | else return 0; |
| | | } else { |
| | | return intval($string); |
| | | } |
| | | } |
| | | |
| | | function is_mounted($mountpoint){ |
| | | //$cmd = 'df 2>/dev/null | grep " '.$mountpoint.'$"'; |
| | | $cmd = 'mount 2>/dev/null | grep " on '.$mountpoint.' type "'; |
| | | exec($cmd, $output, $return_var); |
| | | return $return_var == 0 ? true : false; |
| | | } |
| | | |
| | | } |
| | | ?> |