All pastes #770769 Raw Edit

Stuff

public text v1 · immutable
·published 2007-11-12 16:03 UTC
rendered paste body
<?
if(eregi("://", $newspath)){
	die("Nieautoryzowany dostęp!");
}
if(!isset($newspath)){
	$newspath = "news";
}
include("$newspath/functions.php");
$config = confload($newspath);

$userlist_f = file("$newspath/users.inc.php");
unset($userlist_f[0]);
unset($userlist_f[count($userlist_f)]);
reset($userlist_f);
while((list($key, $val) = each($userlist_f))&&($logged!="true")){
	$expl = explode("||", $val);
	$userlist[$expl[0]] = $expl;
}

/* FUNKCJE */
function news_wiadomosc($wiadomosc){
	global $config;
	global $newspath;
	return tplparse(array('{WIADOMOSC}'),array($wiadomosc),$config["template"],$newspath,"wiadomosc.html");
}
switch($_GET["function"]){

/* STRONA GŁÓWNA */
	default:
		$newsfile = file("$newspath/news.txt");
		$count = count($newsfile);
		if($config["stronicownie"] != "off"){
			if(!isset($_GET["npage"])){ $npage = "1"; }
			else{ $npage = $_GET["npage"]; }
			$ilestron = $count/$config["stronicowanie"];
			$ilestron = ceil($ilestron);
			$begin = $count - $config["stronicowanie"]*($npage-1);
			if($begin>$count){ $begin = $count; }
			$end = $begin - $config["stronicowanie"];
			if($end<0){ $end = 0; }
		}
		else{
			$begin = $count;
			$end = 0;
		}
		for($i=$begin-1; $i>=$end;$i--){
			$news = explode("||", $newsfile[$i]);
			if($config["skracanie"] != "off"){
				$news[2] = ps_substr($news[2], $config["skracanie"], "... [<a href=\"".$config["adres"]."function=show_all&no=$news[0]\">więcej</a>]");
			}
			$news[2] = pscode($news[2]);
			if($config["emoty_news"] == "tak"){
				$news[2] = emots($news[2], $newspath);
			}
			$news[2] = stripslashes($news[2]);
			$news[2] = preg_replace("'\\|\\|'s", "||", $news[2]);

			$news[1] = stripslashes($news[1]);
			$news[1] = preg_replace("'\\|\\|'s", "||", $news[1]);

			$news[1] = wordwrap($news[1], 50, " ", 1);
			$news[2] = wordwrap($news[2], 50, " ", 1);


			$data = date("d.m.Y, H:i", $news[3]);

			if($config["nimgs"]=="tak"){
				$img_path = "$newspath/nimgs/$news[5]";
				if((file_exists($img_path))&&($news[5]!="brak")&&($news[5]!="")){
					$news[2] = "<img src=\"$img_path\" align=\"".$config["nimgs_align"]."\" border=0> ".$news[2];
				}
			}

			if(file_exists("$newspath/komentarze/$news[0]")){
				$komfile = @file("$newspath/komentarze/$news[0]");
				$ilekomentarzy = count($komfile);
			}
			else{ $ilekomentarzy = 0; }

			$print_center.= tplparse(array('{TYTUL}','{NEWS}','{AUTOR}','{EMAIL}','{DATA}','{KOMENTARZE}','{ILEKOMENTARZY}'),array($news[1],$news[2],$userlist[$news[4]][3],$userlist[$news[4]][4],$data,$config["adres"]."function=show_all&no=$news[0]",$ilekomentarzy),$config["template"],$newspath,"news.html");
		}
		if($config["stronicownie"] != "off"){
			$print_center.= "<br><center>";
			if($npage>1){ $prevp = $npage-1; $print_center.= "<a href=\"".$config["adres"]."npage=$prevp\"><<</a>"; }
			else{ $print_center.= "<<"; }
			$print_center.= " $npage z $ilestron ";
			if($npage<$ilestron){ $nextp = $npage+1; $print_center.= "<a href=\"". $config["adres"] ."npage=$nextp\">>></a>"; }
			else{ $print_center.= ">>"; }
			$print_center.= "</center><br>";
		}			
	break;

/* CAŁOŚĆ NEWSA + KOMENTARZE */
	case show_all:
		$newsfile = file("$newspath/news.txt");
		reset($newsfile);
		foreach($newsfile as $news){
			$news = explode("||", $news);
			if($news[0] == $_GET["no"]){
				$news[2] = pscode($news[2]);
				if($config["emoty_news"] == "tak"){
					$news[2] = emots($news[2], $newspath);
				}
				$news[2] = stripslashes($news[2]);
				$news[2] = preg_replace("'\\|\\|'s", "||", $news[2]);

				$news[1] = stripslashes($news[1]);
				$news[1] = preg_replace("'\\|\\|'s", "||", $news[1]);

				$news[1] = wordwrap($news[1], 50, " ", 1);
				$news[2] = wordwrap($news[2], 50, " ", 1);

				$data = date("d.m.Y, H:i", $news[3]);

				if($config["nimgs"]=="tak"){
					$img_path = "$newspath/nimgs/$news[5]";
					if((file_exists($img_path))&&($news[5]!="brak")&&($news[5]!="")){
						$news[2] = "<img src=\"$img_path\" align=\"".$config["nimgs_align"]."\" border=0> ".$news[2];
					}
				}

				if(file_exists("$newspath/komentarze/$news[0]")){
					$komfile = file("$newspath/komentarze/$news[0]");
					$ilekomentarzy = count($komfile);
				}
				else{ $ilekomentarzy = 0; }

				$print_center.= tplparse(array('{TYTUL}','{NEWS}','{AUTOR}','{EMAIL}','{DATA}','{KOMENTARZE}','{ILEKOMENTARZY}'),array($news[1],$news[2],$userlist[$news[4]][3],$userlist[$news[4]][4],$data,$config["adres"]."function=show_all&no=$news[0]",$ilekomentarzy),$config["template"],$newspath,"news.html");
			}
		}
		$print_center.= "<center>[<a href=\"". $config["adres"] ."function=add_kom&no=". $_GET["no"] ."\">skomentuj</a>] [<a href=\"". $config["adres"] ."\">wróć do newsów</a>]</center><br>";		

		if($ilekomentarzy<1){ $print_center.= news_wiadomosc("Do tego newsa nie dodano jeszcze żadnego komentarza.<br>[<a href=\"".$config["adres"]."function=add_kom&no=".$_GET["no"]."\">skomentuj</a>]"); }
		else{
			reset($komfile);
			foreach($komfile as $kom){
				$kom = explode("||", $kom);
				if($config["emoty_kom"] == "tak"){
					$kom[1] = emots($kom[1], $newspath);
				}
				$kom[2] = stripslashes($kom[2]);
				$kom[2] = preg_replace("'\\|\\|'s", "||", $kom[2]);


				$kom[1] = stripslashes($kom[1]);
				$kom[1] = preg_replace("'\\|\\|'s", "||", $kom[1]);

				$kom[1] = wordwrap($kom[1], 50, " ", 1);
				$kom[2] = wordwrap($kom[2], 50, " ", 1);

				$data = date("d.m.Y, H:i", $kom[4]);

				$print_center.= tplparse(array('{KOMENTARZ}','{AUTOR}','{EMAIL}','{DATA}'),array($kom[1],$kom[2],$kom[3],$data),$config["template"],$newspath,"komentarz.html");
			}
		}		

	break;

/* DODAWANIE KOMENTARZA */
	case add_kom:
		$banfile = file("$newspath/ban.txt");
		$ip = $_SERVER["REMOTE_ADDR"];
		$ban = "false";
		foreach($banfile as $linia){
			$linia = explode("||", $linia);
			if($linia[0] == $ip){ $ban = "true"; }
		}
		if($ban == "true"){
			$print_center = news_wiadomosc("Przepraszamy, ale nie masz zezwolenia na dodanie komentarza, ponieważ twoje IP ($ip) zostało zablokowane przez administratora.<br>[<a href=\"".$config["adres"]."\">wróć do newsów</a>]");
		}
		else{
			if($_GET["do"] == "save"){
				$filename = "$newspath/komentarze/".$_GET["no"];
				if(file_exists($filename)){
					$kom_autor = $_POST["kom_autor"];
					$kom_email = $_POST["kom_email"];
					$komentarz = $_POST["komentarz"];
					$kom_autor = strip_tags($kom_autor);
					$kom_email = strip_tags($kom_email);
					$komentarz = strip_tags($komentarz);
					$kom_autor = str_replace("|", "\\|", $kom_autor);
					$kom_email = str_replace("|", "\\|", $kom_email);
					$komentarz = str_replace("|", "\\|", $komentarz);
					$kom_autor = preg_replace("'\n|\r\n|\r'si", "", $kom_autor);
					$kom_email = preg_replace("'\n|\r\n|\r'si", "", $kom_email);
					$komentarz = preg_replace("'\n|\r\n|\r'si", "<br>", $komentarz);
					$numer = max_l_plik(0, "||", $filename)+1;

					$file = fopen($filename, "a+");
					flock($file, 2);
					$puts = "$numer||$komentarz||$kom_autor||$kom_email||".time()."||$ip||\n";
					fputs($file, $puts);
					flock($file, 3);
					fclose($file);
					$print_center = news_wiadomosc("Twój komentarz został dodany.<br>[<a href=".$config["adres"].">wróć do newsów</a>]");
				}
				else{
					$print_center = news_wiadomosc("Nie można dodać komentarza - brak pliku z bazą danych do tego newsa.<br>[<a href=".$config["adres"].">wróć do newsów</a>]");
				}
			}
			else{
				$print_center.= "
				<form action=\"". $config["adres"]."function=add_kom&no=".$_GET["no"]."&do=save\" method=post name=formularz>
				Autor:<br><input type=text name=\"kom_autor\"><br>
				Email:<br><input type=text name=\"kom_email\"><br>
				Komentarz:<br>";
				if($config["emoty_kom"] == "tak"){ $print_center.= list_emots($newspath,"komentarz")."<br>"; }
				$print_center.= "<textarea style=\"width:300; height:150\" name=\"komentarz\"></textarea><br>
				<input type=submit value=\"dodaj\">
				<br><a href=\"".$config["adres"]."\">[rezygnuj]</a>
				</form>
				";
			}
		}			
	break;
}



/* WYŚWIETLANIE */
eval("?>".$print_center."<?");

//proszę nie usuwać oraz nie zmieniać poniższej linii - złamiesz w ten sposób prawa autorskie! Uszanuj pracę programisty!
print('<center><a href="http://www.imps.pl" target="_blank" title="[&copy; 2003/2004 by IMPSystems]">Powered by PsNews</a></center>');
?>