<?
//
// Copyright (c) 2002, Cameron McKay
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//
// Informium -- Advanced News Script
//
// Article Display Script (article-engine.php)
//
// Author: Cameron McKay
// Note: Displays the articles in the database.
//
// Import CONF & Version Info.
require_once('conf/inf-conf.php');
require_once('conf/version.php');
// Report ID.
echo "<!-- Generated by: $CONF[id] -->\n";
// Import ARTICLE and MYSQL class.
require_once("$CONF[local_path]/class/article-class.php");
require_once("$CONF[local_path]/class/mysql-class.php");
// Create new ARTICLE and MYSQL objects.
$article = new article();
$db = new mysql();
// Connect to the DB.
$db->pconnect();
// If the variable 'post_id' is greater than 0, then we show the comments
// and the extended story for that post id.
if ($post_id > 0) {
// Prepare and execute the query.
$query = "SELECT * FROM news WHERE post_id='$post_id'";
$result = $db->query($query);
// Get the data from the post.
$list = $db->fetch_array($result);
// Use the prepare() routine to prepare the list.
$list = $article->prepare($list);
// Add in the template.
include("engine/tmpl/$CONF[template_set]/article-more.php");
// Free the result.
$db->free($result);
// Show the comments.
require_once("$CONF[local_path]/engine/comment-engine.php");
} else {
// If 'lookup' is set, then we show all posts from that date key.
if (isset($lookup)) {
// First we separate the date key into year and month components.
list($YYYY, $MM) = split('-', $lookup);
// Check if a 'section_id' is defined. If it is, then we show
// only posts from that section on this year and month.
if (isset($section_id)) {
// Prepare the query.
$query = "SELECT * FROM news WHERE section_id='$section_id' AND create_date LIKE '{$YYYY}{$MM}________' ORDER BY create_date DESC";
} else {
// Prepare the query.
$query = "SELECT * FROM news WHERE create_date LIKE '{$YYYY}{$MM}________' ORDER BY create_date DESC";
}
// Otherwise proceed as normal.
} else {
// Check if a 'section_id' is defined. If it is, then we show
// only posts from that section with a limited defined in the config.
if (isset($section_id)) {
// Prepare the query.
$query = "SELECT * FROM news WHERE section_id='$section_id' ORDER BY create_date DESC LIMIT $CONF[article_limit]";
} else {
// Prepare the query.
$query = "SELECT * FROM news ORDER BY create_date DESC LIMIT $CONF[article_limit]";
}
}
// Execute the query.
$result = $db->query($query);
// Cycle through the result, showing the news items.
while ($list = $db->fetch_array($result))
{
// Use the prepare() routine to prepare the list.
$list = $article->prepare($list);
// Add in the template.
include("engine/tmpl/$CONF[template_set]/article-post.php");
}
// Free the result.
$db->free($result);
}
?>