10 $results = chado_query(
'SELECT * FROM tpps_submission WHERE accession = :accession', [
11 ':accession' => $study_accession
14 $serialized_data =
"";
15 foreach($results as $row) {
16 $serialized_data = unserialize($row->submission_state);
21 $project_id = $serialized_data[
'ids'][
'project_id'];
24 $project_file_ids = [];
26 $results = chado_query(
'SELECT * FROM tpps_project_file_managed WHERE project_id = :project_id', [
27 ':project_id' => $project_id
29 foreach ($results as $row) {
31 array_push($project_file_ids, $row->fid);
34 sort($project_file_ids);
36 $saved_values = $serialized_data[
'saved_values'];
39 $organism_count = $saved_values[
'1'][
'organism'][
'number'];
41 for($i=1; $i<=4; $i++) {
43 for($j=1; $j<=$organism_count; $j++) {
44 if(isset($saved_values[$i][
'tree-accession'][
'species-' . $j][
'file'])) {
45 array_push($file_ids, $saved_values[$i][
'tree-accession'][
'species-' . $j][
'file']);
51 for($j=1; $j<=$organism_count; $j++) {
52 if(isset($saved_values[$i][
'organism-' . $j][
'phenotype'][
'file'])) {
53 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'phenotype'][
'file']);
55 if(isset($saved_values[$i][
'organism-' . $j][
'phenotype'][
'metadata'])) {
56 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'phenotype'][
'metadata']);
59 for($j=1; $j<=$organism_count; $j++) {
60 if(isset($saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'snps-assay'])) {
61 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'snps-assay']);
63 if(isset($saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'snps-association'])) {
64 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'snps-association']);
66 if(isset($saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'vcf'])) {
67 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'vcf']);
69 if(isset($saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'ssrs'])) {
70 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'ssrs']);
72 if(isset($saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'ssrs_extra'])) {
73 array_push($file_ids, $saved_values[$i][
'organism-' . $j][
'genotype'][
'files'][
'ssrs_extra']);
81 $markup .=
'<div style="font-size: 12px;">';
82 $markup .=
'<div style="display: inline-block; width: 30%; vertical-align: top;">';
83 $markup .=
'<h4>Project ID Managed</h4>';
84 foreach ($project_file_ids as $fid) {
85 $markup .=
'<div>' . $fid .
'-';
86 $file = file_load($fid);
88 $file_url = check_plain(file_create_url($file->uri));
89 $markup .=
"<a href='$file_url' target='blank'>$file->filename</a>";
95 $markup .=
'<div style="display: inline-block; width: 30%; vertical-align: top;">';
96 $markup .=
'<h4>Submission state</h4>';
97 foreach ($file_ids as $fid) {
98 $markup .=
'<div>' . $fid .
'-';
99 $file = file_load($fid);
101 $file_url = check_plain(file_create_url($file->uri));
102 $markup .=
"<a href='$file_url' target='blank'>$file->filename</a>";
108 $markup .=
'<div style="display: inline-block; width: 30%; vertical-align: top;">';
109 $markup .=
'<h4>History/State files</h4>';
110 $overall_file_ids = $serialized_data[
'files'];
111 sort($overall_file_ids);
112 foreach ($overall_file_ids as $fid) {
113 $markup .=
'<div>' . $fid .
'-';
114 $file = file_load($fid);
116 $file_url = check_plain(file_create_url($file->uri));
117 $markup .=
"<a href='$file_url' target='blank'>$file->filename</a>";
125 $form[
'markup'] = array(
143 $results1 = chado_query(
'SELECT * FROM tpps_submission WHERE accession = :accession', [
144 ':accession' => $study_accession1
147 $results2 = chado_query(
'SELECT * FROM tpps_submission WHERE accession = :accession', [
148 ':accession' => $study_accession2
152 foreach ($results1 as $row) {
153 $submission1 = unserialize($row->submission_state);
157 foreach ($results2 as $row) {
158 $submission2 = unserialize($row->submission_state);
162 $markup .=
'<div style="width: 80%"><table width="800px">';
164 $markup .=
'<td colspan="1" style="width: 30%; display: inline-block; vertical-align: top; word-wrap: break-word;">';
165 $markup .=
'<h3>' . $study_accession1 .
'</h3>';
166 $markup .= print_r($submission1[
'saved_values'],
true);
168 $markup .=
'<td colspan="1" style="width: 30%; display: inline-block; vertical-align: top; word-wrap: break-word;">';
169 $markup .=
'<h3>' . $study_accession2 .
'</h3>';
170 $markup .= print_r($submission2[
'saved_values'],
true);
172 $markup .=
'<td colspan="1" style="width: 30%; display: inline-block; vertical-align: top; word-wrap: break-word;">';
173 $markup .=
'<h3>Differences</h3>';
178 $markup .=
'</table></div>';
179 $form[
'markup'] = array(
190 foreach ($aArray1 as $mKey => $mValue) {
191 if (array_key_exists($mKey, $aArray2)) {
192 if (is_array($mValue)) {
194 if (count($aRecursiveDiff)) { $aReturn[$mKey] = $aRecursiveDiff; }
196 if ($mValue != $aArray2[$mKey]) {
197 $aReturn[$mKey] = $mValue;
201 $aReturn[$mKey] = $mValue;
216 foreach ($a1 as $k => $v) {
217 if (array_key_exists($k, $a2)) {
218 if ($v instanceof stdClass) {
219 $rad = objDiff($v, $a2[$k]);
220 if (count($rad)) { $r[$k] = $rad; }
221 }
else if (is_array($v)){
222 $rad = arrDiff($v, $a2[$k]);
223 if (count($rad)) { $r[$k] = $rad; }
226 }
else if (is_double($v)){
227 if (abs($v - $a2[$k]) > 0.000000000001) {
228 $r[$k] = array($v, $a2[$k]);
232 $r[$k] = array($v, $a2[$k]);
236 $r[$k] = array($v, null);
tpps_admin_state_compare_page(array $form, array &$form_state, $study_accession1=NULL, $study_accession2=NULL)
tpps_arrayRecursiveDiff($aArray1, $aArray2)
tpps_arrDiff(array $a1, array $a2)
tpps_objDiff($obj1, $obj2)
tpps_admin_files_diagnostics_page(array $form, array &$form_state, $study_accession=NULL)