Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Activity/NewsflowItem.php
Строк: 108
<?php
namespace ConcreteCoreActivity;

use 
ConcreteCoreHttpServiceJson;

/**
 * Class NewsflowItem
 * @package ConcreteCoreActivity
 */
class NewsflowItem
{

    protected 
$id;
    protected 
$title;
    protected 
$content;
    protected 
$date;
    protected 
$description;

    
/**
     * @return int
     */
    
public function getID()
    {
        return 
$this->id;
    }

    
/**
     * @return string
     */
    
public function getTitle()
    {
        return 
$this->title;
    }

    
/**
     * @return string
     */
    
public function getContent()
    {
        return 
$this->content;
    }

    
/**
     * todo: determine return type
     * @return mixed
     */
    
public function getDate()
    {
        return 
$this->date;
    }

    
/**
     * @return string
     */
    
public function getDescription()
    {
        return 
$this->description;
    }

    
/**
     * @param int $id
     * @param string $title
     * @param string $content
     * @param mixed $date todo: needs type fixed
     * @param string $description
     */
    
public function __construct($id null$title null$content null$date null$description null)
    {
        
$this->id $id;
        
$this->title $title;
        
$this->content $content;
        
$this->date $date;
        
$this->description $description;
    }

    
/**
     * @param string $response A JSON encoded array. Expected format of:
     * <code>
     * {
     *  'id': value,
     *  'title': value,
     *  'content': value,
     *  'date': value,
     *  'description': value
     * }
     * </code>
     * @return NewsflowItem Returns a new NewsflowItem if one could be created from the response, otherwise throws an exception
     * @throws Exception
     */
    
public function parseResponse($response)
    {
        try {
            
$json = new Json();
            
$obj $json->decode($response);
            if (
is_object($obj) && isset($obj->id) && isset($obj->title) && isset($obj->content)
                && isset(
$obj->date) && isset($obj->description)
            ) {
                return new 
NewsflowItem(
                    
$obj->id,
                    
$obj->title,
                    
$obj->content,
                    
$obj->date,
                    
$obj->description
                
);
            } else {
                throw new 
Exception(t('Unable to parse news response.'));
            }
        } catch (
Exception $e) {
            throw new 
Exception(t('Unable to parse news response.'));
        }
    }

}
Онлайн: 1
Реклама