📄 project.php.hallspars
字号:
<?php/** * @copyright Intermesh 2003 * @author Merijn Schering <mschering@intermesh.nl> * @version $Revision: 1.1 $ $Date: 2006/02/07 09:33:08 $ * * 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");function database_connect() { $host = "srv_hall01.hall.local"; $user = "root"; $passwd = "linux"; $database ="[100]"; $db = mssql_connect($host, $user, $passwd) or die("Connection Failed"); mssql_select_db($database, $db); return $db;}$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'];$project['project_id'] = isset ($_REQUEST['parent_project_id']) ? $_REQUEST['parent_project_id'] : 0;$project['company_id'] = isset ($_REQUEST['company_id']) ? $_REQUEST['company_id'] : 0;$project['contact_id'] = isset ($_REQUEST['contact_id']) ? $_REQUEST['contact_id'] : 0;if (isset ($_POST['id']['type'])) { switch ($_POST['id']['type']) { case 'project' : $project['project_id'] = $_POST['id']['value']; break; case 'contact' : $project['contact_id'] = $_POST['id']['value']; break; case 'company' : $project['company_id'] = $_POST['id']['value']; break; }}switch ($task) { 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; } 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 ($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 ($_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;}$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); $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); $tabstrip->add_tab('activities', $strActivities); $tabstrip->add_tab('read_permissions', $strReadRights); $tabstrip->add_tab('write_permissions', $strWriteRights); $project['parent_project_id'] = $project['project_id']; $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']; $project_file_path = ''; if(isset($GO_MODULES->modules['filesystem']) && $GO_MODULES->modules['filesystem']['read_permission']) { $project_file_path = $GO_CONFIG->file_storage_path.'projects/'.$project['name']; if(!is_dir($project_file_path)) { require_once($GO_CONFIG->class_path.'filesystem.class.inc'); $fs = new filesystem(); mkdir_recursive($project_file_path); $fs->add_share($project['user_id'], $project_file_path, 'projects', $project['acl_read'], $project['acl_write']); } } $al = new activities_list('project', $project_id,true, true, true, $project_file_path, '0', $link_back); } 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));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, $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, $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, $GO_MODULES->modules['calendar']['url']. 'index.php?project_id='.$project_id.'&link_back='.rawurlencode($link_back) ); $menu->add_button( 'todos_new', $strNewTodo, $GO_MODULES->modules['calendar']['url']. 'index.php?todo=1&project_id='.$project_id.'&link_back='.rawurlencode($link_back) ); } if (isset($GO_MODULES->modules['filesystem']) && $GO_MODULES->modules['filesystem']['read_permission']) { $menu->add_button( 'upload', $strUpload, $GO_MODULES->modules['filesystem']['url']. 'index.php?task=upload&path='.rawurlencode($project_file_path).'&return_to='.urlencode($link_back)); } if($tabstrip->get_active_tab_id() == 'activities') { $menu->add_button( 'delete_big', $cmdDelete, $al->get_delete_handler()); } $form->add_html_element($menu);}if($tabstrip->get_active_tab_id() == '' || $tabstrip->get_active_tab_id() == 'properties'){ $GO_HEADER['body_arguments'] = 'onload="document.forms[0].name.focus();"';}$GO_HEADER['head'] .= date_picker::get_header();$overlib = new overlib();$GO_HEADER['head'] .= $overlib->get_header();if($tabstrip->get_active_tab_id() == 'activities'){ $GO_HEADER['head'] = datatable::get_header();}$page_title = $lang_modules['projects'];require_once ($GO_THEME->theme_path."header.inc");switch ($tabstrip->get_active_tab_id()) { case 'read_permissions' : $tabstrip->innerHTML .= get_acl($project['acl_read']); $tabstrip->add_html_element(new html_element('br')); $tabstrip->add_html_element(new button($cmdClose, "javascript:document.location='".$return_to."';")); break; case 'write_permissions' : $tabstrip->innerHTML .= get_acl($project['acl_write']); $tabstrip->add_html_element(new html_element('br')); $tabstrip->add_html_element(new button($cmdClose, "javascript:document.location='".$return_to."';")); break; case 'load' : $container = &$tabstrip; $fixed_project_id = $project_id; require_once ('load.inc'); break; case 'activities' : $tabstrip->add_html_element($al); break; default : if (isset($feedback)) { $p = new html_element('p', $feedback); $p->set_attribute('class','Error'); $tabstrip->add_html_element($p); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -