Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Вставка img через bb код 
#1 

Аватар пользователя

А вот можно как то сделать чтоб img через штатный bb код вставлялось в таком виде?
bb код:
[image=100px]{URL}[/image]

html:
<img src="{URL}" height="100px" alt="" />
В общем чтоб высоту можно было менять и она стояла какая то заданная начально (например 100px)


Я что то не нашел как. Вроде в includes/bbcode.php есть строчки:
            case 4:
               if ($user->optionget('viewimg'))
               {
                  $this->bbcode_cache[$bbcode_id] = array(
                     'preg' => array(
                        '#\[img:$uid\](.*?)\[/img:$uid\]#s'      => $this->bbcode_tpl('img', $bbcode_id),
                     )
                  );
               }
               else
               {
                  $this->bbcode_cache[$bbcode_id] = array(
                     'preg' => array(
                        '#\[img:$uid\](.*?)\[/img:$uid\]#s'      => str_replace('$2', '[ img ]', $this->bbcode_tpl('url', $bbcode_id, true)),
                     )
                  );
               }
            break;

            case 5:
               $this->bbcode_cache[$bbcode_id] = array(
                  'preg' => array(
                     '#\[size=([\-\+]?\d+):$uid\](.*?)\[/size:$uid\]#s'   => $this->bbcode_tpl('size', $bbcode_id),
                  )
               );
            break;
 
Но я не пойму то это, или нет, и если здесь надо переделать то как? В инете тоже многие спрашивают но конкретного ответа я не увидел.


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 

#2 

Аватар пользователя

Вопрос на вопрос - разве штатные вв коды через админку не редактируются?


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#3 

Аватар пользователя

Я там не нашел img:
s
center
right
left
justify
pad
align=
font=
indent=
highlight=
float=
pre
sup
sub
glow=
dropshadow=
shadow=
blur=
fade
dir=
marq=
spoil
hidden
offtopic
nfo
soundcloud
BBvideo=
youtube
mod=


Это то что у меня в админке. Я пробовал просто создать bb код img - не знаю как всплывающее окно к нему прилепить как для штатного. Еслиб не это я бы штатную картинку убрал с панели и созданный код туда переместил.

Сообщение добавлено... спустя 2 часа 22 минуты 13 секунд:
:is_te_ri_ka: Всё. Совсем запутался. В админке нету кода img. Все есть а его нету. А у добавленного нету всплывающего окна. :is_te_ri_ka: :is_te_ri_ka: :is_te_ri_ka:


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 

#4 

Аватар пользователя

Без паники, есть 2 варианта

1. Добавить в админку вв код, допустим, img2 и прописать ему нужные свойства

2. В includes/bbcode.php есть строка начинающаяся с 'img' , вот ее надо редактировать вроде как


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#5 

Аватар пользователя

Я в этом файле уже облазился...
Вот я так понимаю нужные строчки:
case 4:
if ($user->optionget('viewimg'))
{
$this->bbcode_cache[$bbcode_id] = array(
'preg' => array(
'#\[img:$uid\](.*?)\[/img:$uid\]#s' => $this->bbcode_tpl('img', $bbcode_id),
)
);
}
else
{
$this->bbcode_cache[$bbcode_id] = array(
'preg' => array(
'#\[img:$uid\](.*?)\[/img:$uid\]#s' => str_replace('$2', '[ img ]', $this->bbcode_tpl('url', $bbcode_id, true)),
)
);
}
break;
Я просто хочу в bb коде прописывать высоту картинки из-за этого весь сыр бор...
А то если картинка с хорошим разрешением то весь форум занимает. Юзеры не будут заморачиваться - как встало так встало...
Чтоб bb код вставлялся в таком виде: [image=150]www.бла бла бла/hy.jpg[/image]
А когда создаешь поле там все это можно НО... блин тогда окошко не всплывает сцуко :wall:
На гуру спросил - вот честное слово застрелил бы этих гаденышей. Чуть не дебилом обозвали и тему закрыли. Там вообще не стоит задавать вопросы это я давно понял.
Цитата:
1. Добавить в админку вв код, допустим, img2 и прописать ему нужные свойства

Я там прописывал:
[image={NUMBER}]{URL}[/image]
<img class="postimage" alt="Изображение" src="{URL}" style="max-width: {NAMBER}px;">
 

Но во первых код то работает но всплывающее окно тогда не выскакивает и второе - хочется чтоб значок все таки стоял там где сейчас штатный стоит
( там ему место самое оно ), а как наверх перекидывать созданные bb коды я не знаю.
Нашел
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
и ничего не понял...


_________________
Подпись:
У меня phpbb 3.1.10

Информация о редактировании
Последний раз редактировалось Олега 23 мар 2017, 16:12, всего редактировалось 2 раз(а).
          Вернуться наверх  
 

#6 

Аватар пользователя

Сразу бы сказали в чем беда, ставите это -
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
- там есть встроенный ресайзер для тега img и не надо выдумывать чтото

Сообщение добавлено... спустя 2 минуты 15 секунд:
Кстати в том вв коде, который вы через админку вставляли есть опечатка если вы не заметили, это так, к слову.

То расширение, на которое я дал ссылку автоматически уменьшает визуально картинки в теге img и увеличивает по клику


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#7 

Аватар пользователя

Ща бум пробовать :-0=)

Сообщение добавлено... спустя 39 минут 51 секунду:
Пасибки !!!! То что нужно))) Вот только не мугу найти куда target="_blank" воткнуть чтоб при нажатии на значок увеличения справа вверху в новой вкладке открывалось....


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 

#8 

Аватар пользователя

Такого вроде не предусмотрено, код расширения надо глядеть


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#9 

Аватар пользователя

То что не предусмотренно это я знаю. Но правда путаешься когда во весь экран... Первое что рука делает на автомате это закрывает вкладку.
Вот вроде кусок кода из js/jquery.prettyPhoto.js
<div class="pp_right"></div> </div> <div class="pp_content_container"> <div class="pp_left"> <div class="pp_right"> <div class="pp_content"> <div class="pp_loaderIcon"></div> <div class="pp_fade"> <a href="#" class="pp_expand" title="Во весь экран">Expand</a> <div class="pp_hoverContainer"> <a class="pp_next" href="#">next</a> <a class="pp_previous" href="#">previous</a> </div>
Я пробовал target="_blank" впихивать - ноль эмоций :wo_ol:
Вот может в <a href="#" class="pp_expand..." вместо href="#" как то по другому прописать?

