function getUpdate($sqlDataArray = array()) { if (isset($sqlDataArray['info_update_id'])) { $this->sql = 'SELECT info_update_title, info_update_id, info_update_content, info_update_date FROM info_update WHERE info_update_id = :info_update_id'; } else { $this->sql = 'SELECT info_update_title, info_update_id, info_update_date FROM info_update'; } $this->results = $this->db->select($this->sql, $sqlDataArray); $this->resultsQuantity = count($this->results); foreach ($this->results as $key => $footerData) { $this->results[$key]['info_update_title_url'] = Helpers::filterUrl($this->results[$key]['info_update_title']); $this->results[$key]['info_update_date'] = Dates::convertDate($this->results[$key]['info_update_date']); } if ($this->resultsQuantity > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />Update information you are looking for does not exist.'); } }
function searchCache($sqlDataArray = array()) { if (isset($_COOKIE['pirna_db_cache_search'])) { $this->rawData = explode('@', FormElements::filterString($_COOKIE['pirna_db_cache_search'])); $quantity = count($this->rawData); for ($num = 0; $num < $quantity; ++$num) { $this->temporaryData[$num] = explode('|', $this->rawData[$num]); } if ($sqlDataArray['cache_type'] === 'pirna') { $tempNumber = 0; for ($num = 0; $num < $quantity; ++$num) { if ($this->temporaryData[$num][1] === 'pirna') { $this->results[$tempNumber]['cacheDate'] = Dates::convertDate($this->temporaryData[$num][0]); $this->results[$tempNumber]['cacheUrl'] = 'pirna/1?pirna_code=' . $this->temporaryData[$num][3]; $this->results[$tempNumber]['cacheUrl'] .= '&pirna_organism=' . $this->temporaryData[$num][5]; $this->results[$tempNumber]['cacheQuery'] = 'piRNA Code = ' . $this->temporaryData[$num][3]; $this->results[$tempNumber]['cacheQuery'] .= ' & piRNA Organism = ' . $this->temporaryData[$num][5]; ++$tempNumber; } } } elseif ($sqlDataArray['cache_type'] === 'alignament') { $tempNumber = 0; for ($num = 0; $num < $quantity; ++$num) { if ($this->temporaryData[$num][1] === 'alignament') { $this->results[$tempNumber]['cacheDate'] = Dates::convertDate($this->temporaryData[$num][0]); $this->results[$tempNumber]['cacheUrl'] = 'alignament/1?alignament_chromosome=' . $this->temporaryData[$num][3]; $this->results[$tempNumber]['cacheUrl'] .= '&alignament_start=' . $this->temporaryData[$num][5]; $this->results[$tempNumber]['cacheUrl'] .= '&alignament_end=' . $this->temporaryData[$num][7]; $this->results[$tempNumber]['cacheQuery'] = 'Chromosome = ' . $this->temporaryData[$num][3]; $this->results[$tempNumber]['cacheQuery'] .= ' & Start = ' . $this->temporaryData[$num][5]; $this->results[$tempNumber]['cacheQuery'] .= ' & End = ' . $this->temporaryData[$num][7]; ++$tempNumber; } } } elseif ($sqlDataArray['cache_type'] === 'cluster') { $tempNumber = 0; for ($num = 0; $num < $quantity; ++$num) { if ($this->temporaryData[$num][1] === 'cluster') { $this->results[$tempNumber]['cacheDate'] = Dates::convertDate($this->temporaryData[$num][0]); $this->results[$tempNumber]['cacheUrl'] = 'cluster/1?cluster_chromosome=' . $this->temporaryData[$num][3] . '&cluster_start=' . $this->temporaryData[$num][5] . '&cluster_end=' . $this->temporaryData[$num][7]; $this->results[$tempNumber]['cacheQuery'] = 'Chromosome = ' . $this->temporaryData[$num][3] . ' & Start = ' . $this->temporaryData[$num][5] . ' & End = ' . $this->temporaryData[$num][7]; ++$tempNumber; } } } } $this->quantityResults = count($this->results); if ($this->quantityResults > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Zero Results!</b><br />None of your cache search results was found.'); } }
function getInfo($sqlDataArray = array(), $type = null) { if ($type === 'pirna') { $this->sql = 'SELECT pirna_code, pirna_access, pirna_sequence, pirna_organism, pirna_feedback_agree, pirna_feedback_disagree FROM pirna WHERE pirna_code = :searchQuery'; $this->results['pirnaInfo'] = $this->db->select($this->sql, $sqlDataArray); if (count($this->results['pirnaInfo']) > 0) { $this->sql = 'SELECT alignament_id FROM rel_alignament_pirna WHERE pirna_code = :searchQuery'; $this->results['alignamentInfo'] = $this->db->select($this->sql, $sqlDataArray); $quantity = count($this->results['alignamentInfo']); for ($num = 0; $num < $quantity; ++$num) { $this->sql = 'SELECT alignament_chromosome, alignament_start, alignament_end, alignament_strand FROM alignament WHERE alignament_id = ' . $this->results['alignamentInfo'][$num]['alignament_id']; $this->results['allAlignamentInfo'][] = $this->db->select($this->sql, $sqlDataArray); } $this->sql = 'SELECT reference_id FROM rel_pirna_reference WHERE pirna_code = :searchQuery'; $this->results['referenceInfo'] = $this->db->select($this->sql, $sqlDataArray); $quantity = count($this->results['referenceInfo']); for ($num = 0; $num < $quantity; ++$num) { $this->sql = 'SELECT reference_id, reference_code FROM reference WHERE reference_id = ' . $this->results['referenceInfo'][$num]['reference_id']; $this->results['allReferenceInfo'][] = $this->db->select($this->sql, $sqlDataArray); } $this->sql = 'SELECT dataset_id FROM rel_dataset_pirna WHERE pirna_code = :searchQuery'; $this->results['datasetInfo'] = $this->db->select($this->sql, $sqlDataArray); $quantity = count($this->results['datasetInfo']); for ($num = 0; $num < $quantity; ++$num) { $this->sql = 'SELECT dataset_id, dataset_sample, dataset_serie, dataset_organism, dataset_development_stage, dataset_method, dataset_tissue FROM dataset WHERE dataset_id = ' . $this->results['datasetInfo'][$num]['dataset_id']; $this->results['allDatasetInfo'][] = $this->db->select($this->sql, $sqlDataArray); } return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'dataset') { $this->sql = 'SELECT dataset_id, dataset_sample, dataset_serie, dataset_organism, dataset_development_stage, dataset_method, dataset_tissue FROM dataset WHERE dataset_id = :searchQuery'; $this->results['datasetInfo'] = $this->db->select($this->sql, $sqlDataArray); if (count($this->results['datasetInfo']) > 0) { $this->sql = 'SELECT pirna_code FROM rel_dataset_pirna WHERE dataset_id = "' . $this->results['datasetInfo'][0]['dataset_id'] . '"'; $this->results['pirnaInfo'] = $this->db->select($this->sql); return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'cluster') { $this->sql = 'SELECT cluster_code, cluster_chromosome, cluster_start, cluster_end FROM cluster WHERE cluster_code = :searchQuery'; $this->results['clusterInfo'] = $this->db->select($this->sql, $sqlDataArray); if (count($this->results['clusterInfo']) > 0) { $this->sql = 'SELECT alignament_id FROM rel_alignament_cluster WHERE cluster_code = :searchQuery'; $this->results['pirnaInfo'] = $this->db->select($this->sql, $sqlDataArray); $quantity = count($this->results['pirnaInfo']); for ($num = 0; $num < $quantity; ++$num) { $this->sql = 'SELECT pirna_code FROM rel_alignament_pirna WHERE alignament_id = ' . $this->results['pirnaInfo'][$num]['alignament_id']; $this->results['pirnaList'][] = $this->db->select($this->sql, $sqlDataArray); } return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'reference') { $this->sql = 'SELECT reference_id, reference_code FROM reference WHERE reference_id = :searchQuery'; $this->results['referenceInfo'] = $this->db->select($this->sql, $sqlDataArray); if (count($this->results['referenceInfo']) > 0) { $edit = file_get_contents('http://www.ncbi.nlm.nih.gov/pubmed/' . $this->results['referenceInfo'][0]['reference_code']); preg_match('/<title>(.*)<\\/title>/s', $edit, $title); preg_match('/<AbstractText>(.*)<\\/AbstractText>/s', $edit, $abstract); preg_match('/<div class="auths">(.*).<\\/div><div class="afflist">/s', $edit, $authors); $authors[0] = preg_replace('/<sup>([0-9])<\\/sup>/s', '', $authors[0]); $this->results['referenceTitle'] = FormElements::filterString($title[0]); $this->results['referenceAbstract'] = FormElements::filterString($abstract[0]); $this->results['referenceAuthors'] = FormElements::filterString($authors[0]); return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'target') { $this->sql = 'SELECT target_id, target_type, target_name, target_chromosome, target_start, target_end, target_strand FROM target WHERE target_id = :searchQuery'; $this->results['targetInfo'] = $this->db->select($this->sql, $sqlDataArray); if (count($this->results['targetInfo']) > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'article') { $this->sql = 'SELECT article_reference, article_title, article_author, article_journal, article_date FROM system_article WHERE article_reference = :searchQuery'; $this->results['articleInfo'] = $this->db->select($this->sql, $sqlDataArray); if (count($this->results['articleInfo']) > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />None article was found.'); } } elseif ($type === 'faq') { $this->sql = 'SELECT faq_id, faq_title, faq_content, faq_date_update, faq_type FROM faq WHERE faq_id = :searchQuery'; $this->results['faqInfo'] = $this->db->select($this->sql, $sqlDataArray); $this->results['faqInfo'][0]['faq_date_update'] = Dates::convertDate($this->results['faqInfo'][0]['faq_date_update']); if (count($this->results['faqInfo']) > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'informations') { $this->sql = 'SELECT text_id, text_content, text_type FROM general_text WHERE text_id = :searchQuery'; $this->results['informationsInfo'] = $this->db->select($this->sql, $sqlDataArray, false); if (count($this->results['informationsInfo']) > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'update') { $this->sql = 'SELECT info_update_id, info_update_title, info_update_content, info_update_date FROM info_update WHERE info_update_id = :searchQuery'; $this->results['updateInfo'] = $this->db->select($this->sql, $sqlDataArray, false); if (count($this->results['updateInfo']) > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } elseif ($type === 'pirnaComment') { $this->sql = 'SELECT comment_id, comment_name, comment_email, comment_content, comment_date, comment_moderated FROM comment WHERE comment_id = :searchQuery'; $this->results['commentInfo'] = $this->db->select($this->sql, $sqlDataArray); $this->sql = 'SELECT pirna_code FROM rel_comment_pirna WHERE comment_id = ' . $this->results['commentInfo'][0]['comment_id']; $this->results['commentPirnaInfo'] = $this->db->select($this->sql, $sqlDataArray); $this->results['commentInfo'][0]['comment_date'] = Dates::convertDate($this->results['commentInfo'][0]['comment_date']); if (count($this->results['commentInfo']) > 0) { return $this->results; } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } } else { FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />0 Results are found using this query.'); } }