Example #1
0
 protected function display()
 {
     if (Tools::isConnectedUser()) {
         $session_user = UserCache::getInstance()->getUser($_SESSION['userid']);
         // Admins only
         if ($session_user->isTeamMember(Config::getInstance()->getValue(Config::id_adminTeamId))) {
             $this->smartyHelper->assign('access', true);
             $is_modified = Tools::getSecurePOSTStringValue('is_modified', 'false');
             // init
             // 'is_modified' is used because it's not possible to make a difference
             // between an unchecked checkBox and an unset checkbox variable
             if ("false" == $is_modified) {
                 $isBackup = true;
             } else {
                 $isBackup = $_POST['cb_backup'];
             }
             $filename = Tools::getSecurePOSTStringValue('backup_filename', "codevtt_backup_" . date("Ymd") . ".sql");
             $this->smartyHelper->assign('isBackup', $isBackup);
             $this->smartyHelper->assign('filename', $filename);
             if (isset($_POST['cb_backup'])) {
                 $result = true;
                 if ($isBackup) {
                     $result = SqlWrapper::getInstance()->sql_dump($filename) && $this->saveConfigFiles();
                     $this->smartyHelper->assign('backupResult', $result);
                 }
                 $this->smartyHelper->assign('stepOneResult', $result);
                 if ($result) {
                     $prjList = $this->displayProjectsToRemove();
                     $this->smartyHelper->assign('projects', $prjList);
                 }
                 $this->smartyHelper->assign('stepTwoResult', $result);
                 if ($result) {
                     $result = $this->removeCustomFields();
                 }
                 $this->smartyHelper->assign('stepThreeResult', $result);
                 if ($result) {
                     $result = Tools::execSQLscript2("uninstall.sql");
                 }
                 $this->smartyHelper->assign('stepFourResult', $result);
                 if ($result) {
                     $result = $this->deleteConfigFiles();
                 }
                 $this->smartyHelper->assign('stepFiveResult', $result);
                 if ($result) {
                     $result = $this->removeCustomMenuItem('CodevTT');
                 }
                 $this->smartyHelper->assign('stepSixResult', $result);
             } else {
                 Config::setQuiet(true);
                 $this->smartyHelper->assign('codevReportsDir', Constants::$codevOutputDir . DIRECTORY_SEPARATOR . 'reports');
                 Config::setQuiet(false);
                 $this->smartyHelper->assign('is_modified', $is_modified);
             }
         }
     }
 }
Example #2
0
 /**
  * @static
  * @param string $projectName
  * @return int|string
  */
 public static function createSideTaskProject($projectName)
 {
     $mgrEffortEstimCustomField = Config::getInstance()->getValue(Config::id_customField_MgrEffortEstim);
     $estimEffortCustomField = Config::getInstance()->getValue(Config::id_customField_effortEstim);
     $addEffortCustomField = Config::getInstance()->getValue(Config::id_customField_addEffort);
     $backlogCustomField = Config::getInstance()->getValue(Config::id_customField_backlog);
     $deadLineCustomField = Config::getInstance()->getValue(Config::id_customField_deadLine);
     $deliveryDateCustomField = Config::getInstance()->getValue(Config::id_customField_deliveryDate);
     // check if name exists
     $query = "SELECT id FROM `mantis_project_table` WHERE name='{$projectName}'";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     $projectid = 0 != SqlWrapper::getInstance()->sql_num_rows($result) ? SqlWrapper::getInstance()->sql_result($result, 0) : -1;
     if (-1 != $projectid) {
         echo "ERROR: Project name already exists ({$projectName})<br/>\n";
         return -1;
     }
     // create new Project
     $query = "INSERT INTO `mantis_project_table` (`name`, `status`, `enabled`, `view_state`, `access_min`, `description`, `category_id`, `inherit_global`) " . "VALUES ('{$projectName}','50','1','50','10','{$projectDesc}','1','0');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     $projectid = SqlWrapper::getInstance()->sql_insert_id();
     // add custom fields BI,BS,RAE,DeadLine,DeliveryDate
     $query = "INSERT INTO `mantis_custom_field_project_table` (`field_id`, `project_id`, `sequence`) " . "VALUES ('{$mgrEffortEstimCustomField}', '{$projectid}','2'), " . "('{$estimEffortCustomField}',    '{$projectid}','3'), " . "('{$addEffortCustomField}',      '{$projectid}','4'), " . "('{$backlogCustomField}',      '{$projectid}','5'), " . "('{$deadLineCustomField}',       '{$projectid}','6'), " . "('{$deliveryDateCustomField}',   '{$projectid}','7');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     // when creating an new issue, the status is set to 'closed' (External Tasks have no workflow...)
     #REM first call to this function is in install step1, and $statusNames is set in step2. '90' is mantis default value for 'closed'
     Config::setQuiet(TRUE);
     $statusNames = Constants::$statusNames;
     Config::setQuiet(FALSE);
     $status_closed = NULL != $statusNames ? array_search('closed', $statusNames) : 90;
     $query = "INSERT INTO `mantis_config_table` (`config_id`,`project_id`,`user_id`,`access_reqd`,`type`,`value`) " . "VALUES ('bug_submit_status',  '{$projectid}','0', '90', '1', '{$status_closed}');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     // Status to set auto-assigned issues to 'closed'
     $query = "INSERT INTO `mantis_config_table` (`config_id`,`project_id`,`user_id`,`access_reqd`,`type`,`value`) " . "VALUES ('bug_assigned_status',  '{$projectid}','0', '90', '1', '{$status_closed}');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     return $projectid;
 }