📄 event.class.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', ' '); $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 + -