Сообщение добавлено... спустя 25 минут 42 секунды:
Или наверное дело еще в коде js
window.location
window.open
п»ї/* ------------------------------------------------------------------------
Class: prettyPhoto
Use: Lightbox clone for jQuery
Author: Stephane Caron (
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
)
Version: 3.1.6
------------------------------------------------------------------------- */
!function(e){function t(){var e=location.href;return hashtag=-1!==e.indexOf("#prettyPhoto")?decodeURI(e.substring(e.indexOf("#prettyPhoto")+1,e.length)):!1,hashtag&&(hashtag=hashtag.replace(/<|>/g,"")),hashtag}function i(){"undefined"!=typeof theRel&&(location.hash=theRel+"/"+rel_index+"/")}function p(){-1!==location.href.indexOf("#prettyPhoto")&&(location.hash="prettyPhoto")}function o(e,t){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i="[\\?&]"+e+"=([^&#]*)",p=new RegExp(i),o=p.exec(t);return null==o?"":o[1]}e.prettyPhoto={version:"3.1.6"},e.fn.prettyPhoto=function(a){function s(){e(".pp_loaderIcon").hide(),projectedTop=scroll_pos.scrollTop+(I/2-f.containerHeight/2),projectedTop<0&&(projectedTop=0),$ppt.fadeTo(settings.animation_speed,1),$pp_pic_holder.find(".pp_content").animate({height:f.contentHeight,width:f.contentWidth},settings.animation_speed),$pp_pic_holder.animate({top:projectedTop,left:j/2-f.containerWidth/2<0?0:j/2-f.containerWidth/2,width:f.containerWidth},settings.animation_speed,function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(f.height).width(f.width),$pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed),isSet&&"image"==h(pp_images[set_position])?$pp_pic_holder.find(".pp_hoverContainer").show():$pp_pic_holder.find(".pp_hoverContainer").hide(),settings.allow_expand&&(f.resized?e("a.pp_expand,a.pp_contract").show():e("a.pp_expand").hide()),!settings.autoplay_slideshow||P||v||e.prettyPhoto.startSlideshow(),settings.changepicturecallback(),v=!0}),m(),a.ajaxcallback()}function n(t){$pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility","hidden"),$pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed,function(){e(".pp_loaderIcon").show(),t()})}function r(t){t>1?e(".pp_nav").show():e(".pp_nav").hide()}function l(e,t){if(resized=!1,d(e,t),imageWidth=e,imageHeight=t,(k>j||b>I)&&doresize&&settings.allow_resize&&!$){for(resized=!0,fitting=!1;!fitting;)k>j?(imageWidth=j-200,imageHeight=t/e*imageWidth):b>I?(imageHeight=I-200,imageWidth=e/t*imageHeight):fitting=!0,b=imageHeight,k=imageWidth;(k>j||b>I)&&l(k,b),d(imageWidth,imageHeight)}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(b),containerWidth:Math.floor(k)+2*settings.horizontal_padding,contentHeight:Math.floor(y),contentWidth:Math.floor(w),resized:resized}}function d(t,i){t=parseFloat(t),i=parseFloat(i),$pp_details=$pp_pic_holder.find(".pp_details"),$pp_details.width(t),detailsHeight=parseFloat($pp_details.css("marginTop"))+parseFloat($pp_details.css("marginBottom")),$pp_details=$pp_details.clone().addClass(settings.theme).width(t).appendTo(e("body")).css({position:"absolute",top:-1e4}),detailsHeight+=$pp_details.height(),detailsHeight=detailsHeight<=34?36:detailsHeight,$pp_details.remove(),$pp_title=$pp_pic_holder.find(".ppt"),$pp_title.width(t),titleHeight=parseFloat($pp_title.css("marginTop"))+parseFloat($pp_title.css("marginBottom")),$pp_title=$pp_title.clone().appendTo(e("body")).css({position:"absolute",top:-1e4}),titleHeight+=$pp_title.height(),$pp_title.remove(),y=i+detailsHeight,w=t,b=y+titleHeight+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height(),k=t}function h(e){return e.match(/youtube\.com\/watch/i)||e.match(/youtu\.be/i)?"youtube":e.match(/vimeo\.com/i)?"vimeo":e.match(/\b.mov\b/i)?"quicktime":e.match(/\b.swf\b/i)?"flash":e.match(/\biframe=true\b/i)?"iframe":e.match(/\bajax=true\b/i)?"ajax":e.match(/\bcustom=true\b/i)?"custom":"#"==e.substr(0,1)?"inline":"image"}function c(){if(doresize&&"undefined"!=typeof $pp_pic_holder){if(scroll_pos=_(),contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width(),projectedTop=I/2+scroll_pos.scrollTop-contentHeight/2,projectedTop<0&&(projectedTop=0),contentHeight>I)return;$pp_pic_holder.css({top:projectedTop,left:j/2+scroll_pos.scrollLeft-contentwidth/2})}}function _(){return self.pageYOffset?{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}:document.documentElement&&document.documentElement.scrollTop?{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}:document.body?{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}:void 0}function g(){I=e(window).height(),j=e(window).width(),"undefined"!=typeof $pp_overlay&&$pp_overlay.height(e(document).height()).width(j)}function m(){isSet&&settings.overlay_gallery&&"image"==h(pp_images[set_position])?(itemWidth=57,navWidth="facebook"==settings.theme||"pp_default"==settings.theme?50:30,itemsPerPage=Math.floor((f.containerWidth-100-navWidth)/itemWidth),itemsPerPage=itemsPerPage<pp_images.length?itemsPerPage:pp_images.length,totalPage=Math.ceil(pp_images.length/itemsPerPage)-1,0==totalPage?(navWidth=0,$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").hide()):$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").show(),galleryWidth=itemsPerPage*itemWidth,fullGalleryWidth=pp_images.length*itemWidth,$pp_gallery.css("margin-left",-(galleryWidth/2+navWidth/2)).find("div:first").width(galleryWidth+5).find("ul").width(fullGalleryWidth).find("li.selected").removeClass("selected"),goToPage=Math.floor(set_position/itemsPerPage)<totalPage?Math.floor(set_position/itemsPerPage):totalPage,e.prettyPhoto.changeGalleryPage(goToPage),$pp_gallery_li.filter(":eq("+set_position+")").addClass("selected")):$pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave")}function u(){if(settings.social_tools&&(facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href))),settings.markup=settings.markup.replace("{pp_social}",""),e("body").append(settings.markup),$pp_pic_holder=e(".pp_pic_holder"),$ppt=e(".ppt"),$pp_overlay=e("div.pp_overlay"),isSet&&settings.overlay_gallery){currentGalleryPage=0,toInject="";for(var t=0;t<pp_images.length;t++)pp_images[t].match(/\b(jpg|jpeg|png|gif)\b/gi)?(classname="",img_src=pp_images[t]):(classname="default",img_src=""),toInject+="<li class='"+classname+"'><a href='#'><img src='"+img_src+"' width='50' alt='' /></a></li>";toInject=settings.gallery_markup.replace(/{gallery}/g,toInject),$pp_pic_holder.find("#pp_full_res").after(toInject),$pp_gallery=e(".pp_pic_holder .pp_gallery"),$pp_gallery_li=$pp_gallery.find("li"),$pp_gallery.find(".pp_arrow_next").click(function(){return e.prettyPhoto.changeGalleryPage("next"),e.prettyPhoto.stopSlideshow(),!1}),$pp_gallery.find(".pp_arrow_previous").click(function(){return e.prettyPhoto.changeGalleryPage("previous"),e.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_content").hover(function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()},function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()}),itemWidth=57,$pp_gallery_li.each(function(t){e(this).find("a").click(function(){return e.prettyPhoto.changePage(t),e.prettyPhoto.stopSlideshow(),!1})})}settings.slideshow&&($pp_pic_holder.find(".pp_nav").prepend('<a href="#" class="pp_play">Play</a>'),$pp_pic_holder.find(".pp_nav .pp_play").click(function(){return e.prettyPhoto.startSlideshow(),!1})),$pp_pic_holder.attr("class","pp_pic_holder "+settings.theme),$pp_overlay.css({opacity:0,height:e(document).height(),width:e(window).width()}).bind("click",function(){settings.modal||e.prettyPhoto.close()}),e("a.pp_close").bind("click",function(){return e.prettyPhoto.close(),!1}),settings.allow_expand&&e("a.pp_expand").bind("click",function(){return e(this).hasClass("pp_expand")?(e(this).removeClass("pp_expand").addClass("pp_contract"),doresize=!1):(e(this).removeClass("pp_contract").addClass("pp_expand"),doresize=!0),n(function(){e.prettyPhoto.open()}),!1}),$pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click",function(){return e.prettyPhoto.changePage("previous"),e.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click",function(){return e.prettyPhoto.changePage("next"),e.prettyPhoto.stopSlideshow(),!1}),c()}a=jQuery.extend({hook:"rel",animation_speed:"fast",ajaxcallback:function(){},slideshow:5e3,autoplay_slideshow:!1,opacity:.8,show_title:!0,allow_resize:!0,allow_expand:!0,default_width:500,default_height:344,counter_separator_label:"/",theme:"pp_default",horizontal_padding:20,hideflash:!1,wmode:"opaque",autoplay:!0,modal:!1,deeplinking:!0,overlay_gallery:!0,overlay_gallery_max:30,keyboard_shortcuts:!0,changepicturecallback:function(){},callback:function(){},ie6_fallback:!0,markup:'<div class="pp_pic_holder"> <div class="ppt">&nbsp;</div> <div class="pp_top"> <div class="pp_left"></div> <div class="pp_middle"></div> <div class="pp_right"></div> </div> <div class="pp_content_container"> <div class="pp_left"> <div class="pp_right"> <div class="pp_content"> <div class="pp_loaderIcon"></div> <div class="pp_fade"> <a href="#" class="pp_expand" title="Во весь экран">Expand</a> <div class="pp_hoverContainer"> <a class="pp_next" href="#">next</a> <a class="pp_previous" href="#">previous</a> </div> <div id="pp_full_res"></div> <div class="pp_details"> <div class="pp_nav"> <a href="#" class="pp_arrow_previous">Previous</a> <p class="currentTextHolder">0/0</p> <a href="#" class="pp_arrow_next">Next</a> </div> <p class="pp_description"></p> <div class="pp_social">{pp_social}</div> <a class="pp_close" href="#">Close</a> </div> </div> </div> </div> </div> </div> <div class="pp_bottom"> <div class="pp_left"></div> <div class="pp_middle"></div> <div class="pp_right"></div> </div> </div> <div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> <a href="#" class="pp_arrow_previous">Previous</a> <div> <ul> {gallery} </ul> </div> <a href="#" class="pp_arrow_next">Next</a> </div>',image_markup:'<img id="fullResImage" src="{path}" />',flash_markup:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',quicktime_markup:'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',iframe_markup:'<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',inline_markup:'<div class="pp_inline">{content}</div>',custom_markup:"",social_tools:'<div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&layout=button_count&show_faces=true&width=500&action=like&font&colorscheme=light&height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>'},a);var f,v,y,w,b,k,P,x=this,$=!1,I=e(window).height(),j=e(window).width();return doresize=!0,scroll_pos=_(),e(window).unbind("resize.prettyphoto").bind("resize.prettyphoto",function(){c(),g()}),a.keyboard_shortcuts&&e(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto",function(t){if("undefined"!=typeof $pp_pic_holder&&$pp_pic_holder.is(":visible"))switch(t.keyCode){case 37:e.prettyPhoto.changePage("previous"),t.preventDefault();break;case 39:e.prettyPhoto.changePage("next"),t.preventDefault();break;case 27:settings.modal||e.prettyPhoto.close(),t.preventDefault()}}),e.prettyPhoto.initialize=function(){return settings=a,"pp_default"==settings.theme&&(settings.horizontal_padding=16),theRel=e(this).attr(settings.hook),galleryRegExp=/\[(?:.*)\]/,isSet=galleryRegExp.exec(theRel)?!0:!1,pp_images=isSet?jQuery.map(x,function(t){return-1!=e(t).attr(settings.hook).indexOf(theRel)?e(t).attr("href"):void 0}):e.makeArray(e(this).attr("href")),pp_titles=isSet?jQuery.map(x,function(t){return-1!=e(t).attr(settings.hook).indexOf(theRel)?e(t).find("img").attr("alt")?e(t).find("img").attr("alt"):"":void 0}):e.makeArray(e(this).find("img").attr("alt")),pp_descriptions=isSet?jQuery.map(x,function(t){return-1!=e(t).attr(settings.hook).indexOf(theRel)?e(t).attr("title")?e(t).attr("title"):"":void 0}):e.makeArray(e(this).attr("title")),pp_images.length>settings.overlay_gallery_max&&(settings.overlay_gallery=!1),set_position=jQuery.inArray(e(this).attr("href"),pp_images),rel_index=isSet?set_position:e("a["+settings.hook+"^='"+theRel+"']").index(e(this)),u(this),settings.allow_resize&&e(window).bind("scroll.prettyphoto",function(){c()}),e.prettyPhoto.open(),!1},e.prettyPhoto.open=function(t){return"undefined"==typeof settings&&(settings=a,pp_images=e.makeArray(arguments[0]),pp_titles=e.makeArray(arguments[1]?arguments[1]:""),pp_descriptions=e.makeArray(arguments[2]?arguments[2]:""),isSet=pp_images.length>1?!0:!1,set_position=arguments[3]?arguments[3]:0,u(t.target)),settings.hideflash&&e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","hidden"),r(e(pp_images).size()),e(".pp_loaderIcon").show(),settings.deeplinking&&i(),settings.social_tools&&(facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href)),$pp_pic_holder.find(".pp_social").html(facebook_like_link)),$ppt.is(":hidden")&&$ppt.css("opacity",0).show(),$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity),$pp_pic_holder.find(".currentTextHolder").text(set_position+1+settings.counter_separator_label+e(pp_images).size()),"undefined"!=typeof pp_descriptions[set_position]&&""!=pp_descriptions[set_position]?$pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position])):$pp_pic_holder.find(".pp_description").hide(),movie_width=parseFloat(o("width",pp_images[set_position]))?o("width",pp_images[set_position]):settings.default_width.toString(),movie_height=parseFloat(o("height",pp_images[set_position]))?o("height",pp_images[set_position]):settings.default_height.toString(),$=!1,-1!=movie_height.indexOf("%")&&(movie_height=parseFloat(e(window).height()*parseFloat(movie_height)/100-150),$=!0),-1!=movie_width.indexOf("%")&&(movie_width=parseFloat(e(window).width()*parseFloat(movie_width)/100-150),$=!0),$pp_pic_holder.fadeIn(function(){switch($ppt.html(settings.show_title&&""!=pp_titles[set_position]&&"undefined"!=typeof pp_titles[set_position]?unescape(pp_titles[set_position]):"&nbsp;"),imgPreloader="",skipInjection=!1,h(pp_images[set_position])){case"image":imgPreloader=new Image,nextImage=new Image,isSet&&set_position<e(pp_images).size()-1&&(nextImage.src=pp_images[set_position+1]),prevImage=new Image,isSet&&pp_images[set_position-1]&&(prevImage.src=pp_images[set_position-1]),$pp_pic_holder.find("#pp_full_res")[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]),imgPreloader.onload=function(){f=l(imgPreloader.width,imgPreloader.height),s()},imgPreloader.onerror=function(){alert("Image cannot be loaded. Make sure the path is correct and image exist."),e.prettyPhoto.close()},imgPreloader.src=pp_images[set_position];break;case"youtube":f=l(movie_width,movie_height),movie_id=o("v",pp_images[set_position]),""==movie_id&&(movie_id=pp_images[set_position].split("youtu.be/"),movie_id=movie_id[1],movie_id.indexOf("?")>0&&(movie_id=movie_id.substr(0,movie_id.indexOf("?"))),movie_id.indexOf("&")>0&&(movie_id=movie_id.substr(0,movie_id.indexOf("&")))),movie="http://www.youtube.com/embed/"+movie_id,movie+=o("rel",pp_images[set_position])?"?rel="+o("rel",pp_images[set_position]):"?rel=1",settings.autoplay&&(movie+="&autoplay=1"),toInject=settings.iframe_markup.replace(/{width}/g,f.width).replace(/{height}/g,f.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":f=l(movie_width,movie_height),movie_id=pp_images[set_position];var t=/http(s?):\/\/(www\.)?vimeo.com\/(\d+)/,i=movie_id.match(t);movie="http://player.vimeo.com/video/"+i[3]+"?title=0&byline=0&portrait=0",settings.autoplay&&(movie+="&autoplay=1;"),vimeo_width=f.width+"/embed/?moog_width="+f.width,toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,f.height).replace(/{path}/g,movie);break;case"quicktime":f=l(movie_width,movie_height),f.height+=15,f.contentHeight+=15,f.containerHeight+=15,toInject=settings.quicktime_markup.replace(/{width}/g,f.width).replace(/{height}/g,f.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case"flash":f=l(movie_width,movie_height),flash_vars=pp_images[set_position],flash_vars=flash_vars.substring(pp_images[set_position].indexOf("flashvars")+10,pp_images[set_position].length),filename=pp_images[set_position],filename=filename.substring(0,filename.indexOf("?")),toInject=settings.flash_markup.replace(/{width}/g,f.width).replace(/{height}/g,f.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+"?"+flash_vars);break;case"iframe":f=l(movie_width,movie_height),frame_url=pp_images[set_position],frame_url=frame_url.substr(0,frame_url.indexOf("iframe")-1),toInject=settings.iframe_markup.replace(/{width}/g,f.width).replace(/{height}/g,f.height).replace(/{path}/g,frame_url);break;case"ajax":doresize=!1,f=l(movie_width,movie_height),doresize=!0,skipInjection=!0,e.get(pp_images[set_position],function(e){toInject=settings.inline_markup.replace(/{content}/g,e),$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject,s()});break;case"custom":f=l(movie_width,movie_height),toInject=settings.custom_markup;break;case"inline":myClone=e(pp_images[set_position]).clone().append('<br clear="all" />').css({width:settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo(e("body")).show(),doresize=!1,f=l(e(myClone).width(),e(myClone).height()),doresize=!0,e(myClone).remove(),toInject=settings.inline_markup.replace(/{content}/g,e(pp_images[set_position]).html())}imgPreloader||skipInjection||($pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject,s())}),!1},e.prettyPhoto.changePage=function(t){currentGalleryPage=0,"previous"==t?(set_position--,set_position<0&&(set_position=e(pp_images).size()-1)):"next"==t?(set_position++,set_position>e(pp_images).size()-1&&(set_position=0)):set_position=t,rel_index=set_position,doresize||(doresize=!0),settings.allow_expand&&e(".pp_contract").removeClass("pp_contract").addClass("pp_expand"),n(function(){e.prettyPhoto.open()})},e.prettyPhoto.changeGalleryPage=function(e){"next"==e?(currentGalleryPage++,currentGalleryPage>totalPage&&(currentGalleryPage=0)):"previous"==e?(currentGalleryPage--,currentGalleryPage<0&&(currentGalleryPage=totalPage)):currentGalleryPage=e,slide_speed="next"==e||"previous"==e?settings.animation_speed:0,slide_to=currentGalleryPage*itemsPerPage*itemWidth,$pp_gallery.find("ul").animate({left:-slide_to},slide_speed)},e.prettyPhoto.startSlideshow=function(){"undefined"==typeof P?($pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function(){return e.prettyPhoto.stopSlideshow(),!1}),P=setInterval(e.prettyPhoto.startSlideshow,settings.slideshow)):e.prettyPhoto.changePage("next")},e.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function(){return e.prettyPhoto.startSlideshow(),!1}),clearInterval(P),P=void 0},e.prettyPhoto.close=function(){$pp_overlay.is(":animated")||(e.prettyPhoto.stopSlideshow(),$pp_pic_holder.stop().find("object,embed").css("visibility","hidden"),e("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed,function(){e(this).remove()}),$pp_overlay.fadeOut(settings.animation_speed,function(){settings.hideflash&&e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","visible"),e(this).remove(),e(window).unbind("scroll.prettyphoto"),p(),settings.callback(),doresize=!0,v=!1,delete settings}))},!pp_alreadyInitialized&&t()&&(pp_alreadyInitialized=!0,hashIndex=t(),hashRel=hashIndex,hashIndex=hashIndex.substring(hashIndex.indexOf("/")+1,hashIndex.length-1),hashRel=hashRel.substring(0,hashRel.indexOf("/")),setTimeout(function(){e("a["+a.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger("click")},50)),this.unbind("click.prettyphoto").bind("click.prettyphoto",e.prettyPhoto.initialize)}}(jQuery);var pp_alreadyInitialized=!1;

Для меня это как ядерная физика для балерины :-0=)


