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

pawel7121

Użytkownik
  • Postów

    552
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez pawel7121

  1. Mózg rozwalony...

     

    Znalazłem kody na wczytywanie sygnatury i zapis, pewnie źle przerobiłem, zostały szczątki po sygnaturze.

     

    Wczytywanie

        /**
         * Show the minecraft pages
         *
         * @author    PGmajster
         * @return    string        Processed HTML
         */
        public function formMinecraft()
        {
            /* Load editor stuff */
            $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );
            $this->editor = new $classToLoad();
            
            /* HTML checkbox language strings */
            $this->registry->getClass('class_localization')->loadLanguageFile( array( 'public_post' ), 'forums' );
            
            //-----------------------------------------
            // Check to make sure that we can edit profiles..
            //-----------------------------------------
                    
            $minecraft_restrictions = explode( ':', $this->memberData['g_minecraft_limits'] );
            
            if ( ! $this->memberData['g_edit_profile'] OR ( $minecraft_restrictions[0] AND ! $this->memberData['g_minecraft_unit'] ) )
            {
                $this->registry->getClass('output')->showError( 'members_profile_disabled', 1024, null, null, 403 );
            }
            
        
                
                if( $form['_noPerm'] )
                {
                    return $this->registry->getClass('output')->getTemplate('ucp')->membersMinecraftFormError( $form );
                }
            }
    
             
            /* Set content in editor */
            $this->editor->setLegacyMode(false);
            $this->editor->setAllowBbcode( true );
            $this->editor->setAllowSmilies( true );
            $this->editor->setAllowHtml( $this->memberData['g_dohtml'] );
            $this->editor->setIsHtml( $this->memberData['bw_html_minecraft'] );
            $this->editor->setBbcodeSection('minecraft');
            $this->editor->setContent( $this->memberData['minecraft'] );
            
            /* Load parser */
            $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/text/parser.php', 'classes_text_parser' );
            $parser = new $classToLoad();
            
            $parser->set( array( 'memberData'       => $this->memberData,
                                 'parseBBCode'       => 1,
                                 'parseHtml'       => ( $this->memberData['g_dohtml'] && $this->memberData['bw_html_minecraft'] ),
                                 'parseArea'      => 'minecraft',
                                 'parseEmoticons' => 1 ) );
            
            $minecraft    = $parser->display( $this->memberData['minecraft'] );
            
            return $this->registry->getClass('output')->getTemplate('ucp')->membersMinecraftForm( $this->editor->show( 'Post', array( 'noSmilies' => false ) ), $minecraft_restrictions, $minecraft );
        }
      
    

    Zapis:

        /**
         * UserCP Save Form: Minecraft
         *
         * @return    array    Errors
         */
        public function saveMinecraft()
        {
            /* Load editor stuff */
            $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );
            $this->editor = new $classToLoad();
            $this->editor->setLegacyMode(false);
            
            $isHtml = intval( $this->request['minecraft_htmlstatus'] );
            
            //-----------------------------------------
            // Check to make sure that we can edit profiles..
            //-----------------------------------------
    
            $minecraft_restrictions    = explode( ':', $this->memberData['g_minecraft_limits'] );
            
            if ( ! $this->memberData['g_edit_profile'] OR ( $minecraft_restrictions[0] AND ! $this->memberData['g_minecraft_unit'] ) )
            {
                $this->registry->getClass('output')->showError( 'members_profile_disabled', 1028, null, null, 403 );
            }
    
            //-----------------------------------------
            // Post process the editor
            // Now we have safe HTML and bbcode
            //-----------------------------------------
            
            /* Set content in editor */
            $this->editor->setAllowBbcode( true );
            $this->editor->setAllowSmilies( true );
            $this->editor->setIsHtml( $this->memberData['g_dohtml'] && $isHtml );
            $this->editor->setBbcodeSection('minecraft');
            $this->editor->setContent( $this->memberData['minecraft'] );
            
            $minecraft = $this->editor->process( $_POST['Post'] );
            
            //-----------------------------------------
            // Parse post
            //-----------------------------------------
            
            /* Load parser */
            $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/text/parser.php', 'classes_text_parser' );
            $parser = new $classToLoad();
            
            $parser->testForParsingLimits( $minecraft, array( 'quote', 'emoticons', 'urls' ) );
                
            if ( is_array( $parser->getErrors() ) && count( $parser->getErrors() ) )
            {
                $this->lang->loadLanguageFile( array( 'public_post' ), 'forums' );
                    
                $_error    = array_pop( $parser->getErrors() );
                $this->registry->getClass('output')->showError( $_error, 10210 );
            }
            
            //-----------------------------------------
            // Signature restrictions...
            //-----------------------------------------
            
            $minecraft_errors    = array();
    
            $minecraft    = preg_replace( '#^\s*(</p>)+#i', '', $minecraft );
            $minecraft    = preg_replace( '#(</p>)+?\s*$#i', '', $minecraft );
            
            
            
            //-----------------------------------------
            // Now the crappy part..
            //-----------------------------------------
                    
            if( isset($minecraft_restrictions[2]) and $minecraft_restrictions[2] !== '' AND isset($minecraft_restrictions[3]) and $minecraft_restrictions[3] !== '' )
            {
                preg_match_all( '/\<img([^>]+?)>/i', $minecraft, $allImages );
    
                if( count($allImages[1]) )
                {
                    foreach( $allImages[1] as $foundImage )
                    {
                        preg_match( '#src=[\'"]([^\'"]+?)[\'"]#i', $foundImage, $url );
                        $imageProperties = @getimagesize( $url[1] );
                        
                        if( is_array($imageProperties) AND count($imageProperties) )
                        {
                            if( $imageProperties[0] > $minecraft_restrictions[2] OR $imageProperties[1] > $minecraft_restrictions[3] )
                            {
                                $minecraft_errors[] = sprintf( $this->lang->words['sig_imagetoobig'], $url[1], $minecraft_restrictions[2], $minecraft_restrictions[3] );
                            }
                        }
                        else
                        {
                            $minecraft_errors[] = $this->lang->words['sig_imagenotretrievable'];
                        }
                    }
                }
            }
            
            if( count($minecraft_errors) )
            {
                $this->registry->getClass('output')->showError( implode( '<br />', $minecraft_errors ), 10211 );
            }
            
            /* Save HTML status */
            $members_bitoptions = IPSBWOptions::thaw( $this->memberData['members_bitoptions'], 'members', 'global' );
            $members_bitoptions['bw_html_minecraft'] = $isHtml;
            
            //-----------------------------------------
            // Write it to the DB.
            //-----------------------------------------
            
            IPSMember::save( $this->memberData['member_id'], array( 'members' => $members_bitoptions, 'extendedProfile' => array( 'minecraft' => $minecraft ) ) );
            
            /* Update cache */
            IPSContentCache::update( $this->memberData['member_id'], 'minecraft', $parser->display( $minecraft ) );
            
            return TRUE;
        }
      
    

    Po wejściu w edycje profilu ukazuje się błąd

     

     

    Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/u121283872/public_html/upload/admin/applications/core/extensions/usercpForms.php on line 1308

     

     

    a linia 1308 to:     $this->editor->setLegacyMode(false);

     

    Z góry dziękuje za pomoc, pozdrawiam.

     

     

    KURDE! nie dało kodów...

     

    //Zaraz edit

  2. Tylko to, że ja nie mam i nie wiem jak dodać zakładkę w ustawieniach 'Minecraft' i tam pole, bo ogólnie to na tym ma się trzymać całość.

    Myślałem nad zrobieniem to w hooku, jakbym potrzebowałbym to na raz to zleciłbym komuś, ale chcę się nauczyć choć trochę.

    Zobaczę jakieś hooki co dodają zakładkę do ustawień, wezmę kodu trochę no i coś tam wymodze.

     

    Aktualnie nie mam kodu żadnego, tylko plik minecraft.php w profileTabs, który podałem wyżej.

     

    Biorę się za tą zakładkę.

  3. Zapomniałem, że tu nie dajecie gotowców. :D

     

     

    Spostrzegłem, że sygnature wyświetla się tym kodem:

    {$member['signature']}

     

    i pobieranie ze stylu, funkcja member

     

        function getOutput() {
            $member = $this->registry->output->getTemplate('profile')->functionData['profileModern']['0']['member'];
            return $this->registry->output->getTemplate('profile')->hookSig( $member );
        }
    

    Ten kod powyżej wziąłem z pierwszego lepszego hooku dot. sygnatury.

     

    W tym problem, że nie wiem jak to przerobić.

    Wymodziłem coś takiego:

     

     $member = $this->registry->output->getTemplate('profile')->functionData['profileModern']['0']['member'];
            return $this->registry->output->getTemplate('mc')->mc( $member );
        }
    

     

    Nadal nie wiem jak przerobić zmienną $member itd.

  4. Tak jak napisałem zrobiłem na szybko tylko odczyt z szablonu, aby sprawdzić zakładkę. :)

     

    //Edit

    Dodałem już kolumne do tabeli members o nazwie 'minecraft'

     

    I tutaj jest problem, ponieważ moje PHP leży, umie napisać coś prostego, a tutaj jak dla mnie się komplikuje.

     

    Jak mogę użyć tej zmiennej i jak dodać zakładkę z polem w ustawieniach profilu, tak jak napisałeś coś a'la strona "O mnie".

  5. Cześć, zacząłem pisać dość małą appkę pod IP.Board, a że jestem w tym nowy to mam problemy :P

     

    Zrobiłem system newsów, kto jest aktualnie na serwerze itd. taki panel gracza. Zrobiłem już sam panel, teraz zabieram się do robienia zakładki w profilu. Przeczytałem na forum ipsu o zakładce, no i zrobiłem. Mam malutki problem, nie wiem jak zrobić, by każdy użytkownik miał tak jakby swój kod, tzn. np. swój tekst, ale skąd?

    Chciałbym również zrobić zakładkę w ustawieniach "Minecraft" i tam byłoby pole na dodanie swojego tekstu, który później byłby wyświetlany w zakładce w profilu.

     

     

    Myślę, że coś zrobić z bazą, dodać tabele czy coś.

     

    Mój plik minecraft.php z appki (folder profileTabs)

    
    <?php
    
    class profile_minecraft extends profile_plugin_parent
    {
        /**
         * Feturn HTML block
         *
         * @access    public
         * @param    array        Member information
         * @return    string        HTML block
         */
        public function return_html_block( $member=array() )
        {
            $content = $this->registry->getClass('output')->getTemplate('mc')->mc ();
    
            return $content ? $content : $this->registry->getClass('output')->getTemplate('mc')->mc( 'mc' );
        }
    }

     

    Czyli zrobiłem odczyt ze stylu, tak na szybko :PKod wziąłem ze strony IPSu.

     

     

    Z góry dziękuje za pomoc, pozdrawiam.

  6. Witam, aby pokazać koledze, że te reklamy adTaily to gówno, wziąłem jego kod owego skryptu i wstawiłem do stylu. Oczywiście na forum testowe. Po tej czynności JS się popsuło, jak u kolegi. Nie ma edytora BBcode, nie można dodawać statusów (nie rozjezdża się po nacisnięciu "Dodaj komentarz"). Aby to naprawić usunąłem linijki skryptu ze stylu, odświeżyłem style, robiłem nawet reinstall silnika. Nic nie pomogło, znowu pojawił się ten problem. Ma ktoś jakieś dobre rozwiązanie? 

     

    Dodam jeszcze, że wyłączyłem minify.

  7. Wszystko od nowa? :X ale to robił mój kolega, i on ma pliki i licencję do IPB więc będe musiał na niego czekać :( macie jakieś inne pomysły?

    Naprawde? http://evolution-rpg.xaa.pl/upload/public/

     

     

    Aby naprawić ten problem, potrzebujesz:

     

    1. Pliki od IPSu, nie nulled

    2. Licencji IP.Board

    3. Spolszczenia, modułowego, ponieważ ten kiepski serwer jakim jest 'proserwer.pl' nie wejdzie Ci nigdy całym plikiem, chyba że jakiś tam pakiet bezlik czy co.

     

     

    Myślę, że te kroki pomogły, jeżeli nie, proszę jeszcze raz przeczytać punkt drugi, bajooo!

  8. Nie spamuj chłopie, tylko pomagaj, jeżeli już tak bardzo chcesz pomóc. 

    Płacisz? Nie, więc proszę o kulture, chociaż próbuję Tobie pomóc.

     

    A napewno dobrze wykonałeś aktualizacje? Według tego poradnika?

    Wątpie. Jak na moje oko widze kilka błędów:

    - brak polskich znaków;

    - spolszczenie padło.

     

    Proponowałbym dograć moduły spolszczenia i przeczytać ten temat dot. polskich znaków.

     

    Jeżeli nie dograłeś wszystkich plików z wersji 3.4.5 to dograj.

     

    Próbuj sam, nie olewaj, bo występuje jakiś błąd. Szukajka forumowa działała, działa i działać będzie. :)

    • Lubię to 3
×
×
  • 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ę.