class.seo/ 0000755 0000000 0000000 00000000000 11136714113 011444 5 ustar root root class.seo/conection.php 0000644 0000000 0000000 00000000572 11136712410 014140 0 ustar root root '; echo $e->getMessage(); } ?> class.seo/test.class.seo.php 0000644 0000000 0000000 00000001045 11136714246 015034 0 ustar root root
default_tags_value = array('title' => 'Teste Classe Seo', 'description' => 'Teste, Class, seo, php'); $seo_td->module_name = $_GET['cmd']; $seo_td->register_id = $_GET['id']; $seo_td->init(); ?> class.seo/doc.txt 0000644 0000000 0000000 00000007752 11136716622 012774 0 ustar root root /** * Class SEO_td * * Classe para otimização de site, usando as tags Title e Description. * * @author Leandro Martins - (leandro.jm@gmail.com) * @version 1.0 * @licence GNU * */ ----------------------------------------------------------------------------------- >>>>Variáveis e seus valores default: /** * Tipo de conexão, mysql ou psql. */ db_type = 'mysql'; /** * Valor para tags, caso não tenha o valor o no banco de dados. */ default_tags_value = ''; /** * Nome do parametro que indentifica o modulo acessado. */ module_name = ''; /** * Um array asssociativo do modulo e seu nome na tabela. * Usar caso o nome do modulo não for o mesmo da tabela. */ modules_name = ''; /** * O id do registro a ser resgatado as informações. */ register_id = ''; /** * Nomes dos campos responsavel pela informações das tags title e description */ fields_name = 'titulo, conteudo'; >>>>Métodos: init() inicia a classe Seo_td; write_tags_td() verifica qual texto das tags vai ser renderizado, os textos do model ou valor padrão definido pela parâmetro default_tags_value; consult_db() faz a consulta na base de dados afim de busca os valores para as tags(title e dscription); build_query() constrói a query para executar a consulta. Essa query é composta por 3 parâmetros: * fields_name: nomes dos campos na tabela, o qual o representa o valor das tags. Esses campos por padrão são chamados de “titulo e conteúdo”, mas pode ser mudado facilmente utilizando o parâmetro field_name; * tbl_name: nome da tabela que vai ser pesquisada. Esse nome é definido pelo método check_name_modules(). * register_id: o id do registro da tabela, normalmente pegado através da variável global $_GET. check_name_model() esse método é responsável por defini o nome da tabela, para isso ele verifica dois parâmetros: * module_name: diz para classe qual vai ser o nome do módulo. Esse parâmetro é usado quando o nome do módulo é o mesmo usada para o nome da tabela no BD; * modules_name: diz para classe qual vai ser o nome do módulo também, mas com uma pequena diferença. Esse parâmetro é usado numa situação onde o nome do módulo é diferente do nome da tabela, normalmente para aplicações que não segue o padrão MVC. Nesse caso é passado um array associativo, definido qual o nome da tabela representa o seu módulo. >>>>Exemplos: Ex: 1) A meneira mais de simples de implementação da classe. Quando o nome do módulo tem o mesmo nome da tabela. default_tags_value = array('title' => 'Classe Seo', 'description' => 'Class, seo, php'); $seo_td->module_name = $_GET['cmd']; $seo_td->register_id = $_GET['id']; $seo_td->init(); ?> Ex: 2) Quando o nome da tabela é diferente do nome do módulo. default_tags_value = array('title' => 'Classe Seo', 'description' => 'Class, seo, php'); $seo_td->module_name = $_GET['cmd']; $seo_td->modules_name = array(‘noticias’ => ‘tbl_noticias’, ‘artigos’ => ‘tbl_artigos’); $seo_td->register_id = $_GET['id']; $seo_td->init(); ?> Ex: 3) Quando o tipo de banco é diferente do padrão(mysql), ou nomes do campo são diferente do padrão(titulo, conteudo). db_type = ‘psql’; #Define quais os nomes dos campos usado para pegar informação, para as tags title e description $seo_td->fields_name = ‘title, description’; $seo_td->default_tags_value = array('title' => 'Classe Seo', 'description' => 'Class, seo, php'); $seo_td->module_name = $_GET['cmd']; $seo_td->modules_name = array(‘noticias’ => ‘tbl_noticias’, ‘artigos’ => ‘tbl_artigos’); $seo_td->register_id = $_GET['id']; $seo_td->init(); ?> class.seo/Seo.php 0000644 0000000 0000000 00000005633 11136713567 012726 0 ustar root root /** * Class SEO_td * * Classe para otimização de site, usando as tags Title e Description. * * @author Leandro Martins - (leandro.jm@gmail.com) * @version 1.0 * @licence GNU * */ class Seo_td { /** * Tipo de conexão, mysql ou psql. */ var $db_type = 'mysql'; /** * Valor para tags, caso não tenha o valor o no banco de dados. */ var $default_tags_value = ''; /** * Nome do parametro que indentifica o modulo acessado. */ var $module_name = ''; /** * Um array asssociativo do modulo e seu nome na tabela. * Usar caso o nome do modulo não for o mesmo da tabela. */ var $modules_name = ''; /** * O id do registro a ser resgatado as informações. */ var $register_id = ''; /** * Nomes dos campos responsavel pela informações das tags title e description */ var $fields_name = 'titulo, conteudo'; /** * Inicia o procedimento. * * @return */ public function init() { try { $this->write_tags_td(); } catch(Exception $e) { echo $e->getMessage(); } } /** * Verificar se o modulo tem o mesmo da sua tabela. * * @return */ private function check_module_name() { //Caso o nome do module ser diferente da tabela. if (is_array($this->modules_name)) { $tbl_name = $this->modules_name[$this->module_name]; } //Caso o nome do modulo for o mesmo da tabela. else { $tbl_name = $this->module_name; } return $tbl_name; } /** * Controi a query para executar a consulta. * * @return */ private function build_query() { $tbl_name = $this->check_module_name(); $query = 'SELECT '.$this->fields_name.' FROM '.$tbl_name.' WHERE id = '.$this->register_id; return $query; } /** * Faz a consulta no banco de dados para resgatar as informações. * * @return */ private function consult_db() { $query = $this->build_query(); switch($this->db_type) { case 'mysql': $result = @mysql_query($query); $result_ar = @mysql_fetch_array($result); $n_regs = @mysql_num_rows($result); break; case 'psql': $result = @pg_query($query); $result_ar = @pg_fetch_assoc($result); $n_regs = @pg_num_rows($result); break; } //Caso a consulta não conter nenhum resultado. if ($n_regs == 0) { $result_ar = array(); } return $result_ar; } /** * Escreve as tags com o conteudo. * * @return */ private function write_tags_td() { $n_regs = count($result_ar = $this->consult_db()); $title = '