Skip to content

Instantly share code, notes, and snippets.

@Uriel29
Last active June 13, 2016 19:14
Show Gist options
  • Save Uriel29/e441fa74245999569a0e to your computer and use it in GitHub Desktop.
Save Uriel29/e441fa74245999569a0e to your computer and use it in GitHub Desktop.
Este código criado pelo Marcio Pinheiro, verifica se um usuário logado viu um artigo. O código salva os dados dele no banco.
<?php defined('_JEXEC') or die;
//CÓDIGO CRIADO POR Marcio Pinheiro, PARA VERIFICAR SE UM USUÁRIO VIU UM ARTIGO QUE DEVERIA VER.
// CONTATO: marciop07@hotmail.com, https://www.facebook.com/MarcioP001
//Criei uma tabela manual no banco de dados com nome "_log_diario";
//Com os campos "id, article_id, user, data, ip"
//O campo id é auto incremento,
//O campo article_id é do tipo inteiro
//O campo user é varchar 255
//O campo data é TIMESTAMP
//O Campo IP é Varchar
?>
<?php
$ip = $_SERVER["REMOTE_ADDR"]; //Pega o IP remoto da rede
$artigo_id = $cck->get('art_id')->value; //Pega o ID do Artigo
$user = JFactory::getUser(); //Acessa a tabela de usuários do joomla
$name = $user->name; //Recupera o nome do usuário logado
$db =&JFactory::getDBO(); //Conecta com o banco de dados
//Seleciona o campo user da tabela ipp_log_diario quando article_id for igual ao valor da variável $artigo_id E
//Quando o user for igual o valor da variável
$query = "SELECT user FROM ipp_log_diario WHERE article_id = '$artigo_id' AND user = '$name'";
$db->setQuery($query); //Executa a consulta no banco
$result = $db->loadObject(); //Retorna o resultado
$nome = $result->user; //Lista o resultado do campo user, poderia ser qualquer campo da tabela
if(!$nome == $name){ //Verifica se o resultado da consulta for diferente do usuário logado
//Faz uma inserção na tabela ipp_log_diario
$query = "INSERT INTO ipp_log_diario(article_id, user, ip) VALUES ('$artigo_id','$name','$ip')";
$db->setQuery($query); //Seleciona a query
$result = $db->loadObject(); //Executa a query
} else { //se não
$query = $db->getQuery(true);
//Verifica na tabela ipp_log_diario se existe um usuário quando o campo article_id for igual aovalor da variável $artigo_id
$query = "SELECT user FROM ipp_log_diario WHERE article_id = '$artigo_id' ";
$db->setQuery($query); //Executa a query
$result = $db->loadRowList(); //Retorna o resultado em um Array
}
?>
<?php if($cck->renderField('d_titulo_concat')) { ?>
<?php
echo "<h2 id='h2_'>".strip_tags($cck->renderField('d_categoria')." (".$cck->renderField('d_titulo_concat')).")</h2>"
?>
<?php }?>
<?php if($cck->renderField('d_descricao')) { ?>
<?php
echo "<div id='texto'>".$cck->renderField('d_descricao')."</div>"
?>
<?php }?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php if($cck->renderField('d_agendamento')) { ?>
<tr>
<td width="14%" style="font-weight:600">Agendado para: </td>
<td width="86%"><?php echo $cck->renderField('d_agendamento'); ?></td>
</tr>
<?php } ?>
<?php if($cck->renderField('d_status')) { ?>
<tr>
<td style="font-weight:600">Status: </td>
<td><?php echo $cck->renderField('d_status'); ?></td>
</tr>
<?php } ?>
</table>
<div>
<label style="font-family:Arial;font-weight:600;font-size:14px;">Visitantes: </label>
<?php
foreach($result as $results) //Trata o array
for($i = 0; $i < count($results); $i++) {//percorre todo o array de dados e enauanto encontrar um resultado ,vai imprimir
$result = $results[$i];
echo "<label style='background:#2196f3; width:150px; color:#fff;padding-left:5px;'>".$result."</label>";
}
?>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment