private function get_uris($params) { $fields = array(); if (in_array($params["dataset"], array("NMNH", "NHM"))) { $fields["institutionCode"] = "institutionCode_uri"; $fields["sex"] = "sex_uri"; $fields["typeStatus"] = "typeStatus_uri"; $fields["lifeStage"] = "lifeStage_uri"; $fields["collectionCode"] = "collectionCode_uri"; } require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); $spreadsheet_options = array("cache" => 1, "timeout" => 3600, "file_extension" => "xlsx", 'download_attempts' => 2, 'delay_in_minutes' => 2); $spreadsheet_options["expire_seconds"] = 0; // false => won't expire; 0 => expires now $uris = array(); if ($spreadsheet = @$params["uri_file"]) { if ($arr = $func->convert_spreadsheet($spreadsheet, 0, $spreadsheet_options)) { foreach ($fields as $key => $value) { $i = 0; foreach ($arr[$key] as $item) { $item = trim($item); if ($item) { $uris[$item] = $arr[$value][$i]; } $i++; } } } } return $uris; }
private function get_institution_uris() { require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); $arr = $func->convert_spreadsheet($this->institutions_xls, 0); $institutions = array(); $k = 0; foreach ($arr["Code"] as $code) { $institutions[$code] = $arr["URI"][$k]; $k++; } echo "\nInstitutions from spreadsheet [{$this->institutions_xls}]:" . count($institutions) . "\n"; return $institutions; }
private function get_uris() { require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); $spreadsheet_options = array("cache" => 1, "timeout" => 3600, "file_extension" => "xlsx", 'download_attempts' => 2, 'delay_in_minutes' => 2); // $spreadsheet_options["expire_seconds"] = 0; // false => won't expire; 0 => expires now $temp = $func->convert_spreadsheet($this->triple_uris_spreadsheet, 0, $spreadsheet_options); /* spreadsheet headers: Wikipedia triple - Measurement Type - Measurement Value1 - Measurement Value2 */ $uris = array(); $i = -1; foreach ($temp["Wikipedia triple"] as $triple) { $i++; if ($temp["Measurement Type"][$i] == "EXCLUDE") { continue; } $uris[$triple]["mtype"] = $temp["Measurement Type"][$i]; $uris[$triple]["v1"] = @$temp["Measurement Value1"][$i]; $uris[$triple]["v2"] = @$temp["Measurement Value2"][$i]; } return $uris; }
public function get_array_from_spreadsheet($options) { $records = array(); require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); if ($spreadsheet = @$options["spreadsheet_file"]) { if ($arr = $func->convert_spreadsheet($spreadsheet, 0, $options)) { $fields = array_keys($arr); $fields[] = "record_id"; $i = 0; foreach ($arr[$fields[0]] as $val) { $rec = array(); foreach ($fields as $field) { if ($field == "record_id") { $rec[$field] = $i + 1; } else { $rec[$field] = $arr[$field][$i]; } } if ($rec) { $records[] = $rec; } $i++; } } } return $records; }
private function access_spreadsheet($params, $sheet_no) { require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); if ($val = @$params["spreadsheet_options"]) { $spreadsheet_options = $val; } else { $spreadsheet_options = $this->spreadsheet_options; } if ($arr = $func->convert_spreadsheet($params['spreadsheet'], $sheet_no, $spreadsheet_options)) { return $arr; } }
private function get_spreadsheet($spreadsheet) { require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); $final = array(); $habitats = array(); $spreadsheet_options = array("cache" => 0, "timeout" => 3600, "file_extension" => "xlsx", 'download_attempts' => 2, 'delay_in_minutes' => 1); //we don't want to cache spreadsheet if ($filename = Functions::save_remote_file_to_local($spreadsheet, $spreadsheet_options)) { if ($arr = $func->convert_spreadsheet($filename, 0, $spreadsheet_options)) { $i = 0; foreach ($arr['subsection'] as $subsection) { if ($subsection) { $final[$subsection]['section'] = $arr['section'][$i]; $final[$subsection]['habitats'][] = $arr['source text'][$i]; } $habitats[$arr['source text'][$i]] = $arr['term'][$i]; $i++; } } unlink($filename); } $final = array_filter($final); //remove null arrays $habitats = array_filter($habitats); //remove null arrays return array('subsections' => $final, 'habitats' => $habitats); }
function get_uris($params, $spreadsheet) { $fields = array(); if ($params["dataset"] == "GBIF") { $fields["sex"] = "sex_uri"; $fields["typeStatus"] = "typeStatus_uri"; if (@$params["country"] == "Sweden") { $fields["datasetKey"] = "Type Specimen Repository URI"; } else { $fields["institutionCode"] = "institutionCode_uri"; } //rule case if (@$params["uri_type"] == "citation") { $fields["datasetKey France"] = "BibliographicCitation"; //886 $fields["datasetKey UK"] = "BibliographicCitation"; //894 $fields["datasetKey Germany"] = "BibliographicCitation"; //872 $fields["datasetKey Brazil"] = "BibliographicCitation"; //892 $fields["datasetKey"] = "BibliographicCitation"; //from Netherlands (887), Sweden (893) spreadsheet } } else { $fields = $params["fields"]; } require_library('connectors/LifeDeskToScratchpadAPI'); $func = new LifeDeskToScratchpadAPI(); if ($val = @$params["spreadsheet_options"]) { $spreadsheet_options = $val; } else { $spreadsheet_options = $this->spreadsheet_options; } $uris = array(); if ($spreadsheet) { if ($arr = $func->convert_spreadsheet($spreadsheet, 0, $spreadsheet_options)) { foreach ($fields as $key => $value) { $i = 0; if (@$arr[$key]) { foreach ($arr[$key] as $item) { $item = trim($item); if ($item) { $temp = $arr[$value][$i]; $temp = trim(str_replace(array("\n"), "", $temp)); $uris[$item] = $temp; if (!Functions::is_utf8($temp)) { echo "\nnot utf8: [{$temp}]\n"; } } $i++; } } } } } return $uris; }