getRow("select * from bedfile where bedfile_id = ?", array($bed_id)); if(empty($ref)) { continue; } else if(PEAR::isError($ref)) { print_r($ref); exit; } $ref['experiment_id'] = $_GET['experiment_id']; $date = date('Y-m-d H:i:s'); $ref['upload_date'] = $date; $ref = array_diff_key($ref, array_flip(array('bedfile_id'))); // remove bedfile_id array elt from selected result $qmarks = join(',', array_fill(0, count($ref), '?')); $db->query("insert into bedfile (". join(',', array_keys($ref)) . ") values ($qmarks)", array_values($ref)); $newbed_id = $db->getOne("select last_insert_id()"); if($ref['filetype'] == 'rawbed') { $newfilepath = FILE_REPOSITORY_PATH . '/' . uniqid() . date('YmdHis'); copy($db->getOne("select filepath from rawbed where bedfile_id = ?", $bed_id), $newfilepath); $db->query("insert into rawbed values (bedfile_id, filepath) values (?,?)", array($newbed_id, $newfilepath)); } else { $tbl_info = $db->tableInfo('summarybed'); $field_arr = array(); foreach($tbl_info as $f) { if($f['name'] != 'summarybed_id' && $f['name'] != 'bedfile_id') { $field_arr[] = $f['name']; } } $fields = join(',', $field_arr); $db->query("insert into summarybed (bedfile_id,$fields) select $newbed_id as bedfile_id, $fields from summarybed where bedfile_id = ?", $bed_id); } $db->commit(); $metadata[] = array('name' => $ref['name'], 'header' => (string)$ref['header'], 'upload_date' => date('n/j/y', strtotime($date)), 'id' => $newbed_id, 'genome' => '', 'method' => '', 'descr' => (string)$ref['descr']); //return array('name' => $orig_name, 'header' => $header, 'upload_date' => date('n/j/y', strtotime($date)), 'id' => $bedfile_id, 'genome' => '', 'method' => '', 'descr' => (string)$err); } print json_encode($metadata); ?>