diff options
author | Snap <snapwilliam@gmail.com> | 2015-04-16 14:51:26 -0700 |
---|---|---|
committer | Snap <snapwilliam@gmail.com> | 2015-04-16 14:51:26 -0700 |
commit | 5c7f2f17f9c471d306955df457c7cab4e5c6ed3b (patch) | |
tree | 0fe6d049f1af552af6a74d264a3f571cfdb1ee7c /includes/google-api-php-client-master/src/Google/Collection.php | |
parent | d0b9b771a876922afdf00b2c55d5e1388a4ea2a3 (diff) | |
download | pathery-5c7f2f17f9c471d306955df457c7cab4e5c6ed3b.tar.xz |
Google's OpenID Connect method
$google_client_id & $google_client_secret must be added to db.inc.php!
Diffstat (limited to 'includes/google-api-php-client-master/src/Google/Collection.php')
-rw-r--r-- | includes/google-api-php-client-master/src/Google/Collection.php | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/includes/google-api-php-client-master/src/Google/Collection.php b/includes/google-api-php-client-master/src/Google/Collection.php new file mode 100644 index 0000000..3f4c301 --- /dev/null +++ b/includes/google-api-php-client-master/src/Google/Collection.php @@ -0,0 +1,101 @@ +<?php + +if (!class_exists('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'; + + public function rewind() + { + if (isset($this->modelData[$this->collection_key]) + && is_array($this->modelData[$this->collection_key])) { + reset($this->modelData[$this->collection_key]); + } + } + + public function current() + { + $this->coerceType($this->key()); + if (is_array($this->modelData[$this->collection_key])) { + return current($this->modelData[$this->collection_key]); + } + } + + public function key() + { + if (isset($this->modelData[$this->collection_key]) + && is_array($this->modelData[$this->collection_key])) { + return key($this->modelData[$this->collection_key]); + } + } + + public function next() + { + return next($this->modelData[$this->collection_key]); + } + + public function valid() + { + $key = $this->key(); + return $key !== null && $key !== false; + } + + 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]); + } + } +} |