Skocz do zawartości

DawPi

Manager
  • Postów

    78 223
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    585

Treść opublikowana przez DawPi

  1. 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
  2. Oryginalny: [long] {parse js_module="blog"} <!--[if lt IE 8]> <style type='text/css'> /* IE HACK */ html #cblock_left { left: 275px; /* Right width */ } html #main_blog_wrapper #cblock_left.cblock.temp { left: 275px !important; } </style> <![endif]--> <script type='text/javascript'> ipb.vars['blog_id'] = parseInt( {$blog['blog_id']} ); ipb.vars['blog_url'] = "{$blog['blog_url']}"; ipb.blog.goComments = {parse expression="intval($this->request['_gocomments'] )"} ipb.lang['confirm_delete'] = "{$this->lang->words['blog_sure_delcblock']}"; ipb.lang['confirm_reset'] = "{$this->lang->words['blog_theme_reset']}"; ipb.lang['blog_sure_delcblock'] = "{$this->lang->words['blog_sure_delcblock']}"; ipb.lang['copy_entry_link'] = "{$this->lang->words['permalink_prompt']}"; </script> <if test="showDisabledBox:|:$blog['blog_disabled'] AND $this->memberData['g_is_supmod']"> <div class='message error'> <h4>{$this->lang->words['blog_global_disabled_title']}</h4> {parse expression="sprintf( $this->lang->words['blog_global_disabled_desc'], $this->settings['base_url'] . 'app=blog&module=post&section=mod&do=toggledisable&disable=0&blog_id=' . $blog['blog_id'] . '&auth_key='.$this->member->form_hash )"} </div> <br /> </if> <if test="includeCustomThemes:|:$this->settings['blog_themes_custom']"> <script type='text/javascript'> var clientImagePath = "{$this->settings['_original_base_url']}/blog/colorpicker/images/"; </script> <script type="text/javascript" src="{$this->settings['_original_base_url']}/blog/colorpicker/colormethods.js" ></script> <script type="text/javascript" src="{$this->settings['_original_base_url']}/blog/colorpicker/colorvaluepicker.js" ></script> <script type="text/javascript" src="{$this->settings['_original_base_url']}/blog/colorpicker/slider.js" ></script> <script type="text/javascript" src="{$this->settings['_original_base_url']}/blog/colorpicker/colorpicker.js" ></script> <style type='text/css'> .colorpicker { display: block; } .margin{ margin-top: 1px; margin-left: 3px; } </style> </if> <if test="$this->request['module'] != 'post'"> <div class='blog_tab_wrap <if test="!$this->memberData['member_id']">guest</if>'> <if test="wotwelookingat:|:$this->request['module'] == 'display'"> <div class='blog_top_tab alt left'> <div id='blogsubs'> {parse expression="sprintf( $this->lang->words['bglobal_sub_to'], $blog['blog_name'] )"} <if test="trackblog:|:$this->memberData['member_id'] && $blog['tracker_id'] == ''"> <a href='{parse url="app=core&module=usercp&tab=blog&area=tracker&do=trackblog&blogid={$blog['blog_id']}" base="public"}' title='{$this->lang->words['track_this_blog']}'>{parse replacement="watch_topic_on"}</a> </if> <if test="endtrackblog:|:$this->memberData['member_id'] && $blog['tracker_id'] != ''"> <a href='{parse url="app=core&module=usercp&tab=blog&area=tracker&do=endtrackblog&blogid={$blog['blog_id']}" base="public"}' title='{$this->lang->words['end_track_blog']}'>{parse replacement="blog_watch_off"}</a> </if> <if test="blogrss:|:$blog['blog_id'] AND $blog['blog_settings']['allowrss']"> <if test="feedburnerlink:|:$blog['blog_settings']['rssfeedburner']"> <a href="http://feeds.feedburner.com/{$blog['blog_settings']['rssfeedburner']}" title='{$this->lang->words['blog_syndicate']}'><img src='{$this->settings['img_url']}/feed.png' alt='{$this->lang->words['rss_feed']}'/></a> <else /> <a href="{parse url="app=core&module=global&section=rss&type=blog&blogid={$blog['blog_id']}" template="blogrss" seotitle="{$blog['blog_seo_name']}" base="public"}" title='{$this->lang->words['blog_syndicate']}'><img src='{$this->settings['img_url']}/feed.png' alt='{$this->lang->words['rss_feed']}'/></a><br /> </if> </if> </div> </div> </if> </div> </if> <if test="viewerismember:|:$this->memberData['member_id'] "> <div class='topic_controls'> <ul class='topic_buttons'> <if test="gobuttonbutton:|:is_array($this->memberData['has_blog']) AND count($this->memberData['has_blog'])"> <li><a id='bloggobutton' class='ipbmenu' href='{parse url="app=core&module=usercp&tab=blog" base="public"}'>{parse replacement="blog_go"} {$this->lang->words['blog_button_go']}<img src='{$this->settings['img_url']}/opts_arrow.png' alt='>' class='arrow' /></a></li> <else /> <if test="canstartblog:|:$this->memberData['member_id'] AND ( $this->memberData['g_blog_allowcreate'] OR $this->memberData['g_blog_allowlocal'])"> <li><a href='{parse url="app=core&module=usercp&tab=blog" base="public"}'>{parse replacement="approve"} {$this->lang->words['blog_button_start']}</a></li> </if> </if> <if test="allowentry:|:$this->memberData['has_blog']"> <if test="howmanyblogs:|:! is_array($this->memberData['has_blog']) OR count($this->memberData['has_blog']) < 2"> <li><a href='{parse url="app=blog&module=post&section=post&do=showform&blogid={$blog['blog_id']}" base="public"}'>{parse replacement="blog_add_entry"} {$this->lang->words['add_entry']}</a></li> <else /> <li><a id='addentrylink' class='ipbmenu' href='{parse url="app=blog&module=post&section=post&do=showform&blogid={$blog['blog_id']}" base="public"}'>{parse replacement="blog_add_entry"} {$this->lang->words['add_entry']} <img src='{$this->settings['img_url']}/opts_arrow.png' alt='' class='arrow' /></a></li> </if> </if> <if test="cblockjs:|:$this->registry->getClass('blogFunctions')->ownsBlog( $blog, $this->memberData ) AND ipsRegistry::$current_module != 'post'"> <li><a href='#blocks' id='content_blocks' class='ipbmenu'>{parse replacement="blog_blocks"} {$this->lang->words['add_cblocks']}<img src='{$this->settings['img_url']}/opts_arrow.png' alt='>' class='arrow' /></a></li> </if> <if test="themejs:|$this->settings['blog_themes'] AND $theme_js) && $this->registry->getClass('blogFunctions')->ownsBlog( $blog, $this->memberData ) AND ipsRegistry::$current_module != 'post'"> <li><a href='#themes' id='themes_menu' class='ipbmenu'>{parse replacement="blog_theme"} {$this->lang->words['themes_menu']}<img src='{$this->settings['img_url']}/opts_arrow.png' alt='>' class='arrow' /></a></li> </if> <if test="headerjs:|:/$this->settings['blog_headers'] AND $header_js) && $this->registry->getClass('blogFunctions')->ownsBlog( $blog, $this->memberData ) AND ipsRegistry::$current_module != 'post'"> <li><a href='#header' id='change_header'>{parse replacement="blog_header"} {$this->lang->words['headers_menu']}</a></li> </if> </ul> </div> {$cblock_control} {$header_js} {$theme_js} {parse template="headerMenus" group="blog_global" params="$blog"} </if> [/long]
  3. No to dajesz.. Choć sam możesz to sprawdzić - biorąc kod z oryginalnego skina. :/
  4. No można.. Stosując kody warunkujące fora podane wyżej.
  5. Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu. Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.
  6. O tym właśnie pisałem Amfi.
  7. Dokładnie.. Można by to potraktować zapytaniem SQL, które pojawiało się na forum już kilkukrotnie, ale co jeśli ktoś tego nie chce? Lepiej niech sami sobie zmienią.
  8. Miałem o tym pisać, ale było późno.. To płatny skin ze stajni Olivera ( niebywałe, że najlepsi graficy mają tak na imię ) [ ManHa :/ skinbox ].
  9. Pokaż co na co edytowałeś.
  10. Nie pozostaje nic innego, jak potwierdzić słowa Amfidiusza, a dla przyszłych czytających zalecić metodę, by prawidłowy czas zawsze miał gość, zarejestrowany użytkownik może sobie go zmienić, gość nie ma tego przywileju.
  11. DawPi

    (DP31) Reputation Time

    Już jest: [AH30] Reputation.
  12. <if test="in_array( $this->request['f'], array( 2, 3, 4 ) )"> coś <else /> coś innego </if> P.s. nigdy nie śpisz?
  13. Potrzebujesz do tego, jak rozumiem warunek do szablonu ( <if ... ) ?
  14. <if test="in_array( $this->request['f'], array( 2, 3, 4 ) )"> coś </if> Kod ten pokaże 'coś' w forach o ID: 2, 3 oraz 4.
  15. Tego pliku brak: <script type="text/javascript" src="{style_image_url}/_js/skinbox.min.js"></script>
  16. Nie prościej wysłać ticket, by się tym zajęli? Poza tym bit szablonu przecież Ty masz..
  17. Potrzebuję kodu, co mam wstawić tutaj: <body XXXX> by zmienić tło, np. na podstawie klasy CSS czy czegoś innego. Bo robiąc to, podano powyżej i zamiast: <body id='ipboard_body'> Wstawiając: <body class='body_page'> Nie działa. Chyba 4x to napisałem w tym temacie.
  18. W ogóle porzucił projektowanie modów do IP.Board. Nabrał kasy za płatne mody, ba, nabrał kasy za dożywotnie dostępy do jego modów ( również tych nie stworzonych ) i 'zwiał'. Oczywiście. Konkretniej? Dokładnie. Uwielbiam takie tworzyć. Wiadomo.
  19. Tyle to wiem, ale zmieniając <body to nie działa..
  20. Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu. Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.
  21. To chyba jakaś lekcja śpiewu.. Oby.
  22. Woah. Ty jesteś programistą jednej aplikacji, ja ich wydaję więcej. To oczywiste, że pewnie Twój mod będzie bardziej zaawansowany.. Jednak.. co z tego? :/
  23. Opinię, a nie przepisanie mojego postu.. :/ A serio to dzięki.
  24. Tyle to ja napisałem sam wyżej.
×
×
  • 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ę.