| Server IP : 195.130.67.5 / Your IP : 216.73.216.231 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/control/ |
Upload File : |
<?
session_start();
require_once('../includes/DbConnector.php');
require_once("../includes/UserSession.php");
$connector = new DbConnector;
$session = new UserSession($connector);
require_once("../includes/RegisterGlobals.php");
$allowed_image_types = array("jpg", "gif", "png");
$allowed_file_types = array("zip", "doc", "docx", "xls", "xlsx", "pps", "ppt", "pptx", "pdf", "txt", "avi", "mp4", "mpeg4", "mkv", "ogg", "ogv", "js", "mov", "mp3", "vcf", "swf");
if (!isset($_SESSION["cms_userid"]))
{
echo '<p align="center">You have not the right permissions!</p>';
exit;
}
$normalpath="http://".$_SERVER['SERVER_NAME'].str_replace("/control/".basename($_SERVER["PHP_SELF"]),"",$_SERVER["PHP_SELF"]);
if ($create_folder==true and $folder_name!="")
{
$response_status = 0; // Ανεπιτυχής δημιουργία
if (!is_dir("$parent_folder/$folder_name"))
{
$folder_name = iconv("utf-8", "iso-8859-7", $folder_name);
if (mkdir ("$parent_folder/$folder_name", 0777))
{
$response_status = 1; // Επιτυχής δημιουργία
$session->insertLog("Δημιουργία νέου φακέλου αρχείων $parent_folder/$folder_name");
}
}
else
{
$response_status = 2; // Ο φάκελος υπάρχει ήδη
}
echo '<div id="ajax_output"><div id="response_status">'.$response_status.'</div></div>';
exit;
}
if ($delete_folder==1 and $folder_path!="")
{
if (deleteDir($folder_path))
{
$response_status = 1; // Eπιτυχής διαγραφή
$session->insertLog("Διαγραφή φακέλου αρχείων $folder_path");
}
else
{
$response_status = 0; // Ανεπιτυχής διαγραφή
}
$arr = explode("/", $folder_path);
$arr = array_slice($arr, 2, (count($arr)-3));
$cur_dir = implode("/",$arr);
}
$root_dir="../userfiles";
if ($cur_dir!="")
{
if (strpos($cur_dir,"images")===0 or strpos($cur_dir,"images")==strlen($root_dir."/"))
$type="images";
if (!strstr($cur_dir, $root_dir))
$cur_dir = $root_dir."/".$cur_dir;
}
else if ($type=="images" or $type=="files" or $type=="flash" or $type=="videos")
{
$cur_dir = $root_dir."/".$type;
}
else
{
$type = "images";
$cur_dir = $root_dir."/images";
}
$thumbs_dir = $root_dir."/temp_thumbs";
if ($view_type!="details" and $view_type!="thumbs")
{
if ($type == "images")
{
$view_type="thumbs";
}
else
{
$view_type="details";
}
}
if ($upload)
{
for($i=0; $i<count($_FILES['File']['size']); $i++)
{
//$File_name = mb_convert_encoding($_FILES['File']['name'][$i], 'utf-8', 'iso-8859-7');
$File_name = iconv("utf-8", "iso-8859-7", $_FILES['File']['name'][$i]);
$temp = explode(".", $File_name);
$File_type = end($temp);
if ($File_name!="")
{
if (is_uploaded_file($_FILES['File']['tmp_name'][$i]))
{
if (($type=="images" and in_array($File_type, $allowed_image_types)) or ($type!="images" and (in_array($File_type, $allowed_image_types) or in_array($File_type, $allowed_file_types))))
{
move_uploaded_file($_FILES['File']['tmp_name'][$i], "$cur_dir/$File_name");
$session->insertLog("Ανέβασμα του αρχείου $File_name στον φάκελο $cur_dir");
}
else
{
$error_msg = 'Μη επιτρεπτός τύπος αρχείου!';
$session->insertLog("Ανεπιτυχής προσπάθεια ανεβάσματος μη επιτρεπτού τύπου αρχείου $File_name στον φάκελο $cur_dir");
}
}
}
}
}
if ($delete==1)
{
if ($f_name!="")
{
$files_array = explode("::", $f_name);
for ($i=0; $i<count($files_array); ++$i)
{
//@unlink($cur_dir."/".$files_array[$i]);
@unlink($cur_dir."/".iconv("utf-8", "iso-8859-7", $files_array[$i]));
$session->insertLog("Διαγραφή του αρχείου ".$cur_dir."/".$files_array[$i]);
}
}
}
if ($rename==1)
{
$temp = explode(".", $f_new_name);
$f_new_ext = end($temp);
if (in_array($f_new_ext, $allowed_image_types) or in_array($f_new_ext, $allowed_file_types))
{
//rename("$cur_dir/$f_name","$cur_dir/$f_new_name");
rename("$cur_dir/".iconv("utf-8", "iso-8859-7", $f_name),"$cur_dir/".iconv("utf-8", "iso-8859-7", $f_new_name));
$session->insertLog("Μετονομασία του αρχείου $cur_dir/$f_name σε $cur_dir/$f_new_name");
}
else
{
$error_msg = 'Μη επιτρεπτή επέκταση αρχείου!';
$session->insertLog("Μη επιτρεπτή προσπάθεια μετονομασίας του αρχείου $cur_dir/$f_name σε $cur_dir/$f_new_name");
}
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Διαχείριση αρχείων</title>
<link rel="stylesheet" type="text/css" href="file_manager_style.css" />
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/file_manager.js"></script>
</head>
<body onload="window.resizeTo(910, 620);">
<div id="container">
<div id="folders">
<h3>Φάκελοι</h3>
<?
make_folder_list();
function make_folder_list($dir="")
{
global $root_dir, $cur_dir, $type, $CKEditorFuncNum, $field_id, $sort_by, $sort_order, $view_type;
$work_dir = "$root_dir".($dir!=""?"/$dir":"");
if ($handle = opendir($work_dir))
{
$blacklist = array('.', '..','temp_thumbs','photogalleries');
echo '<ul class="folder_list">';
while (false !== ($file = readdir($handle)))
{
if (is_dir("$work_dir/$file") and !in_array($file, $blacklist))
{
if ($cur_dir == "$work_dir/$file")
{
$class = ' class="active"';
$img = 'folder_open.png';
}
else
{
$class = '';
$img = 'folder_closed.png';
}
echo '<li'.$class.'><a href="file_manager.php?cur_dir='.$dir.($dir!=""?"/":"").$file.'&CKEditorFuncNum='.$CKEditorFuncNum.'&field_id='.$field_id.'&sort_by='.$sort_by.'&sort_order='.$sort_order.'&view_type='.$view_type.'"><img src="images/'.$img.'">'.$file.'</a>';
make_folder_list("$dir".($dir!=""?"/":"")."$file");
echo '</li>';
}
}
echo '</ul>';
closedir($handle);
}
}
?>
<div id="folder_actions">
<a href="file_manager.php" class="button" id="new_folder">Νέος φάκελος</a>
<?
if (!in_array($cur_dir, array("$root_dir/images", "$root_dir/files", "$root_dir/flash", "$root_dir/videos")))
{
?>
<a href="file_manager.php" class="button" id="delete_folder">Διαγρ. φακέλου</a>
<?
}
?>
</div>
</div>
<div id="content">
<div id="loading"><img src="images/loading_64x64.gif"></div>
<div id="view_type">
<a href="file_manager.php?cur_dir=<?=str_replace($root_dir."/", "", $cur_dir)?>&CKEditorFuncNum=<?=$CKEditorFuncNum?>&field_id=<?=$field_id?>&view_type=details&sort_by=<?=$sort_by?>&sort_order=<?=$sort_order?>" class="button<?=($view_type=="details"?" active":"")?>"><img src="images/details_view.png">Λεπτομέρειες</a>
<a href="file_manager.php?cur_dir=<?=str_replace($root_dir."/", "", $cur_dir)?>&CKEditorFuncNum=<?=$CKEditorFuncNum?>&field_id=<?=$field_id?>&view_type=thumbs&sort_by=<?=$sort_by?>&sort_order=<?=$sort_order?>" class="button<?=($view_type=="thumbs"?" active":"")?>"><img src="images/thumbs_view.png">Μικρογραφίες</a>
</div>
<div id="file_actions">
<a href="file_manager.php" id="preview" title="Προβολή επιλεγμένου αρχείου"><img src="images/magnifier.png" border="0" hspace="5">Προβολή</a>
<a href="file_manager.php" id="rename_file" title="Μετονομασία επιλεγμένου αρχείου"><img src="images/rename.png" border="0" hspace="5">Μετονομασία</a>
<a href="file_manager.php" id="delete_file" title="Διαγραφή ενός ή περισσοτέρων επιλεγμένων αρχείου"><img src="images/delete.png" border="0" hspace="5">Διαγραφή</a>
</div>
<div class="clear"></div>
<div id="thumbnails">
<?
if (!is_dir($thumbs_dir))
mkdir ($thumbs_dir, 0777);
else
{
$work = opendir($thumbs_dir);
while (($file = readdir($work))!=false)
{
@unlink("$thumbs_dir/$file");
}
}
$thums_width = 100;
$thumbs_columns = 5;
$work = opendir($cur_dir);
while (($file = readdir($work))!=false)
{
if ($file != "." and $file != ".." and !is_dir("$cur_dir/$file"))
{
$files[$file] = filemtime("$cur_dir/$file");
//$files[iconv("iso-8859-7", "utf-8", $file)] = filemtime("$cur_dir/$file");
}
}
closedir($work);
$i = 0;
if (!empty($files) and count($files)>0)
{
if ($sort_by=="fname" and $sort_order=="desc")
{
uksort($files, 'rstrcasecmp'); // Ταξινόμηση φθίνουσα (με αντίστροφη σειρά) με βάση τα κλειδιά του πίνακα (τα ονόματα των αρχείων). Η custom rstrcasecmp αντιστρέφει την τιμή της strcasecmp
$sort_order_reverse="asc";
}
else if ($sort_by=="fdate" and $sort_order=="asc")
{
asort($files); // Ταξινόμηση αύξουσα με βάση τις τιμές του πίνακα (τις ημερομηνίες των αρχείων)
$sort_order_reverse="desc";
}
else if ($sort_by=="fdate" and $sort_order=="desc")
{
arsort($files); // Ταξινόμηση φθίνουσα με βάση τις τιμές του πίνακα (τις ημερομηνίες των αρχείων)
$sort_order_reverse="asc";
}
else
{
$sort_by=="fname";
$sort_order_reverse="desc";
}
foreach($files as $file=>$date)
{
$f_ext = pathinfo("$cur_dir/$file", PATHINFO_EXTENSION);
if ($view_type=="thumbs")
{
if ($f_ext=="jpg" or $f_ext=="gif" or $f_ext=="png")
{
$dims = getimagesize("$cur_dir/$file");
if ($dims[0]>=$dims[1] and $dims[0]>$thums_width)
{
$thumb_width = $thums_width;
$thumb_height = (int) ($thumb_width*($dims[1]/$dims[0]));
}
else if ($dims[0]<$dims[1] and $dims[1]>$thums_width)
{
$thumb_height = $thums_width;
$thumb_width = (int) ($thumb_height*($dims[0]/$dims[1]));
}
else
{
$thumb_width = $dims[0];
$thumb_height = $dims[1];
}
//makeimage("$cur_dir/$file","","$thumbs_dir/",$thumb_width,$thumb_height);
}
if ($i == 0)
echo '<table id="thumbs_table">';
if ($i%$thumbs_columns == 0)
echo "<tr>";
++$i;
?>
<td id="fileitem_<?=$i?>" class="fname_col">
<a href="file_manager.php" title="<?=$file?>">
<?
if (in_array($f_ext, $allowed_image_types))
{
?>
<span class="thumb_pic" style="margin: <?=(($thums_width-$thumb_height)/2)?>px 0px;"><img src="phpThumb/phpThumb.php?src=../<?=$cur_dir."/".$file?>&w=<?=$thums_width?>&h=<?=$thums_width?>" width="<?=$thumb_width?>" height="<?=$thumb_height?> title="<?=$file?>" alt="<?=$file?>"></span>
<?
}
else
{
if (!in_array($f_ext, $allowed_file_types))
{
$f_ext = "none";
}
?>
<span class="thumb_pic" style="margin: <?=(($thums_width-32)/2)?>px 0px;"><img src="images/file_type_<?=$f_ext?>_32x32.png" width="32" height="32" border="0" title="<?=$file?>" alt="<?=$file?>"></span>
<?
}
?>
<span class="thumb_info" style="width: <?=$thums_width?>px"><?=$file?></span>
<?
if ($f_ext=="jpg" or $f_ext=="gif" or $f_ext=="png")
{
?>
<span class="thumb_info fsize" style="width: <?=$thums_width?>px"><?=$dims[0]."x".$dims[1]?></span>
<?
}
?>
</a>
</td>
<?
if ($i%$thumbs_columns == 0 and $i!=0)
echo "</tr>";
}
else
{
$f_date = date("d/m/Y H:i", $date);
if (in_array($f_ext, $allowed_image_types))
{
$f_ext="picture";
}
else if (!in_array($f_ext, $allowed_file_types))
{
$f_ext="none";
}
if ($i == 0)
{
echo '<table id="list_table">';
echo '<thead><tr><th class="fname_col"><a href="file_manager.php?cur_dir='.$cur_dir.'&CKEditorFuncNum='.$CKEditorFuncNum.'&field_id='.$field_id.'&sort_by=fname&sort_order='.$sort_order_reverse.'&view_type='.$view_type.'" title="Ταξινόμηση με μάση το όνομα αρχείου">Όνομα αρχείου</a>';
if ($sort_by=="fname" and $sort_order=="asc")
echo '<img src="images/sort_asc.png">';
else if ($sort_by=="fname" and $sort_order=="desc")
echo '<img src="images/sort_desc.png">';
echo '</th><th class="fdate_col"><a href="file_manager.php?cur_dir='.$cur_dir.'&CKEditorFuncNum='.$CKEditorFuncNum.'&field_id='.$field_id.'&sort_by=fdate&sort_order='.$sort_order_reverse.'&view_type='.$view_type.'" title="Ταξινόμηση με μάση την ημερομηνία τροποποίησης αρχείου">Ημερομηνία</a>';
if ($sort_by=="fdate" and $sort_order=="asc")
echo '<img src="images/sort_asc.png">';
else if ($sort_by=="fdate" and $sort_order=="desc")
echo '<img src="images/sort_desc.png">';
echo '</th></tr></thead>';
}
++$i;
?>
<tbody>
<tr>
<td id="fileitem_<?=$i?>" class="fname_col" valign="center" height="20">
<a href="file_manager.php" title="<?=$file?>"><img src="images/file_type_<?=$f_ext?>.gif" width="16" height="16" border="0" align="absmiddle" title="<?=$file?>" alt="<?=$file?>"> <?=$file?></a>
</td>
<td class="fdate_col"><?=$f_date?></td>
</tr>
</tbody>
<?
}
}
}
if ($i>0)
{
echo "</table>";
}
else
{
echo '<span class="notice">Ο φάκελος είναι άδειος...<span>';
}
$total_files = $i;
?>
</div>
<div id="file_info">
<form id="f_info" name="f_info" method="post" action="file_manager.php" style="display:inline;">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td>Διεύθυνση <? if ($type=="images") echo "εικόνας:"; else echo "αρχείου:"; ?></td>
<td><input type="text" name="f_url" id="f_url" readonly class="textbox"></td>
</tr>
<tr>
<td>Όνομα <? if ($type=="images") echo "εικόνας:"; else echo "αρχείου:"; ?></td>
<td><input type="text" name="f_name" id="f_name" readonly class="textbox"></td>
</tr>
</table>
</form>
</div>
<div id="file_upload">
<form name="f_upload" method="post" action="file_manager.php?type=<?=$type?>&CKEditorFuncNum=<?=$CKEditorFuncNum?>&field_id=<?=$field_id?>&sort_by=<?=$sort_by?>&sort_order=<?=$sort_order?>&view_type=<?=$view_type?>" style="display:inline;" enctype='multipart/form-data'>
<div style="width: 121px; padding-left: 2px; margin-top: -13px; margin-bottom: 5px; background-color: #FFFFFF;"><b>Ανέβασμα <? if ($type=="images") echo "εικόνας"; else echo "αρχείου"; ?></b></div>
<div>
<input type="file" name="File[]" id="File" size="49" class="filebox" multiple>
<input type="submit" value="Ανέβασμα" name="upload" id="upload">
<input type="hidden" name="cur_dir" value="<?=$cur_dir;?>">
<?
if ($error_msg!="")
echo '<span class="error">'.$error_msg.'</span>';
?>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
<?
function deleteDir($dir)
{
if (substr($dir, strlen($dir)-1, 1) != '/')
$dir .= '/';
if ($handle = opendir($dir))
{
while ($obj = readdir($handle))
{
if ($obj != '.' && $obj != '..')
{
if (is_dir($dir.$obj))
{
if (!deleteDir($dir.$obj))
return false;
}
elseif (is_file($dir.$obj))
{
if (!unlink($dir.$obj))
return false;
}
}
}
closedir($handle);
if (!@rmdir($dir))
return false;
return true;
}
return false;
}
function rstrcasecmp($s1, $s2)
{
return strcasecmp($s2, $s1);
}
?>
<script>
var normalpath = "<?=$normalpath?>";
var cur_dir = "<?=$cur_dir?>";
var root_dir = "<?=$root_dir?>";
var CKEditorFuncNum = "<?=$CKEditorFuncNum?>";
var sort_by = "<?=$sort_by?>";
var field_id = "<?=$field_id?>";
var sort_order = "<?=$sort_order?>";
var view_type = "<?=$view_type?>";
</script>