webcalendar

Hex Artifact Content
Login

Artifact a9af0a1b87f30def171b9c2811e7f7abc31cbce1ce8030f6898c78afa19d3b5e:


0000: 3c 3f 70 68 70 0a 2f 2a 20 24 49 64 3a 20 72 65  <?php./* $Id: re
0010: 6a 65 63 74 5f 65 6e 74 72 79 2e 70 68 70 2c 76  ject_entry.php,v
0020: 20 31 2e 36 32 2e 32 2e 35 20 32 30 31 32 2f 30   1.62.2.5 2012/0
0030: 32 2f 32 38 20 30 32 3a 30 37 3a 34 35 20 63 6b  2/28 02:07:45 ck
0040: 6e 75 64 73 65 6e 20 45 78 70 20 24 20 2a 2f 0a  nudsen Exp $ */.
0050: 69 6e 63 6c 75 64 65 5f 6f 6e 63 65 20 27 69 6e  include_once 'in
0060: 63 6c 75 64 65 73 2f 69 6e 69 74 2e 70 68 70 27  cludes/init.php'
0070: 3b 0a 72 65 71 75 69 72 65 5f 76 61 6c 69 64 65  ;.require_valide
0080: 5f 72 65 66 65 72 72 69 6e 67 5f 75 72 6c 20 28  _referring_url (
0090: 29 3b 0a 72 65 71 75 69 72 65 20 28 20 27 69 6e  );.require ( 'in
00a0: 63 6c 75 64 65 73 2f 63 6c 61 73 73 65 73 2f 57  cludes/classes/W
00b0: 65 62 43 61 6c 4d 61 69 6c 65 72 2e 63 6c 61 73  ebCalMailer.clas
00c0: 73 27 20 29 3b 0a 24 6d 61 69 6c 20 3d 20 6e 65  s' );.$mail = ne
00d0: 77 20 57 65 62 43 61 6c 4d 61 69 6c 65 72 3b 0a  w WebCalMailer;.
00e0: 0a 24 65 72 72 6f 72 20 3d 20 27 27 3b 0a 0a 69  .$error = '';..i
00f0: 66 20 28 20 24 72 65 61 64 6f 6e 6c 79 20 3d 3d  f ( $readonly ==
0100: 20 27 59 27 20 29 0a 20 20 24 65 72 72 6f 72 20   'Y' ).  $error 
0110: 3d 20 70 72 69 6e 74 5f 6e 6f 74 5f 61 75 74 68  = print_not_auth
0120: 20 28 34 29 3b 0a 0a 2f 2f 67 69 76 65 20 75 73   (4);..//give us
0130: 65 72 20 61 20 63 68 61 6e 67 65 20 74 6f 20 61  er a change to a
0140: 64 64 20 63 6f 6d 6d 65 6e 74 73 20 74 6f 20 72  dd comments to r
0150: 65 6a 65 63 74 69 6f 6e 20 65 6d 61 69 6c 0a 69  ejection email.i
0160: 66 20 28 20 21 20 65 6d 70 74 79 20 28 20 24 5f  f ( ! empty ( $_
0170: 50 4f 53 54 20 29 20 29 20 7b 0a 20 20 24 63 6f  POST ) ) {.  $co
0180: 6d 6d 65 6e 74 73 20 3d 20 67 65 74 50 6f 73 74  mments = getPost
0190: 56 61 6c 75 65 20 28 20 27 63 6f 6d 6d 65 6e 74  Value ( 'comment
01a0: 73 27 20 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 20  s' );.} else {. 
01b0: 20 20 24 71 5f 73 74 72 69 6e 67 20 3d 20 28 20    $q_string = ( 
01c0: 21 20 65 6d 70 74 79 20 28 20 24 5f 53 45 52 56  ! empty ( $_SERV
01d0: 45 52 5b 27 51 55 45 52 59 5f 53 54 52 49 4e 47  ER['QUERY_STRING
01e0: 27 5d 20 29 20 3f 20 20 27 3f 27 2e 20 24 5f 53  '] ) ?  '?'. $_S
01f0: 45 52 56 45 52 5b 27 51 55 45 52 59 5f 53 54 52  ERVER['QUERY_STR
0200: 49 4e 47 27 5d 20 3a 20 27 27 20 29 3b 0a 0a 20  ING'] : '' );.. 
0210: 20 20 70 72 69 6e 74 5f 68 65 61 64 65 72 20 28    print_header (
0220: 29 3b 0a 20 20 20 65 63 68 6f 20 22 3c 66 6f 72  );.   echo "<for
0230: 6d 20 61 63 74 69 6f 6e 3d 5c 22 72 65 6a 65 63  m action=\"rejec
0240: 74 5f 65 6e 74 72 79 2e 70 68 70 24 71 5f 73 74  t_entry.php$q_st
0250: 72 69 6e 67 5c 22 20 6d 65 74 68 6f 64 3d 5c 22  ring\" method=\"
0260: 70 6f 73 74 5c 22 20 6e 61 6d 65 3d 5c 22 61 64  post\" name=\"ad
0270: 64 5f 63 6f 6d 6d 65 6e 74 73 5c 22 20 3e 5c 6e  d_comments\" >\n
0280: 22 3b 0a 20 20 20 65 63 68 6f 20 22 3c 74 61 62  ";.   echo "<tab
0290: 6c 65 20 62 6f 72 64 65 72 3d 5c 22 30 5c 22 20  le border=\"0\" 
02a0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 5c 22 35 5c  cellspacing=\"5\
02b0: 22 3e 5c 6e 22 20 2e 0a 20 20 20 20 20 22 3c 74  ">\n" ..     "<t
02c0: 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 5c 22 63 65  r><td align=\"ce
02d0: 6e 74 65 72 5c 22 20 76 61 6c 69 67 6e 3d 5c 22  nter\" valign=\"
02e0: 62 6f 74 74 6f 6d 5c 22 3e 3c 68 33 3e 22 20 2e  bottom\"><h3>" .
02f0: 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 20  .     translate 
0300: 28 20 27 41 64 64 69 74 69 6f 6e 61 6c 20 43 6f  ( 'Additional Co
0310: 6d 6d 65 6e 74 73 20 28 6f 70 74 69 6f 6e 61 6c  mments (optional
0320: 29 27 20 29 20 2e 20 22 3c 2f 68 33 3e 3c 2f 74  )' ) . "</h3></t
0330: 64 3e 3c 74 72 3e 5c 6e 22 3b 0a 20 20 20 65 63  d><tr>\n";.   ec
0340: 68 6f 20 22 3c 74 72 3e 3c 74 64 20 61 6c 69 67  ho "<tr><td alig
0350: 6e 3d 5c 22 63 65 6e 74 65 72 5c 22 3e 22 20 2e  n=\"center\">" .
0360: 0a 20 20 20 20 20 22 3c 74 65 78 74 61 72 65 61  .     "<textarea
0370: 20 6e 61 6d 65 3d 5c 22 63 6f 6d 6d 65 6e 74 73   name=\"comments
0380: 5c 22 20 72 6f 77 73 3d 5c 22 35 5c 22 20 63 6f  \" rows=\"5\" co
0390: 6c 73 3d 5c 22 36 30 5c 22 20 3e 3c 2f 74 65 78  ls=\"60\" ></tex
03a0: 74 61 72 65 61 3e 3c 2f 74 64 3e 3c 2f 74 72 3e  tarea></td></tr>
03b0: 5c 6e 22 3b 0a 20 20 20 65 63 68 6f 20 22 3c 74  \n";.   echo "<t
03c0: 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 5c 22 63 65  r><td align=\"ce
03d0: 6e 74 65 72 5c 22 3e 3c 69 6e 70 75 74 20 74 79  nter\"><input ty
03e0: 70 65 3d 5c 22 73 75 62 6d 69 74 5c 22 20 76 61  pe=\"submit\" va
03f0: 6c 75 65 3d 5c 22 22 20 2e 0a 20 20 20 20 20 74  lue=\"" ..     t
0400: 72 61 6e 73 6c 61 74 65 20 28 20 27 43 6f 6e 74  ranslate ( 'Cont
0410: 69 6e 75 65 27 20 29 20 2e 20 22 5c 22 20 2f 3e  inue' ) . "\" />
0420: 3c 2f 74 72 3e 3c 2f 74 72 3e 5c 6e 3c 74 72 3e  </tr></tr>\n<tr>
0430: 3c 74 64 3e 22 3b 0a 20 20 20 65 74 72 61 6e 73  <td>";.   etrans
0440: 6c 61 74 65 20 28 20 27 28 59 6f 75 72 20 63 6f  late ( '(Your co
0450: 6d 6d 65 6e 74 73 20 77 69 6c 6c 20 62 65 20 65  mments will be e
0460: 6d 61 69 6c 65 64 20 74 6f 20 74 68 65 20 6f 74  mailed to the ot
0470: 68 65 72 20 70 61 72 74 69 63 69 70 61 6e 74 73  her participants
0480: 2e 29 27 20 29 3b 0a 20 20 20 65 63 68 6f 20 22  .)' );.   echo "
0490: 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
04a0: 65 3e 3c 2f 66 6f 72 6d 3e 5c 6e 22 3b 0a 20 20  e></form>\n";.  
04b0: 20 65 63 68 6f 20 22 3c 2f 62 6f 64 79 3e 5c 6e   echo "</body>\n
04c0: 3c 2f 68 74 6d 6c 3e 22 3b 0a 20 20 20 65 78 69  </html>";.   exi
04d0: 74 3b 0a 7d 0a 0a 24 75 73 65 72 20 3d 20 67 65  t;.}..$user = ge
04e0: 74 56 61 6c 75 65 20 28 20 27 75 73 65 72 27 20  tValue ( 'user' 
04f0: 29 3b 0a 24 69 64 20 3d 20 67 65 74 56 61 6c 75  );.$id = getValu
0500: 65 20 28 20 27 69 64 27 20 29 3b 0a 0a 2f 2f 20  e ( 'id' );..// 
0510: 41 6c 6c 6f 77 20 61 64 6d 69 6e 69 73 74 72 61  Allow administra
0520: 74 6f 72 73 20 74 6f 20 61 70 70 72 6f 76 65 20  tors to approve 
0530: 70 75 62 6c 69 63 20 65 76 65 6e 74 73 0a 69 66  public events.if
0540: 20 28 20 24 50 55 42 4c 49 43 5f 41 43 43 45 53   ( $PUBLIC_ACCES
0550: 53 20 3d 3d 20 27 59 27 20 26 26 20 21 20 65 6d  S == 'Y' && ! em
0560: 70 74 79 20 28 20 24 70 75 62 6c 69 63 20 29 20  pty ( $public ) 
0570: 26 26 20 24 69 73 5f 61 64 6d 69 6e 20 29 0a 20  && $is_admin ). 
0580: 20 24 61 70 70 5f 75 73 65 72 20 3d 20 27 5f 5f   $app_user = '__
0590: 70 75 62 6c 69 63 5f 5f 27 3b 0a 65 6c 73 65 0a  public__';.else.
05a0: 20 20 24 61 70 70 5f 75 73 65 72 20 3d 20 28 20    $app_user = ( 
05b0: 24 69 73 5f 61 73 73 69 73 74 61 6e 74 20 7c 7c  $is_assistant ||
05c0: 20 24 69 73 5f 6e 6f 6e 75 73 65 72 5f 61 64 6d   $is_nonuser_adm
05d0: 69 6e 20 3f 20 24 75 73 65 72 20 3a 20 24 6c 6f  in ? $user : $lo
05e0: 67 69 6e 20 29 3b 0a 0a 2f 2f 20 49 66 20 55 73  gin );..// If Us
05f0: 65 72 20 41 63 63 65 73 73 20 43 6f 6e 74 72 6f  er Access Contro
0600: 6c 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 77 65  l is enabled, we
0610: 20 63 68 65 63 6b 20 74 6f 20 73 65 65 20 69 66   check to see if
0620: 20 74 68 65 79 20 61 72 65 0a 2f 2f 20 61 6c 6c   they are.// all
0630: 6f 77 65 64 20 74 6f 20 61 70 70 72 6f 76 65 20  owed to approve 
0640: 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65  for the specifie
0650: 64 20 75 73 65 72 2e 0a 69 66 20 28 20 61 63 63  d user..if ( acc
0660: 65 73 73 5f 69 73 5f 65 6e 61 62 6c 65 64 20 28  ess_is_enabled (
0670: 29 20 26 26 20 21 20 65 6d 70 74 79 20 28 20 24  ) && ! empty ( $
0680: 75 73 65 72 20 29 20 26 26 0a 20 20 24 75 73 65  user ) &&.  $use
0690: 72 20 21 3d 20 24 6c 6f 67 69 6e 20 29 20 7b 0a  r != $login ) {.
06a0: 20 20 69 66 20 28 20 61 63 63 65 73 73 5f 75 73    if ( access_us
06b0: 65 72 5f 63 61 6c 65 6e 64 61 72 20 28 20 27 61  er_calendar ( 'a
06c0: 70 70 72 6f 76 65 27 2c 20 24 75 73 65 72 20 29  pprove', $user )
06d0: 20 29 0a 20 20 20 20 24 61 70 70 5f 75 73 65 72   ).    $app_user
06e0: 20 3d 20 24 75 73 65 72 3b 0a 7d 0a 0a 24 76 69   = $user;.}..$vi
06f0: 65 77 5f 74 79 70 65 20 3d 20 27 76 69 65 77 5f  ew_type = 'view_
0700: 65 6e 74 72 79 27 3b 0a 24 74 79 70 65 20 3d 20  entry';.$type = 
0710: 67 65 74 47 65 74 56 61 6c 75 65 20 28 20 27 74  getGetValue ( 't
0720: 79 70 65 27 20 29 3b 0a 0a 69 66 20 28 20 65 6d  ype' );..if ( em
0730: 70 74 79 20 28 20 24 65 72 72 6f 72 20 29 20 26  pty ( $error ) &
0740: 26 20 24 69 64 20 3e 20 30 20 29 20 7b 0a 20 20  & $id > 0 ) {.  
0750: 75 70 64 61 74 65 5f 73 74 61 74 75 73 20 28 20  update_status ( 
0760: 27 52 27 2c 20 24 61 70 70 5f 75 73 65 72 2c 20  'R', $app_user, 
0770: 24 69 64 2c 20 24 74 79 70 65 20 29 3b 0a 0a 20  $id, $type );.. 
0780: 20 2f 2f 20 45 6d 61 69 6c 20 70 61 72 74 69 63   // Email partic
0790: 69 70 61 6e 74 73 20 74 6f 20 6e 6f 74 69 66 79  ipants to notify
07a0: 20 74 68 61 74 20 69 74 20 77 61 73 20 72 65 6a   that it was rej
07b0: 65 63 74 65 64 2e 0a 20 20 2f 2f 20 47 65 74 20  ected..  // Get 
07c0: 6c 69 73 74 20 6f 66 20 70 61 72 74 69 63 69 70  list of particip
07d0: 61 6e 74 73 0a 20 20 24 72 65 73 20 3d 20 64 62  ants.  $res = db
07e0: 69 5f 65 78 65 63 75 74 65 20 28 20 27 53 45 4c  i_execute ( 'SEL
07f0: 45 43 54 20 63 61 6c 5f 6c 6f 67 69 6e 20 46 52  ECT cal_login FR
0800: 4f 4d 20 77 65 62 63 61 6c 5f 65 6e 74 72 79 5f  OM webcal_entry_
0810: 75 73 65 72 0a 20 20 20 20 57 48 45 52 45 20 63  user.    WHERE c
0820: 61 6c 5f 69 64 20 3d 20 3f 20 61 6e 64 20 63 61  al_id = ? and ca
0830: 6c 5f 73 74 61 74 75 73 20 3d 20 5c 27 41 5c 27  l_status = \'A\'
0840: 27 2c 20 61 72 72 61 79 20 28 20 24 69 64 20 29  ', array ( $id )
0850: 20 29 3b 0a 20 20 69 66 20 28 20 24 72 65 73 20   );.  if ( $res 
0860: 29 20 7b 0a 20 20 20 20 77 68 69 6c 65 20 28 20  ) {.    while ( 
0870: 24 72 6f 77 20 3d 20 64 62 69 5f 66 65 74 63 68  $row = dbi_fetch
0880: 5f 72 6f 77 20 28 20 24 72 65 73 20 29 20 29 0a  _row ( $res ) ).
0890: 20 20 20 20 20 20 24 70 61 72 74 6c 6f 67 69 6e        $partlogin
08a0: 5b 5d 20 3d 20 24 72 6f 77 5b 30 5d 3b 0a 20 20  [] = $row[0];.  
08b0: 20 20 64 62 69 5f 66 72 65 65 5f 72 65 73 75 6c    dbi_free_resul
08c0: 74 20 28 20 24 72 65 73 20 29 3b 0a 20 20 7d 0a  t ( $res );.  }.
08d0: 0a 20 20 2f 2f 20 47 65 74 20 74 68 65 20 6e 61  .  // Get the na
08e0: 6d 65 20 6f 66 20 74 68 65 20 65 76 65 6e 74 0a  me of the event.
08f0: 20 20 24 72 65 73 20 3d 20 64 62 69 5f 65 78 65    $res = dbi_exe
0900: 63 75 74 65 20 28 20 27 53 45 4c 45 43 54 20 63  cute ( 'SELECT c
0910: 61 6c 5f 6e 61 6d 65 2c 20 63 61 6c 5f 64 65 73  al_name, cal_des
0920: 63 72 69 70 74 69 6f 6e 2c 20 63 61 6c 5f 64 61  cription, cal_da
0930: 74 65 2c 20 63 61 6c 5f 74 69 6d 65 0a 20 20 20  te, cal_time.   
0940: 20 46 52 4f 4d 20 77 65 62 63 61 6c 5f 65 6e 74   FROM webcal_ent
0950: 72 79 20 57 48 45 52 45 20 63 61 6c 5f 69 64 20  ry WHERE cal_id 
0960: 3d 20 3f 27 2c 20 61 72 72 61 79 20 28 20 24 69  = ?', array ( $i
0970: 64 20 29 20 29 3b 0a 20 20 69 66 20 28 20 24 72  d ) );.  if ( $r
0980: 65 73 20 29 20 7b 0a 20 20 20 20 24 72 6f 77 20  es ) {.    $row 
0990: 3d 20 64 62 69 5f 66 65 74 63 68 5f 72 6f 77 20  = dbi_fetch_row 
09a0: 28 20 24 72 65 73 20 29 3b 0a 20 20 20 20 24 6e  ( $res );.    $n
09b0: 61 6d 65 20 3d 20 24 72 6f 77 5b 30 5d 3b 0a 20  ame = $row[0];. 
09c0: 20 20 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20     $description 
09d0: 3d 20 24 72 6f 77 5b 31 5d 3b 0a 20 20 20 20 24  = $row[1];.    $
09e0: 66 6d 74 64 61 74 65 20 3d 20 24 72 6f 77 5b 32  fmtdate = $row[2
09f0: 5d 3b 0a 20 20 20 20 24 74 69 6d 65 20 3d 20 73  ];.    $time = s
0a00: 70 72 69 6e 74 66 20 28 20 22 25 30 36 64 22 2c  printf ( "%06d",
0a10: 20 24 72 6f 77 5b 33 5d 20 29 3b 0a 20 20 20 20   $row[3] );.    
0a20: 64 62 69 5f 66 72 65 65 5f 72 65 73 75 6c 74 20  dbi_free_result 
0a30: 28 20 24 72 65 73 20 29 3b 0a 20 20 7d 0a 0a 20  ( $res );.  }.. 
0a40: 20 24 65 76 65 6e 74 73 74 61 72 74 20 3d 20 64   $eventstart = d
0a50: 61 74 65 5f 74 6f 5f 65 70 6f 63 68 20 28 20 24  ate_to_epoch ( $
0a60: 66 6d 74 64 61 74 65 20 2e 20 24 74 69 6d 65 20  fmtdate . $time 
0a70: 29 3b 0a 20 20 66 6f 72 20 28 20 24 69 20 3d 20  );.  for ( $i = 
0a80: 30 2c 20 24 63 6e 74 20 3d 20 63 6f 75 6e 74 20  0, $cnt = count 
0a90: 28 20 24 70 61 72 74 6c 6f 67 69 6e 20 29 3b 20  ( $partlogin ); 
0aa0: 24 69 20 3c 20 24 63 6e 74 3b 20 24 69 2b 2b 20  $i < $cnt; $i++ 
0ab0: 29 20 7b 0a 20 20 20 20 2f 2f 20 64 6f 65 73 20  ) {.    // does 
0ac0: 74 68 69 73 20 75 73 65 72 20 77 61 6e 74 20 65  this user want e
0ad0: 6d 61 69 6c 20 66 6f 72 20 74 68 69 73 3f 0a 20  mail for this?. 
0ae0: 20 20 20 24 73 65 6e 64 5f 75 73 65 72 5f 6d 61     $send_user_ma
0af0: 69 6c 20 3d 20 67 65 74 5f 70 72 65 66 5f 73 65  il = get_pref_se
0b00: 74 74 69 6e 67 20 28 20 24 70 61 72 74 6c 6f 67  tting ( $partlog
0b10: 69 6e 5b 24 69 5d 2c 0a 20 20 20 20 20 20 27 45  in[$i],.      'E
0b20: 4d 41 49 4c 5f 45 56 45 4e 54 5f 52 45 4a 45 43  MAIL_EVENT_REJEC
0b30: 54 45 44 27 20 29 3b 0a 20 20 20 20 2f 2f 63 68  TED' );.    //ch
0b40: 65 63 6b 20 55 41 43 0a 20 20 20 20 24 63 61 6e  eck UAC.    $can
0b50: 5f 6d 61 69 6c 20 3d 20 27 59 27 3b 0a 20 20 20  _mail = 'Y';.   
0b60: 20 69 66 20 28 20 61 63 63 65 73 73 5f 69 73 5f   if ( access_is_
0b70: 65 6e 61 62 6c 65 64 20 28 29 20 29 20 7b 0a 20  enabled () ) {. 
0b80: 20 20 20 20 20 24 63 61 6e 5f 6d 61 69 6c 20 3d       $can_mail =
0b90: 20 61 63 63 65 73 73 5f 75 73 65 72 5f 63 61 6c   access_user_cal
0ba0: 65 6e 64 61 72 20 28 20 27 65 6d 61 69 6c 27 2c  endar ( 'email',
0bb0: 20 24 70 61 72 74 6c 6f 67 69 6e 5b 24 69 5d 2c   $partlogin[$i],
0bc0: 20 24 6c 6f 67 69 6e 29 3b 0a 20 20 20 20 7d 0a   $login);.    }.
0bd0: 20 20 20 20 24 68 74 6d 6c 6d 61 69 6c 20 3d 20      $htmlmail = 
0be0: 67 65 74 5f 70 72 65 66 5f 73 65 74 74 69 6e 67  get_pref_setting
0bf0: 20 28 20 24 70 61 72 74 6c 6f 67 69 6e 5b 24 69   ( $partlogin[$i
0c00: 5d 2c 20 27 45 4d 41 49 4c 5f 48 54 4d 4c 27 20  ], 'EMAIL_HTML' 
0c10: 29 3b 0a 20 20 20 20 24 74 5f 66 6f 72 6d 61 74  );.    $t_format
0c20: 20 3d 20 67 65 74 5f 70 72 65 66 5f 73 65 74 74   = get_pref_sett
0c30: 69 6e 67 20 28 20 24 70 61 72 74 6c 6f 67 69 6e  ing ( $partlogin
0c40: 5b 24 69 5d 2c 20 27 54 49 4d 45 5f 46 4f 52 4d  [$i], 'TIME_FORM
0c50: 41 54 27 20 29 3b 0a 20 20 20 20 75 73 65 72 5f  AT' );.    user_
0c60: 6c 6f 61 64 5f 76 61 72 69 61 62 6c 65 73 20 28  load_variables (
0c70: 20 24 70 61 72 74 6c 6f 67 69 6e 5b 24 69 5d 2c   $partlogin[$i],
0c80: 20 27 74 65 6d 70 27 20 29 3b 0a 20 20 20 20 24   'temp' );.    $
0c90: 75 73 65 72 5f 54 49 4d 45 5a 4f 4e 45 20 3d 20  user_TIMEZONE = 
0ca0: 67 65 74 5f 70 72 65 66 5f 73 65 74 74 69 6e 67  get_pref_setting
0cb0: 20 28 20 24 70 61 72 74 6c 6f 67 69 6e 5b 24 69   ( $partlogin[$i
0cc0: 5d 2c 20 27 54 49 4d 45 5a 4f 4e 45 27 20 29 3b  ], 'TIMEZONE' );
0cd0: 0a 20 20 20 20 73 65 74 5f 65 6e 76 20 28 20 27  .    set_env ( '
0ce0: 54 5a 27 2c 20 24 75 73 65 72 5f 54 49 4d 45 5a  TZ', $user_TIMEZ
0cf0: 4f 4e 45 29 3b 0a 20 20 20 20 24 75 73 65 72 5f  ONE);.    $user_
0d00: 6c 61 6e 67 75 61 67 65 20 3d 20 67 65 74 5f 70  language = get_p
0d10: 72 65 66 5f 73 65 74 74 69 6e 67 20 28 20 24 70  ref_setting ( $p
0d20: 61 72 74 6c 6f 67 69 6e 5b 24 69 5d 2c 20 27 4c  artlogin[$i], 'L
0d30: 41 4e 47 55 41 47 45 27 20 29 3b 0a 20 20 20 20  ANGUAGE' );.    
0d40: 69 66 20 28 20 24 73 65 6e 64 5f 75 73 65 72 5f  if ( $send_user_
0d50: 6d 61 69 6c 20 3d 3d 20 27 59 27 20 26 26 20 73  mail == 'Y' && s
0d60: 74 72 6c 65 6e 20 28 20 24 74 65 6d 70 65 6d 61  trlen ( $tempema
0d70: 69 6c 20 29 20 26 26 0a 20 20 20 20 20 20 24 53  il ) &&.      $S
0d80: 45 4e 44 5f 45 4d 41 49 4c 20 21 3d 20 27 4e 27  END_EMAIL != 'N'
0d90: 20 26 26 20 24 63 61 6e 5f 6d 61 69 6c 20 3d 3d   && $can_mail ==
0da0: 20 27 59 27 29 20 7b 0a 20 20 20 20 20 20 69 66   'Y') {.      if
0db0: 20 28 20 65 6d 70 74 79 20 28 20 24 75 73 65 72   ( empty ( $user
0dc0: 5f 6c 61 6e 67 75 61 67 65 20 29 20 7c 7c 20 28  _language ) || (
0dd0: 20 24 75 73 65 72 5f 6c 61 6e 67 75 61 67 65 20   $user_language 
0de0: 3d 3d 20 27 6e 6f 6e 65 27 20 29 29 20 7b 0a 20  == 'none' )) {. 
0df0: 20 20 20 20 20 20 20 72 65 73 65 74 5f 6c 61 6e         reset_lan
0e00: 67 75 61 67 65 20 28 20 24 4c 41 4e 47 55 41 47  guage ( $LANGUAG
0e10: 45 20 29 3b 0a 20 20 20 20 20 20 7d 20 65 6c 73  E );.      } els
0e20: 65 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 65  e {.        rese
0e30: 74 5f 6c 61 6e 67 75 61 67 65 20 28 20 24 75 73  t_language ( $us
0e40: 65 72 5f 6c 61 6e 67 75 61 67 65 20 29 3b 0a 20  er_language );. 
0e50: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 24 6d 73       }.      $ms
0e60: 67 20 3d 20 74 72 61 6e 73 6c 61 74 65 20 28 20  g = translate ( 
0e70: 27 48 65 6c 6c 6f 27 20 29 20 2e 20 27 2c 20 27  'Hello' ) . ', '
0e80: 20 2e 20 24 74 65 6d 70 66 75 6c 6c 6e 61 6d 65   . $tempfullname
0e90: 20 2e 20 22 2e 5c 6e 5c 6e 22 20 2e 0a 20 20 20   . ".\n\n" ..   
0ea0: 20 20 20 74 72 61 6e 73 6c 61 74 65 20 28 20 27     translate ( '
0eb0: 41 6e 20 61 70 70 6f 69 6e 74 6d 65 6e 74 20 68  An appointment h
0ec0: 61 73 20 62 65 65 6e 20 72 65 6a 65 63 74 65 64  as been rejected
0ed0: 20 62 79 27 20 29 20 2e 0a 20 20 20 20 20 20 27   by' ) ..      '
0ee0: 20 27 20 2e 20 24 6c 6f 67 69 6e 5f 66 75 6c 6c   ' . $login_full
0ef0: 6e 61 6d 65 20 2e 20 22 2e 5c 6e 5c 6e 22 20 2e  name . ".\n\n" .
0f00: 0a 20 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65  .      translate
0f10: 20 28 20 27 54 68 65 20 73 75 62 6a 65 63 74 20   ( 'The subject 
0f20: 77 61 73 27 20 29 20 2e 20 27 20 22 27 20 2e 20  was' ) . ' "' . 
0f30: 24 6e 61 6d 65 20 2e 20 22 20 5c 22 5c 6e 22 20  $name . " \"\n" 
0f40: 2e 0a 20 20 20 20 20 20 74 72 61 6e 73 6c 61 74  ..      translat
0f50: 65 20 28 20 27 54 68 65 20 64 65 73 63 72 69 70  e ( 'The descrip
0f60: 74 69 6f 6e 20 69 73 27 20 29 20 2e 20 27 20 22  tion is' ) . ' "
0f70: 27 20 2e 20 24 64 65 73 63 72 69 70 74 69 6f 6e  ' . $description
0f80: 20 2e 20 22 5c 22 5c 6e 22 20 2e 0a 20 20 20 20   . "\"\n" ..    
0f90: 20 20 74 72 61 6e 73 6c 61 74 65 20 28 20 27 44    translate ( 'D
0fa0: 61 74 65 27 20 29 20 2e 20 27 3a 20 27 20 2e 20  ate' ) . ': ' . 
0fb0: 64 61 74 65 5f 74 6f 5f 73 74 72 20 28 20 24 66  date_to_str ( $f
0fc0: 6d 74 64 61 74 65 20 29 20 2e 20 22 5c 6e 22 20  mtdate ) . "\n" 
0fd0: 2e 0a 20 20 20 20 20 20 28 20 28 20 65 6d 70 74  ..      ( ( empt
0fe0: 79 20 28 20 24 68 6f 75 72 20 29 20 26 26 20 65  y ( $hour ) && e
0ff0: 6d 70 74 79 20 28 20 24 6d 69 6e 75 74 65 20 29  mpty ( $minute )
1000: 20 3f 20 27 27 20 3a 20 74 72 61 6e 73 6c 61 74   ? '' : translat
1010: 65 20 28 20 27 54 69 6d 65 27 20 29 20 2e 20 27  e ( 'Time' ) . '
1020: 3a 20 27 20 2e 0a 20 20 20 20 20 20 2f 2f 20 44  : ' ..      // D
1030: 69 73 70 6c 61 79 20 75 73 69 6e 67 20 75 73 65  isplay using use
1040: 72 27 73 20 54 49 4d 45 5a 4f 4e 45 20 61 6e 64  r's TIMEZONE and
1050: 20 64 69 73 70 6c 61 79 20 54 5a 49 44 0a 20 20   display TZID.  
1060: 20 20 20 20 64 69 73 70 6c 61 79 5f 74 69 6d 65      display_time
1070: 20 28 20 27 27 2c 20 32 2c 20 24 65 76 65 6e 74   ( '', 2, $event
1080: 73 74 61 72 74 2c 20 24 74 5f 66 6f 72 6d 61 74  start, $t_format
1090: 20 29 20 29 20 29 2e 20 22 5c 6e 22 3b 0a 20 20   ) ) ). "\n";.  
10a0: 20 20 20 20 69 66 20 28 20 21 20 65 6d 70 74 79      if ( ! empty
10b0: 20 28 20 24 53 45 52 56 45 52 5f 55 52 4c 20 29   ( $SERVER_URL )
10c0: 20 29 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 44   ) {.        //D
10d0: 4f 4e 27 54 20 63 68 61 6e 67 65 20 26 20 74 6f  ON'T change & to
10e0: 20 26 61 6d 70 3b 20 68 65 72 65 2e 20 65 6d 61   &amp; here. ema
10f0: 69 6c 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 69  il will handle i
1100: 74 0a 20 20 20 20 20 20 20 20 24 75 72 6c 20 3d  t.        $url =
1110: 20 24 53 45 52 56 45 52 5f 55 52 4c 20 2e 20 24   $SERVER_URL . $
1120: 76 69 65 77 5f 74 79 70 65 20 2e 20 27 2e 70 68  view_type . '.ph
1130: 70 3f 69 64 3d 27 20 2e 20 24 69 64 20 2e 20 27  p?id=' . $id . '
1140: 26 65 6d 3d 31 27 3b 0a 20 20 20 20 20 20 20 20  &em=1';.        
1150: 69 66 20 28 20 24 68 74 6d 6c 6d 61 69 6c 20 3d  if ( $htmlmail =
1160: 3d 20 27 59 27 20 29 20 7b 0a 20 20 20 20 20 20  = 'Y' ) {.      
1170: 20 20 20 20 24 75 72 6c 20 3d 20 20 61 63 74 69      $url =  acti
1180: 76 61 74 65 5f 75 72 6c 73 20 28 20 24 75 72 6c  vate_urls ( $url
1190: 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20   );.        }.  
11a0: 20 20 20 20 20 20 24 6d 73 67 20 2e 3d 20 22 5c        $msg .= "\
11b0: 6e 22 20 2e 20 24 75 72 6c 3b 0a 20 20 20 20 20  n" . $url;.     
11c0: 20 7d 0a 20 20 20 20 20 20 69 66 20 28 20 73 74   }.      if ( st
11d0: 72 6c 65 6e 20 28 20 24 63 6f 6d 6d 65 6e 74 73  rlen ( $comments
11e0: 20 29 20 29 20 7b 0a 20 20 20 20 20 20 20 20 24   ) ) {.        $
11f0: 6d 73 67 20 2e 3d 20 22 5c 6e 5c 6e 22 20 2e 20  msg .= "\n\n" . 
1200: 74 72 61 6e 73 6c 61 74 65 20 28 20 27 43 6f 6d  translate ( 'Com
1210: 6d 65 6e 74 73 27 20 29 20 2e 20 27 3a 20 27 20  ments' ) . ': ' 
1220: 2e 20 24 63 6f 6d 6d 65 6e 74 73 3b 0a 20 20 20  . $comments;.   
1230: 20 20 20 7d 0a 20 20 20 20 20 20 24 66 72 6f 6d     }.      $from
1240: 20 3d 20 24 45 4d 41 49 4c 5f 46 41 4c 4c 42 41   = $EMAIL_FALLBA
1250: 43 4b 5f 46 52 4f 4d 3b 0a 20 20 20 20 20 20 69  CK_FROM;.      i
1260: 66 20 28 20 73 74 72 6c 65 6e 20 28 20 24 6c 6f  f ( strlen ( $lo
1270: 67 69 6e 5f 65 6d 61 69 6c 20 29 20 29 20 24 66  gin_email ) ) $f
1280: 72 6f 6d 20 3d 20 24 6c 6f 67 69 6e 5f 65 6d 61  rom = $login_ema
1290: 69 6c 3b 0a 20 20 20 20 20 20 2f 2f 73 65 6e 64  il;.      //send
12a0: 20 76 69 61 20 57 65 62 43 61 6c 4d 61 69 6c 65   via WebCalMaile
12b0: 72 20 63 6c 61 73 73 0a 20 20 20 20 20 20 24 6d  r class.      $m
12c0: 61 69 6c 2d 3e 57 43 5f 53 65 6e 64 20 28 20 24  ail->WC_Send ( $
12d0: 6c 6f 67 69 6e 5f 66 75 6c 6c 6e 61 6d 65 2c 20  login_fullname, 
12e0: 24 74 65 6d 70 65 6d 61 69 6c 2c 0a 20 20 20 20  $tempemail,.    
12f0: 20 20 20 20 24 74 65 6d 70 66 75 6c 6c 6e 61 6d      $tempfullnam
1300: 65 2c 20 24 6e 61 6d 65 2c 20 24 6d 73 67 2c 20  e, $name, $msg, 
1310: 24 68 74 6d 6c 6d 61 69 6c 2c 20 24 66 72 6f 6d  $htmlmail, $from
1320: 20 29 3b 0a 20 20 20 20 20 20 61 63 74 69 76 69   );.      activi
1330: 74 79 5f 6c 6f 67 20 28 20 24 69 64 2c 20 24 6c  ty_log ( $id, $l
1340: 6f 67 69 6e 2c 20 24 70 61 72 74 6c 6f 67 69 6e  ogin, $partlogin
1350: 5b 24 69 5d 2c 20 4c 4f 47 5f 4e 4f 54 49 46 49  [$i], LOG_NOTIFI
1360: 43 41 54 49 4f 4e 2c 0a 20 20 20 20 20 20 20 20  CATION,.        
1370: 22 52 65 6a 65 63 74 65 64 20 62 79 20 24 61 70  "Rejected by $ap
1380: 70 5f 75 73 65 72 22 20 29 3b 0a 20 20 20 20 7d  p_user" );.    }
1390: 0a 20 20 7d 0a 7d 0a 2f 2f 72 65 74 75 72 6e 20  .  }.}.//return 
13a0: 74 6f 20 6c 6f 67 69 6e 20 54 49 4d 45 5a 4f 4e  to login TIMEZON
13b0: 45 0a 73 65 74 5f 65 6e 76 20 28 20 27 54 5a 27  E.set_env ( 'TZ'
13c0: 2c 20 24 54 49 4d 45 5a 4f 4e 45 20 29 3b 0a 69  , $TIMEZONE );.i
13d0: 66 20 28 20 65 6d 70 74 79 20 28 20 24 65 72 72  f ( empty ( $err
13e0: 6f 72 20 29 20 26 26 20 65 6d 70 74 79 20 28 20  or ) && empty ( 
13f0: 24 6d 61 69 6c 65 72 45 72 72 6f 72 20 29 20 29  $mailerError ) )
1400: 20 7b 0a 20 20 69 66 20 28 20 21 20 65 6d 70 74   {.  if ( ! empt
1410: 79 20 28 20 24 72 65 74 20 29 20 26 26 20 24 72  y ( $ret ) && $r
1420: 65 74 20 3d 3d 20 27 6c 69 73 74 61 6c 6c 27 20  et == 'listall' 
1430: 29 0a 20 20 20 20 64 6f 5f 72 65 64 69 72 65 63  ).    do_redirec
1440: 74 20 28 20 27 6c 69 73 74 5f 75 6e 61 70 70 72  t ( 'list_unappr
1450: 6f 76 65 64 2e 70 68 70 27 20 29 3b 0a 20 20 65  oved.php' );.  e
1460: 6c 73 65 20 69 66 20 28 20 21 20 65 6d 70 74 79  lse if ( ! empty
1470: 20 28 20 24 72 65 74 20 29 20 26 26 20 20 24 72   ( $ret ) &&  $r
1480: 65 74 20 3d 3d 20 27 6c 69 73 74 27 20 29 0a 20  et == 'list' ). 
1490: 20 20 20 64 6f 5f 72 65 64 69 72 65 63 74 20 28     do_redirect (
14a0: 20 22 6c 69 73 74 5f 75 6e 61 70 70 72 6f 76 65   "list_unapprove
14b0: 64 2e 70 68 70 3f 75 73 65 72 3d 24 61 70 70 5f  d.php?user=$app_
14c0: 75 73 65 72 22 20 29 3b 0a 20 20 65 6c 73 65 0a  user" );.  else.
14d0: 20 20 20 20 64 6f 5f 72 65 64 69 72 65 63 74 20      do_redirect 
14e0: 28 20 24 76 69 65 77 5f 74 79 70 65 20 2e 20 22  ( $view_type . "
14f0: 2e 70 68 70 3f 69 64 3d 24 69 64 26 61 6d 70 3b  .php?id=$id&amp;
1500: 75 73 65 72 3d 24 61 70 70 5f 75 73 65 72 22 20  user=$app_user" 
1510: 29 3b 0a 20 20 65 78 69 74 3b 0a 7d 0a 2f 2f 70  );.  exit;.}.//p
1520: 72 6f 63 65 73 73 20 65 72 72 6f 72 73 0a 24 6d  rocess errors.$m
1530: 61 69 6c 2d 3e 4d 61 69 6c 45 72 72 6f 72 20 28  ail->MailError (
1540: 20 24 6d 61 69 6c 65 72 45 72 72 6f 72 2c 20 24   $mailerError, $
1550: 65 72 72 6f 72 20 29 3b 20 3f 3e 0a              error ); ?>.