Viewing file: Break.php (2.19 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Plivo\XML;
use Plivo\Exceptions\PlivoXMLException;
/** * Class Break * @package Plivo\XML */ class Break_ extends Element {
protected $nestables = [];
protected $valid_attributes = [ 'strength', 'time' ]; protected $valid_strength_attribute_values = [ 'none', 'x-weak', 'weak', 'medium', 'strong', 'x-strong' ];
/** * Break_ constructor. * @param array $attributes */ function __construct($attributes = []) {
if(!empty($attributes)){ foreach ($attributes as $key => $value) { if ($key ==='strength' && !in_array($value, $this->valid_strength_attribute_values)) { throw new PlivoXMLException( "invalid attribute value ".$value." for ".$key." ".$this->name); } if ($key ==='time'){ if (strpos($value, 'ms') !== false) { $msec = explode('ms',$value); if($msec[0] <0 || $msec[0] > 10000){ throw new PlivoXMLException( "invalid attribute value ".$value." for ".$key." ".$this->name); } } else if (strpos($value, 's') !== false) { $sec = explode('s',$value); if($sec[0] <0 || $sec[0] > 10){ throw new PlivoXMLException( "invalid attribute value ".$value." for ".$key." ".$this->name); } } else { throw new PlivoXMLException( "invalid attribute value ".$value." for ".$key." ".$this->name); } } // if ($key ==='time' && !in_array($value, $this->valid_time_attribute_values)) { // throw new PlivoXMLException( // "invalid attribute value ".$value." for ".$key." ".$this->name); // } } } parent::__construct(null, $attributes); $this->name = strtolower($this->name); } }
|