-
Notifications
You must be signed in to change notification settings - Fork 0
/
_functions.php
182 lines (126 loc) · 5.86 KB
/
_functions.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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<?PHP
/*
01-Gästebuch - Copyright 2009-2014 by Michael Lorer - 01-Scripts.de
Lizenz: Creative-Commons: Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland
Weitere Lizenzinformationen unter: http://www.01-scripts.de/lizenz.php
Modul: 01gbook
Dateiinfo: Modulspezifische Funktionen
#fv.101#
*/
/* SYNTAKTISCHER AUFBAU VON FUNKTIONSNAMEN BEACHTEN!!!
_ModulName_beliebigerFunktionsname()
Beispiel:
if(!function_exists("_example_TolleFunktion")){
_example_TolleFunktion($parameter){ ... }
}
*/
// Funktion wird zentral aufgerufen, wenn das Modul gelöscht werden soll
/*
RETURN: TRUE
*/
if(!function_exists("_01gbook_DeleteModul")){
function _01gbook_DeleteModul(){
global $mysqli,$mysql_tables,$modul;
$modul = $mysqli->escape_string($modul);
// MySQL-Tabellen löschen
$mysqli->query("DROP TABLE `".$mysql_tables['gb_fields']."`");
$mysqli->query("DROP TABLE `".$mysql_tables['gb_entry']."`");
// Rechte entfernen
// Nothing to be done
return TRUE;
}
}
// Drop-Down zum Sortieren der Gästebuchfelder
/*$catids Kommaseparierter CatID-String
RETURN: <option>-Tags für select-Feld
*/
if(!function_exists("_01gbook_FieldSortDropDown")){
function _01gbook_FieldSortDropDown($selected=1){
global $mysql_tables,$mysqli;
$return = "";
$menge = 0;
list($menge) = $mysqli->query("SELECT COUNT(*) FROM ".$mysql_tables['gb_fields']." WHERE hide = '0'")->fetch_array(MYSQLI_NUM);
for($x=1;$x<=$menge;$x++){
if($x == $selected) $return .= "<option selected=\"selected\">".$x."</option>\n";
else $return .= "<option>".$x."</option>\n";
}
return $return;
}
}
// URL validieren
/*$url URL, deren Syntax überprüft werden soll
RETURN: TRUE/FALSE
*/
if(!function_exists("_01gbook_check_url")){
function _01gbook_check_url($url){
if(empty($url)) return TRUE;
else return preg_match('/^(http|https|ftp):\/\/([A-Z0-9][ A-Z0-9_]*(?:\.[A-Z0-9][A-Z0-9_]*)+):?(\d+)?\/?/i', $url);
}
}
// Angelegte Felder in einen Asso. Array einlesen
/*$where MySQL Where-Argumente
RETURN: Assoz. Array
*/
if(!function_exists("_01gbook_getFields")){
function _01gbook_getFields($where){
global $mysql_tables,$mysqli;
$fields = array();
$list = $mysqli->query("SELECT id,name,fieldtype,parse FROM ".$mysql_tables['gb_fields']."".$where." ORDER BY sortorder,name");
while($row = $list->fetch_assoc()){
$fields[$row['id']]['id'] = $row['id'];
$fields[$row['id']]['name'] = stripslashes($row['name']);
$fields[$row['id']]['fieldtype']= stripslashes($row['fieldtype']);
$fields[$row['id']]['parse'] = stripslashes($row['parse']);
}
return $fields;
}
}
// Einträge auflisten (ACP)
/*$query gültiger MySQL-Query für die Eintragstabelle
$option Manipulator für zusätzliche / weniger Spalten
RETURN: Komplette Liste (HTML)
*/
if(!function_exists("_01gbook_getEntries_acp")){
function _01gbook_getEntries_acp($query,$option){
global $_GET,$modul,$filename,$namefield_id,$eintragsfield_id,$mysqli;
if(!isset($_GET['site'])) $_GET['site'] = 0;
$return = "<form action=\"".$filename."&site=".$_GET['site']."\" method=\"post\">\n";
$return .= "<table border=\"0\" align=\"center\" width=\"100%\" cellpadding=\"3\" cellspacing=\"5\" class=\"rundrahmen trab\">
<tr>
<td class=\"tra\" colspan=\"2\"><b>Gästebuch-Einträge</b></td>\n";
if($option == "free") $return .= "<td class=\"tra\" width=\"25\"><!-- Freischalten --> </td>\n";
$return .=" <td class=\"tra\" width=\"25\"><!-- Ansehen --> </td>
<td class=\"tra\" width=\"25\"><!-- Bearbeiten --> </td>
<td class=\"tra\" width=\"25\" align=\"center\"><img src=\"images/icons/icon_trash.gif\" alt=\"Mülleimer\" title=\"Kommentar löschen\" /></td>
</tr>\n\n";
$list = $mysqli->query($query);
while($row = $list->fetch_assoc()){
if($option == "free" && $row['frei'] == 1)
$colspan = " colspan=\"2\"";
else
$colspan = "";
if(isset($row['bbc_smile_deaktiv']) && $row['bbc_smile_deaktiv'] == 0) $x = 1;
else $x = 0;
$return .= "<tr id=\"id".$row['id']."\">
<td width=\"25\" align=\"center\"><input type=\"checkbox\" name=\"delid[]\" value=\"".$row['id']."\" /></td>
<td".$colspan." onclick=\"modulpopup('".$modul."','show_entry','".$row['id']."','','',580,450);\" style=\"cursor: pointer;\">
Am ".date("d.m.Y - H:i",$row['utimestamp'])."Uhr von <b>".stripslashes($row['field_'.$namefield_id])."</b> (".$row['ip'].") verfasst:<br />
".substr(strip_tags(bb_code_comment(stripslashes($row['field_'.$eintragsfield_id]),1,$x,$x)),0,250)." [...]
</td>\n";
if($option == "free" && $row['frei'] == 0) $return .= "<td align=\"center\"><img src=\"images/icons/ok.gif\" alt=\"OK\" title=\"Eintrag freischalten\" id=\"free".$row['id']."\" onclick=\"AjaxRequest.send('modul=".$modul."&ajaxaction=freeentry&id=".$row['id']."');\" /></td>\n";
$return .= "<td align=\"center\"><a href=\"javascript:modulpopup('".$modul."','show_entry','".$row['id']."','','',580,450);\"><img src=\"images/icons/icon_show.gif\" alt=\"Auge\" title=\"Eintrag ansehen\" /></a></td>
<td align=\"center\"><a href=\"javascript:modulpopup('".$modul."','edit_entry','".$row['id']."','','',580,580);\"><img src=\"images/icons/icon_edit.gif\" alt=\"Stift+Papier\" title=\"Eintrag bearbeiten\" /></a></td>
<td align=\"center\" nowrap=\"nowrap\"><img src=\"images/icons/icon_delete.gif\" alt=\"Löschen - rotes X\" title=\"Eintrag löschen\" class=\"fx_opener\" style=\"border:0; float:left;\" align=\"left\" /><div class=\"fx_content tr_red\" style=\"width:60px; display:none;\"><a href=\"#foo\" onclick=\"AjaxRequest.send('modul=".$modul."&ajaxaction=delentry&id=".$row['id']."');\">Ja</a> - <a href=\"#foo\">Nein</a></div></td>
</tr>\n\n";
}
$return .= "</table>";
$return .= "<p>
<input type=\"checkbox\" name=\"delselected\" value=\"1\" />
<input type=\"submit\" value=\"Ausgewählte Einträge löschen\" class=\"input\" />
Es erfolgt <b>keine</b> weitere Abfrage!
</p>";
$return .= "</form>";
return $return;
}
}
?>