<?php
$admin_password = '';
$viewer_password = '';
$upload_password = '';
###
$version = 'lp 1.0';
$program_name = 'e-documents';
$server_name = "www.yourdomain.com";
$maxsize = 100000000; // 100 MB
$fontcolor = '#000000'; // Sample: white, red, #ff0000
$linkcolor = '#000088';
$bgtable = '#F0F0F0';
$bgtbh = '#AA8844';
$bgrow1 = '#ffdddd';
$bgrow2 = 'white';
$linkcolor = 'blue';
$tbwidth = '1000';
$lpp = 50;
$charset = '<meta http-equiv="content-type" content="text/html; charset=windows-874">';
###
# Source code : http://www.thaiall.com/perlphpasp/source.pl?9102
# Information:
# 1. This file may be index.php or managefile.php
# 2. using for admin, user, public ?passwd=yourpassword
# 3. xampp 1.8.3 verified
# 4. ถ้าแก้ใน php.ini ให้ upload_max_filesize = 50M และ post_max_size = 50M ก็จะส่งได้ 50 MB
###
$u = str_replace("/index.php","",$_SERVER["SCRIPT_NAME"]);
//
session_start();
if (isset($_REQUEST["passwd"]) && $_REQUEST["passwd"]=="phpinfo" && $server_name = $_SERVER["SERVER_NAME"]) { phpinfo(); exit;}
if (isset($_REQUEST["action"]) && $_REQUEST["action"] == "Sign out") signout_process();
if (isset($_POST["admin_passwd"]) && strlen($_POST["admin_passwd"]) > 0 && strlen($admin_password) == 0) install_process();
if (strlen($admin_password) == 0) install_form();
if (isset($_REQUEST['passwd']) && $_REQUEST['passwd'] == "") { $_SESSION["crypt"] = ""; header("Location: ?"); exit;
} elseif (!isset($_REQUEST['passwd']) && isset($_SESSION["crypt"]) && strlen($_SESSION["crypt"]) > 2) { $crypt = $_SESSION["crypt"];
} else { if(isset($_REQUEST['passwd'])) $crypt = trim(crypt($_REQUEST['passwd'],$_REQUEST['passwd'].strlen($_REQUEST['passwd']))); else $crypt ="ไม่มีอะไรในกอไผ่";
} $_SESSION["crypt"] = $crypt;
if (!isset($_SESSION["sort"])) { $_SESSION["sort"] = "dd"; } else {
if (isset($_REQUEST['sort'])) $_SESSION["sort"] = substr($_REQUEST['sort'],0,1) . substr($_REQUEST['st'],0,1);
} $sort = $_SESSION["sort"];
if (!isset($_REQUEST["key"])) $this_pg = 1; else {
if(!isset($_REQUEST["pg"])) $this_pg = 1; else $this_pg = $_REQUEST["pg"];
}
if (isset($_REQUEST["key"])) $skey = $_REQUEST["key"]; else $skey = ".";
$docuser = split("\/",$_SERVER["REQUEST_URI"]); // $docuser = split("\/",$_SERVER["REQUEST_URI"]);
$_SESSION["docuser"] = $docuser[1]; // 1 or 2
$type_admin = 0;
if ($crypt == $viewer_password) { $type_admin=1; $colspan_head = 3; }
if ($crypt == $upload_password) { $type_admin=2; $colspan_head = 3; }
if ($crypt == $admin_password) { $type_admin=3; $colspan_head = 4; }
$color['default'] = 'black'; $color['jpg']='blue'; $color['gif']='blue'; $color['rar']='orange'; $color['zip']='orange'; $color['doc']='red'; $color['ppt']='green'; $color['xls']='brown'; $color['pdf']='gray';
###
?><html><head><title><?php echo $program_name." ".$version; ?></title>
<?php echo $charset; ?>
<meta http-equiv="cache-control" content="no-cache">
<style type="text/css">
body,td{font-family:microsoft sans serif;font-size:10pt;color:<?php echo $fontcolor;?>;}
a{font-family:microsoft sans serif;font-size:12pt;text-decoration:none;color:<?php echo $linkcolor;?>;}
a:link,a:visited{color:<?php echo $linkcolor;?>;}
.box_border { border-right: #ccc 3px solid; border-top: white 1px solid; border-left: white 3px solid; border-bottom:<?php echo $bgtbh; ?> 3px solid;display:inline;position:relative;}
#box { background-color:<?php echo $bgrow1; ?>;display:inline;position:relative;font-size:6pt}
</style></head><body topmargin="0" leftmargin="0">
<?php if ($type_admin != 1) { ?>
<a name=top></a>
<table bgcolor="<?php echo $bgtable ?>" width="100%" cellpadding=0 cellspacing=0><tr><form name=frm enctype="multipart/form-data" action="" method="post" target="_top">
<td valign="top"><?php
if ($type_admin > 0) {
$_SESSION["crypt"] = $crypt;
if ($type_admin > 1) echo "<td rowspan=3 width=100 valign=top><font size=4><b>". $_SESSION["docuser"] . "</b></font></td><td valign=top bgcolor='#d1d1d1'>นำแฟ้มเข้าระบบ <input type=file name=upload size=20 style='background-color:#ddffdd'> <input type=submit name=pro value=Upload></td>";
if ($crypt == $admin_password) echo "<td valign=top align=center bgcolor=#d1d1d1>แฟ้มที่ต้องการลบ <input name=delfile size=60 style='background-color:#ddffdd'> <input type=submit name=pro value=Delete></td>";
echo "<input name=directory value='.' type=hidden></form></tr><tr bgcolor=#aaaaaa height=2><td colspan=4></td></tr><tr bgcolor=#ffffdd><form name=intranet action='/intranet/check_session.php' method='post' target='_top'><td></td><td colspan=3 align=center>";
} else {
echo '<b>e-documents</b><br>รหัสผ่าน : <input name=passwd type=password size=10>';
echo " <input type=submit name=login value='Sign In'><input name=directory type=hidden value=.>";
}
} // ! viewer
if(isset($_REQUEST['directory'])) $dir = $_REQUEST['directory']; else $dir =".";
if (isset($_FILES['upload']) && strlen($_POST['delfile']) == 0 && ($crypt==$admin_password || $crypt==$upload_password)) {
$size = $_FILES['upload']['size'];
if ($size > 0 && $size < $maxsize && $_POST['pro']=="Upload") {
$name = $_FILES['upload']['name'];
$copypath = $_REQUEST['directory'];
copy($_FILES['upload']['tmp_name'],"$copypath/$name");
echo "<table align=center width=$tbwidth bgcolor=black><td bgcolor=blue><font color=white size=6>ส่งแฟ้มเข้าระบบ : เรียบร้อย (แฟ้ม <b>$name</b> ขนาด $size ไบท์)</table>";
} else {
echo "<table align=center width=$tbwidth bgcolor=black><td bgcolor=red><font color=white size=6>ส่งแฟ้มเข้าระบบ : ไม่เรียบร้อย (แฟ้ม <b>$name</b> ขนาด $size ไบท์)</table>";
}
}
if (isset($_POST['delfile']) && ($crypt==$admin_password)) {
$cnt = strpos($_POST['delfile'], "/");
if (strlen($cnt)=="0" && file_exists($_POST['delfile']) && $_POST['pro']=="Delete") {
$d = $_POST['delfile'];
unlink("$dir/$d");
echo "<table align=center width=$tbwidth bgcolor=black><td bgcolor=red><font color=white size=6>ลบแฟ้ม <b>$d</b> เรียบร้อย</table>";
}
}
if ($crypt==$admin_password || $crypt==$viewer_password || $crypt==$upload_password) {
// == file listing process ==
echo "<table align=center width=$tbwidth bgcolor=$bgtable>";
$i = 0;
$total = 0;
$dir_handle=opendir($dir);
$retVal = array();
while ($file = readdir($dir_handle)) {
$k = filemtime("$dir/$file").$file;
if ($sort == "na") $k = $file;
if (strlen($file) > 2 && $file != "index.php" && $file != "managefile.php") $retVal["$k"] = $file;
}
closedir($dir_handle);
if ($sort == "nd") rsort($retVal);
if ($sort == "da") ksort($retVal);
if ($sort == "dd") krsort($retVal);
echo "<tr bgcolor=white><form enctype='multipart/form-data' action='' method=get target=_top><td colspan=".$colspan_head.">หน้าที่ ";
for ($pg = 1;$pg <= round((count($retVal) / $lpp) + 0.5); $pg++) {
echo "<div class=box_border><table id=box><td><";
if ($this_pg == $pg) echo "font size=6><! ";
echo "a href='?pg=$pg'>$pg</a></td></table></div>";
}
echo "<div class=box_border><table id=box><td><a href='?pg=0'>ทั้งหมด</a></td></table></div>";
echo " จำนวน ". count($retVal) ." แฟ้ม</td>";
echo '</form><form action="?" method=get><td align=center bgcolor=$bgtable><input type=hidden name=passwd value=""><input name=action type=submit value="Sign Out" style="height:40;width:100;background-color:orange"></td></form><form action="?" method="get">';
echo '<td align=center bgcolor=$bgtable><input name=key value="" size=15><br><input name=action type=submit value="Search" style="height:20;background-color:orange"></td></form></tr>';
echo "<tr align=center bgcolor=$bgtbh><td width=30><font color=white>ลำดับ<td width=30><font color=white>ประเภท<td align=center><font color=white>ชื่อแฟ้ม <a href=?directory=.&sort=name&st=asc target=_self><< A</a> : <a href=?directory=.&sort=name&st=desc target=_self>D >></a>";
if ($crypt==$admin_password) echo "<td width=30><font color=white>แฟ้ม";
echo "<td width=150><font color=white>วันที่แฟ้ม <a href=?&directory=.&sort=date&st=asc target=_self> << A</a> : <a href=?&directory=.&sort=date&st=desc target=_self>D >></a><td width=80><font color=white>ขนาดแฟ้ม";
if (isset($_SESSION["pername"]) && strlen($_SESSION["pername"]) > 3) { echo "<td><font color=white>อ้างอิง</td><td><font color=white>ภาระงาน</td><td><font color=white>ประกัน<br/>สกอ</td><td><font color=white>ประกัน<br/>สมศ</td></tr>"; }
while (list($key, $list) = each($retVal)) {
$i = $i + 1;
if ($this_pg == 0 || ($this_pg > 0 && ($i > ($this_pg - 1) * $lpp) && ($i <= ($this_pg) * $lpp))) {
$r = "";
$filesize = filesize("$dir/$list");
$cutlist = split('\.',$list);
if (strlen($cutlist[count($cutlist) - 1]) < 5) $filetype = strtolower($cutlist[count($cutlist) - 1]); else $filetype = strtolower(filetype("$dir/$list"));
$newcut = ""; for($ccut=0;$ccut<count($cutlist) - 1;$ccut++) $newcut .= $cutlist[$ccut].".";
if ($i % 2 == 0) $r .= "<tr bgcolor=$bgrow1>"; else $r .= "<tr bgcolor=$bgrow2>";
if (isset($color[$filetype])) $mycolor= $color[$filetype]; else $mycolor="black";
$r .= "<td>$i<td><font color=gray><a href=?key=.$filetype style='color:". $mycolor . "'>" . strtolower($filetype) . "</a><td><a href='$list' target=_blank>". $newcut . "</a>";
if ($crypt==$admin_password) $r .= "<td align=center><a onclick='javascript:document.frm.delfile.value=\"$list\"; document.frm.delfile.focus();'>ลบ</a>";
$r .= "<td align=right><font color=gray>". date("d/m/Y H:i:s",filemtime("$dir/$list"));
$r .= "<td align=right>";
if ($filesize > 0) $r .= number_format($filesize,0,',',',');
if (isset($_SESSION["pername"]) && strlen($_SESSION["pername"]) > 3) {
if (!isset($first_connect)) {
include("../../intranet/connection.php");
$sql="select * from doc_refer where perid ='". $_SESSION["perid"] ."' and docuser ='". $_SESSION["docuser"] ."'";
mysql_query("set names tis620");
$result = mysql_query($sql);
while($o = mysql_fetch_object($result)){ $fr[$o->filename] = $o->referid; }
$sql="select * from doc_job where perid ='". $_SESSION["perid"] ."'";
mysql_query("set names tis620");
$result = mysql_query($sql);
while($o = mysql_fetch_object($result)){ $job[ $o->referid ] .=$o->jobtype. "<br/>"; }
$sql="select * from doc_sar where perid ='". $_SESSION["perid"] ."'";
mysql_query("set names tis620");
$result = mysql_query($sql);
while($o = mysql_fetch_object($result)){ $sar[ $o->referid ] .= $o->sartype. "<br/>"; }
$sql="select * from doc_sare where perid ='". $_SESSION["perid"] ."'";
mysql_query("set names tis620");
$result = mysql_query($sql);
while($o = mysql_fetch_object($result)){ $sare[ $o->referid ] .= $o->sartype. "<br/>"; }
$first_connect = "stop";
}
if(isset($fr[$list])){
$r .= "<td align=center><b>/</b>";
if(isset($job[$fr[$list]])) $r .= "<td align=center valign=top>" . $job[$fr[$list]] . "<a href='/intranet/doc_job_insert.php?referid=". $fr[$list] ."'>เพิ่ม</a>"; else $r .= "<td align=center><a href='/intranet/doc_job_insert.php?referid=". $fr[$list] ."'>เพิ่ม</a>";
if(isset($sar[$fr[$list]])) $r .= "<td align=center valign=top>" . $sar[$fr[$list]] . "<a href='/intranet/doc_sar_insert.php?referid=". $fr[$list] ."'>เพิ่ม</a>";else $r .= "<td align=center><a href='/intranet/doc_sar_insert.php?referid=". $fr[$list] ."'>เพิ่ม</a>";
if(isset($sare[$fr[$list]])) $r .= "<td align=center valign=top>" . $sare[$fr[$list]] . "<a href='/intranet/doc_sare_insert.php?referid=". $fr[$list] ."'>เพิ่ม</a>"; else $r .= "<td align=center><a href='/intranet/doc_sare_insert.php?referid=". $fr[$list] ."'>เพิ่ม</a>";
} else {
$r .= "<td align=center><a href='/intranet/doc_refer_insert.php?f=$list'>เพิ่ม</a>";
}
} // intranet logined
if (stristr($list,$skey)) {
$total = $total + $filesize;
echo $r;
}
} // page checking
} // while of data
echo "<tr><td colspan=6 align=right bgcolor=$bgtbh><font size=4 color=white>รวมใช้พื้นที่ทั้งหมด ". number_format($total,0,',',',');
echo "</table>";
} else {
//echo "<center>Upload ไม่สำเร็จ หรือ ส่งเข้าไปแล้ว หรือยังไม่ได้ สั่งงานอะไร</center>";
}
// เปลี่ยนรหัสผ่าน โดยคัดลอกค่าที่เข้ารหัสแล้วไปแทนค่าในตัวแปร admin_password ในบรรทัดที่ 3
echo "<center><br>โปรแกรมรุ่น $version <a href='http://www.thaiall.com/blog/wp-content/uploads/2010/10/dbtemplate_v1.jpg'>.</a> ( รหัสลับสำหรับผู้ดูแลระบบ <font color=red>$crypt</font> )</body></html>";
function install_form() {
global $charset;
echo $charset; ?>
<form action="" method=post>
<table align=center>
<tr><td colspan=2 bgcolor=#dddddd align=center><b>ขั้นตอนการติดตั้งโปรแกรม</b> : e-documents
<tr><td colspan=2 bgcolor=#ddffdd><b>เว็บเพจหน้านี้จะรับรหัสผ่านที่ท่านกำหนดขึ้นมา ไปสร้างรหัสผ่าน 3 แบบ</b>
<br>1) รหัสผ่านสำหรับบริหารจัดการ ในฐานะผู้เป็นเจ้าของห้องเก็บข้อมูล
<br>2) รหัสผ่านสำหรับแสดงรายการแฟ้ม ในฐานะผู้ดูรายชื่อแฟ้ม
<br>3) รหัสผ่านสำหรับส่งงาน ในฐานะผู้ส่งเอกสาร</b>
<tr><td colspan=2 bgcolor=#ffddaa align=center>เว็บเพจหน้านี้จะปรากฎออกมา <b>เพียงครั้งแรก ครั้งเดียว</b>
<br>เพื่อนำรหัสที่ท่านกรอกนี้ไปติดตั้งในระบบ (First Installation)
<tr bgcolor=#ffffdd><td>1. รหัสผ่านสำหรับ <u>ผู้เป็นเจ้าของห้องเก็บข้อมูล</u>
<td bgcolor=white><input name=admin_passwd> เพื่อ upload, delete, download file<br>
<tr bgcolor=#ffffdd><td>2. รหัสผ่านสำหรับ <u>ผู้ดูรายชื่อแฟ้ม</u>
<td bgcolor=white><input name=viewer_passwd> เพื่อ download file<br>
<tr bgcolor=#ffffdd><td>3. รหัสผ่านสำหรับ <u>ผู้ส่งเอกสาร</u>
<td bgcolor=white><input name=upload_passwd> เพื่อ upload , download file<br>
<tr><td colspan=2 align=center><input type=submit value="บันทึก">
<br>ก่อนกดปุ่มนี้ ท่านควรจดรหัสผ่านทั้ง 3 ไว้
<br>เพื่อนำไปบอกให้นักศึกษา หรือเพื่อนร่วมงาน ให้สามารถเข้ามาดูรายชื่อแฟ้มที่ท่านเผยแพร่
</table></form>
<?php exit; }
function signout_process() {
$_SESSION["crypt"] = "";
$_SESSION["pername"] = "";
$_SESSION["docuser"] = "";
echo $_SESSION["docuser"];
session_destroy();
session_unset();
exit;
}
function install_process() {
$apass = trim(crypt($_REQUEST['admin_passwd'],$_REQUEST['admin_passwd'].strlen($_REQUEST['admin_passwd'])));
$vpass = trim(crypt($_REQUEST['viewer_passwd'],$_REQUEST['viewer_passwd'].strlen($_REQUEST['viewer_passwd'])));
$upass = trim(crypt($_REQUEST['upload_passwd'],$_REQUEST['upload_passwd'].strlen($_REQUEST['upload_passwd'])));
if (strlen($_POST['viewer_passwd']) == 0) $vpass = "";
if (strlen($_POST['upload_passwd']) == 0) $upload = "";
if(isset($_SERVER["PATH_TRANSLATED"])) $f = $_SERVER["PATH_TRANSLATED"]; else $f = $_SERVER["DOCUMENT_ROOT"].$_SERVER["SCRIPT_NAME"];
$old_file = file($f);
$count_old = count($old_file);
$w = fopen($f,"w");
$l = 1;
foreach ($old_file as $v) {
if ($l == 2) fputs($w,"\$admin_password = '$apass';\r\n");
if ($l == 3) fputs($w,"\$viewer_password = '$vpass';\r\n");
if ($l == 4) fputs($w,"\$upload_password = '$upass';\r\n");
if ($l != 2 && $l != 3 && $l != 4) fputs($w,$v);
$l++;
}
fputs($w,"\n");
fclose($w);
echo "<center>";
if (count(file($f)) == $count_old) {
echo "แฟ้มนี้ไม่ได้รับอนุญาตให้เขียนทับ ท่านต้องแก้ไขสิทธิ์การเข้าถึงแฟ้มนี้ก่อน";
} else echo '<html><head><meta http-equiv="content-type" content="text/html; charset=windows-874"></head><body>ติดตั้งระบบสำหรับท่าน เรียบร้อยแล้ว<br>กดปุ่มข้างล่างนี้ เพื่อขอเข้าสู่ระบบ ด้วยรหัสผ่านที่ท่านกำหนดขึ้น<form action=""><input type=submit value=เข้าสู่ระบบ></form>';
exit;
}
?>
จำนวน : 256 บรรทัด