File: admin.php

package info (click to toggle)
webcalendar 0.9.45-4sarge7
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,888 kB
  • ctags: 4,775
  • sloc: php: 16,990; sql: 1,272; perl: 777; sh: 120; makefile: 45
file content (185 lines) | stat: -rw-r--r-- 5,951 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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<script type="text/javascript">
<!-- <![CDATA[
// error check the colors
function valid_color ( str ) {
	var validColor = /^#[0-9a-fA-F]{3}$|^#[0-9a-fA-F]{6}$/;

	return validColor.test ( str );
}

function valid_form ( form ) {
  var err = "";

  if ( form.admin_server_url.value == "" ) {
    err += "<?php etranslate("Server URL is required")?>.\n";
    form.admin_server_url.select ();
    form.admin_server_url.focus ();
  }
  else if ( form.admin_server_url.value.charAt (
    form.admin_server_url.value.length - 1 ) != '/' ) {
    err += "<?php etranslate("Server URL must end with '/'")?>.\n";
    form.admin_server_url.select ();
    form.admin_server_url.focus ();
  }

  if ( parseInt ( form.admin_WORK_DAY_START_HOUR.value ) >=
    parseInt ( form.admin_WORK_DAY_END_HOUR.value ) ) {
    err += "<?php etranslate("Invalid work hours")?>.\n";
    form.admin_WORK_DAY_START_HOUR.focus ();
  }

  if ( err != "" ) {
    alert ( "Error:\n\n" + err );
    return false;
  }

  if ( ! valid_color ( form.admin_BGCOLOR.value ) ) {
    err += "<?php etranslate("Invalid color for document background")?>.\n";
    form.admin_BGCOLOR.select ();
    form.admin_BGCOLOR.focus ();
  }
  else if ( ! valid_color ( form.admin_H2COLOR.value ) ) {
    err += "<?php etranslate("Invalid color for document title")?>.\n";
    form.admin_H2COLOR.select ();
    form.admin_H2COLOR.focus ();
  } else if ( ! valid_color ( form.admin_CELLBG.value ) ) {
    err += "<?php etranslate("Invalid color for table cell background")?>.\n";
    form.admin_CELLBG.select ();
    form.admin_CELLBG.focus ();
  } else if ( ! valid_color ( form.admin_TABLEBG.value ) ) {
    err += "<?php etranslate("Invalid color for table grid")?>.\n";
    form.admin_TABLEBG.select ();
    form.admin_TABLEBG.focus ();
  } else if ( ! valid_color ( form.admin_THBG.value ) ) {
    err += "<?php etranslate("Invalid color for table header background")?>.\n";
    form.admin_THBG.select ();
    form.admin_THBG.focus ();
  } else if ( ! valid_color ( form.admin_THFG.value ) ) {
    err += "<?php etranslate("Invalid color for table text background")?>.\n";
    form.admin_THFG.select ();
    form.admin_THFG.focus ();
  } else if ( ! valid_color ( form.admin_POPUP_BG.value ) ) {
    err += "<?php etranslate("Invalid color for event popup background")?>.\n";
    form.admin_POPUP_BG.select ();
    form.admin_POPUP_BG.focus ();
  } else if ( ! valid_color ( form.admin_POPUP_FG.value ) ) {
    err += "<?php etranslate("Invalid color for event popup text")?>.\n";
    form.admin_POPUP_FG.select ();
    form.admin_POPUP_FG.focus ();
  } else if ( ! valid_color ( form.admin_TODAYCELLBG.value ) ) {
    err += "<?php etranslate("Invalid color for table cell background for today")?>.\n";
    form.admin_TODAYCELLBG.select ();
    form.admin_TODAYCELLBG.focus ();
  }

  if ( err.length > 0 ) {
    alert ( "Error:\n\n" + err + "\n\n<?php etranslate("Color format should be '#RRGGBB'")?>" );
    return false;
  }
  return true;
}
function selectColor ( color ) {
  url = "colors.php?color=" + color;
  var colorWindow = window.open(url,"ColorSelection","width=390,height=350,resizable=yes,scrollbars=yes");
}

// Updates the background-color of a table cell
// Parameters:
//    input - <input> element containing the new color value
// Note: this function relies on the following structure:
//   <td><input onkeyup="updateColor(this);" /></td>
//   <td>(this is the cell to be updated)</td>
function updateColor ( input ) {
	// The cell to be updated
	var colorCell = input.parentNode.nextSibling;
	// The new color
	var color = input.value;

	if (!valid_color ( color ) ) {
	  // Color specified is invalid; use black instead
		colorCell.style.backgroundColor = "#000000";
	} else {
		colorCell.style.backgroundColor = color;
	}
}

// Gets called on page load and when user changes setting for
// "Allow public access".
function public_handler () {
  var enabled = document.prefform.admin_public_access[0].checked;
  //alert ( "public enabled =  " + enabled );
  if ( enabled ) {
    // Public Access enabled
    makeVisible ( "pa1" );
    makeVisible ( "pa2" );
    makeVisible ( "pa3" );
    makeVisible ( "pa4" );
    makeVisible ( "pa5" );
    makeVisible ( "pa6" );
  } else {
    // Public Access disabled
    makeInvisible ( "pa1" );
    makeInvisible ( "pa2" );
    makeInvisible ( "pa3" );
    makeInvisible ( "pa4" );
    makeInvisible ( "pa5" );
    makeInvisible ( "pa6" );
  }
}

// Gets called on page load and when user changes setting for
// "Allow external users".
function eu_handler () {
  var enabled = document.prefform.admin_allow_external_users[0].checked;
  //alert ( "allow external =  " + enabled );
  if ( enabled ) {
    // External Users enabled
    makeVisible ( "eu1" );
    makeVisible ( "eu2" );
    makeVisible ( "eu3" );
    makeVisible ( "eu4" );
  } else {
    makeInvisible ( "eu1" );
    makeInvisible ( "eu2" );
    makeInvisible ( "eu3" );
    makeInvisible ( "eu4" );
  }
}

// Gets called on page load and when user changes setting for
// "Email enabled".
function email_handler () {
  var enabled = document.prefform.admin_send_email[0].checked;
  //alert ( "allow external =  " + enabled );
  if ( enabled ) {
    // Email enabled
    makeVisible ( "em1" );
    makeVisible ( "em2" );
    makeVisible ( "em3" );
    makeVisible ( "em4" );
    makeVisible ( "em5" );
    makeVisible ( "em6" );
    makeVisible ( "em7" );
  } else {
    makeInvisible ( "em1" );
    makeInvisible ( "em2" );
    makeInvisible ( "em3" );
    makeInvisible ( "em4" );
    makeInvisible ( "em5" );
    makeInvisible ( "em6" );
    makeInvisible ( "em7" );
  }
}

<?php //see the showTab function in includes/js.php for common code shared by all pages
	//using the tabbed GUI.
?>var tabs = new Array();
tabs[1] = "settings";
tabs[2] = "public";
tabs[3] = "groups";
tabs[5] = "nonuser";
tabs[6] = "other";
tabs[8] = "email";
tabs[9] = "colors";
//]]> -->
</script>