Browse Source

Nowa wersja webmasterska

git-svn-id: https://svn.pioder.pl/sg-svn@12 3ed2631f-fe0d-47e0-9194-a46bc0f18ee8
master
chp1994 15 years ago
parent
commit
6de08b68b4
16 changed files with 559 additions and 538 deletions
  1. +33
    -34
      robocze/ask.php
  2. +7
    -17
      robocze/config.php
  3. +105
    -0
      robocze/display.php
  4. +48
    -0
      robocze/download.php
  5. +5
    -67
      robocze/functions.php
  6. +74
    -87
      robocze/gallery.php
  7. BIN
      robocze/images/download.png
  8. BIN
      robocze/images/forum.png
  9. BIN
      robocze/images/galeria.png
  10. BIN
      robocze/images/hasło.png
  11. BIN
      robocze/images/linki.png
  12. BIN
      robocze/images/logo.png
  13. +34
    -0
      robocze/index.php
  14. +12
    -105
      robocze/init.php
  15. +103
    -118
      robocze/script.js
  16. +138
    -110
      robocze/style.css

+ 33
- 34
robocze/ask.php View File

@ -1,26 +1,18 @@
<?php
/**
* @package Galeria Suczawa 2009
* @file ask.php
* @version $Id$
* @author chp1994 <chp1994@gmail.com>
* @link http://suczawa.ath.cx/
**/
$i=intval($_GET['name']);
require('./init.php');
if ($i == 0)
{
blad('Zdjecie nie istnieje!');
}
$sql = "SELECT * FROM `photos` WHERE `id`='$i'";
if (!$result = $DB->query($sql))
<?php
require_once('init.php'); #init stuff
$id=(isset($_GET['id']))?intval($_GET['id']):0; #check which photo's info should be send
header('Content-Type: text/xml; charset="utf-8"');
echo '<?xml version="1.0" encoding="utf-8"?>';
?>
<display id="<?=$id?>">
<?
if (!$result = $DB->query('SELECT * FROM photos WHERE id=\'$i\''))
{
blad('Nie mozna pobrac informacji o zdjeciu!');
showError('MySQL error');
}
#sprawdź, czy zdjęcie istnieje
$cnt = $result->num_rows;
if ($result->num_rows == 0)
{
$row = array(
@ -36,17 +28,24 @@ else
$row['author'] = ($row['author']=='') ? 'Autor nieznany' : $row['author'];
$row['description'] = ($row['description']=='') ? 'Brak opisu' : $row['description'];
}
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="utf-8"?>';
?>
<data>
<name><?=$row['id']?>: <?=basename($row['photo_name'])?></name>
<desc xmlns="http://www.w3.org/1999/xhtml"><p><?=$row['description']?></p></desc>
<src><?=$row['photo_name']?></src>
<author><?= $row['author']; ?></author>
<?if($i==$lastid){?><last /><? } ?>
<?if($i==$firstid){?><first /><? } ?>
</data>
}
?>
<current id="<?=htmlspecialchars($row['id'])?>" src="<?=htmlspecialchars($row['photo_name'])?>">
<desc><?=nl2br(htmlspecialchars($row['description']))?></desc>
<author><?=htmlspecialchars($row['author'])?></author>
</current>
<?
$prev = $DB->query('SELECT COUNT(id) FROM photos WHERE id<'.$id)->fetch_row(); #check if there are some previous photos
$prev=$prev[0];
if($prev>0) {
$prev=$DB->query('SELECT * FROM photos WHERE id<'.$id.' ORDER BY id DESC LIMIT 1;')->fetch_assoc(); #if yes, get the previous photo's data
echo '<prev thumb="'.$prev['thumb_name'].'" id="'.$prev['id'].'" />'; #and send it
}
$next = $DB->query('SELECT COUNT(id) FROM photos WHERE id>'.$id)->fetch_row(); #check if there are some next photos
$next=$next[0];
if($next>0) {
$next=$DB->query('SELECT * FROM photos WHERE id>'.$id.' ORDER BY id ASC LIMIT 1;')->fetch_assoc(); #if yes, get the next photo's data
echo '<next thumb="'.$next['thumb_name'].'" id="'.$next['id'].'" />'; #and send it
}
?>
</display>

+ 7
- 17
robocze/config.php View File

@ -1,17 +1,7 @@
<?
/**
* @package Galeria Suczawa 2009
* @file config.php
* @version $Id$
* @author PioDer <pioder@wp.pl>
* @link http://suczawa.ath.cx/
**/
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASS','');
define('DB_NAME','galeria');
//liczba zdjęć na stronę
$per_page=3;
?>
<?php
define('PERPAGE', 12);
define('DB_HOST', '');
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASS', '');
?>

+ 105
- 0
robocze/display.php View File

@ -0,0 +1,105 @@
<?php
require_once('init.php'); #init stuff
$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',
$_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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
<title>Podgląd zdjęcia nr <?=$id?></title>
<link type="text/css" href="style.css" rel="stylesheet" />
<script type="text/javascript">
<!-- <[CDATA[ -->
path='http://<?=$_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI'])?>';
<!-- ]]> -->
</script>
<script type="text/javascript" src="script.js"></script>
</head>
<body onload="init()">
<div id="display">
<?
if (!$result = $DB->query('SELECT * FROM photos WHERE id=\'$i\''))
{
showError('MySQL error');
}
if ($result->num_rows == 0)
{
$row = array(
'author' => '--',
'description' => 'Zdjęcie usunięte',
'photo_name' => 'no_image.png',
'id' => $i
);
}
else
{
$row = $result->fetch_assoc();
$row['author'] = ($row['author']=='') ? 'Autor nieznany' : $row['author'];
$row['description'] = ($row['description']=='') ? 'Brak opisu' : $row['description'];
}?>
<div id="current">
<a href="<?=htmlspecialchars($row['photo_name'])?>"><img id="curr_image" height="300px" alt="Zdjęcie" src="<?=htmlspecialchars($row['photo_name'])?>" /></a>
<br/>
<b>Autor: </b><a id="author"><?=htmlspecialchars($row['author'])?></a><br />
<b>Opis: </b><a id="description"><?=nl2br(htmlspecialchars($row['description']))?></a>
</div>
<?
$prev = $DB->query('SELECT COUNT(id) FROM photos WHERE id<'.$id)->fetch_row(); #check if there are some previous photos
$prev=$prev[0];
if($prev>0) {
$prev=$DB->query('SELECT * FROM photos WHERE id<'.$id.' ORDER BY id DESC LIMIT 1;')->fetch_assoc(); #if yes, get the previous photo's data
?>
<div id="prev">
<a onclick="javascript:prev()">
<img id="prev_image" height="100px" alt="<?=$prev['id']?>" src="<?=$prev['thumb_name']?>" /><br/>
</a>
<a onclick="javascript:prev()">Poprzednie zdjęcie</a>
</div>
<?
}
else {
?>
<div id="prev" style="display: none">
<a onclick="javascript:prev()">
<img id="prev_image" height="100px" alt="" src="" /><br/>
</a>
<a onclick="javascript:prev()">Poprzednie zdjęcie</a>
</div>
<?
}
$next = $DB->query('SELECT COUNT(id) FROM photos WHERE id>'.$id)->fetch_row(); #check if there are some next photos
$next=$next[0];
if($next>0) {
$next=$DB->query('SELECT * FROM photos WHERE id>'.$id.' ORDER BY id ASC LIMIT 1;')->fetch_assoc(); #if yes, get the next photo's data
?>
<div id="next">
<a onclick="javascript:next()">
<img id="next_image" height="100px" alt="<?=$next['id']?>" src="<?=$next['thumb_name']?>" /><br/>
</a>
<a onclick="javascript:next()">Następne zdjęcie</a>
</div>
<?
}
else {
?>
<div id="next" style="display: none">
<a onclick="javascript:next()">
<img id="next_image" height="100px" alt="" src="" /><br/>
</a>
<a onclick="javascript:next()">Następne zdjęcie</a>
</div>
<?
}
?>
</div>
</body>
</html>

