Moved placehold.it class to it's own repo

Decoupling API wrappers from PICKLES. New location for the API is
https://github.com/joshtronic/php-placeholdit
This commit is contained in:
Josh Sherman 2014-09-23 20:02:40 -04:00
parent 93ee7356b2
commit 2f2dd0d8b8
2 changed files with 0 additions and 173 deletions

View file

@ -1,106 +0,0 @@
<?php
/**
* Placehold.it Class File for PICKLES
*
* PHP version 5
*
* Licensed under The MIT License
* Redistribution of these files must retain the above copyright notice.
*
* @author Josh Sherman <josh@gravityblvd.com>
* @copyright Copyright 2007-2014, Josh Sherman
* @license http://www.opensource.org/licenses/mit-license.html
* @package PICKLES
* @link https://github.com/joshtronic/pickles
*/
/**
* Placehold.it API Interface
*
* @link http://placehold.it
*/
class API_PlaceholdIt extends Object
{
/**
* URL
*
* Generates a Placehold.it URL based on the passed parameters.
*
* @param integer $width width of the image
* @param integer $height optional height of the image
* @param string $format optional format of the image
* @param string $background optional background color of the image
* @param string $foreground optional foreground color of the image
* @param string $text optional text to display in the image
* @return string Placehold.it URL
*/
public function url($width, $height = null, $format = 'gif', $background = null, $foreground = null, $text = null)
{
// Checks if the format is valid
if (!in_array($format, ['gif', 'jpeg', 'jpg', 'png']))
{
throw new Exception('Invalid format. Valid formats: gif, jpeg, jpg and png.');
}
// Checks if foreground is present without background
elseif ($foreground && !$background)
{
throw new Exception('You must specify a background color if you wish to specify a foreground color.');
}
// Checks the background color's length
elseif ($background && strlen($background) < 6)
{
throw new Exception('The background color must be a 6 character hex code.');
}
// Checks the foreground color's length
elseif ($foreground && strlen($foreground) < 6)
{
throw new Exception('The foreground color must be a 6 character hex code.');
}
$url = 'http://placehold.it/' . $width;
if ($height)
{
$url .= 'x' . $height;
}
$url .= '.' . $format;
if ($background)
{
$url .= '/' . $background;
}
if ($foreground)
{
$url .= '/' . $foreground;
}
if ($text)
{
$url .= '&text=' . urlencode($text);
}
return $url;
}
/**
* URL
*
* Generates a Placehold.it <img> tag based on the passed parameters.
*
* @param integer $width width of the image
* @param integer $height optional height of the image
* @param string $format optional format of the image
* @param string $background optional background color of the image
* @param string $foreground optional foreground color of the image
* @param string $text optional text to display in the image
* @return string <img> tag with the Placehold.it URL
*/
public function img($width, $height = null, $format = 'gif', $background = null, $foreground = null, $text = null)
{
return '<img src="' . $this->url($width, $height, $format, $background, $foreground, $text) . '">';
}
}

View file

@ -1,67 +0,0 @@
<?php
class API_PlaceholdIt_Test extends PHPUnit_Framework_TestCase
{
private $placeholdit;
public function setUp()
{
$this->placeholdit = new API_PlaceholdIt();
}
public function testInstantiateObject()
{
$this->assertInstanceOf('API_PlaceholdIt', $this->placeholdit);
}
public function testURL()
{
$expected = 'http://placehold.it/350x150.png/ffffff/000000&text=PICKLES+Rules%21';
$url = $this->placeholdit->url(350, 150, 'png', 'ffffff', '000000', 'PICKLES Rules!');
$this->assertEquals($expected, $url);
}
/**
* @expectedException Exception
* @expectedExceptionMessage Invalid format. Valid formats: gif, jpeg, jpg and png.
*/
public function testInvalidFormat()
{
$this->placeholdit->url(350, 150, 'invalid');
}
/**
* @expectedException Exception
* @expectedExceptionMessage You must specify a background color if you wish to specify a foreground color.
*/
public function testForegroundNoBackground()
{
$this->placeholdit->url(350, 150, 'png', false, '000000');
}
/**
* @expectedException Exception
* @expectedExceptionMessage The background color must be a 6 character hex code.
*/
public function testInvalidBackground()
{
$this->placeholdit->url(350, 150, 'png', 'fff');
}
/**
* @expectedException Exception
* @expectedExceptionMessage The foreground color must be a 6 character hex code.
*/
public function testInvalidForeground()
{
$this->placeholdit->url(350, 150, 'png', 'ffffff', '000');
}
public function testIMG()
{
$expected = '<img src="http://placehold.it/350x150.png/ffffff/000000&text=PICKLES+Rules%21">';
$url = $this->placeholdit->img(350, 150, 'png', 'ffffff', '000000', 'PICKLES Rules!');
$this->assertEquals($expected, $url);
}
}