/** * Proxify imgs through atmos/camo when not https * * @param string $content item content * @return string item content */ public function camoflauge($content) { if (empty($content)) { return $content; } $camo = new \WillWashburn\Phpamo\Phpamo(\F3::get('camo_key'), \F3::get('camo_domain')); $dom = new \DOMDocument(); $dom->loadHTML($content); foreach ($dom->getElementsByTagName('img') as $item) { if ($item->hasAttribute('src')) { $src = $item->getAttribute('src'); $item->setAttribute('src', $camo->camoHttpOnly($src)); } } return $dom->saveHTML(); }
/** * @dataProvider linksProvider * * @param $original * @param $proxy */ public function test_query_camo_url_returns_correct_link($original, $proxy) { $phpamo = new \WillWashburn\Phpamo\Phpamo('somekeythatisuniqueandstufflikethat', 'www.example.com', new QueryStringFormatter(new QueryStringEncoder())); $this->assertEquals($phpamo->camo($original), $proxy); }