-
Notifications
You must be signed in to change notification settings - Fork 13
/
index.php
executable file
·128 lines (123 loc) · 5.29 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
/**
* SENAYAN application bootstrap files
*
* Copyright (C) 2007,2008 Arie Nugraha ([email protected])
* Some modifications & patches by Hendro Wicaksono ([email protected])
*
* 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; either version 2 of the License, or
* (at your option) any later version.
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
// key to authenticate
define('INDEX_AUTH', '1');
// required file
require 'sysconfig.inc.php';
// IP based access limitation
require LIB_DIR.'ip_based_access.inc.php';
do_checkIP('opac');
// member session params
require LIB_DIR.'member_session.inc.php';
// start session
session_start();
if ($sysconf['template']['base'] == 'html') {
require SIMBIO_BASE_DIR.'simbio_GUI/template_parser/simbio_template_parser.inc.php';
}
// page title
$page_title = $sysconf['library_name'].' | '.$sysconf['library_subname'].' :: OPAC';
// default library info
$info = __('Web Online Public Access Catalog - Use the search options to find documents quickly');
// total opac result page
$total_pages = 1;
// default header info
$header_info = '';
// HTML metadata
$metadata = '';
// member login information
if (utility::isMemberLogin()) {
$header_info .= '<div id="memberLoginInfo">'.__('You are currently Logged on as member').': <strong>'.$_SESSION['m_name'].' (<em>'.$_SESSION['m_email'].'</em>)</strong> <a id="memberLogout" href="index.php?p=member&logout=1">['.__('LOGOUT').']</a></div>';
}
// start the output buffering for main content
ob_start();
require LIB_DIR.'contents/common.inc.php';
if (isset($_GET['p'])) {
$path = utility::filterData('p', 'get', false, true, true);
// some extra checking
$path = preg_replace('@^(http|https|ftp|sftp|file|smb):@i', '', $path);
$path = preg_replace('@\/@i','',$path);
// check if the file exists
if (file_exists(LIB_DIR.'contents/'.$path.'.inc.php')) {
include LIB_DIR.'contents/'.$path.'.inc.php';
if ($path != 'show_detail') {
$metadata = '<meta name="robots" content="noindex, follow">';
}
} else {
// get content data from database
$metadata = '<meta name="robots" content="noindex, follow">';
include LIB_DIR.'content.inc.php';
$content = new content();
$content_data = $content->get($dbs, $path);
if ($content_data) {
$page_title = $content_data['Title'];
$info = '<div class="contentTitle">'.$content_data['Title'].'</div>';
echo '<div class="contentDesc">'.$content_data['Content'].'</div>';
unset($content_data);
} else {
header ("location:index.php");
}
}
} else {
$metadata = '<meta name="robots" content="noindex, follow">';
// homepage header info
if (!isset($_GET['p'])) {
if ((!isset($_GET['keywords'])) AND (!isset($_GET['page'])) AND (!isset($_GET['title'])) AND (!isset($_GET['author'])) AND (!isset($_GET['subject'])) AND (!isset($_GET['location']))) {
// get content data from database
include LIB_DIR.'content.inc.php';
$content = new content();
$content_data = $content->get($dbs, 'headerinfo');
if ($content_data) {
$header_info .= '<div id="headerInfo">'.$content_data['Content'].'</div>';
unset($content_data);
}
}
}
include LIB_DIR.'contents/default.inc.php';
}
// main content grab
$main_content = ob_get_clean();
// template output
if ($sysconf['template']['base'] == 'html') {
// create the template object
$template = new simbio_template_parser($sysconf['template']['dir'].'/'.$sysconf['template']['theme'].'/index_template.html');
// assign content to markers
$template->assign('<!--PAGE_TITLE-->', $page_title);
$template->assign('<!--CSS-->', $sysconf['template']['css']);
$template->assign('<!--INFO-->', $info);
$template->assign('<!--LIBRARY_NAME-->', $sysconf['library_name']);
$template->assign('<!--LIBRARY_SUBNAME-->', $sysconf['library_subname']);
$template->assign('<!--GMD_LIST-->', $gmd_list);
$template->assign('<!--COLLTYPE_LIST-->', $colltype_list);
$template->assign('<!--LOCATION_LIST-->', $location_list);
$template->assign('<!--LANGUAGE_SELECT-->', $language_select);
$template->assign('<!--ADVSEARCH_AUTHOR-->', $advsearch_author);
$template->assign('<!--ADVSEARCH_TOPIC-->', $advsearch_topic);
$template->assign('<!--HEADER_INFO-->', $header_info);
$template->assign('<!--MAIN_CONTENT-->', $main_content);
if ($metadata) { $template->assign('<!--METADATA-->', $metadata); }
// print out the template
$template->printOut();
} else if ($sysconf['template']['base'] == 'php') {
require $sysconf['template']['dir'].'/'.$sysconf['template']['theme'].'/index_template.inc.php';
}
?>