'; break ; default : $title='" ; } $title.='
'; if(strlen($errorMsg)>0){ $title .= " " ; $title .= " " ; $title .= "
" ; $title .= $errorMsg ; $title .= "
 
' ; break ; } print($title) ; } function printMenu($type=1,$ftpuserdata=""){ global $presenMode ; if(!$presenMode){ $menu = '
<<<メニュー>>>
一覧
新規作成
変更
削除
ログアウト
' ; if($type==2){ $menu .= '
FTPアカウント情報
 ユーザー名 
'.$ftpuserdata[ftpname].'
 パスワード 
'.$ftpuserdata[pw].'
 Web公開 
'.getopenweb($ftpuserdata[openweb]).'
 作成日 
'.getdate_h($ftpuserdata[ctime]).'
 自動削除日 
'.getdate_h($ftpuserdata[expire]).'
'; } }else{ $menu = '
ログアウト
' ; } print ($menu) ; } function getpasswd($username) { global $presenMode ; if($username==""){ return "" ; } if(!$presenMode){ $sql = "select pw from user where usermail='".$username."'" ; $result = mysql_query($sql) ; $row = mysql_fetch_row($result); return ($row[0]); }else{ $sql = "select pw,openweb from ftpuser where ftpname='".$username."'" ; $result = mysql_query($sql) ; $row = mysql_fetch_row($result); if($row[1]=="true"){ return ($row[0]); }else{ return false ; } } } function getFtpUserList($mailaddr){ $sql = "select * from ftpuser where adminuser='".$mailaddr."' order by ctime" ; $result = mysql_query($sql) ; $index = 0 ; while ($row = mysql_fetch_array($result)) { $ftps[$index] = $row ; $tmp = shell_exec('du -ks '.FTPROOT.'/'.$ftps[$index][ftpname]); unset($regs); ereg("^[0-9]+",$tmp,$regs) ; $ftps[$index][volume] = size_h((int)$regs[0] * 1024) ; $index++ ; } mysql_free_result($result); return $ftps ; } function getFtpUser($ftp){ $sql = "select * from ftpuser where ftpname='".$ftp."'" ; $result = mysql_query($sql) ; $index = 0 ; $ftp = mysql_fetch_array($result); $tmp = shell_exec('du -ks '.FTPROOT.'/'.$ftp[ftpname]); unset($regs); ereg("^[0-9]+",$tmp,$regs) ; $ftp[volume] = size_h((int)$regs[0] * 1024) ; mysql_free_result($result); return $ftp ; } function size_h($size){ $tmp =(float)$size; if($tmp>1024){ $size_h=$tmp/1024; $unit="KByte"; } if($tmp>(1024*1024)){ $size_h=$tmp/(1024*1024); $unit="MByte"; } if($tmp>(1024*1024*1204)){ $size_h=$tmp/(1024*1024*1024); $unit="GByte"; } return round($size_h,1)." ".$unit ; } function desCrypt($str) { $chrTbl = array( 'a','b','c','d','e','f','g','h','i','j','k','l', 'm','n','o','p','q','r','s','t','u','v','w','x', 'y','z','A','B','C','D','E','F','G','H','I','J', 'K','L','M','N','O','P','Q','R','S','T','U','V', 'W','X','Y','Z','0','1','2','3','4','5','6','7', '8','9' ); list($usec, $sec) = explode(' ', microtime()); $seed=(float) $sec + ((float) $usec * 100000); mt_srand($seed); if(MD5CRYPT=="true"){ $salt="$1$" ; for($i=0;$i<12;++$i){ $i1 = mt_rand(0,count($chrTbl)-1); $salt.=$chrTbl[$i1]; } }else{ $i1 = mt_rand(0,count($chrTbl)-1); $i2 = mt_rand(0,count($chrTbl)-1); $salt = $chrTbl[$i1].$chrTbl[$i2] ; } return crypt($str,$salt) ; } function insertUser(&$userdata) { $sql = "insert into user set " ; $sql .= "usermail='".$userdata[usermail]."'," ; $sql .= "pw='".$userdata[pw]."' " ; $result = mysql_query($sql) ; return mysql_errno() ; } function insertFtpuser(&$userdata) { $userdata[ctime]=date("Y/m/d"); $ExDate = date_create(); switch($userdata[expire]){ case "1w" : $term ="+1 week" ; break ; case "2w" : $term ="+2 week" ; break ; case "3w" : $term ="+3 week" ; break ; case "1m" : $term ="+1 month" ; break ; case "2m" : $term ="+2 month" ; break ; case "3m" : $term ="+3 month" ; break ; case "4m" : $term ="+4 month" ; break ; case "5m" : $term ="+5 month" ; break ; case "6m" : $term ="+6 month" ; break ; case "1y" : $term ="+1 year" ; break ; } date_modify($ExDate,$term); $userdata[expire] = date_format($ExDate,"Y/m/d"); $sql = "insert into ftpuser set " ; $sql .= "adminuser='".$userdata[adminuser]."'," ; $sql .= "ftpname='".$userdata[ftpname]."'," ; $sql .= "pw='".$userdata[pw]."'," ; $sql .= "openweb='".$userdata[openweb]."'," ; $sql .= "ctime='".$userdata[ctime]."'," ; $sql .= "expire='".$userdata[expire]."' " ; $result = mysql_query($sql) ; return mysql_errno() ; } function updateFtpuser(&$userdata) { $ExDate = date_create($userdata['expire']); $ToDay = date_create(); $term =""; if(date_diff($ExDate,$ToDay) < 0 ) { $ExDate = $ToDay; $term = "+1 day"; } switch($userdata[plusexpire]){ case "0w" : break ; case "1w" : $term ="+1 week" ; break ; case "2w" : $term ="+2 week" ; break ; case "3w" : $term ="+3 week" ; break ; case "1m" : $term ="+1 month" ; break ; case "2m" : $term ="+2 month" ; break ; case "3m" : $term ="+3 month" ; break ; case "4m" : $term ="+4 month" ; break ; case "5m" : $term ="+5 month" ; break ; case "6m" : $term ="+6 month" ; break ; case "1y" : $term ="+1 year" ; break ; } date_modify($ExDate,$term); $userdata[expire] = date_format($ExDate,"Y/m/d"); $sql = "update ftpuser set " ; $sql .= "adminuser='".$userdata[adminuser]."'," ; $sql .= "pw='".$userdata[pw]."'," ; $sql .= "openweb='".$userdata[openweb]."'," ; $sql .= "ctime='".$userdata[ctime]."'," ; $sql .= "expire='".$userdata[expire]."' " ; $sql .= "where ftpname='".$userdata[ftpname]."' " ; $result = mysql_query($sql) ; return mysql_errno() ; } function deleteFtpuser(&$userdata) { $sql = "delete from ftpuser where " ; $sql .= "adminuser='".$userdata[adminuser]."' and " ; $sql .= "ftpname='".$userdata[ftpname]."' " ; $result = mysql_query($sql) ; return mysql_errno() ; } function printopenweb($openweb){ if($openweb=="true"){ print("する"); }else{ print("しない"); } } function getopenweb($openweb){ if($openweb=="true"){ return("する"); }else{ return("しない"); } } function printdate_h($date){ print(getdate_h($date)); return; } function getdate_h($date){ $DateW = date_create($date); $ymd = date_format($DateW,'Y/m/d'); //str_replace('-','/',$ymd[0]); return(" ".$ymd." "); } function array_csort() { $args = func_get_args(); $marray = array_shift($args); $msortline = "return(array_multisort("; foreach ($args as $arg) { $i++; if (is_string($arg)) { foreach ($marray as $row) { $sortarr[$i][] = $row[$arg]; } } else { $sortarr[$i] = $arg; } $msortline .= "\$sortarr[".$i."],"; } $msortline .= "\$marray));"; eval($msortline); return $marray; } function disk_space($dev){ $out = trim(shell_exec ('df -k | grep "'.$dev.'"')) ; ereg("^([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+) +",$out,$tmp) ; return (string)((float)$tmp[4] * 1024.0) ; } // start if(ereg("^".escapeshellcmd(WEBPRES),$_SERVER[REQUEST_URI])){ $presenMode = true ; }else{ $presenMode = false ; } session_start(); if (DEBUG=="true") { print($_SERVER[REQUEST_URI]); } if(!$presenMode){ $page = "login" ; }else{ $page = "prlogin" ; } if(!db_connect()) { print ("Cannot connect!"); } else { if(DEBUG=="true") print("Connect."); } if(DEBUG=="true") { print " $_SESSION[usermail] $_SESSION[pw] "; print getpasswd($_SESSION[usermail]); print_r(debug_backtrace()); } if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ if(DEBUG=="true"){ print ("--Password OK!-- imagename= $_GET[imagename]"); print ("-dl:$_GET[download] user:$_GET[user] mc:$_GET[mc]"); } if(isset($_GET[imagename])){ set_time_limit(0); $imagename = $_GET[imagename] ; mb_http_output("pass"); if(isset($_SESSION[open_images]["$imagename"])){ if(isset($_GET[thum])&&$thum=exif_thumbnail($_SESSION[open_images]["$imagename"])){ header ("Content-Length: ".strlen($thum)); echo($thum); exit; } mb_http_output("pass"); $filesize = filesize($_SESSION[open_images]["$imagename"]); header ("Content-Length: $filesize"); readfile($_SESSION[open_images]["$imagename"]); exit; }else{ mb_http_output("pass"); readfile("images/nazo.gif"); exit; } }elseif(isset($_GET[download])&&isset($_GET[user])&&isset($_GET[mc])){ set_time_limit(0); $file_location = FTPROOT."/".$_GET[user]."/".$_GET[download] ; $file_location = mb_convert_encoding($file_location,$_GET[mc],"auto"); $fileinfo=pathinfo($file_location); $c_name = $fileinfo[basename] ; $c_name = mb_convert_encoding($c_name,"SJIS","auto"); $filesize = filesize($file_location); header ("Accept-Ranges: none"); header ("Content-Length: $filesize"); header ("Content-Type: application/octet-stream"); header ("Content-Disposition: attachment;filename=".$c_name.";"); mb_http_output("pass"); $fp=fopen("$file_location","rb"); @fpassthru($fp); fclose($fp); exit; } } $remember[usermail]=$_COOKIE[remember1] ; $remember[pw] =$_COOKIE[remember2] ; $validip=explode(",",VALIDIP); $invalid_flag = true ; for($i=0;$i"); print_r(debug_backtrace()); } if($presenMode){ if(!isset($_POST[fromwait])){ $scr_mode="wait" ; }else{ if(DEBUG=="true") { header("Connection: Keep-alive"); print("src_mode= $src_mode"); print("ob_start called\n"); } ob_start(); switch($scr_mode){ case "prlogin" : case "browse" : case "logout" : break ; default : unset($_SESSION); unset($_POST); $scr_mode=""; break ; } } }else{ if($invalid_flag){ $scr_mode="global" ; }else{ if(!isset($_POST[fromwait])){ $scr_mode="wait" ; }else{ if(DEBUG=="true") { print("ob_start called"); header("Connection: Keep-alive"); } ob_start(); } } } switch($scr_mode){ case "prlogin": if($presenMode){ $loginError=" 
 
 "; if($_POST[usermail]!=""){ $_SESSION[usermail]=$_POST[usermail] ; } if($_POST[pw]!=""){ $_SESSION[pw] =$_POST[pw] ; } if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="wait" ; $_POST[mode]="browse"; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $loginError = "ログイン情報が違います。ユーザー名とパスワードをもう一度確かめてください。"; $page="prlogin"; } } break ; case "global": unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="global"; break ; case "login": if(!$presenMode){ $loginError=" 
 
 "; if($_POST[usermail]!=""){ $_SESSION[usermail]=$_POST[usermail] ; } if($_POST[pw]!=""){ $_SESSION[pw] =$_POST[pw] ; } if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ if($_POST[savepw]=="1"){ setcookie("remember1",$_SESSION[usermail],time()+(605400*2));//2week keep setcookie("remember2",$_SESSION[pw],time()+(605400*2)); } $page="summary" ; $ftpusers = getFtpUserList($_SESSION[usermail]) ; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $remember[usermail]=$_POST[usermail] ; $remember[pw] =$_POST[pw] ; $loginError = "ログイン情報が違います。メールアドレスとパスワードをもう一度確かめてください。
