<?php
function loadDefaultPrefs() {
$prefs = array();
$prefs['colours'] = 'beigeBlack';
$prefs['back'] = 'beige';
$prefs['lightBack'] = '#ddeecc';
$prefs['darkBack'] = '#bbccaa';
$prefs['front'] = 'black';
$prefs['fontSize'] = 12;
$prefs['fontFace'] = 'arial';
$prefs['idColour'] = 'black';
$prefs['bingFlag'] = 0;
$prefs['onlyNewFlag'] = 0;
$prefs['newestFirstFlag'] = 1;
$prefs['navigationAidFlag'] = 0;
$prefs['refresh'] = 20;
$prefs['lastRead'] = 0;
$prefs['lastChecked'] = 0;
$prefs['lastAccessed'] = time();
$prefs['group'] = $_SESSION['group_id'];
// password
// uniqueID
if ($myPrefs['colours'] == 'beigeBlack') {
$myPrefs['back'] = 'beige';
$myPrefs['front'] = 'black';
$myPrefs['lightBack'] = '#ddeecc';
$myPrefs['darkBack'] = '#bbccaa';
} else if ($myPrefs['colours'] == 'whiteBlack') {
$myPrefs['back'] = 'white';
$myPrefs['front'] = 'black';
$myPrefs['lightBack'] = '#ddeecc';
$myPrefs['darkBack'] = '#bbccaa';
} else if ($myPrefs['colours'] == 'whiteBlue') {
$myPrefs['back'] = 'white';
$myPrefs['front'] = '000066';
$myPrefs['lightBack'] = '#ffddcc';
$myPrefs['darkBack'] = '#ddbbaa';
} else if ($myPrefs['colours'] == 'blackYellow') {
$myPrefs['back'] = 'black';
$myPrefs['front'] = 'yellow';
$myPrefs['lightBack'] = '#333333';
$myPrefs['darkBack'] = '#666666';
} else if ($myPrefs['colours'] == 'blackWhite') {
$myPrefs['back'] = 'black';
$myPrefs['front'] = 'white';
$myPrefs['lightBack'] = '#333333';
$myPrefs['darkBack'] = '#666666';
} else { /* blueWhite */
$myPrefs['back'] = '#000033';
$myPrefs['front'] = 'white';
$myPrefs['lightBack'] = '#000066';
$myPrefs['darkBack'] = '#333366';
}
return $prefs;
}
function &getPrefs($chatID, $update = true) {
if ($chatID == '') {
return loadDefaultPrefs();
}
if (!file_exists('users/'.$chatID.'.prefs')) {
return loadDefaultPrefs();
}
$myPrefs = array();
$file_prefs = @file('users/'.$chatID.'.prefs');
foreach ($file_prefs as $pref) {
$pref = explode('=', $pref, 2);
$myPrefs[$pref[0]] = trim($pref[1]);
}
if ($update) {
$myPrefs['lastAccessed'] = time();
}
if ($myPrefs['colours'] == 'beigeBlack') {
$myPrefs['back'] = 'beige';
$myPrefs['front'] = 'black';
$myPrefs['lightBack'] = '#ddeecc';
$myPrefs['darkBack'] = '#bbccaa';
} else if ($myPrefs['colours'] == 'whiteBlack') {
$myPrefs['back'] = 'white';
$myPrefs['front'] = 'black';
$myPrefs['lightBack'] = '#ddeecc';
$myPrefs['darkBack'] = '#bbccaa';
} else if ($myPrefs['colours'] == 'whiteBlue') {
$myPrefs['back'] = 'white';
$myPrefs['front'] = '000066';
$myPrefs['lightBack'] = '#ffddcc';
$myPrefs['darkBack'] = '#ddbbaa';
} else if ($myPrefs['colours'] == 'blackYellow') {
$myPrefs['back'] = 'black';
$myPrefs['front'] = 'yellow';
$myPrefs['lightBack'] = '#333333';
$myPrefs['darkBack'] = '#666666';
} else if ($myPrefs['colours'] == 'blackWhite') {
$myPrefs['back'] = 'black';
$myPrefs['front'] = 'white';
$myPrefs['lightBack'] = '#333333';
$myPrefs['darkBack'] = '#666666';
} else { /* blueWhite */
$myPrefs['back'] = '#000033';
$myPrefs['front'] = 'white';
$myPrefs['lightBack'] = '#000066';
$myPrefs['darkBack'] = '#333366';
}
return ($myPrefs);
}
function writePrefs($myPrefs, $chatID, $unset_group = false) {
if (empty($myPrefs)) {
return 0;
}
$fp = @fopen('users/'.$chatID.'.prefs', 'w+');
if (!$fp) {
// error
return 0;
}
$prefs = '';
if (!$unset_group) {
$myPrefs['group'] = $_SESSION['group_id'];
} else {
$myPrefs['group'] = 0;
}
foreach ($myPrefs as $prefKey => $prefValue) {
$prefs .= $prefKey.'='.$prefValue."\n";
}
flock($fp, LOCK_EX);
if (!@fwrite($fp, $prefs)) {
return 0;
}
flock($fp, LOCK_UN);
chmod('users/'.$chatID.'.prefs', 0600);
return 1;
}
?>