Bravo List

Bravo List (http://www.bvlist.com/index.php)
-   TBDev (http://www.bvlist.com/forumdisplay.php?f=20)
-   -   Mixed content external images (http://www.bvlist.com/showthread.php?t=11885)

darkalchemy 20th December 2018 14:04

Quote:

Originally Posted by Tedmorris (Post 53024)
It echos https

That's what you are checking, https or http.

Bump: Lets backup a bit, my initial response was mostly correct, with one exception.

You do not check the $_SERVER['REQUEST_SCHEME'] of the image, that is for the request.

Here is a simple example, I have not tested it, but should work. You would add this after all images have been processed in format_comment().

Code:

if (empty($_SERVER['REQUEST_SCHEME']) || $_SERVER['REQUEST_SCHEME'] === 'https') {
    preg_match_all('//s', $s, $matches);
    foreach ($matches[0] as $match) {
        preg_match('//s', $match, $links);
        $dummy_image = "
       
           
       
";
        $s = str_replace($match, $dummy_image, $s);
    }
}

Sorry, for the confusion.

Tedmorris 27th December 2018 15:03

Thx m8. Its working but now i need to figure out how to make it work for avatars and to load the image when a user clicks on the replaced image. I have the href working but it wont load in the current window/description body of the torrent description.

darkalchemy 27th December 2018 15:06

you'll need javascript for that, to load and replace the image

Tedmorris 27th December 2018 19:01

Yeah ive been reading up on it but im hopeless with javascript atm lol, just need to read up more on it and i should be able to work it out. The avatars though aren't looking as simple as the avatars use a variable with a query.

PHP Code:

if ($CURUSER["avatars"] == "yes")
        
$avatar htmlspecialchars($row["avatar"]);
        elseif (
$CURUSER["avatars"] == "safe" AND $row["offensive"] == "no")
        
$avatar htmlspecialchars($row["avatar"]);
        elseif (
$CURUSER["avatars"] == "safe" AND $row["offensive"] == "yes")
         
$avatar "/pic/offensive.gif";
        
//        $avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($row["avatar"]) : "");
        
if (!$avatar)
            
$avatar "/pic/default_avatar.gif"

Bump: I'm trying to use an external image proxy server to load http images over https. For example, a user uses the image tag on the forums of http://images2.imagebam.com/2f/9d/32/b55ec21038500004.png
By adding https://images.weserv.nl/?url=ssl: to the start of the url and stripping the http:// the embeded link becomes https://images.weserv.nl/?url=ssl:images2.imagebam.com/2f/9d/32/b55ec21038500004.png but I'm struggling to get it working in globalstar..

This..

PHP Code:

[img]http://www/image.gif[/img]
$s preg_replace("/\[img\](http:\/\/[^\s'\"<>]+(\.gif|\.jpg|\.png))\[\/img\]/""<img border=0 src=\"\\1\">"$s); 

To this..

PHP Code:

[img]http://www/image.gif[/img]
$s preg_replace("/\[img\](http:\/\/[^\s'\"<>]+(\.gif|\.jpg|\.png))\[\/img\]/""<img border=0 src=\"\\https://images.weserv.nl/?url=ssl:\1\" >"$s); 

Is outputting https://images.weserv.nl/?url=ssl:" width="150" height="150" alt=""> I'm not getting the image url inserted and I know I need to strip the http:// from it but wanted to try atleast getting the http link added to the end of the image proxy link first. The src=\"\\1\" appears to be the user inputted url but I've formatted it wrong in the modded version..

Any help would be great and much appreciated.

Bump: [QUOTE=Tedmorris;53047]Yeah ive been reading up on it but im hopeless with javascript atm lol, just need to read up more on it and i should be able to work it out. The avatars though aren't looking as simple as the avatars use a variable with a query.

PHP Code:

if ($CURUSER["avatars"] == "yes")
        
$avatar htmlspecialchars($row["avatar"]);
        elseif (
$CURUSER["avatars"] == "safe" AND $row["offensive"] == "no")
        
$avatar htmlspecialchars($row["avatar"]);
        elseif (
$CURUSER["avatars"] == "safe" AND $row["offensive"] == "yes")
         
$avatar "/pic/offensive.gif";
        
//        $avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($row["avatar"]) : "");
        
if (!$avatar)
            
$avatar "/pic/default_avatar.gif"



All times are GMT +2. The time now is 20:58.

Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.