* @version 10.06.2008 */ class links { var $db; /** * Construtora */ function links() { $this->db = $GLOBALS['db']; } /** * Insere um link * * @return integer */ function insert() { $sql = " INSERT INTO ".PREFIXO."links ( nomeLink, link ) values ( '". $_POST['nomeLink'] ."', '". $_POST['link'] ."' )"; if ( !$this->db->query($sql) ) { // Erro ao tentar inserir $this->db->rollback(); $_SESSION['msg'] = 'Erro ao tentar inserir link.'; return 0; } else { if ( $this->_insertGrupo($this->db->insert_id()) ) { $_SESSION['msg'] = 'Registro cadastrado com sucesso.'; $this->db->commit(); return 1; } else { $_SESSION['msg'] = 'Erro ao tentar inserir relacionamento - grupos / links.'; $this->db->rollback(); return 0; } } $_SESSION['msg'] = 'Link cadastrado com sucesso.'; return 1; } /** * Insere os relacionamentos do link com grupo * * @param integer $idLink * @return integer */ function _insertGrupo($idLink) { // Insere dados na tabela de relacionamento (grupos_links) for ( $i = 0; $i < count($_REQUEST['idGrupo']); $i++ ) { $sql_1 = " INSERT INTO ".PREFIXO."grupos_links ( idGrupo, idLink ) values ( '". $_REQUEST['idGrupo'][$i] ."', '". $idLink ."' )"; if ( !$this->db->query($sql_1) ) { // Erro ao tentar inserir return 0; } } return 1; } /** * Atualiza um link * * @param integer $idLink * @return integer */ function update( $idLink ) { $sql = " UPDATE ".PREFIXO."links SET nomeLink = '". $_POST['nomeLink'] ."', link = '". $_POST['link'] ."' WHERE idLink = '". $idLink ."'"; if ( !$this->db->query($sql) ) { // Erro ao tentar atualizar $_SESSION['msg'] = 'Erro ao tentar atualizar o link.'; return 0; } $_SESSION['msg'] = 'Link alterado com sucesso.'; return 1; } /** * Remove um link * * @param integer $idLink * @return integer */ function delete( $idLink ) { $sql = "DELETE FROM ".PREFIXO."links WHERE idLink = '". $idLink ."' "; $this->db->query($sql); $_SESSION['msg'] = "Link excluído com sucesso."; return 1; } /** * Retorna todos os links * * @return array */ function selectAll() { if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $_SESSION['idLink'] = $_POST['idLink']; $_SESSION['nomeLink'] = $_POST['nomeLink']; $_SESSION['link'] = $_POST['link']; $_SESSION['grupo'] = $_POST['grupo']; } if ( $_GET['begin'] ) { if($_GET['busca'] == 'limpar'){ unset($_SESSION['idLink']); unset($_SESSION['nomeLink']); unset($_SESSION['link']); unset($_SESSION['grupo']); } $_SESSION['orderby'] = 'nomeLink ASC'; } $sql = " SELECT li.idLink, li.nomeLink, li.link, gr.nomeGrupo AS grupo, gr.idGrupo FROM ".PREFIXO."links li INNER JOIN ".PREFIXO."grupos_links gl ON gl.idLink = li.idLink INNER JOIN ".PREFIXO."grupos gr ON gl.idGrupo = gr.idGrupo"; // Concatena os filtros caso estejam setados if ( $_SESSION['nomeLink'] ) $sql .= " AND nomeLink LIKE '%".$_SESSION['nomeLink']."%'"; if ( $_SESSION['link'] ) $sql .= " AND link LIKE '%".$_SESSION['link']."%'"; if ( $_SESSION['grupo'] ) $sql .= " AND link LIKE '%".$_SESSION['grupo']."%'"; $sql .= " ORDER BY ". $_SESSION['orderby']; $query = $this->db->query($sql); $numReg = $this->db->num_rows($query); $sql .= paginacao($numReg, PP_LINKS); $query = $this->db->query($sql); if($numReg > 0) { while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; } return $return; } /** * Retorna um link * * @param integer $idLink * @return object */ function selectOne( $idLink ) { $sql = " SELECT li.idLink, li.nomeLink, li.link, gr.nomeGrupo AS grupo, gr.idGrupo FROM ".PREFIXO."links li INNER JOIN ".PREFIXO."grupos_links gl ON gl.idLink = li.idLink INNER JOIN ".PREFIXO."grupos gr ON gl.idGrupo = gr.idGrupo WHERE li.idLink = '". $idLink ."'"; $query = $this->db->query($sql); return $this->db->fetch_object($query); } /** * Retorna todos os links * * @return array */ function selectGrupos() { $sql = " SELECT idGrupo, nomeGrupo FROM ".PREFIXO."grupos"; if( $query = $this->db->query($sql) ) { while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; } return $return; } function selectLinks( $idGrupo ) { $sql = " SELECT gr.idGrupo, gr.idLink, li.nomeLink, li.link FROM ".PREFIXO."grupos_links gr INNER JOIN ".PREFIXO."links li ON li.idLink = gr.idLink WHERE idGrupo = ".$idGrupo; if( $query = $this->db->query($sql) ) { while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; } return $return; } } ?>