web: add "mobile" prefs venue

Note: the prefs code is badly in need of modernization.
Adding a venue should not require changing a bunch of code.
This commit is contained in:
David Anderson 2013-07-26 11:23:27 -07:00
parent 5602c09485
commit d078038daa
2 changed files with 29 additions and 7 deletions

View File

@ -44,10 +44,11 @@ function sched_log_link($x) {
function location_form($host) { function location_form($host) {
$none = "selected"; $none = "selected";
$h=$w=$s=""; $h=$w=$s=$m="";
if ($host->venue == "home") $h = "selected"; if ($host->venue == "home") $h = "selected";
if ($host->venue == "work") $w = "selected"; if ($host->venue == "work") $w = "selected";
if ($host->venue == "school") $s = "selected"; if ($host->venue == "school") $s = "selected";
if ($host->venue == "mobile") $m = "selected";
$x = "<form action=host_venue_action.php> $x = "<form action=host_venue_action.php>
<input type=hidden name=hostid value=$host->id> <input type=hidden name=hostid value=$host->id>
<select name=venue> <select name=venue>
@ -55,6 +56,7 @@ function location_form($host) {
<option value=home $h>".tra("Home")." <option value=home $h>".tra("Home")."
<option value=work $w>".tra("Work")." <option value=work $w>".tra("Work")."
<option value=school $s>".tra("School")." <option value=school $s>".tra("School")."
<option value=mobile $m>".tra("Mobile")."
</select> </select>
<input type=submit value=".tra("Update")."> <input type=submit value=".tra("Update").">
</form> </form>

View File

@ -69,7 +69,7 @@ include_once("../project/project_specific_prefs.inc");
$app_types = get_app_types(); $app_types = get_app_types();
$venues = array("home", "school", "work"); $venues = array("home", "school", "work", "mobile");
$cpu_prefs = array( $cpu_prefs = array(
new PREF_BOOL( new PREF_BOOL(
@ -442,6 +442,7 @@ function check_venue($x) {
if ($x == "home") return; if ($x == "home") return;
if ($x == "work") return; if ($x == "work") return;
if ($x == "school") return; if ($x == "school") return;
if ($x == "mobile") return;
error_page(tra("bad venue: %1", $x)); error_page(tra("bad venue: %1", $x));
} }
@ -638,7 +639,9 @@ function row_top($x, $ncols=6, $class="heading") {
echo "<td class=$class width=10%><b>".tra("Default")."</b></td> echo "<td class=$class width=10%><b>".tra("Default")."</b></td>
<td class=$class width=10%><b>".tra("Home")."</b></td> <td class=$class width=10%><b>".tra("Home")."</b></td>
<td class=$class width=10%><b>".tra("School")."</b></td> <td class=$class width=10%><b>".tra("School")."</b></td>
<td class=$class width=10%><b>".tra("Work")."</b></td>"; <td class=$class width=10%><b>".tra("Work")."</b></td>
<td class=$class width=10%><b>".tra("Mobile")."</b></td>
";
echo "<td width=15%><br></td></tr>\n"; echo "<td width=15%><br></td></tr>\n";
} }
@ -650,12 +653,14 @@ function row_defs($pre, $item, $post, $type, $prefs) {
$hom = (isset($prefs->home) && isset($prefs->home->$item)) ? $prefs->home->$item : "--"; $hom = (isset($prefs->home) && isset($prefs->home->$item)) ? $prefs->home->$item : "--";
$schl = (isset($prefs->school) && isset($prefs->school->$item)) ? $prefs->school->$item : "--"; $schl = (isset($prefs->school) && isset($prefs->school->$item)) ? $prefs->school->$item : "--";
$wrk = (isset($prefs->work) && isset($prefs->work->$item)) ? $prefs->work->$item : "--"; $wrk = (isset($prefs->work) && isset($prefs->work->$item)) ? $prefs->work->$item : "--";
$mob = (isset($prefs->mobile) && isset($prefs->mobile->$item)) ? $prefs->mobile->$item : "--";
echo "<tr><td class=fieldname>$pre</td>"; echo "<tr><td class=fieldname>$pre</td>";
row_field($gen, $type); row_field($gen, $type);
row_field($hom, $type); row_field($hom, $type);
row_field($schl, $type); row_field($schl, $type);
row_field($wrk, $type); row_field($wrk, $type);
row_field($mob, $type);
echo "<td align=left>$post</td></tr>\n"; echo "<td align=left>$post</td></tr>\n";
} }
@ -708,23 +713,27 @@ function row_links($subset, $prefs) {
$hom = isset($prefs->home) ? $pre_edit."home".$post_edit : $pre_add."home".$post_add; $hom = isset($prefs->home) ? $pre_edit."home".$post_edit : $pre_add."home".$post_add;
$schl = isset($prefs->school) ? $pre_edit."school".$post_edit : $pre_add."school".$post_add; $schl = isset($prefs->school) ? $pre_edit."school".$post_edit : $pre_add."school".$post_add;
$wrk = isset($prefs->work) ? $pre_edit."work".$post_edit : $pre_add."work".$post_add; $wrk = isset($prefs->work) ? $pre_edit."work".$post_edit : $pre_add."work".$post_add;
$mob = isset($prefs->mobile) ? $pre_edit."mobile".$post_edit : $pre_add."mobile".$post_add;
echo "<tr><td class=fieldname> </td>"; echo "<tr><td class=fieldname> </td>";
echo "<td>$gen</td>"; echo "<td>$gen</td>";
echo "<td>$hom</td>"; echo "<td>$hom</td>";
echo "<td>$schl</td>"; echo "<td>$schl</td>";
echo "<td>$wrk</td>"; echo "<td>$wrk</td>";
echo "<td>$mob</td>";
echo "<td><br></td></tr>\n"; echo "<td><br></td></tr>\n";
$hom = isset($prefs->home) ? $pre_remove."home".$post_remove : "<br>"; $hom = isset($prefs->home) ? $pre_remove."home".$post_remove : "<br>";
$schl = isset($prefs->school) ? $pre_remove."school".$post_remove : "<br>"; $schl = isset($prefs->school) ? $pre_remove."school".$post_remove : "<br>";
$wrk = isset($prefs->work) ? $pre_remove."work".$post_remove : "<br>"; $wrk = isset($prefs->work) ? $pre_remove."work".$post_remove : "<br>";
$mob = isset($prefs->mobile) ? $pre_remove."mobile".$post_remove : "<br>";
echo "<tr><td class=fieldname> </td>"; echo "<tr><td class=fieldname> </td>";
echo "<td> </td>"; echo "<td> </td>";
echo "<td>$hom</td>"; echo "<td>$hom</td>";
echo "<td>$schl</td>"; echo "<td>$schl</td>";
echo "<td>$wrk</td>"; echo "<td>$wrk</td>";
echo "<td>$mob</td>";
echo "<td><br></td></tr>\n"; echo "<td><br></td></tr>\n";
} }
@ -797,10 +806,11 @@ function prefs_show_privacy($user, $columns) {
function prefs_show_project_specific($prefs, $columns=false) { function prefs_show_project_specific($prefs, $columns=false) {
if ($columns) { if ($columns) {
$project_specific_prefs = project_specific_prefs_parse($prefs->project_specific); $project_specific_prefs = project_specific_prefs_parse($prefs->project_specific);
$project_specific_prefs->home = isset($prefs->home) ? project_specific_prefs_parse($prefs->home->project_specific) : ""; $project_specific_prefs->home = isset($prefs->home) ? project_specific_prefs_parse($prefs->home->project_specific) : "";
$project_specific_prefs->work = isset($prefs->work) ? project_specific_prefs_parse($prefs->work->project_specific) : ""; $project_specific_prefs->work = isset($prefs->work) ? project_specific_prefs_parse($prefs->work->project_specific) : "";
$project_specific_prefs->school = isset($prefs->school) ? project_specific_prefs_parse($prefs->school->project_specific) : ""; $project_specific_prefs->school = isset($prefs->school) ? project_specific_prefs_parse($prefs->school->project_specific) : "";
$project_specific_prefs->mobile = isset($prefs->mobile) ? project_specific_prefs_parse($prefs->mobile->project_specific) : "";
} else { } else {
$project_specific_prefs = project_specific_prefs_parse($prefs->project_specific); $project_specific_prefs = project_specific_prefs_parse($prefs->project_specific);
} }
@ -857,7 +867,7 @@ function print_prefs_display_project($user, $columns=false) {
end_table(); end_table();
echo "</td></tr>\n"; echo "</td></tr>\n";
} else { } else {
if (isset($project_prefs->home) || isset($project_prefs->work) || isset($project_prefs->school)) { if (isset($project_prefs->home) || isset($project_prefs->work) || isset($project_prefs->school) || isset($project_prefs->mobile)) {
row1(tra("Primary (default) preferences").$switch_link, 2, "heading"); row1(tra("Primary (default) preferences").$switch_link, 2, "heading");
} }
echo "<tr><td colspan=2>"; echo "<tr><td colspan=2>";
@ -873,6 +883,7 @@ function print_prefs_display_project($user, $columns=false) {
prefs_display_venue($project_prefs, "home", "project"); prefs_display_venue($project_prefs, "home", "project");
prefs_display_venue($project_prefs, "school", "project"); prefs_display_venue($project_prefs, "school", "project");
prefs_display_venue($project_prefs, "work", "project"); prefs_display_venue($project_prefs, "work", "project");
prefs_display_venue($project_prefs, "mobile", "project");
} }
end_table(); end_table();
} }
@ -899,7 +910,7 @@ function print_prefs_display_global($user, $columns=false) {
echo "</td></tr>\n"; echo "</td></tr>\n";
} else { } else {
if (isset($global_prefs->home) || isset($global_prefs->work) || isset($global_prefs->school)) { if (isset($global_prefs->home) || isset($global_prefs->work) || isset($global_prefs->school) || isset($global_prefs->mobile)) {
row1(tra("Primary (default) preferences").$switch_link, 2, "heading"); row1(tra("Primary (default) preferences").$switch_link, 2, "heading");
} }
echo "<tr><td colspan=2>"; echo "<tr><td colspan=2>";
@ -915,6 +926,7 @@ function print_prefs_display_global($user, $columns=false) {
prefs_display_venue($global_prefs, "home", "global"); prefs_display_venue($global_prefs, "home", "global");
prefs_display_venue($global_prefs, "school", "global"); prefs_display_venue($global_prefs, "school", "global");
prefs_display_venue($global_prefs, "work", "global"); prefs_display_venue($global_prefs, "work", "global");
prefs_display_venue($global_prefs, "mobile", "global");
} }
end_table(); end_table();
} }
@ -1033,17 +1045,19 @@ function venue_show($user) {
} }
function venue_form($user) { function venue_form($user) {
$n=$h=$w=$s=''; $n=$h=$w=$s=$m='';
if ($user->venue == '') $n = 'selected'; if ($user->venue == '') $n = 'selected';
if ($user->venue == 'home') $h = 'selected'; if ($user->venue == 'home') $h = 'selected';
if ($user->venue == 'work') $w = 'selected'; if ($user->venue == 'work') $w = 'selected';
if ($user->venue == 'school') $s = 'selected'; if ($user->venue == 'school') $s = 'selected';
if ($user->venue == 'mobile') $m = 'selected';
row2(tra("Default computer location"), row2(tra("Default computer location"),
"<select name=default_venue> "<select name=default_venue>
<option value=\"\" $n>--- <option value=\"\" $n>---
<option value=home $h>".tra("Home")." <option value=home $h>".tra("Home")."
<option value=work $w>".tra("Work")." <option value=work $w>".tra("Work")."
<option value=school $s>".tra("School")." <option value=school $s>".tra("School")."
<option value=mobile $s>".tra("Mobile")."
</select>" </select>"
); );
} }
@ -1143,6 +1157,9 @@ function global_prefs_make_xml($prefs, $primary=true) {
if (isset($prefs->school)) { if (isset($prefs->school)) {
$xml = $xml."<venue name=\"school\">\n".global_prefs_make_xml($prefs->school, false)."</venue>\n"; $xml = $xml."<venue name=\"school\">\n".global_prefs_make_xml($prefs->school, false)."</venue>\n";
} }
if (isset($prefs->mobile)) {
$xml = $xml."<venue name=\"mobile\">\n".global_prefs_make_xml($prefs->mobile, false)."</venue>\n";
}
if ($primary) { if ($primary) {
$xml = $xml."</global_preferences>\n"; $xml = $xml."</global_preferences>\n";
} }
@ -1174,6 +1191,9 @@ function project_prefs_make_xml($prefs, $primary=true) {
if (isset($prefs->school)) { if (isset($prefs->school)) {
$xml = $xml."<venue name=\"school\">\n".project_prefs_make_xml($prefs->school, false)."</venue>\n"; $xml = $xml."<venue name=\"school\">\n".project_prefs_make_xml($prefs->school, false)."</venue>\n";
} }
if (isset($prefs->mobile)) {
$xml = $xml."<venue name=\"mobile\">\n".project_prefs_make_xml($prefs->mobile, false)."</venue>\n";
}
if ($primary) { if ($primary) {
$xml = $xml."</project_preferences>\n"; $xml = $xml."</project_preferences>\n";
} }