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

📄 project.php

📁 groupoffice
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/** * @copyright Intermesh 2003 * @author Merijn Schering <mschering@intermesh.nl> * @version $Revision: 1.91 $ $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. */require_once ("../../Group-Office.php");$GO_HEADER['head'] ='';$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'] : '';$project_id = isset ($_REQUEST['project_id']) ? $_REQUEST['project_id'] : 0;$return_to = isset ($_REQUEST['return_to']) ? $_REQUEST['return_to'] : $_SERVER['HTTP_REFERER'];$link_back = (isset ($_REQUEST['link_back']) && $_REQUEST['link_back'] != '') ? $_REQUEST['link_back'] : $_SERVER['REQUEST_URI'];switch ($task) {	case 'activate_linking':		$link_project = $projects->get_project($project_id);		if(empty($link_project['link_id']))		{			$update_project['id'] = $project_id;			$update_project['link_id'] = $link_project['link_id'] = $GO_LINKS->get_link_id();			$projects->update_project($update_project);		}				$GO_LINKS->activate_linking($link_project['link_id'], 5, $link_project['name'], $link_back);		if(!empty($_REQUEST['goto_url']))		{			header('Location: '.$_REQUEST['goto_url']);			exit();		}	break;		case 'create_link':		if($link = $GO_LINKS->get_active_link())		{			$link_project = $projects->get_project($project_id);			$link_id = $link_project['link_id'];			if(empty($link_project['link_id']))			{				$update_project['id'] = $project_id;				$update_project['link_id'] = $link_id = $GO_LINKS->get_link_id();				$projects->update_project($update_project);			}			$GO_LINKS->add_link($link['id'], $link['type'], $link_id, 5);			$GO_LINKS->deactivate_linking();			header('Location: '.$link['return_to']);			exit();		}	break;	case 'save_project' :		//translate the given date stamp to unix time		$project['start_date'] = date_to_unixtime($_POST['start_date']);		$project['end_date'] = date_to_unixtime($_POST['end_date']);		$project['name'] = smart_addslashes(trim($_POST['name']));		$project['description'] = smart_addslashes($_POST['description']);		$project['comments'] =smart_addslashes($_POST['comments']);		$project['status'] =$_POST['status'];		$project['probability'] =$_POST['probability'];		$project['budget'] =$_POST['budget'];				if ($project_id > 0) {			if ($project['name'] == '') {				$feedback = $error_missing_field;			} elseif($project['project_id'] == $project_id)			{				$feedback = $pm_relate_to_self;			}else {				$existing_project = $projects->get_project_by_name($project['name']);				$project['id'] = $project_id;				if ($existing_project && $existing_project['id'] != $project_id) {					$feedback = $pm_project_exists;				}elseif (!$projects->update_project($project, isset($_POST['shift_events']))) {											$feedback = $strSaveError;				} else {					if ($_POST['close'] == 'true') {						header('Location: '.$return_to);						exit ();					}				}			}		} else {			if ($project['name'] == '') {				$feedback = $error_missing_field;			}			elseif ($projects->get_project_by_name($project['name'])) {				$feedback = $pm_project_exists;			} else {				$project['acl_read'] = $GO_SECURITY->get_new_acl('Project read: '.$project['name']);				$project['acl_write'] = $GO_SECURITY->get_new_acl('Project write: '.$project['name']);				if ($project['acl_read'] > 0 && $project['acl_write'] > 0) {									$project['user_id'] = $GO_SECURITY->user_id;										if($link = $GO_LINKS->get_active_link())					{						$project['link_id'] = $GO_LINKS->get_link_id();									}										if ($GO_SECURITY->add_user_to_acl($GO_SECURITY->user_id, $project['acl_write'])) {						if (!$project_id = $projects->add_project($project)) {																$GO_SECURITY->delete_acl($project['acl_read']);							$GO_SECURITY->delete_acl($project['acl_write']);							$feedback = $strSaveError;						} else {																															if(isset($_POST['template_id']) && $_POST['template_id'] > 0)							{								$projects->apply_template($_POST['template_id'], $project_id, $_POST['calendar_id']);														}																				if(isset($link) && $link)							{								$GO_LINKS->add_link($link['id'], $link['type'], $project['link_id'], 5);								$GO_LINKS->deactivate_linking();											header('Location: '.$link['return_to']);		      			exit();															}elseif ($_POST['close'] == 'true') {								header('Location: '.$return_to);								exit ();							}						}					} else {						$GO_SECURITY->delete_acl($project['acl_read']);						$GO_SECURITY->delete_acl($project['acl_write']);						$feedback = $strSaveError;					}				} else {					$feedback = $strAclError;				}			}		}		break;				case 'copy_project':			$project_id = $projects->copy_project($project_id);		break;				case 'save_custom_fields':			require_once($GO_MODULES->modules['custom_fields']['class_path'].'custom_fields.class.inc');			$cf = new custom_fields();									$cf->save_fields($_POST['project_tabstrip_'.$project_id], $_POST['link_id']);					if ($_POST['close'] == 'true') {				header('Location: '.$return_to);				exit ();			}		break;		}$link_back = $_SERVER['PHP_SELF'].'?project_id='.$project_id.'&return_to='.urlencode($return_to);$pm_settings = $projects->get_settings($GO_SECURITY->user_id);if ($project_id > 0) {	$project = $projects->get_project($project_id);		if(empty($project['link_id']))	{		$update_project['id'] = $project_id;		$update_project['link_id'] = $project['link_id'] = $GO_LINKS->get_link_id();		$projects->update_project($update_project);	}				$project_name = ($project['description'] == '') ? $project['name'] : $project['name'].' ('.$project['description'].')';	$tabstrip = new tabstrip('project_tabstrip_'.$project_id, $project_name);	$tabstrip->set_attribute('style','width:100%');		$tabstrip->add_tab('properties', $strProperties);	$write_permissions = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $project['acl_write']);	$read_permissions = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $project['acl_read']);	if (!$write_permissions && !$read_permissions) {		header('Location: '.$GO_CONFIG->host.'error_docs/403.php');		exit ();	}		$tabstrip->add_tab('load', $pm_load);		if(isset($GO_MODULES->modules['custom_fields']))	{		require_once($GO_MODULES->modules['custom_fields']['class_path'].'custom_fields.class.inc');		$cf = new custom_fields();				if($cf->get_authorized_categories(5, $GO_SECURITY->user_id))		{			while($cf->next_record())			{				$tabstrip->add_tab($cf->f('id'), $cf->f('name'));			}		}	}			$tabstrip->add_tab('links', $strLinks);	$tabstrip->add_tab('read_permissions', $strReadRights);	$tabstrip->add_tab('write_permissions', $strWriteRights);	$project['start_date'] = date($_SESSION['GO_SESSION']['date_format'], $project['start_date']);	$project['end_date'] = date($_SESSION['GO_SESSION']['date_format'], $project['end_date']);	$project['responsible_user'] = $project['res_user_id'];	} else {	$tabstrip = new tabstrip('project_tab', $pm_new_project);}$tabstrip->set_attribute('style','width:100%');$tabstrip->set_return_to($return_to);if ($project_id == 0 || $task == 'save_project') {	$write_permissions = true;	$read_permissions = true;	$project['name'] = isset ($_POST['name']) ? smart_stripslashes($_POST['name']) : '';	$project['comments'] = isset ($_POST['comments']) ? smart_stripslashes($_POST['comments']) : '';	$project['start_date'] = isset ($_POST['start_date']) ? $_POST['start_date'] : date($_SESSION['GO_SESSION']['date_format'], get_time());	$project['end_date'] = isset ($_POST['end_date']) ? $_POST['end_date'] : date($_SESSION['GO_SESSION']['date_format'], get_time());	$project['status'] = isset ($_POST['status']) ? $_POST['status'] : '-3';	//$project['responsible_user'] = isset ($_POST['responsible_user']['id']) ? $_POST['responsible_user']['id'] : $GO_SECURITY->user_id;	$project['probability'] = isset ($_POST['probability']) ? $_POST['probability'] : 0;	$project['budget'] = isset ($_POST['budget']) ? $_POST['budget'] : 0;	$project['description'] = isset ($_POST['description']) ? smart_stripslashes($_POST['description']) : '';	$project['ctime'] = $project['mtime'] = get_gmt_time();	$project['user_id'] = $GO_SECURITY->user_id;}$form = new form('projects_form');$form->add_html_element(new input('hidden', 'close', 'false'));$form->add_html_element(new input('hidden', 'project_id', $project_id, false));$form->add_html_element(new input('hidden', 'task', '', false));$form->add_html_element(new input('hidden', 'return_to',$return_to));$form->add_html_element(new input('hidden', 'link_back',$link_back));$form->add_html_element(new input('hidden', 'goto_url','', false));if ($project_id > 0 && $write_permissions) {		$menu = new button_menu();				$menu->add_button('enter_data_big', 		$pm_enter_data, 		$GO_MODULES->url.'book.php?project_id='.$project_id.'&return_to='.urlencode($link_back));			$menu->add_button('pr_new_project', 		$strNewProject, 		'javascript:activate_linking(\''.$GO_MODULES->url.'project.php?parent_project_id='.$project_id.'&return_to='.rawurlencode($link_back).'\');'		);	if (isset($GO_MODULES->modules['notes']) && 	$GO_MODULES->modules['notes']['read_permission']) {		$menu->add_button(			'ab_notes', 			$strNewNote,			'javascript:activate_linking(\''.$GO_MODULES->modules['notes']['url'].				'note.php?project_id='.$project_id.'&return_to='.rawurlencode($link_back).'\');'			);	}		if (isset($GO_MODULES->modules['calendar']) && 	$GO_MODULES->modules['calendar']['read_permission']) {		$menu->add_button(			'cal_compose', 			$strNewEvent,			'javascript:activate_linking(\''.$GO_MODULES->modules['calendar']['url'].				'index.php?project_id='.$project_id.'&link_back='.rawurlencode($link_back).'\');'			);						$menu->add_button(				'todos_new', 				$strNewTodo,				'javascript:activate_linking(\''.$GO_MODULES->modules['calendar']['url'].					'event.php?todo=1&project_id='.$project_id.'&return_to='.rawurlencode($link_back).'\');'			);	}	if (isset($GO_MODULES->modules['filesystem']) && 		$GO_MODULES->modules['filesystem']['read_permission']) {			$menu->add_button(				'upload', 				$strUpload, 				'javascript:activate_linking(\''.$GO_MODULES->modules['filesystem']['url'].					'?return_to='.rawurlencode($link_back).'\');'				);		}		if($GO_LINKS->linking_is_active())	{			if($GO_LINKS->get_active_link())		{			$menu->add_button('link', $strCreateLink, "javascript:document.projects_form.task.value='create_link';document.projects_form.submit();");		}	}else	{		$menu->add_button('link', $strCreateLink, "javascript:document.projects_form.task.value='activate_linking';document.projects_form.submit();");	}		if($tabstrip->get_active_tab_id() == 'links')	{		$GO_HEADER['head'] = datatable::get_header();		$links_list = new links_list($project['link_id'], '0', $link_back);				$menu->add_button(			'unlink', 			$cmdUnlink, 			$links_list->get_unlink_handler());					$menu->add_button(			'delete_big', 			$cmdDelete, 			$links_list->get_delete_handler());							$menu->add_button(          'print',           

⌨️ 快捷键说明

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