|
1 <?php |
|
2 /* |
|
3 Plugin Name: Decir |
|
4 Plugin URI: javascript: // No URL yet, stay tuned! |
|
5 Description: Decir is an advanced bulletin board system (forum) for Enano. |
|
6 Author: Dan Fuhry |
|
7 Version: 0.1 |
|
8 Author URI: http://www.enanocms.org/ |
|
9 */ |
|
10 |
|
11 /* |
|
12 * Decir |
|
13 * Version 0.1 |
|
14 * Copyright (C) 2007 Dan Fuhry |
|
15 * |
|
16 * This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
|
17 * as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|
18 * |
|
19 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
|
20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
|
21 */ |
|
22 |
|
23 define('ENANO_DECIR_VERSION', '0.1'); |
|
24 define('DECIR_ROOT', ENANO_ROOT . '/decir'); |
|
25 |
|
26 $plugins->attachHook('acl_rule_init', 'decir_early_init($this, $session);'); |
|
27 $plugins->attachHook('base_classes_initted', ' |
|
28 $paths->add_page(Array( |
|
29 \'name\'=>\'Forum\', |
|
30 \'urlname\'=>\'Forum\', |
|
31 \'namespace\'=>\'Special\', |
|
32 \'special\'=>0,\'visible\'=>0,\'comments_on\'=>0,\'protected\'=>1,\'delvotes\'=>0,\'delvote_ips\'=>\'\', |
|
33 )); |
|
34 '); |
|
35 |
|
36 function decir_early_init(&$paths, &$session) |
|
37 { |
|
38 $paths->addAdminNode('Decir forum configuration', 'General settings', 'DecirGeneral'); |
|
39 $paths->nslist['DecirForum'] = $paths->nslist['Special'] . 'Forum/ViewForum/'; |
|
40 $paths->nslist['DecirPost'] = $paths->nslist['Special'] . 'Forum/Post/'; |
|
41 $paths->nslist['DecirTopic'] = $paths->nslist['Special'] . 'Forum/Topic/'; |
|
42 |
|
43 $session->register_acl_type('decir_see_forum', AUTH_ALLOW, 'See forum in index', Array('read'), 'DecirForum'); |
|
44 $session->register_acl_type('decir_view_forum', AUTH_ALLOW, 'View forum', Array('decir_see_forum'), 'DecirForum'); |
|
45 $session->register_acl_type('decir_post', AUTH_ALLOW, 'Post new topics', Array('decir_view_forum'), 'DecirForum'); |
|
46 $session->register_acl_type('decir_reply', AUTH_ALLOW, 'Reply to topics', Array('decir_post'), 'DecirTopic'); |
|
47 } |
|
48 |
|
49 function page_Special_Forum() |
|
50 { |
|
51 global $db, $session, $paths, $template, $plugins; // Common objects |
|
52 |
|
53 if ( getConfig('decir_version') != ENANO_DECIR_VERSION || isset($_POST['do_install_finish']) ) |
|
54 { |
|
55 require(DECIR_ROOT . '/install.php'); |
|
56 } |
|
57 |
|
58 $act = strtolower( ( $n = $paths->getParam(0) ) ? $n : 'Index' ); |
|
59 |
|
60 $curdir = getcwd(); |
|
61 chdir(DECIR_ROOT); |
|
62 |
|
63 switch($act) |
|
64 { |
|
65 case 'index': |
|
66 default: |
|
67 require('forum_index.php'); |
|
68 break; |
|
69 case 'viewforum': |
|
70 require('viewforum.php'); |
|
71 break; |
|
72 case 'topic': |
|
73 case 'post': |
|
74 case 'viewtopic': |
|
75 require('viewtopic.php'); |
|
76 break; |
|
77 case 'new': |
|
78 require('posting.php'); |
|
79 break; |
|
80 } |
|
81 |
|
82 chdir($curdir); |
|
83 |
|
84 } |
|
85 |
|
86 function page_Admin_DecirGeneral() |
|
87 { |
|
88 global $db, $session, $paths, $template, $plugins; if($session->auth_level < USER_LEVEL_ADMIN || $session->user_level < USER_LEVEL_ADMIN) { header('Location: '.makeUrl($paths->nslist['Special'].'Administration'.urlSeparator.'noheaders')); die('Hacking attempt'); } |
|
89 echo 'Hello world!'; |
|
90 } |
|
91 |
|
92 ?> |