Файл: admin/modules/photos.php
Строк: 200
<?php
defined('CAFE') or die (header ('Location: /'));
$_POST = clear_input ($_POST);
$_GET = clear_input ($_GET);
check_error ();
// если ошибок нет, выполняем нужные операции
if (empty ($error)) {
// добавляем новую фотографию
if ($_POST['add']) {
clear_html ($_POST, array ());
timestamp ($_POST['date']);
$add_photo = "INSERT `" . DB_PREFIX . "_photos` (
`title`,
`description`,
`date`,
`album`)
VALUES (
'" . $_POST['title'] . "',
'" . $_POST['description'] . "',
'" . $date . "',
'" . $_POST['album'] . "'
)";
// загружаем фотографию, сжимаем и делаем превью
file_upload (array("jpeg","jpg"), "image/jpeg", "../upload/photo/original/" . $date . ".jpg");
resize_pic ($_FILES["file"]["tmp_name"], "800", "600", "../upload/photo/800-600/".$date.".jpg", "75");
crop_preview ($_FILES["file"]["tmp_name"], "200", "../upload/photo/220-220/".$date.".jpg", "75");
make_query ($add_photo, 'add');
}
// добавляем новый альбом
if ($_POST['add_album']) {
clear_html ($_POST, array ());
translit ($_POST['url'], $_POST['title']);
$add_album = "INSERT `" . DB_PREFIX . "_albums` (
`title`,
`description`,
`url`)
VALUES (
'" . $_POST['title'] . "',
'" . $_POST['description'] . "',
'" . $url . "')";
make_query ($add_album, 'add', 'photos&action=album_list');
}
// обновляем фото при изменении
if ($_POST['update']) {
clear_html ($_POST, array ());
$update_photo = "UPDATE `" . DB_PREFIX . "_photos` SET
`title` = '" . $_POST['title'] . "',
`description` = '" . $_POST['description'] . "',
`album` = '" . $_POST['album'] . "'
WHERE `id` = '" . $_POST['id'] . "'";
make_query ($update_photo, 'upd');
}
// обновляем альбом при изменении
if ($_POST['update_album']) {
clear_html ($_POST, array ());
translit ($_POST['url'], $_POST['title']);
$update_album = "UPDATE `" . DB_PREFIX . "_albums` SET
`url` = '" . $url . "',
`title` = '" . $_POST['title'] . "',
`description` = '" . $_POST['description'] . "'
WHERE `id` = '" . $_POST['id'] . "'";
make_query ($update_album, 'upd', 'photos&action=album_list');
}
// удаление фотографии
if ($action == 'delete') terminator ();
// удаление альбома
if ($action == 'album_delete') {
if ($_SESSION['status'] == '1') {
$get_photo = mysql_query ("SELECT id FROM `" . DB_PREFIX . "_photos` WHERE `album` = " . $_GET['id']);
if (mysql_num_rows ($get_photo) >= '1') {
print_error ('Этот альбом содержит фотографии. Удаление невозможно.');
} else {
$delete = "DELETE FROM `" . DB_PREFIX . "_albums` WHERE `id` = " . $_GET['id'] . " LIMIT 1";
if (mysql_query ($delete)) {
header ('Location: ?section=photos&action=album_list&del=ok');
}
}
} else {
log_write ('Не удалось удалить альбом: не достаточно прав', '0', '1');
print_error ('Не достаточно прав для выполнения действия.');
}
}
}
?>
<div class="module-menu">
<a href="/admin/index.php?section=photos&action=list" title="Список загруженных фотографий">Список фотографий</a></li>
<a href="/admin/index.php?section=photos&action=add" title="Добавить фотографии">Добавить фотографии</a>
<a href="/admin/index.php?section=photos&action=album_list" title="Список альбомов">Альбомы</a>
<a href="/admin/index.php?section=photos&action=album_add" title="Добавить альбомов">Добавить альбом</a>
</div>
<div class="module-messages">
<?php
print_message ();
if (!empty ($error)) print_error ($error);
?>
</div>
<div class="module-content">
<?php
// выводим список фотографий
if (empty($action) || $action == 'list') {
?>
<p class="section-title">Список фотографий</p>
<?
echo '<div class="albums-list">';
$photo_list = mysql_query ("SELECT id, title, album, date FROM `" . DB_PREFIX . "_photos` ORDER BY `id` DESC");
if (mysql_num_rows ($photo_list) < '1') {
echo '<p>Не загружено ни одной фотографии. Вы можете сделать это
прямо сейчас. <a href="/admin/index.php?section=photos&action=add">
Загрузить фото?</a></p>';
} else {
while ($row = mysql_fetch_array ($photo_list, MYSQL_ASSOC)) {
echo '<div class="photo-item">
<a href="/admin/index.php?section=photos&action=view&id=' . $row['id'] . '"><img src="/upload/photo/220-220/' . $row['date'] . '.jpg" width="220" height="220"></a>
<p class="photo-span-top"><a href="/admin/index.php?section=photos&action=view&id=' . $row['id'] . '">' . $row['title'] . '</a></p>
<p class="photo-span-bottom">';
if ($_SESSION['status'] == '1') {echo '<a href="/admin/index.php?section=photos&action=delete&id=' . $row['id'] . '">удалить</a> ';}
echo '<a href="/admin/index.php?section=photos&action=edit&id=' . $row['id'] . '&album=' . $row['album'] . '">изменить</a>
</p>
</div>';
}
}
}
// просмотр фотографии
if ($action == 'view' && empty ($error)) {
$view_photo = mysql_query ("SELECT * FROM `" . DB_PREFIX . "_photos` WHERE `id` = " . $_GET['id']);
while ($row = mysql_fetch_array ($view_photo, MYSQL_ASSOC)) {
echo '
<a href="?section=photos&action=delete&id=' . $row['id'] . '">удалить</a>
<a href="?section=photos&action=edit&id=' . $row['id'] . '&album=' . $row['album'] . '">изменить</a>
<h1>' . $row['title'] . '</h1><p>' . $row['description'] . '</p>
<img src="/upload/photo/800-600/' . $row['date'] . '.jpg">
<p>Дата размещения: ' . date ("j.m.Y H:i", $row['date']);
}
}
// выводим форму, если выбрано добавление фотографии или ее изменение
if (($action == 'add' || $action == 'edit') && empty ($error)) {
// изменение фотографии
if ($action == 'edit' && isset ($_GET['id']) && empty ($error)) {
$photo_list = @mysql_query ("SELECT * FROM `" . DB_PREFIX . "_photos` WHERE `id` = " . $_GET['id'] . " LIMIT 1");
$row = mysql_fetch_array ($photo_list, MYSQL_ASSOC);
}
?>
<div>
<p class="section-title">
<?php
if ($action == 'add') {echo "Добавление новой фотографии";} else {echo "Изменение фотографии";}
?>
</p>
<form enctype="multipart/form-data" name="new-photo" action="/admin/index.php?section=photos" method="post">
<p><input type="hidden" name="id"<? if (isset ($row['id'])) {echo ' value="' . $row['id'] . '"';} ?>></p>
<div class="photo-add-left">
<p>Название фотографии: <br>
<input type="text" name="title" id="title" size="50"<? if (isset ($row['title'])) {echo ' value="' . $row['title'] . '"';} ?>></p>
<p>Описание фотографии:<br>
<textarea name="description" cols=50 rows=3><? echo $row['description']; ?></textarea></p>
</div>
<div class="photo-add-right">
<p>Альбом: <br>
<select size="1" name="album" class="photo-select">
<option selected value="0">/</option>
<?php
$sql_list = mysql_query ("SELECT * FROM `" . DB_PREFIX . "_albums`");
while ($row = mysql_fetch_array ($sql_list, MYSQL_ASSOC)) {
echo '<option ';
if ($_GET['album'] == $row['id']) {echo 'selected ';}
echo 'value="' . $row['id'] . '">' . $row['title'] . '</option>';
}
?>
</select>
</p>
<?php
if ($action == 'add') {
echo '<p>Выберите файл<br><input type="file" name="file" size="20"></p>';
}
?>
</div>
<div class="photo-add-left">
<?php
if ($action != 'edit') {?>
<p>Дата добавления: <br>
<input type="text" name="date"<? if (isset ($row['date'])) {echo ' value="' . date('H:i:s d.m.Y', $row['date']) . '"';} else {echo ' value="' . date ('H:i:s d.m.Y') . '"';} ?>></p>
<?php } ?>
<p>
<?php
($action == 'edit') ? $name="update" : $name="add";
echo '<input type="submit" name="' . $name . '" value="сохранить">';
?>
</p>
</div>
</form>
</div>
<?php
}
// выводим список альбомов
if ($action == 'album_list' && empty ($error)) {
?>
<p class="section-title">Список альбомов</p>
<?php
$albums_list = mysql_query ("SELECT id, title FROM `" . DB_PREFIX . "_albums`");
if (mysql_num_rows ($albums_list) < '1') {
echo '<p>Не создано ни одного альбома. Вы можете сделать это
прямо сейчас. <a href="/admin/index.php?section=photos&action=album_add">
Создать альбом?</a></p>';
} else {
while ($row = mysql_fetch_array ($albums_list, MYSQL_ASSOC)) {
echo '<div class="album-list-row">
<div class="album-list-title">
<a href="/admin/index.php?section=photos&action=album_view&id=' . $row['id'] . '">' . $row['title'] . '</a>
</div>
<div class="album-list-actions"> ';
if ($_SESSION['status'] == '1') {echo '<a href="/admin/index.php?section=photos&action=album_delete&id=' . $row['id'] . '">удалить</a> ';}
echo '<a href="/admin/index.php?section=photos&action=album_edit&id=' . $row['id'] . '">изменить</a>
</div>
</div>';
}
}
}
// добавление нового или изменение существующего альбома
if (($action == 'album_edit' && isset ($_GET['id'])) || $action == 'album_add' && empty ($error)) {
if ($action == 'album_edit') {
$album_list = @mysql_query ("SELECT * FROM `" . DB_PREFIX . "_albums` WHERE `id` = " . $_GET['id']);
while ($row = mysql_fetch_array ($album_list, MYSQL_ASSOC)) {
$id = $row['id'];
$title = $row['title'];
$description = $row['description'];
$url = $row['url'];
}
}
?>
<div>
<p class="section-title">
<?php
if ($action == 'add') {echo "Добавление нового альбома";} else {echo "Изменение альбома";}
?>
</p>
<form name="new_album" action="/admin/index.php?section=photos" method="post">
<p><input type="hidden" name="id"<?php if (isset ($id)) {echo ' value="' . $id . '"';} ?>></p>
<p>Название альбома: <br>
<input type="text" name="title" id="title" size="50"<?php if (isset ($title)) {echo ' value="' . $title . '"';} ?>></p>
<p>Адрес альбома: <br>
<input type="text" name="url" id="url" size="50"<?php if (isset ($url)) {echo ' value="' . $url . '"';} ?>>
<a style="cursor:pointer" onclick="translit()"> автозаполнение</a></p>
<p>Описание альбома:<br>
<textarea name="description" cols="50" rows="3"><?php echo $description; ?></textarea></p>
<p>
<?php
($action == 'album_edit') ? $name="update_album" : $name="add_album";
echo '<input type="submit" name="' . $name . '" value="сохранить">';
?>
</p>
</form>
</div>
<?php
}
// просмотр содержимого альбома (фотографий)
if ($action == 'album_view' && isset ($_GET['id']) && empty ($error)) {
?>
<p class="section-title">Список фотографий</p>
<?
$photo_list = mysql_query ("SELECT * FROM `" . DB_PREFIX . "_photos` WHERE `album` =" . $_GET['id'] . " ORDER BY `id` DESC");
if (mysql_num_rows ($photo_list) < '1') {
echo '<p>В этом альбоме нет фотографий. <a href="/admin/index.php?section=photos&action=add&album=' . $_GET['id'] . '">Загрузить фото?</a></p>';
} else {
?>
<a href="/admin/index.php?section=photos&action=add&album=<?php echo $_GET['id']; ?>">Добавить фотографии в этот альбом</a><br>
<?
while ($row = mysql_fetch_array ($photo_list, MYSQL_ASSOC)) {
echo '<div class="photo-item">
<a href="/admin/index.php?section=photos&action=view&id=' . $row['id'] . '"><img src="/upload/photo/220-220/' . $row['date'] . '.jpg" width="220" height="220"></a>
<p class="photo-span-top">
<a href="/admin/index.php?section=photos&action=view&id=' . $row['id'] . '">' . $row['title'] . '</a>
</p>
<p class="photo-span-bottom">
<a href="/admin/index.php?section=photos&action=delete&id=' . $row['id'] . '">удалить</a>
<a href="/admin/index.php?section=photos&action=edit&id=' . $row['id'] . '&album=' . $row['album'] . '">изменить</a>
</p>
</div>';
}
}
}
?>
</div>