初めて使用する方は、メールアドレスが登録されていません。
一番下の'初めて使用する方はこちら'をクリックしてアドレスとパスワードを登録してください。"; $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "mail": if(!$presenMode){ $loginError=" 
 
 "; $email = explode('@',$_POST[usermail]); unset($_SESSION[usermail]); unset($_SESSION[pw]); $remember[usermail]=$_POST[usermail] ; $remember[pw] =$_POST[pw] ; if($email[1]!=""){ $mailhost = $email[1]; $mailhost = $mailhost."."; if (getmxrr($mailhost, $mxhosts) == FALSE && gethostbyname($mailhost) == $mailhost){ $loginError = '正しいメールアドレスではありません。入力を確認してください。'; $page="login"; }else{ $validmx=explode(",",VALIDMX); $mailhost_ok=false ; for($i=0;$i\n"; $headers .= "X-Sender: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Mailer: PublicDock Auto Mailer\n"; $headers .= "X-Priority: 3\n"; $headers .= "Return-Path: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "bcc:".ROOTMAIL."\n"; $subject = "PublicDockのログインについて" ; $recipient = "<".$_POST[usermail].">" ; $body = "お疲れ様です。\n"; $body.= "\n" ; $body.= "パブリック・ドックのログイン情報は以下の通りです。\n" ; $body.= "メール・アドレス : ".$_POST[usermail]."\n" ; $body.= "パスワード    : ".$pass."\n" ; $body.= "\n" ; $body.= "アクセスするホームページは、\n" ; $body.= "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI]."\n" ; $body.= "です。\n" ; $body.= "\n" ; $body.= "では。\n" ; $body.= "\n" ; $body.= "※このメールは、ユーザーの要求により自動送信されています。\n" ; mb_language("Japanese"); mb_internal_encoding("UTF-8"); $ret=mb_send_mail($recipient,$subject,$body,$headers); if($ret){ $loginError = "メールを送信しました。受信後再度試してください。"; $page="login"; }else{ $loginError = "メール送信に失敗しました。管理者に連絡してください。"; $page="login"; } }else{ $loginError = "このメールアドレスは登録されていません。
\"初めて使用する方はこちら\"をクリックしてメールアドレスとパスワードを登録してください。"; $page="login"; } }else{ $loginError = "許可されていないメールアドレスです。社用メールのみ利用可能です。"; $page="login"; } } }else{ $loginError = '"E-Mail Address"の欄に、送信先メール入力して"パスワードを忘れた方はこちら"をクリックしてください。'; $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "new": if(!$presenMode){ unset($_SESSION[usermail]); unset($_SESSION[pw]); $remember[usermail]=$_POST[newusermail] ; $remember[pw] =$_POST[newpw] ; $loginError = '"E-Mail Address"と"パスワード"を入力してください。
登録後は、このメールアドレスとパスワードでログイン可能になります。'; $page="new"; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "newsubmit": if(!$presenMode){ unset($_SESSION[usermail]); unset($_SESSION[pw]); $remember[usermail]=$_POST[newusermail] ; $remember[pw] =$_POST[newpw] ; $loginError=" 
 
 "; $email = explode('@',$_POST[newusermail]); if($email[1]!=""){ $mailhost = $email[1]; $mailhost = $mailhost."."; if (getmxrr($mailhost, $mxhosts) == FALSE && gethostbyname($mailhost) == $mailhost){ $loginError = '正しいメールアドレスではありません。入力を確認してください。'; $page="new"; }else{ $validmx=explode(",",VALIDMX); $mailhost_ok=false ; for($i=0;$i4&&($_POST[newpw]==$_POST[renewpw])){ $userdata[usermail]=$_POST[newusermail]; $userdata[pw]=$_POST[newpw]; if(insertUser($userdata)==0){ $headers = "From: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Sender: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Mailer: PublicDock Auto Mailer\n"; $headers .= "X-Priority: 3\n"; $headers .= "Return-Path: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "bcc:".ROOTMAIL."\n"; $subject = "PublicDockの登録終了しました" ; $recipient = "<".$_POST[newusermail].">" ; $body = "お疲れ様です。\n"; $body.= "\n" ; $body.= "パブリック・ドックのログイン情報は以下の通りです。\n" ; $body.= "\n" ; $body.= "メール・アドレス : ".$_POST[newusermail]."\n" ; $body.= "パスワード    : ".$_POST[newpw]."\n" ; $body.= "\n" ; $body.= "アクセスするホームページは、\n" ; $body.= "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI]."\n" ; $body.= "です。\n" ; $body.= "\n" ; $body.= "では。\n" ; $body.= "\n" ; $body.= "※このメールは確認の為、自動送信されています。もし身に覚えの無い方は、管理者に連絡してください。\n" ; mb_language("Japanese"); mb_internal_encoding("UTF-8"); $ret=mb_send_mail($recipient,$subject,$body,$headers); if($ret){ $loginError = "全て正常に終了しました。利用可能になりました。
登録情報をメールで送信しましたのでご確認ください。
"; $page="login"; }else{ $loginError = "登録は正常に終わりました。利用可能になりました。"; $page="login"; } }else{ $loginError = "データベースの登録に失敗しました。管理者に連絡してください。"; $page="new"; } }else{ $loginError = "パスワード入力に誤りがあります。再入力欄も含めて確認してください。
また、パスワードは4文字以上にしてください。
"; $page="new"; } }else{ $loginError = "このメールアドレスはすでに登録されています。
見に覚えの無い方は、管理者に連絡してください。
"; $page="new"; } }else{ $loginError = "許可されていないメールアドレスです。社用メールのみ利用可能です。"; $page="new"; } } }else{ $loginError = "\"E-Mail Address\"の欄の入力が正しくありません。入力を確認してください。"; $page="new"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "logout": if(!$presenMode){ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "newftp": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="newftp" ; $ftpusers = getFtpUserList($_SESSION[usermail]) ; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "newftpsubmit": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="newftp" ; $ftpusers = getFtpUserList($_SESSION[usermail]) ; $maxuser = count($ftpusers) ; $ftpuser_ok = true ; $errorMsg = "" ; for($i=0;$i<$maxuser;++$i){ if($_POST[ftpname]==$ftpusers[$i][ftpname]){ $ftpuser_ok= false ; $errorMsg .= "このユーザー名は、".$ftpusers[$i][adminuser]." さんが使用しております。他の名前にしてください。
" ; break ; } } if(strlen($_POST[pw])<4){ $ftpuser_ok= false ; $errorMsg .= "パスワードは、4文字以上を使用してください。" ; } $ftpuserdata = $_POST ; if($ftpuser_ok){ $page="newftpok"; $ftpuserdata[despw] = desCrypt($ftpuserdata[pw]) ; $cmd = "/usr/sbin/useradd -g ".FTPGROUP." -d ".FTPROOT."/".$ftpuserdata[ftpname]." -p ".$ftpuserdata[despw]." "; if(LOGIN_FALSE=="true"){ $cmd .= "-s /sbin/nologin " ; } $cmd .= $ftpuserdata[ftpname] ; $cmd .= ";chmod g+rx ".FTPROOT."/".$ftpuserdata[ftpname] ; $arg = escapeshellarg($cmd) ; $cmstr = "ssh -l ".SSH_USER." ".SSH_HOST." ".$arg." 2>&1"; $out = shell_exec($cmstr); if(strlen($out)==0){ $ftpuserdata[adminuser]=$_SESSION[usermail] ; if(insertFtpuser($ftpuserdata)!=0){ $page="newftp" ; $errorMsg = "データベース登録でエラーになりました。
".mysql_error() ; $cmd .= "/usr/sbin/userdel -r ".$ftpuserdata[ftpname] ; $arg = escapeshellarg($cmd); $cmstr = "ssh -l ".SSH_USER." ".SSH_HOST." ".$arg." 2>&1"; $out = shell_exec($cmstr); }else{ $headers = "From: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Sender: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Mailer: PublicDock Auto Mailer\n"; $headers .= "X-Priority: 3\n"; $headers .= "Return-Path: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "bcc:".ROOTMAIL."\n"; $subject = "FTPアカウント(".$ftpuserdata[ftpname].")作成完了" ; $recipient = "<".$ftpuserdata[adminuser].">" ; $body = "お疲れ様です。\n"; $body.= "\n" ; $body.= FTPHOST." 上にFTP用アカウントが作成されました。\n" ; $body.= "以下の情報を、客先と関連スタッフに連絡してご利用ください。\n" ; if($ftpuserdata[openweb]=="true"){ $body.= "また、Webブラウザで閲覧・ダウンロードが出来るように設定されました。\n" ; $body.= "下記アドレスにアクセスするとログイン画面が表示されます。\n" ; $body.= "FTP用のユーザー名とパスワードを入力すると閲覧・ダウンロードができます。\n" ; } $body.= "\n" ; $body.= "FTPサーバー:".FTPHOST."\n" ; $body.= "ユーザー名 = ".$ftpuserdata[ftpname]."\n"; $body.= "パスワード = ".$ftpuserdata[pw]."\n"; $body.= "\n" ; if($ftpuserdata[openweb]=="true"){ $body.= "Web公開アドレス:\n http://".WEBHOST.WEBPRES."\n" ; $body.= "(InternetExplorer5,6/Netscape6,7/Safari1.0v85で利用可能です。)\n" ; $body.= "\n" ; $body.= " ftp://".$ftpuserdata[ftpname].":".$ftpuserdata[pw]."@".WEBHOST."\n" ; $body.= "(Netscape4.7以前はこちらをご利用ください)\n" ; $body.= "\n" ; } $body.= "有効期限 :".getdate_h($ftpuserdata[expire])."\n" ; $body.= "\n" ; $body.= "有効期限を過ぎると、自動的にアカウント情報とファイルは削除され、利用できなくなります。\n" ; $body.= "\n" ; $body.= "※このメールは確認の為、自動送信されています。もし身に覚えの無い方は、管理者に連絡してください。\n" ; mb_language("Japanese"); mb_internal_encoding("UTF-8"); $ret=mb_send_mail($recipient,$subject,$body,$headers); if($ret){ $errorMsg = "作成したFTPアカウント情報をメールで送信しましたのでご確認ください。"; }else{ $errorMsg = "作成したFTPアカウント情報をメールで送信しようとしましたが失敗しました。
管理者に連絡してください。
FTPアカウントは正常に作成されましたので、利用可能です。
"; } } $expire = $ftpuserdata[expire] ; }else{ $page="newftp" ; $errorMsg = $out1."システムコマンド(ユーザー登録)にて下記のエラーが発生しました。
".$out ; } } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "edtftp": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="edtftp" ; $ftpusers = getFtpUserList($_SESSION[usermail]) ; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "edtuser": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="edtuser" ; $ftpuserdata = getFtpUser($_POST[userid]) ; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "edtftpsubmit": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="edtuser" ; $ftpuser_ok = true ; $errorMsg = "" ; // check password if(strlen($_POST[pw])<4){ $ftpuser_ok= false ; $errorMsg .= "パスワードは、4文字以上を使用してください。" ; } $ftpuserdata = $_POST ; if($ftpuser_ok){ $page="newftpok"; $ftpuserdata[despw] = desCrypt($ftpuserdata[pw]) ; $cmd = "/usr/sbin/usermod -p ".$ftpuserdata[despw]." "; $cmd .= $ftpuserdata[ftpname] ; $arg = escapeshellarg($cmd) ; $cmstr = "ssh -l ".SSH_USER." ".SSH_HOST." ".$arg." 2>&1"; $out = shell_exec($cmstr); if(strlen($out)==0){ $ftpuserdata[adminuser]=$_SESSION[usermail] ; if(updateFtpuser($ftpuserdata)!=0){ $page="edtuser" ; $errorMsg = "データベース変更でエラーになりました。
".mysql_error() ; }else{ $headers = "From: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Sender: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Mailer: PublicDock Auto Mailer\n"; $headers .= "X-Priority: 3\n"; $headers .= "Return-Path: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "bcc:".ROOTMAIL."\n"; $subject = "FTPアカウント (".$ftpuserdata[ftpname].") 変更完了" ; $recipient = "<".$ftpuserdata[adminuser].">" ; $body = "お疲れ様です。\n"; $body.= "\n" ; $body.= FTPHOST." 上にFTP用アカウントが変更されました。\n" ; $body.= "以下の情報を、客先と関連スタッフに連絡してご利用ください。\n" ; if($ftpuserdata[openweb]=="true"){ $body.= "また、Webブラウザで閲覧・ダウンロードが出来るように設定されました。\n" ; $body.= "下記アドレスにアクセスするとログイン画面が表示されます。\n" ; $body.= "FTP用のユーザー名とパスワードを入力すると閲覧・ダウンロードができます。\n" ; } $body.= "\n" ; $body.= "FTPサーバー:".FTPHOST."\n" ; $body.= "ユーザー名 = ".$ftpuserdata[ftpname]."\n"; $body.= "パスワード = ".$ftpuserdata[pw]."\n"; $body.= "\n" ; if($ftpuserdata[openweb]=="true"){ $body.= "Web公開アドレス:\n http://".WEBHOST.WEBPRES."\n" ; $body.= "(InternetExplorer5,6/Netscape6,7/Safari1.0v85で利用可能です。)\n" ; $body.= "\n" ; $body.= " ftp://".$ftpuserdata[ftpname].":".$ftpuserdata[pw]."@".WEBHOST."\n" ; $body.= "(Netscape4.7以前はこちらをご利用ください)\n" ; $body.= "\n" ; } $body.= "有効期限 :".getdate_h($ftpuserdata[expire])."\n" ; $body.= "\n" ; $body.= "有効期限を過ぎると、自動的にアカウント情報とファイルは削除され、利用できなくなります。\n" ; $body.= "\n" ; $body.= "※このメールは確認の為、自動送信されています。もし身に覚えの無い方は、管理者に連絡してください。\n" ; mb_language("Japanese"); mb_internal_encoding("UTF-8"); $ret=mb_send_mail($recipient,$subject,$body,$headers); if($ret){ $errorMsg = "作成したFTPアカウント情報をメールで送信しましたのでご確認ください。"; }else{ $errorMsg = "作成したFTPアカウント情報をメールで送信しようとしましたが失敗しました。
管理者に連絡してください。
FTPアカウントは正常に作成されましたので、利用可能です。
"; } } $expire = $ftpuserdata[expire] ; }else{ $page="edtuser" ; $errorMsg = "システムコマンド(ユーザー変更)にて下記のエラーが発生しました。
".$out ; } } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "delftp": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="delftp" ; $ftpusers = getFtpUserList($_SESSION[usermail]) ; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "deluser": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="deluser" ; $ftpuserdata = getFtpUser($_POST[userid]) ; }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "delftpsubmit": if(!$presenMode){ if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="delftp" ; $ftpuser_ok = true ; $errorMsg = "" ; $ftpuserdata = $_POST ; $cmd = "/usr/sbin/userdel -r ".$ftpuserdata[ftpname]; $arg = escapeshellarg($cmd) ; $cmstr = "ssh -l ".SSH_USER." ".SSH_HOST." ".$arg." 2>&1"; $out = shell_exec($cmstr); if(strlen($out)!=0){ $page="deluser" ; $errorMsg = "システムコマンド(ユーザー削除)にて下記のエラーが発生しました。
".$out ; } $ftpuserdata[adminuser]=$_SESSION[usermail] ; if(deleteFtpuser($ftpuserdata)!=0){ $page="deluser" ; $errorMsg .= "データベース削除でエラーになりました。
".mysql_error() ; } if(strlen($errorMsg)==0){ $errorMsg = "FTPアカウント(".$ftpuserdata[ftpname].")を削除しました。"; $headers = "From: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Sender: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "X-Mailer: PublicDock Auto Mailer\n"; $headers .= "X-Priority: 3\n"; $headers .= "Return-Path: PublicDockMaster<".ROOTMAIL.">\n"; $headers .= "bcc:".ROOTMAIL."\n"; $subject = "FTPアカウント(".$ftpuserdata[ftpname].")削除完了" ; $recipient = "<".$ftpuserdata[adminuser].">" ; $body = "お疲れ様です。\n"; $body.= "\n" ; $body.= FTPHOST." 上にFTP用アカウント(".$ftpuserdata[ftpname].")が、\n" ; $body.= "ユーザーの要求により削除されました。\n" ; $body.= "\n" ; $body.= "※このメールは確認の為、自動送信されています。もし身に覚えの無い方は、管理者に連絡してください。\n" ; mb_language("Japanese"); mb_internal_encoding("UTF-8"); $ret=mb_send_mail($recipient,$subject,$body,$headers); if(!$ret){ $errorMsg = "削除したFTPアカウント情報をメールで送信しようとしましたが失敗しました。
管理者に連絡してください。
FTPアカウントは正常に削除されました。
"; } } if($page=="delftp"){ $ftpusers = getFtpUserList($_SESSION[usermail]) ; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="login"; } }else{ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; } break ; case "browse": if(isset($_SESSION[usermail])&&isset($_SESSION[pw])&&getpasswd($_SESSION[usermail])==$_SESSION[pw]){ $page="browse" ; if(!$presenMode){ $ftpuserdata = getFtpUser($_POST[userid]) ; }else{ $ftpuserdata = getFtpUser($_SESSION[usermail]) ; if($ftpuserdata[ftpname]==""){ unset($_SESSION[usermail]); unset($_SESSION[pw]); $page="prlogin"; break; } } $path = FTPROOT."/".$ftpuserdata[ftpname]; $browsepath = "/" ; if($_POST[chdir]=="/")$_POST[chdir]=""; if(strlen($_POST[chdir])!=0){ $path.=$_POST[chdir]; $browsepath = $_POST[chdir] ; } if($_POST[org_enc]!=""){ $path=mb_convert_encoding($path,$_POST[org_enc],"auto"); } if($_POST[open]==""){ unset($_SESSION[open_images]); }else{ $open_images = explode(",",$_POST[open]); } if(DEBUG=="true") print("
PATH=$path "); $dir = opendir($path); $dindex = $findex = 0; while ($file = readdir($dir)){ if(DEBUG=="true") print("File=$file "); if(ereg("^\.",$file)) continue ; // skip dot files $time = filemtime("$path/$file"); if(is_dir("$path/$file")){ // handle directory $org_enc=mb_detect_encoding("$path/$file"); $dbrowsedata[$dindex][icon] = "images/folder.gif" ; if($org_enc!=""){ $dbrowsedata[$dindex][name] = mb_convert_encoding($file,"UTF-8","auto") ; }else{ $dbrowsedata[$dindex][name] = $file ; } $dbrowsedata[$dindex][time] = date('Y/m/d H:i', $time) ; $dbrowsedata[$dindex][enc] = $org_enc ; ++$dindex; }else{ // handle file $org_enc=mb_detect_encoding("$path/$file"); if(DEBUG=="true") { print(" File:$path/$file Encode:$org_enc "); } $fbrowsedata[$findex][icon] = "images/file.gif" ; if($org_enc!=""){ $fbrowsedata[$findex][name] = mb_convert_encoding($file,"UTF-8","auto") ; }else{ $fbrowsedata[$findex][name] = $file; } $fbrowsedata[$findex][size] = size_h(filesize ("$path/$file")) ; $fbrowsedata[$findex][time] = date('Y/m/d H:i', $time) ; $fbrowsedata[$findex][enc] = $org_enc ; $fbrowsedata[$findex][exif_code] = $org_enc ; $imagetype = @exif_imagetype ("$path/$file") ; $fbrowsedata[$findex][exif_code] = $imagetype ; if(DEBUG=="true") { print(" Type:$imagetype. "); } switch($imagetype){ case 1: //IMAGETYPE_GIF : case 3: //IMAGETYPE_PNG : case 4: //IMAGETYPE_SWF : $fbrowsedata[$findex][open] = "ok" ; $fbrowsedata[$findex][opened] = "false" ; $fbrowsedata[$findex][embed] = "false" ; for($i=0;$i720){ $yres=$yres*(720/$xres); $xres=720; } $fbrowsedata[$findex][option]=" width=$xres height=$yres" ; } } } break ; case 2: //IMAGETYPE_JPG : $fbrowsedata[$findex][open] = "ok" ; $fbrowsedata[$findex][opened] = "false" ; $fbrowsedata[$findex][embed] = "false" ; if(exif_thumbnail("$path/$file")){ $fbrowsedata[$findex][thum]=true; $_SESSION[open_images][$fbrowsedata[$findex][name]] = "$path/$file" ; } for($i=0;$i720){ $yres=$yres*(720/$xres); $xres=720; } $fbrowsedata[$findex][option]=" width=$xres height=$yres" ; } } } break ; case 7: //IMAGETYPE_TIFF_II : $fbrowsedata[$findex][open] = "ok" ; $fbrowsedata[$findex][opened] = "false" ; $fbrowsedata[$findex][embed] = "false" ; if(exif_thumbnail("$path/$file")){ $fbrowsedata[$findex][thum]=true; $_SESSION[open_images][$fbrowsedata[$findex][name]] = "$path/$file" ; } for($i=0;$i720){ $yres=$yres*(720/$xres); $xres=720; } $fbrowsedata[$findex][option]="width=\"$xres\" height=\"$yres\"" ; } } } break ; case 8: //IMAGETYPE_TIFF_MM : $fbrowsedata[$findex][open] = "ok" ; $fbrowsedata[$findex][opened] = "false" ; $fbrowsedata[$findex][embed] = "true" ; if(exif_thumbnail("$path/$file")){ $fbrowsedata[$findex][thum]=true; $_SESSION[open_images][$fbrowsedata[$findex][name]] = "$path/$file" ; } for($i=0;$i720){ $yres=$yres*(720/$xres); $xres=720; } $fbrowsedata[$findex][option]=" width=\"$xres\" height=\"$yres\"" ; } } } break ; case 6: //IMAGETYPE_BMP : case 9: //IMAGETYPE_JPC : case 10: //IMAGETYPE_JP2 : case 11: //IMAGETYPE_JPX : case 15: //IMAGETYPE_QUICKTIME : $fbrowsedata[$findex][open] = "ok" ; $fbrowsedata[$findex][opened] = "false" ; $fbrowsedata[$findex][embed] = "true" ; for($i=0;$i PublicDock - FTP Version
     
FTP Version.



【プレゼンテーション・モード】
 ユーザー名 
パスワード
ログイン

 
 
     
     
FTP Version.



【メンテナンス・モード】
アクセス制限をかけております。ご利用できません。
   
     
     
FTP Version.



【メンテナンス・モード】
 E-Mail Address 
パスワード
>パスワードをブラウザに記憶する
ログイン
パスワードを忘れた方はこちら
初めて使用する方はこちら

 
 
     
     
FTP Version.

(C) 2008 McRay Corporation.
All rights reserved.
 E-Mail Address 
パスワード
パスワード再入力
登録
戻る

 
 
     
FTPアカウントの新規作成
 ユーザー名 
 パスワード 
 自動削除 
 Web公開 
作成実行
FTPアカウントは以下のように設定されました。
 ユーザー名 
 パスワード 
 Web公開 
 作成日 
 自動削除日 
一覧へ

 FTP接続先ホスト 
 Windows版IE用URL  " target="_blank">  
変更したいユーザー名をクリックしてください。
 ユーザー名 
FTPアカウントの変更
 作成日    
 ユーザー名    
 パスワード 
 Web公開 
 自動削除日    
 削除延長 
変更実行
削除したいユーザー名をクリックしてください。
 ユーザー名 
FTPアカウントの削除
 作成日    
 ユーザー名    
 パスワード    
 Web公開    
 自動削除日    
削除実行
 FTP接続先ホスト   Windows版IE用URL  " target="_blank">  

  

 上のフォルダに戻る  -   -   - 
   -     []
          []
  > "); } if(isset($fbrowsedata[$i][comment][IFD0][Software])){ echo($fbrowsedata[$i][comment][IFD0][Software]."
"); } if(isset($fbrowsedata[$i][comment][COMPUTED][ApertureFNumber])){ echo($fbrowsedata[$i][comment][COMPUTED][ApertureFNumber]."
"); } if(isset($fbrowsedata[$i][comment][EXIF][DateTimeOriginal])){ echo($fbrowsedata[$i][comment][EXIF][DateTimeOriginal]."
"); } ?>
  codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6" > pluginspage="http://www.apple.com/quicktime/download/index.html" > "); } if(isset($fbrowsedata[$i][comment][IFD0][Software])){ echo($fbrowsedata[$i][comment][IFD0][Software]."
"); } if(isset($fbrowsedata[$i][comment][COMPUTED][ApertureFNumber])){ echo($fbrowsedata[$i][comment][COMPUTED][ApertureFNumber]."
"); } if(isset($fbrowsedata[$i][comment][EXIF][DateTimeOriginal])){ echo($fbrowsedata[$i][comment][EXIF][DateTimeOriginal]."
"); } if(isset($fbrowsedata[$i][comment])){ $exif=$fbrowsedata[$i][comment]; foreach($exif as $key=>$section) { foreach($section as $name=>$val) { echo "$key.$name: $val
\n"; } } } ?>
$val) { echo "\n"; } ?>
please wait....
あなたが作成したFTPアカウントは、現在 件です。
ディスクの空き容量は  です。
ユーザー名 パスワード Web公開 使用量 作成日付 自動削除