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

Nowy tag BBCode - long


DawPi

Rekomendowane odpowiedzi

  • Manager

Witam,

właśnie dodałem wymyślony właśnie nowy tag BBCode na prezentację długiego kodu, choć to niekonieczne. Powód takiego działania jest prosty - nie bałaganić w widoku tematu, a podawane kody prezentować w przyjaznej formie.

Pozwoliłem sobie napisać ten temat, by więcej osób zaznajomiło się z tym tagiem :) long.

Przykład użycia:

[long]

class public_downloads_ajax_rate extends ipsAjaxCommand

{

/**

* Class entry point

*

* @access public

* @param object Registry reference

* @return void [Outputs to screen]

*/

public function doExecute( ipsRegistry $registry )

{

//-----------------------------------------

// Check we're online

//-----------------------------------------

$this->registry->getClass('idmFunctions')->checkOnline();

$id = intval($this->request[ 'id' ]);

$vote = intval($this->request[ 'rating' ]);

$vote = $vote > 5 ? 5 : ( $vote < 1 ? 1 : $vote );

if( !$id OR !$vote )

{

if( $this->request[ 'xml' ] == 1 )

{

$this->returnJsonError( $this->lang->words['ajax_rate_error'] );

exit;

}

else

{

$this->registry->output->silentRedirect( $this->settings['base_url_with_app'] );

}

}

$file = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'downloads_files', 'where' => 'file_id=' . $id ) );

if( !$file['file_id'] )

{

if( $this->request[ 'xml' ] == 1 )

{

$this->returnJsonError( $this->lang->words['ajax_rate_error'] );

exit;

}

else

{

$this->registry->output->silentRedirect( $this->settings['base_url_with_app'] );

}

}

if( count($this->registry->getClass('categories')->member_access['rate']) == 0 OR !in_array( $file['file_cat'], $this->registry->getClass('categories')->member_access['rate'] ) )

{

if( $this->request['xml'] == 1 )

{

$this->returnJsonError( $this->lang->words['ajax_rate_error'] );

exit;

}

else

{

$this->registry->output->redirectScreen( $this->lang->words['cannot_rate_file'], $this->settings['base_url'] . "app=downloads&showfile={$id}" );

}

}

$the_votes = array();

if( $file['file_votes'] )

{

$the_votes = unserialize( $file['file_votes'] );

}

if( is_array($the_votes) AND count($the_votes) > 0 )

{

if( !isset($the_votes[ $this->memberData['member_id'] ]) )

{

$the_votes[ $this->memberData['member_id'] ] = $vote;

}

else

{

if( $this->request[ 'xml' ] == 1 )

{

foreach( $the_votes as $k => $v )

{

$num_votes++;

$vote_ttl += $v;

}

if( $num_votes > 0 )

{

$final_vote = round($vote_ttl/$num_votes);

}

$this->returnJsonArray( array( 'error_key' => 'topic_rated_already' ) );

}

else

{

$this->registry->output->redirectScreen( sprintf( $this->lang->words['already_voted'], $the_votes[ $this->memberData['member_id'] ] ), $this->settings['base_url'] . "app=downloads&showfile={$id}" );

}

}

}

else

{

$the_votes[ $this->memberData['member_id'] ] = $vote;

}

$num_votes = 0;

$vote_ttl = 0;

$final_vote = 0;

foreach( $the_votes as $k => $v )

{

$num_votes++;

$vote_ttl += $v;

}

if( $num_votes > 0 )

{

$final_vote = round($vote_ttl/$num_votes);

}

$vote_string = serialize($the_votes);

$this->DB->update( "downloads_files", array( 'file_rating' => $final_vote, 'file_votes' => $vote_string ), "file_id=" . $id );

if( $this->request[ 'xml' ] == 1 )

{

$return = array(

'rating' => $vote_ttl,

'total' => $num_votes,

'average' => $final_vote,

'rated' => 'new'

);

$this->returnJsonArray( $return );

}

else

{

$this->registry->output->redirectScreen( $this->lang->words['thanks_for_voting'], $this->settings['base_url'] . "app=downloads&showfile={$id}" );

}

}

}

[/long]

Dziękuję za stosowanie i pozdrawiam,

DawPi

  • Lubię to 1

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

GZ DawPi'ku :)

Tylko powiedz, czy udostępnisz go publicznie do downloadu czy muszę wyciągać go z kodu Twojego postu?

BTW. Te słitaśne emotki z forum są w downloadzie? :/

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Aż się zdziwisz, jakie to proste rozwiązanie, ale takie są najlepsze.

[ + ]

Emotów nie ma, to w sumie zbierania emot, jakie mi się spodobały.

bbcode.xml

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

Hahaha xD

Dłuższego kodu nie widziałem :)

A skoro już jesteś w zakładce :/ Wygląd... Jest szansa że wyeksportujesz emotki i pomożesz wszystkim userom na forum? Moje 250 emotek mi nie wystarcza :P

Czy to już będę musiał robić ręcznie? :P

edit

Proponuje modyfikacje w kodzie bibikoda long:

[long]<div class='bbc_spoiler'>

<span>Długi tekst</span> <input type='button' class='bbc_spoiler_show' value='Rozwiń' />

<div class='bbc_spoiler_wrapper'><div class='bbc_spoiler_content' style="display:none;">[kode]{content}[/kode]</div></div>

</div>[/long]

Tylko zmień tam [kode] na


Zobaczysz różnicę ;)

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

<div class='bbc_spoiler'>

<span>Spoiler</span> <input type='button' class='bbc_spoiler_show' value='Show' />

<div class='bbc_spoiler_wrapper'><div class='bbc_spoiler_content' style="display:none;">{content}</div></div>

</div>

Tak wygląda kod spoilera oryginalnie :)

Zmieniłem Spoiler na Długi Tekst i Show na Rozwiń. No i ofc content ująłem w code'y... Taka kosmetyczna zmiana :/

@up można ;)

www.4webmasters.pl ale za dużo nie zobaczysz narazie :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Ok, kto chce może użyć Twojego kodu - przecież to tylko kilka sekund roboty.. Ja jednak zostaję przy swoim - w zupełności wystarczy na tę stronę. A jeśli się kiedyś zmieni kod spoilera czy code to nie będę musiał przebudowywać postów. :)

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

  • 2 miesiące temu...

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ę.