_________________
Подпись:
У меня phpbb 3.1.10

Информация о редактировании
Последний раз редактировалось Олега 23 мар 2017, 23:11, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

На вскидку в папке расширения /event/listener.php найти кусочек
   public function bb3spoiler_displaytext_before($event)
   {
      if($event['uid'] && $this->config['bb3spoiler_image_spimage'])
      {
         $text=$event['text'];
         $img_bbcode='#<img src="(.*?)" class="postimage" alt="(?:.*?)">#s';
         $replace_code='<var title="$1" class="postImg" alt="' . $this->user->lang['IMAGE'] . '" />'.$this->user->lang['BB3SPOILER_IMAGE_WOJS'].'</var>';
         !$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? $replace_code='<a href="$1" rel="prettyPhotoSpoiler[0]">'.$replace_code.'</a>' : '';
         $text=preg_replace($img_bbcode, $replace_code, $text);
         $event['text']=$text;
      }
   }
 

В нем
$replace_code='<var title="$1" class="postImg" alt="' . $this->user->lang['IMAGE'] . '" />'.$this->user->lang['BB3SPOILER_IMAGE_WOJS'].'</var>';
         !$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? $replace_code='<a href="$1" rel="prettyPhotoSpoiler[0]">'.$replace_code.'</a>' : '';
 

