Stránka 1 z 1

minestatus widget

Napsal: 23 pro 2012, 15:56
od King_of_KeKs
Dobrý deň,
mám menší problém, teda je to skôr otázka, ale radšej nebudem fylozofovať a prejdem k veci ;)

Dal som si na web tento minestatus widget na zobrazovanie IP adresy serveru, počtu hráčov a odozvy serveru. Avšak dosť mi prekáža, že sa mi IP adresa a port serveru zobrazujú oddelene, potom sú neskúsený hráči, ktorý si pozerajú web zmätený a nevedia ako majú skombinovať IP adresu s portom aby sa mohli napojiť na server(na konci príspevku dokladám ss). Keďže do php sa ani trošičku nevyznám tak sa chcem sa preto spýtať či nemáte niekto upravený kód kde sa vám IP adresa a port zobrazujú na jednom riadku ?

Ďakujem vopred.


screenshot návrhu ako by sa mohla IP adresa ukazovať :
Spoiler: zobrazit
Obrázek

Za upload ďakujem vojkovy :)

Re: minestatus widget

Napsal: 23 pro 2012, 17:32
od zdenda204
Zde....
Spoiler: zobrazit

Kód: Vybrat vše

<?php echo $arrArgs['before_widget']; ?>
<?php echo $arrArgs['before_title'] . $strTitle . $arrArgs['after_title']; ?>
<p>

   <?php if ($arrInstance['show_server_name']): ?>
      IP:<strong><?php echo $arrInstance['host']; ?>:27802</strong><br>   //Jen si tu uprav port.
   <?php endif; ?>

   <?php if ($arrInstance['show_server_status']): ?>
      Server status: <span style="color:green;font-weight:bold">online</span><br>
   <?php endif; ?>
   
   <?php if (is_null($arrInstance['show_load_time']) || $arrInstance['show_load_time']): ?>
      Odezva: <strong><?php echo $arrStatus['load']; ?> ms</strong><br>
   <?php endif; ?>

   <?php if($arrStatus['count'] > 0 && $arrInstance['show_players']) : ?>
            
      <?php if(is_null($arrInstance['show_playerlist']) || $arrInstance['show_playerlist'] === true) : ?>

         <?php $intRandom = rand(0,10000); ?>
         <a href="javascript:toggleMcsList_<?php echo $intRandom; ?>();">Hraci</a>: <strong><?php echo $arrStatus['count']; ?>/<?php echo $arrStatus['max']; ?></strong><br>
      
      <?php else : ?>   
         
         Players online: <strong><?php echo $arrStatus['count']; ?>/<?php echo $arrStatus['max']; ?></strong><br>
               
      <?php endif; ?>
   
   <?php elseif($arrInstance['show_players']) : ?>
      
      Players online: <strong><?php echo $arrStatus['count']; ?>/<?php echo $arrStatus['max']; ?></strong><br>
      
   <?php endif; ?>
            
</p>

<?php if($arrStatus['count'] > 0 && $arrInstance['show_players']) : ?>

   <?php if(is_null($arrInstance['show_playerlist']) || $arrInstance['show_playerlist'] === true) : ?>
               
      <ul id="mcs_list_<?php echo $intRandom; ?>" style="display:none">
         <?php foreach($arrStatus['list'] as $strPLayer) : ?>
            <li><?php echo $strPLayer; ?></li>
         <?php endforeach; ?>
      </ul>
   <?php endif; ?>
   
<?php endif; ?>
      
<?php echo $arrArgs['after_widget']; ?>         

<script type="text/javascript">
   function toggleMcsList_<?php echo $intRandom; ?>() {
      if(document.getElementById('mcs_list_<?php echo $intRandom; ?>').style.display == 'none') {
         document.getElementById('mcs_list_<?php echo $intRandom; ?>').style.display = 'block';
      } else {
         document.getElementById('mcs_list_<?php echo $intRandom; ?>').style.display = 'none';
      }
   }
</script>

         


Když nad tím teď tak přemýšlím, tak tento upravený kód nebude fungovat pro více jak 1 widget. Za nedlouho sem přihodím takový kód, který potřebuješ.

Edit: Tak zde to máš:
Spoiler: zobrazit

Kód: Vybrat vše

<?php echo $arrArgs['before_widget']; ?>
<?php echo $arrArgs['before_title'] . $strTitle . $arrArgs['after_title']; ?>
<p>

   <?php if ($arrInstance['show_server_name']): ?>
      <strong><?php echo $arrInstance['host']; ?>:<?php echo $arrStatus['port']; ?></strong><br>
   <?php endif; ?>

   <?php if ($arrInstance['show_server_status']): ?>
      Server status: <span style="color:green;font-weight:bold">online</span><br>
   <?php endif; ?>
   
   <?php if (is_null($arrInstance['show_load_time']) || $arrInstance['show_load_time']): ?>
      Load time: <strong><?php echo $arrStatus['load']; ?> ms</strong><br>
   <?php endif; ?>

   <?php if($arrStatus['count'] > 0 && $arrInstance['show_players']) : ?>
            
      <?php if(is_null($arrInstance['show_playerlist']) || $arrInstance['show_playerlist'] === true) : ?>

         <?php $intRandom = rand(0,10000); ?>
         <a href="javascript:toggleMcsList_<?php echo $intRandom; ?>();">Players</a>: <strong><?php echo $arrStatus['count']; ?>/<?php echo $arrStatus['max']; ?></strong><br>
      
      <?php else : ?>   
         
         Players online: <strong><?php echo $arrStatus['count']; ?>/<?php echo $arrStatus['max']; ?></strong><br>
               
      <?php endif; ?>
   
   <?php elseif($arrInstance['show_players']) : ?>
      
      Players online: <strong><?php echo $arrStatus['count']; ?>/<?php echo $arrStatus['max']; ?></strong><br>
      
   <?php endif; ?>
            
</p>

<?php if($arrStatus['count'] > 0 && $arrInstance['show_players']) : ?>

   <?php if(is_null($arrInstance['show_playerlist']) || $arrInstance['show_playerlist'] === true) : ?>
               
      <ul id="mcs_list_<?php echo $intRandom; ?>" style="display:none">
         <?php foreach($arrStatus['list'] as $strPLayer) : ?>
            <li><?php echo $strPLayer; ?></li>
         <?php endforeach; ?>
      </ul>
   <?php endif; ?>
   
<?php endif; ?>
      
<?php echo $arrArgs['after_widget']; ?>         

<script type="text/javascript">
   function toggleMcsList_<?php echo $intRandom; ?>() {
      if(document.getElementById('mcs_list_<?php echo $intRandom; ?>').style.display == 'none') {
         document.getElementById('mcs_list_<?php echo $intRandom; ?>').style.display = 'block';
      } else {
         document.getElementById('mcs_list_<?php echo $intRandom; ?>').style.display = 'none';
      }
   }
</script>

         

PS: Je to obsah souboru /wp-content/plugins/minestatus/views/status-online.phtml

Re: minestatus widget

Napsal: 23 pro 2012, 18:59
od King_of_KeKs
Funguje to !
Veľmi pekne ďakujem :)

//LOCK