decir/viewforum.php
author dan@fuhry
Wed, 13 Jun 2007 22:33:54 -0400
changeset 0 0417a5a0c7be
child 1 6f8b7c6fac02
permissions -rw-r--r--
Initial repository population
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     1
<?php
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     2
/*
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     3
 * Decir
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     4
 * Version 0.1
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     5
 * Copyright (C) 2007 Dan Fuhry
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     6
 * install.php - Database installation wizard
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     7
 *
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     8
 * This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
     9
 * as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    10
 *
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    11
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    12
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    13
 */
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    14
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    15
require('common.php');
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    16
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    17
$template->header();
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    18
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    19
$fid = ( $n = $paths->getParam(1) ) ? $n : ( ( isset($_GET['fid']) ) ? $_GET['fid'] : 0 );
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    20
$fid = intval($fid);
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    21
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    22
if(empty($fid))
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    23
{
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    24
  echo '<p>Invalid forum ID</p>';
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    25
  $template->footer();
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    26
  return;
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    27
}
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    28
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    29
$perms = $session->fetch_page_acl((string)$fid, 'DecirForum');
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    30
if ( !$perms->get_permissions('decir_view_forum') )
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    31
{
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    32
  die_friendly('Access denied', '<p>You are not authorized to view this forum.</p>');
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    33
}
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    34
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    35
$sort_column = ( isset($_GET['sort_column']) && in_array($_GET['sort_column'], array('t.timestamp', 't.topic_title')) ) ? $_GET['sort_column'] : 't.timestamp';
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    36
$sort_dir    = ( isset($_GET['sort_dir'])    && in_array($_GET['sort_dir'],    array('ASC', 'DESC')) ) ? $_GET['sort_dir'] : 'DESC';
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    37
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    38
$q = $db->sql_query('SELECT t.topic_id,t.topic_title,t.topic_type,t.topic_icon,COUNT(p.post_id)-1 AS num_replies,
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    39
                     COUNT(h.hit_id) AS num_views,t.topic_starter AS starter_id, u.username AS topic_starter,
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    40
                     p.poster_name AS last_post_name, p.timestamp AS last_post_time
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    41
                       FROM '.table_prefix.'decir_topics AS t
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    42
                     LEFT JOIN '.table_prefix.'decir_posts AS p
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    43
                       ON (t.last_post=p.post_id)
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    44
                     LEFT JOIN '.table_prefix.'decir_hits AS h
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    45
                       ON (t.topic_id=h.topic_id)
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    46
                     LEFT JOIN '.table_prefix.'users AS u
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    47
                       ON (u.user_id=t.topic_starter)
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    48
                     WHERE t.forum_id='.$fid.'
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    49
                     GROUP BY t.topic_id
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    50
                     ORDER BY '.$sort_column.' '.$sort_dir.';');
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    51
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    52
if(!$q)
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    53
  $db->_die();
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    54
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    55
echo '<div class="tblholder">
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    56
      <table border="0" cellspacing="1" cellpadding="4">
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    57
      <tr>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    58
        <th colspan="3">Topic</th>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    59
        <th>Author</th>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    60
        <th>Replies</th>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    61
        <th>Views</th>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    62
        <th>Last post</th>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    63
      </th>';
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    64
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    65
if ( $row = $db->fetchrow() )
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    66
{
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    67
  do
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    68
  {
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    69
    echo '<tr>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    70
            <td class="row2"></td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    71
            <td class="row2"></td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    72
            <td class="row2" style="width: 100%;"><b><a href="' . makeUrlNS('DecirTopic', $row['topic_id']) . '">' . $row['topic_title'] . '</a></b></td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    73
            <td class="row3" style="text-align: center; max-width: 100px;">' . $row['topic_starter'] . '</td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    74
            <td class="row1" style="text-align: center; width: 50px;">' . $row['num_replies'] . '</td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    75
            <td class="row1" style="text-align: center; width: 50px;">' . $row['num_views'] . '</td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    76
            <td class="row3" style="text-align: center;"><small style="white-space: nowrap;">' . date('d M Y h:i a', $row['last_post_time']) . '<br />by '.$row['last_post_name'].'</small></td>
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    77
          </tr>';
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    78
  } while ( $row = $db->fetchrow() );
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    79
}
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    80
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    81
echo '</table></div>';
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    82
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    83
$template->footer();
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    84
0417a5a0c7be Initial repository population
dan@fuhry
parents:
diff changeset
    85
?>