sync
authorBlastytheBlue <blastofmn@gmail.com>
Wed, 17 Dec 2014 10:26:17 +0000 (18:26 +0800)
committerBlastytheBlue <blastofmn@gmail.com>
Wed, 17 Dec 2014 10:26:17 +0000 (18:26 +0800)
Pman/Reddit/DataObjects/Reddit_livefeed_embed.php

index e14d6f2..19cb55a 100644 (file)
@@ -3,6 +3,7 @@
  * Table Definition for cash_costing_map
  */
 require_once 'DB/DataObject.php';
+require_once 'Net/URL.php';
 
 
 class Pman_Reddit_DataObjects_Reddit_livefeed_embed extends DB_DataObject 
@@ -53,7 +54,34 @@ class Pman_Reddit_DataObjects_Reddit_livefeed_embed extends DB_DataObject
                 echo "Made directory: ".$dir . "\n";
                 mkdir($dir,0775,true);
             }
-            file_put_contents($file,file_get_contents($l->getAttribute("href")));
+            $contents=file_get_contents($l->getAttribute("href"));
+            preg_match_all("/url\(([^\)]*)/",$contents,$matches);
+            foreach($matches[1] as $r){
+                if(preg_match("/^data:/",$r)===1){
+                    continue;
+                };
+                $linked="";
+                if(preg_match("/^\//",$r)===1){
+                    $linked=$url["host"] . $r;
+                }else{
+                    $nu = new Net_URL();
+                    $linked=$nu->resolvePath(dirname($l->getAttribute("href")) . $r);
+                }
+                $lnk = parse_url($linked);
+                $fl = '/home/reddit/assets/' . $lnk["host"] . $lnk["path"];
+                if(file_exists($fl)){
+                    echo "file exists already.\n";
+                    continue;
+                }
+                $dr = dirname($fl);
+                if(!file_exists($dr)){
+                    echo "Made directory: ".$dr . "\n";
+                    mkdir($dr,0775,true);
+                }
+                $cntnts=file_get_contents($linked);
+                file_put_contents($fl,$cntnts);
+            };
+            file_put_contents($file,$contents);
         }
         
         $x=0;