Пример #1
0
         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;
Пример #2
0
 /**
  * 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;
 }