A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Weblinks com checagem

Sab

18

Out

2008


00:00

(2 votos, média 5.00 de 5) 


Atualizando a base de dados

As informações colhidas por estas duas funções colocadas no arquivo /components/com_weblinks/views/category/tmpl/default_items.php precisam ser colocadas no banco de dados. Como sabemos, quem lida com a base de dados são os modelos que estão no diretório /components/com_weblinks/models. Bem, neste caso o que nos interessa é o arquivo /models/category.php que define a classe WeblinksModelCategory. Esta classe foi "adornada" com duas funções, colocadas também no seu final (mania minha colocar os hacks no final dos arquivos).

A primeira delas é chamada pela função getData() original deste arquivo. Ela serve para verificar se está na hora de reavaliar o estado do link. Para isto, altere a função original inserindo uma nova linha para atualizar $item->renova:

function getData() { // Lets load the content if it doesn't already exist if (empty($this->_data)) { $query = $this->_buildQuery(); $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit')); $total = count($this->_data); for($i = 0; $i < $total; $i++) { $item =& $this->_data[$i]; $item->slug = $item->id.':'.$item->alias; $item->renova = $this->_novoCheck( $item->id ); } } return $this->_data; }

E aqui estão as duas novas funções do modelo que podem ser colocadas no final deste arquivo:

function _novoCheck( $id ) { $query = 'SELECT TO_DAYS( NOW() )'; $this->_db->setQuery( $query ); $hoje = $this->_db->loadResult(); $query = 'SELECT TO_DAYS( check_date ) FROM #__weblinks WHERE id='.$id; $this->_db->setQuery( $query ); $ultimo = $this->_db->loadResult(); if( $ultimo == NULL || ($hoje - $ultimo) > 6 ) { return true; } else { return false; } } function setCheck( $id, $status ) { $query = "UPDATE #__weblinks SET check_date=NOW(), status=$status WHERE id=$id"; $this->_db->setQuery( $query ); $this->_db->query(); }

Finalmentes

Se você quiser conferir o resultado deste hack, dê uma chegada na seção de Links (espero que não encontre muitos links órfãos smile ).

Se tiver dúvidas ou precisar de orientação, faça contato. Estou pronta para ajudar no que for preciso.

Se você detonar seu site Joomla tentando fazer o que sugeri, não me culpe. Tudo o que você alterar é por sua conta e risco!

info NÃO SE ESQUEÇA. Quando você for atualizar sua versão do Joomla, lembre-se de que o componente WebLinks foi alterado. Sugiro renomear o diretório do componente para alguma coisa como /components/com_weblinks.ALTERADO antes de fazer a atualização e depois dar um trato especial no bacaninha.

Desejo sucesso a todos os intrépidos

vovo

broker mfxсковорода гриль чугунная с прессом купитьдать отзывпокупка видеокамерытехника днрновости украины атоbroker mfx

Informações adicionais