#!/usr/bin/perl # # 日記CGI # # 版本定義 $Ver="2004/09/27c"; $www="."; $cgipath="./index.cgi"; $vDir="."; sub InitialNicky { # 最新X日數之顯示 $PrintDay=5; $PageCnt=5; # 最新X日數之顯示(iMODE) $PrintiDay=1; $PageiCnt=3; # 顯示順序キ # Exp:依日期 $Age="r" # 依寫入時間 $Age="t" $Age="r"; # 顯示日記時的畫面寬度 $NickyWidth="80%"; $NickyLineWidth="1"; $NickyLineSpan="12"; # 年月日顯示 $Year='年'; $Month='月'; $Day='日'; # 星期之顯示 $WEEK=0; # 日記內文顯示 $HonbunColor="#000000"; $HonbunSize="2"; # 日記內文背景色 $HonbunBgColor="#ffffff"; # 日記標題背景色 $TitleBgColor="#4386b1"; # 標題高度 $TSize="12"; # 標題前方追加之文字 $TitleHead="■"; # 輸出連結用標籤 $LinkTH="No"; # 日期顏色 $DateFontColor="#FFFFFF"; # 日期字形大小 $DateSize="2"; # 日記標題文字色 $TitleFontColor="#CCEDFF"; # 日記標題字形大小 $TitleSize="2"; # 強調內文之文字與顏色 $EffectSTR1="#"; $EffectSTR2=">"; $EffectSTR3="("; $EffectSTR4="#"; $EffectCOL1="#FF0000"; $EffectCOL2="#00FF00"; $EffectCOL3="#0000FF"; $EffectCOL4="#00FFFF"; $LinkOpen="No"; $Fit_size=200; $Fit="OFF"; # 意見欄預設高度 $CommentRecv="1"; $CommentSTRlen="1024"; $CMNT_NameWidth="10"; $CommentMessageWidth="50"; $CommentStrSize="2 color=#000000"; $CMNT_NameStrSize="2 color=#000000"; # 意見欄背景色 $CommentBgColor="#F1F5FA"; # 意見欄姓名顏色 $CMNT_NameColor="#975580"; # 意見欄姓名字形大小 $CMNT_NameSize="2"; # 意見欄內文顏色 $CommentFontColor="#3A75AF"; # 意見欄內文字形大小 $CommentFontSize="2"; # 意見欄文字列 $CommentStr="回應及感想"; # 意見欄邊框顏色 $CommentFlColor="#C5D6EB"; # URL自動加入超連結 #$UrlLink="Yes"; # 時間顯示 $PutTimeDefault="Yes"; # 過去記錄用字 $MsgNew="<< NEW"; $MsgOld="OLD >>"; $MsgOldLog="過去記錄"; $MsgOldNEWks="["; $MsgOldNEW="最新"; $MsgOldNEWke="]"; $MsgOldOLDks="["; $MsgOldOLD="最舊"; $MsgOldOLDke="]"; $MsgOldOBgCol="#FFFFFF"; $MsgOldBetween="TitleList"; $MsgOldCol="#000000"; $MsgOldSize="2"; $MsgOldYBgCol="#FFFFFF"; $MsgOldYFnCol="#000000"; $MsgOldMBgCol="#FFFFFF"; $MsgOldYear="年"; $MsgOldMonth="月"; $MsgOldForm="0"; $MsgOld1st="0"; $MsgOldcelp="0"; $MsgOldcels="0"; $MonthSort="UP"; $SaveHTML="ON"; $LogFname="nicky"; $ks="["; $ke="]"; $MsgPageOut=1; #繪圖板JavaApplet $image_width=300; $image_height=300; $ReplaySTR="Replay"; $ContinueSTR="Continue"; $undoNum=60; $layerNum=5; $Quality=0; $JPEG_border="60"; $CompressL="10"; #TitleList $MsgOldTG="."; $TitleListSort="DOWN"; $TLyear="年"; $TLmonth="月"; $TLday="日"; $TLyearsz="5"; $TLmonthsz="4"; $TLdaysz="2"; # 其他 # 在CGI加入搜尋功能 $PutSerchTagFlag=1; # 最新日記檔名 $NickyHtml="nicky.html"; $tagpl=$taglt=$tagbr=$tagmode=$anker=""; $tag2lf="
"; $tag3lf="
"; # 使用者自訂模式 $UserN=$UserL=$UserR=$UserU=$UserD=$UserLC=$UserRC=$UserUC=$UserDC=$UserCmnt="No"; } # 日記內文輸出 sub PutNickyOneDay { local($size,$pch,$GrpPath,$PchPath,$ImgLINK,$ImgTAG,$TrTAG,$Msg); local($w,$h,$alt, $tbTag); local($fn, $fn1, $ext, $wpx, $hpx); local($continue, $ContinuePath, $apIn); local($TitleHeadL, $pt, $flag_uc, $wops); local($iTS)=" 0 代表有圖片檔 $size=$pch=0; if( $GrpFileName ){ &IsApplet(); $apIn=$spsize+$PBsize; &MakeNickyDir(); $GrpPath="$NickyDir/$GrpFileName"; $ext=$GrpPath; $ext=~s/^.*\.//; $fn1=$GrpFileName; $fn1=~s/\..*$//; $fn="$NickyDir/$fn1"; $size=(stat($GrpPath))[7]; if( $size > 0 ){ ($w, $h)=&GetImageSize($GrpPath); if( $w && $h ){ local($sz); $sz=int($size/1024).K; $bw=$w; $bh=$h; $p1=rindex($GrpPath,"\/"); $p2=rindex($GrpPath,"\/", $p1-1); $bg=substr($GrpPath, $p2+1); undef $ThmPath; if( (stat("$fn.thumb.jpg"))[7] > 0 ){ $ThmPath="$fn.thumb.jpg"; }elsif( (stat("$fn.thumb.gif"))[7] > 0 ){ $ThmPath="$fn.thumb.gif"; }elsif( (stat("$fn.thumb.png"))[7] > 0 ){ $ThmPath="$fn.thumb.png"; } if($ThmPath){ my($ow,$oh); $ow=$w+20; $oh=$h+26; $GrpPath=$ThmPath; ($w, $h)=&GetImageSize($GrpPath); $fw=" onclick=$wops,width=$ow,height=$oh\');return false;\""; }elsif( ($FitCheck eq "ON") && ($w != $fit_size) && ($h != $fit_size) ){ my($pw, $ph, $fit_width, $fit_height); $fiw=$w+20; $fih=$h+26; $pw=$fit_size/$w; $ph=$fit_size/$h; if( $pw > $ph ){ $fit_width=int($w*$ph); $fit_height=int($h*$ph); }else{ $fit_width=int($w*$pw); $fit_height=int($h*$pw); } $p1=rindex($GrpPath,"\/"); $p2=rindex($GrpPath,"\/", $p1-1); $gm=substr($GrpPath, $p2); $ImgURL="$www$gm"; if( ($w == $fit_width) && ($h == $fit_height) ){ undef $fw; }else{ $fw=" onclick=$wops,width=$fiw,height=$fih\');return false;\""; } $w=$fit_width; $h=$fit_height; }else{ undef $fw; } $p1=rindex($GrpPath,"\/"); $p2=rindex($GrpPath,"\/", $p1-1); $gm=substr($GrpPath, $p2); $ImgURL="$www$gm"; $alt=" width=\"$w\" height=\"$h\" alt=\"$GrpFileName $bw﹣$bh $sz\""; } # $w=$w."px"; # $h=$h."px"; } # 是否有 pch 檔案 $PchPath="$fn.pch"; $pch=(stat($PchPath))[7]; if( !$pch ){ $PchPath="$fn.spch"; $pch=(stat($PchPath))[7]; } # 即使沒有pch,jpeg或giff亦可繼續繪圖 if(!$pch && ($GrpFileName =~ /\.jpg$|\.jpeg$|\.gif$|\.giff$|\.png$/i)){ $ContinuePath=$GrpPath; $continue=(stat($ContinuePath))[7]; } } # 確定檔名後取得日期 if( $NickyFname ){ &GetDateFromFname(); &MakeNickyFname(); } $week=$Week[&GetWeek($year, $month, $day)]; # 將內文及圖片輸出至指定格式 $HonbunHead=""; $HonbunHud=""; $Msg=&Effect($Message); $Honbun=$HonbunHead.$Msg.$HonbunHud; $Msg1=$Honbun; $TrTAG="
| $TitleHeadL$Date $hdt | |||||||||||
|
| $tbTag |