The SupportIT server www.tojnar.cz is hosted on is being decommissioned. To make the migration faster, we will just copy the current state and convert it to Hakyll incrementally. This mostly imports the tree as is minus accidentally misplaced files. Additionally, the following changes were made: - line separators were converted using dos2unix - file encodings were changed from windows-1250 to utf-8 - highslide and related files are now loaded from root instead of per-gallery copy - uppercase JPG extensions were changed to lowercase remove private
140 lines
5.1 KiB
PHP
140 lines
5.1 KiB
PHP
<?php
|
|
$sbnum=0;
|
|
if(0==9){
|
|
header("HTTP/1.0 303 See Other");
|
|
}
|
|
/** replaces bb tags on html
|
|
* @param string $buffer text with bb codes
|
|
* @return string replaced string
|
|
* @copyright Jan Tojnar, http://jtojnar.php5.cz/
|
|
*/
|
|
function bb2html($buffer){
|
|
$buffer=ereg_replace("\[b\](.*)\[/b\]","<span class=\"bold\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("\[i\](.*)\[/i\]","<span class=\"italic\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("\[red\](.*)\[/red\]","<span class=\"red\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("\[green\](.*)\[/green\]","<span class=\"green\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("\[blue\](.*)\[/blue\]","<span class=\"blue\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("\[purple\](.*)\[/purple\]","<span class=\"purple\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("\[yellow\](.*)\[/yellow\]","<span class=\"yellow\">\\1</span>",$buffer);
|
|
$buffer=ereg_replace("%(.*)%","%\\1%",$buffer);
|
|
$buffer=ereg_replace("\n","<br>\n",$buffer);
|
|
$buffer=ereg_replace("\r\n","<br>\n",$buffer);
|
|
$buffer=ereg_replace("\r","<br>\n",$buffer);
|
|
return htmlspecialchars($buffer);
|
|
}
|
|
/** control e-mail address
|
|
* @param string $email e-mail address
|
|
* @return bool is right address syntax
|
|
* @copyright Jakub Vrána, http://php.vrana.cz
|
|
*/
|
|
function check_email($email){
|
|
$atom='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';
|
|
$domain='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';
|
|
return eregi("^$atom+(\\.$atom+)*@($domain?\\.)+$domain\$",$email);
|
|
}
|
|
|
|
/** control www address
|
|
* @param string $url www address
|
|
* @return bool is right address syntax
|
|
* @copyright Jan Tojnar, http://jtojnar.php5.cz
|
|
*/
|
|
function check_url($url){
|
|
return eregi("^http[s]?://[-a-z0-9]*\.[-a-z0-9]+\.[a-z]+$",$url);
|
|
}
|
|
|
|
/** returns text of shoutboard
|
|
* @param string $file page filename
|
|
* @return string shoutboard html
|
|
* @copyright Jan Tojnar, http://jtojnar.php5.cz/
|
|
*/
|
|
function sboard_generate($file){
|
|
$sbnum++;
|
|
$name=htmlspecialchars($_POST["name"]);
|
|
$www=htmlspecialchars($_POST["www"]);
|
|
$post=htmlspecialchars($_POST["post"]);
|
|
$ip=$_SERVER["REMOTE_ADDR"];
|
|
$timestamp=date(rplc("%dateFormat%"));
|
|
$formCaptchaSum=sha1($_POST["captcha"]);
|
|
$showmail=$_POST["showmail"];
|
|
$checkedshowmailfalse=$showmail=="false"?" checked=\"checked\"":"";
|
|
$checkedshowmailtrue=empty($showmail)?" checked=\"checked\"":($showmail=="true"?" checked=\"checked\"":"");
|
|
if($showmail=="true"){
|
|
$email=htmlspecialchars($_POST["email"]);
|
|
}else{
|
|
$hemail=htmlspecialchars($_POST["email"]);
|
|
}
|
|
$formCaptchaSumPre=$_POST["captchasum"];
|
|
$captcha=mt_rand(0,9).mt_rand(0,9).mt_rand(0,9).mt_rand(0,9);
|
|
$_SESSION["captcha"]=$captcha;
|
|
$captchasum=sha1($captcha);
|
|
#echo($timestamp);
|
|
#echo($post);
|
|
if(isset($_POST["post"])){
|
|
if(empty($post)){
|
|
$sbError.="<p>"."%misspost%"."</p>\n";
|
|
}
|
|
if(empty($name)){
|
|
$sbError.="<p>"."%missname%"."</p>\n";
|
|
}
|
|
if($formCaptchaSumPre!=$formCaptchaSum){
|
|
$sbError.="<p>"."%wrongcode%"."</p>\n";
|
|
}
|
|
if(!empty($email) && !check_email($email)){
|
|
$sbError.="<p>"."%wrongmail%"."</p>\n";
|
|
}
|
|
if(!empty($www) && !check_url($www)){
|
|
$sbError.="<p>"."%wrongwww%"."</p>\n";
|
|
}
|
|
if(empty($sbError)){
|
|
$sbmail=!empty($email)?"<span class=\"sbmail\"><span>{$email}</span></span>\n":(!empty($hemail)?"<hemail>{$hemail}</hemail>":"");
|
|
$sbwww=!empty($www)?"<span class=\"sbwww\"><span>{$www}</span></span>\n":"";
|
|
$post=bb2html($post);
|
|
$write=<<<EOT
|
|
<div class="sbcomment">
|
|
<div class="sbheader">
|
|
<span class="sbname">{$name}</span>
|
|
<span class="sbdate">{$timestamp}</span>
|
|
<ip>{$ip}</ip>
|
|
{$sbmail}{$sbwww}</div>
|
|
{$post}
|
|
</div>
|
|
|
|
|
|
EOT;
|
|
$shoutfile=fopen($file."c".$sbnum,"a+");
|
|
chmod($file."c".$sbnum,0777);
|
|
if(fwrite($shoutfile,$write)){
|
|
$sbError.="<p>"."%saved%"."</p>\n";
|
|
unset($name,$email,$www,$captcha,$post,$ip,$timestamp,$formCaptchaSum,$formCaptchaSumPre,$captchasum,$sbname,$sbdate,$sbwww,$sbmail);
|
|
fclose($shoutfile);
|
|
}else{
|
|
$sbError.="<p>"."%notsaved%"."</p>\n";
|
|
}
|
|
}
|
|
}
|
|
if(file_exists($file."c".$sbnum)){
|
|
$comments=ereg_replace("<ip>([^<]+)</ip>","",ereg_replace("<hemail>([^<]+)</hemail>","",file_get_contents($file."c".$sbnum)));
|
|
}else{
|
|
$comments="";
|
|
}
|
|
$form=$comments."<hr class=\"sboard\" id=\"sboard{$sbnum}\">".(empty($sbError)?"":"<div class=\"sberrors\">".rplc($sbError)."</div>").<<<EOT
|
|
<form method="post" action="#sboard{$sbnum}" class="sbform">
|
|
<div>
|
|
<dl>
|
|
<dt><label for="name">%name:% %req%</label></dt><dd><input type="text" name="name" id="name" value="{$name}"></dd>
|
|
<dt><label for="email">%email:%</label></dt><dd><input type="text" name="email" id="email" value="{$email}"></dd>
|
|
<dt>%showmail%</dt><dd><label><input type="radio" name="showmail" value="true"{$checkedshowmailtrue}>%yes%</label><label><input type="radio" name="showmail" value="false"{$checkedshowmailfalse}>%no%</label></dd>
|
|
<dt><label for="www">%www:%</label></dt><dd><input type="text" name="www" id="www" value="{$www}"></dd>
|
|
<dt id="captchaLabelParent"><label for="captcha"><img src="%root%/3DCaptcha.php" alt="captcha"></label></dt><dd id="captchaParent"><input type="text" name="captcha" id="captcha" size="4" maxlength="4"></dd>
|
|
<dt><label for="post">%message:% %req%</label></dt><dd><textarea name="post" id="post" rows="5" cols="25">{$post}</textarea></dd>
|
|
<dt><button>%send%</button></dt><dd><input type="hidden" name="captchasum" value="{$captchasum}"></dd>
|
|
</dl>
|
|
</div>
|
|
</form>
|
|
<div class="sbhelp">
|
|
%sbhelp%
|
|
</div>
|
|
EOT;
|
|
return $form;
|
|
}
|
|
?>
|