Ir para conteúdo

[Encerrado] ThemeBox Bugado


Gabrielkss

Posts Recomendados

Olá pessoal estou tentando usar um themebox de um site que veio mais não estou conseguindo pois dá o seguinte erro 

 

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\layouts\tibiarl\layout.php on line 742

Essa é minha linha 742 completa

Spoiler

<div id="warcastle" class="Themebox" style="background-image:url(<?PHP echo $layout_name; ?>/images/themeboxes/warcastle.png);">
  <div id="warcastle" style="height:190px; width:180px; background-image:url(./layouts/tibiarl/images/themeboxes/warcastle.png);">
  <?php 
     $b = 1;
    foreach($castle as $guild) {
      echo '<div style="float:center;margin:auto"><br><br><br><br>
      <a href="?subtopic=guilds&action=show&guild='.$guild['guild_id'].'" style="background: transparent url(layouts/tibiarl/images/menu/fire.gif);font-size:14px;text-shadow: 0.1em 0.1em #333" class="topfont">
       <img class="img" src="guild_image.php?id='.$guild['guild_id'].'" width=64 height=64><br>
      '.$guild['guildname'].'
      </a>
      </div>';
      $b++;
    }
    ?>
    </div>
</div>    <br>

Tem outra parte também que faz parte.

Spoiler

<?php
$castle = $SQL->query('SELECT c.id AS id, g.logo_gfx_name AS `logo`, g.name AS guildname, c.guild_id AS guild_id
      FROM castle_dono AS c
   INNER JOIN guilds AS g
      ON g.id = c.guild_id
   ORDER BY id DESC LIMIT 10;');
?>

Alguém poderia ajudar por favor ?

Link para o comentário
Compartilhar em outros sites

Pelo que deu para perceber ele está dando erro no foreach(), procure por todos ->foreach() e remova-os, salve o arquivo e veja se há alguma alteração, no código que você passou não há nenhum, no entanto não tem capacidade de dar algum erro... Veja se resolve, caso não resolva, posta da mesma forma em spoiler o seu layout.php inteiro para que possa ser feita uma verificação mais detalhada para solução do caso, fico no aguardo.

 

Obrigado por nos contactar, é uma honra poder ajudar as pessoas que estão com problemas, XTibia sempre disponível a ajudar.

Link para o comentário
Compartilhar em outros sites

@VictorWEBMaster No primeiro spoiler tem o foreach()

 

Spoiler

 foreach($castle as $guild) {
      echo '<div style="float:center;margin:auto"><br><br><br><br>
      <a href="?subtopic=guilds&action=show&guild='.$guild['guild_id'].'" style="background: transparent url(layouts/tibiarl/images/menu/fire.gif);font-size:14px;text-shadow: 0.1em 0.1em #333" class="topfont">
       <img class="img" src="guild_image.php?id='.$guild['guild_id'].'" width=64 height=64><br>
      '.$guild['guildname'].'
      </a>
      </div>';

 

 

Link para o comentário
Compartilhar em outros sites

Vamos fazer o seguinte, fica mais fácil pra mim e pra voce =)

 

Onde voce pegou esse sistema? Poderia postar aqui neste topico o link para que eu possa revisar, se não há nenhum erro no mesmo já de 'fabrica'.

Posso demorar alguns dias para postar, não passa de 3 dias, estou meio compromissado com umas tarefas, mas pretendo ajudar a todos!

Link para o comentário
Compartilhar em outros sites

@VictorWEBMaster Olha eu peguei esse sistema de um site que já vinha com ele, todo mundo que baixou o site tá com o mesmo erro. Só o que compoem o script é isso mesmo pelo menos que eu achei. não encontrei o link aqui no xtibia, irei te passar por PM o link. um membro de outro forum, fez uma coisa mais não funciona tbm. mais pelo menos o dele aparece no site o castle siege só não aparace nada. Olha tbm por favor.

 

Crie um arquivo.php em layout/widgets e adicione isso:

Spoiler

<div class="sidebar">
<?php
    $guild = mysql_select_single('SELECT `name` FROM `guilds` WHERE `real_castle` = 1;');
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 10px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/HKCJnQy.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><br><p>Castle is not dominated</p><br>';?>
        </div>
   </div>
</div>

 

No mysql, execute o comando para criar uma nova  coluna na tabela guilds:

ALTER TABLE `guilds` ADD `real_castle` INT NOT NULL DEFAULT 0;

Como não conheço o evento, acho que deve ter a lib dele aí, adicione a seguinte função na lib:

function setGuildRealCastle(cid)
db.executeQuery("UPDATE `guilds` SET  `real_castle` = REPLACE(`real_castle`, 1, 0);")
db.executeQuery("UPDATE `guilds` SET `real_castle` = 1 WHERE `id` = '" .. getPlayerGuildId(cid) .."';")
end

E na função da lib que dá o domínio do castelo, adicione: 

setGuildRealCastle(cid)

 

 

image.png.e164160d0c69295d3ffa8caf629e6734.png

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Passando o olho no script já percebo de cara que não é para gesior... Segue abaixo script compatível com gesior.

Espero que ajude

 

Spoiler

<style type="text/css" media="all">
		#CastleWarBox a {
			color:#FFF !important;
			font-weight:bold;
			font-size:14px;
			text-decoration: none;
			text-shadow: #FF0404 1px 1px 10px
		}
		#CastleWarBox p {
			color:#FFF !important;
			font-weight:bold;
			font-size:14px;
		}
		.topfont {			
			font-family: "Trebuchet MS", sans-serif;
		}
		@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
		</style>
		<?php
		$guild = $SQL->query('SELECT * FROM `guilds` WHERE `real_castle` = 1');
		foreach($guild as $guild) {
		?>
		<div id="CastleWarBox" class="Themebox"  style="animation: blink 2s;animation-iteration-count: infinite;background-image:url(https://i.imgur.com/p1JFuwJ.png); margin-bottom:20px; height:192px; opacity: 0.9;filter: alpha(opacity=90);" >
			<div style="padding-top:48px;">			
				<div align="center" style="text-align:center;">
					<a href="?subtopic=castlewar" class="topfont">
					<?php
						if (!$guild['guild_logo']){
					?>
						<img src="/images/default_logo.jpg" width="64" height="64" border="0" style="margin-top:5px;">
					<?php }
					else
					{
						echo '<img src="guild_image.php?id='.$guild['id'].'" width="64" height="64" border="0" style="margin-top:5px;">';
					}
					
					?>
					</a>
					<p><a href="?subtopic=castlewar" class="topfont"><?php echo $guild['name']; ?></a></p>
				</div>			</div>
			<div class="Bottom" style="background-image:url(<?php echo $layout_name; ?>/images/global/general/box-bottom.gif); top:191px;"></div>
		</div>
		<?php } ?>

 

 

Link para o comentário
Compartilhar em outros sites

  • 5 months later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...