467 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			467 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 	// Project:    Web Reference Database (refbase) <http://www.refbase.net>
 | |
| 	// Copyright:  Matthias Steffens <mailto:refbase@extracts.de> and the file's
 | |
| 	//             original author(s).
 | |
| 	//
 | |
| 	//             This code is distributed in the hope that it will be useful,
 | |
| 	//             but WITHOUT ANY WARRANTY. Please see the GNU General Public
 | |
| 	//             License for more details.
 | |
| 	//
 | |
| 	// File:       ./index.php
 | |
| 	// Repository: $HeadURL: file:///svn/p/refbase/code/branches/bleeding-edge/index.php $
 | |
| 	// Author(s):  Matthias Steffens <mailto:refbase@extracts.de>
 | |
| 	//
 | |
| 	// Created:    29-Jul-02, 16:45
 | |
| 	// Modified:   $Date: 2016-11-06 01:55:25 +0000 (Sun, 06 Nov 2016) $
 | |
| 	//             $Author: karnesky $
 | |
| 	//             $Revision: 1413 $
 | |
| 
 | |
| 	// This script builds the main page.
 | |
| 	// It provides login and quick search forms
 | |
| 	// as well as links to various search forms.
 | |
| 
 | |
| 
 | |
| 	// Incorporate some include files:
 | |
| 	include 'initialize/db.inc.php'; // 'db.inc.php' is included to hide username and password
 | |
| 	include 'includes/header.inc.php'; // include header
 | |
| 	include 'includes/footer.inc.php'; // include footer
 | |
| 	include 'includes/include.inc.php'; // include common functions
 | |
| 	include 'initialize/ini.inc.php'; // include common variables
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// Check for admin tools
 | |
| 	if ((file_exists('install.php')||file_exists('update.php')) && $ignoreAdminWarning!=true){
 | |
| 		echo "<head><title>Administartion tools detected</title></head><body><h1>Administration tools detected</h2><p>Please finish installing or updating refbase according to the instructions and then remove 'install.php' and 'update.php' from your installation.</p></body>";
 | |
| 		exit;
 | |
| 	}
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// START A SESSION:
 | |
| 	// call the 'start_session()' function (from 'include.inc.php') which will also read out available session variables:
 | |
| 	start_session(true);
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// Initialize preferred display language:
 | |
| 	// (note that 'locales.inc.php' has to be included *after* the call to the 'start_session()' function)
 | |
| 	include 'includes/locales.inc.php'; // include the locales
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// If there's no stored message available:
 | |
| 	if (!isset($_SESSION['HeaderString']))
 | |
| 		$HeaderString = $loc["Default Welcome Message"]; // Provide the default welcome message
 | |
| 	else
 | |
| 	{
 | |
| 		$HeaderString = $_SESSION['HeaderString']; // extract 'HeaderString' session variable (only necessary if register globals is OFF!)
 | |
| 
 | |
| 		// Note: though we clear the session variable, the current message is still available to this script via '$HeaderString':
 | |
| 		deleteSessionVariable("HeaderString"); // function 'deleteSessionVariable()' is defined in 'include.inc.php'
 | |
| 	}
 | |
| 
 | |
| 	// Extract the view type requested by the user (either 'Mobile', 'Print', 'Web' or ''):
 | |
| 	// ('' will produce the default 'Web' output style)
 | |
| 	if (isset($_REQUEST['viewType']))
 | |
| 		$viewType = $_REQUEST['viewType'];
 | |
| 	else
 | |
| 		$viewType = "";
 | |
| 
 | |
| 	// Setup an array of arrays holding URL and title information for all RSS feeds available on this page:
 | |
| 	// (appropriate <link...> tags will be included in the HTML header for every URL specified)
 | |
| 	$rssURLArray = array();
 | |
| 
 | |
| 	if (isset($_SESSION['user_permissions']) AND preg_match("/allow_rss_feeds/", $_SESSION['user_permissions'])) // if the 'user_permissions' session variable contains 'allow_rss_feeds'...
 | |
| 	{
 | |
| 		$showRows = $_SESSION['userRecordsPerPage']; // get the default number of records per page preferred by the current user
 | |
| 
 | |
| 		$rssURLArray[] = array("href"  => generateURL("show.php", $defaultFeedFormat, array("where" => 'serial RLIKE ".+"'), true, $showRows), // function 'generateURL()' is defined in 'include.inc.php', variable '$defaultFeedFormat' is defined in 'ini.inc.php'
 | |
| 		                       "title" => "records added most recently");
 | |
| 
 | |
| 		$rssURLArray[] = array("href"  => generateURL("show.php", $defaultFeedFormat, array("where" => 'created_date = CURDATE()'), true, $showRows),
 | |
| 		                       "title" => "records added today");
 | |
| 
 | |
| 		$rssURLArray[] = array("href"  => generateURL("show.php", $defaultFeedFormat, array("where" => 'modified_date = CURDATE()'), true, $showRows),
 | |
| 		                       "title" => "records edited today");
 | |
| 	}
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// Adjust the width of the right-hand column according to the calling user agent:
 | |
| 	// NOTE: strictly, this isn't really necessary but it helps to achieve a similar appearance of the login form on Firefox/Gecko & Safari/WebKit browsers (with all supported GUI languages)
 | |
| 	// TODO: figure out a better way (which isn't based on user agent sniffing); the problem could also be avoided by simply stacking <input> fields & their labels on top of each other
 | |
| 	if (isset($_SERVER['HTTP_USER_AGENT']) AND preg_match("/AppleWebKit/i", $_SERVER['HTTP_USER_AGENT']))
 | |
| 		$rightColumnWidth = "215";
 | |
| 	else
 | |
| 		$rightColumnWidth = "225";
 | |
| 
 | |
| 	// Get the total number of records:
 | |
| 	$recordCount = getTotalNumberOfRecords(); // function 'getTotalNumberOfRecords()' is defined in 'include.inc.php'
 | |
| 
 | |
| 	// Show the login status:
 | |
| 	showLogin(); // (function 'showLogin()' is defined in 'include.inc.php')
 | |
| 
 | |
| 	// (4) DISPLAY header:
 | |
| 	// call the 'displayHTMLhead()' and 'showPageHeader()' functions (which are defined in 'header.inc.php'):
 | |
| 	displayHTMLhead(encodeHTML($officialDatabaseName) . " -- " . $loc["Home"], "index,follow", "Search the " . encodeHTML($officialDatabaseName), "", true, "", $viewType, $rssURLArray);
 | |
| 	showPageHeader($HeaderString);
 | |
| 
 | |
| 	// Define variables holding common drop-down elements, i.e. build properly formatted <option> tag elements:
 | |
| 	// - "Browse My Refs" form:
 | |
| 	$dropDownFieldNameArray2 = array("author"      => $loc["DropDownFieldName_Author"],
 | |
| 	                                 "year"        => $loc["DropDownFieldName_Year"],
 | |
| 	                                 "publication" => $loc["DropDownFieldName_Publication"],
 | |
| 	                                 "keywords"    => $loc["DropDownFieldName_Keywords"],
 | |
| 	                                 "user_keys"   => $loc["DropDownFieldName_UserKeys"]);
 | |
| 
 | |
| 	$dropDownItems2 = buildSelectMenuOptions($dropDownFieldNameArray2, "//", "\t\t\t\t\t", true); // function 'buildSelectMenuOptions()' is defined in 'include.inc.php'
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| ?>
 | |
| 
 | |
| <table align="center" border="0" cellpadding="2" cellspacing="5" width="90%" summary="This table explains features, goals and usage of the <?php echo encodeHTML($officialDatabaseName); ?>">
 | |
| 	<tr>
 | |
| 		<td colspan="2"><h3><?php echo $loc["RecentChanges"]; ?></h3></td>
 | |
| 		<td width="<?php echo $rightColumnWidth; ?>" valign="bottom" rowspan="2">
 | |
| <?php
 | |
| if (!isset($_SESSION['loginEmail']))
 | |
