Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
831 florian 1
<?php
2
 
3
////////////////////////////////////////////////////////////////////////////////
4
//                                                                            //
5
//   Copyright (C) 2006  Phorum Development Team                              //
6
//   http://www.phorum.org                                                    //
7
//                                                                            //
8
//   This program is free software. You can redistribute it and/or modify     //
9
//   it under the terms of either the current Phorum License (viewable at     //
10
//   phorum.org) or the Phorum License that was distributed with this file    //
11
//                                                                            //
12
//   This program is distributed in the hope that it will be useful,          //
13
//   but WITHOUT ANY WARRANTY, without even the implied warranty of           //
14
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                     //
15
//                                                                            //
16
//   You should have received a copy of the Phorum License                    //
17
//   along with this program.                                                 //
18
////////////////////////////////////////////////////////////////////////////////
19
 
20
if(!defined("PHORUM")) return;
21
 
22
if($PHORUM["forum_id"]==0){
23
 
24
    $forums[0] = array(
25
                    "forum_id" => 0,
26
                    "folder_flag" => 1,
27
                    "vroot" => 0
28
                 );
29
} else {
30
 
31
    $forums = phorum_db_get_forums( $PHORUM["forum_id"] );
32
}
33
 
34
if($PHORUM["vroot"]==$PHORUM["forum_id"]){
35
    $more_forums = phorum_db_get_forums( 0, $PHORUM["forum_id"] );
36
    foreach($more_forums as $forum_id => $forum){
37
        if(empty($forums[$forum_id])){
38
            $forums[$forum_id]=$forum;
39
        }
40
    }
41
    $folders[$PHORUM["forum_id"]]=$PHORUM["forum_id"];
42
}
43
 
44
$PHORUM["DATA"]["FORUMS"] = array();
45
 
46
$forums_shown=false;
47
 
48
// create the top level folder
49
 
50
foreach( $forums as $key=>$forum ) {
51
    if($forum["folder_flag"] && $forum["vroot"]==$PHORUM["vroot"]){
52
        $folders[$key]=$forum["forum_id"];
53
        $forums[$key]["url"] = phorum_get_url( PHORUM_INDEX_URL, $forum["forum_id"] );
54
 
55
        $sub_forums = phorum_db_get_forums( 0, $forum["forum_id"] );
56
        foreach($sub_forums as $sub_forum){
57
            if(!$sub_forum["folder_flag"]){
58
                $folder_forums[$sub_forum["parent_id"]][]=$sub_forum;
59
            }
60
        }
61
    }
62
}
63
 
64
 
65
foreach( $folders as $folder_key=>$folder_id ) {
66
 
67
    if(!isset($folder_forums[$folder_id])) continue;
68
 
69
    $shown_sub_forums=array();
70
 
71
    foreach($folder_forums[$folder_id] as $key=>$forum){
72
 
73
        if($PHORUM["hide_forums"] && !phorum_user_access_allowed(PHORUM_USER_ALLOW_READ, $forum["forum_id"])){
74
            unset($folder_forums[$folder_id][$key]);
75
            continue;
76
        }
77
 
78
        $forum["url"] = phorum_get_url( PHORUM_LIST_URL, $forum["forum_id"] );
79
        $forum["url_markread"] = phorum_get_url( PHORUM_INDEX_URL, $forum["forum_id"], "markread" );
80
        if(isset($PHORUM['use_rss']) && $PHORUM['use_rss']) {
81
            $forum["url_rss"] = phorum_get_url( PHORUM_RSS_URL, $forum["forum_id"] );
82
        }
83
 
84
 
85
        if ( $forum["message_count"] > 0 ) {
86
            $forum["last_post"] = phorum_date( $PHORUM["long_date"], $forum["last_post_time"] );
87
        } else {
88
            $forum["last_post"] = "&nbsp;";
89
        }
90
 
91
        if($PHORUM["DATA"]["LOGGEDIN"] && $PHORUM["show_new_on_index"]){
92
            list($forum["new_messages"], $forum["new_threads"]) = phorum_db_newflag_get_unread_count($forum["forum_id"]);
93
        }
94
 
95
        $shown_sub_forums[] = $forum;
96
 
97
    }
98
 
99
    if(count($shown_sub_forums)){
100
        $PHORUM["DATA"]["FORUMS"][]=$forums[$folder_key];
101
        $PHORUM["DATA"]["FORUMS"]=array_merge($PHORUM["DATA"]["FORUMS"], $shown_sub_forums);
102
    }
103
 
104
}
105
 
106
// set all our URL's
107
phorum_build_common_urls();
108
 
109
if(!count($PHORUM["DATA"]["FORUMS"])){
110
    include phorum_get_template( "header" );
111
    phorum_hook("after_header");
112
    $PHORUM["DATA"]["MESSAGE"]=$PHORUM["DATA"]["LANG"]["NoRead"];
113
    include phorum_get_template( "message" );
114
    phorum_hook("before_footer");
115
    include phorum_get_template( "footer" );
116
    return;
117
}
118
 
119
// should we show the top-link?
120
if($PHORUM['forum_id'] == 0 || $PHORUM['vroot'] == $PHORUM['forum_id']) {
121
    unset($PHORUM["DATA"]["URL"]["INDEX"]);
122
}
123
 
124
$PHORUM["DATA"]["FORUMS"]=phorum_hook("index", $PHORUM["DATA"]["FORUMS"]);
125
 
126
include phorum_get_template( "header" );
127
phorum_hook("after_header");
128
include phorum_get_template( "index_new" );
129
phorum_hook("before_footer");
130
include phorum_get_template( "footer" );
131
 
132
?>