aboutsummaryrefslogtreecommitdiffstats
path: root/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'index.php')
-rw-r--r--index.php487
1 files changed, 487 insertions, 0 deletions
diff --git a/index.php b/index.php
new file mode 100644
index 000000000..937cff75a
--- /dev/null
+++ b/index.php
@@ -0,0 +1,487 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | branch : BSF (Best So Far)
+// | file : $RCSfile$
+// | last update : $Date$
+// | last modifier : $Author$
+// | revision : $Revision$
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+//--------------------------------------------------------------------- include
+define('PHPWG_ROOT_PATH','./');
+include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+include(PHPWG_ROOT_PATH.'include/section_init.inc.php');
+
+// +-----------------------------------------------------------------------+
+// | Check Access and exit when user status is not ok |
+// +-----------------------------------------------------------------------+
+check_status(ACCESS_GUEST);
+
+//---------------------------------------------------------------------- logout
+if ( isset( $_GET['act'] )
+ and $_GET['act'] == 'logout'
+ and isset( $_COOKIE[session_name()] ) )
+{
+ // cookie deletion if exists
+ $_SESSION = array();
+ session_unset();
+ session_destroy();
+ setcookie(session_name(),'',0, cookie_path() );
+ redirect( make_index_url() );
+}
+
+//---------------------------------------------- change of image display order
+if (isset($_GET['image_order']))
+{
+ setcookie(
+ 'pwg_image_order',
+ $_GET['image_order'] > 0 ? $_GET['image_order'] : '',
+ 0
+ );
+
+ redirect(
+ duplicate_index_URL(
+ array(), // nothing to redefine
+ array('start') // changing display order goes back to section first page
+ )
+ );
+}
+//-------------------------------------------------------------- initialization
+// detection of the start picture to display
+if (!isset($page['start']))
+{
+ $page['start'] = 0;
+}
+
+// access authorization check
+if (isset($page['category']))
+{
+ check_restrictions($page['category']);
+}
+
+if (isset($page['cat_nb_images'])
+ and $page['cat_nb_images'] > $user['nb_image_page'])
+{
+ $page['navigation_bar'] = create_navigation_bar(
+ duplicate_index_URL(array(), array('start')),
+ $page['cat_nb_images'],
+ $page['start'],
+ $user['nb_image_page'],
+ true
+ );
+}
+else
+{
+ $page['navigation_bar'] = '';
+}
+
+// caddie filling :-)
+if (isset($_GET['caddie']))
+{
+ fill_caddie($page['items']);
+ // redirect();
+}
+
+//----------------------------------------------------- template initialization
+//
+// Start output of page
+//
+$title = $page['title'];
+$page['body_id'] = 'theCategoryPage';
+include(PHPWG_ROOT_PATH.'include/page_header.php');
+
+$template->set_filenames( array('index'=>'index.tpl') );
+//-------------------------------------------------------------- category title
+if (isset($page['category']))
+{
+ $template_title = get_cat_display_name( $page['cat_name'], '', false );
+}
+else
+{
+ $template_title = $page['title'];
+}
+
+if (isset($page['cat_nb_images']) and $page['cat_nb_images'] > 0)
+{
+ $template_title.= ' ['.$page['cat_nb_images'].']';
+}
+
+$icon_recent = get_icon(date('Y-m-d'));
+
+if (!isset($page['chronology_field']))
+{
+ $chronology_params =
+ array(
+ 'chronology_field' => 'created',
+ 'chronology_style' => 'monthly',
+ 'chronology_view' => 'list',
+ );
+ $template->assign_block_vars(
+ 'mode_created',
+ array(
+ 'URL' => duplicate_index_URL( $chronology_params, array('start') )
+ )
+ );
+
+ $chronology_params['chronology_field'] = 'posted';
+ $template->assign_block_vars(
+ 'mode_posted',
+ array(
+ 'URL' => duplicate_index_URL( $chronology_params, array('start') )
+ )
+ );
+}
+else
+{
+ $template->assign_block_vars(
+ 'mode_normal',
+ array(
+ 'URL' => duplicate_index_URL( array(), array('chronology_field','start') )
+ )
+ );
+
+ if ($page['chronology_field'] == 'created')
+ {
+ $chronology_field = 'posted';
+ }
+ else
+ {
+ $chronology_field = 'created';
+ }
+ $url = duplicate_index_URL(
+ array('chronology_field'=>$chronology_field ),
+ array('chronology_date', 'start')
+ );
+ $template->assign_block_vars(
+ 'mode_'.$chronology_field,
+ array('URL' => $url )
+ );
+}
+
+$template->assign_vars(
+ array(
+ 'NB_PICTURE' => $user['nb_total_images'],
+ 'TITLE' => $template_title,
+ 'USERNAME' => $user['username'],
+ 'TOP_NUMBER' => $conf['top_number'],
+ 'MENU_CATEGORIES_CONTENT' => get_categories_menu(),
+
+ 'F_IDENTIFY' => get_root_url().'identification.php',
+ 'T_RECENT' => $icon_recent,
+
+ 'U_HOME' => make_index_URL(),
+ 'U_REGISTER' => get_root_url().'register.php',
+ 'U_LOST_PASSWORD' => get_root_url().'password.php',
+ 'U_LOGOUT' => add_url_params(make_index_URL(), array('act'=>'logout') ),
+ 'U_ADMIN'=> get_root_url().'admin.php',
+ 'U_PROFILE'=> get_root_url().'profile.php',
+ )
+ );
+
+if ('search' == $page['section'])
+{
+ $template->assign_block_vars(
+ 'search_rules',
+ array(
+ 'URL' => get_root_url().'search_rules.php?search_id='.$page['search'],
+ )
+ );
+}
+//-------------------------------------------------------------- external links
+if (count($conf['links']) > 0)
+{
+ $template->assign_block_vars('links', array());
+
+ foreach ($conf['links'] as $url => $label)
+ {
+ $template->assign_block_vars(
+ 'links.link',
+ array(
+ 'URL' => $url,
+ 'LABEL' => $label
+ )
+ );
+ }
+}
+//---------------------------------------------------------- special categories
+// favorites categories
+if ( !$user['is_the_guest'] )
+{
+ $template->assign_block_vars('username', array());
+
+ $template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' => make_index_URL(array('section' => 'favorites')),
+ 'TITLE' => $lang['favorite_cat_hint'],
+ 'NAME' => $lang['favorite_cat']
+ ));
+}
+// most visited
+$template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' => make_index_URL(array('section' => 'most_visited')),
+ 'TITLE' => $lang['most_visited_cat_hint'],
+ 'NAME' => $lang['most_visited_cat']
+ ));
+// best rated
+if ($conf['rate'])
+{
+ $template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' => make_index_URL(array('section' => 'best_rated')),
+ 'TITLE' => $lang['best_rated_cat_hint'],
+ 'NAME' => $lang['best_rated_cat']
+ )
+ );
+}
+// random
+$template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' => get_root_url().'random.php',
+ 'TITLE' => $lang['random_cat_hint'],
+ 'NAME' => $lang['random_cat']
+ ));
+// recent pics
+$template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' => make_index_URL(array('section' => 'recent_pics')),
+ 'TITLE' => $lang['recent_pics_cat_hint'],
+ 'NAME' => $lang['recent_pics_cat']
+ ));
+// recent cats
+$template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' => make_index_URL(array('section' => 'recent_cats')),
+ 'TITLE' => $lang['recent_cats_cat_hint'],
+ 'NAME' => $lang['recent_cats_cat']
+ ));
+
+// calendar
+$template->assign_block_vars(
+ 'special_cat',
+ array(
+ 'URL' =>
+ make_index_URL(
+ array(
+ 'chronology_field' => ($conf['calendar_datefield']=='date_available'
+ ? 'posted' : 'created'),
+ 'chronology_style'=> 'monthly',
+ 'chronology_view' => 'calendar'
+ )
+ ),
+ 'TITLE' => $lang['calendar_hint'],
+ 'NAME' => $lang['calendar']
+ )
+ );
+//--------------------------------------------------------------------- summary
+
+if ($user['is_the_guest'])
+{
+ $template->assign_block_vars('register', array());
+ $template->assign_block_vars('login', array());
+
+ $template->assign_block_vars('quickconnect', array());
+ if ($conf['authorize_remembering'])
+ {
+ $template->assign_block_vars('quickconnect.remember_me', array());
+ }
+}
+else
+{
+ $template->assign_block_vars('hello', array());
+
+ if (is_autorize_status(ACCESS_CLASSIC))
+ {
+ $template->assign_block_vars('profile', array());
+ }
+
+ // the logout link has no meaning with Apache authentication : it is not
+ // possible to logout with this kind of authentication.
+ if (!$conf['apache_authentication'])
+ {
+ $template->assign_block_vars('logout', array());
+ }
+
+ if (is_admin())
+ {
+ $template->assign_block_vars('admin', array());
+ }
+}
+
+// search link
+$template->assign_block_vars(
+ 'summary',
+ array(
+ 'TITLE'=>$lang['hint_search'],
+ 'NAME'=>$lang['search'],
+ 'U_SUMMARY'=> get_root_url().'search.php',
+ 'REL'=> 'rel="search"'
+ )
+ );
+
+// comments link
+$template->assign_block_vars(
+ 'summary',
+ array(
+ 'TITLE'=>$lang['hint_comments'],
+ 'NAME'=>$lang['comments'],
+ 'U_SUMMARY'=> get_root_url().'comments.php',
+ )
+ );
+
+// about link
+$template->assign_block_vars(
+ 'summary',
+ array(
+ 'TITLE' => $lang['about_page_title'],
+ 'NAME' => $lang['About'],
+ 'U_SUMMARY' => 'about.php?'.str_replace(
+ '&',
+ '&amp;',
+ $_SERVER['QUERY_STRING']
+ )
+ )
+ );
+
+// notification
+$template->assign_block_vars(
+ 'summary',
+ array(
+ 'TITLE'=>l10n('notification'),
+ 'NAME'=>l10n('Notification'),
+ 'U_SUMMARY'=> get_root_url().'notification.php',
+ 'REL'=> 'rel="nofollow"'
+ )
+ );
+
+if (isset($page['category']) and is_admin())
+{
+ $template->assign_block_vars(
+ 'edit',
+ array(
+ 'URL' =>
+ get_root_url().'admin.php?page=cat_modify'
+ .'&amp;cat_id='.$page['category']
+ )
+ );
+}
+
+if (is_admin() and !empty($page['items']) )
+{
+ $template->assign_block_vars(
+ 'caddie',
+ array(
+ 'URL' =>
+ add_url_params(duplicate_index_url(), array('caddie'=>1) )
+ )
+ );
+ }
+
+//------------------------------------------------------ main part : thumbnails
+if (isset($page['thumbnails_include']))
+{
+ include(PHPWG_ROOT_PATH.$page['thumbnails_include']);
+}
+//------------------------------------------------------- category informations
+if (
+ $page['navigation_bar'] != ''
+ or (isset($page['comment']) and $page['comment'] != '')
+ )
+{
+ $template->assign_block_vars('cat_infos',array());
+}
+// navigation bar
+if ($page['navigation_bar'] != '')
+{
+ $template->assign_block_vars(
+ 'cat_infos.navigation',
+ array(
+ 'NAV_BAR' => $page['navigation_bar'],
+ )
+ );
+}
+
+if (isset($page['cat_nb_images']) and $page['cat_nb_images'] > 0
+ and $page['section'] != 'most_visited'
+ and $page['section'] != 'best_rated')
+{
+ // image order
+ $template->assign_block_vars( 'preferred_image_order', array() );
+
+ $order_idx = isset($_COOKIE['pwg_image_order'])
+ ? $_COOKIE['pwg_image_order']
+ : 0
+ ;
+
+ $orders = get_category_preferred_image_orders();
+ for ($i = 0; $i < count($orders); $i++)
+ {
+ if ($orders[$i][2])
+ {
+ $template->assign_block_vars(
+ 'preferred_image_order.order',
+ array(
+ 'DISPLAY' => $orders[$i][0],
+ 'URL' => add_url_params( duplicate_index_URL(), array('image_order'=>$i) ),
+ 'SELECTED_OPTION' => ($order_idx==$i ? 'SELECTED' : ''),
+ )
+ );
+ }
+ }
+}
+
+if (isset($page['category']))
+{
+ // upload a picture in the category
+ if ($page['cat_uploadable'])
+ {
+ $url = get_root_url().'upload.php?cat='.$page['category'];
+ $template->assign_block_vars(
+ 'upload',
+ array(
+ 'U_UPLOAD'=> $url
+ )
+ );
+ }
+
+ // category comment
+ if (isset($page['comment']) and $page['comment'] != '')
+ {
+ $template->assign_block_vars(
+ 'cat_infos.comment',
+ array(
+ 'COMMENTS' => $page['comment']
+ )
+ );
+ }
+}
+//------------------------------------------------------------ log informations
+pwg_log('category', $page['title']);
+
+$template->parse('index');
+include(PHPWG_ROOT_PATH.'include/page_tail.php');
+?>