Файл: album.php
Строк: 144
<?php
define('_VALID', true);
require 'include/config.php';
require 'include/function_global.php';
require 'include/function_smarty.php';
require 'classes/pagination.class.php';
if ( $config['photo_module'] == '0' ) {
VRedirect::go($config['BASE_URL']. '/notfound/page_invalid');
}
$module_template = 'album';
$page = ( isset($_GET['page']) && is_numeric($_GET['page']) ) ? $_GET['page'] : 1;
$query = get_request();
if ( is_array($query) ) {
foreach ( $query as $key => $value ) {
if ( $value == 'album' ) {
if ( isset($query[$key+1]) ) {
$next = $query[$key+1];
if ( is_numeric($next) ) {
$aid = $next;
} else {
$module = $next;
$modules_allowed = array('slideshow', 'edit', 'addphotos', 'delete');
if ( in_array($module, $modules_allowed) ) {
$aid = ( isset($query[$key+2]) ) ? $query[$key+2] : NULL;
} else {
VRedirect::go($config['BASE_URL']. '/notfound/album_missing');
}
}
}
}
}
}
if ( !isset($aid) || !is_numeric($aid) ) {
VRedirect::go($config['BASE_URL']. '/notfound/album_missing');
}
$aid = intval($aid);
$sql = "SELECT * FROM albums WHERE AID = " .$aid. " LIMIT 1";
$rs = $conn->execute($sql);
if ( $conn->Affected_Rows() != 1 ) {
VRedirect::go($config['BASE_URL']. '/notfound/album_missing');
}
$album = $rs->getrows();
$album = $album['0'];
$name = $album['name'];
$tags = $album['tags'];
$uid = intval($album['UID']);
$sql = "SELECT * FROM signup WHERE UID = '" .$uid. "' LIMIT 1";
$rs = $conn->execute($sql);
if ( $conn->Affected_Rows() != 1 ) {
VRedirect::go($config['BASE_URL']. '/notfound/user_missing');
}
$user = $rs->getrows();
$user = $user['0'];
$username = $user['username'];
$sql = "SELECT * FROM users_online WHERE UID = " .$uid. " AND online > " .(time()-300). " LIMIT 1";
$rs = $conn->execute($sql);
if ( $conn->Affected_Rows() == 1 )
$online = true;
else
$online = false;
if ( isset($module) ) {
require 'modules/album/' .$module. '.php';
$module_template = 'album_' .$module;
} else {
$is_friend = true;
if ( $album['type'] == 'private' ) {
$UID = ( isset($_SESSION['uid']) ) ? intval($_SESSION['uid']) : NULL;
if ( $UID ) {
if ( $UID != $album['UID'] ) {
$sql = "SELECT FID FROM friends
WHERE ((UID = " .$uid. " AND FID = " .$UID. ")
OR (UID = " .$UID. " AND FID = " .$uid. "))
AND status = 'Confirmed'
LIMIT 1";
$conn->execute($sql);
if ( $conn->Affected_Rows() == 0 ) {
$is_friend = false;
}
}
} else {
$is_friend = false;
}
}
$sql = "SELECT COUNT(PID) AS total_photos FROM photos WHERE AID = " .$aid. " AND status = '1'";
$rsc = $conn->execute($sql);
$total = $rsc->fields['total_photos'];
$pagination = new Pagination(12);
$limit = $pagination->getLimit($total);
$sql = "SELECT PID, caption FROM photos WHERE AID = " .$aid. " AND status = '1' ORDER BY PID ASC LIMIT " .$limit;
$rs = $conn->execute($sql);
$photos = $rs->getrows();
$page_link = $pagination->getPagination('album/' .$aid. '/');
$start_num = $pagination->getStartItem();
$end_num = $pagination->getEndItem();
$sql = "UPDATE albums SET total_views = total_views+1 WHERE AID = " .$aid. " LIMIT 1";
$conn->execute($sql);
$smarty->assign('photos_total', $total);
$smarty->assign('photos', $photos);
$smarty->assign('page_link', $page_link);
$smarty->assign('start_num', $start_num);
$smarty->assign('end_num', $end_num);
$smarty->assign('is_friend', $is_friend);
}
$self_title = $name.$seo['album_title'];
$self_meta_description = $name;
$self_meta_keywords = str_replace(' ', ', ', $tags);
$smarty->assign('errors',$errors);
$smarty->assign('err',$err);
$smarty->assign('messages',$messages);
$smarty->assign('menu', 'albums');
$smarty->assign('user', $user);
$smarty->assign('online', $online);
$smarty->assign('username', $username);
$smarty->assign('album', $album);
$smarty->assign('self_title', $self_title);
$smarty->assign('self_meta_description', $self_meta_description);
$smarty->assign('self_meta_keywords', $self_meta_keywords);
$smarty->loadFilter('output', 'trimwhitespace');
$smarty->display('header.tpl');
$smarty->display($module_template. '.tpl');
$smarty->display('footer.tpl');
?>