$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_']);