return; } if (!user_ismember($group_id, 'A')) { exit_permission_denied(); return; } $ath->adminTrackersHeader(array('title' => $ath->getName() . ' ' . $Language->getText('tracker_admin_field_usage', 'tracker_admin'), 'help' => 'tracker-v3.html#tracker-administration')); if (!$ath->preDelete()) { $GLOBALS['Response']->addFeedback('error', $Language->getText('tracker_admin_index', 'deletion_failed', $hp->purify(SimpleSanitizer::unsanitize($ath->getName()), CODENDI_PURIFIER_CONVERT_HTML))); } else { //@see preDeleteArtifactType @common/tracker/ArtifactTypeFactory.class.php $GLOBALS['Response']->addFeedback('info', $Language->getText('tracker_admin_index', 'delete_success', $hp->purify(SimpleSanitizer::unsanitize($ath->getName()), CODENDI_PURIFIER_CONVERT_HTML))); echo $Language->getText('tracker_admin_index', 'tracker_deleted', array($hp->purify(SimpleSanitizer::unsanitize($ath->getName()), CODENDI_PURIFIER_CONVERT_HTML), $GLOBALS['sys_email_admin'])); require_once 'common/tracker/ArtifactRulesManager.class.php'; $arm = new ArtifactRulesManager(); $arm->deleteRulesByArtifactType($atid); // Delete related reference if it exists // NOTE: there is no way to know if the reference is actually related to this tracker. $reference_manager =& ReferenceManager::instance(); $ref =& $reference_manager->loadReferenceFromKeywordAndNumArgs(strtolower($ath->getItemName()), $group_id, 1); if ($ref) { if ($reference_manager->deleteReference($ref)) { $GLOBALS['Response']->addFeedback('info', $Language->getText('project_reference', 't_r_deleted')); } } } $ath->footer(array()); break; case 'permissions': require './tracker_permissions.php'; break;
/** * Mark a tacker as deleted * @see www/tracker/admin/index.php L908:919 * * @param $artifactType Tracker to be deleted * * @return Boolean */ function preDeleteArtifactType(ArtifactType $artifactType) { if ($artifactType->preDelete(true)) { $arm = new ArtifactRulesManager(); $arm->deleteRulesByArtifactType($artifactType->getID()); $referenceManager = ReferenceManager::instance(); $ref = $referenceManager->loadReferenceFromKeywordAndNumArgs(strtolower($artifactType->getItemName()), $this->getGroup()->getGroupId(), 1); if ($ref) { $referenceManager->deleteReference($ref); } return true; } return false; }