Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Witam. Zrobiłem takie coś w php:

<?php
class profile_penaltyLogs extends profile_plugin_parent
{
   /**
    * Feturn HTML block
    *
    * @access    public
    * @param    array        Member information
    * @return    string        HTML block
    */
   public function return_html_block( $member=array() )
   {
       require_once( IPSLib::getAppDir( 'grp' ) . '/sources/classes/grplib.php' );

       $characters = GRPLib::getMemberCharacters($member['member_id'],'');
       if(count($characters))
       {
           foreach($characters as $char)
           {
               $charList .= ','.$char['player_uid'];
           }

           $timeLimit = GRPLib::perm_seeFullLogs($this->memberData,$member) ? '' : ' AND expire>('.(IPS_UNIX_TIME_NOW - 3600*24*30).')';

           $this->DB->query('SELECT l.*,p.nick,u.member_id,u.member_group_id,u.members_seo_name,u.members_display_name
           FROM grp_penalty l
           LEFT JOIN grp_players p ON (p.player_uid=l.player_uid)
           LEFT JOIN grp_players i ON (i.player_uid=l.issuedby)
           LEFT JOIN '.$this->DB->obj['sql_tbl_prefix'].'members u ON (u.member_id=i.owner)
           WHERE l.player_uid IN ('.substr($charList,1).')'.$timeLimit);
           $this->DB->execute();

           $scoldNames = GRPLib::getScoldNames();

           while($row = $this->DB->fetch())
           {
               $row['_playername'] = str_replace("_", " ", $row['nick']);
               $row['_dateline'] = $this->registry->getClass('class_localization')->getDate( $row['dateline'], 'TINY' );

               if($row['expire'] == 0)
                   $row['_expire'] = 'Nigdy nie wygasa';
               else if($row['expire'] == 1)
                   $row['_expire'] = 'Dezaktywowana';
               else
                   $row['_expire'] = $this->registry->getClass('class_localization')->getDate( $row['expire'], 'TINY' );

               $row['_deletable'] = ($row['expire']<IPS_UNIX_TIME_NOW && $row['expire']!=0 && $row['expire']!=1) ? 1 : 0;
               $row['_type'] = $scoldNames[$row['type']];
               $logs[] = $row;
           }

           return $this->registry->getClass('output')->getTemplate('grp')->profilePenaltyLogs($logs);
       }
       else
       {
           return $this->registry->getClass('output')->getTemplate('profile')->tabNoContent( 'err_no_posts_to_show' );
       }
   }
}
?>

Teraz skin:

/* -- profilePenaltyLogs --*/
function profilePenaltyLogs($logs) {
$IPBHTML = "";
if ( ! isset( $this->registry->templateStriping['rows'] ) ) {
$this->registry->templateStriping['rows'] = array( FALSE, "row1","row2");
}
$IPBHTML .= "" . ((count($logs)) ? ("
<table class=\"ipb_table report_center\" summary=\"Zapisy na temat gracza\">
 <tr class=\"header\">
  <th scope=\"col\" style=\"width:120px\">Nadano</th>
  <th scope=\"col\" style=\"width:70px\">Postać</th>
  <th scope=\"col\">Treść wpisu</th>
 </tr>
   ".$this->__f__0236a0b10194877e8c515e2eb6032a61($logs)." </table>
") : ("
<br />
<p class=\"message\">Ten gracz nie posiada ĹĽadnych wpisĂłw w logach.</p>
")) . "";
return $IPBHTML;
}

function __f__0236a0b10194877e8c515e2eb6032a61($logs)
{
$_ips___x_retval = '';
foreach( $logs as $log )
{

 $_ips___x_retval .= "
  <tr class=\"" .  IPSLib::next( $this->registry->templateStriping["rows"] ) . "\">
   <td style=\"width:20%\">{$log['_dateline']}<br />" . IPSLib::makeNameFormatted( $log['members_display_name'],$log['member_group_id'] ) . "" . $this->registry->getClass('output')->getTemplate('global')->user_popup($log['member_id'], $log['members_seo_name']) . "</td>
   <td>{$log['_playername']}<br /><span class=\"desc\">{$log['_type']}</span></td>
   <td>{$log['notes']}<br /><span class=\"desc\">{$log['_expire']}</span>
 " . (($log['_deletable']==1) ? ("
  <ul class=\"right\">
   <li><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "module=ajax&section=character&do=delPenalty&dateline={$log['dateline']}&type={$log['type']}&md5check={$this->member->form_hash}", "publicWithApp",'' ), "", "" ) . "\"><img src=\"{$this->settings['img_url']}/delete.png\" alt=\"Dezaktywuj karÄ™\"></a></li>
  </ul>
 ") : ("")) . "
   </td>
  </tr>

";
}
$_ips___x_retval .= '';
return $_ips___x_retval;
}

No i szablon:

<if test="count($logs)">
<table class="ipb_table report_center" summary="Zapisy na temat gracza">
 <tr class="header">
  <th scope="col" style="width:120px">Nadano</th>
  <th scope="col" style="width:90px">Postać</th>
  <th scope="col">Treść wpisu</th>
 </tr>
<foreach loop="$logs as $log">   
 <tr class="row2">
  <td style="width:20%">{$log['_dateline']}<br /><a hovercard-ref='member' hovercard-id='{$log['member_id']}' class='url fn left _hovertrigger' href='{parse url="showuser={$log['member_id']}" template="showuser" seotitle="{$log['members_display_name']}" base="public"}' title='{$this->lang->words['view_profile']}'>{IPSMember::makeNameFormatted( $log['members_display_name'],$log['member_group_id'] )}</a></td>
  <td>{$log['_playername']}<br /><span class="desc">{$log['_type']}</span></td>
  <td>{$log['notes']}<br /><span class="desc">{$log['_expire']}</span>
   <if test="$log['_deletable']==1">
 <ul class="right">
  <li><a href="{parse url="app=grp&module=ajax&section=character&do=delPenalty&dateline={$log['dateline']}&type={$log['type']}&md5check={$this->member->form_hash}" base="public"}"><img src="{$this->settings['img_url']}/delete.png" alt="Dezaktywuj karę"></a></li>
 </ul>
   </if>
  </td>
 </tr>
</foreach>


</table>
<else />
<br />
<p class="message">Ten gracz nie posiada żadnych wpisów w logach.</p>
</if>

I czemu mi nie czyta tego z bazy jak zostanie nadana kara w grze, stworzone zapytanie? Jest jedynie to wyświetlane " <p class="message">Ten gracz nie posiada żadnych wpisów w logach.</p> ". Czemu tak się dzieje?

Opublikowano

Śmiga śmiga, a powiesz mi do tego jaka będzie zmienna?

/* -- ucpCharList --*/
function ucpCharList($characters) {
$IPBHTML = "";

if ( ! isset( $this->registry->templateStriping['charFields'] ) ) {
$this->registry->templateStriping['charFields'] = array( FALSE, "row1","row2");
}
$IPBHTML .= "" . ((count($characters)) ? ("".$this->__f__575350c7156bd3fc7135dbbc40756a2a($characters)."") : ("
   <p class=\"message unspecific\">Nie posiadasz żadnych postaci. Sprawdź menu znajdujące się po lewej stronie w celu założenia nowej postaci.</p>
")) . "";
return $IPBHTML;
}


function __f__575350c7156bd3fc7135dbbc40756a2a($characters)
{
   $_ips___x_retval = '';
   foreach( $characters as $char )
   {

       $_ips___x_retval .= "
       <fieldset class=\"" .  IPSLib::next( $this->registry->templateStriping["charFields"] ) . "\" style=\"position:relative\">
           <h3><a href=\"
" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=grp&module=ajax&section=character&do=details&char={$char['player_uid']}&md5check={$this->member->form_hash}", "publicWithApp",'' ), "", "" ) . "\" onclick=\"ipb.grp.showCharacterDetails(this,'{$char['player_uid']}');return false;\">{$char['playername']}</a></h3>
           <ul>
               <li class=\"field\">
                   <table border=\"0\">
                       <tbody>
                           <tr>
                               <td style=\"width:70px\"><img src=\"/public/style_grp/skins/Skin_" . (($char['lskin']>0) ? ("{$char['lskin']}") : ("{$char['skin']}")) . ".png\" alt=\"\" /></td>
                           <td valign=\"top\">
                               <table border=\"0\">
                                   <tbody>
<tr>
<td style=\"font-weight:bold;width:25%\">Identyfikator:</td>
<td>{$char['player_uid']}</td>
</tr>
<tr>
<td style=\"font-weight:bold;width:25%\">Czas gry:</td>
<td>{$char['playtime']}</td>
</tr>
<tr>
<td style=\"font-weight:bold;width:25%\">PieniÄ…dze:</td>
<td>$<b></b>{$char['cash']}</td>
</tr>
<tr>
<td style=\"font-weight:bold;width:25%\">Stan konta:</td>
<td>
" . (($char['bank']==-1) ? ("
   Brak konta
") : ("
   $<b></b>{$char['bank']}
")) . "
</td>
</tr>
                                   </tbody>
                               </table>
                           </td>
                       </tr>
                   </tbody>
               </table>
           </li>
       </ul>

       </fieldset>

";
   }
   $_ips___x_retval .= '';
   return $_ips___x_retval;
}

$characters nie działa.

Opublikowano

$characters Nie działa. Tu masz z bitu:

<div class="maintitle ipsFilterbar clearfix">
       <ul class="ipsList_inline">

