📄 install.cgi
字号:
#!/usr/bin/perl
#############################################################
#
# >>>>>> SET UP ASSISTANT
#
#
# Ikonboard v2.1
# Copyright 2000 Ikondiscussion.com - All Rights Reserved
# Ikondiscussion is a trademark of Ikondiscussion.com
#
# Software Distributed by: Ikondiscussion.com
# Visit us online at http://www.ikondiscussion.com
# Email us on boards@ikondiscussion.com
#
# All files written by Matthew Mecham
#############################################################
#use CGI::Carp "fatalsToBrowser";
use CGI qw(:standard);
$query = new CGI;
@params = $query->param;
foreach $param(@params) {
$theparam = $query->param($param);
$theparam =~ s/\@/\\\@/g;
${$param} = $theparam;
if ($param ne "action") {
$printme .= "\$" . "$param = \"$theparam\"\;\n";
}
}
$stylesheet =<<__end_of_sheet__;
<!--
A:visited { TEXT-DECORATION: none }
A:active { TEXT-DECORATION: none }
A:hover { TEXT-DECORATION: underline overline }
A:link { text-decoration: none;}
A:visited { text-decoration: none;}
A:active { TEXT-DECORATION: none;}
A:hover { TEXT-DECORATION: underline overline}
.t { LINE-HEIGHT: 1.4 }
BODY { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
TD { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
SELECT { FONT-FAMILY: 宋体; FONT-SIZE: 9pt; }
INPUT { FONT-FAMILY: 宋体; FONT-SIZE: 9pt; height:22px; }
TEXTAREA{ FONT-FAMILY: 宋体; FONT-SIZE: 9pt; }
DIV { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
FORM { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
OPTION { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
P { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
TD { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
BR { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }
-->
__end_of_sheet__
$thisprog = "install.cgi"; $|=1;
$XHTML = 0;
if ($action ne "final_step" || !$action) { print header(-charset=>"gb2312"); print start_html(-title=>"ib2000 安装向导 -- CGI 编程者之家", -bgcolor=>"#EEEEEE", -style=>{-code=>$stylesheet}); }
if ($action eq "step_two") {
$endprint = "1\;\n";
$errorflag = 0;
$filetomake = "$ikondir" . "data/boardinfo.cgi";
open(FILE,">$filetomake");
# flock(FILE,2);
print FILE "$printme";
print FILE $endprint;
close(FILE);
&chmodfiles;
if (-e $filetomake && -w $filetomake) {
$saved_variables = qq(<font face="宋体">所有输入的信息已经成功的写入 ${ikondir}data/boardinfo.cgi 文件中。</font>);
}
else {
$saved_variables = qq(<font face="宋体" color="#FF0000">对不起,不能够保存信息。<BR>
请检测您输入的 ${ikondir}data 数据路径是否正确?是不是最后遗漏了除号 '/'?<BR>
如果正确,请检查 'data' 目录属性是否设置正确。请返回修改后重新递交表单一次。);
$errorflag = "1";
}
$filetocheck = "$ikondir" . "ikonboard.cgi";
if (-e $filetocheck) {
$found_cgi = qq(<font face="宋体" color="#0000FF">正确</font>);
}
else {
$errorflag = "1"; $found_cgi = qq(<font face="宋体" color="#FF0000">错误 - 找不到 $filetocheck,数据路径是不是最后遗漏了除号 '/'?请返回重新输入正确信息。</font>);
}
$dirtocheck = "$ikondir" . "data";
if (-d "$dirtocheck") {
$datadir = "找到";
$makefile = "$ikondir" . "data/test.txt";
open (TEST, ">$makefile") or $datawritable = "目录 data 为不可写,请改变属性为 777 。";
print TEST "-";
close (TEST);
$datawritable = "属性为<b>可写</b>!" if (!$datawritable);
unlink "$makefile";
} else { $errorflag = "1"; $datadir = "<b>没有找到</b>!"; }
$dirtocheck = "$ikondir" . "help";
if (-d "$dirtocheck") {
$helpdir = "找到";
$makefile = "$ikondir" . "help/test.txt";
open (TEST, ">$makefile") or $helpwritable = "目录 help 为不可写,请改变属性为 777 。";
print TEST "-";
close (TEST);
$helpwritable = "属性为<b>可写</b>!" if (!$helpwritable);
unlink "$makefile";
} else { $helpdir = "<b>没有找到</b>!"; }
$dirtocheck = "$ikondir" . "members";
if (-d "$dirtocheck") {
$membersdir = "找到";
$makefile = "$ikondir" . "members/test.txt";
open (TEST, ">$makefile") or $memberswritable = "目录 members 为不可写,请改变属性为 777 。";
print TEST "-";
close (TEST);
$memberswritable = "属性为<b>可写</b>!" if (!$memberswritable);
unlink "$makefile";
} else { $errorflag = "1"; $membersdir = "<b>没有找到</b>!"; }
$dirtocheck = "$ikondir" . "messages";
if (-d "$dirtocheck") {
$messagesdir = "找到";
$makefile = "$ikondir" . "messages/test.txt";
open (TEST, ">$makefile") or $messageswritable = "目录 messages 为不可写,请改变属性为 777 。";
print TEST "-";
close (TEST);
$messageswritable = "属性为<b>可写</b>!" if (!$messageswritable);
unlink "$makefile";
} else { $errorflag = "1"; $messagesdir = "<b>没有找到</b>!"; }
$filetocheck = "$imagesdir" . "images/logo.gif";
if (-e $filetocheck) {
$found_image = qq(<font face="宋体" color="#0000FF">正确</font>);
}
else {
$errorflag = "1"; $found_image = qq(<font face="宋体" color="#FF0000">错误,请注意路径最后不要遗漏除号 '/',请点击后退填入正确的信息。</font>);
}
$dirtocheck = "$imagesdir" . "images";
if (-d "$dirtocheck") { $images_dir = "找到!"; } else { $errorflag = "1"; $images_dir = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "emoticons";
if (-d "$dirtocheck") { $emoticonsdir = "找到!"; } else { $errorflag = "1"; $emoticonsdir = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "avatars";
if (-d "$dirtocheck") { $avatarsdir = "找到!"; } else { $errorflag = "1"; $avatarsdir = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "btg";
if (-d "$dirtocheck") { $btg = "找到!"; } else { $errorflag = "1"; $btg = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "emot";
if (-d "$dirtocheck") { $emot = "找到!"; } else { $errorflag = "1"; $emot = "<b>没有找到</b>!"; }
@progs_to_search = ('admincenter.cgi', 'announcements.cgi', 'checkboard.cgi', 'forumoptions.cgi', 'forums.cgi', 'help.cgi', 'ikon.lib', 'ikonadmin.lib',
'ikonboard.cgi', 'ikonfriend.cgi', 'ikonmail.lib', 'loginout.cgi', 'messanger.cgi', 'misc.cgi', 'newposts.cgi', 'post.cgi',
'postings.cgi', 'printpage.cgi', 'profile.cgi', 'privacy.cgi', 'register.cgi', 'search.cgi', 'setbadwords.cgi', 'setforums.cgi', 'setmembers.cgi',
'setmembertitles.cgi', 'setstyles.cgi', 'settemplate.cgi', 'setvariables.cgi', 'topic.cgi', 'viewip.cgi', 'memberlist.cgi', 'team.cgi', 'data/progs.cgi', 'data/styles.cgi');
print qq(
<font size="5" face="宋体" color="#000000">
<h1>ib2000 安装向导</b></font></h1><font face="宋体" color="#000000">
汉化改进:<a href="mailto:webmaster\@cgier.com">山鹰糊</a><BR>
汉化版权:<a href="http://www.cgier.com/">CGI 编程者之家</a></font>
<hr noshade color="#000000">
<br>
<font face="宋体" color="#000000">
<b>欢迎使用 ib2000 安装向导!</b>
<br><br>
<b>第二步:</b> 谢谢您写入信息,下面是尝试安装的结果。<br>如果您得到了错误信息提示,请确定您已经完整上传了本程序,以及目录属性、位置设定正确。</font><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>您键入的安装信息是否正确保存?</b></font>
<br>
$saved_variables
<br><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>路径预览</b></font>
<br>
<font face="宋体" color="#000000">
所有程序(*.cgi)的路径: $ikondir - $found_cgi
<br><br>
-- 查找 ${ikondir}data - $datadir - $datawritable<br>
-- 查找 ${ikondir}help - $helpdir - $helpwritable<br>
-- 查找 ${ikondir}messages - $messagesdir - $messageswritable<br>
-- 查找 ${ikondir}members - $membersdir - $memberswritable<br>
<br>
<br>
<font face="宋体" color="#000000">
所有非 CGI 文件(images)的路径: $imagesdir - $found_image
<br><br>
-- 查找 ${imagesdir}images - $images_dir<br>
-- 查找 ${imagesdir}emoticons - $emoticonsdir<br>
-- 查找 ${imagesdir}avatars - $avatarsdir<br><br>
-- 查找 ${imagesdir}btg - $btg<br><br>
-- 查找 ${imagesdir}emot - $emot<br><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>URL 预览</b></font>
<br>
<font face="宋体" color="#000000">
您输入的图片 URL: $imagesurl
<br>
<br>
-- 查找 $imagesurl/images/announce.gif - <img src="$imagesurl/images/announce.gif" border=0><br>
-- 查找 $imagesurl/emoticons/smile.gif - <img src="$imagesurl/emoticons/smile.gif" border=0><br>
-- 查找 $imagesurl/avatars/noavatar.gif - <img src="$imagesurl/avatars/noavatar.gif" border=0><br><br>
如果您看到的是错误的图片,请检查这个 $imagesurl 路径是否正确,同时也请确定图片文件是否是以 Binary 方式上传的。<BR><BR>
);
if ($errorflag eq "1") { print qq(<br><br><font color="#FF0000">ib2000 安装向导发现错误,不能够继续。请返回重新填入正确的信息); print end_html; exit; }
print qq(
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<b>文件合法性检查</b></font>
<br>
<br>
<font face="宋体" color="#000000">
ib2000 安装向导将检查您的所有 CGI 文件是否已上传,并且是以 ASCII 方式上传的
<br><br>);
foreach (@progs_to_search) {
$filetotest = "$ikondir" . "$_";
if (-e $filetotest) {
open (TEST, "$filetotest");
@testfile = <TEST>;
close (TEST);
if (grep(/\r/, @testfile) && $^O ne "MSWin32") {
print "<b>找到 $_ ,但它好像是以 BINARY 方式上传的。请重新以 ASCII 方式上传!</b><br>";
}
else { print "找到 $_ - 上传正确!<br>"; }
}
else { print "<b>找不到 $_ ! - 是否上传了?</b><br>"; }
} # end foreach
print qq(
<br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>报告结束</b></font>
<br>
<br>
<font face="宋体" color="#000000">
ib2000 安装向导已经完成报告。如果您发现错误,请返回重新填写信息。
<br>同时,您也可以使用管理员身份在任何时间重新填写信息。
<br><br>
如果您不确定一些问题,或者出现一些未知的错误,请到 <a href="http://www.cgier.com/"><b>CGI 编程者之家</b></a> 的论坛中提出!
<br><br><i>报告结束</i>
<br><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>下一步做什么?</b></font>
<br>
<br>
<font face="宋体" color="#000000">
<b>如果您是从 ib2000 的早期版本升级的,<a href="admincenter.cgi?action=remove">现在到管理中心界面</a></b>!
<br><br>从安全性上考虑,当你进入管理中心的同时,本安装文件将会被自动删除。<br>
当本安装文件存在的时候,管理中心是不能运行的!如果自动删除失败,那么请你自行利用 FTP 来删除这个本程序!
<br><br>
<b>如果你是第一次安装 ib2000,那么请<a href="$thisprog?action=step_three">点击这里进入第三步</a></b>!</font>
<br><br><br><br><br>
);
}
elsif ($action eq "step_three") {
print qq(
<font size="5" face="宋体" color="#000000">
<h1>ib2000 安装向导</b></font></h1><font face="宋体" color="#000000">
汉化改进:<a href="mailto:webmaster\@cgier.com">山鹰糊</a><BR>
汉化版权:<a href="http://www.cgier.com/">CGI 编程者之家</a></font>
<hr noshade color="#000000">
<br>
<font face="宋体" color="#FF0000">
<b>你是否以前到过这一步?</b>
<br><br>
<font face="宋体" color="#000000">
<b>如果您是从 ib2000 的早期版本升级的,<a href="admincenter.cgi?action=remove">现在到管理中心界面</a></b>!
<br><br>如果您运行这一步,您将<b>丢失</b>论坛的所有数据!!!
<hr noshade color="#000000">
<br>
<b>第三步:</b><br>
最后安装部分。这一步将完成论坛的安装,您将能够进入管理中心界面设置论坛风格、颜色等。
<br>
<hr noshade color="#000000">
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -