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

📄 event.class.inc

📁 groupoffice
💻 INC
字号:
<?php/** * @copyright Intermesh 2005 * @author Merijn Schering <mschering@intermesh.nl> * @version $Revision: 1.15 $ $Date: 2006/04/10 13:21:11 $ * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ class event extends html_element{	var $event;	var $link_back;	var $maxlength;	var $times_local=false;		function event($event, $link_back='', $times_local=false)	{		$this->event=$event;		$this->link_back=$link_back;		$this->times_local=$times_local;	}		function set_maxlength($maxlength)	{		$this->maxlength=$maxlength;	}		function get_html()	{		global $GO_MODULES, $GO_LANGUAGE, $GO_LINKS;						$div = new html_element('div', '&nbsp;');		$div->set_attribute('class', 'summary_icon');		$div->set_attribute('style', 'background-color: #'.$this->event['background']);								if(!$this->times_local)		{			$gmt_start_time=$this->event['start_time'];						$timezone_offset = get_timezone_offset($this->event['original_start_time'])*3600;			$this->event['start_time'] += $timezone_offset;			$timezone_offset = get_timezone_offset($this->event['original_end_time'])*3600;			$this->event['end_time'] += $timezone_offset;			$timezone_offset = get_timezone_offset($this->event['original_repeat_end_time'])*3600;			$this->event['repeat_end_time'] += $timezone_offset;					}else		{			$gmt_start_time= local_to_gmt_time($this->event['start_time']);		}				if($this->event['all_day_event'] == '1')		{			$date_format = '';//$_SESSION['GO_SESSION']['date_format'];		}else		{			if (date($_SESSION['GO_SESSION']['date_format'], $this->event['start_time']) != date($_SESSION['GO_SESSION']['date_format'], $this->event['end_time'])) {				$date_format = $_SESSION['GO_SESSION']['date_format'].' '.$_SESSION['GO_SESSION']['time_format'].' ';			} else {				$date_format = $_SESSION['GO_SESSION']['time_format'].' ';			}		}				if($this->event['read_permission'])		{/*			$day = date('j', $this->event['start_time']);			$month = date('n', $this->event['start_time']);			$year = date('Y', $this->event['start_time']);*/								$link =  $GO_MODULES->modules['calendar']['url'].'event.php?event_id='.				$this->event['id'].'&return_to='.	rawurlencode($this->link_back).				'&gmt_start_time='.$gmt_start_time;						if(isset($this->maxlength))			{				 $event_name = cut_string($this->event['name'], $this->maxlength, false);			}else			{				$event_name = $this->event['name'];			}																$event_link = new hyperlink($link, 				$div->get_html().date($date_format, $this->event['start_time']).				htmlspecialchars($event_name));						$event_link->set_tooltip(new event_tooltip($this->event, true));								$event_str = $event_link->get_html();						if($links = $GO_LINKS->get_links($this->event['link_id']))			{				$img = new image('links_small');				$img->set_attribute('style','margin-right:1px;margin-left:2px;border:0');				$img->set_attribute('align','absmiddle');								$link_obj = new hyperlink(add_params_to_url($link, 'event_strip=links&create_exception=false'), $img->get_html());									switch(count($links))				{					case 0:						//do nothing					break;										case 1:						if($links[0]['type'] == 6) //folder link						{							global $GO_CONFIG;														require_once($GO_CONFIG->class_path.'filesystem.class.inc');							$fs = new filesystem();							$fs->get_linked_shares(array($links[0]['link_id']));							if($fs->next_record())							{								$files = $fs->get_files($fs->f('path'));								if(count($files) > 0)								{									$event_str .= $link_obj->get_html();								}							}						}else						{							$event_str .= $link_obj->get_html();						}					break;										default:																	$event_str .= $link_obj->get_html();					break;				}												}						$event_div = new html_element('div',$event_str);			$event_div->set_attribute('style','display:block');				return $event_div->get_html();		}else		{			$div = new html_element('div', $div->get_html().date($date_format, $this->event['start_time']).				htmlspecialchars($GLOBALS['sc_private_event']));			$div->set_tooltip(new event_tooltip($this->event, true));				return $div->get_html();		}	}}class event_tooltip extends tooltip{	function event_tooltip($event, $times_local=false)	{		if(!$times_local)		{			$timezone_offset = get_timezone_offset($this->event['original_start_time'])*3600;			$event['start_time'] += $timezone_offset;			$timezone_offset = get_timezone_offset($this->event['original_end_time'])*3600;			$event['end_time'] += $timezone_offset;			$timezone_offset = get_timezone_offset($this->event['original_repeat_end_time'])*3600;			$event['repeat_end_time'] += $timezone_offset;		}				global $GO_MODULES, $GO_LANGUAGE;					if($event['all_day_event'] == '1')		{			$date_format = $_SESSION['GO_SESSION']['date_format'];		}else		{			if (date($_SESSION['GO_SESSION']['date_format'], $event['start_time']) != date($_SESSION['GO_SESSION']['date_format'], $event['end_time'])) {				$date_format = $_SESSION['GO_SESSION']['date_format'].' '.$_SESSION['GO_SESSION']['time_format'];			} else {				$date_format = $_SESSION['GO_SESSION']['time_format'];			}		}		$title = $GLOBALS['sc_start_at'].': '.date($date_format, $event['start_time']).		'<br />'.$GLOBALS['sc_end_at'].': '.date($date_format, $event['end_time']);				if($event['read_permission'])		{			if ($event['location'] != '') {				$title .= "<br />".$GLOBALS['sc_location'].": ".htmlspecialchars($event['location']);			}								$cal = new calendar();						$event_cal_count = $cal->get_calendars_from_event($event['id']);			$title .= '<br />'.$GLOBALS['cal_event_calendars'].': ';			$first = true;			while ($cal->next_record()) {				if ($first) {					$first = false;				} else {					$title .= ', ';				}				$title .= htmlspecialchars($cal->f('name'));			}										if ($event['description'] != '') {				$title .= "<br /><br />". htmlspecialchars( text_to_html($event['description']));			}			$caption = htmlspecialchars($event['name']);		}else		{			$caption = htmlspecialchars($GLOBALS['sc_private_event']);		}				$this->tooltip($title, $caption);	}	}?>

⌨️ 快捷键说明

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