+ 48
- 0
robocze/download.php View File

@ -0,0 +1,48 @@
<?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 ||
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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
<title>Download</title>
<link type="text/css" href="style.css" rel="stylesheet" />
</head>
<body>
<div id="page">
<img src="images/logo.png" width="800px" alt="Logo strony" />
<div id="content">
<div id="dlinks">
<div id="dlinks_inner">
<img src="images/linki.png" alt="Linki:" />
<div class="dframe">
<a class="link" href="http://rapidshare.com/files/243528123/ZDJECIA.7z.001">http://rapidshare.com/files/243528123/ZDJECIA.7z.001</a><br/>
<a class="link" href="http://rapidshare.com/files/243652052/ZDJECIA.7z.002">http://rapidshare.com/files/243652052/ZDJECIA.7z.002</a><br/>
<a class="link" href="http://rapidshare.com/files/243685412/ZDJECIA.7z.003">http://rapidshare.com/files/243685412/ZDJECIA.7z.003</a><br/>
<a class="link" href="http://rapidshare.com/files/243743885/ZDJECIA.7z.004">http://rapidshare.com/files/243743885/ZDJECIA.7z.004</a><br/>
<a class="link" href="http://rapidshare.com/files/243781654/ZDJECIA.7z.005">http://rapidshare.com/files/243781654/ZDJECIA.7z.005</a> <br/>
<a class="link" href="http://rapidshare.com/files/243890408/ZDJECIA.7z.006">http://rapidshare.com/files/243890408/ZDJECIA.7z.006</a> <br/>
<a class="link" href="http://rapidshare.com/files/243914577/ZDJECIA.7z.007">http://rapidshare.com/files/243914577/ZDJECIA.7z.007</a> <br/>
<a class="link" href="http://rapidshare.com/files/243926118/ZDJECIA.7z.008">http://rapidshare.com/files/243926118/ZDJECIA.7z.008</a> <br/>
</div>
<img src="images/hasło.png" alt="Hasło:" />
<div class="dframe">
<b>Hasło: </b> Sucava2009
</div>
</div>
</div>
</div>
<div id="footer">
<a id="copyright">Copyright © 2009 ...</a><br />
<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>
</div>
</div>
</div>
</body>
</html>

+ 5
- 67
robocze/functions.php View File

@ -1,67 +1,5 @@
<?
/**
* @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 GenerujListeStron()
{
global $cnt;
global $page;
$content = '';
if ($page>1)
{
$content .= '<a href="?page=1" title="Pierwsza strona">&lt;&lt;</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">&gt;&gt;</a>';
}
#dodaj linka do ostatniej strony
echo $content;
}
?>
<?php
function showError($message) {
die($message);
}
?>

+ 74
- 87
robocze/gallery.php View File

@ -1,88 +1,75 @@
<?php
require_once('init.php'); #init stuff
$page=(isset($_GET['page']))?intval($_GET['page']):1; #check which page should be loaded
$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"?>';
?>
<!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">
<head>
<title>Galeria zdjęć</title>
<link type="text/css" href="style.css" rel="stylesheet" />
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="page">
<img src="images/logo.png" width="800px" alt="Logo strony" />
<div id="content">
<div id="images">
<?php
/**
* @package Galeria Suczawa 2009
* @file gallery.php
* @version $Id$
* @author chp1994 <chp1994@gmail.com>
* @link http://suczawa.ath.cx/
**/
$page= (isset($_GET['page'])) ? intval($_GET['page']) : 0;
$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"');
require('./init.php');
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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
<title>Galeria Suczawa 2009</title>
<link type="text/css" href="style.css" rel="stylesheet" />
<script type="text/javascript">
sciezka = 'http://' + '<?= $_SERVER['HTTP_HOST']; ?>' + '/sg/robocze/';
</script>
<script type="text/javascript" src="script.js"><!-- AJAX Library by chp1994(c) //--></script>
</head>
<body onload="javascipt:init()">
<div id="page">
<div id="images_outer">
<table id="images"><tr>
<?php
//$sql = "SELECT * FROM `photos` LIMIT ".($page*$per_page).", $per_page";
$sql = "SELECT * FROM `photos` $limit";
if (!$result = $DB->query($sql))
{
blad('Nie mozna pobrac zdjec uzytkownikow!');
}
for($i=$page*$per_page; $row = $result->fetch_assoc(); $i++)
{
echo '<td class="image_outer" onclick="javascript:previewImage('.($row['id']).')"><img alt="'.$row['photo_name'].'" src="images/upload/'.$row['thumb_name'].'" class="image" /></td>';
if($i%3==2 && $i!=$count-1) echo '</tr><tr>';
}
while($i%3) {
$i++;
echo '<td class="image_outer_black">&nbsp;</td>';
}
?>
</tr>
</table>
</div>
<div id="pages_outer">
<div id="pages">Strony:
<?php
GenerujListeStron();
?>
</div>
</div>
<div id="disp">
<div id="disp_middle">
<div id="disp_inner">
<div><h3 id="disp_name"> </h3></div>
<div id="disp_top">
<img id="disp_prev" src="images/prev.png" onclick="javascript:prev()" alt="Poprzedni"></img>
<a id="disp_a" href=""><img id="disp_img" src="" alt="Zdjecie" /></a>
<img id="disp_next" src="images/next.png" onclick="javascript:next()" alt="Nastepny"></img>
</div>
<div id="disp_info"></div>
<div><b>Autor:</b> <a id="disp_author"> </a></div>
<a id="disp_close" onclick="javascript:closeDisp()">Zamknij</a>
</div>
</div>
</div>
<div id="icons">
<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1" height="31" width="88" /></a>
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img width="88px" height="31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Poprawny CSS!" /></a>
</div>
</div>
</body>
</html>
if (!$result = $DB->query('SELECT * FROM photos LIMIT '.(($page-1)*PERPAGE).' , '.PERPAGE)) {
showError('MySQL error');
}
while($row = $result->fetch_assoc() ){
?>
<div class="image_outer">
<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']?>" />
</a>
</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:
<?if($page==1)
echo'&lt;&lt;&#160;&lt;&#160;|&#160;';
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 id="footer">
<a id="copyright">Copyright © 2009 ...</a><br />
<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>
</div>
</div>
</div>
</body>
</html>

BIN
robocze/images/download.png View File

Before After
Width: 262  |  Height: 61  |  Size: 5.5 KiB

BIN
robocze/images/forum.png View File

Before After
Width: 259  |  Height: 52  |  Size: 4.3 KiB

BIN
robocze/images/galeria.png View File

Before After
Width: 263  |  Height: 57  |  Size: 7.7 KiB

BIN
robocze/images/hasło.png View File

Before After
Width: 59  |  Height: 18  |  Size: 1.1 KiB

BIN
robocze/images/linki.png View File

Before After
Width: 46  |  Height: 17  |  Size: 758 B

BIN
robocze/images/logo.png View File

Before After
Width: 799  |  Height: 149  |  Size: 77 KiB

+ 34
- 0
robocze/index.php View File

@ -0,0 +1,34 @@
<?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 ||
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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
<title>Strona główna</title>
<link type="text/css" href="style.css" rel="stylesheet" />
</head>
<body>
<div id="page">
<img src="images/logo.png" width="800px" alt="Logo strony" />
<div id="content">
<div id="dlinks">
<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="http://suczawa.ath.cx"><img src="images/forum.png" alt="Forum" /></a>
</div>
</div>
<div id="footer">
<a id="copyright">Copyright © 2009 ...</a><br />
<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>
</div>
</div>
</div>
</body>
</html>

+ 12
- 105
robocze/init.php View File

@ -1,105 +1,12 @@
<?
/**
* @package Galeria Suczawa 2009
* @file init.php
* @version $Id$
* @author chp1994 <chp1994@gmail.com>
* @link http://suczawa.ath.cx/
**/
#dołącz plik konfiguracyjny oraz funkcje
require('./config.php');
require('./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!');
}
#połącz z bazą danych
$DB = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
#sprawdź pomyślność połączenia
if ($DB->connect_error)
{
blad('Could not connect do database server ('.$DB->connect_errno.')'.$DB->connect_error);
}
if (!$DB->query("SET NAMES 'utf8'"))
{
blad('Could not set character to UTF-8');
}
#pobierz id pierwszego zdjęcia
$sql = "SELECT `id` FROM `photos` ORDER BY `id` LIMIT 1";
if (!$result = $DB->query($sql))
{
blad('Nie mozna odczytac id pierwszego zdjecia!');
}
$row = $result->fetch_assoc();
$firstid = $row['id'];
$result->free; //zwolnij pamięć
unset($row);
#pobierz id ostatniego zdjęcia
$sql = "SELECT `id` FROM `photos` ORDER BY `id` DESC LIMIT 1";
if (!$result = $DB->query($sql))
{
blad('Nie mozna odczytac id ostatniego zdjecia!');
}
$row = $result->fetch_assoc();
$lastid = $row['id'];
$result->free; //zwolnij pamięć
unset($row);
#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)*$per_page;
$limit = 'LIMIT '.$value . ', '.$per_page;
$page = $_GET['page'];
}
else
{
$limit = 'LIMIT 0, '.$per_page;
$page=1;
}
$cnt = ceil($count / $per_page);
if(isset($_GET['page']) && ($_GET['page']>$cnt))
{
blad('Podana strona nie istnieje!');
}
//
//koniec generowania stron
//
?>
<?
require_once('config.php');
require_once('functions.php');
$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
showError('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');
}
?>

+ 103
- 118
robocze/script.js View File

@ -1,118 +1,103 @@
var ajax;
var disp;
var disp_img;
var disp_info;
var disp_name;
var disp_author, disp_a;
var curr, last, first;
function init() {
initAjax();
disp=document.getElementById("disp");
disp_a=document.getElementById("disp_a");
disp_name=document.getElementById("disp_name");
disp_author=document.getElementById("disp_author");
disp_img=document.getElementById("disp_img");
disp_info=document.getElementById("disp_info");
if (!document.importNode) {
document.importNode = function(node, allChildren) {
switch (node.nodeType) {
case 1:
var newNode = document.createElement(node.nodeName);
/*if (node.attributes && node.attributes.length > 0)
for (var i = 0; il = node.attributes.length; i < il)
newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName));*/
//alert("Attr done");
if (allChildren && node.childNodes && node.childNodes.length > 0) {
il=node.childNodes.length;
for (var i = 0; i < il; i++)
newNode.appendChild(document.importNode(node.childNodes[i], allChildren));
}
return newNode;
break;
default:
return document.createTextNode(node.nodeValue);
break;
}
};
}
if(!disp_name.firstChild)
disp_name.appendChild(document.createTextNode(' '));
if(!disp_author.firstChild)
disp_author.appendChild(document.createTextNode(' '));
}
function initAjax() {
try {
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();
ajax.overrideMimeType('text/xml');
}
else if (window.ActiveXObject)
ajax = new ActiveXObject('Microsoft.XMLHTTP');
else throw 'AJAX Error';
}
catch (e) {
return false;
}
if (!ajax) {
alert('AJAX Error');
return false;
}
return true;
}
function response() {
if (ajax.readyState != 4 || ajax.status != 200)
return;
var xml = ajax.responseXML;
while(disp_info.hasChildNodes()) disp_info.removeChild(disp_info.firstChild);
elemXML=xml.getElementsByTagName("desc")[0];
if(document.importNode) children=document.importNode(elemXML, true).childNodes;
else children=elemXML.childNodes;
for(i=0; i<children.length; i++) {
disp_info.appendChild(children[i]);
}
disp_img.src= 'images/upload/' + xml.getElementsByTagName("src")[0].firstChild.nodeValue;
disp_a.href= 'images/upload/' + xml.getElementsByTagName("src")[0].firstChild.nodeValue;
disp_name.firstChild.nodeValue=xml.getElementsByTagName("name")[0].firstChild.nodeValue;
disp_author.firstChild.nodeValue=xml.getElementsByTagName("author")[0].firstChild.nodeValue;
if(xml.getElementsByTagName("last").length) {
document.getElementById("disp_next").src="images/next_i.png";
last=true;
}
if(xml.getElementsByTagName("first").length) {
document.getElementById("disp_prev").src="images/prev_i.png";
first=true;
}
disp.style.display="block";
}
function previewImage(el) {
curr=el;
last=false;
first=false
document.getElementById("disp_next").src="images/next.png";
document.getElementById("disp_prev").src="images/prev.png";
ajax.onreadystatechange = response;
ajax.open('GET', sciezka + 'ask.php?name=' + el, true);
ajax.send(null);
}
function prev() {
if(!first) previewImage(curr-1);
}
function next() {
if(!last) previewImage(curr+1);
}
function closeDisp() {
disp.style.display="none";
}
var ajax, previd, nextid;
function init() {
initAjax();
if (!document.importNode) {
document.importNode = function(node, allChildren) {
switch (node.nodeType) {
case 1:
var newNode = document.createElement(node.nodeName);
if (allChildren && node.childNodes && node.childNodes.length > 0) {
il=node.childNodes.length;
for (var i = 0; i < il; i++)
newNode.appendChild(document.importNode(node.childNodes[i], allChildren));
}
return newNode;
break;
default:
return document.createTextNode(node.nodeValue);
break;
}
};
}
nextid=(document.getElementById("next_image")!=null)?document.getElementById("next_image").alt:-1;
previd=(document.getElementById("prev_image")!=null)?document.getElementById("prev_image").alt:-1;
}
function initAjax() {
try {
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();
ajax.overrideMimeType('text/xml');
}
else if (window.ActiveXObject)
ajax = new ActiveXObject('Microsoft.XMLHTTP');
else throw 'AJAX Error';
}
catch (e) {
return false;
}
if (!ajax) {
alert('AJAX Error');
return false;
}
return true;
}
function response() {
if (ajax.readyState != 4 || ajax.status != 200)
return;
var xml = ajax.responseXML;
document.getElementById("curr_image").parentNode.href=document.getElementById("curr_image").src=xml.getElementsByTagName("current")[0].getAttribute("src");
document.getElementById("author").firstChild.nodeValue=xml.getElementsByTagName("author")[0].firstChild.nodeValue;
desc=document.getElementById("description");
while(desc.hasChildNodes()) desc.removeChild(desc.firstChild);
children=document.importNode(xml.getElementsByTagName("desc")[0], true).childNodes;
for(i=0; i<children.length; i++) {
desc.appendChild(children[i]);
}
document.getElementById("current").src=xml.getElementsByTagName("current")[0].getAttribute("src");
if(xml.getElementsByTagName("next").length>0) {
document.getElementById("next_image").src=xml.getElementsByTagName("next")[0].getAttribute("thumb");
nextid=xml.getElementsByTagName("next")[0].getAttribute("id");
document.getElementById("next_image").alt=nextid;
document.getElementById("next").style.display="block";
}
else {
document.getElementById("next").style.display="none";
nextid=-1;
}
if(xml.getElementsByTagName("prev").length>0) {
document.getElementById("prev_image").src=xml.getElementsByTagName("prev")[0].getAttribute("thumb");
previd=xml.getElementsByTagName("prev")[0].getAttribute("id");
document.getElementById("prev_image").alt=previd;
document.getElementById("prev").style.display="block";
}
else {
document.getElementById("prev").style.display="none";
previd=-1;
}
}
function previewImage(el) {
if(el==-1) return 0;
ajax.onreadystatechange = response;
ajax.open('GET', path+ '/ask.php?id=' + el, true);
ajax.send(null);
}
function prev() {
previewImage(previd);
}
function next() {
previewImage(nextid);
}

+ 138
- 110
robocze/style.css View File

@ -1,110 +1,138 @@
body {
background-color: black;
text-align: center;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
#page {
margin: auto;
width: 700px;
}
.image_outer_black {
width: 190px;
height: 120px;
padding: 7px;
margin: 5px;
display: inline-block;
text-align: center;
}
.image_outer {
width: 190px;
height: 120px;
padding: 7px;
margin: 5px;
background-color: gray;
display: inline-block;
text-align: center;
cursor: pointer;
}
.image_outer:hover {
background-color: #F0F0F0;
}
.image {
max-width: 200px;
max-height: 120px;
}
#images_outer {
text-align: center;
}
#images {
margin:auto;
}
#disp {
width: 80%;
background-color: gray;
border: solid 1px black;
margin-left: auto;
margin-right: auto;
position: fixed;
top: 10%;
left: 10%;
display:none;
text-align: center;
padding: 2px;
font-size: 8pt;
}
#disp_close {
cursor: pointer;
}
#disp_close:hover {
text-decoration: underline;
}
#disp_a, #disp_a img {
border: none;
}
#disp_prev, #disp_next {
margin-bottom: 15%;
}
#disp_img {
text-align: center;
margin:auto;
max-height: 300px;
max-width: 80%;
height: 300px;
}
#disp_info {
clear: both;
}
#icons {
padding: 0px;
margin: 0px;
text-align: center;
}
#icons a, #icons img {
padding: 0px;
margin: 0px;
text-decoration: none;
border: none;
}
#pages {
color: white;
text-align: left;
margin-left: 40px;
}
#pages a, #pages a:link, #pages a:hover, #pages a:visited {
color: white;
}
html, body {
min-height:100%;
margin: 0px;
padding: 0px;
background-color: #515151;
text-align: center;
color: white;
}
#page, #display {
font-family: sans-serif;
font-size: 8.5pt;
margin: 0 auto;
width: 800px;
height: auto !important;
height: 100%;
min-height: 100%;
background-color: #353535;
position: relative;
}
#page {
text-align: left;
height: 100%;
min-height: 100%;
}
#display {
padding-top: 26px;
}
.image_outer {
display: inline-block;
_display: inline;
background-color: #515151;
padding: 13px;
margin: 10px;
height: 100px;
width: 150px;
_width: 180px;
text-align: center;
}
.image_outer:hover {
background-color: #989898;
}
.image_outer img {
border: none;
}
.image {
max-height: 100px;
max-width: 150px;
}
#curr_image {
max-width: 500px;
max-height: 300px;
}
#prev, #next {
padding: 20px;
cursor: pointer;
}
#prev {
float: left;
}
#next {
float: right;
}
a:link, a:visited {
color: white;
text-decoration: none;
}
a:hover {
color: white;
text-decoration: underline;
}
a img {
border: none;
}
#prev_image, #next_image {
border: none;
}
#pages {
margin: 5px;
color: #898989;
}
#pages a:link, #pages a:visited {
color: #4c88cb;
text-decoration: none;
}
#pages a:hover {
color: #4c88cb;
text-decoration: underline;
}
#content {
padding-bottom: 60px;
}
#footer {
font-size: 7pt;
color: gray;
text-align: center;
width: 800px;
position: absolute;
bottom: 0;
border-top: 2px solid #4c88cb;
padding-top: 20px;
}
#copyright {
color: #4c88cb;
text-decoration: none;
}
#links {
padding-top: 10px;
}
#links a:link, #links a:visited {
text-decoration: none;
font-size: 8pt;
color: #898989;
}
#links a:hover {
text-decoration: underline;
font-size: 8pt;
color: #898989;
}
#dlinks {
text-align: center;
}
#dlinks_inner {
width: 756px;
text-align: left;
margin: auto;
}
#dlinks_inner img {
margin: 16px 0px 3px 0px;
}
.dframe {
background-color: #2f2f2f;
border: 1px solid #292828;
margin: 17px 8px 3px 8px;
font-size: small;
}
#dlinks a img {
margin: 16px 0px 16px 0px;
}

Loading…
Cancel
Save