forked from projectsend/projectsend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.options.php
69 lines (60 loc) · 1.78 KB
/
functions.options.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
<?php
// global $options: \ProjectSend\Classes\Options already set in app init
function option_exists($name)
{
global $dbh;
$statement = $dbh->prepare("SELECT name FROM " . TABLE_OPTIONS . " WHERE name=:name");
$statement->execute([
':name' => $name,
]);
return ($statement->rowCount() > 0);
}
function get_option($name, $escape = false)
{
global $dbh;
if (empty($dbh)) {
return null;
}
try {
if (table_exists(TABLE_OPTIONS)) {
$statement = $dbh->prepare("SELECT * FROM " . TABLE_OPTIONS . " WHERE name=:name");
$statement->execute([
':name' => $name,
]);
if ($statement->rowCount() == 0) {
return null;
}
$statement->setFetchMode(PDO::FETCH_ASSOC);
while ( $row = $statement->fetch() ) {
$value = $row['value'];
if ($escape == true) {
$value = html_output($value);
}
return $value;
}
}
} catch (\PDOException $e) {
return null;
}
return null;
}
function save_option($name, $value)
{
global $dbh;
if (option_exists($name)) {
$save = $dbh->prepare( "UPDATE " . TABLE_OPTIONS . " SET value=:value WHERE name=:name" );
$save->bindParam(':value', $value);
$save->bindParam(':name', $name);
$result = $save->execute();
}
else {
if (!empty($dbh)) {
$save = $dbh->prepare("INSERT INTO " . TABLE_OPTIONS . " (name, value)"
." VALUES (:name, :value)");
$save->bindParam(':name', $name);
$save->bindParam(':value', $value);
$result = $save->execute();
}
}
return $result;
}