Poprawki w PHP i ścieżki do katalogu

git-svn-id: https://svn.pioder.pl/sg-svn@13 3ed2631f-fe0d-47e0-9194-a46bc0f18ee8
This commit is contained in:
pioder
2009-06-23 14:35:24 +00:00
parent 6de08b68b4
commit 2d445251b6
8 changed files with 474 additions and 349 deletions

View File

@@ -1,5 +1,5 @@
<?php <?php
require_once('init.php'); #init stuff require_once('./init.php'); #init stuff
$id = (isset($_GET['id'])) ? intval($_GET['id']) : 0; #check which photo's info should be send $id = (isset($_GET['id'])) ? intval($_GET['id']) : 0; #check which photo's info should be send
header('Content-Type: text/xml; charset="utf-8"'); header('Content-Type: text/xml; charset="utf-8"');
@@ -8,7 +8,9 @@
<display id="<?=$id?>"> <display id="<?=$id?>">
<? <?
if (!$result = $DB->query('SELECT * FROM photos WHERE id=\'$i\''))
$sql = "SELECT * FROM `photos` WHERE `id`='$id'";
if (!$result = $DB->query($sql))
{ {
showError('MySQL error'); showError('MySQL error');
} }

View File

@@ -1,7 +1,7 @@
<?php <?php
define('PERPAGE', 12); define('PERPAGE', 12);
define('DB_HOST', ''); define('DB_HOST', 'localhost');
define('DB_NAME', ''); define('DB_NAME', 'galeria');
define('DB_USER', ''); define('DB_USER', 'root');
define('DB_PASS', ''); define('DB_PASS', '');
?> ?>

View File

