File manager - Edit - /home/ferretapmx/public_html/Schemaorg.zip
Back
PK ��\� �r r SchemaorgPrepareDateTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Schemaorg; use Joomla\CMS\Factory; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Prepare dates to be valid for JSON-LD output * * @since 5.0.0 */ trait SchemaorgPrepareDateTrait { /** * Prepare date * * @param string|array $date * * @return string|array * * @since 5.0.0 */ protected function prepareDate($date) { if (\is_array($date)) { // We don't handle references, they should be ok if (\count($date) === 1 && isset($date['@id'])) { return $date; } $newDates = []; foreach ($date as $d) { $newDates[] = $this->prepareDate($d); } return $newDates; } return Factory::getDate($date)->setTime(0, 0)->format(\DateTime::ATOM); } } PK ��\�%\]W W SchemaorgServiceInterface.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Schemaorg; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * The schemaorg service. * * @since 5.0.0 */ interface SchemaorgServiceInterface { /** * Returns valid contexts. * * @return array * * @since 5.0.0 */ public function getSchemaorgContexts(): array; } PK ��\d�.� � SchemaorgPluginTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Schemaorg; use Joomla\CMS\Event\Plugin\System\Schemaorg\PrepareFormEvent; use Joomla\CMS\Form\Field\ListField; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Trait for component schemaorg plugins. * * @since 5.0.0 */ trait SchemaorgPluginTrait { /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 5.0.0 */ public static function getSubscribedEvents(): array { return [ 'onSchemaPrepareForm' => 'onSchemaPrepareForm', ]; } /** * Add a new option to schemaType list field in schema form * * @param PrepareFormEvent $event * * @return void * * @since 5.0.0 */ protected function addSchemaType(PrepareFormEvent $event): void { $form = $event->getForm(); $name = $this->pluginName; if (!$form || !$name) { return; } $schemaType = $form->getField('schemaType', 'schema'); if ($schemaType instanceof ListField) { $schemaType->addOption($name, ['value' => $name]); } } /** * Add a new option to the schema type in the item editing page * * @param PrepareFormEvent $event The form to be altered. * * @return void * * @since 5.0.0 */ public function onSchemaPrepareForm(PrepareFormEvent $event): void { $form = $event->getForm(); $context = $form->getName(); if (!$this->isSupported($context)) { return; } $this->addSchemaType($event); // Load the form fields if (is_file(JPATH_PLUGINS . '/' . $this->_type . '/' . $this->_name . '/forms/schemaorg.xml')) { $form->loadFile(JPATH_PLUGINS . '/' . $this->_type . '/' . $this->_name . '/forms/schemaorg.xml'); } } /** * To create an array from repeatable text field data * * @param array $schema Schema form * @param array $repeatableFields Names of all the Repeatable fields * * @return array * * @since 5.0.0 */ protected function convertToArray(array $schema, array $repeatableFields) { foreach ($repeatableFields as $repeatableField) { $field = $schema[$repeatableField] ?? []; if (empty($field)) { continue; } $result = []; foreach ($field as $key => $value) { if (\is_array($value)) { foreach ($value as $k => $v) { $result[] = $v; } continue; } $result[] = $value; } if (empty($result)) { unset($schema[$repeatableField]); continue; } $schema[$repeatableField] = $result; } return $schema; } /** * Check if the current plugin should execute schemaorg related activities * * @param string $context * * @return boolean * * @since 5.0.0 */ protected function isSupported($context) { if (!$this->checkAllowedAndForbiddenlist($context)) { return false; } $parts = explode('.', $context); // We need at least the extension + view for loading the table fields if (\count($parts) < 2) { return false; } $component = $this->getApplication()->bootComponent($parts[0]); return $component instanceof SchemaorgServiceInterface; } /** * Check if the context is listed in the allowed or forbidden lists and return the result. * * @param string $context Context to check * * @return boolean * * @since 5.0.0 */ protected function checkAllowedAndForbiddenlist($context) { $allowedlist = array_filter((array) $this->params->get('allowedlist', [])); $forbiddenlist = array_filter((array) $this->params->get('forbiddenlist', [])); if (!empty($allowedlist)) { foreach ($allowedlist as $allowed) { if ($context === $allowed) { return true; } } return false; } foreach ($forbiddenlist as $forbidden) { if ($context === $forbidden) { return false; } } return true; } } PK ��\t60ܨ � SchemaorgServiceTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Schemaorg; use Joomla\CMS\MVC\Factory\MVCFactoryInterface; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Trait for component schemaorg service. * * @since 5.0.0 */ trait SchemaorgServiceTrait { /** * Get a MVC factory * * @return MVCFactoryInterface * * @since 5.0.0 */ abstract public function getMVCFactory(): MVCFactoryInterface; } PK ��\��/� � SchemaorgPrepareImageTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Schemaorg; use Joomla\CMS\HTML\HTMLHelper; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Prepare images to be valid for JSON-LD output * * @since 5.0.0 */ trait SchemaorgPrepareImageTrait { /** * Prepare media image files * * @param string|array $image * * @return string|array * * @since 5.0.0 */ protected function prepareImage($image) { if (\is_array($image)) { // We don't handle references, they should be ok if (\count($image) === 1 && isset($image['@id'])) { return $image; } $newImages = []; foreach ($image as $img) { $newImages[] = $this->prepareImage($img); } return $newImages; } $img = HTMLHelper::_('cleanImageUrl', $image); return $img->url ?? null; } } PK ��\���� � ! SchemaorgPrepareDurationTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Schemaorg; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Prepare duration to be valid for JSON-LD output * * @since 5.0.0 */ trait SchemaorgPrepareDurationTrait { /** * Prepare duration * * @param array $duration * * @return ?string * * @since 5.0.0 */ protected function prepareDuration($duration) { if (!\is_array($duration)) { return null; } $newDuration = 'PT' . (!empty($duration['hour']) ? (int) $duration['hour'] . 'H' : '') . (!empty($duration['min']) ? (int) $duration['min'] . 'M' : ''); return $newDuration !== 'PT' ? $newDuration : null; } } PK ��\�Sʉ� � .htaccessnu �7��m <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>PK ��\� �r r SchemaorgPrepareDateTrait.phpnu �[��� PK ��\�%\]W W � SchemaorgServiceInterface.phpnu �[��� PK ��\d�.� � c SchemaorgPluginTrait.phpnu �[��� PK ��\t60ܨ � � SchemaorgServiceTrait.phpnu �[��� PK ��\��/� � w SchemaorgPrepareImageTrait.phpnu �[��� PK ��\���� � ! h"