Exemplo n.º 1
0
    function searchCluster($sqlDataArray = array())
    {
        if (isset($_POST['search'])) {
            $this->dataArray = array('cluster_chromosome' => FormElements::getPostInteger('inputSearchChromosome', true), 'cluster_start' => FormElements::getPostInteger('inputSearchStart', true), 'cluster_end' => FormElements::getPostInteger('inputSearchEnd', true));
            $this->formToken = FormElements::getPostString('token', true);
            parent::checkFormRequired($this->dataArray);
            parent::checkFormToken($this->formToken, 'search/cluster');
        } elseif (isset($_GET['cluster_chromosome']) && isset($_GET['cluster_start']) && isset($_GET['cluster_end'])) {
            $this->dataArray = array('cluster_chromosome' => FormElements::filterInteger($_GET['cluster_chromosome'], true), 'cluster_start' => FormElements::filterInteger($_GET['cluster_start'], true), 'cluster_end' => FormElements::filterInteger($_GET['cluster_end'], true));
        }
        if (!in_array('errorRequiredField', $this->dataArray) && (isset($_GET['cluster_chromosome']) || $this->formToken === Session::getSession('formToken')) && !FlashMessages::hasFlashMessage()) {
            $cookieData = date('Y-m-d') . '|cluster|' . 'cluster_chromosome|' . $this->dataArray['cluster_chromosome'] . '|cluster_start|' . $this->dataArray['cluster_start'] . '|cluster_end|' . $this->dataArray['cluster_end'];
            if (isset($_COOKIE['pirna_db_cache_search'])) {
                $newData = $_COOKIE['pirna_db_cache_search'] . '@' . $cookieData;
            } else {
                $newData = $cookieData;
            }
            setcookie('pirna_db_cache_search', $newData, time() + 86400 * 30 * 30, '/');
            Session::unsetSession('formToken');
            $this->sqlAllResults = 'SELECT cluster_code,
																		 cluster_chromosome,
																		 cluster_start,
																		 cluster_end  
															FROM cluster 
															WHERE cluster_chromosome = ' . $this->dataArray['cluster_chromosome'] . ' AND 
																		cluster_start >= ' . $this->dataArray['cluster_start'] . ' AND 
																		cluster_end <= ' . $this->dataArray['cluster_end'];
            $this->allResults = $this->db->select($this->sqlAllResults);
            $this->results[0] = count($this->allResults);
            $this->results[1] = ceil($this->results[0] / $sqlDataArray['maximumQuantity']);
            $this->sql = 'SELECT cluster_code,
													 cluster_chromosome,
													 cluster_start,
													 cluster_end  
										FROM cluster 
										WHERE cluster_chromosome = ' . $this->dataArray['cluster_chromosome'] . ' AND 
													cluster_start >= ' . $this->dataArray['cluster_start'] . ' AND 
													cluster_end <= ' . $this->dataArray['cluster_end'] . '
										LIMIT :initialItem, :maximumQuantity';
            $this->results[2] = $this->db->select($this->sql, $sqlDataArray);
            $this->results[3] = '?cluster_chromosome=' . $this->dataArray['cluster_chromosome'] . '&' . 'cluster_start=' . $this->dataArray['cluster_start'] . '&' . 'cluster_end=' . $this->dataArray['cluster_end'];
            if ($this->results[0] > 0) {
                return $this->results;
            } else {
                FlashMessages::setFlashMessage('noresult', '<b>Not Found!</b><br />None cluster was found using your query..');
            }
        }
    }