| 	{
 | |
| ?>
 | |
| 			<div id="userlogin" class="box">
 | |
| 				<div class="boxHead">
 | |
| 					<h3><?php echo $loc["Login"]; ?>:</h3>
 | |
| 				</div>
 | |
| 				<div class="boxBody">
 | |
| 					<form action="user_login.php" method="POST" name="login">
 | |
| 						<fieldset>
 | |
| 							<legend><?php echo $loc["Login"]; ?>:</legend>
 | |
| 							<input type="hidden" name="referer" value="index.php">
 | |
| 							<div id="loginUser">
 | |
| 								<div id="loginUserLabel">
 | |
| 									<label for="loginEmail"><?php echo $loc["Email"]; ?>:</label>
 | |
| 								</div>
 | |
| 								<div id="loginUserInput">
 | |
| 									<input type="text" id="loginEmail" name="loginEmail">
 | |
| 								</div>
 | |
| 							</div>
 | |
| 							<div id="loginPwd">
 | |
| 								<div id="loginPwdLabel">
 | |
| 									<label for="loginPassword"><?php echo $loc["Password"]; ?>:</label>
 | |
| 								</div>
 | |
| 								<div id="loginPwdInput">
 | |
| 									<input type="password" id="loginPassword" name="loginPassword">
 | |
| 								</div>
 | |
| 							</div>
 | |
| 							<div id="loginSubmit">
 | |
| 								<input type="submit" value="<?php echo $loc["ButtonTitle_Login"]; ?>">
 | |
| 							</div><?php
 | |
| 		if ($addNewUsers == "everyone")
 | |
| 			{
 | |
| ?>
 | |
| 
 | |
| 							<div id="register">
 | |
| 								<a href="user_details.php" title="<?php echo $loc["registerAccount"]; ?>"><?php echo $loc["Register"]; ?></a>
 | |
| 							</div><?php
 | |
| 			}
 | |
| ?>
 | |
| 
 | |
| 						</fieldset>
 | |
| 					</form>
 | |
| 				</div>
 | |
| 			</div><?php
 | |
| 	}
 | |
| elseif (isset($_SESSION['loginEmail']) AND (isset($_SESSION['user_permissions']) AND preg_match("/allow_user_groups/", $_SESSION['user_permissions']))) // if a user is logged in AND the 'user_permissions' session variable contains 'allow_user_groups', show the 'Show My Groups' form:
 | |
| 	{
 | |
| 		if (!isset($_SESSION['userGroups']))
 | |
| 			$groupSearchDisabled = " disabled"; // disable the 'Show My Groups' form if the session variable holding the user's groups isnt't available
 | |
| 		else
 | |
| 			$groupSearchDisabled = "";
 | |
| ?>
 | |
| 			<div id="showgroupmain" class="box">
 | |
| 				<div class="boxHead">
 | |
| 					<h3><?php echo $loc["ShowMyGroup"]; ?>:</h3>
 | |
| 				</div>
 | |
| 				<div class="boxBody">
 | |
| 					<form action="search.php" method="GET" name="groupSearch">
 | |
| 						<fieldset>
 | |
| 							<legend><?php echo $loc["ShowMyGroup"]; ?>:</legend>
 | |
| 							<input type="hidden" name="formType" value="groupSearch">
 | |
| 							<input type="hidden" name="showQuery" value="0">
 | |
| 							<input type="hidden" name="showLinks" value="1">
 | |
| 							<div id="groupSelect">
 | |
| 								<label for="groupSearchSelector"><?php echo $loc["My"]; ?>:</label>
 | |
| 								<select name="groupSearchSelector"<?php echo $groupSearchDisabled; ?>><?php
 | |
| 
 | |
| 								if (isset($_SESSION['userGroups']))
 | |
| 								{
 | |
| 									$optionTags = buildSelectMenuOptions($_SESSION['userGroups'], "/ *; */", "\t\t\t\t\t\t\t\t\t", false); // build properly formatted <option> tag elements from the items listed in the 'userGroups' session variable
 | |
| 									echo $optionTags;
 | |
| 								}
 | |
| 								else
 | |
| 								{
 | |
| ?>
 | |
| 
 | |
| 									<option>(<?php echo $loc["NoGroupsAvl"]; ?>)</option><?php
 | |
| 								}
 | |
| ?>
 | |
| 
 | |
| 								</select>
 | |
| 							</div>
 | |
| 							<div id="groupSubmit">
 | |
| 								<input type="submit" value="<?php echo $loc["ButtonTitle_Show"]; ?>"<?php echo $groupSearchDisabled; ?>>
 | |
| 							</div>
 | |
| 						</fieldset>
 | |
| 					</form>
 | |
| 				</div>
 | |
| 			</div><?php
 | |
| 	}
 | |
| else
 | |
| 	{
 | |
| ?>
 | |
| 			 <?php
 | |
| 	}
 | |
| ?>
 | |
| 
 | |
| 		</td>
 | |
| 	</tr>
 | |
| 	<tr>
 | |
| 		<td width="15"> </td>
 | |
| 		<td>
 | |
| <?php
 | |
| 	// Get the current year & date in order to include them into query URLs:
 | |
| 	$CurrentYear = date('Y');
 | |
| 	$CurrentDate = date('Y-m-d');
 | |
| 	// We'll also need yesterday's date for inclusion into query URLs:
 | |
| 	$TimeStampYesterday = mktime(0, 0, 0, date('m'), (date('d') - 1), date('Y'));
 | |
| 	$DateYesterday = date('Y-m-d', $TimeStampYesterday);
 | |
| 	// Plus, we'll calculate the date that's a week ago (again, for inclusion into query URLs):
 | |
| 	$TimeStampLastWeek = mktime(0, 0, 0, date('m'), (date('d') - 7), date('Y'));
 | |
| 	$DateLastWeek = date('Y-m-d', $TimeStampLastWeek);
 | |
| 
 | |
| 	if (isset($_SESSION['loginEmail'])) // if a user is logged in
 | |
| 	{
 | |
| 		// Get the date & time of the last login for the current user:
 | |
| 		if (!empty($lastLogin)) // '$lastLogin' is provided as session variable
 | |
| 		{
 | |
| 			$lastLoginDate = date('Y-m-d', strtotime($lastLogin));
 | |
| 			$lastLoginTime = date('H:i:s', strtotime($lastLogin));
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			$lastLoginDate = "";
 | |
| 			$lastLoginTime = "";
 | |
| 		}
 | |
| 	}
 | |
| ?>
 | |
| 			<div id="recentlinks">
 | |
| 				<ul type="circle" class="moveup">
 | |
| 					<li><?php echo $loc["added"]; ?>: <a href="show.php?date=<?php echo $CurrentDate; ?>"><?php echo $loc["today"]; ?></a> | <a href="show.php?date=<?php echo $DateYesterday; ?>"><?php echo $loc["yesterday"]; ?></a> | <a href="show.php?date=<?php echo $DateLastWeek; ?>&range=after"><?php echo $loc["last 7 days"]; ?></a><?php if (isset($_SESSION['loginEmail']) AND !empty($lastLoginDate) AND !empty($lastLoginTime)) { ?> | <a href="show.php?date=<?php echo $lastLoginDate; ?>&time=<?php echo $lastLoginTime; ?>&range=equal_or_after"><?php echo $loc["since last login"]; ?></a><?php } ?></li>
 | |
| 					<li><?php echo $loc["edited"]; ?>: <a href="show.php?date=<?php echo $CurrentDate; ?>&when=edited"><?php echo $loc["today"]; ?></a> | <a href="show.php?date=<?php echo $DateYesterday; ?>&when=edited"><?php echo $loc["yesterday"]; ?></a> | <a href="show.php?date=<?php echo $DateLastWeek; ?>&when=edited&range=after"><?php echo $loc["last 7 days"]; ?></a><?php if (isset($_SESSION['loginEmail']) AND !empty($lastLoginDate) AND !empty($lastLoginTime)) { ?> | <a href="show.php?date=<?php echo $lastLoginDate; ?>&time=<?php echo $lastLoginTime; ?>&when=edited&range=equal_or_after"><?php echo $loc["since last login"]; ?></a><?php } ?></li>
 | |
| 					<li><?php echo $loc["published in"]; ?>: <a href="show.php?year=<?php echo $CurrentYear; ?>"><?php echo $CurrentYear; ?></a> | <a href="show.php?year=<?php echo ($CurrentYear - 1); ?>"><?php echo ($CurrentYear - 1); ?></a> | <a href="show.php?year=<?php echo ($CurrentYear - 2); ?>"><?php echo ($CurrentYear - 2); ?></a> | <a href="show.php?year=<?php echo ($CurrentYear - 3); ?>"><?php echo ($CurrentYear - 3); ?></a></li>
 | |
