vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Design and Graphics Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=253)
-   -   Custom [ IMG ] BBCODE (https://vborg.vbsupport.ru/showthread.php?t=294880)

DF031 02-08-2013 08:45 AM

Custom [ IMG ] BBCODE
 
Good morning all,

I would like deep-linked images to stand-out more, so moderators can spot them and ask the user to upload it.

I assume a deep-linked image is always "inserted" by using the [ IMG ] [ /IMG ] bbcode

Would it be possible to change that bbcode so the image would have, for instance, a red border ?

LifesGreatestGift 02-09-2013 04:13 AM

New Plugin

Name: Add border to external image in posts
Hook Location: postbit_display_complete
PHP Code:

/* Show only moderator,super moderator, administrator */
if (is_member_of($vbulletin->userinfo5,6,7)) {
    
/* Get post content */
    
$html $this->post['message'];
    
/* Get base URL of site */
    
$site_url $_SERVER['HTTP_HOST'];
    
/* If site base URL contains WWW, remove */
    
if (strpos($site_url,'www.') !== false) { 
        
$site_url2 substr($site_url4); 
    } else { 
        
$site_url2 $site_url
    }
    
/* Load post content for parsing */
    
$doc = new DOMDocument(); 
    @
$doc->loadHTML($html); 
    
/* Select all img elements */
    
$tags $doc->getElementsByTagName('img'); 
    
/* Iterate over array of img elements to review src (sources) */
    
foreach ($tags as $tag) {
            
/* Select 'src' of img element */
           
$img_src $tag->getAttribute('src');
            
/* If 'src' doesn't contain site base URL, apply 'external-img' class */
           
if (strpos($img_src,$site_url2) === false) {  
           
$this->post['message'] = str_replace($img_src$img_src '" class="external-img'$this->post['message']); 
          } 

    }


now add this to additional.css template

Code:

.external-img {
        outline: 2px solid #FF0000;
        border: 2px solid #FFF;
        margin: 6px;
}

The only downside with this is, that it does not account for relative images. aka

Code:

<img src="images/smilies/smile.png" />
relative images will be seen as external.

--------------- Added [DATE]1360413856[/DATE] at [TIME]1360413856[/TIME] ---------------

I forgot to change
Code:

if (is_member_of($vbulletin->userinfo, 6)) {
To
Code:

if (is_member_of($vbulletin->userinfo, 5,6,7)) {

LifesGreatestGift 02-09-2013 10:53 PM

yes, i didnt feel like researching how to change relative url's to full forum urls. but its possible. I would just edit the editor files to make the image paths absolute instead of relative. only downside would be upgrading, you would need to do the edits again. maybe someone will edit the plugin code i provided to set relative urls to full and omit them from the 'replace'.


All times are GMT. The time now is 05:01 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01173 seconds
  • Memory Usage 1,729KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete