Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7f86cd0
Create localbusiness.xml
mortezahonar Apr 22, 2026
4348c34
Create schemaorg.xml
mortezahonar Apr 22, 2026
0a47162
Create provider.php
mortezahonar Apr 22, 2026
115b9ea
Create localbusiness.php
mortezahonar Apr 22, 2026
8ed4a47
Create plg_schemaorg_localbusiness.ini
mortezahonar Apr 23, 2026
489018a
Create plg_schemaorg_localbusiness.sys.ini
mortezahonar Apr 23, 2026
1147226
Update plg_schemaorg_localbusiness.ini
mortezahonar Apr 23, 2026
b983d1b
Update schemaorg.xml
mortezahonar Apr 23, 2026
eec5f9b
Update provider.php
mortezahonar Apr 23, 2026
bf32e39
Update and rename localbusiness.php to Localbusiness.php
mortezahonar Apr 23, 2026
7c99401
Update localbusiness.xml
mortezahonar Apr 23, 2026
a82be19
Update administrator/language/en-GB/plg_schemaorg_localbusiness.ini
mortezahonar Apr 23, 2026
e1b405f
Update administrator/language/en-GB/plg_schemaorg_localbusiness.sys.ini
mortezahonar Apr 23, 2026
577b7dd
Update plugins/schemaorg/localbusiness/services/provider.php
mortezahonar Apr 23, 2026
fffe31d
Update plugins/schemaorg/localbusiness/services/provider.php
mortezahonar Apr 23, 2026
6a23da0
Update plugins/schemaorg/localbusiness/src/Extension/Localbusiness.php
mortezahonar Apr 23, 2026
c98cd94
Update plugins/schemaorg/localbusiness/src/Extension/Localbusiness.php
mortezahonar Apr 23, 2026
1055d67
Update plugins/schemaorg/localbusiness/src/Extension/Localbusiness.php
mortezahonar Apr 23, 2026
c62f405
Apply suggestions from code review
mortezahonar Apr 23, 2026
5d87288
Update plugins/schemaorg/localbusiness/localbusiness.xml
mortezahonar Apr 23, 2026
ed2f6cf
Update plugins/schemaorg/localbusiness/localbusiness.xml
mortezahonar Apr 23, 2026
e8e591b
Apply suggestion from @brianteeman
mortezahonar Apr 23, 2026
8022f01
Update schemaorg.xml ordering the field elements
mortezahonar Apr 23, 2026
2a8fb34
Merge branch '6.2-dev' into 6.2-dev
mortezahonar Apr 25, 2026
a199543
Update schemaorg.xml
mortezahonar Apr 26, 2026
8bc447c
Update plg_schemaorg_localbusiness.ini
mortezahonar Apr 26, 2026
18a90d0
Update plg_schemaorg_localbusiness.ini
mortezahonar May 2, 2026
fb07657
Update base.sql
mortezahonar May 2, 2026
4e9f46c
Update base.sql
mortezahonar May 2, 2026
c04ef7f
Update base.sql delet localbusiness
mortezahonar May 2, 2026
aa753c6
Update postgresql/base.sql
mortezahonar May 2, 2026
696f9c9
Update ExtensionHelper.php
mortezahonar May 4, 2026
aeafc25
Update ExtensionHelper.php
mortezahonar May 4, 2026
4a61aed
[6.2] Add localbusiness to ExtensionHelper.php
mortezahonar May 4, 2026
55d4483
Update schemaorg.xml
mortezahonar May 9, 2026
f647858
Merge branch '6.2-dev' into 6.2-dev
mortezahonar May 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions administrator/language/en-GB/plg_schemaorg_localbusiness.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
; Joomla! Project
; (C) 2026 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

PLG_SCHEMAORG_LOCALBUSINESS="Schema.org - Localbusiness"
PLG_SCHEMAORG_LOCALBUSINESS_DESCRIPTION_LABEL="More information on the Schema.org Localbusiness Type can be found at <a href=\"https://schema.org/LocalBusiness\" target=\"_blank\" rel=\"noopener noreferrer\">https://schema.org/Localbusiness</a>"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_ADDRESS_LABEL="Address"
Comment thread
mortezahonar marked this conversation as resolved.
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_EMAIL_LABEL="Email"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_GENERIC_FIELD_LABEL="Generic Field"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_GENERIC_TITLE_LABEL="Title"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_GENERIC_VALUE_LABEL="Value"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_LOCALITY_LABEL="Locality"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_LOGO_LABEL="Logo"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_NAME_LABEL="Name"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_POSTAL_CODE_LABEL="Postal Code"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_STREET_ADDRESS_LABEL="Street Address"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_TELEPHONE_LABEL="Telephone"
PLG_SCHEMAORG_LOCALBUSINESS_FIELD_URL_LABEL="URL"
PLG_SCHEMAORG_LOCALBUSINESS_XML_DESCRIPTION="Adds Localbusiness as a new schema type in existing schemas."
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
; Joomla! Project
; (C) 2026 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

