Spade
Mini Shell
| Directory:~$ /home/lmsyaran/www/administrator/components/com_sppagebuilder/editor/traits/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Filesystem\Folder;
use Joomla\CMS\Http\Http;
// No direct access
defined('_JEXEC') or die('Restricted access');
/**
* Get all installed fonts
*
* @since 5.0.0
*/
trait AllFontsTrait
{
public function allFonts()
{
$method = $this->getInputMethod();
$this->checkNotAllowedMethods(['POST', 'DELETE',
'PUT', 'PATCH'], $method);
if ($method === 'GET')
{
$this->getInstalledFonts();
}
}
private function getInstalledFonts()
{
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from($db->quoteName('#__sppagebuilder_fonts'))
->where($db->quoteName('published') . ' = 1');
$db->setQuery($query);
try
{
$response = $db->loadObjectList();
if (isset($response))
{
foreach ($response as $key => $value)
{
if (isset($value->data))
{
$value->data = json_decode($value->data);
}
}
}
}
catch (\Exception $e)
{
$this->sendResponse(['message' => $e->getMessage()],
500);
}
$this->sendResponse($response);
}
}