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

  • Manager
Opublikowano

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.

Opublikowano

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? :/

Opublikowano (edytowane)

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
Opublikowano

Och już dobrze.. :)

Luknij na kod który wrzuciłem w edicie posta wyżej

Opublikowano (edytowane)

Chodzi tylko o zmiane tekstu „Spoiler” na „Długi Tekst” :)

Edit: sorry przeglądarka mi zlagowała :/

Edytowane przez DeWo
Opublikowano

<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

  • Manager
Opublikowano

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.

Opublikowano

Wiem... Ale po odpowiedzi DawPi'ka (uwielbiam tak mówić xD) aż się przeraziłem :)

Opublikowano

Ahm... Między wierszami to ja widzę Do góry, Raportuj, Dodaj na bloga, Cytuj i Odpowiedz....

I nie umiem z tego czytać :)

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