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

Unreal Portal - Status Block


+matius

Rekomendowane odpowiedzi

wchodzimy do naszego panelu Unreal Portal:

ACP :a: My Apps ;) Unreal Portal :a: Add Custom Block

usuwamy:

<!-- This is the default custom block template. You can either replace this comment tag with your own content to create a simple custom block or you can remove the entire content and have your own formatting-->

zamiast tego dodajemy:

<?php

$this->registry = ipsRegistry::instance();
$this->DB = $this->registry->DB();

$this->DB->build( array(
                                       'select'        => 'pp.*',
                                       'from'          => array( 'profile_portal' => 'pp' ),
                                       'where'         => 'pp.pp_status <> ""',
                                       'order'         => 'pp.pp_status_update DESC',
                                       'limit'         => array( 0, 10 ),
                                       'add_join'      => array(
                                                                       array(
                                                                                       'select'        => 'm.members_display_name, m.members_seo_name',
                                                                                       'from'          => array( 'members' => 'm' ),
                                                                                       'where'         => 'pp.pp_member_id=m.member_id',
                                                                                       'type'          => 'left'
                                                                               )
                                                               )
                       )       );
$q = $this->DB->execute();

$rows = array();

while( $r = $this->DB->fetch( $q ) )
{
               $r = ipsMember::buildProfilePhoto( $r );
               $rows[] = $r;
       }

echo $this->registry->output->getTemplate( 'boards' )->hookBoardIndexStatusUpdates( $rows );

?>

działa tylko gdy jest zainstalowany hook Status Updates

tut by Steve, tłumaczenie by +matius

Odnośnik do komentarza
Udostępnij na innych stronach

  • 10 miesięcy temu...
  • Manager

Niestety, ale podaj logi błędów z folderu cache/ ( pliki .cgi - szukaj wg daty w nazwie ), bo inaczej niewiele można stwierdzić.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach



Date: Wed, 17 Nov 2010 12:01:43 +0000
Error: 1054 - Unknown column 'pp.pp_status' in 'where clause'
IP Address:  - /
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: SELECT pp.*,m.members_display_name, m.members_seo_name FROM ibf_profile_portal pp  LEFT JOIN ibf_members m ON ( pp.pp_member_id=m.member_id )   WHERE pp.pp_status <> "" ORDER BY pp.pp_status_update DESC LIMIT 0,10
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| admin/applications_addon/other/uportal/modules_public/uportal/uportal.php  | [].eval                                                                       | 1171              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/applications_addon/other/uportal/modules_public/uportal/uportal.php  | [public_uportal_uportal_uportal].customBlock                                  | 191               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/applications_addon/other/uportal/modules_public/uportal/uportal.php  | [public_uportal_uportal_uportal].getCustomBlocks                              | 64                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsController.php                                       | [public_uportal_uportal_uportal].doExecute                                    | 285               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Skoro masz wersję 3.1.3, jak wybrałeś w profilu, to masz błędy w bazie. Przejdź do:

ACP :a: :zaawansowane: Zaawansowane :a: Diagnostyka :a: :a: Baza danych

I powinno Ci znaleźć błędy. Kliknij w link na górze ( nie pamiętam nazwy bo nie mamy tutaj błędów ^_^ ) :a: IP.Board powinien sam poprawić błędne wpisy.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Były błędy - naprawiłem, ale nadal ten sam błąd po dodaniu bloku.

Wyciąg z cache:

Date: Wed, 17 Nov 2010 12:52:52 +0000
Error: 1054 - Unknown column 'pp.pp_status' in 'where clause'
IP Address:  - /
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: SELECT pp.*,m.members_display_name, m.members_seo_name FROM ibf_profile_portal pp  LEFT JOIN ibf_members m ON ( pp.pp_member_id=m.member_id )   WHERE pp.pp_status <> "" ORDER BY pp.pp_status_update DESC LIMIT 0,10
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| admin/applications_addon/other/uportal/modules_public/uportal/uportal.php  | [].eval                                                                       | 1171              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/applications_addon/other/uportal/modules_public/uportal/uportal.php  | [public_uportal_uportal_uportal].customBlock                                  | 191               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/applications_addon/other/uportal/modules_public/uportal/uportal.php  | [public_uportal_uportal_uportal].getCustomBlocks                              | 64                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsController.php                                       | [public_uportal_uportal_uportal].doExecute                                    | 285               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Odnośnik do komentarza
Udostępnij na innych stronach

Po dodaniu 2 tabel: pp_status i pp_status_update do ibf_profile_portal

Takowy błąd wychodzi:

Fatal error: Uncaught exception 'Exception' with message 'memberStatus is not an object' in 
/home2/***/public_html/***/admin/sources/base/ipsRegistry.php:967 
Stack trace: #0 /home2/***public_html/***l/cache/skin_cache/cacheid_10/skin_boards.php(454): ipsRegistry::getClass('memberStatus') #1 /home2/***/public_html/***/admin/applications_addon/other/uportal/modules_public/uportal/uportal.php(1171) : eval()'d code(31): skin_boards_10->hookBoardIndexStatusUpdates(Array) #2 /home2/*** in 
/home2****/public_html/***/admin/sources/base/ipsRegistry.php on line 967

Może złe parametry tym tabelą nadaje?

Może prościej byłoby reinstalować UPortal, tylko czy wtedy nie skasuj wszyskich danych i ustawień z niego?

Edytowane przez Bartman
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Nie nie, nie usuwaj portalu, bo właśnie stracisz wszystkie dane. Poza tym to błąd nie z portalem, z tym kodem. Hm..

Pokaż zawartość tego bitu:

$this->registry->output->getTemplate( 'boards' )->hookBoardIndexStatusUpdates( $rows );

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Głupio zapytam: jak to sprawdzić?

Po wstawieniu do bloku Uportalu wychodzi:

Fatal error: Uncaught exception 'Exception' with message 'memberStatus is not an object' in /home2/***/public_html/***/admin/sources/base/ipsRegistry.php:967 
Stack trace: #0 /home2/***/public_html/***/cache/skin_cache/cacheid_10/skin_boards.php(454): ipsRegistry::getClass('memberStatus') #1 /home2/***/public_html/***/admin/applications_addon/other/uportal
/modules_public/uportal/uportal.php(1171) : eval()'d code(2): skin_boards_10->hookBoardIndexStatusUpdates(NULL) #2 /home2/** in /home2/***/public_html/***/admin/sources/base/ipsRegistry.php on line 967

Odnośnik do komentarza
Udostępnij na innych stronach

<script type='text/javascript' src='{$this->settings['public_dir']}js/ips.status.js'></script>
{parse striping="recent_status" classes="row1,row2"}
<div class='general_box clearfix' id='statusHook'>
<h3><img src='{$this->settings['img_url']}/user_comment.png' alt='' /> {$this->lang->words['recent_status_updates']}</h3>
<div class='_sbcollapsable'>
	<if test="canCreate:|:$this->registry->getClass('memberStatus')->canCreate( $this->memberData )">
		<div class='status_update row2 altrow'>
			<input type='text' id='statusUpdate' style='width:80%'> <input type='submit' class='input_submit' id='statusSubmit' value='{$this->lang->words['_rarr']}' />
			<if test="update:|:(IPSLib::twitter_enabled() OR IPSLib::fbc_enabled() ) AND ( $this->memberData['fb_uid'] OR $this->memberData['twitter_id'] )">
			<p class='desc' style='padding-top:5px;'>{$this->lang->words['st_update']}
				<if test="updateTwitter:|:IPSLib::twitter_enabled() AND ( $this->memberData['twitter_id'] )"><input type='checkbox' id='su_Twitter' value='1' name='su_Twitter' /> <img src="{$this->settings['public_dir']}style_status/twitter.png" style='vertical-align:top' alt='' /></if>
				<if test="updateFacebook:|:IPSLib::fbc_enabled() AND ( $this->memberData['fb_uid'] )"> <input type='checkbox' id='su_Facebook' value='1' name='su_Facebook' /> <img src="{$this->settings['public_dir']}style_status/facebook.png" style='vertical-align:top' alt='' /></if>
			</p>
		</if>
		</div>
	</if>
	<div id="status_wrapper">
		<if test="hasUpdates:|:count( $updates )">
			{parse template="statusUpdates" group="profile" params="$updates, 1, 1"}
		<else />
			<div class='status_mini_wrap row2 desc'><em>{$this->lang->words['status_updates_none']}</em></div>
		</if>
		<div class="status_main_content" style='text-align:right;padding:4px'>
			<a class='desc' href='{parse url="app=members&module=profile&section=status&type=all" seotitle="true" template="members_status_all" base="public"}'>{$this->lang->words['viewallupdates']} {$this->lang->words['_rarr']}</a>
		</div>
	</div>
</div>
</div>

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Spróbuj:

<?php

$this->registry = ipsRegistry::instance();
$this->DB = $this->registry->DB();

/* Load status class */
if ( ! $this->registry->isClassLoaded( 'memberStatus' ) )
{
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/status.php', 'memberStatus' );
$this->registry->setClass( 'memberStatus', new $classToLoad( ipsRegistry::instance() ) );
}

$this->DB->build( array(
                                       'select'        => 'pp.*',
                                       'from'          => array( 'profile_portal' => 'pp' ),
                                       'where'         => 'pp.pp_status <> ""',
                                       'order'         => 'pp.pp_status_update DESC',
                                       'limit'         => array( 0, 10 ),
                                       'add_join'      => array(
                                                                       array(
                                                                                       'select'        => 'm.members_display_name, m.members_seo_name',
                                                                                       'from'          => array( 'members' => 'm' ),
                                                                                       'where'         => 'pp.pp_member_id=m.member_id',
                                                                                       'type'          => 'left'
                                                                               )
                                                               )
                       )       );
$q = $this->DB->execute();

$rows = array();

while( $r = $this->DB->fetch( $q ) )
{
               $r = ipsMember::buildProfilePhoto( $r );
               $rows[] = $r;
       }

echo $this->registry->output->getTemplate( 'boards' )->hookBoardIndexStatusUpdates( $rows );

?>

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

W jakim sensie?

Tak czy inaczej poradnik był pisany pod starą wersję, teraz pewnie i kod się zmienił. Autor poradnika musiałby pogrzebać i sprawdzić.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Poślij PM do autora, może ma czas, by to sprawdzić i się tym zająć. U mnie go niestety brak na chwilę obecną.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Ok, no to autor tematu musi znaleźć autora kodu. Nie jestem w stanie zająć się wszystkimi takimi sprawami - naprawdę to nie rozwiązuje się w parę sekund.

Jeśli miałbym się temu przyjrzeć z bliska ( czyt. zająć empirycznie ) to potrzeba czasu, a z tym u mnie krucho.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • 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ę.