Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0.00%  | 
      0 / 1  | 
              | 
      0.00%  | 
      0 / 16  | 
      CRAP |         | 
      12.20%  | 
      5 / 41  | 
     
| StringBase |         | 
      0.00%  | 
      0 / 1  | 
              | 
      0.00%  | 
      0 / 16  | 
      770.20 |         | 
      12.20%  | 
      5 / 41  | 
     
| __construct |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getId |         | 
      0.00%  | 
      0 / 1  | 
      6 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setId |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getVersion |         | 
      0.00%  | 
      0 / 1  | 
      6 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setVersion |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getPlurals |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setPlurals |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getStorage |         | 
      0.00%  | 
      0 / 1  | 
      6 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setStorage |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| setValues |         | 
      0.00%  | 
      0 / 1  | 
      30 |         | 
      0.00%  | 
      0 / 4  | 
     |||
| getValues |         | 
      0.00%  | 
      0 / 1  | 
      12 |         | 
      0.00%  | 
      0 / 5  | 
     |||
| getLocations |         | 
      0.00%  | 
      0 / 1  | 
      30 |         | 
      0.00%  | 
      0 / 5  | 
     |||
| addLocation |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| hasLocation |         | 
      0.00%  | 
      0 / 1  | 
      6 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| save |         | 
      0.00%  | 
      0 / 1  | 
      2.50 |         | 
      50.00%  | 
      2 / 4  | 
     |||
| delete |         | 
      0.00%  | 
      0 / 1  | 
      3.58 |         | 
      60.00%  | 
      3 / 5  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\locale\StringBase. | |
| */ | |
| namespace Drupal\locale; | |
| /** | |
| * Defines the locale string base class. | |
| * | |
| * This is the base class to be used for locale string objects and contains | |
| * the common properties and methods for source and translation strings. | |
| */ | |
| abstract class StringBase implements StringInterface { | |
| /** | |
| * The string identifier. | |
| * | |
| * @var int | |
| */ | |
| public $lid; | |
| /** | |
| * The string locations indexed by type. | |
| * | |
| * @var string | |
| */ | |
| public $locations; | |
| /** | |
| * The source string. | |
| * | |
| * @var string | |
| */ | |
| public $source; | |
| /** | |
| * The string context. | |
| * | |
| * @var string | |
| */ | |
| public $context; | |
| /** | |
| * The string version. | |
| * | |
| * @var string | |
| */ | |
| public $version; | |
| /** | |
| * The locale storage this string comes from or is to be saved to. | |
| * | |
| * @var \Drupal\locale\StringStorageInterface | |
| */ | |
| protected $storage; | |
| /** | |
| * Constructs a new locale string object. | |
| * | |
| * @param object|array $values | |
| * Object or array with initial values. | |
| */ | |
| public function __construct($values = array()) { | |
| $this->setValues((array) $values); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getId() { | |
| return isset($this->lid) ? $this->lid : NULL; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setId($lid) { | |
| $this->lid = $lid; | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getVersion() { | |
| return isset($this->version) ? $this->version : NULL; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setVersion($version) { | |
| $this->version = $version; | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getPlurals() { | |
| return explode(LOCALE_PLURAL_DELIMITER, $this->getString()); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setPlurals($plurals) { | |
| $this->setString(implode(LOCALE_PLURAL_DELIMITER, $plurals)); | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getStorage() { | |
| return isset($this->storage) ? $this->storage : NULL; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setStorage($storage) { | |
| $this->storage = $storage; | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setValues(array $values, $override = TRUE) { | |
| foreach ($values as $key => $value) { | |
| if (property_exists($this, $key) && ($override || !isset($this->$key))) { | |
| $this->$key = $value; | |
| } | |
| } | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getValues(array $fields) { | |
| $values = array(); | |
| foreach ($fields as $field) { | |
| if (isset($this->$field)) { | |
| $values[$field] = $this->$field; | |
| } | |
| } | |
| return $values; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getLocations($check_only = FALSE) { | |
| if (!isset($this->locations) && !$check_only) { | |
| $this->locations = array(); | |
| foreach ($this->getStorage()->getLocations(array('sid' => $this->getId())) as $location) { | |
| $this->locations[$location->type][$location->name] = $location->lid; | |
| } | |
| } | |
| return isset($this->locations) ? $this->locations : array(); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function addLocation($type, $name) { | |
| $this->locations[$type][$name] = TRUE; | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function hasLocation($type, $name) { | |
| $locations = $this->getLocations(); | |
| return isset($locations[$type]) ? !empty($locations[$type][$name]) : FALSE; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function save() { | |
| if ($storage = $this->getStorage()) { | |
| $storage->save($this); | |
| } | |
| else { | |
| throw new StringStorageException('The string cannot be saved because its not bound to a storage: ' . $this->getString()); | |
| } | |
| return $this; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function delete() { | |
| if (!$this->isNew()) { | |
| if ($storage = $this->getStorage()) { | |
| $storage->delete($this); | |
| } | |
| else { | |
| throw new StringStorageException('The string cannot be deleted because its not bound to a storage: ' . $this->getString()); | |
| } | |
| } | |
| return $this; | |
| } | |
| } |