PLG_SCHEMAORG_LOCALBUSINESS="Schema.org - Localbusiness"
PLG_SCHEMAORG_LOCALBUSINESS_XML_DESCRIPTION="Adds Localbusiness as a new schema type in existing schemas"
9 changes: 5 additions & 4 deletions installation/sql/mysql/base.sql
Original file line number Diff line number Diff line change
Expand Up @@ -344,10 +344,11 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`,
(0, 'plg_schemaorg_book', 'plugin', 'book', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 3, 0),
(0, 'plg_schemaorg_event', 'plugin', 'event', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 4, 0),
(0, 'plg_schemaorg_jobposting', 'plugin', 'jobposting', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 5, 0),
(0, 'plg_schemaorg_organization', 'plugin', 'organization', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 6, 0),
(0, 'plg_schemaorg_person', 'plugin', 'person', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 7, 0),
(0, 'plg_schemaorg_recipe', 'plugin', 'recipe', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 8, 0),
(0, 'plg_schemaorg_custom', 'plugin', 'custom', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 9, 0),
(0, 'plg_schemaorg_localbusiness', 'plugin', 'localbusiness', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 6, 0),
(0, 'plg_schemaorg_organization', 'plugin', 'organization', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 7, 0),
(0, 'plg_schemaorg_person', 'plugin', 'person', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 8, 0),
(0, 'plg_schemaorg_recipe', 'plugin', 'recipe', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 9, 0),
(0, 'plg_schemaorg_custom', 'plugin', 'custom', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 10, 0),
(0, 'plg_system_accessibility', 'plugin', 'accessibility', 'system', 0, 0, 1, 0, 1, '', '{}', '', 1, 0),
(0, 'plg_system_actionlogs', 'plugin', 'actionlogs', 'system', 0, 1, 1, 0, 1, '', '{}', '', 2, 0),
(0, 'plg_system_cache', 'plugin', 'cache', 'system', 0, 0, 1, 0, 1, '', '{"browsercache":"0","cachetime":"15"}', '', 3, 0),
Expand Down
9 changes: 5 additions & 4 deletions installation/sql/postgresql/base.sql
Original file line number Diff line number Diff line change
Expand Up @@ -350,10 +350,11 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder",
(0, 'plg_schemaorg_book', 'plugin', 'book', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 3, 0),
(0, 'plg_schemaorg_event', 'plugin', 'event', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 4, 0),
(0, 'plg_schemaorg_jobposting', 'plugin', 'jobposting', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 5, 0),
(0, 'plg_schemaorg_organization', 'plugin', 'organization', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 6, 0),
(0, 'plg_schemaorg_person', 'plugin', 'person', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 7, 0),
(0, 'plg_schemaorg_recipe', 'plugin', 'recipe', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 8, 0),
(0, 'plg_schemaorg_custom', 'plugin', 'custom', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 9, 0),
(0, 'plg_schemaorg_localbusiness', 'plugin', 'localbusiness', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 6, 0),
(0, 'plg_schemaorg_organization', 'plugin', 'organization', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 7, 0),
(0, 'plg_schemaorg_person', 'plugin', 'person', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 8, 0),
(0, 'plg_schemaorg_recipe', 'plugin', 'recipe', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 9, 0),
(0, 'plg_schemaorg_custom', 'plugin', 'custom', 'schemaorg', 0, 1, 1, 0, 1, '', '{}', '', 10, 0),
(0, 'plg_system_accessibility', 'plugin', 'accessibility', 'system', 0, 0, 1, 0, 1, '', '{}', '', 1, 0),
(0, 'plg_system_actionlogs', 'plugin', 'actionlogs', 'system', 0, 1, 1, 0, 1, '', '{}', '', 2, 0),
(0, 'plg_system_cache', 'plugin', 'cache', 'system', 0, 0, 1, 0, 1, '', '{"browsercache":"0","cachetime":"15"}', '', 3, 0),
Expand Down
1 change: 1 addition & 0 deletions libraries/src/Extension/ExtensionHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ class ExtensionHelper
['plugin', 'custom', 'schemaorg', 0],
['plugin', 'event', 'schemaorg', 0],
['plugin', 'jobposting', 'schemaorg', 0],
['plugin', 'localbusiness', 'schemaorg', 0],
['plugin', 'organization', 'schemaorg', 0],
['plugin', 'person', 'schemaorg', 0],
['plugin', 'recipe', 'schemaorg', 0],
Expand Down
130 changes: 130 additions & 0 deletions plugins/schemaorg/localbusiness/forms/schemaorg.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fields name="schema">
<fieldset
name="schema"
label="PLG_SYSTEM_SCHEMA_FIELD_SCHEMA_LABEL"
>
<field
name="Localbusiness"
type="subform"
showon="schemaType:Localbusiness"
>
<form>

<field
Comment thread
mortezahonar marked this conversation as resolved.
name="@type"
type="hidden"
default="Localbusiness"
/>

<field
name="noteBook"
type="note"
description="PLG_SCHEMAORG_LOCALBUSINESS_DESCRIPTION_LABEL"
class="alert alert-info w-100"
/>

<field
name="name"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_NAME_LABEL"
filter="string"
/>

<field
name="image"
type="media"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_LOGO_LABEL"
schemes="http,https,ftp,ftps,data,file"
validate="url"
relative="true"
/>

<field
name="url"
type="url"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_URL_LABEL"
filter="url"
validate="url"
/>

<field
name="email"
type="email"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_EMAIL_LABEL"
validate="email"
/>

<field
name="telephone"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_TELEPHONE_LABEL"
filter="string"
/>

<field
name="address"
type="subform"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_ADDRESS_LABEL"
>
<form>

<field
name="@type"
type="hidden"
default="PostalAddress"
/>

<field
name="addressLocality"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_LOCALITY_LABEL"
/>

<field
name="postalCode"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_POSTAL_CODE_LABEL"
/>

<field
name="streetAddress"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_STREET_ADDRESS_LABEL"
/>

</form>
</field>

<field
name="genericField"
type="subform"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_GENERIC_FIELD_LABEL"
multiple="true"
>
<form>
<field
name="genericTitle"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_GENERIC_TITLE_LABEL"
filter="string"
size="30"
/>
<field
name="genericValue"
type="text"
label="PLG_SCHEMAORG_LOCALBUSINESS_FIELD_GENERIC_VALUE_LABEL"
filter="string"
size="30"
/>

</form>

</field>

</form>
</field>
</fieldset>
</fields>
</form>
43 changes: 43 additions & 0 deletions plugins/schemaorg/localbusiness/localbusiness.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<extension type="plugin" group="schemaorg" method="upgrade">
<name>plg_schemaorg_localbusiness</name>
<author>Joomla! Project</author>
<creationDate>2026-04</creationDate>
<copyright>(C) 2026 Open Source Matters, Inc.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>admin@joomla.org</authorEmail>
<authorUrl>www.joomla.org</authorUrl>
<version>__DEPLOY_VERSION__</version>
<description>PLG_SCHEMAORG_LOCALBUSINESS_XML_DESCRIPTION</description>
<namespace path="src">Joomla\Plugin\Schemaorg\Localbusiness</namespace>
<files>
<folder plugin="localbusiness">services</folder>
<folder>src</folder>
</files>
<languages>
<language tag="en-GB">language/en-GB/plg_schemaorg_localbusiness.ini</language>
<language tag="en-GB">language/en-GB/plg_schemaorg_localbusiness.sys.ini</language>
</languages>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="allowedlist"
type="SchemaorgComponentSections"
label="JSCHEMAORG_EXTENSION_ALLOWED_LABEL"
description="JSCHEMAORG_EXTENSION_ALLOWED_DESCRIPTION"
multiple="multiple"
layout="joomla.form.field.list-fancy-select"
/>
<field
name="forbiddenlist"
type="SchemaorgComponentSections"
label="JSCHEMAORG_EXTENSION_FORBIDDEN_LABEL"
description="JSCHEMAORG_EXTENSION_FORBIDDEN_DESCRIPTION"
multiple="multiple"
layout="joomla.form.field.list-fancy-select"
/>
</fieldset>
</fields>
</config>
</extension>
44 changes: 44 additions & 0 deletions plugins/schemaorg/localbusiness/services/provider.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php

/**
* @package Joomla.Plugin
* @subpackage Schemaorg.localbusiness
*
* @copyright (C) 2026 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

\defined('_JEXEC') or die;

use Joomla\CMS\Extension\PluginInterface;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Joomla\Plugin\Schemaorg\Localbusiness\Extension\Localbusiness;

return new class () implements ServiceProviderInterface {
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
*
* @since __DEPLOY_VERSION__
*/
public function register(Container $container)
{
$container->set(
PluginInterface::class,
function (Container $container) {
$plugin = new Localbusiness(
(array) PluginHelper::getPlugin('schemaorg', 'localbusiness')
);
$plugin->setApplication(Factory::getApplication());

return $plugin;
}
);
}
};
45 changes: 45 additions & 0 deletions plugins/schemaorg/localbusiness/src/Extension/Localbusiness.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

/**
* @package Joomla.Plugin
* @subpackage Schemaorg.localbusiness
*
* @copyright (C) 2026 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

namespace Joomla\Plugin\Schemaorg\Localbusiness\Extension;

use Joomla\CMS\Plugin\CMSPlugin;
use Joomla\CMS\Schemaorg\SchemaorgPluginTrait;
use Joomla\Event\SubscriberInterface;

// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects

/**
* Schemaorg Plugin
*
* @since __DEPLOY_VERSION__
*/
final class Localbusiness extends CMSPlugin implements SubscriberInterface
{
use SchemaorgPluginTrait;

/**
* Load the language file on instantiation.
*
* @var boolean
* @since __DEPLOY_VERSION__
*/
protected $autoloadLanguage = true;

/**
* The name of the schema form
*
* @var string
* @since __DEPLOY_VERSION__
*/
protected $pluginName = 'Localbusiness';
}
Loading