@@ -1,13 +1,14 @@
<?php <?php
require_once('init.php'); #init stuff /**
* @package Galeria Suczawa 2009
* @file display.php
* @version $Id$
**/
require_once('./init.php'); #init stuff
$id=(isset($_GET['id'])) ? intval($_GET['id']) : 1; #check which photo should be loaded $id=(isset($_GET['id'])) ? intval($_GET['id']) : 1; #check which photo should be loaded
$xhtml = preg_match('/application\/xhtml\+xml(?![+a-z])(;q=(0\.\d{1,3}|[01]))?/i', NaglowekXHTML();
$_SERVER['HTTP_ACCEPT'], $xhtml) && (isset($xhtml[2])?$xhtml[2]:1) > 0 ||
strpos($_SERVER["HTTP_USER_AGENT"], "W3C_Validator")!==false ||
strpos($_SERVER["HTTP_USER_AGENT"], "WebKit")!==false;
header('Content-Type: '.($xhtml?'application/xhtml+x':'text/ht').'ml; charset="utf-8"'); #IE doesn't support application/xhtml+xml - workaround
echo '<?xml version="1.0" encoding="utf-8"?>';
?> ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
@@ -25,9 +26,10 @@
<body onload="init()"> <body onload="init()">
<div id="display"> <div id="display">
<? <?
if (!$result = $DB->query('SELECT * FROM photos WHERE id=\'$i\'')) $sql = "SELECT * FROM `photos` WHERE id='$id'";
if (!$result = $DB->query($sql))
{ {
showError('MySQL error'); showError('Nie mozna pobrac informacji o zdjeciu!');
} }
if ($result->num_rows == 0) if ($result->num_rows == 0)
@@ -45,9 +47,10 @@ else
$row['author'] = ($row['author']=='') ? 'Autor nieznany' : $row['author']; $row['author'] = ($row['author']=='') ? 'Autor nieznany' : $row['author'];
$row['description'] = ($row['description']=='') ? 'Brak opisu' : $row['description']; $row['description'] = ($row['description']=='') ? 'Brak opisu' : $row['description'];
}?> }
?>
<div id="current"> <div id="current">
<a href="<?=htmlspecialchars($row['photo_name'])?>"><img id="curr_image" height="300px" alt="Zdjęcie" src="<?=htmlspecialchars($row['photo_name'])?>" /></a> <a href="images/upload/<?=htmlspecialchars($row['photo_name'])?>"><img id="curr_image" height="300px" alt="ZdjÄ_cie" src="images/upload/<?=htmlspecialchars($row['photo_name'])?>" /></a>
<br/> <br/>
<b>Autor: </b><a id="author"><?=htmlspecialchars($row['author'])?></a><br /> <b>Autor: </b><a id="author"><?=htmlspecialchars($row['author'])?></a><br />
<b>Opis: </b><a id="description"><?=nl2br(htmlspecialchars($row['description']))?></a> <b>Opis: </b><a id="description"><?=nl2br(htmlspecialchars($row['description']))?></a>
@@ -60,7 +63,7 @@ $prev=$DB->query('SELECT * FROM photos WHERE id<'.$id.' ORDER BY id DESC LIMIT 1
?> ?>
<div id="prev"> <div id="prev">
<a onclick="javascript:prev()"> <a onclick="javascript:prev()">
<img id="prev_image" height="100px" alt="<?=$prev['id']?>" src="<?=$prev['thumb_name']?>" /><br/> <img id="prev_image" height="100px" alt="<?=$prev['id']?>" src="images/upload/<?=$prev['thumb_name']?>" /><br/>
</a> </a>
<a onclick="javascript:prev()">Poprzednie zdjęcie</a> <a onclick="javascript:prev()">Poprzednie zdjęcie</a>
</div> </div>
@@ -83,7 +86,7 @@ $next=$DB->query('SELECT * FROM photos WHERE id>'.$id.' ORDER BY id ASC LIMIT 1;
?> ?>
<div id="next"> <div id="next">
<a onclick="javascript:next()"> <a onclick="javascript:next()">
<img id="next_image" height="100px" alt="<?=$next['id']?>" src="<?=$next['thumb_name']?>" /><br/> <img id="next_image" height="100px" alt="<?=$next['id']?>" src="images/upload/<?=$next['thumb_name']?>" /><br/>
</a> </a>
<a onclick="javascript:next()">Następne zdjęcie</a> <a onclick="javascript:next()">Następne zdjęcie</a>
</div> </div>

View File

@@ -1,5 +1,78 @@
<?php <?php
function showError($message) { /**
die($message); * @package Galeria Suczawa 2009
* @file functions.php
* @version $Id$
* @author PioDer <pioder@wp.pl>
* @link http://suczawa.ath.cx/
**/
#wyświetl błąd
function blad($msg)
{
die('
<h1>Blad Galerii Zdjec Suczawa 2009!</h1>
<span style="color: red; font-weight: bold; font-size: 12pt">'.$msg.'</span>');
}
function NaglowekXHTML()
{
$xhtml = preg_match('/application\/xhtml\+xml(?![+a-z])(;q=(0\.\d{1,3}|[01]))?/i',
$_SERVER['HTTP_ACCEPT'], $xhtml) && (isset($xhtml[2])?$xhtml[2]:1) > 0 ||
strpos($_SERVER["HTTP_USER_AGENT"], "W3C_Validator")!==false ||
strpos($_SERVER["HTTP_USER_AGENT"], "WebKit")!==false;
header('Content-Type: '.($xhtml?'application/xhtml+x':'text/ht').'ml; charset="utf-8"'); #IE doesn't support application/xhtml+xml - workaround
echo '<?xml version="1.0" encoding="utf-8"?>';
}
function GenerujListeStron()
{
global $cnt;
global $page;
$content = '';
if ($page>1)
{
$content .= '<a href="?page=1" title="Pierwsza strona">&laquo;</a>';
$content .= '&nbsp;&nbsp;<a href="?page='.($page-1).'" title="Poprzednia strona">&lt;</a> ';
}
#wygeneruj strony
for ($i=1;$i<=$cnt;$i++)
{
if ($i==$page)
{
if ($i == $cnt)
{
$content .= '<span style="text-decoration: underline">'.$i.'</span>';
}
else
{
$content .= '<span style="text-decoration: underline">'.$i.'</span>'.' | ';
}
}
else
{
if ($i == $cnt)
{
$content .= '<a href="?page='.$i.'">'.$i.'</a> ';
}
else
{
$content .= '<a href="?page='.$i.'">'.$i.'</a> | ';
}
}
}
#dodaj linka "+1 strona" oraz do ostatniej
if ($page<$cnt)
{
$content .= '<a href="?page='.($page+1).'" title="Następna strona">&gt;</a>';
$content .= '&nbsp;&nbsp;<a href="?page='.$cnt.'" title="Ostatnia strona">&raquo;</a>';
}
#dodaj linka do ostatniej strony
echo $content;
} }
?> ?>

View File

@@ -1,19 +1,20 @@
<?php <?php
require_once('init.php'); #init stuff /**
$page=(isset($_GET['page']))?intval($_GET['page']):1; #check which page should be loaded * @package Galeria Suczawa 2009
* @file gallery.php
* @version $Id$
**/
$xhtml = preg_match('/application\/xhtml\+xml(?![+a-z])(;q=(0\.\d{1,3}|[01]))?/i', $page = (isset($_GET['page'])) ? intval($_GET['page']) : 0;
$_SERVER['HTTP_ACCEPT'], $xhtml) && (isset($xhtml[2])?$xhtml[2]:1) > 0 ||
strpos($_SERVER["HTTP_USER_AGENT"], "W3C_Validator")!==false || require_once('./init.php'); #init stuff
strpos($_SERVER["HTTP_USER_AGENT"], "WebKit")!==false; NaglowekXHTML();
header('Content-Type: '.($xhtml?'application/xhtml+x':'text/ht').'ml; charset="utf-8"'); #IE doesn't support application/xhtml+xml - workaround
echo '<?xml version="1.0" encoding="utf-8"?>';
?> ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head> <head>
<title>Galeria zdjęć</title> <title>Galeria Zdjęć</title>
<link type="text/css" href="style.css" rel="stylesheet" /> <link type="text/css" href="style.css" rel="stylesheet" />
<script type="text/javascript" src="script.js"></script> <script type="text/javascript" src="script.js"></script>
</head> </head>
@@ -23,51 +24,33 @@
<div id="content"> <div id="content">
<div id="images"> <div id="images">
<?php <?php
if (!$result = $DB->query('SELECT * FROM photos LIMIT '.(($page-1)*PERPAGE).' , '.PERPAGE)) { $sql = "SELECT * FROM `photos` $limit";
showError('MySQL error'); if (!$result = $DB->query($sql))
{
blad('Nie mozna pobrac zdjec uzytkownikow!');
} }
while($row = $result->fetch_assoc() ){ while($row = $result->fetch_assoc() )
{
?> ?>
<div class="image_outer"> <div class="image_outer">
<a target="blank" href="display.php?id=<?=$row['id']?>"> <a target="blank" href="display.php?id=<?=$row['id']?>">
<img class="image" height="100px" alt="Zdjęcie: <?=$row['photo_name']?>" src="<?=$row['thumb_name']?>" id="image_<?=$row['id']?>" /> <img class="image" height="100px" alt="Zdj___cie: <?= $row['photo_name']; ?>" src="images/upload/<?= $row['thumb_name']; ?>" id="image_<?=$row['id']?>" />
</a> </a>
</div> </div>
<? <?
} }
?> ?>
</div> </div>
<?
if (!$result = $DB->query('SELECT COUNT(id) AS count FROM photos')) {
showError('MySQL error');
}
$row = $result->fetch_assoc();
$count = $row['count'];
$pcount=ceil($result[0]/PERPAGE);
?>
<div id="pages">Strony: <div id="pages">Strony:
<?if($page==1) <?
echo'&lt;&lt;&#160;&lt;&#160;|&#160;'; GenerujListeStron();
else
echo '<a href="gallery.php?page=1">&lt;&lt;</a>&#160;<a href="gallery.php?page='.($page-1).'">&lt;</a>&#160;|&#160;';
for($i=1; $i<$page; $i++) {
echo '<a href="gallery.php?page='.$i.'">'.$i.'</a>&#160;|&#160;';
}
echo $page.'&#160;|&#160;';
for($i=$page+1; $i<=$pcount; $i++) {
echo '<a href="gallery.php?page='.$i.'">'.$i.'</a>&#160;|&#160;';
}
if($page==$pcount)
echo '&gt;&#160;&gt;&gt;';
else
echo '<a href="gallery.php?page='.($page+1).'">&gt;</a>&#160;<a href="gallery.php?page='.$pcount.'">&gt;&gt;</a>';
?> ?>
</div> </div>
</div> </div>
<div id="footer"> <div id="footer">
<a id="copyright">Copyright © 2009 ...</a><br /> <a id="copyright">Copyright © 2009 ...</a><br />
<div id="links"> <div id="links">
<a href="index.php">Strona główna</a> | <a href="gallery.php">Fotogaleria</a> | <a href="download.php">Download</a> | <a href="http://suczawa.ath.cx">Forum</a> <a href="index.php">Strona Główna</a> | <a href="gallery.php">Fotogaleria</a> | <a href="download.php">Download</a> | <a href="http://suczawa.ath.cx">Forum</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,16 +1,13 @@
<?php <?php
$xhtml = preg_match('/application\/xhtml\+xml(?![+a-z])(;q=(0\.\d{1,3}|[01]))?/i',
$_SERVER['HTTP_ACCEPT'], $xhtml) && (isset($xhtml[2])?$xhtml[2]:1) > 0 || require_once('./functions.php');
strpos($_SERVER["HTTP_USER_AGENT"], "W3C_Validator")!==false || NaglowekXHTML();
strpos($_SERVER["HTTP_USER_AGENT"], "WebKit")!==false;
header('Content-Type: '.($xhtml?'application/xhtml+x':'text/ht').'ml; charset="utf-8"'); #IE doesn't support application/xhtml+xml - workaround
echo '<?xml version="1.0" encoding="utf-8"?>';
?> ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head> <head>
<title>Strona główna</title> <title>Strona Główna</title>
<link type="text/css" href="style.css" rel="stylesheet" /> <link type="text/css" href="style.css" rel="stylesheet" />
</head> </head>
<body> <body>
@@ -18,7 +15,7 @@
<img src="images/logo.png" width="800px" alt="Logo strony" /> <img src="images/logo.png" width="800px" alt="Logo strony" />
<div id="content"> <div id="content">
<div id="dlinks"> <div id="dlinks">
<a href="gallery.php"><img src="images/galeria.png" alt="Galeria zdjęć" /></a> <br/> <a href="gallery.php"><img src="images/galeria.png" alt="Galeria Zdjęć" /></a> <br/>
<a href="download.php"><img src="images/download.png" alt="Download" /></a> <br/> <a href="download.php"><img src="images/download.png" alt="Download" /></a> <br/>
<a href="http://suczawa.ath.cx"><img src="images/forum.png" alt="Forum" /></a> <a href="http://suczawa.ath.cx"><img src="images/forum.png" alt="Forum" /></a>
</div> </div>

View File

@@ -1,12 +1,78 @@
<? <?php
require_once('config.php'); /**
require_once('functions.php'); * @package Galeria Suczawa 2009
* @file init.php
* @version $Id$
**/
#dołącz plik konfiguracyjny oraz funkcje
require_once('./config.php');
require_once('./functions.php');
#sprawdź, czy jest wyłączone register globals oraz magic quotes?
if (ini_get('register_globals') == 1)
{
ini_set('register_globals', '0');
if (ini_get('register_globals') == 1)
{
blad('Could not disable register_globals.');
}
}
if (get_magic_quotes_gpc())
{
blad('Prosze wylaczyc magic_quotes_gpc w php.ini!');
}
$DB = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); #connect with the database $DB = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); #connect with the database
if ($DB->connect_error) { #check if there were any errors connecting if ($DB->connect_error)
showError('Could not connect do database server ('.$DB->connect_errno.'): '.$DB->connect_error); { #check if there were any errors connecting
blad('Could not connect do database server ('.$DB->connect_errno.'): '.$DB->connect_error);
} }
if (!$DB->query("SET NAMES 'utf8'")) { #use utf-8
showError('Could not set character to UTF-8'); if (!$DB->query("SET NAMES 'utf8'")) #użyj utf-8
{
blad('Could not set character to UTF-8');
} }
#pobierz liczbę zdjęć w galerii
$sql = "SELECT COUNT(`id`) AS `count` FROM `photos`";
if (!$result = $DB->query($sql))
{
blad('Nie mozna odczytac liczby zdjec!');
}
$row = $result->fetch_assoc();
$count = $row['count'];
$result->free; //zwolnij pamięć
//
//wygeneruj strone
//
if (isset($_GET['page'])&&($_GET['page']!=1))
{
if (!is_numeric($_GET['page']))
{
die('Hacking attempt');
}
$value = ($_GET['page']-1)*PERPAGE;
$limit = 'LIMIT '.$value . ', '.PERPAGE;
$page = $_GET['page'];
}
else
{
$limit = 'LIMIT 0, '.PERPAGE;
$page=1;
}
$cnt = ceil($count / PERPAGE);
if(isset($_GET['page']) && ($_GET['page']>$cnt))
{
blad('Podana strona nie istnieje!');
}
//
//koniec generowania stron
//
?> ?>

View File

@@ -51,7 +51,8 @@ function response() {
return; return;
var xml = ajax.responseXML; var xml = ajax.responseXML;
document.getElementById("curr_image").parentNode.href=document.getElementById("curr_image").src=xml.getElementsByTagName("current")[0].getAttribute("src"); document.getElementById("curr_image").parentNode.href=document.getElementById("curr_image").src='images/upload/'+xml.getElementsByTagName("current")[0].getAttribute("src");
document.title = 'Podgląd zdjęcia nr ' + xml.getElementsByTagName("current")[0].getAttribute("id");
document.getElementById("author").firstChild.nodeValue=xml.getElementsByTagName("author")[0].firstChild.nodeValue; document.getElementById("author").firstChild.nodeValue=xml.getElementsByTagName("author")[0].firstChild.nodeValue;
desc=document.getElementById("description"); desc=document.getElementById("description");
@@ -65,7 +66,7 @@ function response() {
document.getElementById("current").src=xml.getElementsByTagName("current")[0].getAttribute("src"); document.getElementById("current").src=xml.getElementsByTagName("current")[0].getAttribute("src");
if(xml.getElementsByTagName("next").length>0) { if(xml.getElementsByTagName("next").length>0) {
document.getElementById("next_image").src=xml.getElementsByTagName("next")[0].getAttribute("thumb"); document.getElementById("next_image").src='images/upload/'+xml.getElementsByTagName("next")[0].getAttribute("thumb");
nextid=xml.getElementsByTagName("next")[0].getAttribute("id"); nextid=xml.getElementsByTagName("next")[0].getAttribute("id");
document.getElementById("next_image").alt=nextid; document.getElementById("next_image").alt=nextid;
document.getElementById("next").style.display="block"; document.getElementById("next").style.display="block";
@@ -76,7 +77,7 @@ function response() {
} }
if(xml.getElementsByTagName("prev").length>0) { if(xml.getElementsByTagName("prev").length>0) {
document.getElementById("prev_image").src=xml.getElementsByTagName("prev")[0].getAttribute("thumb"); document.getElementById("prev_image").src='images/upload/'+xml.getElementsByTagName("prev")[0].getAttribute("thumb");
previd=xml.getElementsByTagName("prev")[0].getAttribute("id"); previd=xml.getElementsByTagName("prev")[0].getAttribute("id");
document.getElementById("prev_image").alt=previd; document.getElementById("prev_image").alt=previd;
document.getElementById("prev").style.display="block"; document.getElementById("prev").style.display="block";