⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 event.php

📁 groupoffice
💻 PHP
📖 第 1 页 / 共 5 页
字号:
							}							if (isset ($_POST['repeat_days_2'])) {								$event['days'][] = $full_days[2 + $shift_day];							}							if (isset ($_POST['repeat_days_3'])) {								$event['days'][] = $full_days[3 + $shift_day];							}							if (isset ($_POST['repeat_days_4'])) {								$event['days'][] = $full_days[4 + $shift_day];							}							if (isset ($_POST['repeat_days_5'])) {								$event['days'][] = $full_days[5 + $shift_day];							}							if (isset ($_POST['repeat_days_6'])) {								$event['days'][] = $full_days[6] + $shift_day;							}							$mail_body .= implode(', ', $event['days']);							$mail_body .= '</td></tr>';							$mail_body .= '<tr><td>'.$sc_cycle_end.':</td><td>';							if ($event['repeat_forever'] == '1') {								$mail_body .= $sc_noend;							} else {								$mail_body .= date($_SESSION['GO_SESSION']['date_format'], $event['repeat_end_time']);							}							break;						case REPEAT_YEARLY;							if (!isset ($_POST['all_day_event'])) {								$mail_body .= '<tr><td>'.$sc_start_at.':</td><td>'.date($event_datetime_format, gmt_to_local_time($event['start_time'])).'</td></tr>';								if ($event['end_time'] != $event['start_time']) {									$mail_body .= '<tr><td>'.$sc_end_at.':</td><td>'.date($event_datetime_format, gmt_to_local_time($event['end_time'])).'</td></tr>';								}							} else {								$mail_body .= '<tr><td>'.$sc_start_at.':</td><td>'.$sc_day.' '.date('d', $event['start_time']).'</td></tr>';								$mail_body .= '<tr><td>'.$sc_end_at.':</td><td>'.$sc_day.' '.date('d', $event['start_time']).'</td></tr>';							}							$mail_body .= '<tr><td>'.$sc_cycle_end.':</td><td>';							if ($event['repeat_forever'] == '1') {								$mail_body .= $sc_noend;							} else {								$mail_body .= date($_SESSION['GO_SESSION']['date_format'], $event['repeat_end_time']);							}							break;					}					$mail_body .= '</table><br /><br />'.$sc_accept_question.'<br /><br />';					require_once ($GO_CONFIG->class_path."mail/phpmailer/class.phpmailer.php");					require_once ($GO_CONFIG->class_path."mail/phpmailer/class.smtp.php");					$mail = new PHPMailer();					$mail->PluginDir = $GO_CONFIG->class_path.'mail/phpmailer/';					$mail->SetLanguage($php_mailer_lang, $GO_CONFIG->class_path.'mail/phpmailer/language/');															switch ($GO_CONFIG->mailer) {						case 'smtp' :							$mail->Host = $GO_CONFIG->smtp_server;							$mail->Port = $GO_CONFIG->smtp_port;							$mail->IsSMTP();							if(!empty($GO_CONFIG->smtp_username))							{								$mail->SMTPAuth=true;								$mail->Username=$GO_CONFIG->smtp_username;											$mail->Password = $GO_CONFIG->smtp_password;							}							break;						case 'qmail' :							$mail->IsQmail();							break;						case 'sendmail' :							$mail->IsSendmail();							break;						case 'mail' :							$mail->IsMail();							break;					}					$mail->Sender = $_SESSION['GO_SESSION']["email"];					$mail->From = $_SESSION['GO_SESSION']["email"];					$mail->FromName = $_SESSION['GO_SESSION']["name"];					$mail->AddReplyTo($_SESSION['GO_SESSION']["email"], $_SESSION['GO_SESSION']["name"]);					$mail->WordWrap = 76;					$mail->IsHTML(true);					$mail->Subject = $event['name'];					require_once ($GO_MODULES->class_path.'go_ical.class.inc');					$ical = new go_ical();					$ics_string = $ical->export_event($event_id);															if(isset($GO_MODULES->modules['email']))					{						require_once($GO_MODULES->modules['email']['class_path'].'email.class.inc');						$email = new email();						$em_settings = $email->get_settings($GO_SECURITY->user_id);																if(function_exists('iconv') && $em_settings['charset'] != $charset)						{							$mail->CharSet=$em_settings['charset'];						}					}										if($mail->CharSet!=$charset)					{						$mail->recode($charset);					}										for ($i = 0; $i < sizeof($participants); $i ++) {						$mail->ClearAllRecipients();						$mail->ClearAttachments();												$addresses = $RFC822->parse_address_list($participants[$i]);						if ($send_invitation || !in_array($addresses[0]['email'], $existing_participants)) {							$id = 0;							if ($user_profile = $GO_USERS->get_user_by_email($addresses[0]['email'])) {								$id = $user_profile["id"];							}							elseif (!$user_profile && $ab_module) {								$user_profile = $ab->get_contact_by_email($addresses[0]['email'], $GO_SECURITY->user_id);								$id = $user_profile["source_id"];							}							if ($id == 0) {								if ($ics_string) {									$mail->AddStringAttachment($ics_string, $event['name'].'.ics', 'base64', 'text/calendar');								}								$nouser_link = '<p><a href="'.$GO_MODULES->full_url.'accept.php?event_id='.$event_id.'&member=false&email='.urlencode($addresses[0]['email']).'" class="blue">'.$sc_accept.'</a>&nbsp;|&nbsp;<a href="'.$GO_MODULES->full_url.'decline.php?event_id='.$event_id.'&member=false&email='.urlencode($addresses[0]['email']).'" class="blue">'.$sc_decline.'</a></p>';								if($mail->CharSet!=$charset)								{									$mail->Body = iconv($charset, $mail->CharSet, $mail_body.$nouser_link);																}else {									$mail->Body = $mail_body.$nouser_link;									}																															$mail->AddAddress($addresses[0]['email'],$addresses[0]['personal']);																if($mail->CharSet!=$charset)								{									$mail->recode_addresses($charset);								}																	if ($mail->Send() && !in_array($addresses[0]['email'], $existing_participants)) {									$cal->add_participant($event_id, addslashes($addresses[0]['personal']), $addresses[0]['email']);								}							} else {								$user_link = '<p class="cmd"><a href="'.$GO_CONFIG->full_url.'index.php?return_to='.urlencode($GO_MODULES->url.'accept.php?event_id='.$event_id.'&member=true&email='.urlencode($addresses[0]['email'])).'" class="blue">'.$sc_accept.'</a>&nbsp;|&nbsp;<a href="'.$GO_CONFIG->full_url.'index.php?return_to='.urlencode($GO_MODULES->url.'decline.php?event_id='.$event_id.'&member=true&email='.urlencode($addresses[0]['email'])).'" class="blue">'.$sc_decline.'</a></p>';								if($mail->CharSet!=$charset)								{									$user_link = iconv($charset, $mail->CharSet, $user_link);								}																if ($GO_SECURITY->user_id != $id) {																		$mail->Body = $mail_body.$user_link;																	if($mail->CharSet!=$charset)									{										$mail->Body = iconv($charset, $mail->CharSet, $mail_body.$user_link);																	}else {										$mail->Body = $mail_body.$user_link;										}																																	$mail->AddAddress($addresses[0]['email'],$addresses[0]['personal']);																		if($mail->CharSet!=$charset)									{										$mail->recode_addresses($charset);									}																		if ($mail->Send() && !in_array($addresses[0]['email'], $existing_participants)) {										$cal->add_participant($event_id, addslashes($addresses[0]['personal']), $addresses[0]['email'], $id);									}								} else {									if(!in_array($addresses[0]['email'], $existing_participants))									{										$cal->add_participant($event_id, addslashes($addresses[0]['personal']), $addresses[0]['email'], $id);										$cal->set_event_status($event_id, '1', $addresses[0]['email']);									}																}							}						}					}								}				$participants_emails = array();				for($i=0;$i<count($participants);$i++)				{					$addresses = $RFC822->parse_address_list($participants[$i]);					$participants_emails[] = $addresses[0]['email'];				}								for($i=0;$i<count($existing_participants);$i++)				{										if(!in_array($existing_participants[$i], $participants_emails))					{						$cal->delete_participant($event_id, addslashes($existing_participants[$i]));					} 				}							if(isset($link) && $link)				{					$GO_LINKS->add_link($link['id'], $link['type'], $event['link_id'], 1);					$GO_LINKS->deactivate_linking();											header('Location: '.$link['return_to']);					exit ();						}else				{											$send_invitation = false;					if ($_POST['close'] == 'true') {						header('Location: '.$return_to);						exit ();					} else {						//$task = '';					}				}			}		}	break;	}if($event_id> 0){	$event = $cal->get_event($event_id);	$event['write_permission'] = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $event['acl_write']);	$event['read_permission'] = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $event['acl_read'])	;}if ($event_id > 0 && $task != 'save_event' && $task != 'change_event') {	if (isset ($_POST['new_event']) && $_POST['new_event'] == 'true') {		//reset all event related form fields		unset ($event, $_POST['name'], $_POST['description'], $_POST['location'], $_POST['reminder'], $_POST['background'], $_POST['permissions'], $_POST['repeat_type'], $_POST['repeat_end_date'], $_POST['repeat_forever'], $_POST['repeat_every'], $_POST['all_day_event'], $_POST['month_time'], $_POST['repeat_days_0'], $_POST['repeat_days_1'], $_POST['repeat_days_2'], $_POST['repeat_days_3'], $_POST['repeat_days_4'], $_POST['repeat_days_5'], $_POST['repeat_days_6']);		$event_id = 0;			} else {		//get the event				if(!$event['write_permission']	&& !$event['read_permission'])			{			header('Location: '.$GO_CONFIG->host.'error_docs/403.php');			exit ();		}elseif($event['repeat_type'] != REPEAT_NONE && !isset($_REQUEST['create_exception']))		{			require($GO_THEME->theme_path.'header.inc');						$form = new form('event_form');						$form->add_html_element(new input('hidden','event_id',$event_id, false));			$form->add_html_element(new input('hidden','gmt_start_time',$_REQUEST['gmt_start_time'], false));			$form->add_html_element(new input('hidden','return_to',$return_to, false));					$form->add_html_element(new input('hidden','create_exception','false', false));						//echo date('Ymd  G:i', $_REQUEST['gmt_start_time']);									$p = new html_element('h2');						$img = new image('questionmark');			$img->set_attribute('align','middle');			$img->set_attribute('style','border:0px;margin-right:10px;');			$p->add_html_element($img);						$p->innerHTML .= $cal_edit_series_or_single;					$form->add_html_element($p);						$form->add_html_element(new button($cal_single, "javascript:document.event_form.create_exception.value='true';document.event_form.submit();", '120'));			$form->add_html_element(new button($cal_series, "javascript:document.event_form.create_exception.value='false';document.event_form.submit();", '120'));			$form->add_html_element(new button($cmdCancel, "javascript:document.location='$return_to';"));			echo $form->get_html();			require($GO_THEME->theme_path.'footer.inc');			exit();		}			}	}elseif (isset ($_REQUEST['ical_file']) && file_exists($_REQUEST['ical_file'])) {	$event = $cal->get_event_from_ical_file($_REQUEST['ical_file']);	$ical = true;}if ($task != 'save_event' && $task != 'change_event' && ($event_id > 0 || isset ($ical)) && isset ($event) && $event) {	//populate an address string of the participants	$event['to'] = '';	$cal->get_participants($event_id);	while ($cal->next_record()) {		if ($event['to'] == '') {			$event['to'] = $RFC822->write_address($cal->f("name"), $cal->f("email"));		} else {			$event['to'] .= ', '.$RFC822->write_address($cal->f("name"), $cal->f("email"));		}	}		if(isset($_REQUEST['create_exception']) && $_REQUEST['create_exception'] == 'true')	{		$duration = $event['end_time'] - $event['start_time'];		$event['start_time'] = $_REQUEST['exception_time'] = $_REQUEST['gmt_start_time'];		$event['end_time'] = $event['start_time']+$duration;		$event['repeat_type'] = REPEAT_NONE;		$event['resources'] = array();		$event_id=0;						//$link_back = $_SERVER['PHP_SELF'].'?event_id=0&create_exception=true&exception_event_id='.			//$_REQUEST['event_id'].'&exception_time='.$_REQUEST['exception_time'].'&return_to='.urlencode($return_to);	}else	{		$_POST['exception_time'] = 0;		$event['resources'] = array();		$cal->get_event_resources($event_id);		while ($cal->next_record()) {			$event['resources'][] = $cal->f('calendar_id');		}	}	$gmt_start_time = $event['start_time'];	//if($event['all_day_event'] != '1')	//{		$event['start_time'] = gmt_to_local_time($event['start_time']);				$event['end_time'] =gmt_to_local_time($event['end_time']);	//}		$event['start_hour'] = date('G', $event['start_time']);	$event['start_min'] = date('i', $event['start_time']);		$event['end_hour'] = date('G', $event['end_time']);	$event['end_min'] = date('i', $event['end_time']);			$event['start_date'] = date($_SESSION['GO_SESSION']['date_format'], $event['start_time']);	$event['end_date'] = date($_SESSION['GO_SESSION']['date_format'], $event['end_time']);	//$event['repeat_end_date'] = date($_SESSION['GO_SESSION']['date_format'], $event['repeat_end_time']);	if ($event['repeat_type'] != REPEAT_NONE) {		if ($event['repeat_forever'] == '0') {			$event['repeat_end_date'] = date($_SESSION['GO_SESSION']['date_format'], gmt_to_local_time($event['repeat_end_time']-86400));		} else {			$event['repeat_end_date'] = date($_SESSION['GO_SESSION']['date_format'], $event['end_time']);		}	} else {		$event['repeat_end_date'] = date($_SESSION['GO_SESSION']['date_format'], $event['start_time']);	}	//to what calendars is this event subscribed?

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -