C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\webcalendar\pref_handler.php


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
<?php
include_once 'includes/init.php';

$error "";

$updating_public false;;
if ( 
$is_admin && ! empty ( $public ) && $public_access == "Y" ) {
  
$updating_public true;
  
$prefuser "__public__";
} elseif ((
$user != $login) && ($is_admin || $is_nonuser_admin)) {
  
$prefuser "$user";
} else {
  
$prefuser "$login";
}

while ( list ( 
$key$value ) = each $HTTP_POST_VARS ) ) {
  
$setting substr $key);
  
$prefix substr $key0);
  if ( 
$key == 'user' )
    continue;
  
// validate key name.  should start with "pref_" and not include
  // any unusual characters that might cause SQL injection
  
if ( ! preg_match '/pref_[A-Za-z0-9_]+$/'$key ) ) {
    
die_miserable_death 'Invalid admin setting name "' .
      
$key '"' );
  }
  
//echo "Setting = $setting, key = $key, prefix = $prefix <br />\n";
  
if ( strlen $setting ) > && $prefix == "pref_" ) {
    
$sql =
      
"DELETE FROM webcal_user_pref WHERE cal_login = '$prefuser' " .
      
"AND cal_setting = '$setting'";
    
dbi_query $sql );
    if ( 
strlen $value ) > ) {
      
$sql "INSERT INTO webcal_user_pref " .
        
"( cal_login, cal_setting, cal_value ) VALUES " .
        
"( '$prefuser', '$setting', '$value' )";
      if ( ! 
dbi_query $sql ) ) {
        
$error "Unable to update preference: " dbi_error () .
    
"<br /><br /><span style=\"font-weight:bold;\">SQL:</span> $sql";
        break;
      }
    }
  }
}

if ( empty ( 
$error ) ) {
  if ( 
$updating_public ) {
    
do_redirect "pref.php?public=1" );
  } elseif ((
$is_admin || $is_nonuser_admin) && $login != $user ) {
    
do_redirect "pref.php?user=$user);
  } else {
    
do_redirect "pref.php" );
  }
}
print_header();
?>

<h2><?php etranslate("Error")?></h2>

<?php etranslate("The following error occurred")?>:
<blockquote>
<?php echo $error?>
</blockquote>

<?php print_trailer(); ?>

</body>
</html>