Файловый менеджер - Редактировать - /var/www/html/components/com_jchat/Model/RecorderModel.php
Ðазад
<?php namespace JExtstore\Component\JChat\Site\Model; /** * @package JCHAT::RECORDER::components::com_jchat * @subpackage models * @author Joomla! Extensions Store * @Copyright (C) 2015 - Joomla! Extensions Store * @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html */ defined( '_JEXEC' ) or die( 'Restricted access' ); use Joomla\CMS\Language\Text; use Joomla\CMS\Filesystem\Folder; use JExtstore\Component\JChat\Administrator\Framework\Model as JChatModel; /** * Here the entity is the file media file XHR2 uploaded * * @package JCHAT::RECORDER::components::com_jchat * @subpackage models * @since 2.9 */ class RecorderModel extends JChatModel { /** * Store the media uploaded file on a dedicated table for the backend manager * * @access private * @return boolean */ private function storeDBMessage() { $table = $this->getTable (); // Bind values to the ORM $table->title = $this->getState('blobfilename'); $table->size = $this->getState('blobfilesize'); $table->timerecord = $this->getState('timerecord'); $table->peer1 = $this->getState('peer1'); $table->peer2 = $this->getState('peer2'); if (! $table->store ()) { return false; } return true; } /** * Store uploaded file to the media recordings folder, * fully manage error messages and ask for database insert * * @access public * @param bool $updateNulls * @return Object */ public function storeEntity($updateNulls = false) { // Response JSON object $response = new \stdClass (); $this->getComponentParams(); $recordedMediaFolder = JPATH_ROOT . '/media/com_jchat/recordings'; $alreadyExists = false; // Get uploaded model state $uploadedMediaFile = $this->getState('blobfile'); $uploadedMediaFileName = $this->getState('blobfilename'); try { $tmpFile = $uploadedMediaFile['tmp_name']; if(!$tmpFile) { throw new \Exception(Text::_('COM_JCHAT_NOFILE_SELECTED')); } if(!is_dir($recordedMediaFolder)) { Folder::create($recordedMediaFolder); } if(!is_writable($recordedMediaFolder)) { if(!chmod($recordedMediaFolder, 0775)) { throw new \Exception( Text::_('COM_JCHAT_MEDIADIR_WRITABLE')); } } // Check if file already esists if(file_exists($recordedMediaFolder . '/' . $uploadedMediaFileName)) { unlink($recordedMediaFolder . '/' . $uploadedMediaFileName); $alreadyExists = true; } if(!move_uploaded_file($tmpFile, $recordedMediaFolder . '/' . $uploadedMediaFileName)) { throw new \Exception( Text::_('COM_JCHAT_MEDIAUPLOAD_ERROR')); } if(!$alreadyExists) { if(!$this->storeDBMessage($uploadedMediaFileName)) { throw new \Exception( Text::_('COM_JCHAT_STORING_MEDIADB_ERROR')); } } } catch ( \Exception $e ) { $response->result = false; $response->exception_message = $e->getMessage (); return $response; } // Manage exceptions from DB Model and return to JS domain $response->result = true; return $response; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка