Provides AdvAgg State interfaces with a few extra commands.

Hierarchy

  • class \Drupal\advagg\State\State extends \Drupal\Core\State\State

Expanded class hierarchy of State

1 string reference to 'State'
SettingsForm::create in src/Form/SettingsForm.php

File

src/State/State.php, line 10

Namespace

Drupal\advagg\State
View source
abstract class State extends CoreState {
    
    /**
     * If the array isn't keyed by filepath the column the filepath is stored in.
     */
    protected $pathColumn = NULL;
    
    /**
     * Gets all stored information from this Key Value Store.
     *
     * @return array
     *   An array of all key value pairs.
     */
    public function getAll() {
        $values = $this->keyValueStore
            ->getAll();
        return $values;
    }
    
    /**
     * Delete all stored information from this Key Value Store.
     */
    public function deleteAll() {
        $this->keyValueStore
            ->deleteAll();
    }
    
    /**
     * Get a semi-random (randomness not guaranteed) key.
     */
    public function getRandomKey() {
        $key = array_rand($this->getAll());
        return $key;
    }
    
    /**
     * Get a semi-random (randomness not guaranteed) value.
     */
    public function getRandom() {
        return $this->get($this->getRandomKey());
    }
    
    /**
     * Scan the filesystem for missing files and removee from database.
     */
    public function clearMissingFiles() {
        $removed = [];
        $values = $this->getAll();
        if (empty($values)) {
            return $removed;
        }
        if ($this->pathColumn) {
            $values = array_column($values, NULL, $this->pathColumn);
        }
        foreach ($values as $path => $details) {
            if (!file_exists($path)) {
                $removed[$path] = $values[$path];
                $this->delete($path);
            }
        }
        return $removed;
    }

}

Members

Title Sort descending Modifiers Object type Summary
State::$pathColumn protected property If the array isn't keyed by filepath the column the filepath is stored in.
State::clearMissingFiles public function Scan the filesystem for missing files and removee from database.
State::deleteAll public function Delete all stored information from this Key Value Store.
State::getAll public function Gets all stored information from this Key Value Store.
State::getRandom public function Get a semi-random (randomness not guaranteed) value.
State::getRandomKey public function Get a semi-random (randomness not guaranteed) key.