Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Error/Error.php
Строк: 107
<?php

namespace ConcreteCoreError;

use 
Exception;
use 
Loader;
use 
stdClass;

class 
Error implements ArrayAccess
{

    protected 
$error = array();
    public 
$helperAlwaysCreateNewInstance true;

    
/**
     * Whether a offset exists
     * @link http://php.net/manual/en/arrayaccess.offsetexists.php
     * @param mixed $offset <p>
     * An offset to check for.
     * </p>
     * @return boolean true on success or false on failure.
     * </p>
     * <p>
     * The return value will be casted to boolean if non-boolean was returned.
     * @since 5.0.0
     */
    
public function offsetExists($offset)
    {
        return 
$this->error[$offset];
    }

    
/**
     * Offset to retrieve
     * @link http://php.net/manual/en/arrayaccess.offsetget.php
     * @param mixed $offset <p>
     * The offset to retrieve.
     * </p>
     * @return mixed Can return all value types.
     * @since 5.0.0
     */
    
public function offsetGet($offset)
    {
        return 
array_get($this->error$offset);
    }

    
/**
     * Offset to set
     * @link http://php.net/manual/en/arrayaccess.offsetset.php
     * @param mixed $offset <p>
     * The offset to assign the value to.
     * </p>
     * @param mixed $value <p>
     * The value to set.
     * </p>
     * @return void
     * @since 5.0.0
     */
    
public function offsetSet($offset$value)
    {
        if (
is_null($offset)) {
            
$this->add($value);
        } else {
            
$this->error[$offset] = $value;
        }
    }

    
/**
     * Offset to unset
     * @link http://php.net/manual/en/arrayaccess.offsetunset.php
     * @param mixed $offset <p>
     * The offset to unset.
     * </p>
     * @return void
     * @since 5.0.0
     */
    
public function offsetUnset($offset)
    {
        unset(
$this->error[$offset]);
    }

    
/**
     * Adds an error object or exception to the internal error array
     * @param Exception | string $e
     * @return void
     */
    
public function add($e)
    {
        if (
$e instanceof Error) {
            foreach (
$e->getList() as $errorString) {
                
$this->add($errorString);
            }
        } else if (
is_object($e) && ($e instanceof Exception)) {
            
$this->error[] = $e->getMessage();
        } else {
            
$this->error[] = $e;
        }
    }

    
/**
     * Returns a list of errors in the error helper
     * @return array
     */
    
public function getList()
    {
        return 
$this->error;
    }

    
/**
     * Returns whether or not this error helper has more than one error registered within it.
     * @return bool
     */
    
public function has()
    {
        return (
count($this->error) > 0);
    }

    
/**
     * Outputs the HTML of an error list, with the correct style attributes/classes. This is a convenience method.
     */
    
public function output()
    {
        if (
$this->has()) {
            print 
'<ul class="ccm-error">';
            foreach (
$this->getList() as $error) {
                print 
'<li>' $error '</li>';
            }
            print 
'</ul>';
        }
    }

    
/**
     * Outputs the the error as a JSON object.
     */
    
public function outputJSON()
    {
        if (
$this->has()) {
            
$js Loader::helper('json');
            
$obj = new stdClass;
            
$obj->error true;
            
$obj->errors = array();
            foreach (
$this->getList() as $error) {
                
$obj->errors[] = $error;
            }
            print 
$js->encode($obj);
        }
    }

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