               <li><a title="Ustawienia ogólne" href="/index.php?app=core&module=usercp&tab=core">Ustawienia</a></li>


               <li class="active"><a title="Ustawienia dla Gra" href="/index.php?app=core&module=usercp&tab=grp">Gra</a></li>

       </ul>

   </div>

<div class="ipsBox">
   <div class="ipsLayout ipsLayout_withleft ipsLayout_smallleft ipsVerticalTabbed clearfix usercp_body">

           <div id="usercp_tabs" class="ipsVerticalTabbed_tabs ipsLayout_left">
               <ul>


                           <li class="active"><a href="/index.php?app=core&module=usercp&tab=grp&area=characters">Twoje postacie</a></li>




                           <li><a href="/index.php?app=core&module=usercp&tab=grp&area=newcharacter">Stwórz postać</a></li>




                           <li><a href="/index.php?app=core&module=usercp&tab=grp&area=logs">Dziennik logowań</a></li>



               </ul>
           </div>

       <div id="usercp_content" class="ipsVerticalTabbed_content ipsLayout_content ipsBox_container">
           <div class="ipsPad">



<if test="count($chars)">
<p class="message">Witaj, <b>{$this->memberData['name']}</b> w kokpicie naszego serwera!<br />Poniżej znajduje się lista wszystkich postaci, które są przypisane do tego konta globalnego.</p>
<br />
 <h3 class="maintitle">Twoja lista postaci</h3>
   <table class="ipb_table report_center" summary="Lista postaci">
           <tr class="header">
           <th scope="col" style="width:10px">UID</th>
           <th scope="col" style="width:70px">Imię Nazwisko</th>
           <th scope="col" style="width:70px">Czas gry</th>
           <th class="short" style="width:70px">Portfel</th>
           <th class="short" style="width:70px">Stan konta</th>
           <th class="short" style="width:90px">Inne</th>

<foreach loop="$chars as $chars">
               <tr class="{parse striping="rows"}">
                       <td>{$chars['player_uid']}</td>
                       <td><a data-tooltip='<img src="public/style_images/master/skins/Skin_{$chars['skin']}.png">' href="#">{$chars['nick']}</a></td>    
                       <td>{$chars['playtime']}</td>
                       <td class="short">$ {$chars['cash']}</td>
                       <td class="short"><a class='ipsButton_secondary' href="{parse url="module=characters&action=hide&id={$chars['player_uid']}&owner={$chars['owner']}" base="publicWithApp"}">Ukryj postać</a></td>

               </tr>
</foreach>


</table>



<else />
<p class="message">Nie posiadasz na swoim koncie żadnej postaci! Przejdź do zakładki <b>Stwórz nową postać</b>, aby utworzyć nowe konto w świecie gry.</p>
</if>

<br> <br>


</div></div></div></div>

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.