Exemplo n.º 1
0
     $aFields[] = 'statusid';
 } elseif ($zData['statusid'] > STATUS_MARKED) {
     $aFields[] = 'statusid';
     $_POST['statusid'] = STATUS_MARKED;
 }
 // Only actually committed to the database if we're not in a submission, or when they are already filled in.
 $_POST['edited_by'] = $_AUTH['id'];
 $_POST['edited_date'] = date('Y-m-d H:i:s');
 if (!$bSubmit && !(GET && ACTION == 'publish')) {
     // Put $zData with the old values in $_SESSION for mailing.
     // FIXME; change owner to owned_by_ in the load entry query of object_individuals.php.
     $zData['owned_by_'] = $zData['owner'];
     $_SESSION['work']['edits']['individual'][$nID] = $zData;
 }
 // FIXME: implement versioning in updateEntry!
 $_DATA->updateEntry($nID, $_POST, $aFields);
 // Get genes which are modified only when individual and variant status is marked or public.
 if ($zData['statusid'] >= STATUS_MARKED || $_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();
     if ($aGenes) {
         // Change updated date for genes.
         lovd_setUpdatedDate($aGenes);
     }
 }
 // Write to log...
 lovd_writeLog('Event', LOG_EVENT, 'Edited individual information entry ' . $nID);
 // Change linked diseases?
 // Diseases the gene is currently linked to.
 // FIXME; we moeten afspraken op papier zetten over de naamgeving van velden, ik zou hier namelijk geen _ achter plaatsen.
 //   Een idee zou namelijk zijn om loadEntry()/viewEntry() automatisch velden te laten exploden afhankelijk van hun naam. Is dat wat?
 $aDiseases = explode(';', $zData['active_diseases_']);