Exemplo n.º 1
0
 }
 if (!lovd_error()) {
     // Query text.
     // This also deletes the entries in TABLE_PHENOTYPES && TABLE_SCREENINGS && TABLE_SCR2VAR && TABLE_SCR2GENES.
     $_DB->beginTransaction();
     if (isset($_POST['remove_variants']) && $_POST['remove_variants'] == 'remove') {
         $aOutput = $_DB->query('SELECT id FROM ' . TABLE_SCREENINGS . ' WHERE individualid = ?', array($nID))->fetchAllColumn();
         if (count($aOutput)) {
             $_DB->query('DELETE vog FROM ' . TABLE_VARIANTS . ' AS vog INNER JOIN ' . TABLE_SCR2VAR . ' AS s2v ON (vog.id = s2v.variantid) WHERE s2v.screeningid IN (?' . str_repeat(', ?', count($aOutput) - 1) . ')', $aOutput);
         }
     }
     // Get genes which are modified only when individual and variant status is marked or public.
     if ($_POST['statusid'] >= STATUS_MARKED) {
         $aGenes = $_DB->query('SELECT DISTINCT t.geneid FROM ' . TABLE_TRANSCRIPTS . ' AS t ' . 'INNER JOIN ' . TABLE_VARIANTS_ON_TRANSCRIPTS . ' AS vot ON (vot.transcriptid = t.id) ' . 'INNER JOIN ' . TABLE_VARIANTS . ' AS vog ON (vog.id = vot.id) ' . 'INNER JOIN ' . TABLE_SCR2VAR . ' AS s2v ON (s2v.variantid = vog.id) ' . 'INNER JOIN ' . TABLE_SCREENINGS . ' AS s ON (s.id = s2v.screeningid) ' . 'WHERE vog.statusid >= ? AND s.individualid = ?', array(STATUS_MARKED, $nID))->fetchAllColumn();
     }
     $_DATA->deleteEntry($nID);
     if ($_POST['statusid'] >= STATUS_MARKED && $aGenes) {
         // Change updated date for genes.
         lovd_setUpdatedDate($aGenes);
     }
     $_DB->commit();
     // Write to log...
     lovd_writeLog('Event', LOG_EVENT, 'Deleted individual information entry ' . $nID . ' (Owner: ' . $zData['owner'] . ')');
     // Thank the user...
     header('Refresh: 3; url=' . lovd_getInstallURL() . $_PE[0]);
     $_T->printHeader();
     $_T->printTitle();
     lovd_showInfoTable('Successfully deleted the individual information entry!', 'success');
     $_T->printFooter();
     exit;
 } else {