程序
/*
+---------------------------------------------------+
| Name : NEATPIC (无数据版本)
+---------------------------------------------------+
| Created / Modify : 2003-12-27 / 2004-4-13
+---------------------------------------------------+
| Version : 1.2.3
+---------------------------------------------------+
| Author : walkerlee, gouki
+---------------------------------------------------+
| Powered by NEATSTUDIO 2002 - 2004
+---------------------------------------------------+
| QQ : 808075
| Email : walkerlee@163.net
| Homepge : http://www.neatstudio.com
| BBS : http://www.neatstudio.com/bbs/
+---------------------------------------------------+
| Note :
|
| 1.本软件对于非商业用户完全免费,如果要使用在商业用途
| 方面,必须取得作者的授权.
|
| 2.你可以任意传播以及修改本程序,但不能以任何形式删除
| 本程序的版权.请记住,保留作者版权是对作者工作的尊敬.
|
| 3.如果有问题,可以通过上面提供的方式进行解答,但作者
| 学业繁重,如果不能及时或者不解答,请谅解.
|
| 4.作者对使用该程序导致的问题,不予以负责.
|
| 5.本程序版权归 NeatStudio 所有.禁止任何侵权行为!
|
+---------------------------------------------------+
*/
/*
+----------------------------------+
| Config
+----------------------------------+
| C / M : 2003-12-28 / 2004-4-13
+----------------------------------+
*/
$configAdminPass = "neatpic"; //管理员密码 注:安全起见,默认密码不能登陆管理
$configWantedPass = false; //查看相册是否需要密码 需要:true 不需要:false
$configOpenGzip = true; //是否压缩页面 压缩:true 不压缩:false
$configShowPicSize = false; //是否显示图片的大小 (单位:KB) 显示:true 不显示:false (注:不显示,程序运行速度将提高)
$configExt = array('jpg', 'jpeg', 'gif', 'png', 'bmp'); //图片类型
$strLenMax = 25; //文件名字限制长度 (防止撑破表格)
$configEachPageMax = 16; //每页显示的图片数目
$configEachLineMax = 4; //每行显示的图片数目
$configTDWidth = 185; //表格宽度
$configTDHeight = 138; //表格高度
$configPageMax = 5; //分页前后预览数
$configDirPasswordFile = "neatpicPassword.php"; //密码文件
$configTilte = "欢迎光临“开花的草”相册。设有精美小图、动态图片、人物图片、图文并茂、网页横幅、站长相关。"; //标题
$configVer = "1.2.3"; //程序版本号
/*
+----------------------------------+
| Class
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
Class neatpic
{
var $configWantedPass;
var $configAdminPass;
var $configOpenGzip;
var $configShowPicSize;
var $configExt = array();
var $strLenMax;
var $configEachPageMax;
var $configEachLineMax;
var $configTDHeight;
var $configTDWidth;
var $configPageMax;
var $configTilte;
var $configVer;
var $dirOptionList;
var $timer;
var $usedTime;
var $pathLevelNum;
var $nowDirNmae;
var $dirNum;
var $picNum;
var $pageTotal;
var $start;
var $offSet;
var $pageStart;
var $pageMiddle;
var $pageEnd;
var $temp;
var $picID;
var $picRealSizeWidth;
var $picRealSizeHeight;
var $picArray = array();
var $picFileArray = array();
var $dirArray = array();
var $dirNameArray = array();
var $pathArray = array();
var $pathError = false;
var $page;
var $path;
var $style;
var $c;
/*
+----------------------------------+
| Constructor
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function neatpic($configWantedPass, $configAdminPass, $configDirPasswordFile, $configOpenGzip, $configShowPicSize, $configExt, $strLenMax, $configEachPageMax, $configEachLineMax, $configTDHeight, $configTDWidth, $configPageMax, $configTilte, $configVer)
{
$this->configWantedPass = & $configWantedPass;
$this->configAdminPass = & $configAdminPass;
$this->configDirPasswordFile = & $configDirPasswordFile;
$this->configOpenGzip = & $configOpenGzip;
$this->configShowPicSize = & $configShowPicSize;
$this->configExt = & $configExt;
$this->strLenMax = & $strLenMax;
$this->configEachPageMax = & $configEachPageMax;
$this->configEachLineMax = & $configEachLineMax;
$this->configTDHeight = & $configTDHeight ;
$this->configTDWidth = & $configTDWidth;
$this->configPageMax = & $configPageMax;
$this->configTilte = & $configTilte;
$this->configVer = & $configVer;
}
/*
+----------------------------------+
| Open gzip
+----------------------------------+
| C / M : 2003-12-29 / --
+----------------------------------+
*/
function gzip()
{
if ($this->configOpenGzip == true)
ob_start("ob_gzhandler");
}
/*
+----------------------------------+
| Get the querystring
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function getVars()
{
$this->page = rawurldecode($_GET['page']);
$this->path = rawurldecode($_GET['path']);
$this->style = $_GET['style'];
if (!$this->style) $this->style = "small";
if (!$this->path) $this->path = ".";
}
/*
+----------------------------------+
| Check error
+----------------------------------+
| C / M : 2003-12-28 / 2004-1-1
+----------------------------------+
*/
function checkError()
{
if (preg_match("/\.\./", $this->path)) $pathError = true;
if (!is_dir($this->path)) $pathError = true;
if ($pathError == true)
{
header("location:".$_SERVER['PHP_SELF']);
exit;
}
}
/*
+----------------------------------+
| Path array initialize
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function pathArrayInitialize()
{
if (!$this->path) $this->path = ".";
$this->pathArray = explode("/", $this->path);
$this->pathLevelNum = count($this->pathArray);
$this->nowDirName = $this->pathArray[$this->pathLevelNum - 1];
if ($this->nowDirName == ".") $this->nowDirName = "根目录";
}
/*
+----------------------------------+
| Timer
+----------------------------------+
| C / M : 2003-12-29 / --
+----------------------------------+
*/
function timer()
{
$time = explode( " ", microtime());
$usec = (double)$time[0];
$sec = (double)$time[1];
$this->timer = $usec + $sec;
}
/*
+----------------------------------+
| Show used time
+----------------------------------+
| C / M : 2003-12-29 / --
+----------------------------------+
*/
function usedTime()
{
$startTime = $this->timer;
$this->timer();
$endTime = $this->timer;
$usedTime = $endTime - $startTime;
$this->usedTime = sprintf("%0.4f", $usedTime);
}
/*
+----------------------------------+
| Make over direct
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function makeOverdirect()
{
$overPath = ".";
for($i = 1; $i < $this->pathLevelNum - 1; $i++)
{
$overPath = $overPath."/".$this->pathArray[$i];
}
$this->dirArray[] = $overPath;
$this->dirNameArray[] = "上级目录";
for($i = 1; $i < $this->pathLevelNum; $i++)
{
$this->encodePath .= rawurlencode($this->pathArray[$i])."/";
}
}
/*
+----------------------------------+
| GetFileExt
+----------------------------------+
| C / M : 2003-12-28 / --
+----------------------------------+
*/
function getFileExt($fileName)
{
$pos = strrpos($fileName, '.');
return strtolower(substr($fileName, $pos+1, (strlen($fileName)-$pos-1)));
}
/*
+----------------------------------+
| Make direct list
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function makeDirList()
{
$dir = dir($this->path);
while($file = $dir->read())
{
if ($file <> "." and $file <> "..")
{
$fileName = $file;
$file = $this->path."/".$file;
if (is_dir($file))
{
$this->dirArray[] = $file;
$this->dirNameArray[] = $fileName;
}
if (in_array($this->getFileExt($file), $this->configExt))
{
$this->picEncodeArray[] = "./" . $this->encodePath . rawurlencode($fileName);
$this->picArray[] = $file;
$this->picFileArray[] = $fileName;
}
}
}
}
/*
+----------------------------------+
| Get each array number
+----------------------------------+
| C / M : 2003-12-28 / --
+----------------------------------+
*/
function getEachArrayNum()
{
$this->dirNum = count($this->dirArray);
$this->picNum = count($this->picArray);
}
/*
+----------------------------------+
| Make page bar
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function makePageBar()
{
$this->pageTotal = ceil($this->picNum / $this->configEachPageMax);
if (!$this->page or $this->page < 0) $this->page = 1;
if ($this->page > $this->pageTotal) $this->page = $this->pageTotal;
$this->offSet = $this->configEachPageMax * $this->page;
$this->start = $this->offSet - $this->configEachPageMax;
if ($this->start < 0) $this->start = 0;
if ($this->offSet > $this->picNum) $this->offSet = $this->picNum;
$this->pageStart = $this->page - $this->configPageMax;
if ($this->pageStart <= 0) $this->pageStart = 1;
$this->pageMiddle = $this->page + 1;
$this->pageEnd = $this->pageMiddle + $this->configPageMax;
if ($this->page <= $this->configPageMax) $this->pageEnd = $this->configPageMax * 2 + 1;
if ($this->pageEnd > $this->pageTotal) $this->pageEnd = $this->pageTotal + 1;
}
/*
+----------------------------------+
| Show page bar
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function showPageBar()
{
print("
for ($i = $this->pageStart; $i < $this->page; $i++)
print("path)."&style=".$this->style."&page=".$i."\" title=\"第 ".$i." 页\">[".$i."] ");
printf("[%s]", $this->page);
for ($i = $this->pageMiddle; $i < $this->pageEnd; $i++)
print("path)."&style=".$this->style."&page=".$i."\" title=\"第 ".$i." 页\">[".$i."] ");
print("...path)."&style=".$this->style."&page=".$this->pageTotal."\" title=\"第 " . $this->pageTotal . " 页\">[" . $this->pageTotal . "]\n");
print(" path)."&style=".$this->style."&page=".$this->pageTotal."\" title=\"尾页\">>>\n");
print("[ path)."&style=".$this->style."&page=".($this->page + 1)."\" title=\"下一页\">下一页 ] 共 ".$this->pageTotal." 页 当前所在第 ".$this->page." 页");
print("
");
print("
/*
+----------------------------------+
| Set picture ID
+----------------------------------+
| C / M : 2003-12-28 / --
+----------------------------------+
*/
function setPicID($id)
{
$this->picID = $id;
}
/*
+----------------------------------+
| Get picture dimension
+----------------------------------+
| C / M : 2003-12-28 / --
+----------------------------------+
*/
function getPicDim()
{
$picSize = GetImageSize($this->picArray[$this->picID]);
preg_match("!width=\"(.*)\" height=\"(.*)\"!", $picSize['3'], $tempSize);
$this->picRealSizeWidth = $tempSize['1'];
$this->picRealSizeHeight = $tempSize['2'];
/*
$tempSize['1'] < $this->configTDWidth ? $this->temp['Width'] = $tempSize['1'] : $this->temp['Width'] = $this->configTDWidth;
$tempSize['2'] < $this->configTDHeight ? $this->temp['Height'] = $tempSize['2'] : $this->temp['Height'] = $this->configTDHeight;
*/
$tWidth = $this->picRealSizeWidth / $this->configTDWidth;
$tHeight = $this->picRealSizeHeight / $this->configTDHeight;
if ($this->picRealSizeWidth > $this->configTDWidth OR $this->picRealSizeHeight > $this->configTDHeight)
{
if ($tWidth > $tHeight)
{
$this->temp['Width'] = $this->configTDWidth;
$this->temp['Height'] = number_format($this->picRealSizeHeight / $tWidth);
}
elseif ($tWidth < $tHeight)
{
$this->temp['Height'] = $this->configTDHeight;
$this->temp['Width'] = number_format($this->picRealSizeWidth / $tHeight);
}
else
{
$this->temp['Width'] = $this->configTDWidth;
$this->temp['Height'] = $this->configTDHeight;
}
}
else
{
$this->temp['Width'] = $this->picRealSizeWidth;
$this->temp['Height'] = $this->picRealSizeHeight;
}
}
/*
+----------------------------------+
| Show the title javascript
+----------------------------------+
| C / M : 2003-12-29 / 2003-12-30
+----------------------------------+
*/
function ShowJS()
{
print('
<script><br> /******************************************************************************<br> NEATPIC Show Title<br> Modified by: walkerlee<br> Date: 2003-12-30<br> Based upon: Crossday Studio and http://www.cnzzz.com<br> *******************************************************************************/</p>
<p> tPopWait=20;<br> showPopStep=10;<br> popOpacity=85;</p>
<p> sPop=null;<br> curShow=null;<br> tFadeOut=null;<br> tFadeIn=null;<br> tFadeWaiting=null;</p>
<p> document.write("<style type=\'text/css\'id=\'defaultPopStyle\'>");<br> document.write(".cPopText { font-family: Verdana, Tahoma; background-color: #F7F7F7; border: 1px #000000 solid; font-size: 11px; padding-right: 4px; padding-left: 4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: Alpha(Opacity=0)}");</p>
<p> document.write("</style>");<br> document.write("<div id=\'popLayer\' style=\'position:absolute;z-index:1000;\' class=\'cPopText\'></div>");</p>
<p><br> function showPopupText(){<br> var o=event.srcElement;<br> MouseX=event.x;<br> MouseY=event.y;<br> if(o.alt!=null && o.alt!="") { o.pop=o.alt;o.alt="" }<br> if(o.title!=null && o.title!=""){ o.pop=o.title;o.title="" }<br> if(o.pop) { o.pop=o.pop.replace("\n","<br>"); o.pop=o.pop.replace("\n","<br>"); }<br> if(o.pop!=sPop) {<br> sPop=o.pop;<br> clearTimeout(curShow);<br> clearTimeout(tFadeOut);<br> clearTimeout(tFadeIn);<br> clearTimeout(tFadeWaiting); <br> if(sPop==null || sPop=="") {<br> popLayer.innerHTML="";<br> popLayer.style.filter="Alpha()";<br> popLayer.filters.Alpha.opacity=0; <br> } else {<br> if(o.dyclass!=null) popStyle=o.dyclass <br> else popStyle="cPopText";<br> curShow=setTimeout("showIt()",tPopWait);<br> }<br> }<br> }</p>
<p> function showIt() {<br> popLayer.className=popStyle;<br> popLayer.innerHTML=\'<BR> \'+sPop+\' <BR><BR>\';<br> popWidth=popLayer.clientWidth;<br> popHeight=popLayer.clientHeight;<br> if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24<br> else popLeftAdjust=0;<br> if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24<br> else popTopAdjust=0;<br> popLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;<br> popLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;<br> popLayer.style.filter="Alpha(Opacity=0)";<br> fadeOut();<br> }</p>
<p> function fadeOut(){<br> if(popLayer.filters.Alpha.opacity<popOpacity) {<br/> popLayer.filters.Alpha.opacity+=showPopStep;<br/> tFadeOut=setTimeout("fadeOut()",1);<br/> }<br/> }</P><P> document.onmouseover=showPopupText;<br/> </script>
');
}
/*
+----------------------------------+
| Show css
+----------------------------------+
| C / M : 2003-12-28 / --
+----------------------------------+
*/
function showCSS()
{
print("
");
}
/*
+----------------------------------+
| Show title
+----------------------------------+
| C / M : 2003-12-28 / --
+----------------------------------+
*/
function showTitle()
{
print("\n");
print("
/*
+----------------------------------+
| Show state
+----------------------------------+
| C / M : 2003-12-28 / 2004-4-9
+----------------------------------+
*/
function showState()
{
print("
\n"); print(" print(" | \n");
/*
+----------------------------------+
| Make option direct list
+----------------------------------+
| C / M : 2004-3-24 / -- --
+----------------------------------+
*/
function makeOptionList()
{
$this->dirOptionList = "
for($i = 0; $i < $this->dirNum; $i++)
$this->dirOptionList .= "\n";
$this->dirOptionList .= "\n";
}
/*
+----------------------------------+
| Show direct list
+----------------------------------+
| C / M : 2003-12-28 / 2004-3-24
+----------------------------------+
*/
function showDirList()
{
print("
\n"); print(" print(" | \n");\n"); print(" " . $this->dirOptionList . " dirArray[0]) . "'\" alt=\"返回 上级目录\">"); print(" | \n");
/*
+----------------------------------+
| Cute the long file name
+----------------------------------+
| C / M : 2003-12-29 / --
+----------------------------------+
*/
function sortName($filename)
{
$filename = substr($filename, 0, strrpos($filename, '.'));
$strlen = strlen($filename);
if ($strlen > $this->strLenMax) $filename = substr($filename, 0, ($this->strLenMax)) . chr(0) . "...";
return $filename;
}
/*
+----------------------------------+
| Show picture list
+----------------------------------+
| C / M : 2003-12-28 / 2003-12-29
+----------------------------------+
*/
function showPicList()
{
print("
/*
+----------------------------------+
| Show config state
+----------------------------------+
| C / M : 2003-12-29 / --
+----------------------------------+
*/
function showConfigState()
{
$this->configOpenGzip == true ? $openGzip = "开启" : $openGzip = "关闭";
$this->configShowPicSize == true ? $showPicSize = "开启" : $showPicSize = "关闭";
$this->configWantedPass == true ? $showWantedPass = "开启" : $showWantedPass = "关闭";
print("
\n"); printf(" print(" | \n");"); printf(" print(" | \n");
/*
+----------------------------------+
| Show login window
+----------------------------------+
| C / M : 2003-12-29 / 2004-3-26
+----------------------------------+
*/
function showLogin()
{
print("
print("
\n"); print(" print(" | \n");
print("
\n"); print(" "); print(" | \n");
/*
+----------------------------------+
| Show Admincp
+----------------------------------+
| C / M : 2003-12-29 / 2004-4-2
+----------------------------------+
*/
function showAdmincp()
{
$session = & $_SESSION;
if ($session['neatpicLogined'] == true)
{
print("
\n"); print(" print(" | \n");\n"); print(" print(" | \n");
/*
+----------------------------------+
| del selected file
+----------------------------------+
| C / M : 2004-4-2 / --
+----------------------------------+
*/
function delFile()
{
if ($_GET['action'] == 'del')
{
$session = & $_SESSION;
if ($session['neatpicLogined'])
{
$path = rawurldecode($_POST['path']);
$delFile = & $_POST['delfile'];
foreach($delFile as $file)
{
unlink($path . "/" . $file);
}
header("location:" . $_SERVER['PHP_SELF'] . "?path=" . $_POST['path'] . "&style=" . $_GET['style'] . "&page=" . $_GET['page']);
}
}
}
/*
+----------------------------------+
| show upload
+----------------------------------+
| C / M : 2004-3-26 / --
+----------------------------------+
*/
function showUpload()
{
if ($_GET['action'] == 'upload')
{
$this->timer();
$this->showCSS();
$this->showTitle();
$this->upload();
$this->usedTime();
$this->showConfigState();
exit;
}
}
/*
+----------------------------------+
| upload image
+----------------------------------+
| C / M : 2004-3-26 / --
+----------------------------------+
*/
function upload()
{
$session = & $_SESSION;
if ($session['neatpicLogined'])
{
$path = rawurldecode($_POST['path']);
$tmpPath = explode('/', $path);
$tmpPathLevel = count($tmpPath);
for ($i = 1; $i < $tmpPathLevel; $i++)
$decodePath .= rawurlencode($tmpPath[$i]) . "/";
$uploadFile = $_FILES['image']['name'];
if (file_exists($path . "/" . $uploadFile))
$uploadFile = date('is') . $_FILES['image']['name'];
$imgType = $this->getFileExt($_FILES['image']['name']);
if (!in_array($imgType, $this->configExt)) $this->error('文件类型非法!');
if (!copy($_FILES['image']['tmp_name'], $path . "/" . $uploadFile)) $this->error('文件上传发生错误!');
print("
\n"); print(" print(" | \n");
\n"); printf(" 文件名 : %s 文件大小 : %s KB 文件类型 : %s print(" | \n");
\n"); printf(" print(" | \n");
/*
+----------------------------------+
| upload more image
+----------------------------------+
| C / M : 2004-4-5 / --
+----------------------------------+
*/
function uploadMore()
{
if ($_GET['action'] == 'uploadmore')
{
$this->timer();
$this->showCSS();
$this->showTitle();
$this->ShowJS();
if($_GET['do'] == 'yes')
{
set_time_limit(0);
$path = rawurldecode($_GET['path']);
$tmpPath = explode('/', $path);
$tmpPathLevel = count($tmpPath);
for ($i = 1; $i < $tmpPathLevel; $i++)
$decodePath .= rawurlencode($tmpPath[$i]) . "/";
$picNum = count($_FILES['images']['tmp_name']);
for($i = 0; $i < $picNum; $i++)
{
if($_FILES['images']['tmp_name'][$i])
{
$uploadFile = $_FILES['images']['name'][$i];
if (file_exists($path . "/" . $uploadFile))
$uploadFile = date('is') . $_FILES['images']['name'][$i];
 , ; $imgType = $this->getFileExt($_FILES['images']['name'][$i]);
if (!in_array($imgType, $this->configExt)) $this->error("文件类型非法! 图片编号:[" . ($i + 1) . "]");
if (!copy($_FILES['images']['tmp_name'][$i], $path . "/" . $uploadFile)) $this->error("文件上传发生错误! 图片编号:[" . ($i + 1) . "]");
$uploadFileArray[] = $uploadFile;
$imgTypeArray[] = $imgType;
$imgSizeArray[] = sprintf("%0.2f", $_FILES['images']['size'][$i] / 1024);
}
}
print("
\n"); print(" print(" | \n");
\n"); printf(" #" . ($i + 1) . " 文件名 : %s 文件大小 : %s KB 文件类型 : %s print(" | \n");
\n"); printf(" print(" | \n");
\n"); print(" print(" | \n");
\n"); print(" print(" | \n");
$this->usedTime();
$this->showConfigState();
exit;
}
}
/*
+----------------------------------+
| Decode
+----------------------------------+
| C / M : 2003-12-30 / --
+----------------------------------+
*/
function decode($str)
{
$str = rawurldecode($str);
$str = base64_decode($str);
$this->c = true;
return $str;
}
function c()
{
if(!$this->c)
header($this->decode("bG9jYXRpb246aHR0cDovL3d3dy5uZWF0c3R1ZGlvLmNvbQ%3D%3D"));
}
/*
+----------------------------------+
| Show if config wanted password
+----------------------------------+
| C / M : 2003-12-29 / --
+----------------------------------+
*/
function showWantPass()
{
if ($this->configWantedPass == true OR $_GET['action'] == 'login' OR $_GET['action'] == 'loginout' OR $_POST['login'] == 'login')
{
$session = & $_SESSION;
if ($_GET['action'] == 'loginout')
{
if (!$session['neatpicLogined'])
{
if ($_POST['password'] == $this->configAdminPass AND $this->configAdminPass != "neatpic") $session['neatpicLogined'] = true;
}
else
{
$session['neatpicLogined'] = "";
}
($_POST['path']) ? $path = $_POST['path'] : $path = $_GET['path'];
header("location:".$_SERVER['PHP_SELF']."?path=" . rawurlencode($path));
exit;
}
if (!$session['neatpicLogined'])
{
$this->timer();
$this->showCSS();
$this->showTitle();
$this->showLogin();
$this->usedTime();
$this->showConfigState();
exit;
}
}
}
/*
+----------------------------------+
| config dir password
+----------------------------------+
| C / M : 2004-3-27 / -- --
+----------------------------------+
*/
function configDirPass()
{
if ($_GET['action'] == 'cfgdirpass')
{
$session = & $_SESSION;
if ($_GET['do'] AND $session['neatpicLogined'])
{
if (file_exists(rawurldecode($_POST['path']) . "/" . $this->configDirPasswordFile))
{
$password = file(rawurldecode($_POST['path']) . "/" . $this->configDirPasswordFile);
list(, $password) = explode('|', chop($password[0]));
if (md5($_POST['oldpassword']) != $password)
$this->error("旧密码不匹配");
}
if ($_POST['newpassword'] != $_POST['checkpassword'])
$this->error("两次密码输入不匹配");
if (!$_POST['newpassword'])
unlink(rawurldecode($_POST['path']) . "/" . $this->configDirPasswordFile);
else
{
if (!is_writeable(rawurldecode($_POST['path']) . "/"))
$this->error("要设置访问的目录不可写!请先设置其属性为777.");
$fp = fopen(rawurldecode($_POST['path']) . "/" . $this->configDirPasswordFile, "w+");
fwrite($fp, "|" . md5($_POST['newpassword']));
fclose($fp);
}
header("location:".$_SERVER['PHP_SELF']."?path=" . $_POST['path']);
}
else
{
$this->timer();
$this ->showCSS();
$this->showTitle();
$this->ShowJS();
print("
n"); print(" print(" | n");
n"); print(" "); print(" | n");
$this->usedTime();
$this- >showConfigState();
exit;
}
}
}
/*
+---------------------------- ------+
| ディレクトリのパスワードの確認
+---------------------------------+
| C / M : 2004-3-27 / -- --
+--------------------------------- -+
*/
function CheckingDirPass()
{
if ($_GET['action'] == 'checkdirpass')
{
$session = & $_SESSION;
$password = file(rawurldecode($_POST) ['パス']) . "/" . $this->configDirPasswordFile);
list(, $password) =explode('|', Chop($password[0]));
if ($password = = md5($_POST['パスワード']))
$sess