summaryrefslogtreecommitdiff
path: root/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php
diff options
context:
space:
mode:
Diffstat (limited to 'Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php')
-rw-r--r--Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php156
1 files changed, 0 insertions, 156 deletions
diff --git a/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php b/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php
deleted file mode 100644
index cd5a36d..0000000
--- a/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/*
- * Copyright 2014 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-require_once realpath(dirname(__FILE__) . '/../../../autoload.php');
-
-/**
- * File logging class based on the PSR-3 standard.
- *
- * This logger writes to a PHP stream resource.
- */
-class Postman_Google_Logger_File extends Postman_Google_Logger_Abstract
-{
- /**
- * @var string|resource $file Where logs are written
- */
- private $file;
- /**
- * @var integer $mode The mode to use if the log file needs to be created
- */
- private $mode = 0640;
- /**
- * @var boolean $lock If a lock should be attempted before writing to the log
- */
- private $lock = false;
-
- /**
- * @var integer $trappedErrorNumber Trapped error number
- */
- private $trappedErrorNumber;
- /**
- * @var string $trappedErrorString Trapped error string
- */
- private $trappedErrorString;
-
- /**
- * {@inheritdoc}
- */
- public function __construct(Postman_Google_Client $client)
- {
- parent::__construct($client);
-
- $file = $client->getClassConfig('Postman_Google_Logger_File', 'file');
- if (!is_string($file) && !is_resource($file)) {
- throw new Postman_Google_Logger_Exception(
- 'File logger requires a filename or a valid file pointer'
- );
- }
-
- $mode = $client->getClassConfig('Postman_Google_Logger_File', 'mode');
- if (!$mode) {
- $this->mode = $mode;
- }
-
- $this->lock = (bool) $client->getClassConfig('Postman_Google_Logger_File', 'lock');
- $this->file = $file;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write($message)
- {
- if (is_string($this->file)) {
- $this->open();
- } elseif (!is_resource($this->file)) {
- throw new Postman_Google_Logger_Exception('File pointer is no longer available');
- }
-
- if ($this->lock) {
- flock($this->file, LOCK_EX);
- }
-
- fwrite($this->file, (string) $message);
-
- if ($this->lock) {
- flock($this->file, LOCK_UN);
- }
- }
-
- /**
- * Opens the log for writing.
- *
- * @return resource
- */
- private function open()
- {
- // Used for trapping `fopen()` errors.
- $this->trappedErrorNumber = null;
- $this->trappedErrorString = null;
-
- $old = set_error_handler(array($this, 'trapError'));
-
- $needsChmod = !file_exists($this->file);
- $fh = fopen($this->file, 'a');
-
- restore_error_handler();
-
- // Handles trapped `fopen()` errors.
- if ($this->trappedErrorNumber) {
- throw new Postman_Google_Logger_Exception(
- sprintf(
- "Logger Error: '%s'",
- $this->trappedErrorString
- ),
- $this->trappedErrorNumber
- );
- }
-
- if ($needsChmod) {
- @chmod($this->file, $this->mode & ~umask());
- }
-
- return $this->file = $fh;
- }
-
- /**
- * Closes the log stream resource.
- */
- private function close()
- {
- if (is_resource($this->file)) {
- fclose($this->file);
- }
- }
-
- /**
- * Traps `fopen()` errors.
- *
- * @param integer $errno The error number
- * @param string $errstr The error string
- */
- private function trapError($errno, $errstr)
- {
- $this->trappedErrorNumber = $errno;
- $this->trappedErrorString = $errstr;
- }
-
- public function __destruct()
- {
- $this->close();
- }
-}