Отвечает за вывод IMG, можно после кусочка
$replace_code='
 

Вставить свою ссылочку на открытие в новом окне, к примеру так
<a href="$1" target="_blank" >TEST</a>
 

Переменную $1 в адресе href="$1" ни в коем случае не меняете. Получится так
$replace_code='<a href="$1" target="_blank" >TEST</a><var title="$1" class="postImg" alt="' . $this->user->lang['IMAGE'] . '" />'.$this->user->lang['BB3SPOILER_IMAGE_WOJS'].'</var>';
         !$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? $replace_code='<a href="$1" rel="prettyPhotoSpoiler[0]">'.$replace_code.'</a>' : '';
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Что то у меня вообще такого нету... Как буд то вообще другой файл... У меня последняя версия стоит
1.3.4.1 Вот весь event/listener.php
<?php

/**
*
* @package BB3Spoiler
* @copyright (c) 2014 PPK
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*
*/

namespace ppk\bb3spoiler\event;

/**
 * @ignore
 */
if (!defined('IN_PHPBB'))
{
   exit;
}

use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class listener implements EventSubscriberInterface
{
   var $spoiler_id=0;
   var $spoiler_head_id=0;
   var $bbcode_uid='';

   /** @var \phpbb\template\template */
   protected $template;

   /** @var \phpbb\config\config */
   protected $config;

   /** @var \phpbb\user */
   protected $user;

   public function __construct(\phpbb\template\template $template, \phpbb\config\config $config, \phpbb\user $user)
   {
      $this->template = $template;
      $this->config = $config;
      $this->user = $user;

   }

   static public function getSubscribedEvents()
   {
      return array(
         //подключение языковых файлов
         'core.user_setup_after'                     => 'bb3spoiler_language',

         //вывод переменных спойлера РІ шаблон
         'core.page_header'      => 'bb3spoiler_vars',

         //изменение Р±Р±-РєРѕРґР° спойлера добавленного через адм. раздел /includes/functions_display.php 1058 display_custom_bbcodes()
         'core.display_custom_bbcodes_modify_row'            => 'bb3spoiler_bbtag',

         //обработка текста для отображения, перед обработкой системных Р±Р±-РєРѕРґРѕРІ /includes/functions_content.php 460 generate_text_for_display() -> /viewtopic.php 1550
         'core.modify_text_for_display_before'      => 'bb3spoiler_displaytext_before',

         //обработка текста для создания сообщения, РґРѕ обработки системных Р±Р±-РєРѕРґРѕРІ /includes/message_parser.php 1203 parse() -> /posting.php 1008
         'core.message_parser_check_message' => 'bb3spoiler_getuid',

         //изменение Р±Р±-РєРѕРґР° спойлера для парсинга /includes/message_parser.php 182 bbcode_init()
         'core.modify_bbcode_init' => 'bb3spoiler_init',

         //изменение кэша Р±Р±-РєРѕРґР° спойлера для парсинга /includes/bbcode.php 408 bbcode_cache_init()
         'core.bbcode_cache_init_end' => 'bb3spoiler_cache_init',

         'core.modify_format_display_text_before' => 'bb3spoiler_preview',

         'core.validate_bbcode_by_extension' => 'bb3spoiler_validate',
         'core.bbcode_second_pass_by_extension' => 'bb3spoiler_second_pass',
      );
   }

   public function bb3spoiler_second_pass($event)
   {
      $params_array=$event['params_array'];
      $return=$this->bbcode_second_pass_spoiler($params_array[0], $params_array[1]);

      $event['return']=$return;
   }

   public function bb3spoiler_validate($event)
   {
      $params_array=$event['params_array'];
      $return=$this->bbcode_spoiler($params_array[0], $params_array[1]);

      $event['return']=$return;
   }

   public function bb3spoiler_preview($event)
   {

      if($event['allow_bbcode'] && $this->config['bb3spoiler_image_spimage'] && strpos($event['text'], '[')!==false)
      {
         $event['text']=preg_replace('#\[img:'.$event['uid'].'\](.*?)\[/img:'.$event['uid'].'\]#', (!$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? '<a href="$1" rel="prettyPhotoSpoiler[0]">' : '').'<var title="$1" class="postImg" alt="' . $this->user->lang['IMAGE'] . '" />'.$this->user->lang['BB3SPOILER_IMAGE_WOJS'].'</var>'.(!$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? '</a>' : ''), $event['text']);

      }
   }

   public function bb3spoiler_init($event)
   {

      $bbcodes=$event['bbcodes'];

      if(isset($bbcodes['spoiler']['bbcode_id']))
      {
         $bbcodes['spoiler'] = array(
            'bbcode_id' => $bbcodes['spoiler']['bbcode_id'],
            'regexp' => array(

               '#\[spoiler(?:=&quot;(.*?)&quot;)?\](.+)\[/spoiler\]#uise' => "\$this->validate_bbcode_by_extension('\$0', '$this->bbcode_uid')"
            )
         );
         $this->spoiler_id=$bbcodes['spoiler']['bbcode_id'];
      }
      if(isset($bbcodes['spoiler=']['bbcode_id']))
      {
         $bbcodes['spoiler='] = array(
            'bbcode_id' => $bbcodes['spoiler=']['bbcode_id'],
            'regexp' => array(

               '#\[spoiler(?:=&quot;(.*?)&quot;)?\](.+)\[/spoiler\]#uise' => "\$this->validate_bbcode_by_extension('\$0', '$this->bbcode_uid')"
            )
         );
         $this->spoiler_head_id=$bbcodes['spoiler=']['bbcode_id'];

      }

      if($this->spoiler_id || $this->spoiler_head_id)
      {
         $event['bbcodes']=$bbcodes;
      }
   }

   public function bb3spoiler_cache_init($event)
   {

      $bbcode_cache=$event['bbcode_cache'];

      foreach($bbcode_cache as $k => $v)
      {
         if(isset($v['preg']['!\[spoiler:$uid\](.*?)\[/spoiler:$uid\]!s']))
         {
            $bbcode_cache[$k]['preg']=array(
               '#\[spoiler(?:=&quot;(.*?)&quot;)?:$uid\]((?!\[spoiler(?:=&quot;.*?&quot;)?:$uid\]).)?#ise' => "\$this->bbcode_second_pass_by_extension('$1', '$2')"
            );
            $bbcode_cache[$k]['str']=array(
               '[/spoiler:$uid]' => '</div></div>'
            );
            $this->spoiler_id=$k;

         }
         else if(isset($v['preg']['!\[spoiler\=&quot;([\p{L}\p{N}\-+,_. ]+)&quot;:$uid\](.*?)\[/spoiler:$uid\]!su']))
         {
            $bbcode_cache[$k]['preg']=array(
               '#\[spoiler(?:=&quot;(.*?)&quot;)?:$uid\]((?!\[spoiler(?:=&quot;.*?&quot;)?:$uid\]).)?#ise' => "\$this->bbcode_second_pass_by_extension('$1', '$2')"
            );
            $bbcode_cache[$k]['str']=array(
               '[/spoiler:$uid]' => '</div></div>'
            );
            $this->spoiler_head_id=$k;

         }

      }

      if($this->spoiler_id || $this->spoiler_head_id)
      {
         $event['bbcode_cache']=$bbcode_cache;
      }
   }


   public function bb3spoiler_bbtag($event)
   {
      $custom_tags=$event['custom_tags'];

      if($custom_tags['BBCODE_TAG']=='spoiler=')
      {
         $custom_tags['BBCODE_NAME']="'[spoiler=\"{$this->user->lang['BB3SPOILER_HEADER']}\"]', '[/spoiler]'";

         $event['custom_tags']=$custom_tags;
      }


   }

   public function bb3spoiler_displaytext_before($event)
   {
      if($event['uid'] && ($event['flags'] & OPTION_FLAG_BBCODE) && strpos($event['text'], '[')!==false && $this->config['bb3spoiler_image_spimage'])
      {
         $event['text']=preg_replace('#\[img:'.$event['uid'].'\](.*?)\[/img:'.$event['uid'].'\]#', (!$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? '<a href="$1" rel="prettyPhotoSpoiler[0]">' : '').'<var title="$1" class="postImg" alt="' . $this->user->lang['IMAGE'] . '" />'.$this->user->lang['BB3SPOILER_IMAGE_WOJS'].'</var>'.(!$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? '</a>' : ''), $event['text']);

      }
   }

   public function bb3spoiler_language()
   {
      if(!isset($this->user->lang['BB3SPOILER_HEADER']))
      {
         $this->user->add_lang_ext('ppk/bb3spoiler', 'bb3spoiler');
      }
   }

   public function bb3spoiler_vars()
   {

      $this->template->assign_vars(array(
         'SPOILER_IMG_WIDTH' => $this->config['bb3spoiler_img_width'] ? intval($this->config['bb3spoiler_img_width']) : 200,
         'SPOILER_HIDE_POSTIMG' => $this->config['bb3spoiler_hide_postimg'] ? 'true' : 'false',
         'SPOILER_HIDE_SIGIMG' => $this->config['bb3spoiler_hide_sigimg'] ? 'true' : 'false',
         'SPOILER_BANNED_IMGHOSTS' => !empty($this->config['bb3spoiler_banned_imghosts']) ? $this->config['bb3spoiler_banned_imghosts'] : 'false',
         'SPOILER_OPEN_TYPE' => !empty($this->config['bb3spoiler_open_type']) ? intval($this->config['bb3spoiler_open_type']) : 0,
         'SPOILER_PPHOTO' => $this->config['bb3spoiler_pphoto'] ? true : false,
         'SPOILER_PRETTYPHOTO_STYLE' => in_array($this->config['bb3spoiler_ppstyle'], array('pp_default', 'light_rounded', 'dark_rounded', 'light_square', 'dark_square', 'facebook')) ? $this->config['bb3spoiler_ppstyle'] : 'pp_default',

         )
      );
   }

   public function bb3spoiler_getuid($event)
   {

      $this->bbcode_uid=$event['bbcode_uid'];
//       $bbcode_uid=$event['bbcode_uid'];
//       $message=$event['message'];
//
//       Remove spoilers that are nested too deep
//       if ($this->config['bb3spoiler_max_depth'] > 0)
//       {
//          $message=$this->remove_nested_spoilers($this->config['bb3spoiler_max_depth'], $message, $bbcode_uid);
//       }
//
//       $event['message']=$message;

   }


   public function bbcode_spoiler($in, $bbcode_uid='')
   {
      $in = str_replace("\r\n", "\n", str_replace('\"', '"', trim($in)));

      if (!$in)
      {
         return '';
      }

      // To let the parser not catch tokens within spoiler_title spoilers we encode them before we start this...
      $in = preg_replace('#spoiler=&quot;(.*?)&quot;\]#ie', "'spoiler=&quot;' . str_replace(array('[', ']', '\\\"'), array('&#91;', '&#93;', '\"'), '\$1') . '&quot;]'", $in);

      $tok = ']';
      $out = '[';

      $in = substr($in, 1);
      $close_tags = $error_ary = array();
      $buffer = '';

      do
      {
         $pos = strlen($in);
         for ($i = 0, $tok_len = strlen($tok); $i < $tok_len; ++$i)
         {
            $tmp_pos = strpos($in, $tok[$i]);
            if ($tmp_pos !== false && $tmp_pos < $pos)
            {
               $pos = $tmp_pos;
            }
         }

         $buffer .= substr($in, 0, $pos);
         $tok = $in[$pos];
         $in = substr($in, $pos + 1);

         if ($tok == ']')
         {
            if (strtolower($buffer) == '/spoiler' && sizeof($close_tags) && substr($out, -1, 1) == '[')
            {
               // we have found a closing tag
               $out .= array_pop($close_tags) . ']';
               $tok = '[';
               $buffer = '';

               /* Add space at the end of the closing tag if not happened before to allow following urls/smilies to be parsed correctly
               * Do not try to think for the user. :/ Do not parse urls/smilies if there is no space - is the same as with other bbcodes too.
               * Also, we won't have any spaces within $in anyway, only adding up spaces -> #10982
               if (!$in || $in[0] !== ' ')
               {
                  $out .= ' ';
               }*/
            }
            else if (preg_match('#^spoiler(?:=&quot;(.*?)&quot;)?$#is', $buffer, $m) && substr($out, -1, 1) == '[')
            {
               // the buffer holds a valid opening tag
               if ($this->config['bb3spoiler_max_depth'] && sizeof($close_tags) >= $this->config['bb3spoiler_max_depth'])
               {
                  if ($this->config['bb3spoiler_max_depth'] == 1)
                  {
                     //Depth 1 - no nesting is allowed
                     $error_ary['spoiler_depth'] = $this->user->lang('BB3SPOILER_NO_NESTING');
                  }
                  else
                  {
                     //There are too many nested spoilers
                     $error_ary['spoiler_depth'] = sprintf($this->user->lang('BB3SPOILER_DEPTH_EXCEEDED', (int) $this->config['bb3spoiler_max_depth']));
                  }

                  $out .= $buffer . $tok;
                  $tok = '[]';
                  $buffer = '';

                  continue;
               }

               array_push($close_tags, '/spoiler:' . $bbcode_uid);

               if (isset($m[1]) && $m[1])
               {
                  $spoiler_title = str_replace(array('&#91;', '&#93;'), array('[', ']'), $m[1]);
                  $spoiler_title = preg_replace('#\[(?!b|i|u|color|url|email|/b|/i|/u|/color|/url|/email)#iU', '&#91;$1', $spoiler_title);

                  $end_tags = array();
                  $error = false;

                  preg_match_all('#\[((?:/)?(?:[a-z]+))#i', $spoiler_title, $tags);
                  foreach ($tags[1] as $tag)
                  {
                     if ($tag[0] != '/')
                     {
                        $end_tags[] = '/' . $tag;
                     }
                     else
                     {
                        $end_tag = array_pop($end_tags);
                        $error = ($end_tag != $tag) ? true : false;
                     }
                  }

                  if ($error)
                  {
                     $spoiler_title = $m[1];
                  }

                  $out .= 'spoiler=&quot;' . $spoiler_title . '&quot;:' . $bbcode_uid . ']';
               }
               else
               {
                  $out .= 'spoiler:' . $bbcode_uid . ']';
               }

               $tok = '[';
               $buffer = '';
            }
            else if (preg_match('#^spoiler=&quot;(.*?)#is', $buffer, $m))
            {
               // the buffer holds an invalid opening tag
               $buffer .= ']';
            }
            else
            {
               $out .= $buffer . $tok;
               $tok = '[]';
               $buffer = '';
            }
         }
         else
         {
/**
*            Old spoiler code working fine, but having errors listed in bug #3572
*
*            $out .= $buffer . $tok;
*            $tok = ($tok == '[') ? ']' : '[]';
*            $buffer = '';
*/

            $out .= $buffer . $tok;

            if ($tok == '[')
            {
               // Search the text for the next tok... if an ending spoiler comes first, then change tok to []
               $pos1 = stripos($in, '[/spoiler');
               // If the token ] comes first, we change it to ]
               $pos2 = strpos($in, ']');
               // If the token [ comes first, we change it to [
               $pos3 = strpos($in, '[');

               if ($pos1 !== false && ($pos2 === false || $pos1 < $pos2) && ($pos3 === false || $pos1 < $pos3))
               {
                  $tok = '[]';
               }
               else if ($pos3 !== false && ($pos2 === false || $pos3 < $pos2))
               {
                  $tok = '[';
               }
               else
               {
                  $tok = ']';
               }
            }
            else
            {
               $tok = '[]';
            }
            $buffer = '';
         }
      }
      while ($in);

      $out .= $buffer;

      if (sizeof($close_tags))
      {
         $out .= '[' . implode('][', $close_tags) . ']';
      }

      if(sizeof($error_ary))
      {
         trigger_error(implode('<br />', $error_ary));
      }

      return $out;
   }

   /**
   * Second parse spoiler tag
   */
   function bbcode_second_pass_spoiler($title, $spoiler)
   {

      // when using the /e modifier, preg_replace slashes double-spoilers but does not
      // seem to slash anything else
      $spoiler = str_replace('\"', '"', $spoiler);
      $title = str_replace('\"', '"', $title);

      // remove newline at the beginning
      if ($spoiler == "\n")
      {
         $spoiler = '';
      }

      if(!$this->config['bb3spoiler_bbcodes'])
      {
         $uid = '[0-9a-z]{5,}';

         $title = preg_replace("#\[\/?[a-z0-9\*\+\-]+(?:=(?:&quot;.*&quot;|[^\]]*))?(?::[a-z])?(\:$uid)\]#", ' ', $title);

         $match = array(
               '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
               '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
               '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
               '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
               '#<!\-\- .*? \-\->#s',
               '#<.*?>#s',
            );
         $replace = array('\1', '\1', '\2', '\1', '', '');

         $title = preg_replace($match, $replace, $title);

      }
      $title = htmlspecialchars($title);

      static $spoiler_hardtpl = array();

      if (empty($spoiler_hardtpl))
      {

         $spoiler_hardtpl = array(
            'spoiler_open' => '<div class="sp-wrap"><div class="sp-body" title="$1">',
         );
      }

      $title ? '' : $title=$this->user->lang['BB3SPOILER_HEADER'];

      $spoiler = str_replace('$1', $title, $spoiler_hardtpl['spoiler_open']) . $spoiler;

      return $spoiler;
   }

   /**
   * Remove nested spoilers at given depth in current parsed message
   */
   /*function remove_nested_spoilers($max_depth, $message, $bbcode_uid)
   {
      // Capture all [spoiler] and [/spoiler] tags
      preg_match_all('(\\[/?spoiler(?:=&quot;(.*?)&quot;)?:' . $bbcode_uid . '\\])', $message, $matches, PREG_OFFSET_CAPTURE);

      // Iterate over the spoiler tags to mark the ranges that must be removed
      $depth = 0;
      $ranges = array();
      $start_pos = 0;
      foreach ($matches[0] as $match)
      {
         if ($match[0][1] === '/')
         {
            --$depth;
            if ($depth == $max_depth)
            {
               $end_pos = $match[1] + strlen($match[0]);
               $length = $end_pos - $start_pos;
               $ranges[] = array($start_pos, $length);
            }
         }
         else
         {
            ++$depth;
            if ($depth == $max_depth + 1)
            {
               $start_pos = $match[1];
            }
         }
      }

      foreach (array_reverse($ranges) as $range)
      {
         list($start_pos, $length) = $range;
         $message = substr_replace($message, '', $start_pos, $length);
      }

      return $message;
   }*/
}
 

Вложение :
Комментарий к файлу: Вот целиком версия для 3.1.10
bb3spoiler_1.3.4.1.zip [103.37 KiB]
Скачиваний: 1

Единственное что то похожее там есть вот такие строчки:
$event['text']=preg_replace('#\[img:'.$event['uid'].'\](.*?)\[/img:'.$event['uid'].'\]#', (!$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? '<a href="$1" rel="prettyPhotoSpoiler[0]">' : '').'<var title="$1" class="postImg" alt="' . $this->user->lang['IMAGE'] . '" />'.$this->user->lang['BB3SPOILER_IMAGE_WOJS'].'</var>'.(!$this->config['bb3spoiler_open_type'] && $this->config['bb3spoiler_ppgallery'] ? '</a>' : ''), $event['text']);
Я пробовал туда добавлять tagert никакого эффекта. У меня вообще то стоит external links и в настройках есть такое:

Использовать «target» атрибут:
Если выключен, будет использован OnClick на JavaScript. Да
Атрибут rel внутрених ссылок:
Атрибут rel внешних ссылок:
Тип target внутрених ссылок:
Тип target внешних ссылок:
class внутренних ссылок:
class внешних ссылок:
Использовать «noindex» для внешних ссылок?: Да

Сообщение добавлено... спустя 2 часа 23 минуты 8 секунд:
Думаю танцы с бубном закончились :ya_hoo_oo:
Нашел в админке настройку:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
Вообще стало просто супер!!! Фотки стоят в ряды. Жмешь и открывает в другой вкладке в полную величину но так чтоб вписать в окно браузера!!!
Чуток между картинками еще зазор увеличил - так красивше.
:drinks:


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 


Аватар пользователя

Дело в том, что я качал расширение из репозитория, а вы видимо из темы качали, но хорошо что разобрались


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Ну я всегда если что скачиваю то сразу ищу последнюю версию...


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P