93682733a1ebe49d7883d82287c22d2cd6961f07
[squirrelmail.git] / functions / prefs.php
1 <?
2 /**
3 ** prefs.php
4 **
5 ** This contains functions for manipulating user preferences
6 **/
7
8 /** returns the value for $string **/
9 function getPref($data_dir, $username, $string) {
10 $filename = "$data_dir$username.pref";
11 if (!file_exists($filename)) {
12 echo "Preference file \"$filename\" not found. Exiting abnormally";
13 exit;
14 }
15
16 $file = fopen($filename, "r");
17
18 /** read in all the preferences **/
19 for ($i=0; !feof($file); $i++) {
20 $pref = fgets($file, 1024);
21 if (substr($pref, 0, strpos($pref, "=")) == $string) {
22 fclose($file);
23 return trim(substr($pref, strpos($pref, "=")+1));
24 }
25 }
26 fclose($file);
27 return "";
28 }
29
30 /** sets the pref, $string, to $set_to **/
31 function setPref($data_dir, $username, $string, $set_to) {
32 $filename = "$data_dir$username.pref";
33 $found = false;
34 if (!file_exists($filename)) {
35 echo "Preference file, $filename, does not exist. Log out, and log back in to create a default preference file.<BR>";
36 exit;
37 }
38 $file = fopen($filename, "r");
39
40 /** read in all the preferences **/
41 for ($i=0; !feof($file); $i++) {
42 $pref[$i] = fgets($file, 1024);
43 if (substr($pref[$i], 0, strpos($pref[$i], "=")) == $string) {
44 $found = true;
45 $pos = $i;
46 }
47 }
48 fclose($file);
49
50 $file = fopen($filename, "w");
51 if ($found == true) {
52 for ($i=0; $i < count($pref); $i++) {
53 if ($i == $pos) {
54 fwrite($file, "$string=$set_to\n", 1024);
55 } else {
56 fwrite($file, "$pref[$i]", 1024);
57 }
58 }
59 } else {
60 for ($i=0; $i < count($pref); $i++) {
61 fwrite($file, "$pref[$i]", 1024);
62 }
63 fwrite($file, "$string=$set_to\n", 1024);
64 }
65
66 fclose($file);
67 }
68
69 /** This checks if there is a pref file, if there isn't, it will create it. **/
70 function checkForPrefs($data_dir, $username) {
71 $filename = "$data_dir$username.pref";
72 if (!file_exists($filename)) {
73 if (!copy("$data_dirdefault_pref", $filename)) {
74 echo "Error opening $filename";
75 exit;
76 }
77 }
78 return;
79 }
80 ?>