The site index there just does the stories, if you'd like to add the links/events/polls/static pages it can be done... I combined a set of index pages I found... figured I'd post it here.
Text Formatted Code
<?php
// +---------------------------------------------------------------------------+
// | siteindex.php |
// | This is a event index page made especially for googlebots. |
// +---------------------------------------------------------------------------|
// | Copyright (C) 2002 by the following authors: |
// | Tom Willett - twillett@users.sourceforge.net |
// | Lee Whitworth - lwhitworth@users.sourceforge.net |
// +---------------------------------------------------------------------------|
// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA|
// | |
// +---------------------------------------------------------------------------|
require_once('lib-common.php');
$perpage = 75;
$display = COM_siteHeader('none');
$display .= '<h1>Site Index</h1>';
$sql = "SELECT *,unix_timestamp(date) AS day FROM {$_TABLES['stories']} WHERE (date <= NOW()) AND (draft_flag = 0)";
$sql .= " AND (";
if (!empty ($_USER['uid'])) {
$groupList = '';
foreach ($_GROUPS as $grp) {
$groupList .= $grp . ',';
}
$groupList = substr ($groupList, 0, -1);
$sql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$sql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$sql .= "(perm_members >= 2) OR ";
}
$sql .= "(perm_anon >= 2))";
if (empty($page)) {
$page = 1;
}
$offset = ($page -1) * $perpage;
$order = " ORDER BY sid DESC LIMIT $offset, $perpage";
$recs = DB_query($sql . $order);
$nrows = DB_numRows($recs);
$display .= '<table width="100%"><tr><td>Date</td><td>Topic</td><td>Title</td></tr>';
for ($x = 0; $x < $nrows; $x++) {
$A = DB_fetchArray($recs);
$display .= '<tr><td>' . $A['date'] . '</td>';
$display .= '<td>' . $A['tid'] . '</td>';
$display .= '<td>';
$display .= '<a href="' . $_CONF['site_url'] . '/article.php?story=' . $A['sid'] . '">'
. stripslashes($A['title']) . '</a>';
$display .='</td></tr>';
}
$display .= '</table><p>';
$countsql = "SELECT count(*) as count FROM {$_TABLES['stories']} WHERE (date <= NOW()) AND (draft_flag = 0)";
$countsql .= " AND (";
if (!empty ($_USER['uid'])) {
$countsql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$countsql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$countsql .= "(perm_members >= 2) OR ";
}
$countsql .= "(perm_anon >= 2))";
$data = DB_query($countsql);
$D = DB_fetchArray($data);
$num_pages = ceil($D['count'] / $perpage);
$base_url = $_CONF['site_url'] . '/siteindex.php';
$display .= COM_printPageNavigation($base_url,$page, $num_pages);
$display .= '</p>';
// +---------------------------------------------------------------------------+
// | eventindex.php |
// | This is a event index page made especially for googlebots. |
// +---------------------------------------------------------------------------|
// | Copyright (C) 2002 by the following authors: |
// | Tom Willett - twillett@users.sourceforge.net |
// | Lee Whitworth - lwhitworth@users.sourceforge.net |
// +---------------------------------------------------------------------------|
// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA|
// | |
// +---------------------------------------------------------------------------|
$display .= '<h1>Event Index</h1>';
$sql = "SELECT *,unix_timestamp(eid) AS day FROM {$_TABLES['events']} WHERE (datestart >= NOW())";
$sql .= " AND (";
if (!empty ($_USER['uid'])) {
$groupList = '';
foreach ($_GROUPS as $grp) {
$groupList .= $grp . ',';
}
$groupList = substr ($groupList, 0, -1);
$sql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$sql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$sql .= "(perm_members >= 2) OR ";
}
$sql .= "(perm_anon >= 2))";
if (empty($page)) {
// If no page sent then assume the first.
$page = 1;
}
$offset = ($page -1) * $perpage;
$order = " ORDER BY eid DESC LIMIT $offset, $perpage";
$recs = DB_query($sql . $order);
$nrows = DB_numRows($recs);
$display .= '<table width="100%"><tr><td><b>EID</b></td><td><b>Title</b></td><td><b>Type</b></td><td><b>Start</b></td><td><b>End</b></td></tr>';
for ($x = 0; $x < $nrows; $x++) {
$A = DB_fetchArray($recs);
$display .= '<tr><td>' . $A['eid'] . '</td>';
$display .= '<td>';
$display .= '<a href="' . $_CONF['site_url'] . '/calendar_event.php?mode=&eid=' . $A['eid'] . '">'
. stripslashes($A['title']) . '</a>';
$display .= '</td>' . '<td>' . $A['event_type'] . '</td>';
$display .= '<td>' . $A['datestart'] . '<br>' . $A['timestart'] . '</td>';
$display .= '<td>' . $A['dateend'] . '<br>' . $A['timeend'] . '</td></tr>';
}
$display .= '</table><p>';
$countsql = "SELECT count(*) as count FROM {$_TABLES['events']} WHERE (datestart >= NOW())";
$countsql .= " AND (";
if (!empty ($_USER['uid'])) {
// Note: $groupList re-used from above
$countsql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$countsql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$countsql .= "(perm_members >= 2) OR ";
}
$countsql .= "(perm_anon >= 2))";
$data = DB_query($countsql);
$D = DB_fetchArray($data);
$num_pages = ceil($D['count'] / $perpage);
// Print Google-like paging navigation
$base_url = $_CONF['site_url'] . '/eventindex.php';
$display .= COM_printPageNavigation($base_url,$page, $num_pages);
$display .= '</p>';
// +---------------------------------------------------------------------------+
// | linkindex.php |
// | This is a link index page made especially for googlebots. |
// +---------------------------------------------------------------------------|
// | Copyright (C) 2002 by the following authors: |
// | Tom Willett - twillett@users.sourceforge.net |
// | Lee Whitworth - lwhitworth@users.sourceforge.net |
// +---------------------------------------------------------------------------|
// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA|
// | |
// +---------------------------------------------------------------------------|
$display .= '<h1>Link Index</h1>';
$sql = "SELECT *,unix_timestamp(date) AS day FROM {$_TABLES['links']} WHERE (date <= NOW())";
$sql .= " AND (";
if (!empty ($_USER['uid'])) {
$groupList = '';
foreach ($_GROUPS as $grp) {
$groupList .= $grp . ',';
}
$groupList = substr ($groupList, 0, -1);
$sql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$sql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$sql .= "(perm_members >= 2) OR ";
}
$sql .= "(perm_anon >= 2))";
if (empty($page)) {
// If no page sent then assume the first.
$page = 1;
}
$offset = ($page -1) * $perpage;
$order = " ORDER BY lid DESC LIMIT $offset, $perpage";
$recs = DB_query($sql . $order);
$nrows = DB_numRows($recs);
$display .= '<table width="100%"><tr><td><b>Date</b></td><td><b>Title</b></td><td><b>Link</b></td><td><b>Hits</b></td></tr>';
for ($x = 0; $x < $nrows; $x++) {
$A = DB_fetchArray($recs);
$display .= '<tr><td>' . $A['date'] . '</td>';
$display .= '<td>' . $A['title'] . '</td>';
$display .= '<td>';
$display .= '<a href="' . $_CONF['site_url'] . '/portal.php?what=link&item=' . $A['lid'] . '">'
. $A['url'] . '</a>';
$display .='</td>' . '<td>' . $A['hits'] . '</td></tr>';
}
$display .= '</table><p>';
$countsql = "SELECT count(*) as count FROM {$_TABLES['links']} WHERE (date <= NOW())";
$countsql .= " AND (";
if (!empty ($_USER['uid'])) {
// Note: $groupList re-used from above
$countsql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$countsql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$countsql .= "(perm_members >= 2) OR ";
}
$countsql .= "(perm_anon >= 2))";
$data = DB_query($countsql);
$D = DB_fetchArray($data);
$num_pages = ceil($D['count'] / $perpage);
// Print Google-like paging navigation
$base_url = $_CONF['site_url'] . '/linkindex.php';
$display .= COM_printPageNavigation($base_url,$page, $num_pages);
$display .= '</p>';
// +---------------------------------------------------------------------------+
// | pageindex.php |
// | This is a index page for Tom's Staticpages 1.2 made especially for |
// | googlebots. Only works with Staticpages 1.2! |
// +---------------------------------------------------------------------------|
// | Copyright (C) 2002 by the following authors: |
// | Tom Willett - twillett@users.sourceforge.net |
// | Lee Whitworth - lwhitworth@users.sourceforge.net |
// +---------------------------------------------------------------------------|
// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA|
// | |
// +---------------------------------------------------------------------------|
$display .= '<div align="center"><p><h1>Page Index<h1></div>';
$sql = "SELECT *,unix_timestamp(sp_date) AS day FROM {$_TABLES['staticpage']} WHERE (sp_date <= NOW())";
$sql .= " AND (";
if (!empty ($_USER['uid'])) {
$groupList = '';
foreach ($_GROUPS as $grp) {
$groupList .= $grp . ',';
}
$groupList = substr ($groupList, 0, -1);
$sql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$sql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$sql .= "(perm_members >= 2) OR ";
}
$sql .= "(perm_anon >= 2))";
if (empty($page)) {
// If no page sent then assume the first.
$page = 1;
}
$offset = ($page -1) * $perpage;
$order = " ORDER BY sp_id DESC LIMIT $offset, $perpage";
$recs = DB_query($sql . $order);
$nrows = DB_numRows($recs);
$display .= '<table width="100%"><tr><td><b>Date</b></td><td><b>Label</b></td><td><b>Title</b></td><td><b>Views</b></td></tr>';
for ($x = 0; $x < $nrows; $x++) {
$A = DB_fetchArray($recs);
$display .= '<tr><td>' . $A['sp_date'] . '</td>';
$display .= '<td>' . $A['sp_label'] . '</td>';
$display .= '<td>';
$display .= '<a href="' . $_CONF['site_url'] . '/staticpages/index.php?page=' . $A['sp_id'] . '">'
. stripslashes($A['sp_title']) . '</a>';
$display .='</td>' . '<td>' . $A['sp_hits'] . '</td></tr>';
}
$display .= '</table><p>';
$countsql = "SELECT count(*) as count FROM {$_TABLES['staticpage']} WHERE (sp_date <= NOW())";
$countsql .= " AND (";
if (!empty ($_USER['uid'])) {
// Note: $groupList re-used from above
$countsql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$countsql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$countsql .= "(perm_members >= 2) OR ";
}
$countsql .= "(perm_anon >= 2))";
$data = DB_query($countsql);
$D = DB_fetchArray($data);
$num_pages = ceil($D['count'] / $perpage);
// Print Google-like paging navigation
$base_url = $_CONF['site_url'] . '/pageindex.php';
$display .= COM_printPageNavigation($base_url,$page, $num_pages);
$display .= '</p>';
// +---------------------------------------------------------------------------+
// | voteindex.php |
// | This is a poll index page made especially for googlebots. |
// +---------------------------------------------------------------------------|
// | Copyright (C) 2002 by the following authors: |
// | Tom Willett - twillett@users.sourceforge.net |
// | Lee Whitworth - lwhitworth@users.sourceforge.net |
// +---------------------------------------------------------------------------|
// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA|
// | |
// +---------------------------------------------------------------------------|
$display .= '<h1>Poll Index</h1>';
$sql = "SELECT *,unix_timestamp(date) AS day FROM {$_TABLES['pollquestions']} WHERE (date <= NOW())";
$sql .= " AND (";
if (!empty ($_USER['uid'])) {
$groupList = '';
foreach ($_GROUPS as $grp) {
$groupList .= $grp . ',';
}
$groupList = substr ($groupList, 0, -1);
$sql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$sql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$sql .= "(perm_members >= 2) OR ";
}
$sql .= "(perm_anon >= 2))";
if (empty($page)) {
// If no page sent then assume the first.
$page = 1;
}
$offset = ($page -1) * $perpage;
$order = " ORDER BY date DESC LIMIT $offset, $perpage";
$recs = DB_query($sql . $order);
$nrows = DB_numRows($recs);
$display .= '<table width="100%"><tr><td><b>Date</b></td><td><b>Question</b></td><td><b>Votes</b></td></tr>';
for ($x = 0; $x < $nrows; $x++) {
$A = DB_fetchArray($recs);
$display .= '<tr><td>' . $A['date'] . '</td>';
$display .= '<td>';
$display .= '<a href="' . $_CONF['site_url'] . '/pollbooth.php?qid=' . $A['qid'] . '">'
. $A['question'] . '</a>';
$display .='</td>' . '<td>' . $A['voters'] . '</td></tr>';
}
$display .= '</table><p>';
$countsql = "SELECT count(*) as count FROM {$_TABLES['pollquestions']} WHERE (date <= NOW())";
$countsql .= " AND (";
if (!empty ($_USER['uid'])) {
// Note: $groupList re-used from above
$countsql .= "(owner_id = {$_USER['uid']} AND perm_owner >= 2) OR ";
$countsql .= "(group_id IN ($groupList) AND perm_group >= 2) OR ";
$countsql .= "(perm_members >= 2) OR ";
}
$countsql .= "(perm_anon >= 2))";
$data = DB_query($countsql);
$D = DB_fetchArray($data);
$num_pages = ceil($D['count'] / $perpage);
// Print Google-like paging navigation
$base_url = $_CONF['site_url'] . '/voteindex.php';
$display .= COM_printPageNavigation($base_url,$page, $num_pages);
$display .= '</p>';
$display .= COM_siteFooter();
echo $display;
?>