[ Index ] |
|
Code source de WebCalendar 1.0.5 |
1 <?php 2 /* 3 * $Id: edit_report.php,v 1.24.2.2 2006/01/05 14:22:34 umcesrjones Exp $ 4 * 5 * Page Description: 6 * This page will present the HTML form to add or edit a report. 7 * 8 * Input Parameters: 9 * report_id (optional) - the report id of the report to edit. 10 * If blank, user is adding a new report. 11 * public (optional) - If set to '1' and user is an admin user, 12 * then we are creating a report for the public user. 13 * 14 * Security: 15 * If system setting $reports_enabled is set to anything other than 16 * 'Y', then don't allow access to this page. 17 * If $allow_view_other is 'N', then do not allow selection of 18 * participants. 19 * If not an admin user, only report creator (cal_login in webcal_report) 20 * can edit/delete report. 21 */ 22 include_once 'includes/init.php'; 23 load_user_categories (); 24 25 $updating_public = false; 26 $error = ""; 27 28 if ( empty ( $reports_enabled ) || $reports_enabled != 'Y' ) { 29 $error = translate ( "You are not authorized" ) . "."; 30 } 31 32 if ( $is_admin && ! empty ( $public ) && $public_access == "Y" ) { 33 $updating_public = true; 34 $report_user = "__public__"; 35 } else { 36 $report_user = ''; 37 } 38 39 $report_id = getIntValue ( "report_id", true ); 40 41 $adding_report = false; 42 if ( empty ( $report_id ) ) { 43 $adding_report = true; 44 $report_id = -1; 45 $include_header = 'Y'; 46 $report_is_global = 'N'; 47 $report_allow_nav = 'Y'; 48 } 49 50 $show_participants = true; 51 if ( $single_user == 'Y' || $disable_participants_field == 'Y' ) { 52 $show_participants = false; 53 } 54 55 if ( $login == "__public__" ) { 56 $error = translate ( "You are not authorized" ); 57 } 58 59 $charset = ( ! empty ( $LANGUAGE )?translate("charset"): "iso-8859-1" ); 60 61 // Set date range options 62 $ranges = array ( 63 "0" => translate ( "Tomorrow" ), 64 "1" => translate ( "Today" ), 65 "2" => translate ( "Yesterday" ), 66 "3" => translate ( "Day before yesterday" ), 67 "10" => translate ( "Next week" ), 68 "11" => translate ( "This week" ), 69 "12" => translate ( "Last week" ), 70 "13" => translate ( "Week before last" ), 71 "20" => translate ( "Next week and week after" ), 72 "21" => translate ( "This week and next week" ), 73 "22" => translate ( "Last week and this week" ), 74 "23" => translate ( "Last two weeks" ), 75 "30" => translate ( "Next month" ), 76 "31" => translate ( "This month" ), 77 "32" => translate ( "Last month" ), 78 "33" => translate ( "Month before last" ), 79 "40" => translate ( "Next year" ), 80 "41" => translate ( "This year" ), 81 "42" => translate ( "Last year" ), 82 "43" => translate ( "Year before last" ), 83 "50" => translate ( "Next 14 days" ), 84 "51" => translate ( "Next 30 days" ), 85 "52" => translate ( "Next 60 days" ), 86 "53" => translate ( "Next 90 days" ), 87 "54" => translate ( "Next 180 days" ), 88 "55" => translate ( "Next 365 days" ), 89 ); 90 91 // Get list of users that the current user can see 92 if ( empty ( $error ) && $show_participants ) { 93 $userlist = get_my_users (); 94 if ($nonuser_enabled == "Y" ) { 95 $nonusers = get_nonuser_cals (); 96 $userlist = ($nonuser_at_top == "Y") ? array_merge($nonusers, $userlist) : 97 array_merge($userlist, $nonusers); 98 } 99 } 100 101 // Default values 102 $page_template = "<dl>\$days}</dl>"; 103 $day_template = "<dt><b>\$date}</b></dt>\n<dd><dl>\$events}</dl></dd>"; 104 $event_template = "<dt>\$name}</dt>\n<dd>" . 105 "<b>" . translate ( "Date" ) . ":</b> \$date}<br />\n" . 106 "<b>" . translate ( "Time" ) . ":</b> \$time}<br />\n" . 107 "\$description}</dd>\n"; 108 109 if ( empty ( $error ) && $report_id >= 0 ) { 110 $sql = "SELECT cal_login, cal_report_id, cal_is_global, " . 111 "cal_report_type, cal_include_header, cal_report_name, " . 112 "cal_time_range, cal_user, cal_allow_nav, cal_cat_id, " . 113 "cal_include_empty, cal_show_in_trailer, cal_update_date " . 114 "FROM webcal_report " . 115 "WHERE cal_report_id = $report_id"; 116 //echo "SQL: $sql<br /><br />"; 117 $res = dbi_query ( $sql ); 118 if ( $res ) { 119 if ( $row = dbi_fetch_row ( $res ) ) { 120 $i = 0; 121 $report_login = $row[$i++]; 122 $report_id = $row[$i++]; 123 $report_is_global = $row[$i++]; 124 $report_type = $row[$i++]; 125 $report_include_header = $row[$i++]; 126 $report_name = $row[$i++]; 127 $report_time_range = $row[$i++]; 128 $report_user = $row[$i++]; 129 $report_allow_nav = $row[$i++]; 130 $report_cat_id = $row[$i++]; 131 $report_include_empty = $row[$i++]; 132 $report_show_in_trailer = $row[$i++]; 133 $report_update_date = $row[$i++]; 134 135 // Check permissions. 136 if ( $show_participants && ! empty ( $report_user ) ) { 137 $user_is_in_list = false; 138 for ( $i = 0; $i < count ( $userlist ); $i++ ) { 139 if ( $report_user == $userlist[$i]['cal_login'] ) { 140 $user_is_in_list = true; 141 } 142 } 143 if ( ! $user_is_in_list && $report_login != $login && ! $is_admin ) { 144 $error = translate ( "You are not authorized" ); 145 } 146 } 147 if ( ! $is_admin && $login != $report_login ) { 148 // If not admin, only creator can edit/delete the event 149 $error = translate ( "You are not authorized" ); 150 } 151 152 // If we are editing a public user report we need to set $updating_public 153 if ( $is_admin && $report_login == "__public__" ) { 154 $updating_public = true; 155 } 156 157 } else { 158 $error = translate ( "Invalid report id" ) . ": $report_id"; 159 } 160 dbi_free_result ( $res ); 161 } else { 162 $error = translate("Database error") . ": " . dbi_error (); 163 } 164 $res = dbi_query ( "SELECT cal_template_type, cal_template_text " . 165 "FROM webcal_report_template " . 166 "WHERE cal_report_id = $report_id" ); 167 if ( $res ) { 168 while ( $row = dbi_fetch_row ( $res ) ) { 169 if ( $row[0] == 'P' ) { 170 $page_template = $row[1]; 171 } else if ( $row[0] == 'D' ) { 172 $day_template = $row[1]; 173 } else if ( $row[0] == 'E' ) { 174 $event_template = $row[1]; 175 } 176 } 177 dbi_free_result ( $res ); 178 } 179 } else { 180 // default values for new report 181 $report_login = $login; 182 $report_id = -1; 183 $report_is_global = 'N'; 184 $report_type = 'html'; 185 $report_include_header = 'Y'; 186 $report_name = translate("Unnamed Report"); 187 $report_time_range = 11; // current week 188 //$report_user already set 189 $report_allow_nav = 'Y'; 190 $report_cat_id = ''; 191 $report_include_empty = 'N'; 192 $report_show_in_trailer = 'N'; 193 $report_update_date = ''; 194 } 195 196 print_header(); 197 //echo "report_id: $report_id <br />\n"; 198 //echo "report_name: $report_name <br />\n"; 199 //echo "report_user: $report_user <br />\n"; 200 ?> 201 202 <h2><?php 203 if ( $updating_public ) { 204 echo translate($PUBLIC_ACCESS_FULLNAME) . " "; 205 } 206 if ( $adding_report ) { 207 etranslate("Add Report"); 208 } else { 209 etranslate("Edit Report"); 210 } 211 ?></h2> 212 213 <?php 214 if ( ! empty ( $error ) ) { 215 echo $error; 216 include_once "includes/trailer.php"; 217 exit; 218 } 219 ?> 220 221 222 <form action="edit_report_handler.php" method="post" name="reportform"> 223 <?php if ( $updating_public ) { ?> 224 <input type="hidden" name="public" value="1" /> 225 <?php } ?> 226 <?php if ( ! $adding_report ) { ?> 227 <input type="hidden" name="report_id" value="<?php echo $report_id?>" /> 228 <?php } ?> 229 230 <table style="border-width:0px;"> 231 <tr><td> 232 <label for="rpt_name"><?php etranslate("Report name")?>:</label></td><td> 233 <input type="text" name="report_name" id="rpt_name" size="40" maxlength="50" 234 value="<?php echo $report_name; ?>" /> 235 </td></tr> 236 <?php 237 if ( $show_participants ) { 238 $users = "<option value=\"\""; 239 if ( empty ( $report_user ) ) { 240 $users .= " selected=\"selected\""; 241 } 242 $users .= ">" . translate ( "Current User" ) . "</option>\n"; 243 for ( $i = 0; $i < count ( $userlist ); $i++ ) { 244 $users .= "<option value=\"" . $userlist[$i]['cal_login'] . "\""; 245 if ( ! empty ( $report_user ) ) { 246 if ( $report_user == $userlist[$i]['cal_login'] ) { 247 $users .= " selected=\"selected\""; 248 } 249 } 250 $users .= ">" . $userlist[$i]['cal_fullname'] . "</option>\n"; 251 } 252 print "<tr><td><label for=\"rpt_user\">" . 253 translate("User") . ":</label></td>\n"; 254 print "<td><select name=\"report_user\" id=\"rpt_user\" size=\"1\">$users\n"; 255 print "</select>\n"; 256 print "</td></tr>\n"; 257 } 258 ?> 259 260 <?php if ( $is_admin ) { ?> 261 <tr><td><label> 262 <?php etranslate("Global")?>:</label></td><td> 263 <label><input type="radio" name="is_global" value="Y" 264 <?php if ( $report_is_global != 'N' ) echo " checked=\"checked\""; ?> 265 /> <?php etranslate("Yes") ?></label> 266 <label><input type="radio" name="is_global" value="N" 267 <?php if ( $report_is_global == 'N' ) echo " checked=\"checked\""; ?> 268 /> <?php etranslate("No") ?></label> 269 </td></tr> 270 <?php } ?> 271 272 <?php 273 // The report will always be shown in the trailer for the creator 274 // of the report. For admin users who create a global report, 275 // allow option of adding to all users trailer. 276 if ( $is_admin ) { 277 ?> 278 <tr><td><label> 279 <?php etranslate("Include link in trailer")?>:</label></td><td> 280 <label><input type="radio" name="show_in_trailer" value="Y" 281 <?php if ( $report_show_in_trailer != 'N' ) echo " checked=\"checked\""; ?> 282 /> <?php etranslate("Yes") ?></label> 283 <label><input type="radio" name="show_in_trailer" value="N" 284 <?php if ( $report_show_in_trailer == 'N' ) echo " checked=\"checked\""; ?> 285 /> <?php etranslate("No") ?></label> 286 </td></tr> 287 <?php } ?> 288 <tr><td><label> 289 <?php etranslate("Include standard header/trailer")?>: 290 </label></td><td> 291 <label><input type="radio" name="include_header" value="Y" 292 <?php if ( $report_include_header != 'N' ) echo " checked=\"checked\""; ?> 293 /> <?php etranslate("Yes") ?></label> 294 <label><input type="radio" name="include_header" value="N" 295 <?php if ( $report_include_header == 'N' ) echo " checked=\"checked\""; ?> 296 /> <?php etranslate("No") ?></label> 297 </td></tr> 298 <tr><td> 299 <label for="rpt_time_range"><?php etranslate("Date range")?>:</label></td><td> 300 <select name="time_range" id="rpt_time_range"> 301 <?php 302 while ( list ( $num, $descr ) = each ( $ranges ) ) { 303 echo "<option value=\"$num\""; 304 if ( $report_time_range == $num ) { 305 echo " selected=\"selected\""; 306 } 307 echo ">$descr</option>\n"; 308 } 309 ?></select> 310 </td></tr> 311 <tr><td> 312 <label for="rpt_cat_id"><?php etranslate("Category")?>:</label></td><td> 313 <select name="cat_id" id="rpt_cat_id"> 314 <option value=""><?php etranslate("None") ?></option> 315 <?php 316 while ( list ( $cat_id, $descr ) = each ( $categories ) ) { 317 echo "<option value=\"$cat_id\""; 318 if ( $report_cat_id == $cat_id ) { 319 echo " selected=\"selected\""; 320 } 321 echo ">$descr</option>\n"; 322 } 323 ?></select> 324 </td></tr> 325 <tr><td><label> 326 <?php etranslate("Include previous/next links")?>:</label></td><td> 327 <label><input type="radio" name="allow_nav" value="Y" 328 <?php if ( $report_allow_nav != 'N' ) echo " checked=\"checked\""; ?> 329 /> <?php etranslate("Yes") ?></label> 330 <label><input type="radio" name="allow_nav" value="N" 331 <?php if ( $report_allow_nav == 'N' ) echo " checked=\"checked\""; ?> 332 /> <?php etranslate("No") ?></label> 333 </td></tr> 334 <tr><td><label> 335 <?php etranslate("Include empty dates")?>:</label></td><td> 336 <label><input type="radio" name="include_empty" value="Y" 337 <?php if ( $report_include_empty != 'N' ) echo " checked=\"checked\""; ?> 338 /> <?php etranslate("Yes") ?></label> 339 <label><input type="radio" name="include_empty" value="N" 340 <?php if ( $report_include_empty == 'N' ) echo " checked=\"checked\""; ?> 341 /> <?php etranslate("No") ?></label> 342 </td></tr> 343 </table> 344 345 <table style="border-width:0px;"> 346 <tr><td> </td><td> </td><td><label> 347 <?php etranslate("Template variables")?></label> 348 </td></tr> 349 <tr><td valign="top"><label> 350 <?php etranslate("Page template")?>:</label></td><td> 351 <textarea rows="12" cols="60" name="page_template"> 352 <?php echo htmlentities ( $page_template, ENT_COMPAT, $charset )?> 353 </textarea></td><td style="vertical-align:top;"> 354 <tt>$days}</tt><br /> 355 <tt>$report_id}</tt><br /> 356 </td></tr> 357 <tr><td valign="top"><label> 358 <?php etranslate("Day template")?>:</label></td><td> 359 <textarea rows="12" cols="60" name="day_template"> 360 <?php echo htmlentities ( $day_template, ENT_COMPAT, $charset )?> 361 </textarea></td><td style="vertical-align:top;"> 362 <tt>$events}</tt><br /> 363 <tt>$date}</tt><br /> 364 <tt>$fulldate}</tt><br /> 365 <tt>$report_id}</tt><br /> 366 </td></tr> 367 <tr><td valign="top"><label> 368 <?php etranslate("Event template")?>:</label></td><td> 369 <textarea rows="12" cols="60" name="event_template"> 370 <?php echo htmlentities ( $event_template, ENT_COMPAT, $charset )?> 371 </textarea></td><td style="vertical-align:top;"> 372 <tt>$name}</tt><br /> 373 <tt>$description}</tt><br /> 374 <tt>$date}</tt><br /> 375 <tt>$fulldate}</tt><br /> 376 <tt>$time}</tt><br /> 377 <tt>$starttime}</tt><br /> 378 <tt>$endtime}</tt><br /> 379 <tt>$duration}</tt><br /> 380 <tt>$priority}</tt><br /> 381 <tt>$href}</tt><br /> 382 <tt>$user}</tt><br /> 383 <tt>$report_id}</tt> 384 </td></tr> 385 <tr><td colspan="2"> 386 <input type="submit" value="<?php etranslate("Save")?>" /> 387 <?php if ( ! $adding_report ) { ?> 388 <input type="submit" name="action" 389 value="<?php etranslate("Delete");?>" 390 onclick="return confirm('<?php etranslate("Are you sure you want to delete this report?")?>');" /> 391 <?php } ?> 392 </td></tr> 393 </table> 394 </form> 395 396 <?php print_trailer(); ?> 397 </body> 398 </html>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Nov 30 19:09:19 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |