File : managefilephp.txt. ID : 9102
Skin : Default | Sons-of-obsidian | Sunburst | Highlighter | Frame
<?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> &nbsp;<< 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>รวมใช้พื้นที่ทั้งหมด &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;". 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;

}

?>