| Server IP : 13.126.101.145 / Your IP : 216.73.217.87 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ip-11-115-0-196 6.8.0-1039-aws #41~22.04.1-Ubuntu SMP Thu Sep 11 10:54:48 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.3.17 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/rentals_updated/wp-content/plugins/wpo365-login/Services/ |
Upload File : |
<?php
namespace Wpo\Services;
// Prevent public access to this script
defined('ABSPATH') or die();
use \Wpo\Services\Log_Service;
include_once(ABSPATH . 'wp-admin/includes/file.php');
if (!class_exists('\Wpo\Services\Files_Service')) {
class Files_Service
{
private static $instance = null;
private $wpo365_profile_images_dir = null;
private $wpo365_profile_images_url = null;
public $wpo365_profile_images_configured = false;
protected function __construct()
{
}
public static function get_instance()
{
if (empty(self::$instance)) {
self::$instance = new Files_Service();
}
return self::$instance;
}
public function configure_wpo365_profile_images()
{
if ($this->wpo365_profile_images_configured) {
return true;
}
global $wp_filesystem;
if (false === ($credentials = request_filesystem_credentials('')) || !WP_Filesystem($credentials)) {
Log_Service::write_log('ERROR', __METHOD__ . ' -> Missing / incorrect credentials to write to the file system');
$this->wpo365_profile_images_configured = false;
return false;
}
$blog_id = get_current_blog_id();
$upload_dir = wp_upload_dir();
$upload_base_dir = $upload_dir['basedir'];
$upload_base_dir = str_replace("sites/$blog_id", '', $upload_base_dir);
$upload_base_dir = str_replace("sites\\$blog_id", '', $upload_base_dir);
$upload_base_dir = trailingslashit($upload_base_dir);
$this->wpo365_profile_images_dir = $upload_base_dir . 'wpo365/profile-images/'; // C:\path\to\wordpress\wp-content\uploads\wpo365\profile-images\
if (!file_exists($this->wpo365_profile_images_dir)) {
if (!$wp_filesystem->mkdir($this->wpo365_profile_images_dir, FS_CHMOD_DIR) && !wp_mkdir_p($this->wpo365_profile_images_dir)) {
Log_Service::write_log('DEBUG', __METHOD__ . ' -> Files service could not create requested target directory ' . $this->wpo365_profile_images_dir);
$this->wpo365_profile_images_configured = false;
return false;
}
}
$upload_base_url = $upload_dir['baseurl'];
$upload_base_url = str_replace("sites/$blog_id", '', $upload_base_url);
$upload_base_url = str_replace("sites\\$blog_id", '', $upload_base_url);
$upload_base_url = trailingslashit($upload_base_url);
$this->wpo365_profile_images_url = $upload_base_url . 'wpo365/profile-images/'; // http://example.com/wp-content/uploads/wpo365/profile-images/
Log_Service::write_log('DEBUG', __METHOD__ . ' -> Files service has been configured successfully');
$this->wpo365_profile_images_configured = true;
return true;
}
public function get_wpo365_profile_images_dir()
{
return $this->wpo365_profile_images_dir;
}
public function get_wpo365_profile_images_url()
{
return $this->wpo365_profile_images_url;
}
public function save_wpo365_profile_image($path, $file_content)
{
global $wp_filesystem;
if ($this->wpo365_profile_images_configured) {
Log_Service::write_log('DEBUG', __METHOD__ . ' -> Trying to write a file to the file system');
return $wp_filesystem->put_contents($path, $file_content, FS_CHMOD_FILE);
}
return false;
}
}
}