[evolvis-commits] r7977: removing some old files for old task mgr?==?UTF-8?Q?↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 15:54:30 CET 2011
Author: mirabilos
Date: 2011-02-24 15:54:29 +0100 (Thu, 24 Feb 2011)
New Revision: 7977
Removed:
trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/pm_data.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/db-scheme.sql
trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm-er-diagram.sda
trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm_utils.php
Log:
removing some old files for old task mgr
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/pm_data.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/pm_data.php 2011-02-24 14:54:28 UTC (rev 7976)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/pm/pm_data.php 2011-02-24 14:54:29 UTC (rev 7977)
@@ -1,638 +0,0 @@
-<?php
-/**
- * pm_data.php - Project Manager function library
- *
- * SourceForge: Breaking Down the Barriers to Open Source Development
- * Copyright 1999-2001 (c) VA Linux Systems
- * http://sourceforge.net
- *
- * @version $Id: pm_data.php,v 1.5 2001/06/06 21:38:46 dbrogdon Exp $
- *
- */
-
-/**
- * pm_data_get_tasks() - Return a result set of the 100 most recent tasks in this subproject
- *
- * @param int The ID of the project group
- * @returns Database result set
- *
- */
-function pm_data_get_tasks ($group_project_id) {
- global $pm_data_tasks;
- if (!$pm_data_tasks["$group_project_id"]) {
- $sql="SELECT project_task_id,summary ".
- "FROM project_task ".
- "WHERE group_project_id='$group_project_id' ".
- "AND status_id <> '3' ORDER BY project_task_id DESC";
- $pm_data_tasks["$group_project_id"]=db_query($sql,100);
- }
- return $pm_data_tasks["$group_project_id"];
-}
-
-/**
- * pm_data_get_subprojects() - Return a result set of subprojects for this group
- *
- * @param int The ID of the group
- * @returns Database result set
- *
- */
-function pm_data_get_subprojects ($group_id) {
- global $pm_data_subprojects;
- if (!$pm_data_subprojects["$group_id"]) {
- $sql="SELECT group_project_id,project_name ".
- "FROM project_group_list WHERE group_id='$group_id'";
- $pm_data_subprojects["$group_id"]=db_query($sql);
- }
- return $pm_data_subprojects["$group_id"];
-}
-
-/**
- * pm_data_get_other_tasks() - Return a result set of tasks in this subproject that do not equal
- * the passed in task_id
- *
- * @param int The ID of the project group
- * @param int The ID of the task
- * @returns Database result set
- *
- */
-function pm_data_get_other_tasks ($group_project_id,$project_task_id) {
- $sql="SELECT project_task_id,summary ".
- "FROM project_task ".
- "WHERE group_project_id='$group_project_id' ".
- "AND status_id <> '3' ".
- "AND project_task_id <> '$project_task_id' ORDER BY project_task_id DESC";
- return db_query($sql,100);
-}
-
-/**
- * pm_data_get_technicians() - Return a result set of pm technicians in this group
- *
- * @param int The ID of the group
- * @returns Datbase result set
- *
- */
-function pm_data_get_technicians ($group_id) {
- global $pm_data_technicians;
- if (!$pm_data_technicians["$group_id"]) {
- $sql="SELECT users.user_id,users.user_name ".
- "FROM users,user_group ".
- "WHERE users.user_id=user_group.user_id ".
- "AND user_group.group_id='$group_id' ".
- "AND user_group.project_flags IN (1,2) ".
- "ORDER BY users.user_name";
- $pm_data_technicians["$group_id"]=db_query($sql);
- }
- return $pm_data_technicians["$group_id"];
-}
-
-/**
- * pm_data_get_dependent_tasks() - Return result set of ids of tasks that are dependent on this task
- *
- * @param int The project task ID
- * @returns Database result set
- *
- */
-function pm_data_get_dependent_tasks ($project_task_id) {
- $sql="SELECT is_dependent_on_task_id ".
- "FROM project_dependencies ".
- "WHERE project_task_id='$project_task_id'";
- return db_query($sql);
-}
-
-/**
- * pm_data_get_assigned_to() - Return result set of user_ids that are assigned this task
- *
- * @param int The project task ID
- * @returns Database result set
- *
- */
-function pm_data_get_assigned_to ($project_task_id) {
- $sql="SELECT assigned_to_id ".
- "FROM project_assigned_to ".
- "WHERE project_task_id='$project_task_id'";
- return db_query($sql);
-}
-
-/**
- * pm_data_get_statuses() - Return result set of statuses
- *
- * @returns Database result set
- *
- */
-function pm_data_get_statuses () {
- global $pm_data_statuses;
- if (!$pm_data_statuses) {
- $sql='SELECT * FROM project_status';
- $pm_data_statuses=db_query($sql);
- }
- return $pm_data_statuses;
-}
-
-/**
- * pm_data_get_status_name() - Simply return status_name from bug_status
- *
- * @param string Status ID
- * @returns Databse result set on success/Error string on error
- *
- */
-function pm_data_get_status_name($string) {
- $sql="SELECT * FROM project_status WHERE status_id='$string'";
- $result=db_query($sql);
- if ($result && db_numrows($result) > 0) {
- return db_result($result,0,'status_name');
- } else {
- return 'Error - Not Found';
- }
-}
-
-/**
- * pm_data_get_group_name() - Simply return the resolution name for this id
- *
- * @param int The group project ID
- * @returns Database result set on success/Error string one rror
- *
- */
-function pm_data_get_group_name($group_project_id) {
- $sql="SELECT * FROM project_group_list WHERE group_project_id='$group_project_id'";
- $result=db_query($sql);
- if ($result && db_numrows($result) > 0) {
- return db_result($result,0,'project_name');
- } else {
- return 'Error - Not Found';
- }
-}
-
-/**
- * pm_data_create_history() - Handle the insertion of history for these parameters
- *
- * @param string The field name
- * @param string The old value
- * @param int The project task ID
- * @returns true on success/false on error
- *
- */
-function pm_data_create_history ($field_name,$old_value,$project_task_id) {
- global $feedback;
-
- $sql="insert into project_history(project_task_id,field_name,old_value,mod_by,date) ".
- "VALUES ('$project_task_id','$field_name','$old_value','".user_getid()."','".time()."')";
- $result=db_query($sql);
- if (!$result) {
- $feedback .= ' ERROR IN AUDIT TRAIL - '.db_error();
- return false;
- } else {
- return true;
- }
-}
-
-/**
- * pm_data_insert_assigned_to() - Insert the people this task is assigned to
- *
- * @param array An array of project ID's
- * @param int The project task ID
- * @returns true on success/false on error
- *
- */
-function pm_data_insert_assigned_to($array,$project_task_id) {
- global $feedback;
-
- $user_count=count($array);
- if ($user_count < 1) {
- //if no users selected, insert user "none"
- $sql="INSERT INTO project_assigned_to (project_task_id,assigned_to_id)
- VALUES ('$project_task_id','100')";
- $result=db_query($sql);
- if (!$result) {
- return false;
- } else {
- return true;
- }
- } else {
- for ($i=0; $i<$user_count; $i++) {
- if (($user_count > 1) && ($array[$i]==100)) {
- //don't insert the row if there's more
- //than 1 item selected and this item is the "none user"
- } else {
- $sql="INSERT INTO project_assigned_to (project_task_id,assigned_to_id)
- VALUES ('$project_task_id','$array[$i]')";
- //echo "\n$sql";
- $result=db_query($sql);
- if (!$result) {
- $feedback .= ' ERROR inserting project_assigned_to '.db_error();
- return false;
- }
- }
- }
- return true;
- }
-}
-
-/**
- * pm_data_update_assigned_to() - Delete then Insert the people this task is assigned to
- *
- * @param array An array of project ID's
- * @param int The project task ID
- * @returns Return value of pm_data_insert_assigned_to()
- * @see pm_data_insert_assigned_do()
- *
- */
-function pm_data_update_assigned_to($array,$project_task_id) {
- $toss=db_query("DELETE FROM project_assigned_to WHERE project_task_id='$project_task_id'");
- return pm_data_insert_assigned_to($array,$project_task_id);
-}
-
-/**
- * pm_data_insert_dependent_tasks() - Insert the list of dependencies
- *
- * @param array An array of project ID's
- * @param int The project task ID
- * @returns true on success/false on error
- *
- */
-function pm_data_insert_dependent_tasks($array,$project_task_id) {
- global $feedback;
-
- $depend_count=count($array);
- if ($depend_count < 1) {
- //if no tasks selected, insert task "none"
- $sql="INSERT INTO project_dependencies (project_task_id,is_dependent_on_task_id)
- VALUES ('$project_task_id','100')";
- $result=db_query($sql);
- if (!$result) {
- return false;
- } else {
- return true;
- }
- } else {
- for ($i=0; $i<$depend_count; $i++) {
- if (($depend_count > 1) && ($array[$i]==100)) {
- //don't insert the row if there's more
- //than 1 item selected and this item is the "none task"
- } else {
- $sql="INSERT INTO project_dependencies (project_task_id,is_dependent_on_task_id)
- VALUES ('$project_task_id','$array[$i]')";
- //echo "\n$sql";
- $result=db_query($sql);
-
- if (!$result) {
- $feedback .= ' ERROR inserting dependent_tasks '.db_error();
- return false;
- }
- }
- }
- return true;
- }
-}
-
-/**
- * pm_data_update_dependend_tasks() - Delete then Insert the list of dependencies
- *
- * @param array An array of project ID's
- * @param int The project task ID
- * @returns true on success/false on error
- *
- */
-function pm_data_update_dependent_tasks($array,$project_task_id) {
- $toss=db_query("DELETE FROM project_dependencies WHERE project_task_id='$project_task_id'");
- return pm_data_insert_dependent_tasks($array,$project_task_id);
-}
-
-/**
- * pm_data_create_task() - Creates a new task in the task mgr
- * NOTE: Does no handle security!!
- *
- * @param int The group project ID
- * @param int The starting month
- * @param int The starting day
- * @param int The starting year
- * @param int The starting hour
- * @param int The starting minute
- * @param int The ending month
- * @param int The ending day
- * @param int The ending year
- * @param int The ending hour
- * @param int The ending minute
- * @param string The task summary
- * @param string Details of the task
- * @param int The completed percentage of the task
- * @param int The task priority
- * @param int The number of hours exptected to complete this task
- * @param int The user ID of the person to which this task is assigned
- * @param int on The task ID on which this task depends
- * @returns Nnew project_task_id or false and $feedback
- *
- */
-function pm_data_create_task ($group_project_id,$start_month,$start_day,$start_year,$start_hour,$start_minute,$end_month,$end_day,
- $end_year,$end_hour,$end_minute,$summary,$details,$percent_complete,$priority,$hours,$assigned_to,$dependent_on) {
-
- global $feedback;
- if (!$group_project_id || !$start_month || !$start_day || !$start_year || !$end_month || !$end_day ||
- !$end_year || !$summary || !$details || !$priority) {
- $feedback .= ' ERROR - Missing Required Parameters ';
- return false;
- }
-
- if (mktime($start_hour,$start_minute,0,$start_month,$start_day,$start_year) > mktime($end_hour,$end_minute,0,$end_month,
- $end_day,$end_year)) {
- exit_error('Error','End Date Must Be Greater Than Begin Date');
- }
-
- db_begin();
- db_query("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE");
-// echo "SERIALIZABLE ERROR: ".db_error();
-
- $res=db_query("SELECT nextval('project_task_pk_seq') AS id");
- $project_task_id=db_result($res,0,'id');
-
-//echo "<BR>$project_task_id";
-
- if (!pm_data_insert_dependent_tasks($dependent_on,$project_task_id)) {
- db_rollback();
- $feedback .= ' ERROR inserting assigned to ';
- return false;
- }
-
- $sql="INSERT INTO project_task (group_project_id,project_task_id,summary,details,percent_complete,".
- "priority,hours,start_date,end_date,".
- "created_by,status_id) VALUES ('$group_project_id','$project_task_id','".htmlspecialchars($summary)."',".
- "'".htmlspecialchars($details)."','$percent_complete','$priority','$hours','".
- mktime($start_hour,$start_minute,0,$start_month,$start_day,$start_year)."','".
- mktime($end_hour,$end_minute,0,$end_month,$end_day,$end_year)."','".user_getid()."','1')";
-
-
- $result=db_query($sql);
-// $project_task_id=db_insertid($result,'project_task','project_task_id');
- echo db_error();
-
- if (!$result || !$project_task_id) {
- $feedback .= ' ERROR INSERTING ROW '.db_error();
- db_rollback();
- return false;
- } else {
- $feedback .= ' Successfully added task ';
- if (!pm_data_insert_assigned_to($assigned_to,$project_task_id)) {
- db_rollback();
- $feedback .= ' ERROR inserting assigned to ';
- return false;
- }
-/* if (!pm_data_insert_dependent_tasks($dependent_on,$project_task_id)) {
- db_rollback();
- $feedback .= ' ERROR inserting assigned to ';
- return false;
- }
-*/ mail_followup($project_task_id,$group_project_id,false,1);
- db_commit();
- return $project_task_id;
- }
-}
-
-/**
- * pm_data_update_task() - Update a task
- * NOTE: Does not handle security at this time!
- * This assumes that you have verified this $group_project_id truly belongs to this $group_id
- * AND that this user is a project_task_admin
- *
- * @param int The group project ID
- * @param int The starting month
- * @param int The starting day
- * @param int The starting hour
- * @param int The ending month
- * @param int The ending day
- * @param int The ending year
- * @param int The ending hour
- * @param string The task summary
- * @param string Details of the task
- * @param int The completed percentage of the task
- * @param int The task priority
- * @param int The number of hours exptected to complete this task
- * @param int The user ID of the person to which this task is assigned
- * @param int The task ID on which this task depends
- * @returns Nnew project_task_id or false and $feedback
- * @returns true/false and $feedback string
- *
- */
-function pm_data_update_task ($group_project_id,$project_task_id,$start_month,$start_day,$start_year,
- $start_hour,$start_minute,$end_month,$end_day,$end_year,$end_hour,$end_minute,$summary,$details,$percent_complete,
- $priority,$hours,$status_id,$assigned_to,$dependent_on,$new_group_project_id,$group_id) {
-
- global $feedback;
- if (!$group_project_id || !$project_task_id || !$status_id || !$start_month || !$start_day || !$start_year ||
- !$end_month || !$end_day || !$end_year || !$summary || !$priority || !$new_group_project_id || !$group_id ) {
- $feedback .= ' ERROR - Missing Parameters: YEah! ';
- return false;
- }
- $sql="SELECT * FROM project_task WHERE project_task_id='$project_task_id' AND group_project_id='$group_project_id'";
-
- $result=db_query($sql);
-
- if (db_numrows($result) < 1) {
- $feedback .= ' ERROR - Task Doesn\'t Exist In This Subproject ';
- return false;
- }
-
- /*
- Enforce start date > end date
- */
- if (mktime($start_hour,$start_minute,0,$start_month,$start_day,$start_year) > mktime($end_hour,$end_minute,0,$end_month,$end_day,$end_year)) {
- $feedback .= ' ERROR - End Date Must Be Greater Than Start Date ';
- return false;
- }
-
- db_begin();
- db_query("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE");
- if (!pm_data_update_dependent_tasks($dependent_on,$project_task_id)) {
- db_rollback();
- $feedback .= ' ERROR updating dependent tasks ';
- return false;
- }
-
- /*
- If changing subproject, verify the new subproject belongs to this project
- */
- if ($group_project_id != $new_group_project_id) {
- $sql = "SELECT group_id FROM project_group_list WHERE group_project_id='$new_group_project_id'";
-
- if (db_result(db_query($sql),0,'group_id') != $group_id) {
- $feedback .= ' You can not put this task into the subproject of another group. ';
- db_rollback();
- return false;
- } else {
- pm_data_create_history ('subproject_id',$group_project_id,$project_task_id);
- }
- }
-
- /*
- See which fields changed during the modification
- and create audit trail
- */
-
- if (db_result($result,0,'status_id') != $status_id)
- { pm_data_create_history ('status_id',db_result($result,0,'status_id'),$project_task_id); }
-
- if (db_result($result,0,'priority') != $priority)
- { pm_data_create_history ('priority',db_result($result,0,'priority'),$project_task_id); }
-
- if (db_result($result,0,'summary') != htmlspecialchars(stripslashes($summary)))
- { pm_data_create_history ('summary',addslashes(db_result($result,0,'summary')),$project_task_id); }
-
- if (db_result($result,0,'percent_complete') != $percent_complete)
- { pm_data_create_history ('percent_complete',db_result($result,0,'percent_complete'),$project_task_id); }
-
- if (db_result($result,0,'hours') != $hours)
- { pm_data_create_history ('hours',db_result($result,0,'hours'),$project_task_id); }
-
- if (db_result($result,0,'start_date') != mktime($start_hour,$start_minute,0,$start_month,$start_day,$start_year))
- { pm_data_create_history ('start_date',db_result($result,0,'start_date'),$project_task_id); }
-
- if (db_result($result,0,'end_date') != mktime($end_hour,$end_minute,0,$end_month,$end_day,$end_year))
- { pm_data_create_history ('end_date',db_result($result,0,'end_date'),$project_task_id); }
-
- /*
- Details field is handled a little differently
-
- Details are comments attached to bugs
- They are still stored in the project_history (audit trail)
- system, but they are not shown in the regular audit trail
-
- Someday, these should technically be split into their own table.
- */
- if ($details != '')
- { pm_data_create_history ('details',htmlspecialchars($details),$project_task_id); }
-
- if (!pm_data_update_assigned_to($assigned_to,$project_task_id)) {
- db_rollback();
- $feedback .= ' ERROR updating assigned to ';
- return false;
- }
-
- /*
- Update the actual db record
- */
- $sql="UPDATE project_task SET status_id='$status_id', priority='$priority',".
- "summary='".htmlspecialchars($summary)."',start_date='".
- mktime($start_hour,$start_minute,0,$start_month,$start_day,$start_year)."',end_date='".
- mktime($end_hour,$end_minute,0,$end_month,$end_day,$end_year)."',hours='$hours',".
- "percent_complete='$percent_complete', ".
- "group_project_id='$new_group_project_id' ".
- "WHERE project_task_id='$project_task_id' AND group_project_id='$group_project_id'";
-
- $result=db_query($sql);
- if (!$result) {
- $feedback .= ' ERROR - Database Update Failed '.db_error();
- db_rollback();
- return false;
- } else {
- $feedback .= ' Successfully Modified Task ';
- mail_followup($project_task_id,$new_group_project_id);
- db_commit();
- return true;
- }
-
-}
-
-/**
- * mail_followup() - Send a message to the person who opened this task and the person(s) it is assigned to
- * Accepts the unique id of a task, its group project id and optionally a list of additional addresses to send to
- *
- * @param int The project task ID
- * @param int The group project ID
- * @param string The additional addresses to send the followup
- * @param bool The flag of whether this is a new task or not
- *
- */
-function mail_followup($project_task_id,$group_project_id,$more_addresses=false,$new_task=0) {
- global $sys_datefmt,$feedback;
-
- $sql="SELECT project_task.*, project_group_list.*, groups.group_name,groups.new_task_address, ".
- "groups.send_all_tasks,project_status.status_name,users.email, ".
- "users.user_name AS creator_name ".
- "FROM project_task,project_group_list,project_status,users,groups ".
- "WHERE project_task_id='$project_task_id' ".
- "AND project_task.group_project_id='$group_project_id' ".
- "AND project_task.status_id=project_status.status_id ".
- "AND project_task.group_project_id=project_group_list.group_project_id ".
- "AND groups.group_id=project_group_list.group_id ".
- "AND project_task.created_by=users.user_id";
-
- $result=db_query($sql);
-
- if ($result && db_numrows($result) > 0) {
-
- // Send a message to the task creator
- $to = db_result($result,0,'email');
-
- // Build the list of developers assigned this task
- $sql="SELECT users.email AS Email,users.user_name ".
- "FROM users,project_assigned_to ".
- "WHERE project_assigned_to.project_task_id='$project_task_id' ".
- "AND users.user_id=project_assigned_to.assigned_to_id";
-
- $result3=db_query($sql);
- $rows=db_numrows($result3);
- if ($result3 && $rows > 0) {
- $to .= ', ' . implode(result_column_to_array($result3),', ');
- $assignees = implode(result_column_to_array($result3, 1),', ');
- }
-
- $body = "Task #".db_result($result,0,"project_task_id")." has been updated. ".
- "\n\nProject: ".db_result($result,0,'group_name').
- "\nSubproject: ".db_result($result,0,'project_name').
- "\nSummary: ".util_unconvert_htmlspecialchars(db_result($result,0,'summary')).
- "\nComplete: ".db_result($result,0,'percent_complete')."%".
- "\nStatus: ".db_result($result,0,'status_name').
- "\nAuthority : ".db_result($result,0,'creator_name').
- "\nAssigned to: ".$assignees.
- "\n\nDescription: ".db_result($result,0,'details');
-
- /*
- Now get the followups to this task
- */
- $sql="SELECT project_history.field_name,project_history.old_value,project_history.date,users.user_name ".
- "FROM project_history,users ".
- "WHERE project_history.mod_by=users.user_id AND project_history.field_name = 'details' ".
- "AND project_task_id='$project_task_id' ORDER BY project_history.date DESC";
- $result2=db_query($sql);
- $rows=db_numrows($result2);
- if ($result2 && $rows > 0) {
- $body .= "\n\nFollow-Ups:";
- for ($i=0; $i<$rows;$i++) {
- $body .= "\n\n-------------------------------------------------------";
- $body .= "\nDate: ".date($sys_datefmt,db_result($result2,$i,'date'));
- $body .= "\nBy: ".db_result($result2,$i,'user_name');
- $body .= "\n\nComment:\n".util_unconvert_htmlspecialchars(db_result($result2,$i,'old_value'));
- }
- }
- $body .= "\n\n-------------------------------------------------------".
- "\nFor more info, visit:".
- "\n\nhttp://$GLOBALS[sys_default_domain]/pm/task.php?func=detailtask&project_task_id=".
- db_result($result,0,'project_task_id')."&group_id=".
- db_result($result,0,'group_id')."&group_project_id=".db_result($result,0,'group_project_id');
-
- $subject="[Task #".db_result($result,0,'project_task_id').'] '.
- util_unconvert_htmlspecialchars(db_result($result,0,'summary'));
-
-
- // Append the list of additional receiptients
- if ($more_addresses) {
- $to .= ', ' . $more_addresses;
- }
-
- // If this is a new task, or if send all tasks == 1,
- // append the new_task_address for the group
- if (($new_task && db_result($result,0,'new_task_address')) || db_result($result,0,'send_all_tasks')) {
- $to .= ', ' . db_result($result,0,'new_task_address');
- }
-
- util_send_message($to,$subject,$body);
-
- $feedback .= " Task Update Sent ";
-
- } else {
-
- $feedback .= " Could Not Send Task Update ";
- echo db_error();
-
- }
-}
-
-?>
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/db-scheme.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/db-scheme.sql 2011-02-24 14:54:28 UTC (rev 7976)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/db-scheme.sql 2011-02-24 14:54:29 UTC (rev 7977)
@@ -1,62 +0,0 @@
-create table project_group_list (
-group_project_id int not null primary key auto_increment,
-group_id int not null,
-project_name text not null
-);
-
-create index idx_project_group_list_group_id on project_group_list(group_id);
-
-create table project_task (
-project_task_id int not null primary key auto_increment,
-group_project_id int not null,
-summary text not null,
-details text not null,
-percent_complete int not null,
-priority int not null,
-hours int not null,
-start_date int not null,
-end_date int not null,
-created_by int not null,
-status_id int not null
-);
-
-create index idx_project_task_group_project_id on project_task(group_project_id);
-
-create table project_dependencies (
-project_depend_id int not null auto_increment primary key,
-project_task_id int not null,
-is_dependent_on_task_id int not null
-);
-
-create index idx_project_dependencies_task_id on project_dependencies(project_task_id);
-create index idx_project_is_dependent_on_task_id on project_dependencies(is_dependent_on_task_id);
-
-create table project_assigned_to (
-project_assigned_id int not null auto_increment primary key,
-project_task_id int not null,
-assigned_to_id int not null
-);
-
-create index idx_project_assigned_to_task_id on project_assigned_to(project_task_id);
-create index idx_project_assigned_to_assigned_to on project_assigned_to(assigned_to_id);
-
-create table project_history (
-project_history_id int not null auto_increment primary key,
-project_task_id int not null,
-field_changed text not null,
-old_value text not null,
-mod_by int not null,
-date int not null
-);
-
-create index idx_project_history_task_id on project_history(project_task_id);
-
-create table project_status (
-status_id int not null primary key auto_increment,
-status_name text not null
-);
-
-insert into project_status values ('','Open');
-insert into project_status values ('','Closed');
-insert into project_status values ('100','None');
-
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm-er-diagram.sda
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm-er-diagram.sda 2011-02-24 14:54:28 UTC (rev 7976)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm-er-diagram.sda 2011-02-24 14:54:29 UTC (rev 7977)
@@ -1,269 +0,0 @@
-ÐÏࡱá ; þÿ B þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿþÿÿÿ þÿÿÿ
-
- ! " # $ % & ' ( ) * + , - . þÿÿÿ0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A þÿÿÿC D þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR o o t E n t r y ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ þÿÿÿþÿÿÿþÿÿÿ
-
- þÿÿÿþÿÿÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ þÿ
- ÿÿÿÿ .½
ÑÐ )ä°± Drawing
- StarDraw 5.0 òñÿÿÀ
- +R C SfxDocumentInfo ¢.1¬g ¢.1$ºÚ ¢.1¬Ú Info 0 Info 1 Info 2 Info 3 ¢.1 ë & < TASK,0,1
- 1,0,100,1, þÿ à
òùOh« +'³Ù0 ø h
- t
- ¤ ° ¼ È Ô à ì 6 @ _Ù @ ³ë
©¿@ ªé'©¿@ vg©¿ »» ÿÿ K XOutdevItemPool 1 èèéêëìíîïðñòóôõö÷øùúûüý
- è)èéêëìíîïðñùúûüýþ
-
-&'()*+,-./06789:;UVWXYZ[\] ècèéêëìíîïðñòóôõö÷øùúûüýþÿ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst ètèéêëìíîïðñòóôõö÷øùúûüýþÿ
-
- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef ¡ d î ì 0 ? ¹'è @ q X X º'é , @ ÿÿÿÿ X »'ê : @ ç 2 L X X X X& ¼'ë @ ÿÿÿÿ X ½'ì å @ ÿÿÿÿ Arrowÿÿÿÿ
- Arrowÿÿÿÿ d È d Arrowÿÿÿÿ } ú ú ú } X X XS X ¾'í ª @ ¾ ÿÿÿÿ Arrowÿÿÿÿ d È d Arrowÿÿÿÿ } ú ú ú } X X X_ ¿'î F @ , ¼ È ú X X X X& X. À'ï : @ R , È ú X X X X& Á'ð @ X X Â'ñ @ ¥ X òò
- @ ¿ óó
- @ Õ ôô
- @ ë õõ
- @ öö
- @ ÷÷
- @ - øø
- @ C ´'ú @ e X X µ'û b @ Ë ÿÿÿÿ ¸¸ÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÌÌ ÿÿÿÿ ÿÿÿÿÿÿX X X2 XD ¶'ü 6 @ ÿÿÿÿ ÿÿÿÿÿÿ 2 2 d d X ·'ý ( @ M ÿÿÿÿ X ¸'þ " @ { ÿÿÿÿ BMv v ( @ @ SD Ä @ x^íSI
-Ã0ô¯s½å\èzéü ÿ
-ª46Z
Bn8xÇ)1²Ì³.<è§B+ï ̨ޢÏ40:prf
-·í|q±ìüâÊ]~½+Háë~|ðWíF¼ðúúMñbÀö þâPÙ@úaüoÌCÄØ[½È¡z¼6~U{Ûß<ª½Õ?¥ ü{¿rü=+Îý÷ô|´¨ý¿.©MåÛxò³åG¦
-Ü«±X ÿÿ
- @
- @ «
- @ Á
- @ ×
- @ í
- @
-
- @
-
- @ /
-
- @ E
-
- @ [
-
- @ q
-
-
-
- @
-
- @
-
- @ ³
-
-
-
- @ É
-
- @ ß
-
- @ õ
-
- @
- @ !
- @ 7
- @ M
- @ c
- @ y
- @ (
- @ ¥ (
- @ » (
- @ Ñ (
- @ ç (
- @ ý (
- @ (
- @ ) (
- @ ? (
- @ U (!
- @ k ("
- @ (#
- @ $$
- @ %%
- @ Ã &&
- @ Ù ''
- @ ï ((
- @
- ))
- @
- ;(+ @ ;
- X X ,, @ k
- ÿÿÿÿ X -- " @
- , È X X .. " @ Ã
- , È X X //
- @ á
- 00
- @ ÷
- 11
- @
- 22
- @ # 33
- @ 9 44
- @ O 55
- @ e 66
- @ { II @ X JJ : @ Ó ¸g A% \) X X X X& KK @ X X (L
- @ ! MM
- @ 7 NN
- @ M OO
- @ c PP
- @ y QQ @ X RR
- @ ¯ SS " @ Õ q X X TT
- @ ó UU @ X X VV @ = X X WW
- @ [ XX
- @ q YY
- @ ZZ
- @ [[
- @ ³ \\
- @ É ]]
- @ ß ^^
- @ õ __
- @ ``
- @ ! aa
- @ 7 bb
- @ M cc
- @ c dd
- @ y ee
- @ gg @ « X hh
- @ Å ii
- @ Û jj
- @ ñ kk
- @ ll
- @ mm
- @ 3 nn @ O X oo v @ ± Z Éÿÿÿ w úÿÿ úÿÿ Lûÿÿ pÿÿÿX X X X& X. X6 X> XF XN pp
- @ ë qq
- @ rr
- @ ss
- @ - tt
- @ C uu
- @ Y vv
- @ o ww
- @
xx
- @ yy
- @ ± ùù ò @
- è¹'
- è¹' éº' ê»' ë¼' ì½' í¾' î¿' ïÀ' ðÁ' ñÂ' ì½' í¾' î¿' ïÀ' í¾' ïÀ' è¹' ë¼' ê»' î¿' ïÀ' X X X X& X, X2 Xt X X¤ X¶
- ¬ @ C ú´' ûµ' ûµ' ûµ' ú´' ûµ' ü¶' ý·' þ¸' ú´' ûµ'
- ú´' X X X& X, X8 XD Xh Xz X ** F @ ¡
- X X X X X& X, 77 h @ +;( ,, -- .. X X X X X& X, X2 HH
- þ @
- £+' £+' ¦' §' g*
-( @' ¡A' ¢1' £+' ¥!' ¦' §' ©' ª' «' ¬' ' ®'
- ¦' §' ¦' §' X X X X, X2 X8 XJ X° XÂ XÔ ff @ + QQ VV JJ KK QQ VV JJ KK JJ KK JJ
- QQ VV JJ KK SS UU VV II QQ VV
- JJ KK SS UU VV X X X& XD XV Xh Xt X Xª XÂ XÈ zz Ü @ nn nn oo nn oo nn oo gg nn oo gg nn oo gg nn oo nn oo nn oo X X X, X> XP Xh X X Xª 8 p ¶ â Ó Û ! I h ~ ª À Ö ì , Ü > T j ¬ Â Ø î 0 F \ r ´ Ê à ö " 8 N d z ¦ ¼ Ò è þ * @ V l ® Ä Ú
- .
- \
-
-
- ¶
- Ì
- â
- ø
- $ : \ ¢ Ê à ö " 8 X n ² Ú
-
- 0
- F
- \
- r
-
-
- ´
- Ê
- à
- ö
- " 8 N n ° Æ Ü ò ª À Ö ì . D Z p n & x ì ö
- P Y ò% EditEngineItemPool ¤ ¯¡¢£¤¥¦§¨©ª«¬±²³ ³ ¡¢£¤¥¦§¨©ª«¬®¯°²³´ ´ ¡¢£¤¥¦§©ª«¬®¯°±²³´µ 6 f u 0 4< g* > @ _4
- " , StarBats N ÿ - " ¨ý°° , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ý` ` , StarBats N ÿ - " ¨ý¸¸ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýhh , StarBats N ÿ - " ¨ýÀÀ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýpp , StarBats N ÿ -
- " X , StarBats N ÿ - " ¨ý°° , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ý` ` , StarBats N ÿ - " ¨ý¸¸ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýhh , StarBats N ÿ - " ¨ýÀÀ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýpp , StarBats N ÿ -
- " È È , StarBats N ÿ - " ¨ý°° , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ý` ` , StarBats N ÿ - " ¨ý¸¸ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýhh , StarBats N ÿ - " ¨ýÀÀ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýpp , StarBats N ÿ -
- Z d " |ü°° , StarBats N ÿ - àü` ` , StarBats N ÿ K " ¨ý , StarBats N ÿ - ¨ýÀÀ , StarBats N ÿ K " ¨ýpp , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýÐ Ð , StarBats N ÿ - " ¨ý%% , StarBats N ÿ - " ¨ý0*0* , StarBats N ÿ -
- r , StarBats ÿ - r èè , StarBats ÿ - r ÐÐ , StarBats ÿ - r ¸¸ , StarBats ÿ - r , StarBats ÿ - r , StarBats ÿ - r pp , StarBats ÿ - r XX , StarBats ÿ - r @@ , StarBats ÿ - r (#(# , StarBats ÿ - " ¨ýXX , StarBats i ÿ - " ¨ý°° , StarBats i ÿ - " ¨ý , StarBats i ÿ - " ¨ý` ` , StarBats i ÿ - " ¨ý¸¸ , StarBats i ÿ - " ¨ý , StarBats i ÿ - " ¨ýhh , StarBats i ÿ - " ¨ýÀÀ , StarBats i ÿ - " ¨ý , StarBats i ÿ - X X, XJ Xh XT Xr 6'
- @ 4 @ ¯4 X X > @ ù4 xd d d x þYü d d üd x X X' <( @ 5 ! X
-( µ @ Æ6 StarBats ° !"- StarBats !"- StarBats !r- StarBats X !"- StarBats X !"- StarBats !"- StarBats !r- X XG X X¹ Xò X+ Xd @' i @ 8 ( d d d d d Xd d È d d ,d d |üd ° @d d àüd ` ¸d d ¨ýd hd d ¨ýd À d d ¨ýd p Èd d ¨ýd xd d ¨ýd Ð
- (#d d ¨ýd % Ø'd d ¨ýd 0* d d ¨ýd X
- d d d þY d d ¨ýd X X X! X4 XG XZ Xm X X X¦ X¹ XÌ Xß Xò X X A'¡ @ Í8 d d d d d d ¤d Ò d d ôd d d d ,d d È d
- d d d X X X& X2 X> XJ XV Xb 1'¢ @ 9 d È X +'£ ( @ :9
- X X X '¤
- @ \9 !'¥ @ ~9 $ X '¦ @ : " timmons - helvetica
- new century schoolbook
-
- open look cursor ® timmons X X X4 XU Xp '§ Î @ Â: Nd
- 4d
- d
- öd
- {d
- îd
- te§d
- hd
- Ûd
-
- Ád
- d
- id
- )d
- ÕDd
- X X X" X, X6 X@ XJ XT X^ Xh Xr X| X X ?(¨
- @ ; '© @ 0; $ X X 'ª @ S; $ X '« @ r; $ X '¬ @ ; $ X X ' @ ¹; $ X '® @ Ø; $ X %'¯
- @ ò; S'°
- @ < "'±
- @ < '²
- @ 4< X n â Ã 8 Î ó ' = c Û ñ 8 W ½ Ó é ÿ ³ P 7A g*
- " ¨ýXX , StarBats N ÿ - " ¨ý°° , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ý` ` , StarBats N ÿ - " ¨ý¸¸ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýhh , StarBats N ÿ - " ¨ýÀÀ , StarBats N ÿ - " ¨ý , StarBats N ÿ - " ¨ýpp , StarBats N ÿ -
-( StarBats ° !"- !'¥ '¦ timmons '§ Dd
- . 6 q ü 2 î + £O Standard Standard ¾é # è¹' éº' ê»' ë¼' ì½' í¾' î¿' ïÀ' ðÁ' ñÂ' ú´' ûµ' ü¶' ý·' þ¸' +;( ,, -- .. g*
-( @' ¡A' ¢1' £+' ¥!' ¦' §' ©' ª' «' ¬' ' ®' Object with arrow Standard Object with arrow ¿é è¹' ê»' ë¼' ì½' î¿' ïÀ' ðÁ' Object with shadow Standard Object with shadow Àé +;( ,, -- .. Object without fill Standard Object without fill Áé ú´' Text Standard Text Âé è¹' ú´' Text body Standard Text body Ãé è¹' ú´' §' Text body justfied Standard Text body justfied Äé è¹' ú´' £+' First line indent Standard First line indent Åé è¹' ú´' g* @' Title Standard Title Æé è¹' ú´' §' Title1 Standard Title1 Çé è¹' ú´' ûµ' +;( ,, -- .. £+' §' Title2 Standard Title2 Èé ê»' ûµ' +;( ,, -- .. g* @' ¡A' £+' §' Heading Standard Heading Éé è¹' ú´' ¡A' §' Heading1 Standard Heading1 Êé è¹' ú´' ¡A' §' ©' Heading2 Standard Heading2 Ëé è¹' ú´' ¡A' §' ©' ¬' Dimension Line Standard Dimension Line Ìé è¹' ì½' í¾' î¿' ïÀ' ú´' §' Home~LT~Gliederung 1 Home~LT~Gliederung 1þ¯ÿß Ïé è¹' ú´' g* @' ¡A' £+' ¥!' ¦' §' ©' ª' «' ¬' ' ®' Home~LT~Gliederung 2 Home~LT~Gliederung 1 Home~LT~Gliederung 2þ¯ÿß Ðé @' ¡A' §' Home~LT~Gliederung 3 Home~LT~Gliederung 2 Home~LT~Gliederung 3þ¯ÿß Ñé @' ¡A' §' Home~LT~Gliederung 4 Home~LT~Gliederung 3 Home~LT~Gliederung 4þ¯ÿß Òé @' ¡A' §'
- Home~LT~Gliederung 5 Home~LT~Gliederung 4 Home~LT~Gliederung 5þ¯ÿß Óé @' ¡A' §'
- Home~LT~Gliederung 6 Home~LT~Gliederung 5 Home~LT~Gliederung 6þ¯ÿß Ôé @' ¡A' §'
- Home~LT~Gliederung 7 Home~LT~Gliederung 6 Home~LT~Gliederung 7þ¯ÿß Õé @' ¡A' §'
- Home~LT~Gliederung 8 Home~LT~Gliederung 7 Home~LT~Gliederung 8þ¯ÿß Öé @'
- ¡A' §'
- Home~LT~Gliederung 9 Home~LT~Gliederung 8 Home~LT~Gliederung 9þ¯ÿß ×é @' ¡A' §'
-
- Home~LT~Titel
- Home~LT~Titelþ¯ÿß Íé è¹' ú´' QQ g* £+' ¥!' ¦' §' ©' ª' «' ¬' ' ®' Home~LT~Untertitel Home~LT~Untertitelþ¯ÿß Ýé è¹' ú´' QQ g* @' £+' ¥!' ¦' §' ©' ª' «' ¬' ' ®' Home~LT~Notizen Home~LT~Notizenþ¯ÿß Úé è¹' ú´' ¥!' ¦' §' ©' ª' «' ¬' ' ®' Home~LT~Hintergrundobjekte Home~LT~Hintergrundobjekteþ¯ÿß Øé +;( ,, -- .. Home~LT~Hintergrund Home~LT~Hintergrundþ¯ÿß Ùé è¹' ú´' Title Title @ Íé Subtitle Subtitle @ Ýé Background objects Background objects @ Øé
- Background
- Background @ Ùé Notes Notes @ Úé Outline 1 Outline 1 @ Ïé Outline 2 Outline 1 Outline 2 @ Ðé Outline 3 Outline 2 Outline 3 @ Ñé Outline 4 Outline 3 Outline 4 @ Òé Outline 5 Outline 4 Outline 5 @ Óé Outline 6 Outline 5 Outline 6 @ Ôé Outline 7 Outline 6 Outline 7 @ Õé Outline 8 Outline 7 Outline 8 @ Öé Outline 9 Outline 8 Outline 9 @ ×é t Ð P ê D â P ä 8 > ¤
- p Ö < ¢ n ô
- f ° Ò ú 6 b ® á
- G
- z
-
- à
- DrMd ( JoeMn 0 ¢.18ê ¢.1$ºÚ ¢.1lJÚ ÿÿ O ö DrLy LAYER_LAYOUT DrLy
- LAYER_BCKGRND DrLy LAYER_BACKGRNDOBJ DrLy LAYER_CONTROLS DrLy ! LAYER_MEASURELINES DrMP À & JoeM Çl VT Ð Ð Ð Ð DrML DrOb < SVDr & ø Ð ( A& DrOb < SVDr & 3D Ð Í[ A& DrOb < SVDr & ø . ( L DrOb < SVDr & 3D . Í[ L DrXX gg f Home~LT~Gliederung ÿ DrMP 8 ¶ JoeM VT Çl { y DrML DrOb SVDr & { y ½Q 0j ' Home~LT~Hintergrundþ¯ { y ½Q 0j DrXX gg N Home~LT~Gliederung ÿ DrMP ý JoeM VT Çl Ð Ð Ð Ð DrML DrOb Þ SVDr & º ç
- 8 '0 !
- Home~LT~Titelþ¯ º ç
- 8 '0 d xV4B1 O õ Click to move the slide
- Home~LT~Titelþ¯ <(
-( @'
- DrOb é SVDr & Ü Ç3 G "] # Home~LT~Notizenþ¯ Ü Ç3 G "] m xV4B1 X õ Click to edit the notes format Home~LT~Notizenþ¯ <(
-( @' DrXX gg V Home~LT~Gliederung ÿ DrPg ä b JoeM Çl VT Ð Ð Ð Ð DrML 8 DrMD , ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDrXX Handoutsgg F Home~LT~Gliederung ÿ DrPg ¢ ( JoeM VT Çl { y DrML 8 DrMD , ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDrOb ß SVDr & ¶ h mA ½ Standard ¶ h mA ½ j xV4B1 U õ Task Manager Standard <(
-( @' ¦' §' ¦ § DrOb Ý SVDr & 6
- w" ' Object without fill | ª \ ä Q" ] xV4B1 H õ User Object without fill <(
-( @' ¦' §' DrOb ß SVDr & ø&
- 92 ' Object without fill ~ ª ' ä 2 _ xV4B1 J õ Groups Object without fill <(
-( @' ¦' §' DrOb ) SVDr & 7= { ½J ¼ ' Object without fill È ]= ¡ J © xV4B1 õ Project_ Object without fill <(
-( @' ¦' §' assigned_to Object without fill <(
-( @' ¦' §' DrOb $ SVDr & : >> · Standard ÿÿÿÿ ³ * ä Ö !' Ö !' ]= DrCn $ DrCn $ ; PF ZDrOb ( SVDr & Ò q! X$ ², ' Object without fill Ç ø ! 2$ , ¨ xV4B1 õ Project_ Object without fill <(
-( @' ¦' §'
- group_list Object without fill <(
-( @' ¦' §' DrOb $ SVDr & 0& Ù y- Standard ÿÿÿÿ ³ * ä , î , î ' ø ' DrCn $ DrCn $ ; PF ZDrOb å SVDr & D) ç$ Ê6 (0 ' Object without fill j)
-% ¤6 0 e xV4B1 P õ Project_task Object without fill <(
-( @' ¦' §' DrOb $ SVDr & Q# 0& K* h+ Standard ÿÿÿÿ ³ * 2$ ' >& ' >& * j) * DrCn $ DrCn $ ; pÿÿÿ PF ZDrOb " SVDr & Ã5 Ê >> ' Standard ´ûÿÿÿÿÿÿ ± * ¤6 ;& ô8 ;& ô8 « ]= « DrCn # DrCn # ; PF ZDrOb * SVDr & 7= $ ½J e) ' Object without fill É ]= J J ?) ª xV4B1 õ Project_ Object without fill <(
-( @' ¦' §' dependencies Object without fill <(
-( @' ¦' §' DrOb " SVDr & Ã5 # Û= ) Standard ¨ýÿÿÿÿÿÿ ± * ¤6 /( F: /( F: æ# ú< æ# DrCn # DrCn # ; w PF ZDrOb è SVDr & 7= Ì* ½J
-6 ' Object without fill ]= ò* J ç5 h xV4B1 S õ Project_history Object without fill <(
-( @' ¦' §' DrOb ç SVDr & 7= N7 ½J B ' Object without fill ]= t7 J iB g xV4B1 R õ Project_status Object without fill <(
-( @' ¦' §' DrOb $ SVDr & Ã5 ¦) >> M1 Standard ÿÿÿÿ ³ * ¤6 * : * : l0 ]= l0 DrCn $ DrCn $ ; PF ZDrOb " SVDr & Ã5 Æ, >> Ï= Standard ÿÿÿÿ ± * ]= î< ½8 î< ½8 §- ¤6 §- DrCn # DrCn # ; Éÿÿÿ PF ZDrOb # SVDr & L/ C ZK È% Standard ÿÿÿÿ ² * 0
-% 0 a J h J þ DrCn $ DrCn # ; Lûÿÿ(# xi ZDrOb Á SVDr & kG ô
- ÜK ;
-
- Standard k kG ô
- ÜK ;
- L xV4B1 7 õ Bugs Standard
-( @' ¦' §' DrOb " SVDr & é >> A3 Standard ô ÿÿÿÿ ± * ä Ê {' Ê {' `2 ]= `2 DrCn # DrCn # ; Z PF ZDrXX gg F Home~LT~Gliederung ÿ DrPg { JoeM VT Çl Ð Ð Ð Ð DrML 8 DrMD , ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDrOb < SVDr & º ç
- 8 '0 DrOb Ý SVDr & Ü Ç3 G #] # Home~LT~Notizenþ¯ Ü Ç3 G #] a xV4B1 L õ Click to add notes Home~LT~Notizenþ¯ <(
-( @' DrXX gg V Home~LT~Gliederung ÿ DrXX B þÿÿGeneric Printer SGENPRT PostScript D VT $m áí ² VT $m d ,,lpr default_queue SGENPRT DrVw P SVDr
- SVDr : SVDr ö ö þ þ ö ö SVDrA Layout : SVDr è è þ þ SVDr Ü # SVDr SVDr# SVDr0 SVDr1 SVDr3 SVDr4 SVDr@ SVDr SVDrD SVDrP SVDrQ Â ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDrHL DrHL DrHL òñÿÿÀ
- +R C
- R o o t E n t r y ÿÿÿÿÿÿÿÿ .½
ÑÐ )ä°± À C o m p O b j ÿÿÿÿ = O l e
- ÿÿÿÿÿÿÿÿÿÿÿÿ p e r s i s t e l e m e n t s " ÿÿÿÿ S f x D o c u m e n t I n f o ÿÿÿÿÿÿÿÿ u S f x W i n d o w s ÿÿÿÿ ÿÿÿÿ S f x S t y l e S h e e t s ÿÿÿÿÿÿÿÿÿÿÿÿ OP S u m m a r y I n f o r m a t i o n ( ÿÿÿÿÿÿÿÿ ( S t a r D r a w D o c u m e n t 3 $ ÿÿÿÿÿÿÿÿÿÿÿÿ / j$ ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿ þÿÿÿ
\ No newline at end of file
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm_utils.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm_utils.php 2011-02-24 14:54:28 UTC (rev 7976)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/pm/pm_utils.php 2011-02-24 14:54:29 UTC (rev 7977)
@@ -1,462 +0,0 @@
-<?php
-/**
- *
- * SourceForge Project/Task Manager (PM)
- *
- * SourceForge: Breaking Down the Barriers to Open Source Development
- * Copyright 1999-2001 (c) VA Linux Systems
- * http://sourceforge.net
- *
- * @version $Id: pm_utils.php,v 1.83 2001/05/22 16:58:08 pfalcon Exp $
- *
- */
-
-
-/*
-
- Project/Task Manager
- By Tim Perdue, Sourceforge, 11/99
- Heavy rewrite by Tim Perdue April 2000
-
-*/
-
-function pm_header($params) {
- global $group_id,$is_pm_page,$words,$group_project_id,$DOCUMENT_ROOT,$order;
-
- //required by site_project_header
- $params['group']=$group_id;
- $params['toptab']='pm';
-
- //only projects can use the bug tracker, and only if they have it turned on
- $project =& group_get_object($group_id);
- if (!$project || !is_object($project)) {
- exit_no_group();
- }
-
- if (!$project->isProject()) {
- exit_error('Error','Only Projects Can Use The Task Manager');
- }
- if (!$project->usesPm()) {
- exit_error('Error','This Project Has Turned Off The Task Manager');
- }
-
- site_project_header($params);
-
- echo "<P><B>";
-
- echo "<A HREF=\"/pm/?group_id=$group_id\">Subproject List</A>";
- $need_bar=1;
- if ($group_project_id) {
- if (session_loggedin()) {
- if ($need_bar) echo ' | ';
- echo "<A HREF=\"/pm/task.php?group_id=$group_id&group_project_id=$group_project_id&func=addtask\">Add Task</A>";
- echo " | <A HREF=\"/pm/task.php?group_id=$group_id&group_project_id=$group_project_id&func=browse&set=my\">My Tasks</A>";
- $need_bar=1;
- }
- if ($need_bar) echo ' | ';
- echo "<A HREF=\"/pm/task.php?group_id=$group_id&group_project_id=$group_project_id&func=browse&set=open\">Browse Open Tasks</A>";
- $need_bar=1;
- }
- if (session_loggedin()) {
- if ($need_bar) echo ' | ';
- echo '<A HREF="/pm/reporting/?group_id='.$group_id.'">Reporting</A>';
- $need_bar=1;
- }
- if ($need_bar) echo ' | ';
- echo " <A HREF=\"/pm/admin/?group_id=$group_id\">Admin</A>";
- echo "</B>";
-
-}
-
-function pm_footer($params) {
- site_project_footer($params);
-}
-
-function pm_status_box($name='status_id',$checked='xyxy',$text_100='None') {
- $result=pm_data_get_statuses();
- return html_build_select_box($result,$name,$checked,true,$text_100);
-}
-
-function pm_tech_select_box($name='assigned_to',$group_id=false,$checked='xzxz') {
- if (!$group_id) {
- return 'ERROR - no group_id';
- } else {
- $result=pm_data_get_technicians ($group_id);
- return html_build_select_box($result,$name,$checked);
- }
-}
-
-function pm_multiple_task_depend_box ($name='dependent_on[]',$group_project_id=false,$project_task_id=false) {
- if (!$group_project_id) {
- return 'ERROR - no group_project_id';
- } else {
- $result=pm_data_get_tasks ($group_project_id);
- if ($project_task_id) {
- $result=pm_data_get_other_tasks ($group_project_id,$project_task_id);
- //get the data so we can mark items as SELECTED
- $result2=pm_data_get_dependent_tasks ($project_task_id);
- return html_build_multiple_select_box ($result,$name,util_result_column_to_array($result2));
- } else {
- return html_build_multiple_select_box ($result,$name,array());
- }
- }
-}
-
-function pm_show_subprojects_box($name='group_project_id',$group_id=false,$group_project_id=false) {
- if (!$group_id || !$group_project_id) {
- return 'ERROR - no group_id defined';
- } else {
- $result=pm_data_get_subprojects($group_id);
- return html_build_select_box($result,$name,$group_project_id,false);
- }
-}
-
-function pm_multiple_assigned_box ($name='assigned_to[]',$group_id=false,$project_task_id=false) {
- if (!$group_id) {
- return 'ERROR - no group_id';
- } else {
- $result=pm_data_get_technicians ($group_id);
- if ($project_task_id) {
- //get the data so we can mark items as SELECTED
- $result2=pm_data_get_assigned_to ($project_task_id);
- return html_build_multiple_select_box ($result,$name,util_result_column_to_array($result2));
- } else {
- return html_build_multiple_select_box ($result,$name,array());
- }
- }
-}
-
-function pm_show_percent_complete_box($name='percent_complete',$selected=0) {
- echo '
- <select name="'.$name.'">';
- echo '
- <option value="0">Not Started';
- for ($i=5; $i<101; $i+=5) {
- echo '
- <option value="'.$i.'"';
- if ($i==$selected) {
- echo ' SELECTED';
- }
- echo '>'.$i.'%';
- }
- echo '
- </select>';
-}
-
-function pm_show_month_box($name,$select_month=0) {
-
- echo '
- <select name="'.$name.'" size="1">';
- $monthlist = array('1'=>'January',
- '2'=>'February',
- '3'=>'March',
- '4'=>'April',
- '5'=>'May',
- '6'=>'June',
- '7'=>'July',
- '8'=>'August',
- '9'=>'September',
- '10'=>'October',
- '11'=>'November',
- '12'=>'December');
-
- for ($i=1; $i<=count($monthlist); $i++) {
- if ($i == $select_month) {
- echo '
- <option selected value="'.$i.'">'.$monthlist[$i];
- } else {
- echo '
- <option value="'.$i.'">'.$monthlist[$i];
- }
- }
- echo '
- </SELECT>';
-
-}
-
-function pm_show_day_box($name,$day=1) {
-
- echo '
- <select name="'.$name.'" size="1">';
- for ($i=1; $i<=31; $i++) {
- if ($i == $day) {
- echo '
- <option selected value="'.$i.'">'.$i;
- } else {
- echo '
- <option value="'.$i.'">'.$i;
- }
- }
- echo '
- </select>';
-
-}
-
-function pm_show_year_box($name,$year=1) {
-
- echo '
- <select name="'.$name.'" size="1">';
- for ($i=1999; $i<=2013; $i++) {
- if ($i == $year) {
- echo '
- <option selected value="'.$i.'">'.$i;
- } else {
- echo '
- <option value="'.$i.'">'.$i;
- }
- }
- echo '
- </select>';
-
-}
-
-function pm_show_hour_box($name,$hour=1) {
-
- echo '
- <select name="'.$name.'" size="1">';
- for ($i=0; $i<=23; $i++) {
- if ($i == $hour) {
- echo '
- <option selected value="'.$i.'">'.$i;
- } else {
- echo '
- <option value="'.$i.'">'.$i;
- }
- }
- echo '
- </select>';
-
-}
-
-function pm_show_minute_box($name,$minute=0) {
-
- echo ' <select name="'.$name.'" size="1">';
- for ($i=0; $i<=45; $i=$i+15) {
- if ($i == $minute) {
- echo ' <option selected value="'.$i.'">'.$i;
- } else {
- echo '
- <option value="'.$i.'">'.$i;
- }
- }
- echo '
- </select>';
-
-}
-
-
-function pm_show_tasklist ($result,$offset,$set='open') {
- global $sys_datefmt,$group_id,$group_project_id,$PHP_SELF;
- /*
- Accepts a result set from the bugs table. Should include all columns from
- the table, and it should be joined to USER to get the user_name.
- */
-
- $rows=db_numrows($result);
-
- $url = "/pm/task.php?group_id=$group_id&group_project_id=$group_project_id&func=browse&set=$set&order=";
-
- $title_arr=array();
- $title_arr[]='Task ID';
- $title_arr[]='Summary';
- $title_arr[]='Start Date';
- $title_arr[]='End Date';
- $title_arr[]='Percent Complete';
-
- $links_arr=array();
- $links_arr[]=$url.'project_task_id';
- $links_arr[]=$url.'summary';
- $links_arr[]=$url.'start_date';
- $links_arr[]=$url.'end_date';
- $links_arr[]=$url.'percent_complete';
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr,$links_arr);
-
- $now=time();
-
- for ($i=0; $i < $rows; $i++) {
-
- echo '
- <TR BGCOLOR="'.get_priority_color(db_result($result, $i, 'priority')).'">'.
- '<TD><A HREF="'.$PHP_SELF.'?func=detailtask'.
- '&project_task_id='.db_result($result, $i, 'project_task_id').
- '&group_id='.$group_id.
- '&group_project_id='.db_result($result, $i, 'group_project_id').'">'.
- db_result($result, $i, 'project_task_id').'</A></TD>'.
- '<TD>'.db_result($result, $i, 'summary').'</TD>'.
- '<TD>'.date('Y-m-d',db_result($result, $i, 'start_date')).'</TD>'.
- '<TD>'. (($now>db_result($result, $i, 'end_date'))?'<B>* ':' ') . date('Y-m-d',db_result($result, $i, 'end_date')).'</TD>'.
- '<TD>'.db_result($result, $i, 'percent_complete').'%</TD></TR>';
-
- }
-
- /*
- Show extra rows for <-- Prev / Next -->
- */
- echo '<TR><TD COLSPAN="2">';
- if ($offset > 0) {
- echo '<A HREF="'.$PHP_SELF.'?func=browse&group_project_id='.
- $group_project_id.'&set='.$set.'&group_id='.$group_id.'&offset='.($offset-50).'">
- <B><-- Previous 50</B></A>';
- } else {
- echo ' ';
- }
- echo '</TD><TD> </TD><TD COLSPAN="2">';
-
- if ($rows==50) {
- echo '<A HREF="'.$PHP_SELF.'?func=browse&group_project_id='.
- $group_project_id.'&set='.$set.'&group_id='.$group_id.'&offset='.($offset+50).
- '"><B>Next 50 --></B></A>';
- } else {
- echo ' ';
- }
- echo '</TD></TR>';
-
- echo $GLOBALS['HTML']->listTableBottom();
-
-}
-
-function pm_show_dependent_tasks ($project_task_id,$group_id,$group_project_id) {
- $sql="SELECT project_task.project_task_id,project_task.summary ".
- "FROM project_task,project_dependencies ".
- "WHERE project_task.project_task_id=project_dependencies.project_task_id ".
- "AND project_dependencies.is_dependent_on_task_id='$project_task_id'";
- $result=db_query($sql);
- $rows=db_numrows($result);
-
- if ($rows > 0) {
- echo '
- <H3>Tasks That Depend on This Task</H3>
- <P>';
-
- $title_arr=array();
- $title_arr[]='Task ID';
- $title_arr[]='Summary';
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- echo '
- <TR '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
- <TD><A HREF="/pm/task.php?func=detailtask&project_task_id='.
- db_result($result, $i, 'project_task_id').
- '&group_id='.$group_id.
- '&group_project_id='.$group_project_id.'">'.
- db_result($result, $i, 'project_task_id').'</TD>
- <TD>'.db_result($result, $i, 'summary').'</TD></TR>';
- }
-
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo '
- <H3>No Tasks are Dependent on This Task</H3>';
- echo db_error();
- }
-}
-
-function pm_show_task_details ($project_task_id) {
- /*
- Show the details rows from task_history
- */
- global $sys_datefmt;
- $sql="SELECT project_history.field_name,project_history.old_value,project_history.date,users.user_name ".
- "FROM project_history,users ".
- "WHERE project_history.mod_by=users.user_id AND project_history.field_name = 'details' ".
- "AND project_task_id='$project_task_id' ORDER BY project_history.date DESC";
- $result=db_query($sql);
- $rows=db_numrows($result);
-
- if ($rows > 0) {
- echo '
- <H3>Followups</H3>
- <P>';
-
- $title_arr=array();
- $title_arr[]='Comment';
- $title_arr[]='Date';
- $title_arr[]='By';
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- echo '
- <TR '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
- <TD>'. nl2br(db_result($result, $i, 'old_value')).'</TD>
- <TD VALIGN="TOP">'.date($sys_datefmt,db_result($result, $i, 'date')).'</TD>
- <TD VALIGN="TOP">'.db_result($result, $i, 'user_name').'</TD></TR>';
- }
-
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo '
- <H3>No Comments Have Been Added</H3>';
- }
-
-}
-
-function pm_show_task_history ($project_task_id) {
- /*
- show the project_history rows that are
- relevant to this project_task_id, excluding details
- */
- global $sys_datefmt;
- $sql="select project_history.field_name,project_history.old_value,project_history.date,users.user_name ".
- "FROM project_history,users ".
- "WHERE project_history.mod_by=users.user_id AND ".
- "project_history.field_name <> 'details' AND project_task_id='$project_task_id' ORDER BY project_history.date DESC";
- $result=db_query($sql);
- $rows=db_numrows($result);
-
- if ($rows > 0) {
-
- echo '
- <H3>Task Change History</H3>
- <P>';
-
- $title_arr=array();
- $title_arr[]='Field';
- $title_arr[]='Old Value';
- $title_arr[]='Date';
- $title_arr[]='By';
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- $field=db_result($result, $i, 'field_name');
-
- echo '
- <TR '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'><TD>'.$field.'</TD><TD>';
-
- if ($field == 'status_id') {
-
- echo pm_data_get_status_name(db_result($result, $i, 'old_value'));
-
- } else if ($field == 'start_date') {
-
- echo date('Y-m-d',db_result($result, $i, 'old_value'));
-
- } else if ($field == 'end_date') {
-
- echo date('Y-m-d',db_result($result, $i, 'old_value'));
-
- } else {
-
- echo db_result($result, $i, 'old_value');
-
- }
- echo '</TD>
- <TD>'.date($sys_datefmt,db_result($result, $i, 'date')).'</TD>
- <TD>'.db_result($result, $i, 'user_name').'</TD></TR>';
- }
-
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo '
- <H3>No Changes Have Been Made</H3>';
- }
-}
-
-?>
More information about the evolvis-commits
mailing list