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

Mdx91

Użytkownik
  • Postów

    1 050
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Mdx91

  1. Poprzez hover elementu Na przykładzie linków: a { color: #fff; opacity: 0.5; } a:hover { color: #fff; opacity: 1; } Działać będzie teraz: Link normalny w 50% przeźroczystkości Link po najechaniu bez przeźroczystości
  2. http://www.w3schools.com/cssref/css3_pr_opacity.asp Zwykły css
  3. Kurde więc wróciliśmy jednak do punktu wyjścia Domyślam się że zmianą ID nie wiele zdziałam? *Forum które chce przenieść na główne nie jest duże*
  4. O localhoscie nie pomyślałem A myślałem o eksporcie tabel tematów, postów, userów (po konwersji oczywiście), a potem imporcie do głównego forum. Przez PMA
  5. Planuję zrobić coś na zasadzie fuzji moich dwóch forów. Jedno główne stoi na IPB, drugie na MyBB (nie mam na tyle czasu aby prowadzić oba, a szkoda mi tematów bo są bardzo wartościowe). Ale pojawia się problem jak to połączyć by nic się nie posypało. Tak co o tym rozmyślałem to wymyśliłem coś takiego: Konwersja z MyBB do IPB na forum które chce przenieść Eksport użytkowników, tematów, postów. Dodatkowo myśle nad zawartością tabel od własnych profili etc. ale to już by nie było konieczne. Import tabel do forum głównego Niby plan jako tako jest prosty (i na mój rozum powinno to zadziałać), ale jak zawsze mam wątpliwości że coś moze się posypać na forum głównym (oczywiście kopie przed operacją zrobię, ale i tak stratą czasu będzie ratowanie forum które działało bez zarzutu) Nie mam do dyspozycji więcej "miejsca" na próby (nie mam zamiaru stawiać na chwilę IPB na darmowym serwie bo i tak połowa nie zatrybi ). Dlatego chciałbym was spytać czy taka operacja jak przedstawiłem ma szanse się powieść bez problemów? A może jest inny prostszy sposób na zrobienie takiej fuzji? PS. Nie wiem czy dobry dział wybrałem, więc w razie czego to proszę o przeniesienie
  6. Udało się Dziękuję wielkie za każdą pomoc
  7. Poczytałem trochę o tym, pokombinowałem i po setnej próbie zamiast zwykłego błędu wyskoczyło mi to: string(203) "e.entry_id IN(3,2,1) AND e.entry_status !='draft' AND ( ( b.blog_owner_only=1 AND b.member_id=1 ) OR b.blog_owner_only=0 ) AND ( b.blog_authorized_users LIKE '%,1,%' OR b.blog_authorized_users IS NULL )" oraz warningi (ale je pomijam) Nie wiem czy o to chodziło więc jak nie to będę próbował dalej
  8. Chodzi Ci o zmienną $_where? I jak ją wyechować? (w PHP jestem niestety na poziomie rozpoczynania nauki )
  9. Losowo się wyświetlają tak jak powinny ale nie pobiera tych "starszych" wpisów.
  10. Hook pobiera (teraz) ok. 10-15 ostatnich wpisów Ja chciałbym by pobierał wszystkie (tj. u mnie aktualnie: 124) bez względu na to czy wpis był pisany jako pierwszy czy ostatni Tak lepiej?
  11. Sorki <hooks_source><![CDATA[<?php class latestBlogPostsTicker { public $registry; public $member; public function __construct() { $this->registry = ipsRegistry::instance(); $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->lang = $this->registry->getClass('class_localization'); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); if ( ! $this->registry->isClassLoaded('blogFunctions') ) { $classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'blog' ) . '/sources/classes/blogFunctions.php', 'blogFunctions', 'blog' ); $this->registry->setClass('blogFunctions', new $classToLoad($this->registry)); } $this->blogFunctions = $this->registry->getClass('blogFunctions'); if ( ! defined( 'BLOG_LIBS' ) ) { define( 'BLOG_LIBS', IPS_ROOT_PATH . 'applications_addon/ips/blog/sources/lib/' ); define( 'BLOG_PATH', IPS_ROOT_PATH . 'applications_addon/ips/blog/' ); } /* Build the permissions */ $this->memberData = $this->blogFunctions->buildPerms( $this->memberData ); //$this->registry->class_localization->loadLanguageFile( array( 'public_blog' ), 'blog' ); } public function getOutput() { if ( $this->settings['blog_online'] == 0 ) { return; } if ( $this->settings['latestBlogPostsTicker_local'] == 2 ) { return; } if ( ! isset( $this->caches['blog_stats'] ) ) { $this->caches['blog_stats'] = $this->cache->getCache('blog_stats'); } if( ! $this->memberData['g_blog_settings'] ) { return ''; } if( ! is_array( $this->memberData['g_blog_settings'] ) ) { $this->memberData['g_blog_settings'] = unserialize( $this->memberData['g_blog_settings'] ); } if ( in_array( $this->memberData['member_group_id'], explode( ',', $this->settings['latestBlogPostsTicker_grupos'] ) ) AND $this->memberData['g_blog_settings']['g_blog_allowview'] ) { $entries = array(); if ( defined( 'BLOG_RENTRIES_BLOG_ID' ) ) { $_where = "b.blog_id IN (" . BLOG_RENTRIES_BLOG_ID . ") AND e.entry_status !='draft'"; } else { $_where = "e.entry_id IN(" . implode( ",", array_keys( $this->caches['blog_stats']['recent_entries'] ) ) . ") AND e.entry_status !='draft'"; } $_where .= " AND ( ( b.blog_owner_only=1 AND b.member_id=" . intval( $this->memberData['member_id'] ) . " ) OR b.blog_owner_only=0 ) AND ( b.blog_authorized_users LIKE '%," . intval( $this->memberData['member_id'] ) . ",%' OR b.blog_authorized_users IS NULL )"; $_where .= $this->settings['latestBlogPostsTicker_blog'] == 'ALL' ? '' : " AND b.blog_id = ".$this->settings['latestBlogPostsTicker_blog']; /* Recent entries */ if ( count( $this->caches['blog_stats']['recent_entries'] ) ) { $this->DB->build( array('select' => 'e.entry_id, e.entry_last_update, e.entry_name, e.blog_id, e.entry_name_seo, e.entry_author_id, e.entry_date', 'from' => array('blog_entries' => 'e' ), 'where' => $_where, 'order' => 'RAND()', 'limit' => array( 0, $this->settings['latestBlogPostsTicker_nr'] ), 'add_join' => array( array( 'select' => 'b.blog_name, b.blog_seo_name', 'from' => array( 'blog_blogs' => 'b' ), 'where' => 'b.blog_id=e.blog_id', 'type' => 'left' ) ) ) ); $this->DB->execute(); while( $entry = $this->DB->fetch() ) { $entries[ $entry['entry_id'] ] = $entry; $mids[ $entry['entry_author_id'] ] = $entry['entry_author_id']; } } if ( count( $mids ) ) { $members = IPSMember::load( $mids, 'all' ); if ( count( $members ) ) { foreach( $entries as $cid => $cdata ) { if ( $cdata['entry_author_id'] and isset( $members[ $cdata['entry_author_id'] ] ) ) { $entries[ $cid ] = array_merge( $entries[ $cid ], $members[ $cdata['entry_author_id'] ] ); } } } } if( count( $entries ) > 0 ) { if( is_array( $entries ) ) { foreach( $entries as $eid => $entry ) { $entry = IPSMember::buildDisplayData( $entry ); $entry['_entry_date'] = $this->registry->getClass('class_localization')->getDate( $entry['entry_date'], 'SHORT2' ); $entry['_lastRead'] = $this->registry->classItemMarking->fetchTimeLastMarked( array( 'blogID' => $entry['blog_id'], 'itemID' => $entry['entry_id'] ), 'blog' ); if( $entry['entry_last_update'] > $entry['_lastRead'] ) { $entry['newpost'] = true; } else { $entry['newpost'] = false; } $entries[ $eid ] = $entry; } return $this->registry->output->getTemplate( 'boards' )->latestBlogPostsTicker( $entries ); } } else { return ''; } } } }]]></hooks_source>
  12. To znaczy jaki niespłaszczony?
  13. Oto kod [long] class latestBlogPostsTicker { public $registry; public $member; public function __construct() { $this->registry = ipsRegistry::instance(); $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->lang = $this->registry->getClass('class_localization'); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); if ( ! $this->registry->isClassLoaded('blogFunctions') ) { $classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'blog' ) . '/sources/classes/blogFunctions.php', 'blogFunctions', 'blog' ); $this->registry->setClass('blogFunctions', new $classToLoad($this->registry)); } $this->blogFunctions = $this->registry->getClass('blogFunctions'); if ( ! defined( 'BLOG_LIBS' ) ) { define( 'BLOG_LIBS', IPS_ROOT_PATH . 'applications_addon/ips/blog/sources/lib/' ); define( 'BLOG_PATH', IPS_ROOT_PATH . 'applications_addon/ips/blog/' ); } /* Build the permissions */ $this->memberData = $this->blogFunctions->buildPerms( $this->memberData ); //$this->registry->class_localization->loadLanguageFile( array( 'public_blog' ), 'blog' ); } public function getOutput() { if ( $this->settings['blog_online'] == 0 ) { return; } if ( $this->settings['latestBlogPostsTicker_local'] == 2 ) { return; } if ( ! isset( $this->caches['blog_stats'] ) ) { $this->caches['blog_stats'] = $this->cache->getCache('blog_stats'); } if( ! $this->memberData['g_blog_settings'] ) { return ''; } if( ! is_array( $this->memberData['g_blog_settings'] ) ) { $this->memberData['g_blog_settings'] = unserialize( $this->memberData['g_blog_settings'] ); } if ( in_array( $this->memberData['member_group_id'], explode( ',', $this->settings['latestBlogPostsTicker_grupos'] ) ) AND $this->memberData['g_blog_settings']['g_blog_allowview'] ) { $entries = array(); if ( defined( 'BLOG_RENTRIES_BLOG_ID' ) ) { $_where = "b.blog_id IN (" . BLOG_RENTRIES_BLOG_ID . ") AND e.entry_status !='draft'"; } else { $_where = "e.entry_id IN(" . implode( ",", array_keys( $this->caches['blog_stats']['recent_entries'] ) ) . ") AND e.entry_status !='draft'"; } $_where .= " AND ( ( b.blog_owner_only=1 AND b.member_id=" . intval( $this->memberData['member_id'] ) . " ) OR b.blog_owner_only=0 ) AND ( b.blog_authorized_users LIKE '%," . intval( $this->memberData['member_id'] ) . ",%' OR b.blog_authorized_users IS NULL )"; $_where .= $this->settings['latestBlogPostsTicker_blog'] == 'ALL' ? '' : " AND b.blog_id = ".$this->settings['latestBlogPostsTicker_blog']; /* Recent entries */ if ( count( $this->caches['blog_stats']['recent_entries'] ) ) { $this->DB->build( array('select' => 'e.entry_id, e.entry_last_update, e.entry_name, e.blog_id, e.entry_name_seo, e.entry_author_id, e.entry_date', 'from' => array('blog_entries' => 'e' ), 'where' => $_where, 'order' => 'RAND()', 'limit' => array( 0, $this->settings['latestBlogPostsTicker_nr'] ), 'add_join' => array( array( 'select' => 'b.blog_name, b.blog_seo_name', 'from' => array( 'blog_blogs' => 'b' ), 'where' => 'b.blog_id=e.blog_id', 'type' => 'left' ) ) ) ); $this->DB->execute(); while( $entry = $this->DB->fetch() ) { $entries[ $entry['entry_id'] ] = $entry; $mids[ $entry['entry_author_id'] ] = $entry['entry_author_id']; } } if ( count( $mids ) ) { $members = IPSMember::load( $mids, 'all' ); if ( count( $members ) ) { foreach( $entries as $cid => $cdata ) { if ( $cdata['entry_author_id'] and isset( $members[ $cdata['entry_author_id'] ] ) ) { $entries[ $cid ] = array_merge( $entries[ $cid ], $members[ $cdata['entry_author_id'] ] ); } } } } if( count( $entries ) > 0 ) { if( is_array( $entries ) ) { foreach( $entries as $eid => $entry ) { $entry = IPSMember::buildDisplayData( $entry ); $entry['_entry_date'] = $this->registry->getClass('class_localization')->getDate( $entry['entry_date'], 'SHORT2' ); $entry['_lastRead'] = $this->registry->classItemMarking->fetchTimeLastMarked( array( 'blogID' => $entry['blog_id'], 'itemID' => $entry['entry_id'] ), 'blog' ); if( $entry['entry_last_update'] > $entry['_lastRead'] ) { $entry['newpost'] = true; } else { $entry['newpost'] = false; } $entries[ $eid ] = $entry; } return $this->registry->output->getTemplate( 'boards' )->latestBlogPostsTicker( $entries ); } } else { return ''; } } } }]]>[/long]
  14. Wracam do was z ostatnim pytaniem Więc tak: Udało się zmienić sortowanie z ostatnich na losowe oraz przerobić tak by zmieniało się dopiero po odświeżeniu. Została jedna sprawa bo hook pobiera tylko ostatnie wpisy (tak ok 15 ostatnich). Coś da radę zrobić by pobierał wpisy wszystkie które kiedykolwiek pojawiły się na blogach? Pisałem do Adriano ale niestety nie odpowiada
  15. Mdx91

    (MDX) Feel Red!

    Nazwa pliku: (MDX) Feel Red! Autor: Mdx91 Data wysłania: 08 sty 2014 Kategoria: Style i grafika Wspierana wersja IP.Board: 3.3.x, 3.4.x Łagodny, czerwony skin z elementami gradientów. Kompatybilny z: IP.Board v3.4.6 IP.Nexus v1.5.8 IP.Content v2.3.6 IP.Downloads v2.5.4 IP.Gallery v5.0.5 IP.Blog v2.6.3 IP.Calendar 3.3.4 IP.Chat 1.4.4 Skin Feel Red! zawiera: Łagodny wygląd Gradientowe przyciski nawigacji Nowy wygląd licznika postów i tematów Subfora ułożone w dwóch kolumnach Nowe ikony forum Ikony Online/Offline Edytor dopasowany kolorystycznie do stylu Tekstowe logo Wiadomość dla gości z możliwością zwinięcia Ikony społecznościowe w nagłówku Nowe ikony komunikatora i powiadomień i wiele więcej... Żeby dodać linki do ikon społecznościowych należy przejść do ACP --> Wygląd i Szablony --> Global Templates --> social_icon i zmienić linki do portali społecznościowych. Zasady i warunki użytkowania: Styl może być zainstalowany tylko na jednym forum. Jeżeli chcesz używać stylu na kilku forach musisz kupić kolejne egzemplarze (w przypadku kupna większej ilości stylu można otrzymać zniżkę po uprzednim kontakcie). Nie wolno rozdawać, sprzedawać lub czerpać korzyści ze stylu. Pobierz plik
  16. Mdx91

    (MDX) Feel Red!

    Wersja 1.0.0

    0 pobrań

    Łagodny, czerwony skin z elementami gradientów. Kompatybilny z: IP.Board v3.4.6 IP.Nexus v1.5.8 IP.Content v2.3.6 IP.Downloads v2.5.4 IP.Gallery v5.0.5 IP.Blog v2.6.3 IP.Calendar 3.3.4 IP.Chat 1.4.4 Skin Feel Red! zawiera: Łagodny wygląd Gradientowe przyciski nawigacji Nowy wygląd licznika postów i tematów Subfora ułożone w dwóch kolumnach Nowe ikony forum Ikony Online/Offline Edytor dopasowany kolorystycznie do stylu Tekstowe logo Wiadomość dla gości z możliwością zwinięcia Ikony społecznościowe w nagłówku Nowe ikony komunikatora i powiadomień i wiele więcej... Żeby dodać linki do ikon społecznościowych należy przejść do ACP --> Wygląd i Szablony --> Global Templates --> social_icon i zmienić linki do portali społecznościowych. Zasady i warunki użytkowania: Styl może być zainstalowany tylko na jednym forum. Jeżeli chcesz używać stylu na kilku forach musisz kupić kolejne egzemplarze (w przypadku kupna większej ilości stylu można otrzymać zniżkę po uprzednim kontakcie). Nie wolno rozdawać, sprzedawać lub czerpać korzyści ze stylu.
    15 zł
  17. Mdx91

    (MDX) Feel Blue!

    Styl jest rowniez kompatybilny z shoutboxem Nie jest wymieniony na liscie poniewaz nie jest aplikacja IPS
  18. http://community.invisionpower.com/files/file/2447-e32-custom-sidebar-blocks/
  19. 1. Jeden temat = jeden problem 2. Zły tytuł tematu 3. Użyj szukajki http://community.invisionpower.com/files/file/5955-ipb-shoutbox/ https://www.google.pl/search?q=tabelka+serwer%C3%B3w+site:invisionize.pl&ie=utf-8&oe=utf-8&rls=org.mozilla:pl:official&client=firefox-a&gws_rd=cr&ei=rjzNUq2rB8T17AbSu4CQDQ
  20. To jedyna tego typu aplikacja
  21. Więc jeżeli pierwszy raz to możesz odpuścić. Przytaczając słowa autora: Zaczekaj aż autor zaktualizuje całkiem mapę
  22. Przebuduj style. Z tego co wiem najnowsza wersja (2.0.0 beta) jest tylko dla uzytkownikow starej wersji bo i tak nie mozna dodawac miejsc do mapy. Uzywales juz Member Map czy teraz pierwszy raz instalowales?
  23. Jest modyfikacja ktora daje kilka ulepszen w profilach lacznie ze statusami. W tej chwili nie jestem na komputerze i nie znam nazwy, wiec podam ja pozniej. Wiem ze autor to Codding Jungle i modyfikacja jest platna kilka dolarow. Nazwa byla cos jak Profile modification hook, ale dokladnie napisze pozniej.
  24. Wątpie by była taka możliwość
  25. Hmmm.... najnowszą wersję? Wygląd forum nie ma nic do bansa
×
×
  • 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ę.