author | Dan |
Mon, 16 Jun 2008 12:54:24 -0400 | |
changeset 7 | cd46e29ae699 |
child 8 | 160f1170aa32 |
permissions | -rw-r--r-- |
7
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
1 |
<?php |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
2 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
3 |
/* |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
4 |
* Nuggie |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
5 |
* Version 0.1 |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
6 |
* Copyright (C) 2007 Dan Fuhry |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
7 |
* |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
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 |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
9 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
10 |
* |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
11 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
12 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
13 |
*/ |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
14 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
15 |
/** |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
16 |
* Displays a planet as requested by a PageProcessor instance. |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
17 |
* @param string The page_id from PageProcessor. |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
18 |
*/ |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
19 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
20 |
function nuggie_planet_uri_handler($page) |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
21 |
{ |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
22 |
global $db, $session, $paths, $template, $plugins; // Common objects |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
23 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
24 |
$planet_id = $page->page_id; |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
25 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
26 |
// |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
27 |
// VALIDATION |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
28 |
// |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
29 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
30 |
// Fetch ACLs |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
31 |
$perms = $session->fetch_page_acl($planet_id, 'Planet'); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
32 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
33 |
// Obtain planet info |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
34 |
$q = $db->sql_query('SELECT p.planet_id, p.planet_name, p.planet_subtitle, p.planet_creator, p.planet_public, p.planet_visible, m.mapping_type, m.mapping_value ' . "\n" |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
35 |
. ' FROM ' . table_prefix . "planets AS p\n" |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
36 |
. " LEFT JOIN " . table_prefix . "planets_mapping AS m\n" |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
37 |
. " ON ( p.planet_id = m.planet_id )\n" |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
38 |
. " WHERE p.planet_name = '" . $db->escape(sanitize_page_id($planet_id)) . "';"); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
39 |
if ( !$q ) |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
40 |
$db->_die(); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
41 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
42 |
if ( $db->numrows() < 1 ) |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
43 |
{ |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
44 |
// planet not found, fall out |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
45 |
return false; |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
46 |
} |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
47 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
48 |
// fetch first row, then seek back to the first result to allow mapping fetching later |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
49 |
$planet_data = $db->fetchrow(); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
50 |
$db->sql_data_seek(0); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
51 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
52 |
// check author and publicity |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
53 |
if ( $planet_data['planet_creator'] != $session->user_id && !$planet_data['planet_public'] ) |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
54 |
{ |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
55 |
return $page->err_access_denied(); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
56 |
} |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
57 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
58 |
// ACL check |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
59 |
if ( !$perms->get_permissions('read') ) |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
60 |
{ |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
61 |
return $page->err_access_denied(); |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
62 |
} |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
63 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
64 |
// fetch mappings to prepare to select the actual blog data |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
65 |
echo 'WiP'; |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
66 |
} |
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
67 |
|
cd46e29ae699
Started work on planet system. From this point onward, enano-1.1 rev 571 or later required.
Dan
parents:
diff
changeset
|
68 |
?> |