-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.php
120 lines (91 loc) · 2.85 KB
/
utils.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?
$memory = array();
function get_username($id) {
global $sql, $memory;
$sql2 = clone $sql; // Need to! Not to conflict loops!
if ( isset($memory[$id]) ) return $memory[$id];
$sql2->db_Select("user", "user_name", "user_id='".$id."'");
$row = $sql2->db_Fetch();
$memory[$id] = $row['user_name'];
return $row['user_name'];
}
function insert_page() {
global $sql,$prefs;
$i = array();
$i['page_title'] = mysql_real_escape_string($_POST['title']);
$i['page_content'] = mysql_real_escape_string($_POST['content']);
$i['page_content'] = strip_tags($i['page_content'], $prefs['allowed_tags']);
$i['page_active'] = 1;
$i['page_author'] = USERID;
$i['page_datestamp'] = time();
# Unselect all other pages:
$sql->db_Update("wiki", "page_active=0 WHERE page_title='".$i['page_title']."'");
$sql->db_Insert("wiki",$i);
Header("Location: ?page=" . $i['page_title'] );
}
function check_perm() {
global $prefs;
if ($prefs['editor_class'] == "admin") {
if (ADMIN) return True;
}
elseif ($prefs['editor_class'] == "users") {
if (USER) return True;
}
elseif ($prefs['editor_class'] == "all") {
return True;
}
elseif ($prefs['editor_class'] == "admin") {
if (ADMIN) return True;
}
elseif (check_class($prefs['editor_class'])) {
return True;
}
else
return False;
}
function edit_box($value="") {
$rows = (e_WYSIWYG) ? 15 : 10;
$ret = "<textarea class='tbox' id='wiki_content' name='content' cols='70' rows='{$rows}' style='width:95%' onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);'>$value</textarea>";
return $ret;
}
function page_form($a) {
global $prefs;
if ( $prefs['mod_rewrite'] )
$post_url = $prefs['mod_rewrite_prefix'];
else
$post_url = "./";
if (in_array('page_content',array_keys($a)))
$content = stripslashes($a['page_content']);
else
$content = "";
if (in_array('page_title',array_keys($a)))
$title = $a['page_title'];
else
$title = "";
return "
<form action='".$post_url."' method='POST'>
<p><label for='title'>".LAN_W_4.":</label> <input name='title' id='title' value='".$title."' /></p>
<p>".edit_box($content)."</p>
<p style='text-align: center;'><input type='submit' value='".LAN_W_5."' /></p>
</form>
";
}
function get_history($page) {
global $sql;
$r = "<script>
function urldecode( str ) {
var ret = str;
ret = ret.replace(/\+/g, '%20');
ret = decodeURIComponent(ret);
ret = ret.toString();
return ret;
}
</script><ul>";
$sql->db_Select("wiki", "*", "ORDER BY page_datestamp DESC", false);
$gen = new convert;
while( $row = $sql->db_Fetch() ) {
$r .= "<li><a href='#' onclick=\"document.getElementById('wiki_content').value=urldecode('".urlencode(stripslashes($row['page_content']))."');\" >".$gen->convert_date($row['page_datestamp'])." by ".get_username($row['page_author'])."</a></li>";
}
return $r . "</ul>";
}
?>