toArray($keywordsTb->searchKeyword($word)); if($result != false) $resultData = array_merge($resultData, $result); } #$this->dump($resultData); $view['tags'] = array(); $view['page'] = array(); $usedPages = array(); # Faz um laço no resultado foreach($resultData as $key => $result){ if(!in_array($result['keyword_word'], $view['tags'])){ $view['tags'][] = $result['keyword_word']; } $ex = explode('#', $result['keyword_reference']); if(!in_array($ex[2], $usedPages)){ $check = $pagesTb->getByPage($ex[2]); if($check != false){ $view['links'][$key] = $pagesTb->getByPage($ex[2]); } $usedPages[] = $ex[2]; } } #die(var_dump($view['links'])); # Instancia a classe de urls $mismifTb = new \Table\MismifMapperUrlTb(); # Inclui o arquivo de configuração dos domínios require_once(HOME.'/Config/DomainConfig.php'); # Formata o subdominio (Caso exista) e dominio $http = new \Mismif\Utils\Http(); $domain = $http->readDomain(); # Pega as configurações do domínio $config = new \Config\DomainConfig(); # Checa se tem subdomínio if($domain['subdomain'] == false){ $this->domain = $config::$DOMAINS[$domain['domain'].'.'.$domain['extension']['string']]; }else{ $this->domain = $config::$DOMAINS[$domain['subdomain'].'.'.$domain['domain'].'.'.$domain['extension']['string']]; } # Checa se o domínio tem uma linguagem padrão, caso tenha, sobreescreve a linguagem padrão do sistema # .com -> en-us # .com.br -> pt-br if($this->domain['lang_id'] != false){ define("SYSTEM_LANG", $this->domain['lang_id']); }else{ define("SYSTEM_LANG", LANG_ID); } # Define o layout do sistema de acordo com o layout do domínio # Pode ser reescrito pela página $this->view->layoutModule = $this->domain['layout']; # Gera o array do Menu $menuModel = new \Model\MenuModel(); $view['menu'] = ($this->domain['menu_id'] != false)? $menuModel->getMenu($this->domain['menu_id']) : $menuModel->getMenu(1); # Instancia a classe responsável pela criação do header $header = new \Mismif\Html\HeaderHelper(); # Cria o header da página de acordo com as informações cadastradas no conteúdo $header->title = 'Ops! Estamos procurando algo parecido pra você.'; $header->robots = "index, follow"; $header->charset = "utf-8"; $header->href= $this->domain['live_url']; $header->description = ''; $header->keywords = ''; $view['header'] = $header->render(); $this->view->getView('Search', 'keyword/index', $view, true); } public function loadList(){ list($usec, $sec) = explode(' ', microtime()); $script_start = (float) $sec + (float) $usec; $result = array('check' => false); $post = $this->getPost(); if(!is_null($post)){ $words = explode(',', $post['tags']); if(count($words) > 0){ $contentTb = new \Table\CmsPageContentTb(); $pageTb = new \Table\CmsPagesTb(); $keywordsTb = new \Table\MismifMapperKeywordTb(); $array = new \Mismif\Utils\Arrays(); $usedPages = array(); $resultData = array(); # Busca as palavras chave foreach($words as $word){ $resultWord = $this->toArray($keywordsTb->searchKeyword($word)); if($result != false) $resultData = array_merge($resultData, $resultWord); } # Inclui o arquivo de configuração dos domínios require_once(HOME.'/Config/DomainConfig.php'); $config = new \Config\DomainConfig(); foreach($resultData as $key => $data){ $ex = explode('#', $data['keyword_reference']); if(!in_array($ex[2], $usedPages)){ $info = $contentTb->getByPage($ex[2], 'pt-br'); if($info != false){ $page = $pageTb->getByPage($ex[2]); $info['page_url_link'] = $page['url_link']; $searchArray = $array->search($config::$DOMAINS, 'id', $page['domain_id']); $info['domain'] = $searchArray[0]; $result['links'][] = $info; } $usedPages[] = $ex[2]; } } $result['check'] = true; } } list($usec, $sec) = explode(' ', microtime()); $script_end = (float) $sec + (float) $usec; $elapsed_time = round($script_end - $script_start, 5); $result['performance'] = 'Busca realizada em '. $elapsed_time .' segundos.'; $render = new \Mismif\Controller\JsonController(); $render->jsonRender($result); } }