| Marley3 |
24-01-2011 07:09 PM |
Script Vote System!
Galera, meu database é assim, loginserver e gameserver
ai estou tendo dificuldades em por o votesystem, porque o vote system so conecta no gameserver. -.-'
se alguem puder me ajudar.
PAINEL.PHP
Código PHP:
<?php
ob_start();
session_start();
session_cache_expire(10);
session_cache_limiter('private');
define('SYSTEM',TRUE);
require("inc/config.php");
$p = $_GET['a'];
if(getSession() == '') {
header("Location:index.php");
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Painel de controle</title>
<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/vs.js"></script>
<noscript>Você precisa habilitar o javascript do seu navegador</noscript>
</head>
<body>
<div class="noerrorh1">
<span class="left">Olá <b><?php echo getSession(); ?></b> !</span>
<span class="right"><span id="sai">Sair</span></span>
</div>
<div class="cleaner_with_lowheight"></div>
<div id="sair">
<form method="post" action="" onsubmit="return sair(this,'<?php echo getSession(); ?>')">
<input type="submit" name="logout" value="Sair" />
</form>
<div class="cleaner_with_lowheight"></div>
</div>
<div id="valor"></div>
<div class="noerrorh">
<ul id="dados">
<li>Seu último acesso foi em <b><?php echo getAccVal(getSession(),'lastactive'); ?></b></li>
<li>Usando o IP: <b><?php echo getAccVal(getSession(),'lastIP'); ?></b></li>
<li>Seu status no servidor: <b class="red"><?php echo acesso(getAccVal(getSession(),'access_level')); ?></b></li>
<li>Pontos restantes: <b class="tempo"><?php echo getAccVal(getSession(),'pontos_trocar'); ?></b></li>
<li>Personagens na sua conta: <b class="red"><?php echo totalChars(getSession()); ?></b>
<span id="tempo"></span>
<?php
if(totalChars(getSession()) > 0) {
echo "<span id=\"chars\">» Ver chars</span>";
} else {
echo "<span class=\"chars\">» Ver chars</span>";
}
?></li>
<?php
if(getAccVal(getSession(),'access_level') !== '-100') {
if(dataAtual() < '23:30') {
if(returnField(getSession(),'ultimo_voto') !== NULL) {
echo "<li>Seu último voto foi às <b>".ultimoVoto(getAccVal(getSession(),'ultimo_voto'))."</b></li>\n";
echo "\t\t<li>Próximo voto em <b>".nextTime(getSession(),config('tempo'))."</b></li>\n";
if(dataAtual() >= nextTime(getSession(),config('tempo')) || getAccVal(getSession(),'ultimo_voto') == '') {
if(config('limitar') == 'Sim') {
if(getAccVal(getSession(),'pontos_trocar') <= config('limite')) {
echo "\t\t<li><div class=\"clear\">";
echo voteLinks();
echo "</div></li>\n";
} else {
echo "Você está com o máximo de pontos permitidos";
}
} else {
echo "\t\t<li><div class=\"clear\">";
echo voteLinks();
echo "</div></li>\n";
}
}
} else {
echo "\t\t<li><div class=\"clear\">";
echo voteLinks();
echo "</div></li>\n";
}
} else {
echo "O sistema está em recesso. Volta a partir de 00:00";
}
} else {
echo "<li><div class=\"errorauto\">Você está banido</div></li>\n";
}
?>
</ul>
</div>
<div id="oculto" class="hidden">
<?php
if(getAccVal(getSession(),'access_level') === '-100') {
echo "<div class=\"errorauto\">Você está banido</div>\n";
} else {
echo "<div class=\"recompensa\">".SearchId(config('quantia'),config('recompensa'),config('tabela'))."</div>\n";
echo "\t\t<div id=\"listchars\">\n";
echo "\t\t\t<ol>\n";
echo listMyChars(getSession());
echo "\t\t\t</ol>\n";
echo "\t\t</div>\n";
}
?>
</div>
<div class='cleaner_with_lowheight'></div>
<?php
isset($_POST['recebeitem']) ? $recebeitem = $_POST['recebeitem'] : $recebeitem = '';
isset($_POST['tsexo']) ? $tsexo = $_POST['tsexo'] : $tsexo = '';
isset($_POST['votar']) ? $votar = $_POST['votar'] : $votar = '';
isset($_POST['logout']) ? $logout = $_POST['logout'] : $logout = '';
if($recebeitem != '' && $p === 'add') {
echo receberItem(getSession(),$_POST['id'],getAccVal(getSession(),'pontos_trocar'),config('pontos_item'),config('quantia'),config('recompensa'));
}
if($tsexo != '' && $p === 'add') {
echo trocaSexo(getAccVal(getSession(),'pontos_trocar'),config('pontos_sexo'),$_POST['sex'],$_POST['id'],getSession());
}
if($votar != '' && $_POST['user'] === getSession()) {
echo votar(getSession(),config('pontos_ganhos'),config('tempo'));
}
if ($logout != '') {
$destroi = session_destroy();
echo "<script type=\"text/javascript\">alert('Deslogado com sucesso');location='index.php';</script>";
}
if(getAccVal(getSession(),'access_level') == '200') {
?>
<div class="noerrorh1">
<span class="left">Painel de controle</span>
<span class="right"><span id="pn">Alterar config"s</span></span>
</div>
<div class="cleaner_with_lowheight"></div>
<div id="basic" class="myform hidden">
<form action="" method="post">
<p class="title"><span id="help">Painel de controle do sistema</span></p>
<p><label for="recompensa">Recompensa</label>
<input type="text" value="<?php echo config('recompensa'); ?>" name="recompensa" id="recompensa" maxlength="6" onfocus="help('ID do item que será a recompensa');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="tabela">Tabela</label>
<input type="text" value="<?php echo config('tabela'); ?>" name="tabela" id="tabela" maxlength="10" onfocus="help('Tabela do item (<span class=\'red\'>armor, etcitem ou weapon</span>)');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="quantia">Quantia</label>
<input type="text" value="<?php echo config('quantia'); ?>" name="quantia" id="quantia" maxlength="5" onfocus="help('Quantidade do item que o player irá receber');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="pontos_ganhos">Pontos</label>
<input type="text" value="<?php echo config('pontos_ganhos'); ?>" name="pontos_ganhos" id="pontos_ganhos" maxlength="2" onfocus="help('Quantos pontos irá ganhar quando clicar em Votar');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="troca_item">Ativar prêmio?</label>
<select id="troca_item" name="troca_item" onchange="sty1 = document.getElementById('ti');if (this.value == 'Sim'){ sty1.style.visibility = 'visible';sty1.style.display = 'block'}else{ sty1.style.visibility = 'hidden';sty1.style.display = 'none'};">
<option value="Não">Não</option>
<option value="Sim">Sim</option>
</select></p>
<p id="ti"><label for="pontos_item">Pontos Item</label>
<input type="text" value="<?php echo config('pontos_item'); ?>" name="pontos_item" id="pontos_item" maxlength="2" onfocus="help('Pontos necessários para ganhar o item');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="troca_sexo">Ativar troca de sexo?</label>
<select id="troca_sexo" name="troca_sexo" onchange="sty1 = document.getElementById('ts');if (this.value == 'Sim'){ sty1.style.visibility = 'visible';sty1.style.display = 'block'}else{ sty1.style.visibility = 'hidden';sty1.style.display = 'none'};">
<option value="Não">Não</option>
<option value="Sim">Sim</option>
</select></p>
<p id="ts"><label for="pontos_sexo">Pontos Sexo</label>
<input type="text" value="<?php echo config('pontos_sexo'); ?>" name="pontos_sexo" id="pontos_sexo" maxlength="2" onfocus="help('Pontos necessários para trocar de sexo');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="limitar">Limitar pontos</label>
<select id="limitar" name="limitar" onchange="sty1 = document.getElementById('li');if (this.value == 'Sim'){ sty1.style.visibility = 'visible';sty1.style.display = 'block'}else{ sty1.style.visibility = 'hidden';sty1.style.display = 'none'};">
<option value="Não">Não</option>
<option value="Sim">Sim</option>
</select></p>
<p id="li"><label for="limite">Limite de pontos</label>
<input type="text" value="<?php echo config('limite'); ?>" name="limite" id="limite" maxlength="2" onfocus="help('Máximo de pontos acumulativos');" onblur="help('Painel de controle do sistema');" /></p>
<p><label for="tempo">Minutos</label>
<input type="text" value="<?php echo config('tempo'); ?>" name="tempo" id="tempo" maxlength="2" onfocus="help('Intervalo em <span class=\'red\'>minutos</span> entre um voto e outro');" onblur="help('Painel de controle do sistema');" /></p>
<input type="submit" name="config" value="Concluir" onmouseover="help('Confirmar todos os dados');" onmouseout="help('Painel de controle do sistema');" />
<div class="spacer"></div>
</form>
</div>
<?php
}
isset($_POST['config']) ? $config = $_POST['config'] : $config = '';
if($config != '') {
echo "<div id='results'><a id='close' class='right'>X</a>";
foreach($_POST as $campo => $valor) {
if(trim($valor) == '') {
$msg .= "<script type=\"text/javascript\">alert('Você não preencheu o campo ".strtoupper(str_replace("_", " ", $campo))."');</script>\n";
}
if(!empty($msg)) {
echo $msg;
echo "<script type=\"text/javascript\">window.location='painel.php';</script>";
} else {
if($campo != 'config') {
$query = mysql_query("UPDATE vote_config SET valor = '$valor' WHERE (nome = '$campo')");
if($query) {
echo "<p align='left'>Linha <b>$campo</b> atualizado para <b class='red'>$valor</b></p><br/>";
} else {
echo "<p align='left'>Falha ao atualizar o registro <b>$campo</b></p><br/>";
}
}
}
}
if(!empty($msg)) {
echo $msg;
echo "<script type=\"text/javascript\">history.go(-1);</script>";
}
echo "</div>";
}
echo "\n";
?>
<div id="credit">L2Iren Interlude <a href="mailto:suporte@l2iren.com.br">1000x PvP</a></div>
</body>
</html>
<?php
ob_end_flush();
?>
fuctions.php
Código PHP:
<?php
date_default_timezone_set('America/Los_Angeles');
$script_tz = date_default_timezone_get();
if (strcmp($script_tz, ini_get('date.timezone'))){
} else {
echo 'Script timezone and ini-set timezone match.';
}
function atualizaDB($ultima='ultima_pagina',$tabela='accounts') {
mysql_query("ALTER TABLE `$tabela`");
mysql_query("ADD COLUMN `pontos_trocar` char(10) NULL DEFAULT `0` AFTER `$ultima`");
mysql_query("ADD COLUMN `ultimo_voto` char(10) NULL DEFAULT NULL AFTER `pontos_trocar`");
mysql_query("ADD COLUMN `foto` varchar(60) NULL DEFAULT NULL AFTER `resposta`;");
return true;
}
function dataAtual() {
return date("H:i");
}
function getSession() {
return $_SESSION[SITE.'login'];
}
function getLogin($sessao) {
$bruto = explode(SITE,$sessao);
return $bruto[0];
}
function config($return) {
$configs = mysql_query("SELECT valor FROM vote_config WHERE nome = '$return'");
$valor = mysql_result($configs, 0);
return $valor;
}
function returnField($conta,$field) {
$query = mysql_query("SELECT * FROM accounts WHERE login = '$conta'");
while($array = mysql_fetch_array($query)) {
$coluna = $array[$field];
}
return $coluna;
}
function totalChars($conta) {
$query = mysql_query("SELECT * FROM characters WHERE account_name = '$conta'");
$total = mysql_num_rows($query);
return $total;
}
function getAccVal($conta,$retorno) {
$query = mysql_query("SELECT * FROM accounts WHERE login = '$conta'");
while($array = mysql_fetch_array($query)) {
if($retorno === 'lastactive') {
$valor = date("d/m/Y H:i",$array[$retorno]/1000);
} elseif($retorno === 'ultimo_voto') {
$valor = date("d/m/Y H:i",$array[$retorno]);
} else {
$valor = $array[$retorno];
}
}
return $valor;
}
function acesso($nivel) {
switch($nivel) {
case '-100': $acesso = "Banido";
break;
case 0: $acesso = "Player";
break;
case 100: $acesso = "GM";
break;
case 200: $acesso = "Admin";
break;
default: $acesso = "Desconhecido";
break;
}
return $acesso;
}
function ultimoVoto($voto) {
$voto2 = explode(" ",$voto);
return $voto2[1];
}
function nextTime($login,$intervalo) {
$ponto = mysql_query("SELECT * FROM accounts WHERE login = '$login'");
while($pontos = mysql_fetch_array($ponto)) {
$provoto = date("H:i",strtotime(date("H:i", strtotime(date("H:i",$pontos['ultimo_voto']))). "+$intervalo minutes"));
}
return $provoto;
}
function encrypt($senha) {
return base64_encode(pack('H*', sha1($senha)));
}
function newObId() {
$sql = @mysql_query("SELECT object_id FROM items ORDER BY object_id DESC");
$max_items = @mysql_result($sql,0);
return $max_items+1;
}
function SearchId($quantia,$id,$table) {
$select = mysql_query("SELECT * FROM $table WHERE item_id = '$id'");
while($item = mysql_fetch_row($select)) {
$rec = "Receberá: ".config('quantia')." ".$item[1];
}
return $rec;
}
function listMyChars($conta) {
$query = mysql_query("SELECT * FROM characters WHERE account_name = '$conta' AND online = '0' ORDER BY char_name ASC");
while($chararray_session = mysql_fetch_array($query)) {
echo "\t\t\t\t<li class='listchars'>\n";
echo "\t\t\t\t<span class='nomechar'>".$chararray_session['char_name']."</span><br/>\n";
if(config('troca_item') == 'Sim') {
if(getAccVal($conta,'pontos_trocar') >= config('pontos_item')) {
echo "
\t\t<form action='?a=add' method='post'>
\t\t<input type='hidden' name='id' value='{$chararray_session['obj_Id']}' />
\t\t<input type='submit' value='Receber Item' name='recebeitem' />
\t\t</form>";
} else {
echo "\t\t\t\t<div class='errorauto smallfont'>Não possui pontos suficientes para receber o prêmio</div>\n";
}
} else {
echo "\t\t\t\tA recompensa não está à disposição.<br/>\n";
}
if(config('troca_sexo') == 'Sim') {
if(getAccVal($conta,'pontos_trocar') >= config('pontos_sexo')) {
echo "
\t\t<form action='?a=add' method='post'>
\t\t<input type='hidden' name='id' value='{$chararray_session['obj_Id']}' />
\t\t<input type='hidden' name='sex' value='{$chararray_session['sex']}' />
\t\t<input type='submit' value='Trocar Sexo' name='tsexo' />
\t\t</form>\n";
} else {
echo "\t\t\t\t<div class='errorauto smallfont'>Não possui pontos suficientes para trocar de sexo</div>\n";
}
} else {
echo "\t\t\t\tA troca de sexo está desativada.<br/>\n";
}
echo "\t\t\t\t<div class='clear'></div>\n\n";
echo "\t\t\t\t</li>\n\n";
}
}
function receberItem($login,$dono,$pontos,$necessarios,$quantia,$recompensa) {
if($pontos >= $necessarios) {
$confere = mysql_query("SELECT * FROM items WHERE owner_id = '$dono' AND item_id = '$recompensa'");
$resultado = mysql_num_rows($confere);
// $deletatodos = mysql_query("DELETE FROM items WHERE (owner_id = '$dono') AND (item_id = '$recompensa')");
$query = mysql_query("INSERT INTO items (owner_id, object_id, item_id, count, loc, loc_data, price_sell, price_buy) VALUES ('$dono', '".newObId()."', '$recompensa', '$quantia', 'WAREHOUSE', '0', '0', '0')");
#Gracia
//$query = mysql_query("INSERT INTO items (owner_id, object_id, item_id, count, enchant_level, loc, loc_data, time_of_use, custom_type1, custom_type2, mana_left, time) VALUES ('$dono', '".newObId()."', '$recompensa', '$quantia', '0', 'WAREHOUSE', '0', null, '0', '0', '-1', '-1')");
$reduz = mysql_query("UPDATE accounts SET pontos_trocar=(pontos_trocar-$necessarios) WHERE login = '$login'");
$nome = mysql_query("SELECT char_name FROM characters WHERE obj_Id = '$dono'");
$rnome = mysql_result($nome,0);
if(!$query) {
echo "<div class='error'>Erro ao atualizar os itens do personagem</div>";
} elseif(!$reduz) {
echo "<div class='error'>Erro ao atualizar sua conta</div>";
} else {
echo "<script type='text/javascript'>alert('Recompensa entrege para $rnome com sucesso');window.location='painel.php';</script>";
}
}
else {
echo "<div class='errorauto'>Você não possui pontos suficientes para receber o prêmio</div>";
}
}
function trocaSexo($pontos,$necessarios,$sexo,$char,$login) {
if($pontos >= $necessarios) {
if($sexo == 0) {
$newsex = 1;
} else {
$newsex = 0;
}
$query = mysql_query("UPDATE characters SET sex = '$newsex' WHERE (obj_Id = '$char')");
$reduz = mysql_query("UPDATE accounts SET pontos_trocar=(pontos_trocar-$necessarios) WHERE login = '$login'");
$nome = mysql_query("SELECT char_name FROM characters WHERE obj_Id = '$char'");
$rnome = mysql_result($nome,0);
if(!$query) {
echo "<div class='error'>Ocorreu um erro</div>";
} elseif(!$reduz) {
echo "<div class='error'>Erro ao atualizar sua conta</div>";
} else {
echo "<script type='text/javascript'>alert('O sexo de $rnome foi alterado');window.location='painel.php';</script>";
}
} elseif($pontos < $necessarios) {
echo "<div class='errorauto'>Pontos insuficientes</div>";
}
}
function votar($login,$ganhos,$intervalo) {
$votou = mysql_query("UPDATE accounts SET pontos_trocar=(pontos_trocar+$ganhos), ultimo_voto='".time()."' WHERE (login='$login') LIMIT 1");
if($votou) {
$destroi = session_destroy();
echo "<script type='text/javascript'>alert('Obrigado pelo seu voto');</script>";
if($destroi) {
echo "<script type='text/javascript'>alert('Você poderá votar novamente dentro de $intervalo minutos');</script>";
echo "<script type='text/javascript'>window.location='index.php';</script>";
}
} else {
echo "<script type='text/javascript'>alert('Ocorreu um erro');</script>";
}
}
function changeConfig($recompensa,$tabela,$quantia,$pontosganhos,$pontositem,$pontossexo,$url,$minutos) {
$trocaconfig = mysql_query("UPDATE vote_system SET recompensa='$recompensa', tabela='$tabela', quantia='$quantia', pontosganhos='$pontosganhos', pontositem='$pontositem', pontossexo='$pontossexo', url='$url', minutos='$minutos' WHERE (id='1') LIMIT 1");
if($trocaconfig) {
echo "<script type='text/javascript'>alert('As configurações foram atualziadas com sucesso');location='painel.php';</script>";
} else {
echo "<script type='text/javascript'>alert('Falha ao alterar as configurações;</script>";
}
}
function voteLinks() {
echo "
<div id=\"VoteLinks\" align=\"center\">
<a href=\"http://www.gamesites200.com/lineage2/in.php?id=24905\" target=\"_blank\">
<img src=\"img/top200.gif\" alt=\"prize\" />
</a>
<a href=\"http://www.gamesites200.com/lineage2/in.php?id=24905\" target=\"_blank\">
<img src=\"img/top200.gif\" alt=\"prize\" />
</a>
<div class=\"hidden\"><a href=\"#\"><img src=\"files/prize.gif\" alt=\"\" /></a></div>
<form method=\"post\" name=\"vote\" action=\"?a=votar\">
<input type=\"hidden\" value=\"".getSession()."\" name=\"user\" />
<input type=\"hidden\" value=\"".time("d/m/Y H:i:s")."\" name=\"time\" />
<span id=\"mostrabtn\"></span>
</form>
VOTE DUAS VEZES
</div>
";
}
?>
config.php
Código PHP:
<?php
foreach ($_ENV as $key => $value)
unset($$key);
foreach ($_GET as $key => $value)
unset($$key);
foreach ($_POST as $key => $value)
unset($$key);
foreach ($_COOKIE as $key => $value)
unset($$key);
foreach ($_SERVER as $key => $value)
unset($$key);
@define(HOST,'localhost'); // IP do host, padrão 'localhost'
@define(DATA,'gameserver'); // Nome do banco de dados, padrão 'l2jdb'
@define(USER,'root'); // Usuário do MySql, padrão 'root'
@define(PASS,'SENHADB'); // Senha do MySql, padrão '' [lembre-se do caso sensitive]
@define(SITE,'l2iren.no-ip.org'); // Aqui pode ser qualquer coisa, é apenas uma validação do SESSION
$con = mysql_connect(HOST,USER,PASS) or trigger_error(mysql_error(),E_USER_ERROR);
$db = mysql_select_db(DATA) or trigger_error(mysql_error(),E_USER_ERROR);
$conta = "0";
require_once("sql_protect_base64.php");
require_once("functions.php");
?>
|