1<?php
2// This file is part of BOINC.
3// http://boinc.berkeley.edu
4// Copyright (C) 2008 University of California
5//
6// BOINC is free software; you can redistribute it and/or modify it
7// under the terms of the GNU Lesser General Public License
8// as published by the Free Software Foundation,
9// either version 3 of the License, or (at your option) any later version.
10//
11// BOINC is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14// See the GNU Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public License
17// along with BOINC.  If not, see <http://www.gnu.org/licenses/>.
18
19require_once("../inc/util.inc");
20require_once("../inc/prefs.inc");
21require_once("../inc/prefs_project.inc");
22
23$user = get_logged_in_user();
24check_tokens($user->authenticator);
25
26$action = sanitize_tags(get_str("action", true));
27$subset = sanitize_tags(get_str("subset"));
28$venue = sanitize_tags(get_str("venue"));
29$columns = get_int("cols", true);
30$c = $columns?"&cols=$columns":"";
31check_venue($venue);
32check_subset($subset);
33
34if ($action) {
35    if ($subset == "global") {
36        $prefs = prefs_parse_global($user->global_prefs);
37        $prefs->$venue = $prefs;
38        $error = prefs_global_parse_form($new_prefs);
39        if ($error != false) {
40            $title = tra("Edit %1 preferences", subset_name($subset));
41            if ($venue) $title = "$title for $venue";
42            page_head($title);
43            $x = $venue?"&venue=$venue":"";
44
45            echo PREFS_FORM_DESC1;
46            echo PREFS_FORM_ERROR_DESC;
47
48            print_prefs_form(
49                "add", $subset, $venue, $user, $new_prefs, $columns, $error
50            );
51        } else {
52            $prefs->$venue = $new_prefs;
53            global_prefs_update($user, $prefs);
54            Header("Location: prefs.php?subset=$subset$c");
55        }
56    } else {
57        $prefs = prefs_parse_project($user->project_prefs);
58        $prefs->$venue = $prefs;
59
60        $project_error = prefs_project_parse_form($new_prefs);
61        $error = prefs_resource_parse_form($new_prefs);
62
63        if ($error != false || $project_error != false) {
64            $title = tra("Edit %1 preferences", subset_name($subset));
65            if ($venue) $title = "$title for $venue";
66            page_head($title);
67            $x = $venue?"&venue=$venue":"";
68
69            echo PREFS_FORM_ERROR_DESC;
70
71            print_prefs_form(
72                "add", $subset, $venue, $user, $new_prefs, $columns,
73                $error, $project_error
74            );
75        } else {
76            $prefs->$venue = $new_prefs;
77            project_prefs_update($user, $prefs);
78            Header("Location: prefs.php?subset=$subset$c");
79        }
80    }
81} else {
82    $title = tra("Add %1 preferences for %2", subset_name($subset), $venue);
83    page_head($title);
84
85    if ($subset == "global") {
86        $prefs = default_prefs_global();
87    } else {
88        $prefs = default_prefs_project();
89    }
90    print_prefs_form("add", $subset, $venue, $user, $prefs, $columns);
91}
92page_tail();
93$cvs_version_tracker[]="\$Id$";  //Generated automatically - do not edit
94?>
95