| 				</ul>
 | |
| 			</div>
 | |
| 		</td>
 | |
| 	</tr><?php
 | |
| if (isset($_SESSION['user_permissions']) AND preg_match("/allow_browse_view/", $_SESSION['user_permissions'])) // if the 'user_permissions' session variable contains 'allow_browse_view'...
 | |
| 	{
 | |
| ?>
 | |
| 
 | |
| 	<tr>
 | |
| 		<td width="15"> </td>
 | |
| 		<td>
 | |
| 			<?php echo $loc["browse all"]; ?>:
 | |
| 		</td>
 | |
| 		<td width="<?php echo $rightColumnWidth; ?>" valign="top">
 | |
| <?php
 | |
| if (isset($_SESSION['loginEmail']) AND (isset($_SESSION['user_permissions']) AND preg_match("/allow_browse_view/", $_SESSION['user_permissions'])))
 | |
| 	{
 | |
| ?>
 | |
| 			<h5><?php echo $loc["BrowseMyRefs"]; ?>:</h5><?php
 | |
| 	}
 | |
| else
 | |
| 	{
 | |
| ?>
 | |
| 			 <?php
 | |
| 	}
 | |
| ?>
 | |
| 
 | |
| 		</td>
 | |
| 	</tr>
 | |
| 	<tr>
 | |
| 		<td width="15"> </td>
 | |
| 		<td>
 | |
| 			<ul type="circle" class="moveup">
 | |
| 				<li><a href="show.php?submit=Browse&by=author"><?php echo $loc["author"]; ?></a> | <a href="show.php?submit=Browse&by=year"><?php echo $loc["year"]; ?></a> | <a href="show.php?submit=Browse&by=publication"><?php echo $loc["publication"]; ?></a> | <a href="show.php?submit=Browse&by=keywords"><?php echo $loc["keywords"]; ?></a></li>
 | |
| 				<li><a href="show.php?submit=Browse&by=location"><?php echo $loc["location"]; ?></a> | <a href="show.php?submit=Browse&by=area"><?php echo $loc["area"]; ?></a> | <a href="show.php?submit=Browse&by=language"><?php echo $loc["language"]; ?></a> | <a href="show.php?submit=Browse&by=type"><?php echo $loc["type"]; ?></a></li>
 | |
| 			</ul>
 | |
| 		</td>
 | |
| 		<td width="<?php echo $rightColumnWidth; ?>" valign="top">
 | |
| <?php
 | |
| if (isset($_SESSION['loginEmail']) AND (isset($_SESSION['user_permissions']) AND preg_match("/allow_browse_view/", $_SESSION['user_permissions']))) // if a user is logged in AND the 'user_permissions' session variable contains 'allow_browse_view', show the 'Browse My Refs' form:
 | |
| 	{
 | |
| ?>
 | |
| 			<form action="search.php" method="GET">
 | |
| 				<input type="hidden" name="formType" value="myRefsBrowse">
 | |
| 				<input type="hidden" name="submit" value="Browse">
 | |
| 				<input type="hidden" name="showQuery" value="0">
 | |
| 				<input type="hidden" name="showLinks" value="1">
 | |
| 				<input type="hidden" name="showRows" value="10">
 | |
| 				<select name="browseFieldSelector"><?php
 | |
| 
 | |
| $browseMyRefsDropDownItems = preg_replace("/<option([^>]*)>" . $loc["DropDownFieldName_Author"] . "/", "<option\\1 selected>" . $loc["DropDownFieldName_Author"], $dropDownItems2); // select the 'author' menu entry ...
 | |
| echo $browseMyRefsDropDownItems;
 | |
| ?>
 | |
| 
 | |
| 				</select>
 | |
| 				<br>
 | |
| 				<input type="submit" value="<?php echo $loc["ButtonTitle_Browse"]; ?>">
 | |
| 			</form><?php
 | |
| 	}
 | |
| else
 | |
| 	{
 | |
| ?>
 | |
| 			 <?php
 | |
| 	}
 | |
| ?>
 | |
| 
 | |
| 		</td>
 | |
| 	</tr><?php
 | |
| 	}
 | |
| ?>
 | |
| 
 | |
| 	<tr>
 | |
| 		<td width="15"> </td>
 | |
| 		<td>
 | |
| 			<?php echo $loc["MostRecentPublications"]; ?>:
 | |
| 		</td>
 | |
| 		<td width="<?php echo $rightColumnWidth; ?>" valign="top" rowspan="2">
 | |
| <?php
 | |
| if (isset($_SESSION['loginEmail']) AND (isset($_SESSION['user_permissions']) AND preg_match("/allow_user_queries/", $_SESSION['user_permissions']))) // if a user is logged in AND the 'user_permissions' session variable contains 'allow_user_queries', show the 'Recall My Query' form:
 | |
| 	{
 | |
| 		if (!isset($_SESSION['userQueries']))
 | |
| 			$querySearchDisabled = " disabled"; // disable the 'Recall My Query' form if the session variable holding the user's queries isn't available
 | |
| 		else
 | |
| 			$querySearchDisabled = "";
 | |
| ?>
 | |
| 			<div id="recallquerymain" class="box">
 | |
| 				<div class="boxHead">
 | |
| 					<h3><?php echo $loc["RecallMyQuery"]; ?>:</h3>
 | |
| 				</div>
 | |
| 				<div class="boxBody">
 | |
| 					<form action="queries.php" method="GET" name="querySearch">
 | |
| 						<fieldset>
 | |
| 							<legend><?php echo $loc["RecallMyQuery"]; ?>:</legend>
 | |
| 							<input type="hidden" name="formType" value="querySearch">
 | |
| 							<input type="hidden" name="showQuery" value="0">
 | |
| 							<input type="hidden" name="showLinks" value="1">
 | |
| 							<div id="recallSelect">
 | |
| 								<label for="querySearchSelector"><?php echo $loc["Query"]; ?>:</label>
 | |
| 								<select name="querySearchSelector"<?php echo $querySearchDisabled; ?>><?php
 | |
| 
 | |
| 								if (isset($_SESSION['userQueries']))
 | |
| 								{
 | |
| 									$optionTags = buildSelectMenuOptions($_SESSION['userQueries'], "/ *; */", "\t\t\t\t\t\t\t\t\t", false); // build properly formatted <option> tag elements from the items listed in the 'userQueries' session variable
 | |
| 									echo $optionTags;
 | |
| 								}
 | |
| 								else
 | |
| 								{
 | |
| ?>
 | |
| 
 | |
| 									<option>(<?php echo $loc["NoQueriesAvl"]; ?>)</option><?php
 | |
| 								}
 | |
| ?>
 | |
| 
 | |
| 								</select>
 | |
| 							</div>
 | |
| 							<div id="recallSubmit">
 | |
| 								<input type="submit" name="submit" value="<?php echo $loc["ButtonTitle_Go"]; ?>"<?php echo $querySearchDisabled; ?>>
 | |
| 								<input type="submit" name="submit" value="<?php echo $loc["ButtonTitle_Edit"]; ?>"<?php echo $querySearchDisabled; ?>>
 | |
| 							</div>
 | |
| 						</fieldset>
 | |
| 					</form>
 | |
| 				</div>
 | |
| 			</div><?php
 | |
| 	}
 | |
| else
 | |
| 	{
 | |
| ?>
 | |
| 			 <?php
 | |
| 	}
 | |
| ?>
 | |
| 
 | |
| 		</td>
 | |
| 	</tr>
 | |
| 	<tr>
 | |
| 		<td width="15"> </td>
 | |
| 		<td>
 | |
| 			<div id="includerefs"><?php
 | |
| 
 | |
| 			// Fetch the most recently added publications (as formatted citations), or link to them:
 | |
| 
 | |
| 			$recentAdditionsResultTable = "";
 | |
| 
 | |
| 			// Get all user permissions for the anonymous user (userID = 0):
 | |
| 			// NOTE: since function 'fetchDataFromURL()' retrieves citations anonymously (i.e. the
 | |
| 			//       current user's session is not maintained, see note below), we need to check the
 | |
| 			//       permissions for the *anonymous* user (userID = 0) here
 | |
| 			$anonymousUserPermissionsArray = getPermissions(0, "user", false); // function 'getPermissions()' is defined in 'include.inc.php'
 | |
