Plugin Directory

Changeset 1888695


Ignore:
Timestamp:
06/07/2018 10:09:54 AM (8 years ago)
Author:
emarten
Message:

fix google bug and integrates migrating function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dsgvo/trunk/eu-dsgvo-helper.php

    r1888630 r1888695  
    44        Plugin Name: EU DSGVO Helper
    55        Description: This Plugin will be further developed. It so far caches google webfonts locally and replaces youtube embeded videos with a preview-image which becomes an embeded video on-click. Removes Emojis. More functions will be added soon.
    6         Version: 1.0.5.5
     6        Version: 1.0.5.6
    77        Author: Eric Marten
    88        Author URL: https://www.herr-marten.de/
     
    1010
    1111
     12    define("EU_DSGVO_HELPER_VERSION",1);
     13
     14    if (get_option("eudsgvo_helper_installed",0)!=EU_DSGVO_HELPER_VERSION )
     15    {
     16        eu_dsgvo_helper_migrate(get_option("eudsgvo_helper_installed",0),EU_DSGVO_HELPER_VERSION);
     17    }
     18
     19    function install_eu_dsgvo_helper()
     20    {
     21        update_option("eudsgvo_helper_installed",EU_DSGVO_HELPER_VERSION);
     22    }
     23    register_activation_hook( __FILE__ , 'install_eu_dsgvo_helper' );
     24
     25
     26    function eu_dsgvo_helper_migrate($from,$to)
     27    {
     28
     29        if ($from<1)
     30        {
     31
     32
     33            $file_css=md5($_SERVER["HTTP_USER_AGENT"]."-".$url).".css";
     34            $upload_dir_o   = wp_upload_dir();
     35            $upload_dir=$upload_dir_o['basedir']."/fonts/";
     36
     37            $upload_url=$upload_dir_o['baseurl']."/fonts/";
     38            $local_css=$upload_dir.$file_css;
     39            $css_url=$upload_url.$file_css;
     40
     41
     42            if (!file_exists($upload_dir))
     43            {
     44                update_option("eudsgvo_helper_installed",$to);
     45            }
     46            else
     47            {
     48                $files=0;
     49                $od=opendir($upload_dir);
     50                while ($rd=readdir($od))
     51                {
     52                    if ($rd!="." AND $rd!="..")
     53                    {
     54                        $files++;
     55                    }
     56                    if (substr($rd,0,1)!="." && !is_dir($upload_dir.$rd) )
     57                    {
     58                        if ( filemtime($upload_dir.$rd)<=1528364000 )
     59                        {
     60                            @unlink($upload_dir.$rd);
     61                        }
     62                    }
     63                }
     64                closedir($od);
     65
     66                if ($files<=0)
     67                {
     68                    @rmdir($upload_dir);
     69
     70                    update_option("eudsgvo_helper_installed",$to);
     71                }
     72
     73            }
     74
     75        }
     76
     77
     78    }
     79
     80
     81
     82
    1283
    1384    function dsgvo_mu_plugin_google_webfont($url)
    1485    {
     86
     87
    1588        if (substr($url,0,2)=="//")
    1689        {
     
    1992        $expire=(60*60*24*30);
    2093
    21         $file_css=md5($_SERVER["HTTP_USER_AGENT"]."-".$url).".css";
     94
     95        $file_css=md5($_SERVER["HTTP_USER_AGENT"]."-".EU_DSGVO_HELPER_VERSION."-".$url).".css";
    2296        $upload_dir_o   = wp_upload_dir();
    23         $upload_dir=$upload_dir_o['basedir']."/fonts/";
    24 
    25         $upload_url=$upload_dir_o['baseurl']."/fonts/";
     97        $upload_dir=$upload_dir_o['basedir']."/dsgvo-webfonts/";
     98
     99        $upload_url=$upload_dir_o['baseurl']."/dsgvo-webfonts/";
    26100        $local_css=$upload_dir.$file_css;
    27101        $css_url=$upload_url.$file_css;
     
    40114            if (substr($rd,0,1)!="." && !is_dir($upload_dir.$rd) )
    41115            {
    42                 if (filemtime($upload_dir.$rd)<= (time()-$expire) || filemtime($upload_dir.$rd)<=1528362000 )
     116                if (filemtime($upload_dir.$rd)<= (time()-$expire) )
    43117                {
    44118                    @unlink($upload_dir.$rd);
     
    54128        {
    55129            $css=wp_remote_retrieve_body( wp_remote_get( $url, array('timeout' => 60, 'user-agent' =>  $_SERVER["HTTP_USER_AGENT"] ) ) );
     130            $ocss=$css;
     131
    56132            preg_match_all('/url\((?<url>[\S]+)\)/',$css,$matches,PREG_SET_ORDER);
     133            $replaces=0;
    57134            foreach ($matches as $match)
    58135            {
     
    71148                        file_put_contents($font_file,
    72149                        wp_remote_retrieve_body( wp_remote_get( $dl_url , array('timeout' => 60, 'user-agent' =>  $_SERVER["HTTP_USER_AGENT"] ) ) ) );
    73                         $css=str_replace($match["url"],$font_url,$css);
    74                     }
    75                 }
    76             }
    77             file_put_contents($local_css,"/* Original-Document: ".$url." for: ".$_SERVER["HTTP_USER_AGENT"]." */\n\n".$css);
     150                    }
     151                    $css=str_replace($match["url"],$font_url,$css);
     152                    $replaces++;
     153                }
     154            }
     155            file_put_contents($local_css,"/* Original-Document: ".$url." for: ".$_SERVER["HTTP_USER_AGENT"]." replaces: $replaces , version: ".EU_DSGVO_HELPER_VERSION." */\n\n".$css);
    78156        }
    79157        return "<link href='".$css_url."' rel='stylesheet' type='text/css' />";
Note: See TracChangeset for help on using the changeset viewer.