[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: File.php
<?php // phpcs:disable WordPress.WP.AlternativeFunctions.file_system_operations_fclose, WordPress.WP.AlternativeFunctions.file_system_operations_fopen, WordPress.WP.AlternativeFunctions.file_system_operations_fwrite, WordPress.WP.AlternativeFunctions.file_system_operations_fgets, WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents, WordPress.WP.AlternativeFunctions.file_system_operations_mkdir, WordPress.WP.AlternativeFunctions.file_system_operations_fread, WordPress.WP.AlternativeFunctions.file_system_operations_chmod, WordPress.WP.AlternativeFunctions.file_system_operations_fputs, WordPress.WP.AlternativeFunctions.file_system_operations_is_writeable, WordPress.WP.AlternativeFunctions.file_system_operations_chown, WordPress.WP.AlternativeFunctions.file_system_operations_chgrp, WordPress.WP.AlternativeFunctions.file_system_operations_touch, WordPress.WP.AlternativeFunctions.file_system_operations_rmdir, WordPress.WP.AlternativeFunctions.file_system_operations_readfile -- Native PHP fileystem function is used for direct control and performance because it can bypass additional layers of abstraction so that no overhead from the WordPress filesystem API's internal handling // phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_set_error_handler -- we use the set_error_handler() function to provide a flexible way of handling PHP errors according to our needs; we centralises error handling in one place and customises certain errors based on their severity and context. /* * 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. */ if (!class_exists('UDP_Google_Client')) { require_once dirname(__FILE__) . '/../autoload.php'; } /** * File logging class based on the PSR-3 standard. * * This logger writes to a PHP stream resource. */ class Google_Logger_File extends 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(UDP_Google_Client $client) { parent::__construct($client); $file = $client->getClassConfig('Google_Logger_File', 'file'); if (!is_string($file) && !is_resource($file)) { throw new Google_Logger_Exception( 'File logger requires a filename or a valid file pointer' ); } $mode = $client->getClassConfig('Google_Logger_File', 'mode'); if (!$mode) { $this->mode = $mode; } $this->lock = (bool) $client->getClassConfig('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 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 Google_Logger_Exception( sprintf( "Logger Error: '%s'", $this->trappedErrorString // phpcs:ignore WordPress.Security.EscapeOutput.ExceptionNotEscaped -- Error message to be escaped when caught and printed. ), $this->trappedErrorNumber // phpcs:ignore WordPress.Security.EscapeOutput.ExceptionNotEscaped -- Error message to be escaped when caught and printed. ); } 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(); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium56.web-hosting.com
Server IP: 198.54.119.70
PHP Version: 8.2.30
Server Software: LiteSpeed
System: Linux premium56.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 70.52 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: bkunreyz
User ID (UID): 830
Group ID (GID): 826
Script Owner UID: 830
Current Dir Owner: 830