| 
 | |
| 			if (isset($_SESSION['user_permissions']) AND ($anonymousUserPermissionsArray["allow_cite"] == "yes")) // if the anonymous user is allowed to output records as citations
 | |
| 			{
 | |
| 				// NOTE: - as an alternative to the below code block, we could also fetch citations via an AJAX event and let the JavaScript functions in file 'javascript/show.js' ' write the results into the '<div id="includerefs">' section;
 | |
| 				//         to do so:
 | |
| 				//           1. pass the JavaScript file 'javascript/show.js' as the 6th parameter to the 'displayHTMLhead' function (see above)
 | |
| 				//           2. call JavaScript function 'showRefs()' via an 'onload' event in the body tag of function 'displayHTMLhead()' in 'includes/header.inc.php':  onload="showRefs('records=all&showRows=5&citeOrder=creation-date')"
 | |
| 				//              TODO: function 'displayHTMLhead()' should get modified so that it only calls the 'onload' event if necessary/requested
 | |
| 				// 
 | |
| 				//       - the above alternative works within the user's current session, i.e. the links section will contain any edit or file links (if the user has appropriate permissions);
 | |
| 				//         however, the below method (which uses function 'fetchDataFromURL()') does NOT maintain the user's current session (and adding the user's current PHPSESSID doesn't seem to work ?:-/)
 | |
| 
 | |
| 				// Prepare a query that will fetch a HTML table with the most recently added publications (as formatted citations):
 | |
| 				$recentAdditionsQueryURL = $databaseBaseURL . "show.php?records=all&submit=Cite&showRows=5&citeOrder=creation-date&client=inc-refbase-1.0&wrapResults=0"; // variable '$databaseBaseURL' is defined in 'ini.inc.php'
 | |
| 
 | |
| 				$recentAdditionsResultTable = fetchDataFromURL($recentAdditionsQueryURL); // function 'fetchDataFromURL()' is defined in 'include.inc.php'
 | |
| 			}
 | |
| 
 | |
| 			if (!empty($recentAdditionsResultTable))
 | |
| 			{
 | |
| 				echo $recentAdditionsResultTable;
 | |
| 			}
 | |
| 			else
 | |
| 			{
 | |
| ?>
 | |
| 
 | |
| 				<a href="show.php?records=all&citeOrder=creation-date"><?php echo $loc["ShowAll"]; ?></a><?php
 | |
| 			}
 | |
| ?>
 | |
| 
 | |
| 			</div>
 | |
| 		</td>
 | |
| 	</tr>
 | |
| 	<tr>
 | |
| 		<td colspan="3"><h3><?php echo $loc["about"]; ?></h3></td>
 | |
| 	</tr>
 | |
| 	<tr>
 | |
| 		<td width="15"> </td>
 | |
| 		<td><?php echo $loc["ThisDatabaseIsMaintained"]; ?> <a href="<?php echo $hostInstitutionURL; ?>"><?php echo encodeHTML($hostInstitutionName); ?></a> (<?php echo encodeHTML($hostInstitutionAbbrevName); ?>). <?php echo $loc["You are welcome to send"]; ?> <a href="mailto:<?php echo $feedbackEmail; ?>"><?php echo $loc["feedback address"]; ?></a>. <?php echo $loc["refbaseDesc"]; ?></td>
 | |
| 		<td width="<?php echo $rightColumnWidth; ?>" valign="top" align="center"><a href="http://www.refbase.net/"><img src="img/refbase_credit.gif" alt="powered by refbase" width="142" height="51" hspace="0" border="0"></a></td>
 | |
| 	</tr>
 | |
| </table><?php
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// (5) CLOSE the database connection:
 | |
| 	disconnectFromMySQLDatabase(); // function 'disconnectFromMySQLDatabase()' is defined in 'include.inc.php'
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| 
 | |
| 	// DISPLAY THE HTML FOOTER:
 | |
| 	// call the 'showPageFooter()' and 'displayHTMLfoot()' functions (which are defined in 'footer.inc.php')
 | |
| 	showPageFooter($HeaderString);
 | |
| 
 | |
| 	displayHTMLfoot();
 | |
| 
 | |
| 	// --------------------------------------------------------------------
 | |
| ?>
 |