File: class.settings.php

package info (click to toggle)
collabtive 0.7.6-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 13,968 kB
  • sloc: php: 63,984; sh: 101; makefile: 40
file content (144 lines) | stat: -rw-r--r-- 4,091 bytes parent folder | download
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
<?php
/*
 * The class 'settings' provides methods to deal with the global system settings
 *
 * @author Open Dynamics <info@o-dyn.de>
 * @name settings
 * @package Collabtive
 * @version 0.7.5
 * @link http://www.o-dyn.de
 * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v3 or later
 */
class settings
{
    public $mylog;

    /*
     * Constructor
     */
    function __construct()
    {
    }

    /*
     * Returns all global settings
     *
     * @return array $settings Global system settings
     */
    function getSettings()
    {
        $sel = mysql_query("SELECT * FROM settings LIMIT 1");
        $settings = array();
        $settings = mysql_fetch_array($sel);

        if (!empty($settings))
        {
            return $settings;
        }
        else
        {
            return false;
        }
    }

    /*
     * Edits the global system settings
     *
     * @param string $name System name
     * @param string $subtitle Subtitle is displayed under the system name
     * @param string $locale Standard locale
     * @param string $timezone Standard timezone
     * @param string $templ Template
     * @param string $rssuser Username for RSS Feed access
     * @param string $rsspass Password for RSS Feed access
     * @return bool
     */
    function editSettings($name, $subtitle, $locale, $timezone, $dateformat, $templ, $rssuser, $rsspass)
    {
        $name = mysql_real_escape_string($name);
        $subtitle = mysql_real_escape_string($subtitle);
        $locale = mysql_real_escape_string($locale);
		$timezone = mysql_real_escape_string($timezone);
        $dateformat = mysql_real_escape_string($dateformat);
		$templ = mysql_real_escape_string($templ);
        $sounds = mysql_real_escape_string($sounds);
        $rssuser = mysql_real_escape_string($rssuser);
        $rsspass = mysql_real_escape_string($rsspass);

        $upd = mysql_query("UPDATE settings SET name = '$name', subtitle = '$subtitle', `locale` = '$locale', `timezone` = '$timezone', `dateformat` = '$dateformat', `template` = '$templ', rssuser = '$rssuser', rsspass = '$rsspass'");

		if ($upd)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    /*
     * Edits the global mail notification settings
     *
     * @param int $onoff 1 = nofitications on, 0 = notifications off
     * @param string $mailfrom Sender
     * @param string $mailfromname Name of the sender
     * @param string $method Method (e.g. SMTP)
     * @param string $mailhost Host
     * @param string $mailuser User
	 * @param string $mailpass Password
     * @return bool
     */
	function editMailsettings($onoff, $mailfrom, $mailfromname, $method, $mailhost, $mailuser, $mailpass)
	{
		$onoff = (int) $onoff;
		$mailfrom = mysql_real_escape_string($mailfrom);
		$mailfromname = mysql_real_escape_string($mailfromname);
		$method =  mysql_real_escape_string($method);
		$mailhost = mysql_real_escape_string($mailhost);
		$mailuser = mysql_real_escape_string($mailuser);
		$mailpass = mysql_real_escape_string($mailpass);

		$upd = mysql_query("UPDATE settings SET mailnotify = $onoff, mailfrom = '$mailfrom', mailfromname = '$mailfromname', mailmethod = '$method', mailhost = '$mailhost', mailuser = '$mailuser', mailpass = '$mailpass'");

		if($upd)
		{
			return true;
		}
		else
		{
			return false;
		}
	}

    /*
     * Returns all available templates
     *
     * @return array $templates
     */
    function getTemplates()
    {
        $handle = opendir(CL_ROOT . "/templates");
        $templates = array();

        while (false !== ($file = readdir($handle)))
        {
            $type = filetype(CL_ROOT . "/templates/" . $file);

			if (($type == "dir" or $type == "link") and $file != "." and $file != "..")
            {
                $template = $file;
                array_push($templates, $template);
            }
        }

        if (!empty($templates))
        {
            return $templates;
        }
        else
        {
            return false;
        }
    }
}