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

📄 book.php

📁 groupoffice
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/*Copyright Intermesh 2003Author: Merijn Schering <mschering@intermesh.nl>Version: 1.0 Release date: 08 July 2003This program is free software; you can redistribute it and/or modify itunder the terms of the GNU General Public License as published by theFree Software Foundation; either version 2 of the License, or (at youroption) any later version.*/require_once ("../../Group-Office.php");$GO_SECURITY->authenticate();$GO_MODULES->authenticate('projects');require_once ($GO_LANGUAGE->get_language_file('projects'));//check for the addressbook module$ab_module = isset ($GO_MODULES->modules['addressbook']) ? $GO_MODULES->modules['addressbook'] : false;if ($ab_module && $ab_module['read_permission']) {	require_once ($ab_module['class_path'].'addressbook.class.inc');	$ab = new addressbook();} else {	$ab_module = false;}$page_title = $lang_modules['projects'];require_once ($GO_MODULES->class_path."projects.class.inc");$projects = new projects();$task = isset ($_REQUEST['task']) ? $_REQUEST['task'] : '';$booking_id = isset($_REQUEST['booking_id']) ? smart_addslashes($_REQUEST['booking_id']) : 0;$link_back = (isset ($_REQUEST['link_back']) && $_REQUEST['link_back'] != '') ? $_REQUEST['link_back'] : $_SERVER['REQUEST_URI'];$return_to = isset ($_REQUEST['return_to']) ? $_REQUEST['return_to'] : $_SERVER['HTTP_REFERER'];switch ($task) {	case 'save_hours' :		$unit_value = isset ($_POST['unit_value']) ? smart_addslashes($_POST['unit_value']) : 0;				$int_fee_value = number_to_phpnumber(smart_addslashes($_POST['int_fee_value']));		$int_fee_time = smart_addslashes($_POST['int_fee_time']);				$ext_fee_value = number_to_phpnumber(smart_addslashes($_POST['ext_fee_value']));		$ext_fee_time = smart_addslashes($_POST['ext_fee_time']);				$projects->set_registration_method($GO_SECURITY->user_id, smart_addslashes($_POST['registration_method']), $unit_value, $int_fee_value, $int_fee_time, $ext_fee_value, $ext_fee_time);				$start_time = date_to_unixtime($_POST['book_start_date'].' '.$_POST['start_hour'].':'.$_POST['start_min']);		$timezone_offset = get_timezone_offset($start_time) * 3600;		$start_time -= $timezone_offset;		//if user gave a number of units calulate ending time		if ($_POST['registration_method'] == 'units') {			$end_time = $start_time + $unit_value * 60 * $_POST['units'];			$break_time = 0;		} else {			$break_time = ($_POST['break_hours'] * 3600) + ($_POST['break_mins'] * 60);			$end_time = date_to_unixtime($_POST['book_end_date'].' '.$_POST['end_hour'].':'.$_POST['end_min']);			$timezone_offset = get_timezone_offset($end_time) * 3600;			$end_time -= $timezone_offset;			$unit_value = 0;		}		if ($end_time < $start_time) {			$feedback = '<p class="Error">'.$pm_invalid_period.'</p>';		}elseif	($_POST['project_id']['value'] < 1)		{			$feedback = '<p class="Error">'.$pm_select_project.'</p>';		}elseif ($booking_id == 0 && $existing_booking_id = $projects->check_hours($_POST['pm_user_id']['value'], $start_time, $end_time)) {						$link = '<a href="'.$_SERVER['PHP_SELF'].'?booking_id='.$existing_booking_id.'&return_to='.urlencode($return_to).'">'.$pm_here.'</a>';									$feedback = '<p class="Error">'.sprintf($pm_already_booked, $link).'</p>';		} else {						if($booking_id > 0)			{				if (!$projects->update_booking($booking_id, 						$_REQUEST['project_id']['value'], 						$_POST['pm_user_id']['value'], 						$start_time, 						$end_time, 						$break_time, 						$unit_value, 						smart_addslashes($_POST['book_comments']),						 $int_fee_value, 						 $int_fee_time,						 $ext_fee_value, 						 $ext_fee_time						)) {											$feedback = '<p class="Error">'.$strSaveError.'</p>';				} else {					$feedback = '<p class="Success">'.$pm_add_hours_success.'</p>';					if ($_POST['close'] == 'true') {						header('Location: '.$return_to);						exit ();					}				}			}else			{				if (!$projects->add_booking($_REQUEST['project_id']['value'], 					$_POST['pm_user_id']['value'], 					$start_time, 					$end_time, 					$break_time, 					$unit_value, 					smart_addslashes($_POST['book_comments']),					 $int_fee_value, 					 $int_fee_time,						$ext_fee_value, 						$ext_fee_time)) {											$feedback = '<p class="Error">'.$strSaveError.'</p>';				} else {					$feedback = '<p class="Success">'.$pm_add_hours_success.'</p>';					if ($_POST['close'] == 'true') {						header('Location: '.$return_to);						exit ();					}				}			}		}		break;		case 'stop_timer' :		$timer = $projects->get_timer($GO_SECURITY->user_id);		$timer_start_time = $timer['start_time'] + (get_timezone_offset($timer['start_time']) * 3600);		$timer_end_time = get_time();		$projects->stop_timer($GO_SECURITY->user_id);		$projects->set_registration_method($GO_SECURITY->user_id, 'endtime');		$active_tab = 'book';		break;}$pm_settings = $projects->get_settings($GO_SECURITY->user_id);$GO_HEADER['head'] = date_picker::get_header();$page_title = $lang_modules['projects'];require_once ($GO_THEME->theme_path."header.inc");echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'" name="projects_form">';echo '<input type="hidden" name="close" value="false" />';//echo '<input type="hidden" name="project_id" value="'.$project_id.'" />';echo '<input type="hidden" name="task" value="" />';echo '<input type="hidden" name="return_to" value="'.$return_to.'" />';echo '<input type="hidden" name="link_back" value="'.$link_back.'" />';$time = get_time();$day = date("j", $time);$year = date("Y", $time);$month = date("m", $time);$date = date($_SESSION['GO_SESSION']['date_format'], $time);$timer_start_date = isset($timer_start_time) ? date($_SESSION['GO_SESSION']['date_format'], $timer_start_time) : $date;if($booking_id > 0 && $booking = $projects->get_booking($booking_id)){	$title = $pm_edit_data;	$pm_user_id = $booking['user_id'];	$project_id = $booking['project_id'];	$local_start_time = $booking['start_time']+(get_timezone_offset($booking['start_time'])*3600);	$local_end_time = $booking['end_time']+(get_timezone_offset($booking['start_time'])*3600);	if ($booking['unit_value'] > 0)	{		$unit_value = $booking['unit_value'];		$break_hours = 0;		$break_mins = 0;				$registration_method = 'units';				$units = ($booking['end_time'] - $booking['start_time'])/($booking['unit_value']*60);	}else	{				$registration_method = 'endtime';		$unit_value = $pm_settings['unit_value'];		$units = '0';		$break_hours = gmdate('G', gmmktime(0,0,$booking['break_time']));		$break_mins = gmdate('i', gmmktime(0,0,$booking['break_time']));	}				$book_start_date = date($_SESSION['GO_SESSION']['date_format'], $local_start_time);		$start_hour = date('G',$local_start_time);	$start_min = date('i',$local_start_time);		$book_end_date = date($_SESSION['GO_SESSION']['date_format'], $local_end_time);	$end_hour = date('G',$local_end_time);	$end_min =date('i',$local_end_time);			$book_comments = $booking['comments'];	$int_fee_value = $booking['int_fee_value'];	$int_fee_time = $booking['int_fee_time'];	$ext_fee_value = $booking['ext_fee_value'];	$ext_fee_time = $booking['ext_fee_time'];}else{	$title = $pm_enter_data;	$registration_method = $pm_settings['registration_method'];		if(isset ($_REQUEST['project_id']))	{		if(is_array($_REQUEST['project_id']))		{				$project_id = $_REQUEST['project_id']['value'];		}else		{			$project_id = $_REQUEST['project_id'];		}	}else	{		$project_id = 0;	}	$pm_user_id = isset($_REQUEST['pm_user_id']['value']) ? $_REQUEST['pm_user_id']['value'] : $GO_SECURITY->user_id;	$book_start_date = isset($_POST['book_start_date']) ? $_POST['book_start_date'] : $timer_start_date;		$hour = isset($timer_start_time) ? date('G', $timer_start_time) : 8;	$min = isset($timer_start_time) ? date('i', $timer_start_time) : 0;	$start_hour = isset($_POST['start_hour']) ? $_POST['start_hour'] : $hour;	$start_min = isset($_POST['start_min']) ? $_POST['start_min'] : $min;		$timer_end_date = isset($timer_end_time) ? date($_SESSION['GO_SESSION']['date_format'], $timer_end_time) : $date;	$book_end_date = isset($_POST['book_end_date']) ? $_POST['book_end_date'] : $timer_end_date;		$hour = isset($timer_end_time) ? date('G', $timer_end_time) : 17;	$end_hour = isset($_POST['end_hour']) ? $_POST['end_hour'] : $hour;		$min = isset($timer_end_time) ? date('i', $timer_end_time) : 0;	$end_min = isset($_POST['end_min']) ? $_POST['end_min'] : $min;		$unit_value = $pm_settings['unit_value'];	$units = isset($_POST['units']) ? smart_stripslashes($_POST['units']) : '1';		$break_hours = isset($_POST['break_hours']) ? $_POST['break_hours'] : 0;	$break_mins = isset($_POST['break_mins']) ? $_POST['break_mins'] : 0;			$book_comments =  isset($_POST['book_comments']) ? smart_addslashes($_POST['book_comments']) : '';			$int_fee_value = isset($_POST['int_fee_value']) ? $_POST['int_fee_value'] : $pm_settings['int_fee_value'];	$int_fee_time = isset($_POST['int_fee_time']) ? $_POST['int_fee_time'] : $pm_settings['int_fee_time'];		$ext_fee_value = isset($_POST['ext_fee_value']) ? $_POST['ext_fee_value'] : $pm_settings['ext_fee_value'];	$ext_fee_time = isset($_POST['ext_fee_time']) ? $_POST['ext_fee_time'] : $pm_settings['ext_fee_time'];}if (isset($_REQUEST['delete_hours'])){	$projects->delete_hours($_REQUEST['delete_hours']);}$tabtable = new tabtable('book_tab', $title, '100%', '400', '120');$tabtable->print_head($return_to);?><input type="hidden" name="booking_id" value="<?php echo $booking_id; ?>" /><input type="hidden" name="post_action" /><table border="0" cellpadding="0" cellspacing="0"><tr>	<td class="TableInside" valign="top">	<?php	if (isset($feedback)) echo $feedback;	if ($timer = $projects->get_timer($GO_SECURITY->user_id))	{		echo 	'<table border="0" class="alert"><tr><td><img src="'.$GO_THEME->images['alert'].'" border="0" /></td>'.				'<td><a class="normal" href="'.$_SERVER['PHP_SELF'].'?project_id='.$timer['project_id'].'&task=stop_timer">'.$pm_clocked_in.'</a></td></tr></table>';	}	?>	<table border="0" cellpadding="0" cellspacing="5" width="100%">	<?php		$select = new object_select('project', 'projects_form', 'project_id', $project_id);	echo '<tr><td>';	echo $select->get_link($strProject);	echo ':</td><td>';	echo $select->get_field();	echo '</td></tr>';	if ($GO_MODULES->write_permission)	{		$select = new object_select('user', 'projects_form', 'pm_user_id', $pm_user_id);		echo '<tr><td>';		echo $select->get_link($pm_employee);		echo ':</td><td>';		echo $select->get_field();		echo '</td></tr>';	}else	{		echo '<input type="hidden" name="pm_user_id[value]" value="'.$GO_SECURITY->user_id.'" />';	}		$fees = array();

⌨️ 快捷键说明

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