| Server IP : 54.36.91.62 / Your IP : 216.73.217.112 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/c/o/o/coopiak/amisdesseniors-fr/nice/libraries/kunena/src/Upload/ |
Upload File : |
<?php
/**
* Kunena Component
*
* @package Kunena.Framework
* @subpackage Upload
*
* @copyright Copyright (C) 2008 - @currentyear@ Kunena Team. All rights reserved.
* @license https://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link https://www.kunena.org
**/
namespace Kunena\Forum\Libraries\Upload;
\defined('_JEXEC') or die();
use Joomla\CMS\Client\ClientHelper;
use Joomla\Filesystem\File;
use Joomla\Filesystem\Path;
/**
* Kunena Upload Backend Helper Class
*
* @since Kunena 6.0
*/
class KunenaUploadHelper
{
/**
* @var array
* @since Kunena 6.0
*/
protected static $_instances = [];
/**
* @since Kunena 6.0
*/
private function __construct()
{
}
/**
* @param mixed $file file
* @param string $uploadfolder upload
* @param string $format format
*
* @return bool
*
* @since Kunena 6.0
*/
public static function upload($file, string $uploadfolder, string $format): bool
{
// Set FTP credentials, if given
ClientHelper::setCredentialsFromRequest('ftp');
// Make the filename safe
$file['name'] = File::makeSafe($file['name']);
if (empty($file['tmp_name']) || !is_uploaded_file($file['tmp_name']) || !empty($file['error'])) {
return false;
}
if (!is_dir($uploadfolder)) {
return false;
}
if (isset($file['name'])) {
$filepath = Path::clean($uploadfolder . '/' . strtolower($file['name']));
if (is_file($filepath)) {
if ($format == 'json') {
header('HTTP/1.0 409 Conflict');
jexit('Error. File already exists');
} else {
$ext = File::getExt($file['name']);
$name = File::stripExt($file['name']);
$newFileName = '';
for ($i = 2; file_exists("{$uploadfolder}/{$newFileName}"); $i++) {
$newFileName = $name . "-$i." . $ext;
}
$filepath = $uploadfolder . '/' . $newFileName;
}
}
if (!File::upload($file['tmp_name'], $filepath)) {
if ($format == 'json') {
header('HTTP/1.0 400 Bad Request');
jexit('Error. Unable to upload file');
} else {
return false;
}
} else {
if ($format == 'json') {
jexit('Upload complete');
} else {
return true;
}
}
} else {
return false;
}
}
}