[evolvis-commits] r10039: Massive tracker reorg and cleanup↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 17:36:28 CET 2011
Author: mirabilos
Date: 2011-02-24 17:36:28 +0100 (Thu, 24 Feb 2011)
New Revision: 10039
Added:
trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactExtraField.class
trunk/gforge_base/evolvisforge-5.1/gforge/db/20041006.sql
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcanned.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcategory.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafield.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafieldoption.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addgroup.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-deletetracker.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-extrafieldcopy.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecanned.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecategory.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafield.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafieldelement.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updategroup.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatetracker.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/ind.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/tracker.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/updates.php
Removed:
trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactSelectionBox.class
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/massupdate-fields.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/update-fields.php
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog
trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/Artifact.class
trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactType.class
trunk/gforge_base/evolvisforge-5.1/gforge/www/include/html.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/index.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/browse.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/detail.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/include/ArtifactTypeHtml.class
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/ind.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod-limited.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod.php
trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/tracker.php
Log:
Massive tracker reorg and cleanup
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog 2011-02-24 16:36:28 UTC (rev 10039)
@@ -1,5 +1,10 @@
-2004-08-26 Tony Pugliese <lpajp at pacbell.net>
+2004-10-06 Tim Perdue <tim at gforge.org>
+ * massive cleanup/reorg/rewrite of bug tracker, including renaming
+ and rebuilding the "unlimited fields" code
+
+2004-10-05 Tony Pugliese <lpajp at pacbell.net>
+
* Nice Patch to clone categories in tracker.
2004-10-05 Guillaume Smet <guillaume-gforge at smet.org>
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/Artifact.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/Artifact.class 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/Artifact.class 2011-02-24 16:36:28 UTC (rev 10039)
@@ -77,9 +77,9 @@
/**
* Array of artifact data for extra fields defined by Admin.
*
- * @var array $data_extra_field_array.
+ * @var array $extra_field_data.
*/
- var $data_extra_field_array;
+ var $extra_field_data;
/**
* Array of ArtifactFile objects.
@@ -152,10 +152,10 @@
* @param string Details of the artifact.
* @param int The ID of the user to which this artifact is to be assigned.
* @param int The artifacts priority.
- * @param string An email address to add to the monitoring queue.
+ * @param array Array of extra fields like: array(15=>'foobar',22=>'1');
* @return id on success / false on failure.
*/
- function create($category_id, $artifact_group_id, $summary, $details, $assigned_to=100, $priority=5, $monitor_email=false) {
+ function create($category_id, $artifact_group_id, $summary, $details, $assigned_to=100, $priority=5, $extra_fields=array()) {
global $Language;
//
@@ -268,8 +268,12 @@
if (!$this->fetchData($artifact_id)) {
db_rollback();
return false;
+ } else {
+ if (!$this->updateExtraFields($extra_fields)) {
+ db_rollback();
+ return false;
+ }
}
-
//
// now send an email if appropriate
//
@@ -279,35 +283,7 @@
return $artifact_id;
}
}
- /**
- *
- * createExtraFields - adds a row in the table used to
- * store the id of a value for an artifact field.
- * This function is only used for data that
- * applies to additional fields and boxes configured by the admin.
- *
- * @param int id of the field that contains the data
- * @return id on success / false on failure
- */
- function createExtraFields($choice_id){
- $this->choice_id=$choice_id;
- $res=db_query("INSERT INTO artifact_extra_field_data
- (artifact_id, choice_id)
- VALUES
- ('".$this->getID()."',$this->choice_id)");
-
- if (!$res) {
- $this->setError('Artifact: '.db_error());
- db_rollback();
- return false;
- }
-
- return $choice_id;
- }
-
-
-
/**
* fetchData - re-fetch the data for this Artifact from the database.
*
@@ -390,15 +366,6 @@
}
/**
- * getExtraFieldID - get choice_id flag.
- *
- * @return int choice_id.
- */
- function getExtraFieldID() {
- return $this->data_extra_field_array['choice_id'];
- }
-
- /**
* getCategoryName - get category text name.
*
* @return string The category name.
@@ -748,10 +715,11 @@
* @param int The canned response.
* @param string Attaching another comment.
* @param int Allows you to move an artifact to another type.
+ * @param array Array of extra fields like: array(15=>'foobar',22=>'1');
* @return boolean success.
*/
function update($priority,$status_id,$category_id,$artifact_group_id,$resolution_id,
- $assigned_to,$summary,$canned_response,$details,$new_artifact_type_id) {
+ $assigned_to,$summary,$canned_response,$details,$new_artifact_type_id,$extra_fields=array()) {
global $Language;
if (!$this->getID()
@@ -908,10 +876,17 @@
return false;
} else {
$this->fetchData($this->getID());
-//error check the data fetching??
+//TODO error check the data fetching??
}
}
+ //extra field handling
+ $update=true;
+ if (!$this->updateExtraFields($extra_fields)) {
+//TODO - see if anything actualyl did change
+ db_rollback();
+ return false;
+ }
/*
handle canned responses
@@ -957,65 +932,81 @@
}
/**
- * updateExtraFields - updates the id of a value in the
- * table used to store the id's of values for artifact fields.
- * This function is only used for data that
- * applies to additional fields and boxes configured by the admin.
+ * updateExtraFields - updates the extra data elements for this artifact
+ * e.g. the extra fields created and defined by the admin.
*
- * @param int id of the artifact
- * @param int id of the field that contains the data
+ * @param array Array of extra fields like: array(15=>'foobar',22=>'1');
* @return true on success / false on failure
- *
*/
- function updateExtraFields($id,$choice_id){
-
- $res=db_query("UPDATE artifact_extra_field_data
- SET
- choice_id='$choice_id'
- WHERE
- id='$id'");
-
-
- if (!$res) {
- $this->setError('Artifact: '.db_error());
- db_rollback();
- return false;
+ function updateExtraFields($extra_fields){
+ if (empty($extra_fields)) {
+ return true;
}
+ //get a list of extra fields for this artifact_type
+ $ef =& $this->ArtifactType->getExtraFields();
+ //now we'll update this artifact for each extra field
+ for ($i=0; $i<count($ef); $i++) {
+ //
+ // First we want to get old value of this element
+ //
+ $res=db_query("SELECT field_data FROM artifact_extra_field_data
+ WHERE
+ artifact_id='".$this->getID()."'
+ AND extra_field_id='".$ef[$i]['extra_field_id']."'");
+ // make sure we have a corresponding row in
+ // artifact_extra_field_data - if not we'll create one
+ if ($res && db_numrows($res) > 0) {
+
+ // if this field changed, update the db
+ if (addslashes(db_result($res,0,'field_data')) != htmlspecialchars($extra_fields[$ef[$i]['extra_field_id']])) {
+//TODO add history
+ $res=db_query("UPDATE artifact_extra_field_data
+ SET
+ field_data='".$extra_fields[$ef[$i]['extra_field_id']]."'
+ WHERE
+ artifact_id='".$this->getID()."'
+ AND extra_field_id='".$ef[$i]['extra_field_id']."'");
+ if (!$res) {
+ $this->setError('Artifact::updateExtraFields:: '.db_error());
+ return false;
+ }
+ }
+ } else {
+ //insert a fresh row since one does not exist for this extra field yet
+ $res=db_query("INSERT INTO artifact_extra_field_data (artifact_id,extra_field_id,field_data)
+ values ('".$this->getID()."','".$ef[$i]['extra_field_id']."','".htmlspecialchars($extra_fields[$ef[$i]['extra_field_id']])."')");
+ if (!$res) {
+ $this->setError('Artifact::updateExtraFields:: '.db_error());
+ return false;
+ }
+ }
+ }
+ unset($this->extra_field_data);
return true;
}
/**
+ * getExtraFieldData - get an array of data for the extra fields associated with this artifact
*
- * nullExtraFields - deletes a row in the table used to
- * store the id's of values for artifact fields. This function
- * applies to additional fields and boxes configured by the admin.
- *
- * @param int id of the artifact
- * @return true on success / false on failure
+ * @return array array of data
*/
- function nullExtraFields($artifact_id){
-
- $res=db_query("DELETE
- FROM
- artifact_extra_field_data
- WHERE
- artifact_id='$artifact_id'");
-
-
- if (!$res) {
- $this->setError('Artifact: '.db_error());
- db_rollback();
- return false;
+ function &getExtraFieldData() {
+ if (!isset($this->extra_field_data)) {
+ $res=db_query("SELECT * FROM artifact_extra_field_data
+ WHERE artifact_id='".$this->getID()."'");
+ while ($arr =& db_fetch_array($res)) {
+ $this->extra_field_data[$arr['extra_field_id']]=$arr['field_data'];
+ }
}
-
- return true;
+ return $this->extra_field_data;
}
-
-
-
- // function which returns proper marker for changed properties
+ /**
+ * marker - adds the > symbol to fields that have been modified for the email message
+ *
+ *
+ */
function marker($prop_name,$changes) {
if ($changes[$prop_name]) {
return '>';
Added: trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactExtraField.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactExtraField.class (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactExtraField.class 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,202 @@
+<?php
+/**
+ * ArtifactExtraField.class - Class to handle user defined artifacts
+ *
+ * Copyright 2004 (c) Anthony J. Pugliese
+ *
+ * @version $Id$
+ *
+ * This file is part of GForge.
+ *
+ * GForge 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.
+ *
+ * GForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
+ */
+require_once('common/include/Error.class');
+
+define('ARTIFACT_EXTRAFIELDTYPE_SELECT',1);
+define('ARTIFACT_EXTRAFIELDTYPE_RADIO',3);
+define('ARTIFACT_EXTRAFIELDTYPE_TEXT',4);
+//define('ARTIFACT_EXTRAFIELDTYPE_CHECKBOX',2);
+//define('ARTIFACT_EXTRAFIELDTYPE_MULTISELECT',5);
+define('ARTIFACT_EXTRAFIELDTYPE_TEXTAREA',6);
+
+class ArtifactExtraField extends Error {
+
+ /**
+ * The artifact type object.
+ *
+ * @var object $ArtifactType.
+ */
+ var $ArtifactType; //object
+
+ /**
+ * Array of artifact data.
+ *
+ * @var array $data_array.
+ */
+ var $data_array;
+
+ /**
+ * ArtifactExtraField - Constructer
+ *
+ * @param object ArtifactType object.
+ * @param array (all fields from artifact_file_user_vw) OR id from database.
+ * @return boolean success.
+ */
+ function ArtifactExtraField(&$ArtifactType, $data=false) {
+ $this->Error();
+
+ //was ArtifactType legit?
+ if (!$ArtifactType || !is_object($ArtifactType)) {
+ $this->setError('ArtifactExtraField: No Valid ArtifactType');
+ return false;
+ }
+ //did ArtifactType have an error?
+ if ($ArtifactType->isError()) {
+ $this->setError('ArtifactExtraField: '.$Artifact->getErrorMessage());
+ return false;
+ }
+ $this->ArtifactType =& $ArtifactType;
+
+ if ($data) {
+ if (is_array($data)) {
+ $this->data_array =& $data;
+ return true;
+ } else {
+ if (!$this->fetchData($data)) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+ }
+ }
+
+ /**
+ * create - create a row in the table that stores box names for a
+ * a tracker. This function is only used to create rows for boxes
+ * configured by the admin.
+ *
+ * @param string Name of the box.
+ * @return true on success / false on failure.
+ */
+ function create($name) {
+ global $Language;
+
+ //
+ // data validation
+ //
+ if (!$name) {
+ $this->setError($Language->getText('tracker_admin_build_boxes','required_box_name'));
+ return false;
+ }
+ if (!$this->ArtifactType->userIsAdmin()) {
+ $this->setPermissionDeniedError();
+ return false;
+ }
+ $sql="INSERT INTO artifact_extra_field_list (group_artifact_id,field_name)
+ VALUES ('".$this->ArtifactType->getID()."','".htmlspecialchars($name)."')";
+
+ $result=db_query($sql);
+
+ if ($result && db_affected_rows($result) > 0) {
+ $this->clearError();
+ return true;
+ } else {
+ $this->setError(db_error());
+ return false;
+ }
+ //
+ // Now set up our internal data structures
+ //
+ if (!$this->fetchData($id)) {
+ return false;
+ }
+
+ }
+ /**
+ * fetchData - re-fetch the data for this ArtifactExtraField from the database.
+ *
+ * @param int ID of the Box.
+ * @return boolean success.
+ */
+ function fetchData($id) {
+ $this->id=$id;
+ $res=db_query("SELECT * FROM artifact_extra_field_list WHERE extra_field_id='$id'");
+
+ if (!$res || db_numrows($res) < 1) {
+ $this->setError('ArtifactExtraField: Invalid ArtifactExtraField ID');
+ return false;
+ }
+ $this->data_array =& db_fetch_array($res);
+ db_free_result($res);
+ return true;
+ }
+
+ /**
+ * getArtifactType - get the ArtifactType Object this ArtifactExtraField is associated with.
+ *
+ * @return object ArtifactType.
+ */
+ function &getArtifactType() {
+ return $this->ArtifactType;
+ }
+
+ /**
+ * getID - get this ArtifactExtraField ID.
+ *
+ * @return int The id #.
+ */
+ function getID() {
+ return $this->data_array['extra_field_id'];
+ }
+
+ /**
+ * getName - get the name.
+ *
+ * @return string The name.
+ */
+ function getName() {
+ return $this->data_array['field_name'];
+ }
+
+ /**
+ * update - update a row in the table used to store box names
+ * for a tracker. This function is only to update rowsf
+ * for boxes configured by
+ * the admin.
+ *
+ * @param string Name of the box.
+ * @return boolean success.
+ */
+ function update($name) {
+ if (!$this->ArtifactType->userIsAdmin()) {
+ $this->setPermissionDeniedError();
+ return false;
+ }
+ $sql="UPDATE artifact_extra_field_list
+ SET field_name='".htmlspecialchars($name)."'
+ WHERE extra_field_id='". $this->getID() ."'
+ AND group_artifact_id='".$this->ArtifactType->getID()."'";
+ $result=db_query($sql);
+ if ($result && db_affected_rows($result) > 0) {
+ return true;
+ } else {
+ $this->setError(db_error());
+ return false;
+ }
+ }
+}
+
+?>
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactSelectionBox.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactSelectionBox.class 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactSelectionBox.class 2011-02-24 16:36:28 UTC (rev 10039)
@@ -1,197 +0,0 @@
-<?php
-/**
- * ArtifactSelectionBox.class - Class to handle user defined artifacts
- *
- * Copyright 2004 (c) Anthony J. Pugliese
- *
- * @version $Id$
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
- */
-require_once('common/include/Error.class');
-
-class ArtifactSelectionBox extends Error {
-
- /**
- * The artifact type object.
- *
- * @var object $ArtifactType.
- */
- var $ArtifactType; //object
-
- /**
- * Array of artifact data.
- *
- * @var array $data_array.
- */
- var $data_array;
-
- /**
- * ArtifactSelectionBox - Constructer
- *
- * @param object ArtifactType object.
- * @param array (all fields from artifact_file_user_vw) OR id from database.
- * @return boolean success.
- */
- function ArtifactSelectionBox(&$ArtifactType, $data=false) {
- $this->Error();
-
- //was ArtifactType legit?
- if (!$ArtifactType || !is_object($ArtifactType)) {
- $this->setError('ArtifactSelectionBox: No Valid ArtifactType');
- return false;
- }
- //did ArtifactType have an error?
- if ($ArtifactType->isError()) {
- $this->setError('ArtifactSelectionBox: '.$Artifact->getErrorMessage());
- return false;
- }
- $this->ArtifactType =& $ArtifactType;
-
- if ($data) {
- if (is_array($data)) {
- $this->data_array =& $data;
- return true;
- } else {
- if (!$this->fetchData($data)) {
- return false;
- } else {
- return true;
- }
- }
- }
- }
-
- /**
- * create - create a row in the table that stores box names for a
- * a tracker. This function is only used to create rows for boxes
- * configured by the admin.
- *
- * @param string Name of the box.
- * @return true on success / false on failure.
- */
- function create($name) {
- global $Language;
-
- //
- // data validation
- //
- if (!$name) {
- $this->setError($Language->getText('tracker_admin_build_boxes','required_box_name'));
- return false;
- }
- if (!$this->ArtifactType->userIsAdmin()) {
- $this->setPermissionDeniedError();
- return false;
- }
- $sql="INSERT INTO artifact_group_selection_box_list (group_artifact_id,selection_box_name)
- VALUES ('".$this->ArtifactType->getID()."','".htmlspecialchars($name)."')";
-
- $result=db_query($sql);
-
- if ($result && db_affected_rows($result) > 0) {
- $this->clearError();
- return true;
- } else {
- $this->setError(db_error());
- return false;
- }
- //
- // Now set up our internal data structures
- //
- if (!$this->fetchData($id)) {
- return false;
- }
-
- }
- /**
- * fetchData - re-fetch the data for this ArtifactSelectionBox from the database.
- *
- * @param int ID of the Box.
- * @return boolean success.
- */
- function fetchData($id) {
- $this->id=$id;
- $res=db_query("SELECT * FROM artifact_group_selection_box_list WHERE id='$id'");
-
- if (!$res || db_numrows($res) < 1) {
- $this->setError('ArtifactSelectionBox: Invalid Artifact ID');
- return false;
- }
- $this->data_array =& db_fetch_array($res);
- db_free_result($res);
- return true;
- }
-
- /**
- * getArtifactType - get the ArtifactType Object this ArtifactSelectionBox is associated with.
- *
- * @return object ArtifactType.
- */
- function &getArtifactType() {
- return $this->ArtifactType;
- }
-
- /**
- * getID - get this ArtifactSelectionBox ID.
- *
- * @return int The id #.
- */
- function getID() {
- return $this->data_array['id'];
- }
-
- /**
- * getName - get the name.
- *
- * @return string The name.
- */
- function getName() {
- return $this->data_array['selection_box_name'];
- }
-
-
- /**
- * update - update a row in the table used to store box names
- * for a tracker. This function is only to update rowsf
- * for boxes configured by
- * the admin.
- *
- * @param string Name of the box.
- * @return boolean success.
- */
- function update($name) {
- if (!$this->ArtifactType->userIsAdmin()) {
- $this->setPermissionDeniedError();
- return false;
- }
- $sql="UPDATE artifact_group_selection_box_list
- SET selection_box_name='".htmlspecialchars($name)."'
- WHERE id='". $this->getID() ."'
- AND group_artifact_id='".$this->ArtifactType->getID()."'";
- $result=db_query($sql);
- if ($result && db_affected_rows($result) > 0) {
- return true;
- } else {
- $this->setError(db_error());
- return false;
- }
- }
-}
-
-?>
-
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactType.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactType.class 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/tracker/ArtifactType.class 2011-02-24 16:36:28 UTC (rev 10039)
@@ -63,18 +63,18 @@
var $Group; //group object
/**
- * Selection boxes db resource ID.
+ * extra_fields 3d array - the IDs and Names of the extra fields
*
- * @var int $selection_boxes_res.
+ * @var array extra_fields;
*/
- var $selection_boxes_res;
+ var $extra_fields;
/**
- * Box options db resource ID.
+ * extra_field[extra_field_id] array - the IDs and Names of elements on the extra fields
*
- * @var int $box_options_res.
+ * @var array extra_field
*/
- var $box_options_res;
+ var $extra_field;
/**
* Options db resource ID.
@@ -454,151 +454,78 @@
}
/**
- * getSelectionBoxes - List of possible user built selection
- * boxes set up for this artifact type.
+ * getExtraFields - List of possible user built extra fields
+ * set up for this artifact type.
*
* @return database result set.
*/
- function getSelectionBoxes() {
- if (!isset($this->selection_boxes_res)) {
- $sql="select id,selection_box_name
- FROM artifact_group_selection_box_list
+ function getExtraFields() {
+ if (!isset($this->extra_fields)) {
+ $sql="select *
+ FROM artifact_extra_field_list
WHERE group_artifact_id='".$this->getID() ."'
- ORDER BY id";
- $this->selection_boxes_res=db_query($sql);
+ ORDER BY field_type ASC";
+ $res=db_query($sql);
+ $i=0;
+ while($arr =& db_fetch_array($res)) {
+ $this->extra_fields[$i++] = $arr;
+ }
}
- return $this->selection_boxes_res;
+ return $this->extra_fields;
}
/**
- * getBoxName - Get a box name using the box ID
+ * getExtraFieldName - Get a box name using the box ID
*
- * @param int id of a box
- * @return database result set.
+ * @param int id of an extra field.
+ * @return string name of extra field.
*/
- function getBoxName($box_id) {
- $this->box=$box_id;
- if (!isset($this->selection_boxes_res)) {
- $sql="select selection_box_name
- FROM artifact_group_selection_box_list
- WHERE id='".$this->box."'
- AND group_artifact_id='".$this->getID()."'";
- $this->selection_boxes_res=db_query($sql);
- }
- return $this->selection_boxes_res;
+ function getExtraFieldName($box_id) {
+ $arr =& $this->getExtraFields();
+ return $arr['extra_field_id']['field_name'];
}
-
/**
- * getBoxEntry - Get a box fields using the box ID
+ * getExtraFieldElements - List of possible admin configured
+ * extra field elements. This function is used to
+ * present the boxes and choices on the main Add/Update page.
*
- * @param int id of a box
- * @return database result set.
+ * @param int id of the extra field
+ * @return array of elements for this extra field.
*/
- function getBoxEntry($box_id) {
- $this->box=$box_id;
- if (!isset($this->selection_boxes_res)) {
- $sql="SELECT *
- FROM artifact_group_selection_box_list
- WHERE id='".$this->box."'
- ";
- $this->selection_boxes_res=db_query($sql);
+ function getExtraFieldElements($id) {
+//TODO validate $id
+ if (!$id) {
+ return false;
}
- return $this->selection_boxes_res;
+ if (!isset($this->extra_field[$id])) {
+ $sql="select element_id,element_name
+ FROM artifact_extra_field_elements
+ WHERE extra_field_id ='".$id."'
+ ORDER BY element_name";
+ $res=db_query($sql);
+ $i=0;
+ while($arr =& db_fetch_array($res)) {
+ $this->extra_field[$id][$i++] = $arr;
+ }
+ }
+ return $this->extra_field[$id];
}
-
/**
- * getSelectionBoxOptions - List of possible admin configured
- * choices for a selection box. This function is used to
- * present the boxes
- * and choices on the main Add/Update page.
+ * getElementName - get the name of a particular element.
*
- * @param int id of the selection box
- * @return database result set.
+ * @return string The name.
*/
- function getSelectionBoxOptions($box) {
- $this->box=$box;
- $sql="select id,box_options_name
- FROM artifact_group_selection_box_options
- WHERE artifact_box_id ='".$this->box."'
- ORDER BY box_options_name";
- $this->box_options_res=db_query($sql);
- return $this->box_options_res;
- }
-
- /**
- * getBoxOptions - List of possible admin configured selection
- * choices for a single selection box. This function is used
- * to display choices when updating.
- *
- * @return database result set.
- */
- function getBoxOptions() {
- $sql="select id,artifact_box_id,box_options_name
- FROM artifact_group_selection_box_options
- WHERE EXISTS (SELECT id FROM artifact_group_selection_box_list
- WHERE group_artifact_id='".$this->getID()."'
- AND artifact_group_selection_box_list.id = artifact_group_selection_box_options.artifact_box_id)
- ORDER BY box_options_name";
- $this->box_options_res=db_query($sql);
- return $this->box_options_res;
-
+ function getElementName($choiceid) {
+ $sql="select element_id,extra_field_id,element_name
+ FROM artifact_extra_field_elements
+ WHERE element_id ='$choiceid'";
+ $res=db_query($sql);
+ return db_result($res,0,'element_name');
}
-
/**
- * getBoxOptionName - List the name admin configured selection
- * choices for a single selection box. This function is used
- * copying choices.
- *
- * @return database result set.
- */
- function getBoxOptionName($choiceid) {
- $this->choiceid = $choiceid;
- $sql="select id,artifact_box_id,box_options_name
- FROM artifact_group_selection_box_options
- WHERE id ='".$this->choiceid."'";
- $this->box_options_res=db_query($sql);
- return $this->box_options_res;
-
- }
-
- /**
- * getArtifactChoices - This function is used to get a list the
- * fields in an artifact from the table of choices that is build
- * by submiting/updating new artifacts.
- *
- * @param int id of the artifact.
- * @return databse result set.
- */
- function getArtifactChoices($artifact_id){
- $this->choice=$artifact_id;
- $sql="select id,artifact_id,choice_id
- FROM artifact_extra_field_data
- WHERE artifact_id='".$this->choice."'
- ORDER BY id";
- $this->choice_res=db_query($sql);
- return $this->choice_res;
- }
-
- /**
- * getBoxOptionName - This function is used to get a name of
- * a choice for a box.
- *
- * @param int id of the choice.
- * @return database result set.
- */
- function getBoxOptionsName($choice_id) {
- $this->choice = $choice_id;
- $sql="select id, box_options_name
- FROM artifact_group_selection_box_options
- WHERE id = '".$this->choice."'";
- $this->options_res=db_query($sql);
- return $this->options_res;
- }
-
- /**
* delete - delete this tracker and all its related data.
*
* @param bool I'm Sure.
@@ -619,15 +546,12 @@
WHERE EXISTS (SELECT artifact_id FROM artifact
WHERE group_artifact_id='".$this->getID()."'
AND artifact.artifact_id=artifact_extra_field_data.artifact_id)");
-
- db_query("DELETE FROM artifact_group_selection_box_options
- WHERE EXISTS (SELECT id FROM artifact_group_selection_box_list
+ db_query("DELETE FROM artifact_extra_field_elements
+ WHERE EXISTS (SELECT extra_field_id FROM artifact_extra_field_list
WHERE group_artifact_id='".$this->getID()."'
- AND artifact_group_selection_box_list.id = artifact_group_selection_box_options.artifact_box_id)");
-
- db_query ("DELETE FROM artifact_group_selection_box_list
+ AND artifact_extra_field_list.extra_field_id = artifact_extra_field_elements.extra_field_id)");
+ db_query ("DELETE FROM artifact_extra_field_list
WHERE group_artifact_id='".$this->getID()."'");
-
db_query("DELETE FROM artifact_canned_responses
WHERE group_artifact_id='".$this->getID()."'");
//echo '1'.db_error();
Added: trunk/gforge_base/evolvisforge-5.1/gforge/db/20041006.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/db/20041006.sql (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/db/20041006.sql 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,24 @@
+ALTER TABLE artifact_group_selection_box_list RENAME TO artifact_extra_field_list;
+ALTER TABLE artifact_extra_field_list RENAME COLUMN selection_box_name TO field_name;
+ALTER TABLE artifact_extra_field_list ADD COLUMN field_type INT;
+ALTER TABLE artifact_extra_field_list ALTER COLUMN field_type SET DEFAULT 1;
+ALTER TABLE artifact_extra_field_list ADD COLUMN attribute1 INT;
+ALTER TABLE artifact_extra_field_list ALTER COLUMN attribute1 SET DEFAULT 0;
+ALTER TABLE artifact_extra_field_list ADD COLUMN attribute2 INT;
+ALTER TABLE artifact_extra_field_list ALTER COLUMN attribute2 SET DEFAULT 0;
+UPDATE artifact_extra_field_list SET field_type=1,attribute1=0,attribute2=0; --set all to pop-up box
+
+ALTER TABLE artifact_group_selection_box_options RENAME TO artifact_extra_field_elements;
+ALTER TABLE artifact_extra_field_elements RENAME COLUMN box_options_name TO element_name;
+
+ALTER TABLE artifact_extra_field_data ADD COLUMN field_data text;
+UPDATE artifact_extra_field_data SET field_data=choice_id;
+ALTER TABLE artifact_extra_field_data DROP COLUMN choice_id;
+ALTER TABLE artifact_extra_field_data ADD COLUMN extra_field_id int;
+ALTER TABLE artifact_extra_field_data ALTER COLUMN extra_field_id SET DEFAULT 0;
+update artifact_extra_field_data SET extra_field_id=0;
+
+ALTER TABLE artifact_extra_field_list RENAME COLUMN id TO extra_field_id;
+ALTER TABLE artifact_extra_field_elements RENAME COLUMN artifact_box_id TO extra_field_id;
+ALTER TABLE artifact_extra_field_elements RENAME COLUMN id TO element_id;
+ALTER TABLE artifact_extra_field_data RENAME COLUMN id TO data_id;
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/include/html.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/include/html.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/include/html.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -372,8 +372,7 @@
}
/**
- * html_build_multiple_select_box_from_arrays() - Takes a result set, with the first column being the "id" or value
- * and the second column being the text you want displayed.
+ * html_build_multiple_select_box_from_arrays() - Takes two arrays and builds a multi-select box
*
* @param array id of the field
* @param array Text to be displayed
@@ -382,11 +381,11 @@
* @param int The size of this box
* @param bool Whether or not to show the '100 row'
*/
-function html_build_multiple_select_box_from_arrays($result,$name,$fieldid,$field,$select,$checked_array,$size='8',$show_100=true) {
+function html_build_multiple_select_box_from_arrays($ids,$texts,$name,$checked_array,$size='8',$show_100=true) {
global $Language;
$checked_count=count($checked_array);
$return .='
- <select name="'.$select.'" multiple="multiple" size="'.$size.'">';
+ <select name="'.$name.'" multiple="multiple" size="'.$size.'">';
if ($show_100) {
/*
Put in the default NONE box
@@ -401,21 +400,21 @@
$return .= '>'.$Language->getText('include_html','none').'</option>';
}
- $rows=count($result);
+ $rows=count($ids);
for ($i=0; $i<$rows; $i++) {
- if (( $result[$i] != '100') || ($result[$i] == '100' && !$show_100)) {
+ if (( $ids[$i] != '100') || ($ids[$i] == '100' && !$show_100)) {
$return .='
- <option value="'.$fieldid[$i].'"';
+ <option value="'.$ids[$i].'"';
/*
Determine if it's checked
*/
- $val=$result[$i];
+ $val=$ids[$i];
for ($j=0; $j<$checked_count; $j++) {
if ($val == $checked_array[$j]) {
$return .= ' selected="selected"';
}
}
- $return .= '>'.$result[$i].'-'. $name[$i].': '. $fieldid[$i].'-'.$field[$i].' </option>';
+ $return .= '>'.$ids[$i].'-'.$texts[$i].' </option>';
}
}
$return .= '
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/include/languages/Base.tab 2011-02-24 16:36:28 UTC (rev 10039)
@@ -2693,39 +2693,40 @@
tracker_admin_add_users title Add/Update Tracker User Permissions to $1
tracker_admin_add_users update_permissions Update Developer Permissions
tracker_admin_add_users user_name User Name
-tracker_admin_build_boxes title Add/Update Pop-Up Boxes and Choices
-tracker_admin_build_boxes opt_title Add/Update Pop-Up Box Choices in: $1
+tracker_admin_build_boxes title Add/Update Extra Fields
+tracker_admin_build_boxes edit Edit
+tracker_admin_build_boxes opt_title Add/Update Extra Field Elements in: $1
tracker_admin_build_boxes box_add_choices add choices
tracker_admin_build_boxes tracker_box_id ID
tracker_admin_build_boxes tracker_choice_id ID
-tracker_admin_build_boxes tracker_box_title Boxes Defined
+tracker_admin_build_boxes tracker_box_title Extra Fields Defined
tracker_admin_build_boxes tracker_box_option_add Add/Update
-tracker_admin_build_boxes tracker_box_option_title Choices Defined
-tracker_admin_build_boxes box_name Box Name
-tracker_admin_build_boxes opt_add_name Add New Choice
-tracker_admin_build_boxes choice_warning Once you add a new choice, it cannot be deleted
-tracker_admin_build_boxes box_warning Once you add a new box, it cannot be deleted
-tracker_admin_build_boxes required_box_name a box name is required
-tracker_admin_build_boxes required_choice_name a choice name is required
-tracker_admin_build_boxes no_box You have not defined any boxes
-tracker_admin_build_boxes no_choice You have not defined any choices
-tracker_admin_build_boxes error_inserting_box Error inserting a box name
-tracker_admin_build_boxes error_inserting_choice Error inserting a choice name
-tracker_admin_build_boxes box_name_inserted Box name inserted
-tracker_admin_build_boxes choice_inserted Choice inserted
-tracker_admin_build_boxes box_update_title Modify a Box In: $1
-tracker_admin_build_boxes opt_update_title Modify a Pop-Up Box Choice In: $1
-tracker_admin_build_boxes opt_name Choice
+tracker_admin_build_boxes tracker_box_option_title Elements Defined
+tracker_admin_build_boxes box_name Extra Field Name
+tracker_admin_build_boxes opt_add_name Add New Element
+tracker_admin_build_boxes choice_warning Once you add a new element, it cannot be deleted
+tracker_admin_build_boxes box_warning Once you add a new extra field, it cannot be deleted
+tracker_admin_build_boxes required_box_name a field name is required
+tracker_admin_build_boxes required_choice_name an element name is required
+tracker_admin_build_boxes no_box You have not defined any extra fields
+tracker_admin_build_boxes no_choice You have not defined any elements
+tracker_admin_build_boxes error_inserting_box Error inserting an extra field
+tracker_admin_build_boxes error_inserting_choice Error inserting an element
+tracker_admin_build_boxes box_name_inserted Extra field inserted
+tracker_admin_build_boxes choice_inserted Element inserted
+tracker_admin_build_boxes box_update_title Modify an extra field In: $1
+tracker_admin_build_boxes opt_update_title Modify an extra field element In: $1
+tracker_admin_build_boxes opt_name Element
tracker_admin_build_boxes status_any Any
-tracker_admin_build_boxes box_name_updated Box name updated
-tracker_admin_build_boxes choice_updated Choice updated
-tracker_admin_build_boxes box_change_warning It is not recommended that you change the artifact box name because other things are dependent upon it. When you change the box name, all related items will be changed to the new name
-tracker_admin_build_boxes choice_change_warning It is not recommended that you change the box choice name because other things are dependent upon it. When you change the box choice name, all related items will be changed to the new name
-tracker_admin_build_boxes error_updating Error updating a box name
-tracker_admin_copy copy_choices Click here to copy these choices to other trackers
-tracker_admin_copy choices_title Copy Choices from Pop-Up Box $1
+tracker_admin_build_boxes box_name_updated Extra Field updated
+tracker_admin_build_boxes choice_updated Element updated
+tracker_admin_build_boxes box_change_warning It is not recommended that you change the extra field name because other things are dependent upon it. When you change the extra field name, all related items will be changed to the new name
+tracker_admin_build_boxes choice_change_warning It is not recommended that you change the element name because other things are dependent upon it. When you change the element name, all related items will be changed to the new name
+tracker_admin_build_boxes error_updating Error updating an extra field name
+tracker_admin_copy copy_choices Click here to copy these elements to other trackers
+tracker_admin_copy choices_title Copy Choices from Extra Field $1
tracker_admin_copy from_box Copy From
-tracker_admin_copy into_box Into Trackers and Boxes
+tracker_admin_copy into_box Into Trackers and Extra Fields
tracker_admin_choose title Tracker Admin
tracker_admin_update_canned title Modify Canned Responses In: $1
tracker_admin_update_cat auto_assign_to Auto-Assign To
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcanned.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcanned.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcanned.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,57 @@
+<?php
+//
+// FORM TO ADD CANNED RESPONSES
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_canned','title',$ath->getName()).'Add/Change Canned Responses to: '.$ath->getName()));
+
+ echo "<h1>".$Language->getText('tracker_admin_add_canned','title', $ath->getName())."</h1>";
+
+ /*
+ List of existing canned responses
+ */
+ $result=$ath->getCannedResponses();
+ $rows=db_numrows($result);
+ echo "<p> </p>";
+
+ if ($result && $rows > 0) {
+ //code to show existing responses and link to update page
+ echo '
+ <h2>'.$Language->getText('tracker_admin_add_canned','existing_responses').':</h2>
+ <p> </p>';
+ $title_arr=array();
+ $title_arr[]=$Language->getText('tracker_admin','tracker_id');
+ $title_arr[]=$Language->getText('tracker_admin','tracker_title');
+
+ echo $GLOBALS['HTML']->listTableTop ($title_arr);
+
+ for ($i=0; $i < $rows; $i++) {
+ echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
+ '<td>'.db_result($result, $i, 'id').'</td>'.
+ '<td><a href="'.$PHP_SELF.'?update_canned=1&id='.
+ db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
+ db_result($result, $i, 'title').'</a></td></tr>';
+ }
+
+ echo $GLOBALS['HTML']->listTableBottom();
+
+ } else {
+ echo "\n<h1>".$Language->getText('tracker_admin_add_canned','no_responses')."</h1>";
+ }
+ ?>
+ <p><?php echo $Language->getText('tracker_admin_add_canned','canned_response_info') ?></p>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="add_canned" value="y" />
+ <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_title') ?>:</strong><br />
+ <input type="text" name="title" value="" size="50" maxlength="50" />
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_body') ?>:</strong><br />
+ <textarea name="body" rows="30" cols="65" wrap="hard"></textarea></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcategory.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcategory.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addcategory.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,54 @@
+<?php
+
+//
+// FORM TO ADD CATEGORIES
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_cat','title',$ath->getName())));
+
+ echo "<h1>".$Language->getText('tracker_admin_add_cat','title',$ath->getName())."</h1>";
+
+ /*
+ List of possible categories for this ArtifactType
+ */
+ $result=$ath->getCategories();
+ echo "<p> </p>";
+ $rows=db_numrows($result);
+ if ($result && $rows > 0) {
+ $title_arr=array();
+ $title_arr[]=$Language->getText('tracker_admin','tracker_id');
+ $title_arr[]=$Language->getText('tracker_admin','tracker_title');
+
+ echo $GLOBALS['HTML']->listTableTop ($title_arr);
+
+ for ($i=0; $i < $rows; $i++) {
+ echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
+ '<td>'.db_result($result, $i, 'id').'</td>'.
+ '<td><a href="'.$PHP_SELF.'?update_cat=1&id='.
+ db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
+ db_result($result, $i, 'category_name').'</a></td></tr>';
+ }
+
+ echo $GLOBALS['HTML']->listTableBottom();
+
+ } else {
+ echo "\n<h1>".$Language->getText('tracker_admin_add_cat','no_categories')."</h1>";
+ }
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="add_cat" value="y" />
+ <strong><?php echo $Language->getText('tracker_admin','category_name') ?>:</strong><br />
+ <input type="text" name="name" value="" size="15" maxlength="30" /><br />
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin','auto_assign_to') ?>:</strong><br />
+ <?php echo $ath->technicianBox('assign_to'); ?></p>
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin','category_add_warning') ?></span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo$Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafield.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafield.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafield.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,73 @@
+<?php
+//
+// FORM TO BUILD SELECTION BOXES
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_build_boxes','title',$ath->getName())));
+
+ echo "<h2>".$Language->getText('tracker_admin_build_boxes','title',$ath->getName())."</h2>";
+
+ /*
+ List of possible user built Selection Boxes for an ArtifactType
+ */
+ $efarr =& $ath->getExtraFields();
+ echo "<br />";
+ $rows=count($efarr);
+ if ($rows > 0) {
+
+ $title_arr=array();
+ $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_box_title');
+ $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_box_option_title');
+ echo $GLOBALS['HTML']->listTableTop ($title_arr);
+
+ for ($i=0; $i < $rows; $i++) {
+
+ echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
+ '<td><a href="'.$PHP_SELF.'?update_box=1&id='.
+ $efarr[$i]['extra_field_id'].'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
+ $efarr[$i]['field_name'].' ['.$Language->getText('tracker_admin_build_boxes','edit').']</a></td>';
+ /*
+ List of possible options for a user built Selection Box
+ */
+ $elearray =& $ath->getExtraFieldElements($efarr[$i]['extra_field_id']);
+ $optrows=count($elearray);
+ if ($optrows > 0) {
+ echo '<td>';
+ for ($j=0; $j <$optrows; $j++)
+
+ echo '<a href="'.$PHP_SELF.'?update_opt=1&id='.
+ $elearray[$j]['element_id'].'&group_id='.$group_id.'&atid='. $ath->getID() .'&boxid='.
+ $efarr[$i]['extra_field_id'].'">'.
+ $elearray[$j]['element_name'].' ['.$Language->getText('tracker_admin_build_boxes','edit').']</a><br \>';
+
+ } else {
+ echo '<td>';
+ }
+
+ echo '</td>';
+ echo '<td>';
+ echo '<a href="'.$PHP_SELF.'?add_opt=1&boxid='.
+ $efarr[$i]['extra_field_id'].'&group_id='.$group_id.'&atid='. $ath->getID() .'">['.
+ $Language->getText('tracker_admin_build_boxes', 'box_add_choices').']</a>';
+ }
+ echo '</tr>';
+ echo $GLOBALS['HTML']->listTableBottom();
+
+ } else {
+ echo "\n<h3>".$Language->getText('tracker_admin_build_boxes','no_box')."</h3>";
+ }
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="add_extrafield" value="y" />
+ <strong><?php echo $Language->getText('tracker_admin_build_boxes','box_name') ?>:</strong><br />
+ <input type="text" name="name" value="" size="15" maxlength="30" /><br />
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','box_warning') ?></span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo$Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafieldoption.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafieldoption.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addextrafieldoption.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,56 @@
+<?php
+
+//
+// FORM TO ADD BOX CHOICES
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_build_boxes','title')));
+
+ echo "<h3>".$Language->getText('tracker_admin_build_boxes','opt_title',$ath->getName())."</h3>";
+ /*
+ * List of possible options for user
+ * Selection Boxes configured by Admin
+ */
+
+ $efearr=$ath->getExtraFieldElements($boxid);
+ echo "<br />";
+ $rows=count($efearr);
+ if ($rows > 0) {
+
+ echo '<a href="'.$PHP_SELF.'?copy_opt=1&boxid='.$boxid.'&group_id='.
+ $group_id.'&atid='. $ath->getID() .'">'.
+ $Language->getText('tracker_admin_copy','copy_choices'). '</a><p>';
+
+ $title_arr=array();
+ $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_box_option_title');
+
+ echo $GLOBALS['HTML']->listTableTop ($title_arr);
+
+ for ($i=0; $i < $rows; $i++) {
+ echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
+ '<td><a href="'.$PHP_SELF.'?update_opt=1&id='.
+ $efearr[$i]['element_id'].'&boxid='.
+ $efearr[$i]['extra_field_id'].'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
+ $efearr[$i]['element_name'].' ['.$Language->getText('tracker_admin_build_boxes','edit').']</a></td>';
+ }
+ echo $GLOBALS['HTML']->listTableBottom();
+
+ } else {
+ echo "\n<h3>".$Language->getText('tracker_admin_build_boxes','no_choice')."</h3>";
+ }
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&boxid='.$boxid.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="add_opt" value="y" />
+ <strong><?php echo $Language->getText('tracker_admin_build_boxes','opt_add_name') ?>:</strong><br />
+ <input type="text" name="name" value="" size="15" maxlength="30" /> <br \>
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','choice_warning') ?></span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo$Language->getText('general','submit') ?>" /></p>
+ </form>
+ </p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addgroup.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addgroup.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-addgroup.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,48 @@
+<?php
+//
+// FORM TO ADD GROUP
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_group','title', $ath->getName()),'pagename'=>'tracker_admin_add_group','titlevals'=>array($ath->getName())));
+
+ /*
+ List of possible groups for this ArtifactType
+ */
+ $result=$ath->getGroups();
+ echo "<p>";
+ $rows=db_numrows($result);
+ if ($result && $rows > 0) {
+ $title_arr=array();
+ $title_arr[]=$Language->getText('tracker_admin','tracker_id');
+ $title_arr[]=$Language->getText('tracker_admin','tracker_title');
+
+ echo $GLOBALS['HTML']->listTableTop ($title_arr);
+
+ for ($i=0; $i < $rows; $i++) {
+ echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
+ '<td>'.db_result($result, $i, 'id').'</td>'.
+ '<td><a href="'.$PHP_SELF.'?update_group=1&id='.
+ db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
+ db_result($result, $i, 'group_name').'</a></td></tr>';
+ }
+
+ echo $GLOBALS['HTML']->listTableBottom();
+
+ } else {
+ echo "\n<h1>".$Language->getText('tracker_admin_add_group','no_groups_defined')."</h1>";
+ }
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="add_group" value="y" />
+ <strong><?php echo $Language->getText('tracker_admin','group_name')?>:</strong><br />
+ <input type="text" name="name" value="" size="15" maxlength="30" /><br />
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_add_group','group_add_warning') ?></span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-deletetracker.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-deletetracker.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-deletetracker.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,20 @@
+<?php
+
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin','delete', $ath->getName())));
+
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="delete" value="y" /><br />
+ <?php echo $Language->getText('tracker_admin','delete_warning'); ?>
+ <p>
+ <input type="checkbox" name="sure" value="1"><?php echo $Language->getText('tracker_admin','sure') ?><br />
+ <input type="checkbox" name="really_sure" value="1"><?php echo $Language->getText('tracker_admin','really_sure') ?><br />
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('tracker_admin','delete') ?>" /></p>
+ </form></p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-extrafieldcopy.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-extrafieldcopy.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-extrafieldcopy.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,61 @@
+<?php
+
+//
+// FORM TO COPY Choices configured by admin for extra_field BOXES
+//
+ $fb= new ArtifactExtraField($ath,$boxid);
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_copy','choices_title',$fb->getName())));
+ echo "<h3>".$Language->getText('tracker_admin_copy','choices_title',$fb->getName())."</h3>";
+
+ $efearr =& $ath->getExtraFieldElements($boxid);
+ for ($i=0; $i<count($efearr); $i++) {
+ $field_id_arr[] = $efearr[$i]['element_id'];
+ $field_arr[] = $efearr[$i]['element_name'];
+ }
+ echo '<table>';
+ echo '<tr>';
+ echo '<td></td><td><center><strong>';
+ echo $Language->getText('tracker_admin_copy','from_box');
+ echo '<br />';
+ echo $fb->getName();
+ echo '</center></strong></td><td></td><td><strong><center>';
+
+ echo $Language->getText('tracker_admin_copy','into_box');
+ echo '</center></strong></tr><tr><td><strong><center>';
+ echo '</center></strong></td>';
+ echo '<td valign=top>';
+ ?>
+
+ <form action="<?php echo $PHP_SELF .'?group_id='.$group_id.'&boxid='.$boxid.'&atid='.$ath->getID(); ?>" method="post" >
+ <input type="hidden" name="copy_opt" value="copy" >
+ <input type="hidden" value="$return">
+ <?php
+ echo html_build_multiple_select_box_from_arrays($field_id_arr,$field_arr,'copyid[]',array(),10,false);
+ echo '</td><td><strong><center>';
+ $atf = new ArtifactTypeFactory($group);
+ $at_arr =& $atf->getArtifactTypes();
+ for ($j=0; $j < count($at_arr); $j++) {
+ $athcp= new ArtifactTypeHtml($group,$at_arr[$j]->getID());
+ $efarr =& $athcp->getExtraFields();
+ $ct=count($efarr);
+ for ($k=0; $k < $ct; $k++) {
+ $id_arr[]=$efarr[$k]['extra_field_id'];
+ $name_arr[]=$athcp->getName() .' - '.$efarr[$k]['field_name'];
+ }
+ unset ($athcp);
+ }
+ echo '<td valign=top>';
+
+ $cat_count=count($id_arr);
+ echo html_build_multiple_select_box_from_arrays($id_arr,$name_arr,'selectid[]',array(),10,false);
+ echo '</td></tr>';
+ echo '<tr><td>';
+ ?>
+ <br />
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" />
+ </td></tr></table></form>
+
+ <?php
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecanned.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecanned.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecanned.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,33 @@
+<?php
+//
+// FORM TO UPDATE CANNED MESSAGES
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_update_canned','title', $ath->getName())));
+
+ echo "<h1>".$Language->getText('tracker_admin_update_canned','title', $ath->getName())."</h1>";
+
+ $acr = new ArtifactCanned($ath,$id);
+ if (!$acr || !is_object($acr)) {
+ $feedback .= 'Unable to create ArtifactCanned Object';
+ } elseif ($acr->isError()) {
+ $feedback .= $acr->getErrorMessage();
+ } else {
+ ?>
+ <p><?php echo $Language->getText('tracker_admin_add_canned','canned_response_info') ?></p>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="update_canned" value="y" />
+ <input type="hidden" name="id" value="<?php echo $acr->getID(); ?>" />
+ <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_title') ?>:</strong><br />
+ <input type="text" name="title" value="<?php echo $acr->getTitle(); ?>" size="50" maxlength="50" />
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_body') ?>:</strong><br />
+ <textarea name="body" rows="30" cols="65" wrap="hard"><?php echo $acr->getBody(); ?></textarea></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+ }
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecategory.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecategory.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatecategory.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,41 @@
+<?php
+//
+// FORM TO UPDATE CATEGORIES
+//
+ /*
+ Allow modification of a artifact category
+ */
+ $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_update_cat','title',$ath->getName())));
+
+ echo '
+ <h1>'.$Language->getText('tracker_admin_update_cat','title',$ath->getName()).'</h1>';
+
+ $ac = new ArtifactCategory($ath,$id);
+ if (!$ac || !is_object($ac)) {
+ $feedback .= 'Unable to create ArtifactCategory Object';
+ } elseif ($ac->isError()) {
+ $feedback .= $ac->getErrorMessage();
+ } else {
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="update_cat" value="y" />
+ <input type="hidden" name="id" value="<?php echo $ac->getID(); ?>" />
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_cat','category_name') ?>:</strong><br />
+ <input type="text" name="name" value="<?php echo $ac->getName(); ?>" /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_cat','auto_assign_to') ?>:</strong><br />
+ <?php echo $ath->technicianBox('assign_to',$ac->getAssignee()); ?></p>
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_update_cat','category_change_warning') ?>
+ </span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+ }
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafield.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafield.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafield.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,39 @@
+<?php
+//
+// FORM TO UPDATE POP-UP BOXES
+//
+ /*
+ Allow modification of a artifact Selection Box
+ */
+ $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_build_boxes','box_update_title',$ath->getName())));
+
+
+ echo '
+ <h2>'.$Language->getText('tracker_admin_build_boxes','box_update_title',$ath->getName()).'</h2>';
+
+ $ac = new ArtifactExtraField($ath,$id);
+ if (!$ac || !is_object($ac)) {
+ $feedback .= 'Unable to create ArtifactExtraField Object';
+ } elseif ($ac->isError()) {
+ $feedback .= $ac->getErrorMessage();
+ } else {
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&id='.$id.'&boxid='.$box.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="update_box" value="y" />
+ <input type="hidden" name="id" value="<?php echo $ac->getID(); ?>" />
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_build_boxes','box_name') ?>:</strong><br />
+ <input type="text" name="name" value="<?php echo $ac->getName(); ?>" /></p>
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','box_change_warning') ?>
+ </span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+ }
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafieldelement.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafieldelement.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updateextrafieldelement.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,40 @@
+<?php
+//
+// FORM TO UPDATE POP-UP CHOICES FOR A BOX
+//
+ /*
+ Allow modification of a Choice for a Pop-up Box
+ */
+ $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_build_boxes','opt_update_title',$ath->getName())));
+
+ echo '
+ <h2>'.$Language->getText('tracker_admin_build_boxes','opt_update_title',$ath->getName()).'</h2>';
+
+ $ao = new ArtifactExtraFieldElement($ath,$id);
+ if (!$ao || !is_object($ao)) {
+ $feedback .= 'Unable to create ArtifactExtraFieldElement Object';
+ } elseif ($ao->isError()) {
+ $feedback .= $ao->getErrorMessage();
+ } else {
+
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="update_opt" value="y" />
+ <input type="hidden" name="id" value="<?php echo $ao->getID(); ?>" />
+
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_build_boxes','opt_name') ?>:</strong><br />
+ <input type="text" name="name" value="<?php echo $ao->getName(); ?>" /></p>
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','box_change_warning') ?>
+ </span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+ }
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updategroup.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updategroup.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updategroup.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,34 @@
+<?php
+//
+// FORM TO UPDATE GROUPS
+//
+ /*
+ Allow modification of a artifact group
+ */
+ $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_update_group','title',$ath->getName()),'pagename'=>'tracker_admin_update_group','titlevals'=>array($ath->getName())));
+
+ $ag = new ArtifactGroup($ath,$id);
+ if (!$ag || !is_object($ag)) {
+ $feedback .= 'Unable to create ArtifactGroup Object';
+ } elseif ($ag->isError()) {
+ $feedback .= $ag->getErrorMessage();
+ } else {
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="update_group" value="y" />
+ <input type="hidden" name="id" value="<?php echo $ag->getID(); ?>" />
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin','group_name') ?>:</strong><br />
+ <input type="text" name="name" value="<?php echo $ag->getName(); ?>" /></p>
+ <p>
+ <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_update_group','warning') ?></span></strong></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+ }
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatetracker.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatetracker.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/form-updatetracker.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,59 @@
+<?php
+//
+// FORM TO UPDATE ARTIFACT TYPES
+//
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_update_type','title', $ath->getName()),'pagename'=>'tracker_admin_update_type','titlevals'=>array($ath->getName())));
+
+ ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
+ <input type="hidden" name="update_type" value="y" />
+ <p>
+ <?php echo $Language->getText('tracker_admin_update_type','name') ?><br />
+ <?php if ($ath->getDataType()) {
+ echo $ath->getName();
+ } else {
+ ?>
+ <input type="text" name="name" value="<?php echo $ath->getName(); ?>" /></p>
+ <?php
+ }
+ ?>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','description') ?>:</strong><br />
+ <?php if ($ath->getDataType()) {
+ echo $ath->getDescription();
+ } else {
+ ?>
+ <input type="text" name="description" value="<?php echo $ath->getDescription(); ?>" size="50" /></p>
+ <?php
+ }
+ ?>
+ <p>
+<!-- <input type="checkbox" name="is_public" value="1" <?php echo (($ath->isPublic())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','publicy_available') ?></strong><br />
+ <input type="checkbox" name="allow_anon" value="1" <?php echo (($ath->allowsAnon())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','allow_anonymous') ?></strong><br />
+--> <input type="checkbox" name="use_resolution" value="1" <?php echo (($ath->useResolution())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','display_resolution') ?></strong></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','send_submissions') ?>:</strong><br />
+ <input type="text" name="email_address" value="<?php echo $ath->getEmailAddress(); ?>" /></p>
+ <p>
+ <input type="checkbox" name="email_all" value="1" <?php echo (($ath->emailAll())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','email_all_changes') ?></strong><br /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','days_overdue') ?>:</strong><br />
+ <input type="text" name="due_period" value="<?php echo ($ath->getDuePeriod() / 86400); ?>" /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','pending_timeout') ?>:</strong><br />
+ <input type="text" name="status_timeout" value="<?php echo($ath->getStatusTimeout() / 86400); ?>" /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','submit_item_form_text') ?>:</strong><br />
+ <textarea name="submit_instructions" rows="10" cols="55" wrap="hard"><?php echo $ath->getSubmitInstructions(); ?></textarea></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','browse_item_form_text') ?>:</strong><br />
+ <textarea name="browse_instructions" rows="10" cols="55" wrap="hard"><?php echo $ath->getBrowseInstructions(); ?></textarea></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/ind.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/ind.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/ind.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,144 @@
+<?php
+
+ //
+ //
+ // This page lists the available trackers as well as a
+ // form to create a new tracker
+ //
+ //
+
+
+ //
+ // get the Group object
+ //
+ $group =& group_get_object($group_id);
+ if (!$group || !is_object($group)) {
+ exit_error('Error','Could Not Get Group Object');
+ } elseif ($group->isError()) {
+ exit_error('Error',$group->getErrorMessage());
+ }
+
+ $perm =& $group->getPermission( session_get_user() );
+
+ if ($post_changes) {
+
+ if (!$perm || !is_object($perm) || !$perm->isArtifactAdmin()) {
+ exit_permission_denied();
+ }
+
+ if ($add_at) {
+ $res=new ArtifactTypeHtml($group);
+ if (!$res->create($name,$description,$is_public,$allow_anon,$email_all,$email_address,
+ $due_period,$use_resolution,$submit_instructions,$browse_instructions)) {
+ $feedback .= $res->getErrorMessage();
+ } else {
+ header ("Location: /tracker/admin/?group_id=$group_id&atid=".$res->getID()."&update_users=1");
+ }
+
+ }
+ }
+
+
+ //
+ // Display existing artifact types
+ //
+ $atf = new ArtifactTypeFactory($group);
+ if (!$group || !is_object($group) || $group->isError()) {
+ exit_error('Error','Could Not Get ArtifactTypeFactory');
+ }
+
+ $at_arr =& $atf->getArtifactTypes();
+
+ //required params for site_project_header();
+ $params['group']=$group_id;
+ $params['toptab']='tracker';
+ $params['title'] = $page_title;
+
+ echo site_project_header($params);
+ echo $HTML->subMenu(
+ array(
+ $Language->getText('tracker','reporting'),
+ $Language->getText('tracker','admin')
+ ),
+ array(
+ '/tracker/reporting/?group_id='.$group_id,
+ '/tracker/admin/?group_id='.$group_id
+ )
+ );
+
+ if (!$at_arr || count($at_arr) < 1) {
+ echo "<h1>".$Language->getText('tracker_admin','no_trackers_found')."</h1>";
+ echo "<p> </p>";
+ } else {
+
+ echo '
+ <p>'.$Language->getText('tracker_admin','choose_datatype').'.</p>';
+
+ /*
+ Put the result set (list of forums for this group) into a column with folders
+ */
+ $tablearr=array($Language->getText('group','short_tracker'),$Language->getText('tracker_admin_update_type','description'));
+ echo $HTML->listTableTop($tablearr);
+
+ for ($j = 0; $j < count($at_arr); $j++) {
+ echo '
+ <tr '. $HTML->boxGetAltRowStyle($j) . '>
+ <td><a href="/tracker/admin/?atid='. $at_arr[$j]->getID() . '&group_id='.$group_id.'">' .
+ html_image("ic/tracker20w.png","20","20",array("border"=>"0")) . ' '.
+ $at_arr[$j]->getName() .'</a>
+ </td>
+ <td>'.$at_arr[$j]->getDescription() .'
+ </td>
+ </tr>';
+ }
+ echo $HTML->listTableBottom();
+ }
+
+ //
+ // Set up blank ArtifactType
+ //
+
+ if (!$perm || !is_object($perm) || !$perm->isArtifactAdmin()) {
+ //show nothing
+ } else {
+
+ ?><?php echo $Language->getText('tracker_admin','intro') ?>
+ <p>
+ <form action="<?php echo $PHP_SELF.'?group_id='.$group_id; ?>" method="post">
+ <input type="hidden" name="add_at" value="y" />
+ <p>
+ <?php echo $Language->getText('tracker_admin_update_type','name') ?><br />
+ <input type="text" name="name" value=""></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','description') ?>:</strong><br />
+ <input type="text" name="description" value="" size="50" /></p>
+ <p>
+ <input type="checkbox" name="is_public" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','publicy_available') ?></strong><br />
+ <input type="checkbox" name="allow_anon" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','allow_anonymous') ?></strong><br />
+ <input type="checkbox" name="use_resolution" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','display_resolution') ?></strong></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','send_submissions') ?>:</strong><br />
+ <input type="text" name="email_address" value="" /></p>
+ <p>
+ <input type="checkbox" name="email_all" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','email_all_changes') ?></strong><br /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','days_overdue') ?>:</strong><br />
+ <input type="text" name="due_period" value="30" /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','pending_timeout') ?>:</strong><br />
+ <input type="text" name="status_timeout" value="14" /></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','submit_item_form_text') ?>:</strong><br />
+ <textarea name="submit_instructions" rows="10" cols="55" wrap="hard"></textarea></p>
+ <p>
+ <strong><?php echo $Language->getText('tracker_admin_update_type','browse_item_form_text') ?>:</strong><br />
+ <textarea name="browse_instructions" rows="10" cols="55" wrap="hard"></textarea></p>
+ <p>
+ <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
+ </form></p>
+ <?php
+ }
+
+ echo site_project_footer(array());
+
+?>
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/index.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/index.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/index.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -18,14 +18,13 @@
require_once('common/tracker/ArtifactCategory.class');
require_once('common/tracker/ArtifactCanned.class');
require_once('common/tracker/ArtifactResolution.class');
-require_once('common/tracker/ArtifactSelectionBox.class');
-require_once('common/tracker/ArtifactBoxOptions.class');
+require_once('common/tracker/ArtifactExtraField.class');
+require_once('common/tracker/ArtifactExtraFieldElement.class');
+
if ($group_id && $atid) {
//
-//
// UPDATING A PARTICULAR ARTIFACT TYPE
//
-//
//
// get the Group object
//
@@ -55,1208 +54,73 @@
}
if ($post_changes) {
-//
-//
-// Update the database
-//
-//
- if ($build_box) {
-
- $ab = new ArtifactSelectionBox($ath);
-
- if (!$ab || !is_object($ab)) {
- $feedback .= 'Unable to create ArtifactSelectionBox Object';
-// } elseif ($ab->isError())
-// $feedback .= $ab->getErrorMessage();
- } else {
- if (!$ab->create($name)) {
- $feedback .= $Language->getText('tracker_admin_build_boxes','error_inserting_box').': '.$ab->getErrorMessage();
- $ab->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin_build_boxes','box_name_inserted');
- }
- }
-
- }elseif ($add_opt) {
- $ao = new ArtifactBoxOptions($ath);
- if (!$ao || !is_object($ao)) {
- $feedback .= 'Unable to create ArtifactBoxOptions Object';
-// } elseif ($ao->isError())
-// $feedback .= $ao->getErrorMessage();
- } else {
- if (!$ao->create($name,$boxid)) {
- $feedback .= $Language->getText('tracker_admin_build_boxes','error_inserting_choice').': '.$ao->getErrorMessage();
- $ao->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin_build_boxes','choice_inserted');
- }
- // $add_opt= false;
- // $build_box= true;
-
- }
-
- } elseif ($add_cat) {
-
- $ac = new ArtifactCategory($ath);
- if (!$ac || !is_object($ac)) {
- $feedback .= 'Unable to create ArtifactCategory Object';
-// } elseif ($ac->isError()) {
-// $feedback .= $ac->getErrorMessage();
- } else {
- if (!$ac->create($name,$assign_to)) {
- $feedback .= $Language->getText('tracker_admin','error_inserting').': '.$ac->getErrorMessage();
- $ac->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','category_inserted');
- }
- }
-
- } elseif ($add_group) {
-
- $ag = new ArtifactGroup($ath);
- if (!$ag || !is_object($ag)) {
- $feedback .= 'Unable to create ArtifactGroup Object';
-// } elseif ($ag->isError()) {
-// $feedback .= $ag->getErrorMessage();
- } else {
- if (!$ag->create($name)) {
- $feedback .= $Language->getText('tracker_admin','error_inserting').' : '.$ag->getErrorMessage();
- $ag->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','group_inserted');
- }
- }
-
- } elseif ($add_canned) {
-
- $acr = new ArtifactCanned($ath);
- if (!$acr || !is_object($acr)) {
- $feedback .= 'Unable to create ArtifactCanned Object';
-// } elseif ($acr->isError()) {
-// $feedback .= $acr->getErrorMessage();
- } else {
- if (!$acr->create($title,$body)) {
- $feedback .= $Language->getText('tracker_admin','error_inserting').' : '.$acr->getErrorMessage();
- $acr->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','canned_response_inserted');
- }
- }
-
-/*
- } elseif ($add_users) {
-
- //
- // if "add all" option, get list of group members
- // who are not already members of this ArtifactType
- //
- if ($add_all) {
- $sql="SELECT u.user_id
- FROM users u,user_group ug
- WHERE u.user_id=ug.user_id
- AND ug.group_id='$group_id'
- AND NOT EXISTS (SELECT user_id FROM artifact_perm ap
- WHERE ap.group_artifact_id='$atid'
- AND ap.user_id=u.user_id);";
- $addids=util_result_column_to_array(db_query($sql));
- }
- $count=count($addids);
- for ($i=0; $i<$count; $i++) {
- $ath->addUser($addids[$i]);
- }
- if ($ath->isError()) {
- $feedback .= $ath->getErrorMessage();
- $ath->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','users_added');
- }
- //go to the perms page
- $add_users=false;
- $update_users=true;
-
- } elseif ($update_users) {
-
- //
- // Handle the 2-D array of user_id/permission level
- //
- $count=count($updateids);
- for ($i=0; $i<$count; $i++) {
- $ath->updateUser($updateids[$i][0],$updateids[$i][1]);
- }
- if ($ath->isError()) {
- $feedback .= $ath->getErrorMessage();
- $ath->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','users_updated');
- }
-
- //
- // Delete the checked ids
- //
- $count=count($deleteids);
- for ($i=0; $i<$count; $i++) {
- $ath->deleteUser($deleteids[$i]);
- }
- if ($ath->isError()) {
- $feedback .= $ath->getErrorMessage();
- $ath->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','users_deleted');
- }
-*/
- } elseif ($update_canned) {
-
- $acr = new ArtifactCanned($ath,$id);
- if (!$acr || !is_object($acr)) {
- $feedback .= 'Unable to create ArtifactCanned Object';
- } elseif ($acr->isError()) {
- $feedback .= $acr->getErrorMessage();
- } else {
- if (!$acr->update($title,$body)) {
- $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$acr->getErrorMessage();
- $acr->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','canned_response_updated');
- $update_canned=false;
- $add_canned=true;
- }
- }
-
- } elseif ($copy_opt) {
- $copy_rows=count($copyid);
- $tracker_rows=count($selectid);
- if ($tracker_rows > 0 && $copy_rows > 0) {
-// for ($i=0; $i < $copy_rows; $i++) {
-// }
- for ($i=0; $i < $tracker_rows; $i++) {
- //
- // create an object for each selected type
- //
- $result = $ath->getBoxEntry($selectid[$i]);
- $typeid = db_result($result,0,'group_artifact_id');
- $athcp = new ArtifactTypeHtml($group,$typeid);
- if (!$athcp || !is_object($athcp)) {
- exit_error('Error','ArtifactType could not be created');
- }
- if ($athcp->isError()) {
- exit_error($Language->getText('general','error').'',$athcp->getErrorMessage());
- }
- //
- // Copy choices into a field (box) for each tracker selected
- //
-
- $feedback .= 'From Tracker: ';
- $feedback .= $athcp->getName();
- $feedback .= ' into Tracker: ';
- $feedback .= $athcp->getName();
- $ab =new ArtifactSelectionbox($athcp,$selectid[$i]);
- $feedback .= ', Box: ';
- $feedback .= $ab->getName();
- $feedback .= '<br />';
-
- $abo = new ArtifactBoxOptions($athcp);
- if (!$abo || !is_object($abo)) {
- $feedback .= 'Unable to create ArtifactBoxOptions Object';
- } elseif ($abo->isError()) {
- $feedback .= $abo->getErrorMessage();
- } else {
- for ($k=0; $k < $copy_rows; $k++) {
- $resultch=$ath->getBoxOptionName($copyid[$k]);
- $name=db_result($resultch,0,'box_options_name');
- if (!$abo->create($name,$selectid[$i])) {
- $feedback .= $Language->getText('tracker_admin_build_boxes','error_inserting_choice').': '.$abo->getErrorMessage();
- $abo->clearError();
-
- }else {
- unset ($abo);
- $abo = new ArtifactBoxOptions($athcp);
- if (!$abo || !is_object($abo)) {
- $feedback .= 'Unable to create ArtifactBoxOptions Object';
- } elseif ($abo->isError()) {
- $feedback .= $abo->getErrorMessage();
- } else {
- $feedback .= '- Copied choice:'; $feedback .= $name;
- }
- $feedback .= '<br />';
- unset($ab);
- }
- }
- }
- }
- unset ($abo);
- unset ($athcp);
- $feedback .= '<br />';
-
- }else {
- $feedback .= 'you are required to select both one or more choices and one or more trackers';
- }
- } elseif ($update_box) {
-
- $ac = new ArtifactSelectionBox($ath,$id);
- if (!$ac || !is_object($ac)) {
- $feedback .= 'Unable to create ArtifactSelectionBox Object';
- } elseif ($ac->isError()) {
- $feedback .= $ac->getErrorMessage();
- } else {
- if (!$ac->update($name)) {
- $feedback .= $Language->getText('tracker_admin_build_boxes','error_updating').' : '.$ac->getErrorMessage();
- $ac->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin_build_boxes','box_name_updated');
- $update_box=false;
- $build_box=true;
- }
- }
-
- } elseif ($update_opt) {
-
- $ao = new ArtifactBoxOptions($ath,$id);
- if (!$ao || !is_object($ao)) {
- $feedback .= 'Unable to create ArtifactSelectionBox Object';
- } elseif ($ao->isError()) {
- $feedback .= $ao->getErrorMessage();
- } else {
- if (!$ao->update($name,$boxid,$id)) {
- $feedback .= $Language->getText('tracker_admin_build_boxes','error_updating').' : '.$ao->getErrorMessage();
- $ao->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin_build_boxes','choice_updated');
- $update_opt=false;
- $build_box=true;
- }
- }
-
-
- } elseif ($update_cat) {
-
- $ac = new ArtifactCategory($ath,$id);
- if (!$ac || !is_object($ac)) {
- $feedback .= 'Unable to create ArtifactCategory Object';
- } elseif ($ac->isError()) {
- $feedback .= $ac->getErrorMessage();
- } else {
- if (!$ac->update($name,$assign_to)) {
- $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ac->getErrorMessage();
- $ac->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','category_updated');
- $update_cat=false;
- $add_cat=true;
- }
- }
-
- } elseif ($update_group) {
-
- $ag = new ArtifactGroup($ath,$id);
- if (!$ag || !is_object($ag)) {
- $feedback .= 'Unable to create ArtifactGroup Object';
- } elseif ($ag->isError()) {
- $feedback .= $ag->getErrorMessage();
- } else {
- if (!$ag->update($name)) {
- $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ag->getErrorMessage();
- $ag->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','group_updated');
- $update_group=false;
- $add_group=true;
- }
- }
-
- } elseif ($update_type) {
-
- if (!$ath->update($name,$description,$email_all,$email_address,
- $due_period,$status_timeout,$use_resolution,$submit_instructions,$browse_instructions)) {
- $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ath->getErrorMessage();
- $ath->clearError();
- } else {
- $feedback .= $Language->getText('tracker_admin','tracker_updated');
- }
-
- } elseif ($delete) {
-
- if (!$ath->delete($sure,$really_sure)) {
- $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ath->getErrorMessage();
- unset($ath);
- $delete=0;
- $atid=0;
- } else {
- $feedback .= $Language->getText('tracker_admin','deleted');
- }
-
- }
-
+ include('updates.php');
}
//
-//
-//
// FORMS TO ADD/UPDATE DATABASE
//
-//
-//
- if ($build_box) {
-//
-// FORM TO BUILD SELECTION BOXES
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_build_boxes','title',$ath->getName())));
+ if ($add_extrafield) {
- echo "<h2>".$Language->getText('tracker_admin_build_boxes','title',$ath->getName())."</h2>";
+ include ('form-addextrafield.php');
- /*
- List of possible user built Selection Boxes for an ArtifactType
- */
- $result=$ath->getSelectionBoxes();
- echo "<p> </p>";
- $rows=db_numrows($result);
- if ($result && $rows > 0) {
- $title_arr=array();
- $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_box_title');
-
- $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_box_option_title');
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
- '<td>'.db_result($result, $i, 'id').'</td>'.
- '<td><a href="'.$PHP_SELF.'?update_box=1&id='.
- db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
- db_result($result, $i, 'selection_box_name').'</a></td>';
- /*
- List of possible options for a user built Selection Box
- */
- $optresult=$ath->getSelectionBoxOptions(db_result($result,$i,'id'));
- $optrows=db_numrows($optresult);
- if ($optresult && $optrows > 0) {
- echo '<td>';
- for ($j=0; $j <$optrows; $j++)
-
-// if (db_result($result,$i,'id') == db_result($optresult,$j,'artifact_box_id')){
- echo '<a href="'.$PHP_SELF.'?update_opt=1&id='.
- db_result($optresult, $j, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'&boxid='.
- db_result($result,$i,'id').'">'.
- db_result($optresult, $j, 'box_options_name').'</a><br \>';
-// }
-
- } else {
-echo '<td>';
-// echo '<a href="'.$PHP_SELF.'?add_opt=1&boxid='.
-// db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">';
-//echo 'add choices ';
- }
-
- echo '</td>';
- echo '<td>';
- echo '<a href="'.$PHP_SELF.'?add_opt=1&boxid='.
- db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">';
- echo ' '.$Language->getText('tracker_admin_build_boxes', 'box_add_choices').' ';
- }
- echo '</tr>';
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo "\n<h3>".$Language->getText('tracker_admin_build_boxes','no_box')."</h3>";
- }
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="build_box" value="y" />
- <strong><?php echo $Language->getText('tracker_admin_build_boxes','box_name') ?>:</strong><br />
- <input type="text" name="name" value="" size="15" maxlength="30" /><br />
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','box_warning') ?></span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo$Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
-
- $ath->footer(array());
-
} elseif ($add_opt) {
-//
-// FORM TO ADD BOX CHOICES
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_build_boxes','title')));
- echo "<h3>".$Language->getText('tracker_admin_build_boxes','opt_title',$ath->getName())."</h3>";
- /*
- * List of possible options for user
- * Selection Boxes configured by Admin
- */
-
- $result=$ath->getBoxOptions();
- echo "<p> </p>";
- $rows=db_numrows($result);
- if ($result && $rows > 0) {
-
- echo '<a href="'.$PHP_SELF.'?copy_opt=1&boxid='.
- $boxid.'&group_id='.$group_id.'&atid='. $ath->getID() .'">';
- echo $Language->getText('tracker_admin_copy','copy_choices');
- echo '</a><p>';
- $title_arr=array();
- $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_choice_id');
- $title_arr[]=$Language->getText('tracker_admin_build_boxes','tracker_box_option_title');
+ include ('form-addextrafieldoption.php');
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
- for ($i=0; $i < $rows; $i++) {
- if ($boxid == db_result($result,$i,'artifact_box_id')) {
- echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>';
- echo '<td>'.db_result($result, $i, 'id').'</td>'.
- '<td><a href="'.$PHP_SELF.'?update_opt=1&id='.
- db_result($result,$i,'id').'&boxid='.
- db_result($result, $i, 'artifact_box_id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
- db_result($result, $i, 'box_options_name').'</a></td>';
- }
- }
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo "\n<h3>".$Language->getText('tracker_admin_build_boxes','no_choice')."</h3>";
- }
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&boxid='.$boxid.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="add_opt" value="y" />
- <strong><?php echo $Language->getText('tracker_admin_build_boxes','opt_add_name') ?>:</strong><br />
- <input type="text" name="name" value="" size="15" maxlength="30" /> <br \>
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','choice_warning') ?></span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo$Language->getText('general','submit') ?>" /></p>
- </form>
- </p>
- <?php
-
- $ath->footer(array());
-
} elseif ($add_cat) {
-//
-// FORM TO ADD CATEGORIES
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_cat','title',$ath->getName())));
- echo "<h1>".$Language->getText('tracker_admin_add_cat','title',$ath->getName())."</h1>";
+ include ('form-addcategory.php');
- /*
- List of possible categories for this ArtifactType
- */
- $result=$ath->getCategories();
- echo "<p> </p>";
- $rows=db_numrows($result);
- if ($result && $rows > 0) {
- $title_arr=array();
- $title_arr[]=$Language->getText('tracker_admin','tracker_id');
- $title_arr[]=$Language->getText('tracker_admin','tracker_title');
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
- '<td>'.db_result($result, $i, 'id').'</td>'.
- '<td><a href="'.$PHP_SELF.'?update_cat=1&id='.
- db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
- db_result($result, $i, 'category_name').'</a></td></tr>';
- }
-
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo "\n<h1>".$Language->getText('tracker_admin_add_cat','no_categories')."</h1>";
- }
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="add_cat" value="y" />
- <strong><?php echo $Language->getText('tracker_admin','category_name') ?>:</strong><br />
- <input type="text" name="name" value="" size="15" maxlength="30" /><br />
- <p>
- <strong><?php echo $Language->getText('tracker_admin','auto_assign_to') ?>:</strong><br />
- <?php echo $ath->technicianBox('assign_to'); ?></p>
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin','category_add_warning') ?></span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo$Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
-
- $ath->footer(array());
-
} elseif ($copy_opt) {
-
-//
-// FORM TO COPY Choices configured by admin for extra_field BOXES
-//
- $fb= new ArtifactSelectionBox($ath,$boxid);
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_copy','choices_title',$fb->getName())));
- echo "<h3>".$Language->getText('tracker_admin_copy','choices_title',$fb->getName())."</h3>";
-
- $result=$ath->getSelectionBoxOptions($boxid);
- $cat_count=db_numrows($result);
- if ($cat_count > 10) {
- $cat_count=10;
- }
- echo '<table>';
- echo '<tr>';
- echo '<td></td><td><center><strong>';
- echo $Language->getText('tracker_admin_copy','from_box');
- echo '<br />';
- echo $fb->getName();
- echo '</center></strong></td><td></td><td><strong><center>';
-
- echo $Language->getText('tracker_admin_copy','into_box');
- echo '</center></strong></tr><tr><td><strong><center>';
- echo '</center></strong></td>';
- echo '<td valign=top>';
- ?>
-
- <form action="<?php echo $PHP_SELF .'?group_id='.$group_id.'&boxid='.$boxid.'&atid='.$ath->getID(); ?>" method="post" >
- <input type="hidden" name="copy_opt" value="copy" >
- <input type="hidden" value="$return">
- <?php
- echo html_build_multiple_select_box($result,'copyid[]',$checked_array,$size=$cat_count,$show_100=false);
- echo '</td><td><strong><center>';
- $atf = new ArtifactTypeFactory($group);
- $at_arr =& $atf->getArtifactTypes();
- if ($cat_count > 10) {
- $cat_count=10;
- }
- for ($j=0; $j < count($at_arr); $j++) {
- $athcp= new ArtifactTypeHtml($group,$at_arr[$j]->getID());
- $boxresult=$athcp->getSelectionBoxes();
- $boxct=db_numrows($boxresult);
- for ($k=0; $k < $boxct; $k++) {
- $id_arr[]=$at_arr[$j]->getID();
- $name_arr[]=$at_arr[$j]->getName();
- $field_id_arr[] = db_result($boxresult,$k,'id');
- $field_arr[] = db_result($boxresult,$k,'selection_box_name');
- }
- unset ($athcp);
-
- }
- echo '<td valign=top>';
+ include ('form-extrafieldcopy.php');
- $cat_count=count($id_arr);
- echo html_build_multiple_select_box_from_arrays($id_arr,$name_arr,$field_id_arr,$field_arr,'selectid[]',$checked_array,$size=$cat_count,$show_100=false);
- echo '</td></tr>';
- echo '<tr><td>';
- ?>
- <br />
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" />
- </td></tr></table></form>
-
- <?php
- $ath->footer(array());
-
} elseif ($add_group) {
-//
-// FORM TO ADD GROUP
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_group','title', $ath->getName()),'pagename'=>'tracker_admin_add_group','titlevals'=>array($ath->getName())));
- /*
- List of possible groups for this ArtifactType
- */
- $result=$ath->getGroups();
- echo "<p>";
- $rows=db_numrows($result);
- if ($result && $rows > 0) {
- $title_arr=array();
- $title_arr[]=$Language->getText('tracker_admin','tracker_id');
- $title_arr[]=$Language->getText('tracker_admin','tracker_title');
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
- '<td>'.db_result($result, $i, 'id').'</td>'.
- '<td><a href="'.$PHP_SELF.'?update_group=1&id='.
- db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
- db_result($result, $i, 'group_name').'</a></td></tr>';
- }
+ include ('form-addgroup.php');
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo "\n<h1>".$Language->getText('tracker_admin_add_group','no_groups_defined')."</h1>";
- }
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="add_group" value="y" />
- <strong><?php echo $Language->getText('tracker_admin','group_name')?>:</strong><br />
- <input type="text" name="name" value="" size="15" maxlength="30" /><br />
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_add_group','group_add_warning') ?></span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
-
- $ath->footer(array());
-
} elseif ($add_canned) {
-//
-// FORM TO ADD CANNED RESPONSES
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_canned','title',$ath->getName()).'Add/Change Canned Responses to: '.$ath->getName()));
- echo "<h1>".$Language->getText('tracker_admin_add_canned','title', $ath->getName())."</h1>";
+ include ('form-addcanned.php');
- /*
- List of existing canned responses
- */
- $result=$ath->getCannedResponses();
- $rows=db_numrows($result);
- echo "<p> </p>";
-
- if ($result && $rows > 0) {
- //code to show existing responses and link to update page
- echo '
- <h2>'.$Language->getText('tracker_admin_add_canned','existing_responses').':</h2>
- <p> </p>';
- $title_arr=array();
- $title_arr[]=$Language->getText('tracker_admin','tracker_id');
- $title_arr[]=$Language->getText('tracker_admin','tracker_title');
-
- echo $GLOBALS['HTML']->listTableTop ($title_arr);
-
- for ($i=0; $i < $rows; $i++) {
- echo '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'.
- '<td>'.db_result($result, $i, 'id').'</td>'.
- '<td><a href="'.$PHP_SELF.'?update_canned=1&id='.
- db_result($result, $i, 'id').'&group_id='.$group_id.'&atid='. $ath->getID() .'">'.
- db_result($result, $i, 'title').'</a></td></tr>';
- }
-
- echo $GLOBALS['HTML']->listTableBottom();
-
- } else {
- echo "\n<h1>".$Language->getText('tracker_admin_add_canned','no_responses')."</h1>";
- }
- ?>
- <p><?php echo $Language->getText('tracker_admin_add_canned','canned_response_info') ?></p>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="add_canned" value="y" />
- <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_title') ?>:</strong><br />
- <input type="text" name="title" value="" size="50" maxlength="50" />
- <p>
- <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_body') ?>:</strong><br />
- <textarea name="body" rows="30" cols="65" wrap="hard"></textarea></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
-
- $ath->footer(array());
-/*
- } elseif ($update_users) {
-
-//
-// FORM TO ADD/UPDATE USERS
-//
-
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_add_users','title', $ath->getName()),'pagename'=>'tracker_admin_update_users','titlevals'=>array($ath->getName())));
-
- $sql="SELECT * FROM artifactperm_user_vw WHERE group_artifact_id='". $ath->getID() ."'";
- $res=db_query($sql);
-
- if (!$res || db_numrows($res) < 1) {
- echo '<h2>'.$Language->getText('tracker_admin_add_users','no_developers').'</h2>';
- } else {
- ?>
- <?php echo $Language->getText('tracker_admin_add_users','developers_info') ?>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_users" value="y" />
- <?php
-
- $arr=array();
- $arr[]=$Language->getText('tracker_admin_add_users','delete');
- $arr[]=$Language->getText('tracker_admin_add_users','user_name');
- $arr[]=$Language->getText('tracker_admin_add_users','category_permission');
-
- echo $GLOBALS['HTML']->listTableTop($arr);
-
- $i=0;
- //
- // PHP4 allows multi-dimensional arrays to be passed in from form elements
- //
- while ($row_dev = db_fetch_array($res)) {
- print '
- <input type="hidden" name="updateids['.$i.'][0]" value="'.$row_dev['user_id'].'" />
- <tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
- <td><input type="checkbox" name="deleteids[]" value="'.$row_dev['user_id'].'" /> '.$Language->getText('tracker_admin_add_users','delete').'</td>
-
- <td>'.$row_dev['realname'].' ( '. $row_dev['user_name'] .' )</td>
-
- <td><span style="font-size:smaller"><select name="updateids['.$i.'][1]">
- <option value="0"'.(($row_dev['perm_level']==0)?" selected=\"selected\"":"").'>-</option>
- <option value="1"'.(($row_dev['perm_level']==1)?" selected=\"selected\"":"").'>'.$Language->getText('tracker_admin_add_users','technician').'</option>
- <option value="2"'.(($row_dev['perm_level']==2)?" selected=\"selected\"":"").'>'.$Language->getText('tracker_admin_add_users','tech_admin').'</option>
- <option value="3"'.(($row_dev['perm_level']==3)?" selected=\"selected\"":"").'>'.$Language->getText('tracker_admin_add_users','admin_only').'</option>
- </select></span></td>
-
- </tr>';
- $i++;
- }
- echo '<tr><td colspan="3" align="center"><input type="submit" name="post_changes" value="'.$Language->getText('tracker_admin_add_users','update_permissions').'" />
- </form></td></tr>';
-
- echo $GLOBALS['HTML']->listTableBottom();
-
- }
- ?>
- <p> </p>
- <?php echo $Language->getText('tracker_admin_add_users','add_user_info') ?>
- <div align="center">
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="add_users" value="y" />
- <?php
- $sql="SELECT u.user_id, u.realname
- FROM users u,user_group ug
- WHERE u.user_id=ug.user_id
- AND ug.group_id='$group_id'
- AND NOT EXISTS (SELECT user_id FROM artifact_perm ap
- WHERE ap.group_artifact_id='$atid'
- AND ap.user_id=u.user_id);";
-
- $res=db_query($sql);
- echo db_error();
- echo html_build_multiple_select_box ($res,'addids[]',array(),8,false);
- echo '<p>
- <input type="submit" name="post_changes" value="'.$Language->getText('tracker_admin_add_users','add_users').'" /> <input type="checkbox" name="add_all" /> '.$Language->getText('tracker_admin_add_users','add_all_users').'</p>
- </form>
- </div>';
-
- $ath->footer(array());
-*/
} elseif ($update_canned) {
-//
-// FORM TO UPDATE CANNED MESSAGES
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_update_canned','title', $ath->getName())));
- echo "<h1>".$Language->getText('tracker_admin_update_canned','title', $ath->getName())."</h1>";
+ include ('form-updatecanned.php');
- $acr = new ArtifactCanned($ath,$id);
- if (!$acr || !is_object($acr)) {
- $feedback .= 'Unable to create ArtifactCanned Object';
- } elseif ($acr->isError()) {
- $feedback .= $acr->getErrorMessage();
- } else {
- ?>
- <p><?php echo $Language->getText('tracker_admin_add_canned','canned_response_info') ?></p>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_canned" value="y" />
- <input type="hidden" name="id" value="<?php echo $acr->getID(); ?>" />
- <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_title') ?>:</strong><br />
- <input type="text" name="title" value="<?php echo $acr->getTitle(); ?>" size="50" maxlength="50" />
- <p>
- <strong><?php echo $Language->getText('tracker_admin_add_canned','canned_response_body') ?>:</strong><br />
- <textarea name="body" rows="30" cols="65" wrap="hard"><?php echo $acr->getBody(); ?></textarea></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
- }
- $ath->footer(array());
-
} elseif ($update_box) {
-//
-// FORM TO UPDATE POP-UP BOXES
-//
- /*
- Allow modification of a artifact Selection Box
- */
- $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_build_boxes','box_update_title',$ath->getName())));
+ include ('form-updateextrafield.php');
- echo '
- <h2>'.$Language->getText('tracker_admin_build_boxes','box_update_title',$ath->getName()).'</h2>';
-
- $ac = new ArtifactSelectionBox($ath,$id);
- if (!$ac || !is_object($ac)) {
- $feedback .= 'Unable to create ArtifactSelectionBox Object';
- } elseif ($ac->isError()) {
- $feedback .= $ac->getErrorMessage();
- } else {
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&id='.$id.'&boxid='.$box.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_box" value="y" />
- <input type="hidden" name="id" value="<?php echo $ac->getID(); ?>" />
- <p>
- <strong><?php echo $Language->getText('tracker_admin_build_boxes','box_name') ?>:</strong><br />
- <input type="text" name="name" value="<?php echo $ac->getName(); ?>" /></p>
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','box_change_warning') ?>
- </span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
- }
-
- $ath->footer(array());
-
} elseif ($update_opt) {
-//
-// FORM TO UPDATE POP-UP CHOICES FOR A BOX
-//
- /*
- Allow modification of a Choice for a Pop-up Box
- */
- $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_build_boxes','opt_update_title',$ath->getName())));
- echo '
- <h2>'.$Language->getText('tracker_admin_build_boxes','opt_update_title',$ath->getName()).'</h2>';
+ include ('form-updateextrafieldelement.php');
- $ao = new ArtifactBoxOptions($ath,$id);
- if (!$ao || !is_object($ao)) {
- $feedback .= 'Unable to create ArtifactSelectionBox Object';
- } elseif ($ao->isError()) {
- $feedback .= $ao->getErrorMessage();
- } else {
-
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_opt" value="y" />
- <input type="hidden" name="id" value="<?php echo $ao->getID(); ?>" />
-
- <p>
- <strong><?php echo $Language->getText('tracker_admin_build_boxes','opt_name') ?>:</strong><br />
- <input type="text" name="name" value="<?php echo $ao->getName(); ?>" /></p>
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_build_boxes','box_change_warning') ?>
- </span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
- }
-
- $ath->footer(array());
-
} elseif ($update_cat) {
-//
-// FORM TO UPDATE CATEGORIES
-//
- /*
- Allow modification of a artifact category
- */
- $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_update_cat','title',$ath->getName())));
- echo '
- <h1>'.$Language->getText('tracker_admin_update_cat','title',$ath->getName()).'</h1>';
+ include ('form-updatecategory.php');
- $ac = new ArtifactCategory($ath,$id);
- if (!$ac || !is_object($ac)) {
- $feedback .= 'Unable to create ArtifactCategory Object';
- } elseif ($ac->isError()) {
- $feedback .= $ac->getErrorMessage();
- } else {
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_cat" value="y" />
- <input type="hidden" name="id" value="<?php echo $ac->getID(); ?>" />
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_cat','category_name') ?>:</strong><br />
- <input type="text" name="name" value="<?php echo $ac->getName(); ?>" /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_cat','auto_assign_to') ?>:</strong><br />
- <?php echo $ath->technicianBox('assign_to',$ac->getAssignee()); ?></p>
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_update_cat','category_change_warning') ?>
- </span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
- }
-
- $ath->footer(array());
-
} elseif ($update_group) {
-//
-// FORM TO UPDATE GROUPS
-//
- /*
- Allow modification of a artifact group
- */
- $ath->adminHeader(array('title'=>$Language->getText('tracker_admin_update_group','title',$ath->getName()),'pagename'=>'tracker_admin_update_group','titlevals'=>array($ath->getName())));
- $ag = new ArtifactGroup($ath,$id);
- if (!$ag || !is_object($ag)) {
- $feedback .= 'Unable to create ArtifactGroup Object';
- } elseif ($ag->isError()) {
- $feedback .= $ag->getErrorMessage();
- } else {
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_group" value="y" />
- <input type="hidden" name="id" value="<?php echo $ag->getID(); ?>" />
- <p>
- <strong><?php echo $Language->getText('tracker_admin','group_name') ?>:</strong><br />
- <input type="text" name="name" value="<?php echo $ag->getName(); ?>" /></p>
- <p>
- <strong><span style="color:red"><?php echo $Language->getText('tracker_admin_update_group','warning') ?></span></strong></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
- }
+ include ('form-updategroup.php');
- $ath->footer(array());
-
} elseif ($delete) {
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin','delete', $ath->getName())));
+ include ('form-deletetracker.php');
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="delete" value="y" /><br />
- <?php echo $Language->getText('tracker_admin','delete_warning'); ?>
- <p>
- <input type="checkbox" name="sure" value="1"><?php echo $Language->getText('tracker_admin','sure') ?><br />
- <input type="checkbox" name="really_sure" value="1"><?php echo $Language->getText('tracker_admin','really_sure') ?><br />
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('tracker_admin','delete') ?>" /></p>
- </form></p>
- <?php
-
- $ath->footer(array());
-
} elseif ($update_type) {
-//
-// FORM TO UPDATE ARTIFACT TYPES
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin_update_type','title', $ath->getName()),'pagename'=>'tracker_admin_update_type','titlevals'=>array($ath->getName())));
- ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
- <input type="hidden" name="update_type" value="y" />
- <p>
- <?php echo $Language->getText('tracker_admin_update_type','name') ?><br />
- <?php if ($ath->getDataType()) {
- echo $ath->getName();
- } else {
- ?>
- <input type="text" name="name" value="<?php echo $ath->getName(); ?>" /></p>
- <?php
- }
- ?>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','description') ?>:</strong><br />
- <?php if ($ath->getDataType()) {
- echo $ath->getDescription();
- } else {
- ?>
- <input type="text" name="description" value="<?php echo $ath->getDescription(); ?>" size="50" /></p>
- <?php
- }
- ?>
- <p>
-<!-- <input type="checkbox" name="is_public" value="1" <?php echo (($ath->isPublic())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','publicy_available') ?></strong><br />
- <input type="checkbox" name="allow_anon" value="1" <?php echo (($ath->allowsAnon())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','allow_anonymous') ?></strong><br />
---> <input type="checkbox" name="use_resolution" value="1" <?php echo (($ath->useResolution())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','display_resolution') ?></strong></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','send_submissions') ?>:</strong><br />
- <input type="text" name="email_address" value="<?php echo $ath->getEmailAddress(); ?>" /></p>
- <p>
- <input type="checkbox" name="email_all" value="1" <?php echo (($ath->emailAll())?'checked="checked"':''); ?> /> <strong><?php echo $Language->getText('tracker_admin_update_type','email_all_changes') ?></strong><br /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','days_overdue') ?>:</strong><br />
- <input type="text" name="due_period" value="<?php echo ($ath->getDuePeriod() / 86400); ?>" /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','pending_timeout') ?>:</strong><br />
- <input type="text" name="status_timeout" value="<?php echo($ath->getStatusTimeout() / 86400); ?>" /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','submit_item_form_text') ?>:</strong><br />
- <textarea name="submit_instructions" rows="10" cols="55" wrap="hard"><?php echo $ath->getSubmitInstructions(); ?></textarea></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','browse_item_form_text') ?>:</strong><br />
- <textarea name="browse_instructions" rows="10" cols="55" wrap="hard"><?php echo $ath->getBrowseInstructions(); ?></textarea></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
+ include ('form-updatetracker.php');
- $ath->footer(array());
-
} else {
-//
-// SHOW LINKS TO FUNCTIONS
-//
- $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin','title').': '.$ath->getName(),'pagename'=>'tracker_admin','titlevals'=>array($ath->getName())));
-//
-// Reference to build a selection box for a tracker like bugs, etc
-//
- echo '<p>
- <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&build_box=1"><strong>'.$Language->getText('tracker_admin','build_selection_box').'</strong></a><br />
- '.$Language->getText('tracker_admin','build_selection_box_info').'</p>';
- echo '<p>
- <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_cat=1"><strong>'.$Language->getText('tracker_admin','add_categories').'</strong></a><br />
- '.$Language->getText('tracker_admin','add_categories_info').'</p>';
- echo '<p>
- <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_group=1"><strong>'.$Language->getText('tracker_admin','add_groups').'</strong></a><br />
- '.$Language->getText('tracker_admin','add_group_infos').'</p>';
- echo '<p>
- <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_canned=1"><strong>'.$Language->getText('tracker_admin','add_canned_responses').'</strong></a><br />
- '.$Language->getText('tracker_admin','add_canned_responses_info').'</p>';
- echo '<p>
- <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&delete=1"><strong>'.$Language->getText('tracker_admin','delete').'</strong></a><br />
- '.$Language->getText('tracker_admin','permanently_delete_info').'</p>';
- echo '<p>
- <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&update_type=1"><strong>'.$Language->getText('tracker_admin','update_preferences').'</strong></a><br />
- '.$Language->getText('tracker_admin','update_preferences_info').'.</p>';
+ include ('tracker.php');
- $ath->footer(array());
}
} elseif ($group_id) {
- //
- // get the Group object
- //
- $group =& group_get_object($group_id);
- if (!$group || !is_object($group) || $group->isError()) {
- exit_no_group();
- }
+ include ('ind.php');
- $perm =& $group->getPermission( session_get_user() );
-
- if ($post_changes) {
-
- if (!$perm || !is_object($perm) || !$perm->isArtifactAdmin()) {
- exit_permission_denied();
- }
-
- if ($add_at) {
- $res=new ArtifactTypeHtml($group);
- if (!$res->create($name,$description,$is_public,$allow_anon,$email_all,$email_address,
- $due_period,$use_resolution,$submit_instructions,$browse_instructions)) {
- $feedback .= $res->getErrorMessage();
- } else {
- header ("Location: /tracker/admin/?group_id=$group_id&atid=".$res->getID()."&update_users=1");
- }
-
- }
- }
-
-
- //
- // Display existing artifact types
- //
- $atf = new ArtifactTypeFactory($group);
- if (!$group || !is_object($group) || $group->isError()) {
- exit_error('Error','Could Not Get ArtifactTypeFactory');
- }
-
- $at_arr =& $atf->getArtifactTypes();
-
- //required params for site_project_header();
- $params['group']=$group_id;
- $params['toptab']='tracker';
- $params['pagename']='tracker_admin_choose';
- $params['title'] = $page_title;
- $params['sectionvals']=array(group_getname($group_id));
-
- echo site_project_header($params);
- echo $HTML->subMenu(
- array(
- $Language->getText('group','short_tracker'),
- $Language->getText('tracker','reporting'),
- $Language->getText('tracker','admin')
- ),
- array(
- '/tracker/?group_id='.$group_id,
- '/tracker/reporting/?group_id='.$group_id,
- '/tracker/admin/?group_id='.$group_id
- )
- );
-
- if (!$at_arr || count($at_arr) < 1) {
- echo "<h1>".$Language->getText('tracker_admin','no_trackers_found')."</h1>";
- echo "<p> </p>";
- } else {
-
- echo '
- <p>'.$Language->getText('tracker_admin','choose_datatype').'.</p>';
-
- /*
- Put the result set (list of forums for this group) into a column with folders
- */
- $tablearr=array($Language->getText('group','short_tracker'),$Language->getText('tracker_admin_update_type','description'));
- echo $HTML->listTableTop($tablearr);
-
- for ($j = 0; $j < count($at_arr); $j++) {
- echo '
- <tr '. $HTML->boxGetAltRowStyle($j) . '>
- <td><a href="/tracker/admin/?atid='. $at_arr[$j]->getID() . '&group_id='.$group_id.'">' .
- html_image("ic/tracker20w.png","20","20",array("border"=>"0")) . ' '.
- $at_arr[$j]->getName() .'</a>
- </td>
- <td>'.$at_arr[$j]->getDescription() .'
- </td>
- </tr>';
- }
- echo $HTML->listTableBottom();
- }
-
- //
- // Set up blank ArtifactType
- //
-
- if (!$perm || !is_object($perm) || !$perm->isArtifactAdmin()) {
- //show nothing
- } else {
-
- ?><?php echo $Language->getText('tracker_admin','intro') ?>
- <p>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id; ?>" method="post">
- <input type="hidden" name="add_at" value="y" />
- <p>
- <?php echo $Language->getText('tracker_admin_update_type','name') ?><br />
- <input type="text" name="name" value=""></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','description') ?>:</strong><br />
- <input type="text" name="description" value="" size="50" /></p>
- <p>
- <input type="checkbox" name="is_public" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','publicy_available') ?></strong><br />
- <input type="checkbox" name="allow_anon" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','allow_anonymous') ?></strong><br />
- <input type="checkbox" name="use_resolution" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','display_resolution') ?></strong></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','send_submissions') ?>:</strong><br />
- <input type="text" name="email_address" value="" /></p>
- <p>
- <input type="checkbox" name="email_all" value="1" /> <strong><?php echo $Language->getText('tracker_admin_update_type','email_all_changes') ?></strong><br /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','days_overdue') ?>:</strong><br />
- <input type="text" name="due_period" value="30" /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','pending_timeout') ?>:</strong><br />
- <input type="text" name="status_timeout" value="14" /></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','submit_item_form_text') ?>:</strong><br />
- <textarea name="submit_instructions" rows="10" cols="55" wrap="hard"></textarea></p>
- <p>
- <strong><?php echo $Language->getText('tracker_admin_update_type','browse_item_form_text') ?>:</strong><br />
- <textarea name="browse_instructions" rows="10" cols="55" wrap="hard"></textarea></p>
- <p>
- <input type="submit" name="post_changes" value="<?php echo $Language->getText('general','submit') ?>" /></p>
- </form></p>
- <?php
- }
-
- echo site_project_footer(array());
-
} else {
//browse for group first message
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/tracker.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/tracker.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/tracker.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,31 @@
+<?php
+//
+// SHOW LINKS TO FUNCTIONS
+//
+
+ $ath->adminHeader(array ('title'=>$Language->getText('tracker_admin','title').': '.$ath->getName(),'pagename'=>'tracker_admin','titlevals'=>array($ath->getName())));
+//
+// Reference to build a selection box for a tracker like bugs, etc
+//
+ echo '<p>
+ <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_extrafield=1"><strong>'.$Language->getText('tracker_admin','build_selection_box').'</strong></a><br />
+ '.$Language->getText('tracker_admin','build_selection_box_info').'</p>';
+ echo '<p>
+ <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_cat=1"><strong>'.$Language->getText('tracker_admin','add_categories').'</strong></a><br />
+ '.$Language->getText('tracker_admin','add_categories_info').'</p>';
+ echo '<p>
+ <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_group=1"><strong>'.$Language->getText('tracker_admin','add_groups').'</strong></a><br />
+ '.$Language->getText('tracker_admin','add_group_infos').'</p>';
+ echo '<p>
+ <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&add_canned=1"><strong>'.$Language->getText('tracker_admin','add_canned_responses').'</strong></a><br />
+ '.$Language->getText('tracker_admin','add_canned_responses_info').'</p>';
+ echo '<p>
+ <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&delete=1"><strong>'.$Language->getText('tracker_admin','delete').'</strong></a><br />
+ '.$Language->getText('tracker_admin','permanently_delete_info').'</p>';
+ echo '<p>
+ <a href="'.$PHP_SELF.'?group_id='.$group_id.'&atid='.$ath->getID().'&update_type=1"><strong>'.$Language->getText('tracker_admin','update_preferences').'</strong></a><br />
+ '.$Language->getText('tracker_admin','update_preferences_info').'.</p>';
+
+ $ath->footer(array());
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/updates.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/updates.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/admin/updates.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -0,0 +1,308 @@
+<?php
+ //
+ // Create an extra field
+ //
+ if ($add_extrafield) {
+
+ $ab = new ArtifactExtraField($ath);
+
+ if (!$ab || !is_object($ab)) {
+ $feedback .= 'Unable to create ArtifactExtraField Object';
+// } elseif ($ab->isError())
+// $feedback .= $ab->getErrorMessage();
+ } else {
+ if (!$ab->create($name)) {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','error_inserting_box').': '.$ab->getErrorMessage();
+ $ab->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','box_name_inserted');
+ }
+ }
+
+ //
+ // Add an option to a box
+ //
+ } elseif ($add_opt) {
+ $ao = new ArtifactExtraFieldElement($ath);
+ if (!$ao || !is_object($ao)) {
+ $feedback .= 'Unable to create ArtifactExtraFieldElement Object';
+// } elseif ($ao->isError())
+// $feedback .= $ao->getErrorMessage();
+ } else {
+ if (!$ao->create($name,$boxid)) {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','error_inserting_choice').': '.$ao->getErrorMessage();
+ $ao->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','choice_inserted');
+ }
+ // $add_opt= false;
+ // $build_box= true;
+
+ }
+
+ //
+ // Add a category
+ //
+ } elseif ($add_cat) {
+
+ $ac = new ArtifactCategory($ath);
+ if (!$ac || !is_object($ac)) {
+ $feedback .= 'Unable to create ArtifactCategory Object';
+// } elseif ($ac->isError()) {
+// $feedback .= $ac->getErrorMessage();
+ } else {
+ if (!$ac->create($name,$assign_to)) {
+ $feedback .= $Language->getText('tracker_admin','error_inserting').': '.$ac->getErrorMessage();
+ $ac->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','category_inserted');
+ }
+ }
+
+ //
+ // Add a group
+ //
+ } elseif ($add_group) {
+
+ $ag = new ArtifactGroup($ath);
+ if (!$ag || !is_object($ag)) {
+ $feedback .= 'Unable to create ArtifactGroup Object';
+// } elseif ($ag->isError()) {
+// $feedback .= $ag->getErrorMessage();
+ } else {
+ if (!$ag->create($name)) {
+ $feedback .= $Language->getText('tracker_admin','error_inserting').' : '.$ag->getErrorMessage();
+ $ag->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','group_inserted');
+ }
+ }
+
+ //
+ // Add a canned response
+ //
+ } elseif ($add_canned) {
+
+ $acr = new ArtifactCanned($ath);
+ if (!$acr || !is_object($acr)) {
+ $feedback .= 'Unable to create ArtifactCanned Object';
+// } elseif ($acr->isError()) {
+// $feedback .= $acr->getErrorMessage();
+ } else {
+ if (!$acr->create($title,$body)) {
+ $feedback .= $Language->getText('tracker_admin','error_inserting').' : '.$acr->getErrorMessage();
+ $acr->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','canned_response_inserted');
+ }
+ }
+
+ //
+ // Update a canned response
+ //
+ } elseif ($update_canned) {
+
+ $acr = new ArtifactCanned($ath,$id);
+ if (!$acr || !is_object($acr)) {
+ $feedback .= 'Unable to create ArtifactCanned Object';
+ } elseif ($acr->isError()) {
+ $feedback .= $acr->getErrorMessage();
+ } else {
+ if (!$acr->update($title,$body)) {
+ $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$acr->getErrorMessage();
+ $acr->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','canned_response_updated');
+ $update_canned=false;
+ $add_canned=true;
+ }
+ }
+
+ //
+ // Copy Categories
+ //
+ } elseif ($copy_opt) {
+ $copy_rows=count($copyid);
+ $tracker_rows=count($selectid);
+ if ($tracker_rows > 0 && $copy_rows > 0) {
+ for ($i=0; $i < $tracker_rows; $i++) {
+ //
+ // create an object for each selected type
+ //
+ $result = db_query("SELECT * FROM artifact_extra_field_list
+ WHERE extra_field_id='$selectid[$i]'");
+ $typeid = db_result($result,0,'group_artifact_id');
+ $athcp = new ArtifactTypeHtml($group,$typeid);
+ if (!$athcp || !is_object($athcp)) {
+ exit_error('Error','ArtifactType could not be created');
+ }
+ if ($athcp->isError()) {
+ exit_error($Language->getText('general','error'),$athcp->getErrorMessage());
+ }
+ //
+ // Copy choices into a field (box) for each tracker selected
+ //
+ $feedback .= 'From Tracker: ';
+ $feedback .= $athcp->getName();
+ $feedback .= ' into Tracker: ';
+ $feedback .= $athcp->getName();
+ $aef =new ArtifactExtraField($athcp,$selectid[$i]);
+ $feedback .= ', Box: ';
+ $feedback .= $aef->getName();
+ $feedback .= '<br />';
+
+ $aefe = new ArtifactExtraFieldElement($athcp);
+ if (!$aefe || !is_object($aefe)) {
+ $feedback .= 'Unable to create ArtifactExtraFieldElement Object';
+ } elseif ($aefe->isError()) {
+ $feedback .= $aefe->getErrorMessage();
+ } else {
+ for ($k=0; $k < $copy_rows; $k++) {
+ $name=$ath->getElementName($copyid[$k]);
+ if (!$aefe->create($name,$selectid[$i])) {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','error_inserting_choice').': '.$aefe->getErrorMessage();
+ $aefe->clearError();
+ } else {
+/*
+//WTF IS THIS?
+ unset ($abo);
+ $abo = new ArtifactExtraFieldElement($athcp);
+ if (!$abo || !is_object($abo)) {
+ $feedback .= 'Unable to create ArtifactExtraFieldElement Object';
+ } elseif ($abo->isError()) {
+ $feedback .= $abo->getErrorMessage();
+ } else {
+*/
+ $feedback .= '- Copied choice:';
+ $feedback .= $name;
+/*
+ }
+ $feedback .= '<br />';
+ unset($ab);
+*/
+ }
+ }
+ }
+ }
+// unset ($abo);
+// unset ($athcp);
+ $feedback .= '<br />';
+
+ } else {
+ $feedback .= 'you are required to select both one or more choices and one or more trackers';
+ }
+
+ //
+ // Update an extra field
+ //
+ } elseif ($update_box) {
+
+ $ac = new ArtifactExtraField($ath,$id);
+ if (!$ac || !is_object($ac)) {
+ $feedback .= 'Unable to create ArtifactExtraField Object';
+ } elseif ($ac->isError()) {
+ $feedback .= $ac->getErrorMessage();
+ } else {
+ if (!$ac->update($name)) {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','error_updating').' : '.$ac->getErrorMessage();
+ $ac->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','box_name_updated');
+ $update_box=false;
+ $add_extrafield=true;
+ }
+ }
+
+ //
+ // Update an option
+ //
+ } elseif ($update_opt) {
+
+ $ao = new ArtifactExtraFieldElement($ath,$id);
+ if (!$ao || !is_object($ao)) {
+ $feedback .= 'Unable to create ArtifactExtraFieldElement Object';
+ } elseif ($ao->isError()) {
+ $feedback .= $ao->getErrorMessage();
+ } else {
+ if (!$ao->update($name,$boxid,$id)) {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','error_updating').' : '.$ao->getErrorMessage();
+ $ao->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin_build_boxes','choice_updated');
+ $update_opt=false;
+ $add_extrafield=true;
+ }
+ }
+
+ //
+ // Update ArtifactCategory
+ //
+ } elseif ($update_cat) {
+
+ $ac = new ArtifactCategory($ath,$id);
+ if (!$ac || !is_object($ac)) {
+ $feedback .= 'Unable to create ArtifactCategory Object';
+ } elseif ($ac->isError()) {
+ $feedback .= $ac->getErrorMessage();
+ } else {
+ if (!$ac->update($name,$assign_to)) {
+ $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ac->getErrorMessage();
+ $ac->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','category_updated');
+ $update_cat=false;
+ $add_cat=true;
+ }
+ }
+
+ //
+ // Update an artifact group select box
+ //
+ } elseif ($update_group) {
+
+ $ag = new ArtifactGroup($ath,$id);
+ if (!$ag || !is_object($ag)) {
+ $feedback .= 'Unable to create ArtifactGroup Object';
+ } elseif ($ag->isError()) {
+ $feedback .= $ag->getErrorMessage();
+ } else {
+ if (!$ag->update($name)) {
+ $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ag->getErrorMessage();
+ $ag->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','group_updated');
+ $update_group=false;
+ $add_group=true;
+ }
+ }
+
+ //
+ // Update a tracker
+ //
+ } elseif ($update_type) {
+
+ if (!$ath->update($name,$description,$email_all,$email_address,
+ $due_period,$status_timeout,$use_resolution,$submit_instructions,$browse_instructions)) {
+ $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ath->getErrorMessage();
+ $ath->clearError();
+ } else {
+ $feedback .= $Language->getText('tracker_admin','tracker_updated');
+ }
+
+ //
+ // Delete a tracker
+ //
+ } elseif ($delete) {
+
+ if (!$ath->delete($sure,$really_sure)) {
+ $feedback .= $Language->getText('tracker_admin','error_updating').' : '.$ath->getErrorMessage();
+ unset($ath);
+ $delete=0;
+ $atid=0;
+ } else {
+ $feedback .= $Language->getText('tracker_admin','deleted');
+ }
+
+ }
+
+?>
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/browse.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/browse.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/browse.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -139,8 +139,9 @@
/**
*
* Build pop-up boxes for BROWSE boxes and choices configured by ADMIN
+BEING REBUILT BY AARON FARR
*
- */
+ * /
echo '<tr>';
$result=$ath->getSelectionBoxes();
$rows=db_numrows($result);
@@ -149,7 +150,7 @@
echo '<tr>';
for ($i=0; $i < $rows; $i++) {
$newrow=is_integer(($i+1)/5);
- echo '<td><span style="font-size:smaller">'.db_result($result,$i,'selection_box_name').'</span></br \>';
+ echo '<td><span style="font-size:smaller">'.db_result($result,$i,'field_name').'</span></br \>';
$choice=$extra_fields_choice[$i];
echo $ath->selectionBox(db_result($result,$i,'id'),$choice,$Language->getText('tracker_admin_build_boxes','status_any'));
@@ -160,6 +161,7 @@
}
}
echo '</tr>';
+*/
echo '<tr>
<td align="right"><span style="font-size:smaller">'.$Language->getText('tracker_browse','sort_by').': <a href="javascript:help_window(\'/help/tracker.php?helpname=sort_by\')"><strong>(?)</strong></a></span></td>'.
'<td><span style="font-size:smaller">'.
@@ -176,7 +178,9 @@
if ($art_arr && count($art_arr) > 0) {
- if ($set=='custom') {
+ /*if ($set=='custom') {
+//BEING REDONE BY AARON FARR
+
//
// validate that any admin configured extra fields meet its selection criteria
@@ -221,7 +225,8 @@
$art_arr=array_values($art_arr);
}
}
- }
+ }*/
+
if ($set=='custom') {
$set .= '&_assigned_to='.$_assigned_to.'&_status='.$_status.'&_category='.$_category.'&_group='.$_group.'&_sort_col='.$_sort_col.'&_sort_ord='.$_sort_ord;
}
@@ -339,7 +344,7 @@
</tr>';
- //
+/* //
// build input pop-up boxes for boxes and choices configured by ADMIN
//
$result=$ath->getSelectionBoxes();
@@ -349,7 +354,7 @@
echo '<tr>';
for ($i=0; $i < $rows; $i++) {
$newrow= is_integer($i/2);
- echo '<td><strong>'.db_result($result,$i,'selection_box_name').'</strong><br \>';
+ echo '<td><strong>'.db_result($result,$i,'field_name').'</strong><br \>';
echo $ath->selectionBox(db_result($result,$i,'id'),'xzxz',$Language->getText('tracker_browse','no_change'));
if (!$newrow) {
@@ -357,6 +362,7 @@
}
}
}
+*/
echo '<tr>
<td><strong>'.$Language->getText('tracker','priority').': <a href="javascript:help_window(\'/help/tracker.php?helpname=priority\')"><strong>(?)</strong></a>
</strong><br />';
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/detail.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/detail.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/detail.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -65,34 +65,10 @@
<td><strong><?php echo $Language->getText('tracker','status') ?>:</strong><br /><?php echo $ah->getStatusName(); ?></td>
</tr>
- <?php
-//
-// build input pop-up boxes for boxes and choices configured by ADMIN
-//
- $result=$ath->getSelectionBoxes();
- $resultc=$ath->getArtifactChoices($ah->getID());
- echo "<p> </p>";
- $rows=db_numrows($result);
- $origrows=db_numrows($resultc);
- if ($result &&$rows > 0) {
- echo '<tr>';
- for ($i=0; $i < $rows; $i++) {
- $newrow= is_integer($i/2);
-
- echo '<td><strong>'.db_result($result,$i,'selection_box_name').'</strong><br \>';
- $resulto=$ath->getBoxOptionsName(db_result($resultc,$i,'choice_id'));
-
- if (($i < $origrows) && (db_result($resultc,$i,'choice_id') !== '100')) {
- echo db_result($resulto,'0','box_options_name');
- }else{
- echo 'None';
- }
- if (!$newrow) {
- echo '</tr><tr>';
- }
- }
- }
- ?>
+ <?php
+ $ath->renderExtraFields($ah->getExtraFieldData(),true);
+ ?>
+
<tr><td colspan="2"><strong><?php echo $Language->getText('tracker','summary') ?>:</strong><br /><?php echo $ah->getSummary(); ?></td></tr>
<form action="<?php echo $PHP_SELF; ?>?group_id=<?php echo $group_id; ?>&atid=<?php echo $ath->getID(); ?>" METHOD="POST">
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/include/ArtifactTypeHtml.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/include/ArtifactTypeHtml.class 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/include/ArtifactTypeHtml.class 2011-02-24 16:36:28 UTC (rev 10039)
@@ -13,6 +13,8 @@
require_once('common/tracker/ArtifactType.class');
+require_once('common/tracker/ArtifactExtraField.class');
+require_once('common/tracker/ArtifactExtraFieldElement.class');
class ArtifactTypeHtml extends ArtifactType {
@@ -43,24 +45,19 @@
$labels = array();
$links = array();
- $labels[] = $Language->getText('group','short_tracker');
- $links[] = '/tracker/?group_id='.$group_id;
-
+ $labels[] = $this->getName().': '.$Language->getText('tracker_artifacttype','browse');
+ $links[] = '/tracker/?func=browse&group_id='.$group_id.'&atid='. $this->getID();
$labels[] = $Language->getText('tracker_artifacttype','submit_new');
$links[] = '/tracker/?func=add&group_id='.$group_id.'&atid='. $this->getID();
- $labels[] = $Language->getText('tracker_artifacttype','browse');
- $links[] = '/tracker/?func=browse&group_id='.$group_id.'&atid='. $this->getID();
if (session_loggedin()) {
$labels[] = $Language->getText('tracker_artifacttype','reporting');
$links[] = '/tracker/reporting/?group_id='.$group_id.'&atid='. $this->getID();
}
$labels[] = $Language->getText('tracker_artifacttype','admin');
- $links[] = '/tracker/admin/?group_id='.$group_id;
+ $links[] = '/tracker/admin/?group_id='.$group_id.'&atid='.$this->getID();
echo $HTML->subMenu($labels,$links);
-
- echo '<h3>'.$Language->getText('tracker', 'pagetitle').': <a href="/tracker/?group_id='.$group_id.'&atid='.$this->getID().'">'.$this->getName().'</a></h3><p>';
}
function footer($params) {
@@ -70,47 +67,74 @@
function adminHeader($params) {
global $Language;
echo $this->header($params);
- $group_id= $this->Group->getID();
- echo '<strong>'.$Language->getText('tracker_artifacttype','admin_functions').': <a href="/tracker/admin/?group_id='.$group_id.'">'.$Language->getText('tracker_artifacttype','add_artifact_types').'</a>';
- echo ' | <a href="/tracker/admin/?group_id='.$group_id.'&atid='. $this->getID() .'">'.$Language->getText('tracker_artifacttype','edit_options').': '. $this->getName() .'</a></strong>';
+// $group_id= $this->Group->getID();
+// echo '<strong>'.$Language->getText('tracker_artifacttype','admin_functions').': <a href="/tracker/admin/?group_id='.$group_id.'">'.$Language->getText('tracker_artifacttype','add_artifact_types').'</a>';
+// echo ' | <a href="/tracker/admin/?group_id='.$group_id.'&atid='. $this->getID() .'">'.$Language->getText('tracker_artifacttype','edit_options').': '. $this->getName() .'</a></strong>';
}
- /**
- * buildPopUpBoxes - presents the pop-up boxes and choices
- * configured by the admin
- */
- function buildPopUpBoxes () {
- global $Language, $group_id;
- $result=$this->getSelectionBoxes();
- echo "<p> </p>";
- $rows=db_numrows($result);
- if ($result &&$rows > 0) {
- echo '<tr>';
- for ($i=0; $i < $rows; $i++) {
- $newrow= is_integer($i/2);
- echo '<td><strong>'.db_result($result,$i,'selection_box_name').'</strong><br \>';
- echo $this->selectionBox(db_result($result,$i,'id'));
- echo ' <a href="/tracker/admin/?group_id='.$group_id.'&atid='. $this->getID() . '&build_box=1">('.$Language->getText('tracker','admin').')</a>';
- if (!$newrow) {
- echo '</tr><tr>';
- }
+
+ function renderExtraFields($selected=array(),$show_100=false,$text_100='none') {
+ $efarr =& $this->getExtraFields();
+ $count=count($efarr);
+ //each two columns, we'll reset this and start a new row
+
+//TODO - add code for "display only" such as mod-limited and detail.php pages
+
+ $col_count=0;
+ for ($i=0; $i<$count; $i++) {
+ if ($efarr[$i]['field_type'] == ARTIFACT_EXTRAFIELDTYPE_SELECT) {
+
+ echo '
+ <td width="50%"><strong>'.$efarr[$i]['field_name'].'</strong><br />'.
+ $this->renderSelect($efarr[$i]['extra_field_id'],$selected[$efarr[$i]['extra_field_id']],$show_100,$text_100).'</td>';
+
+
+ } elseif ($efarr[$i]['field_type'] == ARTIFACT_EXTRAFIELDTYPE_CHECKBOX) {
+//TODO
+
+ } elseif ($efarr[$i]['field_type'] == ARTIFACT_EXTRAFIELDTYPE_RADIO) {
+//TODO
+
+ } elseif ($efarr[$i]['field_type'] == ARTIFACT_EXTRAFIELDTYPE_TEXT) {
+//TODO
+
+ } elseif ($efarr[$i]['field_type'] == ARTIFACT_EXTRAFIELDTYPE_TEXTAREA) {
+//TODO
+
+ } elseif ($efarr[$i]['field_type'] == ARTIFACT_EXTRAFIELDTYPE_MULTISELECT) {
+//TODO
+
}
+ $col_count++;
+ //we've done two columns - if there are more to do, start a new row
+ if (($col_count == 2) && ($i != $count-1)) {
+ echo '
+ </tr>
+ <tr>';
+ }
}
}
+
/**
- * selectionBox - this function builds pop up
+ * renderSelect - this function builds pop up
* box with choices.
*
- * @param int The result set
+ * @param int The ID of this field.
* @param string The item that should be checked
+ * @param string Whether to show the '100 row'
* @param string What to call the '100 row'
* @return box and choices
*/
- function selectionBox ($name,$checked='xzxz',$text_100='none') {
+ function renderSelect ($extra_field_id,$checked='xzxz',$show_100=false,$text_100='none') {
global $Language;
if ($text_100 == 'none'){
$text_100=$Language->getText('tracker_artifacttype','none');
}
- return html_build_select_box ($this->getSelectionBoxOptions($name),'extra_fields_choice[]',$checked,true,$text_100);
+ $arr =& $this->getExtraFieldElements($extra_field_id);
+ for ($i=0; $i<count($arr); $i++) {
+ $keys[$i]=$arr[$i]['element_id'];
+ $vals[$i]=$arr[$i]['element_name'];
+ }
+ return html_build_select_box_from_arrays ($keys,$vals,'extra_fields['.$extra_field_id.']',$checked,$show_100,$text_100);
}
function categoryBox ($name='category_id',$checked='xzxz',$text_100='none') {
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/ind.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/ind.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/ind.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -17,28 +17,18 @@
//required params for site_project_header();
$params['group']=$group_id;
$params['toptab']='tracker';
-$params['pagename']='tracker';
-$params['sectionvals']=array($group->getPublicName());
echo site_project_header($params);
echo $HTML->subMenu(
array(
- $Language->getText('group','short_tracker'),
$Language->getText('tracker','reporting'),
$Language->getText('tracker','admin')
),
array(
- '/tracker/?group_id='.$group_id,
'/tracker/reporting/?group_id='.$group_id,
'/tracker/admin/?group_id='.$group_id
-
)
);
-/*
-echo '<strong><a href="/tracker/reporting/?group_id='.$group_id.'">'.$Language->getText('tracker','reporting').'</a> | '
- .'<a href="/tracker/admin/?group_id='.$group_id.'">'.$Language->getText('tracker','admin').'</a>'
- .'</strong><p>';
-*/
if (!$at_arr || count($at_arr) < 1) {
echo "<h1>".$Language->getText('tracker','no_trackers')."</h1>";
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/massupdate-fields.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/massupdate-fields.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/massupdate-fields.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -1,53 +0,0 @@
-<?php
-/**
- * massupdate-fields.php - code to handle mass updating admin defined fields for * artifacts
- *
- * Copyright 2004 (c) Anthony J. Pugliese
- *
- * @version $Id$
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
- */
-$result=$ath->getSelectionBoxes();
-$resultc=$ath->getArtifactChoices($ah->getID());
-$rows=db_numrows($result);
-$setrows=db_numrows($resultc);
-$transferct=0;
-$changect=0;
-if($result &&$rows > 0) {
- for ($j=0; $j < $rows; $j++){
- if ($j < $setrows) {
- if ($extra_fields_choice[$j] != 100){
- if (db_result($resultc,$j,'choice_id') !== ($extra_fields_choice[$j])) {
-
- $ah->updateExtraFields(db_result($resultc,$j,'id'),$extra_fields_choice[$j]);
- $old=(db_result($resultc,$j,'choice_id'));
- $oldnames =$ath->getBoxOptionsName($old);
- $ah->addHistory(db_result($result,$j,'selection_box_name'),db_result($oldnames,'0','box_options_name'));
- $changect=$changect+1;
- }
- }
- }else {
- $ah->createExtraFields($extra_fields_choice[$j]);
- if ($extra_fields_choice[$j] !=='100') {
- $transferct=$transferct+1;
- }
- }
- }
-}
-?>
-
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod-limited.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod-limited.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod-limited.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -85,32 +85,10 @@
</td>
</tr>
- <?php
-//
-// build input pop-up boxes for boxes and choices configured by ADMIN
-//
- $result=$ath->getSelectionBoxes();
- $resultc=$ath->getArtifactChoices($ah->getID());
- echo "<p> </p>";
- $rows=db_numrows($result);
- $origrows=db_numrows($resultc);
- if ($result &&$rows > 0) {
- echo '<tr>';
- for ($i=0; $i < $rows; $i++) {
- $newrow= is_integer($i/2);
- echo '<td><strong>'.db_result($result,$i,'selection_box_name').'</strong><br \>';
- $resulto = $ath->getBoxOptionsName(db_result($resultc,$i,'choice_id'));
- if (($i < $origrows) && (db_result($resultc,$i,'choice_id') !== '100')) {
- echo db_result($resulto,'0','box_options_name');
- } else {
- echo 'None';
- }
- if (!$newrow) {
- echo '</tr><tr>';
- }
- }
- }
- ?>
+ <?php
+ $ath->renderExtraFields($ah->getExtraFieldData(),true);
+ ?>
+
<tr>
<td><strong><?php echo $Language->getText('tracker','assigned_to')?>: <a href="javascript:help_window('/help/tracker.php?helpname=assignee')"><strong>(?)</strong></a></strong><br />
<?php
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/mod.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -122,38 +122,9 @@
</tr>
<?php
-//
-// build input pop-up boxes for boxes and choices configured by ADMIN
-//
- $result=$ath->getSelectionBoxes();
- $result1=$ath->getArtifactChoices($ah->getID());
- $rows=db_numrows($result);
- echo "<p> </p>";
- $origrows=db_numrows($result1);
- if ($result && $rows> 0) {
- echo '<tr>';
- for ($i=0; $i < $origrows; $i++) {
- $newrow= is_integer($i/2);
- echo '<td><strong>'.db_result($result,$i,'selection_box_name').'</strong><br \>';
- echo $ath->selectionBox(db_result($result,$i,'id'),db_result($result1,$i,'choice_id'));
- echo ' <a href="/tracker/admin/?group_id='.$group_id.'&atid='. $ath->getID() .'&build_box=1">('.$Language->getText('tracker','admin').')</a>';
- if (!$newrow) {
- echo '</tr><tr>';
- }
- }
- if ($rows-$origrows > 0){
- for ($i=$origrows; $i < $rows; $i++){
- $newrow= is_integer($i/2);
- echo '<td><strong>'.db_result($result,$i,'selection_box_name').'</strong><br \>';
- echo $ath->selectionBox(db_result($result,$i,'id'),db_result($result1,$i,'choice_id'));
- echo ' <a href="/tracker/admin/?group_id='.$group_id.'&atid='. $ath->getID() .'&build_box=1">('.$Language->getText('tracker','admin').')</a>';
- if (!$newrow) {
- echo '</tr><tr>';
- }
- }
- }
- }
+ $ath->renderExtraFields($ah->getExtraFieldData(),true);
?>
+
<tr>
<td><strong><?php echo $Language->getText('tracker','assigned_to')?>: <a href="javascript:help_window('/help/tracker.php?helpname=assignee')"><strong>(?)</strong></a></strong><br />
<?php
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/tracker.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/tracker.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/tracker.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -52,24 +52,10 @@
exit_error('ERROR', $Language->getText('general','invalid_email'));
}
}
- if (!$ah->create($category_id,$artifact_group_id,$summary,$details,$assigned_to,$priority, $user_email)) {
+ if (!$ah->create($category_id,$artifact_group_id,$summary,$details,$assigned_to,$priority,$extra_fields)) {
exit_error('ERROR',$ah->getErrorMessage());
} else {
//
- // Include extra fields configured by ADMIN
- //
-
- $result=$ath->getSelectionBoxes();
- $rows=db_numrows($result);
-
- if ($result && $rows > 0) {
- for ($i=0; $i < $rows; $i++) {
- $ah->createExtraFields($extra_fields_choice[$i]);
- }
- unset ($extra_fields_choice);
- }
-
- //
// Attach file to this Artifact.
//
if ($add_file) {
@@ -120,16 +106,14 @@
$was_error=true;
}
- include('massupdate-fields.php');
- if (($was_error==true) && ($changect==0) && ($transferct==0)) {
+ if ($was_error) {
$feedback .= ' ID: '.$artifact_id_list[$i].'::'.$ah->getErrorMessage();
}else {
$was_error=false;
}
}
unset($ah);
-
-
+
if (!$was_error) {
$feedback = $Language->getText('tracker','updated_successful'); }
}
@@ -162,7 +146,7 @@
$delete_file=false;
}
if (!$ah->update($priority,$status_id,$category_id,$artifact_group_id,$resolution_id,
- $assigned_to,$summary,$canned_response,$details,$new_artfact_type_id)) {
+ $assigned_to,$summary,$canned_response,$details,$new_artfact_type_id,$extra_fields)) {
$feedback =$Language->getText('tracker','tracker_item'). ': '.$ah->getErrorMessage();
$ah->clearError();
$was_error=true;
@@ -214,17 +198,9 @@
//
// Show just one feedback entry if no errors
//
- include ('update-fields.php');
- if (!$was_error || $changect>0 || $transferct>0) {
+ if (!$was_error) {
$feedback = $Language->getText('general','update_successful');
- if ($ath->getID()!==$new_artfact_type_id){
- if (!$ah->nullExtraFields($artifact_id)){
-//TODO ERROR HERE???
-//
- }
}
-
- }
include ('browse.php');
}
break;
@@ -285,9 +261,9 @@
exit_error('ERROR','Artifact Could Not Be Created'); } else if ($ah->isError()) {
exit_error('ERROR',$ah->getErrorMessage());
} else {
- if ($ath->userIsAdmin() || (session_loggedin() && ($ah->getSubmittedBy() == user_getid()))) {
+ if ($ath->userIsAdmin()) {
include 'mod.php';
- } elseif ($ath->userIsTechnician()) {
+ } elseif ($ath->userIsTechnician() || (session_loggedin() && ($ah->getSubmittedBy() == user_getid()))) {
include 'mod-limited.php';
} else {
include 'detail.php';
@@ -300,4 +276,5 @@
break;
}
}
+
?>
Deleted: trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/update-fields.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/update-fields.php 2011-02-24 16:36:26 UTC (rev 10038)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/tracker/update-fields.php 2011-02-24 16:36:28 UTC (rev 10039)
@@ -1,51 +0,0 @@
-<?php
-/**
- * update-fields.php - Code to update artifacts with fields configured by admin
- *
- * Copyright 2004 (c) Anthony J. Pugliese
- *
- * @version $Id$
- *
- * This file is part of GForge.
- *
- * GForge 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.
- *
- * GForge is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
- */
-$result=$ath->getSelectionBoxes();
-$resultc=$ath->getArtifactChoices($ah->getID());
-$rows=db_numrows($result);
-$setrows=db_numrows($resultc);
-$changect=0;
-$transferct=0;
-if($result &&$rows > 0) {
- for ($i=0; $i < $rows; $i++) {
- if ($i < $setrows) {
- if (db_result($resultc,$i,'choice_id') != $extra_fields_choice[$i]){
- $ah->updateExtraFields(db_result($resultc,$i,'id'),$extra_fields_choice[$i]);
- $old=(db_result($resultc,$i,'choice_id'));
- $oldnames=$ath->getBoxOptionsName($old);
- $ah->addHistory(db_result($result,$i,'selection_box_name'),db_result($oldnames,'0','box_options_name'));
- $changect=$changect+1;
- }
- }else{
- $ah->createExtraFields($extra_fields_choice[$i]);
- if ($extra_fields_choice[$i] !== '100') {
- $transferct=$transferct+1;
- }
- }
- }
- unset ($extra_fields_choice);
-}
-?>
-
More information about the evolvis-commits
mailing list