2013-08-11 15:30:41 +04:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Json
|
|
|
|
* Builds a JSON string from $this->items and return it to browser.
|
|
|
|
*/
|
2016-09-10 21:41:11 +03:00
|
|
|
class JsonFormat extends FormatAbstract {
|
2013-08-11 15:30:41 +04:00
|
|
|
|
2016-09-10 21:41:11 +03:00
|
|
|
public function stringify(){
|
|
|
|
$items = $this->getItems();
|
2016-11-07 22:49:44 +03:00
|
|
|
$toReturn = json_encode($items, JSON_PRETTY_PRINT);
|
|
|
|
|
|
|
|
// Remove invalid non-UTF8 characters
|
|
|
|
ini_set('mbstring.substitute_character', 'none');
|
|
|
|
$toReturn = mb_convert_encoding($toReturn, $this->getCharset(), 'UTF-8');
|
|
|
|
return $toReturn;
|
2016-09-10 21:41:11 +03:00
|
|
|
}
|
2013-08-11 15:30:41 +04:00
|
|
|
|
2016-09-10 21:41:11 +03:00
|
|
|
public function display(){
|
|
|
|
$this
|
2016-11-07 22:49:44 +03:00
|
|
|
->setContentType('application/json; charset=' . $this->getCharset())
|
2016-09-10 21:41:11 +03:00
|
|
|
->callContentType();
|
2013-08-11 15:30:41 +04:00
|
|
|
|
2016-09-10 21:41:11 +03:00
|
|
|
return parent::display();
|
|
|
|
}
|
2016-02-19 19:15:06 +03:00
|
|
|
}
|