Priority File Manager

📁 public_html
Base Directory:
/home/ecedu/public_html/wp-content/plugins/updraftplus/includes/Google
NameTypeSizeActions
📁 .. Folder -
📁 Auth Folder -
📁 Cache Folder -
📄 Client.php File 20237
Edit Download
📄 Collection.php File 2757
Edit Download
📄 Config.php File 13988
Edit Download
📄 Exception.php File 647
Edit Download
📁 Http Folder -
📁 IO Folder -
📁 Logger Folder -
📄 Model.php File 8403
Edit Download
📁 Service Folder -
📄 Service.php File 1013
Edit Download
📁 Signer Folder -
📁 Task Folder -
📁 Utils Folder -
📄 Utils.php File 3946
Edit Download
📁 Verifier Folder -
📄 autoload.php File 1525
Edit Download

View File: Collection.php

<?php

if (!class_exists('UDP_Google_Client')) {
  require_once dirname(__FILE__) . '/../autoload.php';
}

/**
 * Extension to the regular Google_Model that automatically
 * exposes the items array for iteration, so you can just
 * iterate over the object rather than a reference inside.
 */
class Google_Collection extends Google_Model implements Iterator, Countable
{
  protected $collection_key = 'items';

  #[\ReturnTypeWillChange]
  public function rewind()
  {
    if (isset($this->modelData[$this->collection_key])
        && is_array($this->modelData[$this->collection_key])) {
      reset($this->modelData[$this->collection_key]);
    }
  }

  #[\ReturnTypeWillChange]
  public function current()
  {
    $this->coerceType($this->key());
    if (is_array($this->modelData[$this->collection_key])) {
      return current($this->modelData[$this->collection_key]);
    }
  }

  #[\ReturnTypeWillChange]
  public function key()
  {
    if (isset($this->modelData[$this->collection_key])
        && is_array($this->modelData[$this->collection_key])) {
      return key($this->modelData[$this->collection_key]);
    }
  }

  #[\ReturnTypeWillChange]
  public function next()
  {
    return next($this->modelData[$this->collection_key]);
  }

  #[\ReturnTypeWillChange]
  public function valid()
  {
    $key = $this->key();
    return $key !== null && $key !== false;
  }

  #[\ReturnTypeWillChange]
  public function count()
  {
    if (!isset($this->modelData[$this->collection_key])) {
      return 0;
    }
    return count($this->modelData[$this->collection_key]);
  }

  public function offsetExists ($offset)
  {
    if (!is_numeric($offset)) {
      return parent::offsetExists($offset);
    }
    return isset($this->modelData[$this->collection_key][$offset]);
  }

  public function offsetGet($offset)
  {
    if (!is_numeric($offset)) {
      return parent::offsetGet($offset);
    }
    $this->coerceType($offset);
    return $this->modelData[$this->collection_key][$offset];
  }

  public function offsetSet($offset, $value)
  {
    if (!is_numeric($offset)) {
      return parent::offsetSet($offset, $value);
    }
    $this->modelData[$this->collection_key][$offset] = $value;
  }

  public function offsetUnset($offset)
  {
    if (!is_numeric($offset)) {
      return parent::offsetUnset($offset);
    }
    unset($this->modelData[$this->collection_key][$offset]);
  }

  private function coerceType($offset)
  {
    $typeKey = $this->keyType($this->collection_key);
    if (isset($this->$typeKey) && !is_object($this->modelData[$this->collection_key][$offset])) {
      $type = $this->$typeKey;
      $this->modelData[$this->collection_key][$offset] =
          new $type($this->modelData[$this->collection_key][$offset]);
    }
  }
}