Error(); if (!$Group || !is_object($Group)) { $this->setError('No Valid Group Object'); return false; } if ($Group->isError()) { $this->setError('ArtifactType: '.$Group->getErrorMessage()); return false; } $this->Group =& $Group; return true; } /** * createTrackers - creates all the standard trackers for a given Group. * * @return boolean success. */ function createTrackers() { // first, check if trackers already exist $res=db_query("SELECT * FROM artifact_group_list WHERE group_id='".$this->Group->getID()."' AND datatype > 0"); if (db_numrows($res) > 0) { return true; } include $GLOBALS['gfcommon'].'tracker/artifact_type_definitions.php'; db_begin(); foreach ($trackers as $trk) { $at = new ArtifactType($this->Group); if (!$at || !is_object($at)) { db_rollback(); $this->setError('Error Getting Tracker Object'); return false; } // // Create a tracker // if (!$at->create(addslashes($trk[0]), addslashes($trk[1]), $trk[2], $trk[3], $trk[4], $trk[5], $trk[6], $trk[7], $trk[8], $trk[9], $trk[10])) { db_rollback(); $this->setError('Error Creating Tracker: '.$at->getErrorMessage()); return false; } else { // // Create each field in the tracker // foreach ($trk[11] AS $fld) { $aef = new ArtifactExtraField($at); //print($fld[0])."***|"; if (!$aef->create(addslashes($fld[0]), $fld[1], $fld[2], $fld[3], $fld[4])) { db_rollback(); $this->setError('Error Creating Extra Field: '.$aef->getErrorMessage()); return false; } else { // // create each element in the field // foreach ($fld[5] AS $el) { //print($el)."**"; $aefe = new ArtifactExtraFieldElement($aef); /* Allow us to provide a list as an element value - in doing so, we can provide a status field value for people wanting to set up custom statuses. The first element of any given array is the name, the second is the status_id (0, 1 or 2)*/ $el_name = $el; $el_status = 0; if (is_array($el) && $fld[1] == ARTIFACT_EXTRAFIELDTYPE_STATUS) { $el_name = $el[0]; $el_status = $el[1]; } if (!$aefe->create(addslashes($el_name),$el_status)) { db_rollback(); $this->setError('Error Creating Extra Field Element: '.$aefe->getErrorMessage()); return false; } } } } } } db_commit(); return true; } } // Local Variables: // mode: php // c-file-style: "bsd" // End: ?>