├── .gitignore ├── LICENSE ├── README.md ├── extengen_update.xml └── src ├── com_extengen ├── LICENSE ├── administrator │ └── components │ │ └── com_extengen │ │ ├── access.xml │ │ ├── config.xml │ │ ├── extengen.xml │ │ ├── forms │ │ ├── component.xml │ │ ├── detailspage.xml │ │ ├── editfield.xml │ │ ├── entity.xml │ │ ├── entityFieldReference.xml │ │ ├── entityReference.xml │ │ ├── entityReferenceField.xml │ │ ├── extensions.xml │ │ ├── field.xml │ │ ├── filter_projectforms.xml │ │ ├── filter_projects.xml │ │ ├── indexpage.xml │ │ ├── internalLink.xml │ │ ├── keyValue.xml │ │ ├── langKeyValue.xml │ │ ├── language.xml │ │ ├── manifest.xml │ │ ├── metaProjectForms │ │ │ └── LIonCore_M3 │ │ │ │ ├── Interfaces │ │ │ │ ├── iKeyed.xml │ │ │ │ └── iNamed.xml │ │ │ │ ├── classifier.xml │ │ │ │ ├── concept.xml │ │ │ │ ├── conceptInterface.xml │ │ │ │ ├── conceptInterfaceReference.xml │ │ │ │ ├── containment.xml │ │ │ │ ├── dataType.xml │ │ │ │ ├── enumeration.xml │ │ │ │ ├── enumerationLiteral.xml │ │ │ │ ├── feature.xml │ │ │ │ ├── interface.xml │ │ │ │ ├── languageEntity.xml │ │ │ │ ├── link.xml │ │ │ │ ├── primitiveType.xml │ │ │ │ ├── projectForm.xml │ │ │ │ ├── property.xml │ │ │ │ ├── reference.xml │ │ │ │ └── x_concept.xml │ │ ├── page.xml │ │ ├── pageReference.xml │ │ ├── pages.xml │ │ ├── project.xml │ │ ├── property.xml │ │ └── sections.xml │ │ ├── generator_templates │ │ └── Joomla4 │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── component │ │ │ ├── administrator │ │ │ │ └── components │ │ │ │ │ └── com_componentname │ │ │ │ │ ├── access.xml │ │ │ │ │ ├── componentManifest.xml │ │ │ │ │ ├── config.xml │ │ │ │ │ ├── forms │ │ │ │ │ ├── filter_pagename.xml │ │ │ │ │ └── pagename.xml │ │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── com_ats.ini │ │ │ │ │ │ └── com_ats.sys.ini │ │ │ │ │ ├── layouts │ │ │ │ │ └── akeeba │ │ │ │ │ │ └── ats │ │ │ │ │ │ ├── common │ │ │ │ │ │ ├── assignee.php │ │ │ │ │ │ ├── priority_badge.php │ │ │ │ │ │ ├── status.php │ │ │ │ │ │ └── user.php │ │ │ │ │ │ ├── cpanel │ │ │ │ │ │ └── button.php │ │ │ │ │ │ └── fields │ │ │ │ │ │ └── timespent.php │ │ │ │ │ ├── license_GPL2.txt │ │ │ │ │ ├── license_GPL3.txt │ │ │ │ │ ├── services │ │ │ │ │ └── provider.php.twig │ │ │ │ │ ├── sql │ │ │ │ │ ├── install.mysql.utf8.sql │ │ │ │ │ ├── uninstall.mysql.utf8.sql │ │ │ │ │ └── updates │ │ │ │ │ │ └── mysql │ │ │ │ │ │ ├── 5.0.0-20210923-0000.sql │ │ │ │ │ │ ├── 5.0.6-20220629-0000.sql │ │ │ │ │ │ └── 5.1.0-20220803-1828.sql │ │ │ │ │ ├── src │ │ │ │ │ ├── Controller │ │ │ │ │ │ ├── AdminDetailsController.php.twig │ │ │ │ │ │ ├── AdminIndexController.php.twig │ │ │ │ │ │ └── DisplayController.php.twig │ │ │ │ │ ├── Dispatcher │ │ │ │ │ │ └── Dispatcher.php │ │ │ │ │ ├── Exceptions │ │ │ │ │ │ ├── SecretMismatch.php │ │ │ │ │ │ └── SecretNotConfigured.php │ │ │ │ │ ├── Extension │ │ │ │ │ │ └── ComponentnameComponent.php.twig │ │ │ │ │ ├── Field │ │ │ │ │ │ ├── TicketManagersField.php │ │ │ │ │ │ ├── TicketStatusField.php │ │ │ │ │ │ ├── TicketUserField.php │ │ │ │ │ │ ├── TickettitleField.php │ │ │ │ │ │ └── TimespentField.php │ │ │ │ │ ├── Helper │ │ │ │ │ │ ├── Avatar.php │ │ │ │ │ │ ├── BBCode.php │ │ │ │ │ │ ├── CacheCleaner.php │ │ │ │ │ │ ├── ComponentParams.php │ │ │ │ │ │ ├── CountryHelper.php │ │ │ │ │ │ ├── Filter.php │ │ │ │ │ │ ├── Html2Text.php │ │ │ │ │ │ ├── Permissions.php │ │ │ │ │ │ ├── TemplateEmails.php │ │ │ │ │ │ ├── Text2Html.php │ │ │ │ │ │ └── Timer.php │ │ │ │ │ ├── Model │ │ │ │ │ │ ├── AdminDetailsModel.php.twig │ │ │ │ │ │ └── AdminIndexModel.php.twig │ │ │ │ │ ├── Provider │ │ │ │ │ │ └── RouterFactory.php │ │ │ │ │ ├── Router │ │ │ │ │ │ └── RouterFactory.php │ │ │ │ │ ├── Service │ │ │ │ │ │ └── Html │ │ │ │ │ │ │ └── ATS.php │ │ │ │ │ ├── Table │ │ │ │ │ │ ├── Table.php.twig │ │ │ │ │ │ └── fragments │ │ │ │ │ │ │ ├── m2m_bind.php.twig │ │ │ │ │ │ │ ├── m2m_delete.php.twig │ │ │ │ │ │ │ ├── m2m_localstore.php.twig │ │ │ │ │ │ │ └── m2m_relatedstore.php.twig │ │ │ │ │ └── View │ │ │ │ │ │ ├── Details │ │ │ │ │ │ └── HtmlView.php.twig │ │ │ │ │ │ └── Index │ │ │ │ │ │ └── HtmlView.php.twig │ │ │ │ │ ├── tmpl │ │ │ │ │ ├── details │ │ │ │ │ │ └── edit.php.twig │ │ │ │ │ └── index │ │ │ │ │ │ ├── default.php.twig │ │ │ │ │ │ ├── default_batch_body.php │ │ │ │ │ │ ├── default_batch_footer.php │ │ │ │ │ │ └── emptystate.php │ │ │ │ │ └── version.php.twig │ │ │ ├── componentManifest.xml │ │ │ ├── components │ │ │ │ └── com_componentname │ │ │ │ │ ├── forms │ │ │ │ │ ├── post.xml │ │ │ │ │ ├── post_new.xml │ │ │ │ │ ├── ticket.xml │ │ │ │ │ └── ticket_new.xml │ │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ └── com_componentname.ini │ │ │ │ │ ├── layouts │ │ │ │ │ ├── akeeba │ │ │ │ │ │ └── ats │ │ │ │ │ │ │ ├── category │ │ │ │ │ │ │ ├── list.php │ │ │ │ │ │ │ ├── list_item.php │ │ │ │ │ │ │ └── list_subcategories.php │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ ├── assigned_dropdown.php │ │ │ │ │ │ │ ├── status.php │ │ │ │ │ │ │ ├── status_dropdown.php │ │ │ │ │ │ │ └── user.php │ │ │ │ │ │ │ └── field │ │ │ │ │ │ │ ├── ticket_title.php │ │ │ │ │ │ │ └── user.php │ │ │ │ │ ├── field │ │ │ │ │ │ └── render.php │ │ │ │ │ └── fields │ │ │ │ │ │ └── render.php │ │ │ │ │ ├── src │ │ │ │ │ ├── Controller │ │ │ │ │ │ ├── DisplayController.php.twig │ │ │ │ │ │ ├── SiteDetailsController.php.twig │ │ │ │ │ │ └── SiteIndexController.php.twig │ │ │ │ │ ├── Dispatcher │ │ │ │ │ │ └── Dispatcher.php │ │ │ │ │ ├── Helper │ │ │ │ │ │ ├── ModuleRenderHelper.php │ │ │ │ │ │ └── RouteHelper.php │ │ │ │ │ ├── Model │ │ │ │ │ │ ├── SiteDetailsModel.php.twig │ │ │ │ │ │ └── SiteIndexModel.php.twig │ │ │ │ │ ├── Service │ │ │ │ │ │ ├── Category.php │ │ │ │ │ │ └── Router.php │ │ │ │ │ └── View │ │ │ │ │ │ ├── Details │ │ │ │ │ │ └── HtmlView.php.twig │ │ │ │ │ │ └── Index │ │ │ │ │ │ └── HtmlView.php.twig │ │ │ │ │ └── tmpl │ │ │ │ │ ├── details │ │ │ │ │ └── default.php.twig │ │ │ │ │ └── index │ │ │ │ │ └── default.php.twig │ │ │ ├── media │ │ │ │ └── com_foo │ │ │ │ │ ├── css │ │ │ │ │ ├── style-uncompressed.css │ │ │ │ │ └── style.css │ │ │ │ │ ├── images │ │ │ │ │ └── joomla_powered_sm.png │ │ │ │ │ └── js │ │ │ │ │ ├── script-uncompressed.js │ │ │ │ │ └── script.js │ │ │ └── script.php │ │ │ ├── module │ │ │ ├── language │ │ │ │ └── en-GB │ │ │ │ │ ├── en-GB.mod_foo.ini │ │ │ │ │ └── en-GB.mod_foo.sys.ini │ │ │ ├── mod_foo.php │ │ │ ├── mod_foo.xml │ │ │ └── tmpl │ │ │ │ └── default.php │ │ │ ├── plugin │ │ │ └── system │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ └── en-GB │ │ │ │ │ ├── en-GB.plg_system_foo.ini │ │ │ │ │ └── en-GB.plg_system_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── plugins │ │ │ ├── authentication │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_authentication_foo.ini │ │ │ │ │ │ └── en-GB.plg_authentication_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── behaviour │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_behaviour_foo.ini │ │ │ │ │ │ └── en-GB.plg_behaviour_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── content │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_content_foo.ini │ │ │ │ │ │ └── en-GB.plg_content_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── editors-xtd │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_editors-xtd_foo.ini │ │ │ │ │ │ └── en-GB.plg_editors-xtd_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── fields │ │ │ │ ├── fields │ │ │ │ │ └── foo.php │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_fields_foo.ini │ │ │ │ │ │ └── en-GB.plg_fields_foo.sys.ini │ │ │ │ ├── params │ │ │ │ │ └── foo.xml │ │ │ │ ├── script.php │ │ │ │ └── tmpl │ │ │ │ │ └── foo.php │ │ │ ├── finder │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_finder_foo.ini │ │ │ │ │ │ └── en-GB.plg_finder_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── search │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_search_foo.ini │ │ │ │ │ │ └── en-GB.plg_search_foo.sys.ini │ │ │ │ └── script.php │ │ │ ├── system │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ │ └── en-GB │ │ │ │ │ │ ├── en-GB.plg_system_foo.ini │ │ │ │ │ │ └── en-GB.plg_system_foo.sys.ini │ │ │ │ └── script.php │ │ │ └── user │ │ │ │ ├── foo.php │ │ │ │ ├── foo.xml │ │ │ │ ├── language │ │ │ │ └── en-GB │ │ │ │ │ ├── en-GB.plg_user_foo.ini │ │ │ │ │ └── en-GB.plg_user_foo.sys.ini │ │ │ │ └── script.php │ │ │ └── template │ │ │ ├── component.php │ │ │ ├── css │ │ │ ├── offline.css │ │ │ ├── template.css │ │ │ └── user.css │ │ │ ├── error.php │ │ │ ├── helper.php │ │ │ ├── html │ │ │ ├── layouts │ │ │ │ └── joomla │ │ │ │ │ └── system │ │ │ │ │ └── message.php │ │ │ └── modules.php │ │ │ ├── images │ │ │ └── system │ │ │ │ └── index.html │ │ │ ├── index.php │ │ │ ├── js │ │ │ └── template.js │ │ │ ├── language │ │ │ └── en-GB │ │ │ │ ├── en-GB.tpl_foo.ini │ │ │ │ └── en-GB.tpl_foo.sys.ini │ │ │ ├── offline.php │ │ │ └── templateDetails.xml │ │ ├── language │ │ └── en-GB │ │ │ ├── com_extengen.ini │ │ │ └── com_extengen.sys.ini │ │ ├── services │ │ └── provider.php │ │ ├── sql │ │ ├── install.mysql.utf8.sql │ │ └── uninstall.mysql.utf8.sql │ │ ├── src │ │ ├── Controller │ │ │ ├── DisplayController.php │ │ │ ├── ProjectController.php │ │ │ ├── ProjectFormController.php │ │ │ ├── ProjectFormsController.php │ │ │ └── ProjectsController.php │ │ ├── Extension │ │ │ └── ExtengenComponent.php │ │ ├── Factory │ │ │ └── MVCFactory.php │ │ ├── Field │ │ │ ├── EntityReferenceField.php │ │ │ ├── FieldReferenceField.php │ │ │ ├── HtmlTypesField.php │ │ │ ├── LIonCore_M3 │ │ │ │ ├── AnnotationReferenceField.php │ │ │ │ ├── ClassifierReferenceField.php │ │ │ │ ├── ConceptInterfaceReferenceField.php │ │ │ │ ├── ConceptReferenceField.php │ │ │ │ ├── DataTypeReferenceField.php │ │ │ │ └── LanguageReferenceField.php │ │ │ ├── Modal │ │ │ │ └── ProjectField.php │ │ │ └── PageReferenceField.php │ │ ├── Helper │ │ │ ├── AssociationsHelper.php │ │ │ └── ExtengenHelper.php │ │ ├── Model │ │ │ ├── ERDModel.php │ │ │ ├── FormsDiagramModel.php │ │ │ ├── GenerateModel.php │ │ │ ├── GenerateProjectFormModel.php │ │ │ ├── Generator │ │ │ │ ├── Generator.php │ │ │ │ ├── Joomla4 │ │ │ │ │ ├── AdminEntities.php │ │ │ │ │ ├── AdminGeneral.php │ │ │ │ │ ├── AdminMVC.php │ │ │ │ │ ├── ComponentGeneral.php │ │ │ │ │ ├── Forms.php │ │ │ │ │ ├── PackageGeneral.php │ │ │ │ │ └── SiteMVC.php │ │ │ │ └── ProjectForms.php │ │ │ ├── GoogleTranslate.php │ │ │ ├── LanguageStringUtil.php │ │ │ ├── ProjectFormModel.php │ │ │ ├── ProjectFormsModel.php │ │ │ ├── ProjectModel.php │ │ │ └── ProjectsModel.php │ │ ├── Rule │ │ │ └── LetterRule.php │ │ ├── Service │ │ │ └── HTML │ │ │ │ ├── AdministratorService.php │ │ │ │ └── Icon.php │ │ ├── Table │ │ │ ├── ProjectFormTable.php │ │ │ └── ProjectTable.php │ │ └── View │ │ │ ├── ERD │ │ │ └── HtmlView.php │ │ │ ├── FormsDiagram │ │ │ ├── HtmlView.php │ │ │ └── startER1.png │ │ │ ├── Generate │ │ │ └── HtmlView.php │ │ │ ├── GenerateProjectForm │ │ │ └── HtmlView.php │ │ │ ├── Generators │ │ │ └── HtmlView.php │ │ │ ├── Info │ │ │ └── HtmlView.php │ │ │ ├── Project │ │ │ └── HtmlView.php │ │ │ ├── ProjectForm │ │ │ └── HtmlView.php │ │ │ ├── ProjectForms │ │ │ ├── HtmlView.php │ │ │ ├── HtmlViewOLD.php │ │ │ └── projectforms_ER1.png │ │ │ └── Projects │ │ │ └── HtmlView.php │ │ ├── testForm.json │ │ └── tmpl │ │ ├── project │ │ ├── edit.php │ │ ├── edit_associations.php │ │ └── modal.php │ │ ├── projectForm │ │ ├── edit.php │ │ ├── edit_associations.php │ │ ├── edit_withtabs.php │ │ └── modal.php │ │ ├── projectForms │ │ ├── default.php │ │ ├── default_batch.php │ │ ├── default_batch_body.php │ │ ├── default_batch_footer.php │ │ └── modal.php │ │ └── projects │ │ ├── default.php │ │ ├── default_batch.php │ │ ├── default_batch_body.php │ │ ├── default_batch_footer.php │ │ └── modal.php ├── extengen.xml ├── media │ └── com_extengen │ │ ├── joomla.asset.json │ │ └── js │ │ ├── admin-extengen-letter.js │ │ ├── admin-extengen-modal.js │ │ ├── admin-project.js │ │ ├── admin-projectform-ER1.js │ │ ├── admin-projectform-LIonCore_M3.js │ │ ├── admin-projects-modal.js │ │ ├── node_modules │ │ ├── .bin │ │ │ ├── uuid │ │ │ ├── uuid.cmd │ │ │ └── uuid.ps1 │ │ ├── .package-lock.json │ │ └── uuid │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── dist │ │ │ ├── bin │ │ │ │ └── uuid │ │ │ ├── commonjs-browser │ │ │ │ ├── index.js │ │ │ │ ├── md5.js │ │ │ │ ├── native.js │ │ │ │ ├── nil.js │ │ │ │ ├── parse.js │ │ │ │ ├── regex.js │ │ │ │ ├── rng.js │ │ │ │ ├── sha1.js │ │ │ │ ├── stringify.js │ │ │ │ ├── v1.js │ │ │ │ ├── v3.js │ │ │ │ ├── v35.js │ │ │ │ ├── v4.js │ │ │ │ ├── v5.js │ │ │ │ ├── validate.js │ │ │ │ └── version.js │ │ │ ├── esm-browser │ │ │ │ ├── index.js │ │ │ │ ├── md5.js │ │ │ │ ├── native.js │ │ │ │ ├── nil.js │ │ │ │ ├── parse.js │ │ │ │ ├── regex.js │ │ │ │ ├── rng.js │ │ │ │ ├── sha1.js │ │ │ │ ├── stringify.js │ │ │ │ ├── v1.js │ │ │ │ ├── v3.js │ │ │ │ ├── v35.js │ │ │ │ ├── v4.js │ │ │ │ ├── v5.js │ │ │ │ ├── validate.js │ │ │ │ └── version.js │ │ │ ├── esm-node │ │ │ │ ├── index.js │ │ │ │ ├── md5.js │ │ │ │ ├── native.js │ │ │ │ ├── nil.js │ │ │ │ ├── parse.js │ │ │ │ ├── regex.js │ │ │ │ ├── rng.js │ │ │ │ ├── sha1.js │ │ │ │ ├── stringify.js │ │ │ │ ├── v1.js │ │ │ │ ├── v3.js │ │ │ │ ├── v35.js │ │ │ │ ├── v4.js │ │ │ │ ├── v5.js │ │ │ │ ├── validate.js │ │ │ │ └── version.js │ │ │ ├── index.js │ │ │ ├── md5-browser.js │ │ │ ├── md5.js │ │ │ ├── native-browser.js │ │ │ ├── native.js │ │ │ ├── nil.js │ │ │ ├── parse.js │ │ │ ├── regex.js │ │ │ ├── rng-browser.js │ │ │ ├── rng.js │ │ │ ├── sha1-browser.js │ │ │ ├── sha1.js │ │ │ ├── stringify.js │ │ │ ├── uuid-bin.js │ │ │ ├── v1.js │ │ │ ├── v3.js │ │ │ ├── v35.js │ │ │ ├── v4.js │ │ │ ├── v5.js │ │ │ ├── validate.js │ │ │ └── version.js │ │ │ ├── package.json │ │ │ └── wrapper.mjs │ │ ├── package-lock.json │ │ └── package.json └── script.php └── libraries └── yepr └── composer.json /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .iml 3 | 4 | /xdiv 5 | 6 | /src/com_extengen/administrator/components/com_extengen/generated 7 | /src/com_extengen/administrator/components/com_extengen/compilation_cache 8 | /src/com_extengen/administrator/components/com_extengen/test.json 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Extengen 2 | Extension generator as Joomla extension, model based on eJSL (JooMDD), with projectional editor. 3 | 4 | First the JooMDD model was ported to Jetbrain's MPS (eJSL-MPS) and based on that structure this was turned into a Joomla extension, with HTML forms as input of the AST. 5 | 6 | # Information about the Extension Generator project 7 | 19-4-2025 8 | 9 | At the moment mainly working on getting the meta-level complete, using forms: 10 | 11 | * generator-generator: define and adjust generators 12 | * project forms generator: define and adjust project forms 13 | 14 | Still in the phase to get the first official release out. So be warned: the Extension Generator is still not production-ready. 15 | 16 | ### version 0.9.0 17 | If the model and the generator can both be created/edited, using forms, then the model and generator will be much easier 18 | to adjust. That's why I postponed all kinds of changes in model and generator until after this version. 19 | 20 | 21 | ### version 1.0.0 22 | With this version basic Joomla components will be easy to make. 23 | 24 | Features of model and generator, that will be added via the meta-level: 25 | 26 | * toggle Joomla core features in generated extension: categories, tags, versioning, workflow, pagination, custom fields, ordering, access control, language associations, routing/alias, action logs, finder 27 | * automatic junction table for n:n relations 28 | * submenu for this component 29 | * toggle translations and choose translation service; override translations 30 | * add dashboard page type 31 | * update-site for extengen; update from github 32 | 33 | ### future version features 34 | * import & export projects 35 | * migrate older version projects 36 | * save versions of the model and generator on Git(hub) 37 | * add page-type detail with indices (for the multiple files) 38 | * update extengen info page(s) from github instead of shipping with component 39 | * generate Joomla modules 40 | * generate Joomla plugins 41 | * Joomla CLI and API applications 42 | * Initial WordPress generator 43 | * Joomla + Doctrine generator 44 | * possibility to use Event Sourcing in projects 45 | * Joomla + Prooph Event Sourcing generator 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /extengen_update.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Extengen 4 | com_extengen 0.7.10 5 | com_extengen 6 | component 7 | 0.7.10 8 | 9 | 10 | 11 | Yepr - Herman Peeren 12 | http://www.yepr.nl 13 | 14 | administrator 15 | 7.4 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/access.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 | 31 | 32 | 33 | 34 |
35 |
36 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
8 | 14 | 15 | 16 | 17 | 18 | 25 | 26 | 27 | 28 | 29 | 36 | 37 | 38 | 39 | 40 |
41 |
46 | 55 |
56 |
57 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/component.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 15 | 20 | 21 | 31 | 32 | 42 | 43 | 53 | 54 |
55 |
56 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/detailspage.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 17 | 18 | 28 | 29 | 30 | 40 | 41 | 51 | 52 | 57 | 58 | 62 | 63 |
64 |
65 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/editfield.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
8 | 9 | 19 | 20 | 27 | 28 | 38 | 39 |
40 |
41 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/entity.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 15 | 16 | 17 | 23 | 24 | 34 | 35 | 39 |
40 |
41 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/entityFieldReference.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 18 | 19 | 20 | 29 | > 31 | 32 | 33 | 37 | 41 |
42 |
43 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/entityReference.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 18 | 19 | 20 | 24 |
25 |
26 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/entityReferenceField.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 19 | 20 | 21 | 27 | 28 | 34 | 35 | 39 |
40 |
41 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/extensions.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 17 | 18 |
19 |
20 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/field.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 17 | 18 | 19 | 26 | 27 | 28 | 29 | 30 | 39 | 40 | 49 | 50 | 54 | 55 | 56 | 60 |
61 |
62 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/indexpage.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 17 | 18 | 28 | 29 | 39 | 40 | 51 | 52 | 57 | 58 | 62 | 63 |
64 |
65 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/internalLink.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 14 | 15 | 23 | 24 | 25 | 26 | 27 | 28 | 37 | 38 | 47 | 48 |
49 |
50 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/keyValue.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 13 | 19 |
20 |
21 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/langKeyValue.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 13 | 19 |
20 |
21 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/language.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 15 | 23 | 24 | 33 |
34 |
35 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 16 | 17 | 25 | 26 | 34 | 35 | 43 | 44 | 52 | 53 | 61 | 62 | 70 | 71 | 80 | 81 | 89 | 90 |
91 |
92 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/Interfaces/iKeyed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
8 | 9 | 10 | 15 | 16 | 17 | 22 |
23 |
24 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/Interfaces/iNamed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
8 | 18 | 19 | 20 | 25 |
26 |
27 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/concept.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 13 | 14 | 15 | 20 | 21 | 30 | 31 | 40 | 41 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/conceptInterface.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 17 | 18 | 23 |
24 |
25 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/conceptInterfaceReference.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
8 | 9 | 18 | 19 |
20 |
21 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/containment.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 13 | 14 | 19 | 20 |
21 |
22 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/dataType.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 9 | 16 | 17 | 18 | 19 | 20 | 29 | 30 | 39 | 40 | 41 | 46 | 47 | 52 |
53 |
54 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/enumeration.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 17 | 18 | 23 | 24 | 29 | 30 |
31 |
32 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/enumerationLiteral.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 14 | 15 | 21 | 22 | 27 | 28 |
29 |
30 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/interface.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 15 | 16 | 26 | 27 | 37 | 38 | 42 |
43 |
44 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/languageEntity.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 14 | 15 | 21 | 22 | 23 | 30 | 31 | 32 | 33 | 34 | 43 | 44 | 53 | 54 | 55 | 60 |
61 |
62 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/primitiveType.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 33 | 34 | 39 | 40 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/property.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 15 | 16 | 20 | 21 | 26 | 27 |
28 |
29 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/metaProjectForms/LIonCore_M3/reference.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 13 | 14 | 19 | 20 |
21 |
22 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/pageReference.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 18 | 19 | 20 | 24 |
25 |
26 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/pages.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 17 | 27 | 28 |
29 |
30 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/property.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 8 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 37 | 38 | 44 | 45 | 50 | 51 |
52 |
53 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/forms/sections.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 |
7 | 17 | 25 | 35 | 43 | 44 |
45 |
46 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/access.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 | 31 | 32 | 33 | 34 |
35 |
-------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
9 | 16 | 17 | 18 | 19 | 20 |
21 |
26 | 35 |
36 |
37 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/layouts/akeeba/ats/common/assignee.php: -------------------------------------------------------------------------------- 1 | null, 26 | 'class_me' => 'fw-bolder', 27 | 'class_other' => '', 28 | 'prefix' => true, 29 | 'onlyToManagers' => true, 30 | ], $displayData)); 31 | 32 | // Bail out on no or invalid data 33 | if (empty($item) || !is_object($item) || !property_exists($item, 'priority')) 34 | { 35 | return; 36 | } 37 | 38 | if (($item->assigned_to ?? 0) <= 0) 39 | { 40 | return; 41 | } 42 | 43 | if ($onlyToManagers && !Permissions::isManager($item->catid)) 44 | { 45 | return; 46 | } 47 | 48 | $assignee = Permissions::getUser($item->assigned_to); 49 | $class = $assignee->id === Permissions::getUser()->id ? $class_me : $class_other; 50 | ?> 51 | 52 | : 53 | 54 | 55 | escape($assignee->name) ?> (escape($assignee->username) ?>) 56 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/layouts/akeeba/ats/common/priority_badge.php: -------------------------------------------------------------------------------- 1 | null, 23 | 'showNormal' => true, 24 | ], $displayData)); 25 | 26 | // Bail out on no or invalid data 27 | if (empty($item) || !is_object($item) || !property_exists($item, 'priority')) 28 | { 29 | return; 30 | } 31 | 32 | // Bail out if priorities are not supported 33 | if (ComponentHelper::getParams('com_ats')->get('ticketPriorities', 0) != 1) 34 | { 35 | return; 36 | } 37 | 38 | $background = 'bg-dark'; 39 | $icon = 'fa fa-equals'; 40 | $langCode = 'COM_ATS_PRIORITIES_NORMAL'; 41 | 42 | if ($item->priority > 5) 43 | { 44 | $background = 'bg-info'; 45 | $icon = 'fa fa-chevron-down'; 46 | $langCode = 'COM_ATS_PRIORITIES_LOW'; 47 | } 48 | elseif (($item->priority > 0) && ($item->priority < 5)) 49 | { 50 | $background = 'bg-danger'; 51 | $icon = 'fa fa-chevron-up'; 52 | $langCode = 'COM_ATS_PRIORITIES_HIGH'; 53 | } 54 | elseif(!$showNormal) 55 | { 56 | return; 57 | } 58 | 59 | ?> 60 |
61 |
63 | 64 |
65 |
66 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/layouts/akeeba/ats/common/status.php: -------------------------------------------------------------------------------- 1 | null, 22 | 'class' => 'p-2', 23 | ], $displayData)); 24 | 25 | // Bail out on no or invalid data 26 | if (empty($item) || !is_object($item) || !property_exists($item, 'priority')) 27 | { 28 | return; 29 | } 30 | 31 | $allStatuses = ComponentParams::getStatuses(); 32 | switch ($item->status) 33 | { 34 | case 'O': 35 | $background = 'bg-danger'; 36 | break; 37 | case 'P': 38 | $background = 'bg-info'; 39 | break; 40 | case 'C': 41 | $background = 'bg-success'; 42 | break; 43 | default: 44 | $background = 'bg-dark'; 45 | break; 46 | } 47 | 48 | $description = $allStatuses[$item->status] ?? null; 49 | 50 | if (!$description) 51 | { 52 | return; 53 | } 54 | ?> 55 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/layouts/akeeba/ats/cpanel/button.php: -------------------------------------------------------------------------------- 1 | 43 | 45 |
46 | 47 |
48 |
49 | 50 |
51 |
52 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/sql/uninstall.mysql.utf8.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * @package ats 3 | * @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd 4 | * @license GNU General Public License version 3, or later 5 | */ 6 | 7 | -- Remove our tables 8 | DROP TABLE IF EXISTS `#__ats_tickets`; 9 | DROP TABLE IF EXISTS `#__ats_posts`; 10 | DROP TABLE IF EXISTS `#__ats_attachments`; 11 | DROP TABLE IF EXISTS `#__ats_managernotes`; 12 | DROP TABLE IF EXISTS `#__ats_cannedreplies`; 13 | DROP TABLE IF EXISTS `#__ats_autoreplies`; 14 | 15 | -- Remove ticket custom field values 16 | DELETE FROM `#__fields_values` WHERE `field_id` IN (SELECT `field_id` FROM `#__fields` WHERE `context` = 'com_ats.ticket'); 17 | 18 | -- Remove ticket custom fields and their associations to ticket categories 19 | DELETE FROM `#__fields_categories` WHERE `category_id` IN (SELECT `id` FROM `#__categories` AS `c` WHERE `c`.`extension` = 'com_ats'); 20 | 21 | DELETE FROM `#__fields` WHERE `context` = 'com_ats.ticket'; 22 | 23 | -- Remove ticket custom field groups 24 | DELETE FROM `#__fields_groups` WHERE `context` = 'com_ats.ticket'; 25 | 26 | /** 27 | * @package ats 28 | * @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd 29 | * @license GNU General Public License version 3, or later 30 | */ 31 | 32 | -- Remove the UCM content type for tickets 33 | DELETE FROM `#__content_types` WHERE `type_alias` = 'com_ats.ticket'; 34 | 35 | -- Remove the UCM content entries for tickets (used by tags). 36 | -- Note that we cannot remove the tags themselves; tags are global, not per content type! 37 | DELETE FROM `#__ucm_content` WHERE `core_type_alias` = 'com_ats.ticket'; 38 | 39 | -- Remove ticket categories 40 | DELETE FROM `#__categories` WHERE `extension` = 'com_ats'; 41 | 42 | -- Mail templates 43 | DELETE FROM `#__mail_templates` WHERE `extension` = 'com_ats'; -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/sql/updates/mysql/5.0.6-20220629-0000.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * @package ats 3 | * @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd 4 | * @license GNU General Public License version 3, or later 5 | */ 6 | 7 | -- Canned replies table 8 | ALTER TABLE `#__ats_cannedreplies` ADD `access` INT(11) DEFAULT '0'; 9 | UPDATE `#__ats_cannedreplies` SET `access` = 1 WHERE `access` = 0; -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/sql/updates/mysql/5.1.0-20220803-1828.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * @package ats 3 | * @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd 4 | * @license GNU General Public License version 3, or later 5 | */ 6 | 7 | -- Fix discrepancy between updated and freshly installed sites 8 | ALTER TABLE `#__ats_managernotes` CHANGE `ticket_id` `ticket_id` bigint(20) unsigned NOT NULL; 9 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Controller/AdminIndexController.php.twig: -------------------------------------------------------------------------------- 1 | true]) 36 | { 37 | return parent::getModel($name, $prefix, $config); 38 | } 39 | 40 | public function checkToken($method = 'request', $redirect = true) 41 | { 42 | return parent::checkToken($method, $redirect); 43 | } 44 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Controller/DisplayController.php.twig: -------------------------------------------------------------------------------- 1 | element['catfield'] ?? 'id'; 23 | $catid = $this->form->getValue((string) $catField); 24 | 25 | if (!isset($this->element['hideall'])) 26 | { 27 | $this->addOption('COM_ATS_CATEGORY_ALL_MANAGERS', [ 28 | 'value' => 'all', 29 | ]); 30 | } 31 | 32 | array_map(function ($o) { 33 | $this->addOption($o->name, [ 34 | 'value' => $o->id, 35 | ]); 36 | }, Permissions::getManagers($catid)); 37 | 38 | $html = parent::getInput(); 39 | 40 | if (!$catid && !isset($this->element['hidetip'])) 41 | { 42 | $html .= sprintf("
%s
", Text::_('COM_ATS_CATEGORY_NOTIFY_MANAGERS_SAVEBEFORE')); 43 | } 44 | 45 | return $html; 46 | } 47 | 48 | 49 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Field/TicketStatusField.php: -------------------------------------------------------------------------------- 1 | $description) 22 | { 23 | $this->addOption($description, [ 24 | 'value' => $value, 25 | ]); 26 | } 27 | 28 | return parent::getInput(); 29 | } 30 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Field/TicketUserField.php: -------------------------------------------------------------------------------- 1 | form->getValue('catid') ?: null; 42 | $this->readonly = !Permissions::isManager($catId); 43 | } 44 | 45 | return $return; 46 | } 47 | 48 | 49 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Field/TimespentField.php: -------------------------------------------------------------------------------- 1 | isClient('site') ? JPATH_SITE : JPATH_ADMINISTRATOR) . 24 | '/components/com_ats/layouts', 25 | (Factory::getApplication()->isClient('site') ? JPATH_ADMINISTRATOR : JPATH_SITE) . 26 | '/components/com_ats/layouts', 27 | ]); 28 | } 29 | 30 | 31 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Provider/RouterFactory.php: -------------------------------------------------------------------------------- 1 | namespace = $namespace; 40 | } 41 | 42 | /** 43 | * @inheritDoc 44 | */ 45 | public function register(Container $container) 46 | { 47 | $container->set( 48 | RouterFactoryInterface::class, 49 | function (Container $container) { 50 | return new \Akeeba\Component\ATS\Administrator\Router\RouterFactory( 51 | $this->namespace, 52 | $container->get(DatabaseInterface::class), 53 | $container->get(MVCFactoryInterface::class), 54 | $container->get(CategoryFactoryInterface::class) 55 | ); 56 | } 57 | ); 58 | } 59 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Table/fragments/m2m_bind.php.twig: -------------------------------------------------------------------------------- 1 | 2 | // Set the {{relatedEntityName|lower}}Ids from the comma separated string of {{relatedEntityName|lower}}-ids 3 | if ($return && array_key_exists('{{relatedEntityName|lower}}_ids', $array)) { 4 | $this->{{relatedEntityName|lower}}_ids = $array['{{relatedEntityName|lower}}_ids']; 5 | } 6 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Table/fragments/m2m_delete.php.twig: -------------------------------------------------------------------------------- 1 | 2 | // Delete the {{entityName|lower}} from the {{pivotTable}} junction table. 3 | $query = $this->_db->getQuery(true) 4 | ->delete($this->_db->quoteName('#__{{componentName|lower}}_{{pivotTable}}')) 5 | ->where($this->_db->quoteName('{{entityName|lower}}_id') . ' = :key') 6 | ->bind(':key', $key, ParameterType::INTEGER); 7 | $this->_db->setQuery($query); 8 | $this->_db->execute(); 9 | 10 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/src/Table/fragments/m2m_localstore.php.twig: -------------------------------------------------------------------------------- 1 | 2 | // Store {{relatedEntityName|lower}}Ids locally so as to not update directly. 3 | ${{relatedEntityName|lower}}Ids = $this->{{relatedEntityName|lower}}_ids; 4 | unset($this->{{relatedEntityName|lower}}_ids); 5 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/tmpl/index/default_batch_footer.php: -------------------------------------------------------------------------------- 1 | document->getWebAssetManager()->useScript('com_ats.tickets_backend'); 15 | 16 | ?> 17 | 22 | 23 | 27 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/tmpl/index/emptystate.php: -------------------------------------------------------------------------------- 1 | 'COM_ATS_TICKETS', 15 | 'formURL' => 'index.php?option=com_ats&view=tickets', 16 | 'icon' => 'fa fa-ticket-alt', 17 | ]; 18 | 19 | $user = Factory::getApplication()->getIdentity(); 20 | 21 | if ($user->authorise('core.create', 'com_ats') || count($user->getAuthorisedCategories('com_ats', 'core.create')) > 0) 22 | { 23 | $displayData['createURL'] = 'index.php?option=com_ats&task=ticket.add'; 24 | } 25 | 26 | echo LayoutHelper::render('joomla.content.emptystate', $displayData); 27 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/administrator/components/com_componentname/version.php.twig: -------------------------------------------------------------------------------- 1 | getMenu()->getActive(); 28 | $menuParams = is_object($menu) ? $menu->getParams() : new Registry(); 29 | $mergedParams = clone ComponentHelper::getParams('com_ats'); 30 | 31 | return $mergedParams->merge($menuParams); 32 | }); 33 | 34 | $showEmptyMessage = $params->get('cats_show_empty_message', 1); 35 | 36 | ?> 37 | 38 | 39 | 40 | 41 |

42 | 43 | 44 |

45 | 46 | 47 | 48 | 49 | 50 | $cat, 52 | 'params' => $params, 53 | ]) ?> 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/components/com_componentname/layouts/akeeba/ats/common/status.php: -------------------------------------------------------------------------------- 1 | null, 22 | 'class' => 'p-2', 23 | ], $displayData)); 24 | 25 | // Bail out on no or invalid data 26 | if (empty($item) || !is_object($item) || !property_exists($item, 'priority')) 27 | { 28 | return; 29 | } 30 | 31 | $allStatuses = ComponentParams::getStatuses(); 32 | switch ($item->status) 33 | { 34 | case 'O': 35 | $background = 'bg-danger'; 36 | break; 37 | case 'P': 38 | $background = 'bg-info'; 39 | break; 40 | case 'C': 41 | $background = 'bg-success'; 42 | break; 43 | default: 44 | $background = 'bg-dark'; 45 | break; 46 | } 47 | 48 | $description = $allStatuses[$item->status] ?? null; 49 | 50 | if (!$description) 51 | { 52 | return; 53 | } 54 | ?> 55 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/components/com_componentname/src/Controller/DisplayController.php.twig: -------------------------------------------------------------------------------- 1 | true]) 36 | { 37 | return parent::getModel($name, $prefix, $config); 38 | } 39 | 40 | public function checkToken($method = 'request', $redirect = true) 41 | { 42 | return parent::checkToken($method, $redirect); 43 | } 44 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/components/com_componentname/src/Dispatcher/Dispatcher.php: -------------------------------------------------------------------------------- 1 | 'categories', 26 | 'tickets' => 'category', 27 | 'latests' => 'latest', 28 | 'mies' => 'my', 29 | 'newticket' => 'new', 30 | 'newtickets' => 'new', 31 | 'assignedtickets' => 'assigned', 32 | 'assignedticket' => 'assigned', 33 | ]; 34 | 35 | /** @inheritdoc */ 36 | protected function applyViewAndController(): void 37 | { 38 | parent::applyViewAndController(); 39 | 40 | $view = $this->input->get('view'); 41 | 42 | // The new view is an alias to the ticket view 43 | if ($view == 'new') 44 | { 45 | $this->input->set('view', 'ticket'); 46 | $this->input->set('controller', 'ticket'); 47 | $this->input->set('layout', 'edit'); 48 | $this->input->set('id', null); 49 | } 50 | } 51 | 52 | protected function onBeforeDispatch(): void 53 | { 54 | if (ComponentHelper::getParams('com_ats')->get('loadCustomCss', 0) == 1) 55 | { 56 | $this->commonMediaKeys = ['preset:com_ats.frontend.styled']; 57 | } 58 | 59 | parent::onBeforeDispatch(); 60 | } 61 | 62 | 63 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/components/com_componentname/src/Service/Category.php: -------------------------------------------------------------------------------- 1 | 'com_ats', 20 | 'table' => '#__ats_tickets', 21 | 'field' => 'catid', 22 | 'key' => 'id', 23 | 'statefield' => 'enabled', 24 | ]); 25 | 26 | parent::__construct($options); 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/components/com_componentname/tmpl/details/default.php.twig: -------------------------------------------------------------------------------- 1 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
31 | 32 |
33 | 34 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/css/style-uncompressed.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/css/style-uncompressed.css -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/css/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/css/style.css -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/images/joomla_powered_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/images/joomla_powered_sm.png -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/js/script-uncompressed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/js/script-uncompressed.js -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/js/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/component/media/com_foo/js/script.js -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/module/language/en-GB/en-GB.mod_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | MOD_FOO="[PROJECT_NAME]" 6 | MOD_FOO_XML_DESCRIPTION="Foo Module" 7 | MOD_FOO_URL_LABEL="Url" 8 | MOD_FOO_URL_DESCRIPTION="Url to use" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/module/language/en-GB/en-GB.mod_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | MOD_FOO="[PROJECT_NAME]" 6 | MOD_FOO_XML_DESCRIPTION="Foo Module" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/module/mod_foo.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | use Joomla\CMS\Helper\ModuleHelper; 12 | 13 | defined('_JEXEC') or die; 14 | 15 | $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx')); 16 | 17 | require ModuleHelper::getLayoutPath('mod_foo', $params->get('layout', 'default')); 18 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/module/mod_foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | MOD_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | MOD_FOO_XML_DESCRIPTION 12 | 13 | 14 | mod_foo.php 15 | tmpl 16 | language 17 | mod_foo.xml 18 | 19 | 20 | 21 | 22 | https://www.example.com/mod_foo.xml 23 | 24 | 25 | 26 | 27 |
28 | 37 |
38 |
40 | 45 |
46 |
47 |
48 |
49 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/module/tmpl/default.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | // Access to module parameters 14 | $domain = $params->get('domain', 'https://www.joomla.org'); 15 | ?> 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugin/system/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_system_foo.ini 19 | en-GB/en-GB.plg_system_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | 31 |
32 | 39 |
40 |
41 |
42 | 43 | 44 | 45 | https://www.example.com/plg_foo.xml 46 | 47 |
48 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugin/system/language/en-GB/en-GB.plg_system_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_FOO="[PROJECT_NAME]" 6 | PLG_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_FOO_SAMPLE_LABEL="Sample parameter" 8 | PLG_FOO_SAMPLE_DESCRIPTION="Sample description" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugin/system/language/en-GB/en-GB.plg_system_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_FOO="[PROJECT_NAME]" 6 | PLG_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugin/system/script.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | /** 14 | * Foo script file. 15 | * 16 | * @package A package name 17 | * @since 1.0 18 | */ 19 | class plgSystemFooInstallerScript 20 | { 21 | /** 22 | * Constructor 23 | * 24 | * @param JAdapterInstance $adapter The object responsible for running this script 25 | */ 26 | public function __construct(JAdapterInstance $adapter) {} 27 | 28 | /** 29 | * Called before any type of action 30 | * 31 | * @param string $route Which action is happening (install|uninstall|discover_install|update) 32 | * @param JAdapterInstance $adapter The object responsible for running this script 33 | * 34 | * @return boolean True on success 35 | */ 36 | public function preflight($route, JAdapterInstance $adapter) {} 37 | 38 | /** 39 | * Called after any type of action 40 | * 41 | * @param string $route Which action is happening (install|uninstall|discover_install|update) 42 | * @param JAdapterInstance $adapter The object responsible for running this script 43 | * 44 | * @return boolean True on success 45 | */ 46 | public function postflight($route, JAdapterInstance $adapter) {} 47 | 48 | /** 49 | * Called on installation 50 | * 51 | * @param JAdapterInstance $adapter The object responsible for running this script 52 | * 53 | * @return boolean True on success 54 | */ 55 | public function install(JAdapterInstance $adapter) {} 56 | 57 | /** 58 | * Called on update 59 | * 60 | * @param JAdapterInstance $adapter The object responsible for running this script 61 | * 62 | * @return boolean True on success 63 | */ 64 | public function update(JAdapterInstance $adapter) {} 65 | 66 | /** 67 | * Called on uninstallation 68 | * 69 | * @param JAdapterInstance $adapter The object responsible for running this script 70 | */ 71 | public function uninstall(JAdapterInstance $adapter) {} 72 | } 73 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/authentication/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_AUTHENTICATION_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_AUTHENTICATION_FOO_XML_DESCRIPTION 12 | 13 | 14 | script.php 15 | 16 | 17 | 18 | en-GB/en-GB.plg_authentication_foo.ini 19 | en-GB/en-GB.plg_authentication_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | https://www.example.com/plg_foo.xml 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/authentication/language/en-GB/en-GB.plg_authentication_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_AUTHENTICATION_FOO="[PROJECT_NAME]" 6 | PLG_AUTHENTICATION_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/authentication/language/en-GB/en-GB.plg_authentication_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_AUTHENTICATION_FOO="[PROJECT_NAME]" 6 | PLG_AUTHENTICATION_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/behaviour/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_BEHAVIOUR_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_BEHAVIOUR_FOO_XML_DESCRIPTION 12 | 13 | 14 | script.php 15 | 16 | 17 | 18 | en-GB/en-GB.plg_authentication_foo.ini 19 | en-GB/en-GB.plg_authentication_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | https://www.example.com/plg_foo.xml 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/behaviour/language/en-GB/en-GB.plg_behaviour_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_BEHAVIOUR_FOO="[PROJECT_NAME]" 6 | PLG_BEHAVIOUR_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/behaviour/language/en-GB/en-GB.plg_behaviour_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_BEHAVIOUR_FOO="[PROJECT_NAME]" 6 | PLG_BEHAVIOUR_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/content/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_CONTENT_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_CONTENT_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_content_foo.ini 19 | en-GB/en-GB.plg_content_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | 31 |
32 | 39 |
40 |
41 |
42 | 43 | 44 | 45 | https://www.example.com/plg_foo.xml 46 | 47 |
48 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/content/language/en-GB/en-GB.plg_content_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_CONTENT_FOO="[PROJECT_NAME]" 6 | PLG_CONTENT_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_CONTENT_FOO_SAMPLE_LABEL="Sample parameter" 8 | PLG_CONTENT_FOO_SAMPLE_DESCRIPTION="Sample description" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/content/language/en-GB/en-GB.plg_content_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_CONTENT_FOO="[PROJECT_NAME]" 6 | PLG_CONTENT_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/editors-xtd/foo.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | use Joomla\CMS\Application\CMSApplication; 14 | use Joomla\CMS\Language\Text; 15 | use Joomla\CMS\Object\CMSObject; 16 | use Joomla\CMS\Plugin\CMSPlugin; 17 | use Joomla\CMS\Session\Session; 18 | 19 | /** 20 | * Foo plugin. 21 | * 22 | * @package [PACKAGE_NAME] 23 | * @since 1.0 24 | */ 25 | class plgButtonFoo extends CMSPlugin 26 | { 27 | /** 28 | * Application object 29 | * 30 | * @var CMSApplication 31 | * @since 1.0 32 | */ 33 | protected $app; 34 | 35 | /** 36 | * Database object 37 | * 38 | * @var JDatabaseDriver 39 | * @since 1.0 40 | */ 41 | protected $db; 42 | 43 | /** 44 | * Affects constructor behavior. If true, language files will be loaded automatically. 45 | * 46 | * @var boolean 47 | * @since 1.0 48 | */ 49 | protected $autoloadLanguage = true; 50 | 51 | /** 52 | * Display the button 53 | * 54 | * @param string $name The name of the button to add 55 | * 56 | * @return CMSObject The button options as JObject 57 | */ 58 | public function onDisplay($name) 59 | { 60 | $link = 'index.php?option=com_foo&view=foo&layout=modal&tmpl=component&' 61 | . Session::getFormToken() . '=1&editor=' . $name; 62 | 63 | $button = new CMSObject; 64 | $button->modal = true; 65 | $button->class = 'btn btn-secondary'; 66 | $button->link = $link; 67 | $button->text = Text::_('PLG_EDITORSXTD_FOO_BUTTON_FOO'); 68 | $button->name = 'file-add'; 69 | $button->options = array( 70 | 'height' => '300px', 71 | 'width' => '800px', 72 | 'bodyHeight' => '70', 73 | 'modalWidth' => '80', 74 | ); 75 | 76 | return $button; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/editors-xtd/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_EDITORSXTD_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_EDITORSXTD_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_system_foo.ini 19 | en-GB/en-GB.plg_system_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | https://www.example.com/plg_foo.xml 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/editors-xtd/language/en-GB/en-GB.plg_editors-xtd_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_EDITORSXTD_FOO="[PROJECT_NAME]" 6 | PLG_EDITORSXTD_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_EDITORSXTD_FOO_BUTTON_FOO="[PROJECT_NAME]" 8 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/editors-xtd/language/en-GB/en-GB.plg_editors-xtd_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_EDITOSXTD_FOO="[PROJECT_NAME]" 6 | PLG_EDITOSXTD_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/fields/foo.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | JFormHelper::loadFieldClass('text'); 14 | 15 | /** 16 | * Foo field plugin. 17 | * 18 | * @package [PACKAGE_NAME] 19 | */ 20 | class JFormFieldFoo extends JFormFieldText 21 | { 22 | protected $type = 'Foo'; 23 | } 24 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/foo.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | use Joomla\CMS\Application\CMSApplication; 14 | 15 | JLoader::import('components.com_fields.libraries.fieldslistplugin', JPATH_ADMINISTRATOR); 16 | 17 | /** 18 | * Foo plugin. 19 | * 20 | * @package [PACKAGE_NAME] 21 | * @since 1.0.0 22 | */ 23 | class plgFieldsFoo extends FieldsListPlugin 24 | { 25 | /** 26 | * Application object 27 | * 28 | * @var CMSApplication 29 | * @since 1.0.0 30 | */ 31 | protected $app; 32 | 33 | /** 34 | * Database object 35 | * 36 | * @var JDatabaseDriver 37 | * @since 1.0.0 38 | */ 39 | protected $db; 40 | 41 | /** 42 | * Affects constructor behavior. If true, language files will be loaded automatically. 43 | * 44 | * @var boolean 45 | * @since 1.0.0 46 | */ 47 | protected $autoloadLanguage = true; 48 | 49 | /** 50 | * Transforms the field into a DOM XML element and appends it as a child on the given parent. 51 | * 52 | * @param stdClass $field The field. 53 | * @param DOMElement $parent The field node parent. 54 | * @param JForm $form The form. 55 | * 56 | * @return DOMElement 57 | */ 58 | public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm $form) 59 | { 60 | 61 | } 62 | 63 | /** 64 | * The save event. 65 | * 66 | * @param string $context The context 67 | * @param JTable $item The table 68 | * @param boolean $isNew Is new item 69 | * @param array $data The validated data 70 | * 71 | * @return boolean 72 | */ 73 | public function onContentBeforeSave($context, $item, $isNew, $data = array()) 74 | { 75 | 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_FIELDS_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0.0 11 | PLG_FIELDS_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_fields_foo.ini 19 | en-GB/en-GB.plg_fields_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | https://www.example.com/plg_foo.xml 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/language/en-GB/en-GB.plg_fields_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_FIELDS_FOO="[PROJECT_NAME]" 6 | PLG_FIELDS_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/language/en-GB/en-GB.plg_fields_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_FIELDS_FOO="[PROJECT_NAME]" 6 | PLG_FIELDS_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/params/foo.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | 6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/fields/tmpl/foo.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | $fieldValue = $field->value; 14 | 15 | if ($fieldValue === '' || $fieldValue === null) 16 | { 17 | return; 18 | } 19 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/finder/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_FINDER_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_FINDER_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_finder_foo.ini 19 | en-GB/en-GB.plg_finder_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | https://www.example.com/plg_foo.xml 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/finder/language/en-GB/en-GB.plg_finder_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_FINDER_FOO="[PROJECT_NAME]" 6 | PLG_FINDER_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_FINDER_FOO_SAMPLE_LABEL="Sample parameter" 8 | PLG_FINDER_FOO_SAMPLE_DESCRIPTION="Sample description" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/finder/language/en-GB/en-GB.plg_finder_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_FINDER_FOO="[PROJECT_NAME]" 6 | PLG_FINDER_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/search/foo.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | use Joomla\CMS\Application\CMSApplication; 14 | use Joomla\CMS\Plugin\CMSPlugin; 15 | use Joomla\Database\DatabaseDriver; 16 | 17 | /** 18 | * Foo plugin. 19 | * 20 | * @package [PACKAGE_NAME] 21 | * @since 1.0 22 | */ 23 | class plgSearchFoo extends CMSPlugin 24 | { 25 | /** 26 | * Application object 27 | * 28 | * @var CMSApplication 29 | * @since 1.0 30 | */ 31 | protected $app; 32 | 33 | /** 34 | * Database object 35 | * 36 | * @var DatabaseDriver 37 | * @since 1.0 38 | */ 39 | protected $db; 40 | 41 | /** 42 | * Affects constructor behavior. If true, language files will be loaded automatically. 43 | * 44 | * @var boolean 45 | * @since 1.0 46 | */ 47 | protected $autoloadLanguage = true; 48 | 49 | /** 50 | * Determine areas searchable by this plugin. 51 | * 52 | * @return array An array of search areas. 53 | */ 54 | public function onContentSearchAreas() 55 | { 56 | static $areas = array( 57 | 'tags' => 'PLG_SEARCH_FOO_FOO' 58 | ); 59 | 60 | return $areas; 61 | } 62 | 63 | /** 64 | * Search content (tags). 65 | * 66 | * The SQL must return the following fields that are used in a common display 67 | * routine: href, title, section, created, text, browsernav. 68 | * 69 | * @param string $text Target search string. 70 | * @param string $phrase Matching option (possible values: exact|any|all). Default is "any". 71 | * @param string $ordering Ordering option (possible values: newest|oldest|popular|alpha|category). Default is "newest". 72 | * @param string $areas An array if the search is to be restricted to areas or null to search all areas. 73 | * 74 | * @return array Search results. 75 | */ 76 | public function onContentSearch($text, $phrase = '', $ordering = '', $areas = null) 77 | { 78 | 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/search/language/en-GB/en-GB.plg_search_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_SEARCH_FOO="[PROJECT_NAME]" 6 | PLG_SEARCH_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_SEARCH_FOO_ARCHIVED_DESC="Enables searching of Archived Articles." 8 | PLG_SEARCH_FOO_ARCHIVED_LABEL="Archived Articles" 9 | PLG_SEARCH_FOO_CONTENT_DESC="Enables searching of all Articles." 10 | PLG_SEARCH_FOO_CONTENT_LABEL="Articles" 11 | PLG_SEARCH_FOO_SEARCHLIMIT_DESC="Number of search items to return." 12 | PLG_SEARCH_FOO_SEARCHLIMIT_LABEL="Search Limit" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/search/language/en-GB/en-GB.plg_search_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_SEARCH_FOO="[PROJECT_NAME]" 6 | PLG_SEARCH_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/system/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_SYSTEM_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_SYSTEM_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_system_foo.ini 19 | en-GB/en-GB.plg_system_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | 31 |
32 | 39 |
40 |
41 |
42 | 43 | 44 | 45 | https://www.example.com/plg_foo.xml 46 | 47 |
48 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/system/language/en-GB/en-GB.plg_system_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_SYSTEM_FOO="[PROJECT_NAME]" 6 | PLG_SYSTEM_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_SYSTEM_FOO_SAMPLE_LABEL="Sample parameter" 8 | PLG_SYSTEM_FOO_SAMPLE_DESCRIPTION="Sample description" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/system/language/en-GB/en-GB.plg_system_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_SYSTEM_FOO="[PROJECT_NAME]" 6 | PLG_SYSTEM_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/user/foo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | PLG_USER_FOO 4 | [DATE] 5 | [AUTHOR] 6 | [AUTHOR_EMAIL] 7 | [AUTHOR_URL] 8 | [COPYRIGHT] 9 | GNU General Public License version 2 or later; see LICENSE.txt 10 | 1.0 11 | PLG_USER_FOO_XML_DESCRIPTION 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-GB/en-GB.plg_user_foo.ini 19 | en-GB/en-GB.plg_user_foo.sys.ini 20 | 21 | 22 | 23 | 24 | foo.php 25 | language 26 | 27 | 28 | 29 | 30 | 31 |
32 | 39 |
40 |
41 |
42 | 43 | 44 | 45 | https://www.example.com/plg_foo.xml 46 | 47 |
48 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/user/language/en-GB/en-GB.plg_user_foo.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_USER_FOO="[PROJECT_NAME]" 6 | PLG_USER_FOO_XML_DESCRIPTION="Foo Plugin" 7 | PLG_USER_FOO_SAMPLE_LABEL="Sample parameter" 8 | PLG_USER_FOO_SAMPLE_DESCRIPTION="Sample description" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/plugins/user/language/en-GB/en-GB.plg_user_foo.sys.ini: -------------------------------------------------------------------------------- 1 | ; 2 | ; Foo language file 3 | ; 4 | 5 | PLG_USER_FOO="[PROJECT_NAME]" 6 | PLG_USER_FOO_XML_DESCRIPTION="Foo Plugin" 7 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/component.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | use \Joomla\CMS\Factory; 14 | 15 | require_once JPATH_THEMES . '/' . $this->template . '/helper.php'; 16 | 17 | // Output as HTML5 18 | $doc->setHtml5(true); 19 | 20 | tplFooHelper::loadCss(); 21 | 22 | ?> 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/css/offline.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/css/offline.css -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/css/template.css: -------------------------------------------------------------------------------- 1 | .sr-only { 2 | position: absolute; 3 | width: 1px; 4 | height: 1px; 5 | padding: 0; 6 | margin: -1px; 7 | overflow: hidden; 8 | clip: rect(0,0,0,0); 9 | border: 0; 10 | } 11 | 12 | .sr-only-focusable:active, .sr-only-focusable:focus { 13 | position: static; 14 | width: auto; 15 | height: auto; 16 | margin: 0; 17 | overflow: visible; 18 | clip: auto; 19 | } -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/css/user.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/css/user.css -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/error.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/html/layouts/joomla/system/message.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/html/layouts/joomla/system/message.php -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/html/modules.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | /** 14 | * This is a file to add template specific chrome to module rendering. To use it you would 15 | * set the style attribute for the given module(s) include in your template to use the style 16 | * for each given modChrome function. 17 | * 18 | * eg. To render a module mod_test in the submenu style, you would use the following include: 19 | * 20 | * 21 | * This gives template designers ultimate control over how modules are rendered. 22 | * 23 | * NOTICE: All chrome wrapping methods should be named: modChrome_{STYLE} and take the same 24 | * two arguments. 25 | */ 26 | 27 | /* 28 | * Module chrome for rendering the module in a submenu 29 | */ 30 | function modChrome_no($module, &$params, &$attribs) 31 | { 32 | if ($module->content) 33 | { 34 | echo $module->content; 35 | } 36 | } 37 | 38 | function modChrome_well($module, &$params, &$attribs) 39 | { 40 | $moduleTag = $params->get('module_tag', 'div'); 41 | $bootstrapSize = (int) $params->get('bootstrap_size', 0); 42 | $moduleClass = $bootstrapSize != 0 ? ' span' . $bootstrapSize : ''; 43 | $headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_COMPAT, 'UTF-8'); 44 | $headerClass = htmlspecialchars($params->get('header_class', 'page-header'), ENT_COMPAT, 'UTF-8'); 45 | 46 | if ($module->content) 47 | { 48 | echo '<' . $moduleTag . ' class="well ' . htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8') . $moduleClass . '">'; 49 | 50 | if ($module->showtitle) 51 | { 52 | echo '<' . $headerTag . ' class="' . $headerClass . '">' . $module->title . ''; 53 | } 54 | 55 | echo $module->content; 56 | echo ''; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/images/system/index.html: -------------------------------------------------------------------------------- 1 | ##Usage 2 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/index.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; 12 | 13 | use \Joomla\CMS\Factory; 14 | use \Joomla\CMS\Language\Text; 15 | 16 | require_once JPATH_THEMES . '/' . $this->template . '/helper.php'; 17 | 18 | tplFooHelper::loadCss(); 19 | tplFooHelper::loadJs(); 20 | tplFooHelper::setMetadata(); 21 | 22 | ?> 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | params->get('sitedescription')) : ?> 35 | ' . htmlspecialchars($this->params->get('sitedescription'), ENT_COMPAT, 'UTF-8') . ''; ?> 36 | 37 | 38 | 39 | 42 | 43 |
44 | 45 | 46 |
47 | 48 | 53 | 54 |
55 | 56 |

57 | © 58 |

59 |
60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/js/template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/js/template.js -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/language/en-GB/en-GB.tpl_foo.ini: -------------------------------------------------------------------------------- 1 | TPL_FOO_SKIP_LINK_LABEL="Skip to main content" -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/language/en-GB/en-GB.tpl_foo.sys.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/language/en-GB/en-GB.tpl_foo.sys.ini -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/generator_templates/Joomla4/template/offline.php: -------------------------------------------------------------------------------- 1 | 6 | * @copyright [COPYRIGHT] 7 | * @license GNU General Public License version 2 or later; see LICENSE.txt 8 | * @link [AUTHOR_URL] 9 | */ 10 | 11 | defined('_JEXEC') or die; -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/language/en-GB/com_extengen.sys.ini: -------------------------------------------------------------------------------- 1 | COM_EXTENGEN="Extension Generator" 2 | COM_EXTENGEN_XML_DESCRIPTION="Extension Generator Component" 3 | 4 | COM_EXTENGEN_INSTALLERSCRIPT_PREFLIGHT="

Anything here happens before the installation/update/uninstallation of the component

" 5 | COM_EXTENGEN_INSTALLERSCRIPT_UPDATE="

The component has been updated

" 6 | COM_EXTENGEN_INSTALLERSCRIPT_UNINSTALL="

The component has been uninstalled

" 7 | COM_EXTENGEN_INSTALLERSCRIPT_INSTALL="

The component has been installed

" 8 | COM_EXTENGEN_INSTALLERSCRIPT_POSTFLIGHT="

Anything here happens after the installation/update/uninstallation of the component

" 9 | 10 | COM_EXTENGEN_PROJECT_VIEW_DEFAULT_TITLE="Single Project" 11 | COM_EXTENGEN_PROJECT_VIEW_DEFAULT_DESC="This links to the information for one extension project." 12 | COM_EXTENGEN_SELECT_PROJECT_LABEL="Select a project" 13 | 14 | COM_EXTENGEN_CHANGE_PROJECT="Change a project" 15 | COM_EXTENGEN_SELECT_A_PROJECT="Select a project" 16 | 17 | COM_EXTENGEN_PROJECT_VIEW_WITHHEAD_TITLE="Single Project with a headertext" 18 | COM_EXTENGEN_PROJECT_VIEW_WITHHEAD_DESC="This links to the information for one extension project with a headertext." 19 | 20 | COM_EXTENGEN_SUBMENU_MANAGER_PROJECTS="Projects" 21 | COM_EXTENGEN_SUBMENU_MANAGER_GENERATORS="Generators" 22 | COM_EXTENGEN_SUBMENU_MANAGER_PROJECTFORMS="Project Forms" 23 | COM_EXTENGEN_SUBMENU_MANAGER_INFO="Info" 24 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/sql/uninstall.mysql.utf8.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS `#__extengen_projects`; 2 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/Controller/DisplayController.php: -------------------------------------------------------------------------------- 1 | checkToken(); 34 | 35 | $model = $this->getModel('Project', '', array()); 36 | 37 | // Preset the redirect 38 | $this->setRedirect(Route::_('index.php?option=com_extengen&view=projects' . $this->getRedirectToListAppend(), false)); 39 | 40 | return parent::batch($model); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/Controller/ProjectFormController.php: -------------------------------------------------------------------------------- 1 | applyReturnUrl(); See Nic's PostController + ReturnURLAware mixin 29 | */ 30 | public function __construct($config = array(), MVCFactoryInterface $factory = null, $app = null, $input = null) 31 | { 32 | $this->view_list = 'projectforms'; 33 | parent::__construct($config, $factory, $app, $input); 34 | } 35 | 36 | /** 37 | * Method to run batch operations. 38 | * 39 | * @param object|null $model The model. 40 | * 41 | * @return boolean True on success 42 | */ 43 | public function batch($model = null) 44 | { 45 | $this->checkToken(); 46 | 47 | $model = $this->getModel('ProjectForm', '', array()); 48 | 49 | // Preset the redirect 50 | $this->setRedirect(Route::_('index.php?option=com_extengen&view=projectforms' . $this->getRedirectToListAppend(), false)); 51 | 52 | return parent::batch($model); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/Controller/ProjectFormsController.php: -------------------------------------------------------------------------------- 1 | true)) 55 | { 56 | return parent::getModel($name, $prefix, $config); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/Controller/ProjectsController.php: -------------------------------------------------------------------------------- 1 | true)) 55 | { 56 | return parent::getModel($name, $prefix, $config); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/Helper/ExtengenHelper.php: -------------------------------------------------------------------------------- 1 | get('custom_fields_enable', '1')) 33 | { 34 | \JHtmlSidebar::addEntry( 35 | Text::_('JGLOBAL_FIELDS'), 36 | 'index.php?option=com_fields&context=com_extengen.extengen', 37 | $vName == 'fields.fields' 38 | ); 39 | \JHtmlSidebar::addEntry( 40 | Text::_('JGLOBAL_FIELD_GROUPS'), 41 | 'index.php?option=com_fields&view=groups&context=com_extengen.extengen', 42 | $vName == 'fields.groups' 43 | ); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/Rule/LetterRule.php: -------------------------------------------------------------------------------- 1 | getModel(); 46 | 47 | // Get the project_id and put it in the model 48 | // Todo: this must be done in the (display)controller and probably best via UserState 49 | $projectId = Factory::getApplication()->input->getInt('project_id'); 50 | $model->setProjectId($projectId); 51 | 52 | // Todo: also get the output-type (now fixed on 'Joomla4' in GenerateModel) 53 | $model->generate(); 54 | $log = $model->log; 55 | $text = implode("
\n", $log); 56 | echo '

Generation log

'; 57 | echo '

' . $text . '

'; 58 | 59 | //parent::display($tpl); 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/View/GenerateProjectForm/HtmlView.php: -------------------------------------------------------------------------------- 1 | getModel(); 46 | 47 | // Get the project_id and put it in the model 48 | // Todo: this must be done in the (display)controller and probably best via UserState 49 | $projectId = Factory::getApplication()->input->getInt('projectform_id'); 50 | $model->setProjectFormId($projectId); 51 | 52 | $model->generate(); 53 | $log = $model->log; 54 | $text = implode("
\n", $log); 55 | echo '

Generation log of these project forms

'; 56 | echo '

' . $text . '

'; 57 | 58 | //parent::display($tpl); 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/src/View/ProjectForms/projectforms_ER1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HermanPeeren/Extengen/a765c6d40ef780ad408683714ca2f25c4749c1b0/src/com_extengen/administrator/components/com_extengen/src/View/ProjectForms/projectforms_ER1.png -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/tmpl/project/edit_associations.php: -------------------------------------------------------------------------------- 1 | 12 |
13 | setLayout('edit'); ?> 14 | loadTemplate(); ?> 15 |
16 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/tmpl/projectForm/edit_associations.php: -------------------------------------------------------------------------------- 1 | 12 |
13 | setLayout('edit'); ?> 14 | loadTemplate(); ?> 15 |
16 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/tmpl/projectForms/default_batch_body.php: -------------------------------------------------------------------------------- 1 | state->get('filter.published'); 15 | $noUser = true; 16 | ?> 17 | 18 |
19 |
20 |
21 |
22 | 23 |
24 |
25 |
26 |
27 | 28 |
29 |
30 |
31 |
32 | = 0) : ?> 33 |
34 |
35 | 'COM_EXTENGEN']); ?> 36 |
37 |
38 | 39 |
40 |
41 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/tmpl/projectForms/default_batch_footer.php: -------------------------------------------------------------------------------- 1 | 15 | 18 | 21 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/tmpl/projects/default_batch_body.php: -------------------------------------------------------------------------------- 1 | state->get('filter.published'); 15 | $noUser = true; 16 | ?> 17 | 18 |
19 |
20 |
21 |
22 | 23 |
24 |
25 |
26 |
27 | 28 |
29 |
30 |
31 |
32 | = 0) : ?> 33 |
34 |
35 | 'COM_EXTENGEN']); ?> 36 |
37 |
38 | 39 |
40 |
41 | -------------------------------------------------------------------------------- /src/com_extengen/administrator/components/com_extengen/tmpl/projects/default_batch_footer.php: -------------------------------------------------------------------------------- 1 | 15 | 18 | 21 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/joomla.asset.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", 3 | "name": "com_extengen", 4 | "version": "4.0.0", 5 | "description": "Extension Generator", 6 | "license": "GPL-3.0-or-later", 7 | "assets": [ 8 | { 9 | "name": "com_extengen.admin-projects-modal", 10 | "type": "script", 11 | "uri": "com_extengen/admin-projects-modal.js", 12 | "dependencies": [ 13 | "core" 14 | ], 15 | "attributes": { 16 | "type": "module" 17 | }, 18 | "version": "b0a8df19948936e693d5c710d22673ed9ad760a3" 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/admin-extengen-letter.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function(){ 2 | "use strict"; 3 | if (document.formvalidator) { 4 | document.formvalidator.setHandler('letter', function (value) { 5 | 6 | var returnedValue = false; 7 | 8 | var regex = /^([a-z]+)$/i; 9 | 10 | if (regex.test(value)) 11 | returnedValue = true; 12 | 13 | return returnedValue; 14 | }); 15 | //console.log(document.formvalidator); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/admin-projectform-ER1.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Projectform specific JS for ER1 3 | * 4 | * @copyright Copyright (C) 2023+, Yepr, Herman Peeren. All rights reserved. 5 | * @license GNU General Public License version 3 or later; see LICENSE.txt 6 | */ 7 | 8 | // Per meta-language we have an objectReferencerMap: 9 | // a map of all objects that can be referenced and the object (referencer), possibly higher in the hierarchy, that has the name and id 10 | // If the referencer is the same as the referenced object, then it is left out of this map. 11 | // 12 | // Here is the map in ER1, used to define (CRUD-)Joomla-extensions: 13 | 14 | let objectReferencerMap = new Map; 15 | objectReferencerMap.set('IndexPage', 'Page'); 16 | objectReferencerMap.set('DetailsPage', 'Page'); 17 | // There is no map necessary for Properties and References, for we only refer to Fields in general 18 | /*objectReferencerMap.set('Property', 'Field'); 19 | objectReferencerMap.set('Reference', 'Field');*/ 20 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/admin-projectform-LIonCore_M3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Projectform specific JS forLIonCore_M3 3 | * 4 | * @copyright Copyright (C) 2023+, Yepr, Herman Peeren. All rights reserved. 5 | * @license GNU General Public License version 3 or later; see LICENSE.txt 6 | */ 7 | 8 | // Per meta-language we have an objectReferencerMap: 9 | // a map of all objects that can be referenced and the object (referencer), possibly higher in the hierarchy, that has the name and id. 10 | // If the referencer is the same as the referenced object, then it is left out of this map. 11 | // 12 | // Here is the map in LIonCore_M3, used to define other languages: 13 | let objectReferencerMap = new Map; 14 | objectReferencerMap.set('Concept', 'LanguageEntity'); 15 | objectReferencerMap.set('ConceptInterface', 'LanguageEntity'); 16 | objectReferencerMap.set('Annotation', 'LanguageEntity'); 17 | objectReferencerMap.set('DataType', 'LanguageEntity'); 18 | // There are no references to Features in LIonCore_M3 19 | /* 20 | objectReferencerMap.set('Property', 'Feature'); 21 | objectReferencerMap.set('Reference', 'Feature'); 22 | objectReferencerMap.set('Containment', 'Feature');*/ 23 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/.bin/uuid: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | exec "$basedir/node" "$basedir/../uuid/dist/bin/uuid" "$@" 10 | else 11 | exec node "$basedir/../uuid/dist/bin/uuid" "$@" 12 | fi 13 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/.bin/uuid.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\uuid\dist\bin\uuid" %* 18 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/.bin/uuid.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../uuid/dist/bin/uuid" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../uuid/dist/bin/uuid" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../uuid/dist/bin/uuid" $args 23 | } else { 24 | & "node$exe" "$basedir/../uuid/dist/bin/uuid" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/.package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "node_modules/uuid": { 7 | "version": "9.0.0", 8 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", 9 | "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", 10 | "bin": { 11 | "uuid": "dist/bin/uuid" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library! 4 | 5 | ## Testing 6 | 7 | ```shell 8 | npm test 9 | ``` 10 | 11 | ## Releasing 12 | 13 | Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version): 14 | 15 | ```shell 16 | npm run release -- --dry-run # verify output manually 17 | npm run release # follow the instructions from the output of this command 18 | ``` 19 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010-2020 Robert Kieffer and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/bin/uuid: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require('../uuid-bin'); 3 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | Object.defineProperty(exports, "NIL", { 7 | enumerable: true, 8 | get: function get() { 9 | return _nil.default; 10 | } 11 | }); 12 | Object.defineProperty(exports, "parse", { 13 | enumerable: true, 14 | get: function get() { 15 | return _parse.default; 16 | } 17 | }); 18 | Object.defineProperty(exports, "stringify", { 19 | enumerable: true, 20 | get: function get() { 21 | return _stringify.default; 22 | } 23 | }); 24 | Object.defineProperty(exports, "v1", { 25 | enumerable: true, 26 | get: function get() { 27 | return _v.default; 28 | } 29 | }); 30 | Object.defineProperty(exports, "v3", { 31 | enumerable: true, 32 | get: function get() { 33 | return _v2.default; 34 | } 35 | }); 36 | Object.defineProperty(exports, "v4", { 37 | enumerable: true, 38 | get: function get() { 39 | return _v3.default; 40 | } 41 | }); 42 | Object.defineProperty(exports, "v5", { 43 | enumerable: true, 44 | get: function get() { 45 | return _v4.default; 46 | } 47 | }); 48 | Object.defineProperty(exports, "validate", { 49 | enumerable: true, 50 | get: function get() { 51 | return _validate.default; 52 | } 53 | }); 54 | Object.defineProperty(exports, "version", { 55 | enumerable: true, 56 | get: function get() { 57 | return _version.default; 58 | } 59 | }); 60 | 61 | var _v = _interopRequireDefault(require("./v1.js")); 62 | 63 | var _v2 = _interopRequireDefault(require("./v3.js")); 64 | 65 | var _v3 = _interopRequireDefault(require("./v4.js")); 66 | 67 | var _v4 = _interopRequireDefault(require("./v5.js")); 68 | 69 | var _nil = _interopRequireDefault(require("./nil.js")); 70 | 71 | var _version = _interopRequireDefault(require("./version.js")); 72 | 73 | var _validate = _interopRequireDefault(require("./validate.js")); 74 | 75 | var _stringify = _interopRequireDefault(require("./stringify.js")); 76 | 77 | var _parse = _interopRequireDefault(require("./parse.js")); 78 | 79 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/native.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 8 | var _default = { 9 | randomUUID 10 | }; 11 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/nil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = '00000000-0000-0000-0000-000000000000'; 8 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/parse.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _validate = _interopRequireDefault(require("./validate.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function parse(uuid) { 13 | if (!(0, _validate.default)(uuid)) { 14 | throw TypeError('Invalid UUID'); 15 | } 16 | 17 | let v; 18 | const arr = new Uint8Array(16); // Parse ########-....-....-....-............ 19 | 20 | arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; 21 | arr[1] = v >>> 16 & 0xff; 22 | arr[2] = v >>> 8 & 0xff; 23 | arr[3] = v & 0xff; // Parse ........-####-....-....-............ 24 | 25 | arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; 26 | arr[5] = v & 0xff; // Parse ........-....-####-....-............ 27 | 28 | arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; 29 | arr[7] = v & 0xff; // Parse ........-....-....-####-............ 30 | 31 | arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; 32 | arr[9] = v & 0xff; // Parse ........-....-....-....-############ 33 | // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) 34 | 35 | arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; 36 | arr[11] = v / 0x100000000 & 0xff; 37 | arr[12] = v >>> 24 & 0xff; 38 | arr[13] = v >>> 16 & 0xff; 39 | arr[14] = v >>> 8 & 0xff; 40 | arr[15] = v & 0xff; 41 | return arr; 42 | } 43 | 44 | var _default = parse; 45 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; 8 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/rng.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = rng; 7 | // Unique ID creation requires a high quality random # generator. In the browser we therefore 8 | // require the crypto API and do not support built-in fallback to lower quality random number 9 | // generators (like Math.random()). 10 | let getRandomValues; 11 | const rnds8 = new Uint8Array(16); 12 | 13 | function rng() { 14 | // lazy load so that environments that need to polyfill have a chance to do so 15 | if (!getRandomValues) { 16 | // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. 17 | getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); 18 | 19 | if (!getRandomValues) { 20 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); 21 | } 22 | } 23 | 24 | return getRandomValues(rnds8); 25 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/stringify.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | exports.unsafeStringify = unsafeStringify; 8 | 9 | var _validate = _interopRequireDefault(require("./validate.js")); 10 | 11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 12 | 13 | /** 14 | * Convert array of 16 byte values to UUID string format of the form: 15 | * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 16 | */ 17 | const byteToHex = []; 18 | 19 | for (let i = 0; i < 256; ++i) { 20 | byteToHex.push((i + 0x100).toString(16).slice(1)); 21 | } 22 | 23 | function unsafeStringify(arr, offset = 0) { 24 | // Note: Be careful editing this code! It's been tuned for performance 25 | // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 26 | return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); 27 | } 28 | 29 | function stringify(arr, offset = 0) { 30 | const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one 31 | // of the following: 32 | // - One or more input array values don't map to a hex octet (leading to 33 | // "undefined" in the uuid) 34 | // - Invalid input values for the RFC `version` or `variant` fields 35 | 36 | if (!(0, _validate.default)(uuid)) { 37 | throw TypeError('Stringified UUID is invalid'); 38 | } 39 | 40 | return uuid; 41 | } 42 | 43 | var _default = stringify; 44 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/v3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _md = _interopRequireDefault(require("./md5.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v3 = (0, _v.default)('v3', 0x30, _md.default); 15 | var _default = v3; 16 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/v4.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _native = _interopRequireDefault(require("./native.js")); 9 | 10 | var _rng = _interopRequireDefault(require("./rng.js")); 11 | 12 | var _stringify = require("./stringify.js"); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15 | 16 | function v4(options, buf, offset) { 17 | if (_native.default.randomUUID && !buf && !options) { 18 | return _native.default.randomUUID(); 19 | } 20 | 21 | options = options || {}; 22 | 23 | const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 24 | 25 | 26 | rnds[6] = rnds[6] & 0x0f | 0x40; 27 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 28 | 29 | if (buf) { 30 | offset = offset || 0; 31 | 32 | for (let i = 0; i < 16; ++i) { 33 | buf[offset + i] = rnds[i]; 34 | } 35 | 36 | return buf; 37 | } 38 | 39 | return (0, _stringify.unsafeStringify)(rnds); 40 | } 41 | 42 | var _default = v4; 43 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/v5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _sha = _interopRequireDefault(require("./sha1.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v5 = (0, _v.default)('v5', 0x50, _sha.default); 15 | var _default = v5; 16 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/validate.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _regex = _interopRequireDefault(require("./regex.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function validate(uuid) { 13 | return typeof uuid === 'string' && _regex.default.test(uuid); 14 | } 15 | 16 | var _default = validate; 17 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/commonjs-browser/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _validate = _interopRequireDefault(require("./validate.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function version(uuid) { 13 | if (!(0, _validate.default)(uuid)) { 14 | throw TypeError('Invalid UUID'); 15 | } 16 | 17 | return parseInt(uuid.slice(14, 15), 16); 18 | } 19 | 20 | var _default = version; 21 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/index.js: -------------------------------------------------------------------------------- 1 | export { default as v1 } from './v1.js'; 2 | export { default as v3 } from './v3.js'; 3 | export { default as v4 } from './v4.js'; 4 | export { default as v5 } from './v5.js'; 5 | export { default as NIL } from './nil.js'; 6 | export { default as version } from './version.js'; 7 | export { default as validate } from './validate.js'; 8 | export { default as stringify } from './stringify.js'; 9 | export { default as parse } from './parse.js'; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/native.js: -------------------------------------------------------------------------------- 1 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 2 | export default { 3 | randomUUID 4 | }; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/parse.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function parse(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | let v; 9 | const arr = new Uint8Array(16); // Parse ########-....-....-....-............ 10 | 11 | arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; 12 | arr[1] = v >>> 16 & 0xff; 13 | arr[2] = v >>> 8 & 0xff; 14 | arr[3] = v & 0xff; // Parse ........-####-....-....-............ 15 | 16 | arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; 17 | arr[5] = v & 0xff; // Parse ........-....-####-....-............ 18 | 19 | arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; 20 | arr[7] = v & 0xff; // Parse ........-....-....-####-............ 21 | 22 | arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; 23 | arr[9] = v & 0xff; // Parse ........-....-....-....-############ 24 | // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) 25 | 26 | arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; 27 | arr[11] = v / 0x100000000 & 0xff; 28 | arr[12] = v >>> 24 & 0xff; 29 | arr[13] = v >>> 16 & 0xff; 30 | arr[14] = v >>> 8 & 0xff; 31 | arr[15] = v & 0xff; 32 | return arr; 33 | } 34 | 35 | export default parse; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/regex.js: -------------------------------------------------------------------------------- 1 | export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/rng.js: -------------------------------------------------------------------------------- 1 | // Unique ID creation requires a high quality random # generator. In the browser we therefore 2 | // require the crypto API and do not support built-in fallback to lower quality random number 3 | // generators (like Math.random()). 4 | let getRandomValues; 5 | const rnds8 = new Uint8Array(16); 6 | export default function rng() { 7 | // lazy load so that environments that need to polyfill have a chance to do so 8 | if (!getRandomValues) { 9 | // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. 10 | getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); 11 | 12 | if (!getRandomValues) { 13 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); 14 | } 15 | } 16 | 17 | return getRandomValues(rnds8); 18 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/stringify.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | /** 3 | * Convert array of 16 byte values to UUID string format of the form: 4 | * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 5 | */ 6 | 7 | const byteToHex = []; 8 | 9 | for (let i = 0; i < 256; ++i) { 10 | byteToHex.push((i + 0x100).toString(16).slice(1)); 11 | } 12 | 13 | export function unsafeStringify(arr, offset = 0) { 14 | // Note: Be careful editing this code! It's been tuned for performance 15 | // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 16 | return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); 17 | } 18 | 19 | function stringify(arr, offset = 0) { 20 | const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one 21 | // of the following: 22 | // - One or more input array values don't map to a hex octet (leading to 23 | // "undefined" in the uuid) 24 | // - Invalid input values for the RFC `version` or `variant` fields 25 | 26 | if (!validate(uuid)) { 27 | throw TypeError('Stringified UUID is invalid'); 28 | } 29 | 30 | return uuid; 31 | } 32 | 33 | export default stringify; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/v3.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import md5 from './md5.js'; 3 | const v3 = v35('v3', 0x30, md5); 4 | export default v3; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/v35.js: -------------------------------------------------------------------------------- 1 | import { unsafeStringify } from './stringify.js'; 2 | import parse from './parse.js'; 3 | 4 | function stringToBytes(str) { 5 | str = unescape(encodeURIComponent(str)); // UTF8 escape 6 | 7 | const bytes = []; 8 | 9 | for (let i = 0; i < str.length; ++i) { 10 | bytes.push(str.charCodeAt(i)); 11 | } 12 | 13 | return bytes; 14 | } 15 | 16 | export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 17 | export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 18 | export default function v35(name, version, hashfunc) { 19 | function generateUUID(value, namespace, buf, offset) { 20 | var _namespace; 21 | 22 | if (typeof value === 'string') { 23 | value = stringToBytes(value); 24 | } 25 | 26 | if (typeof namespace === 'string') { 27 | namespace = parse(namespace); 28 | } 29 | 30 | if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { 31 | throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); 32 | } // Compute hash of namespace and value, Per 4.3 33 | // Future: Use spread syntax when supported on all platforms, e.g. `bytes = 34 | // hashfunc([...namespace, ... value])` 35 | 36 | 37 | let bytes = new Uint8Array(16 + value.length); 38 | bytes.set(namespace); 39 | bytes.set(value, namespace.length); 40 | bytes = hashfunc(bytes); 41 | bytes[6] = bytes[6] & 0x0f | version; 42 | bytes[8] = bytes[8] & 0x3f | 0x80; 43 | 44 | if (buf) { 45 | offset = offset || 0; 46 | 47 | for (let i = 0; i < 16; ++i) { 48 | buf[offset + i] = bytes[i]; 49 | } 50 | 51 | return buf; 52 | } 53 | 54 | return unsafeStringify(bytes); 55 | } // Function#name is not settable on some platforms (#270) 56 | 57 | 58 | try { 59 | generateUUID.name = name; // eslint-disable-next-line no-empty 60 | } catch (err) {} // For CommonJS default export support 61 | 62 | 63 | generateUUID.DNS = DNS; 64 | generateUUID.URL = URL; 65 | return generateUUID; 66 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/v4.js: -------------------------------------------------------------------------------- 1 | import native from './native.js'; 2 | import rng from './rng.js'; 3 | import { unsafeStringify } from './stringify.js'; 4 | 5 | function v4(options, buf, offset) { 6 | if (native.randomUUID && !buf && !options) { 7 | return native.randomUUID(); 8 | } 9 | 10 | options = options || {}; 11 | const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 12 | 13 | rnds[6] = rnds[6] & 0x0f | 0x40; 14 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 15 | 16 | if (buf) { 17 | offset = offset || 0; 18 | 19 | for (let i = 0; i < 16; ++i) { 20 | buf[offset + i] = rnds[i]; 21 | } 22 | 23 | return buf; 24 | } 25 | 26 | return unsafeStringify(rnds); 27 | } 28 | 29 | export default v4; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/v5.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import sha1 from './sha1.js'; 3 | const v5 = v35('v5', 0x50, sha1); 4 | export default v5; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | 3 | function validate(uuid) { 4 | return typeof uuid === 'string' && REGEX.test(uuid); 5 | } 6 | 7 | export default validate; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-browser/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function version(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | return parseInt(uuid.slice(14, 15), 16); 9 | } 10 | 11 | export default version; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/index.js: -------------------------------------------------------------------------------- 1 | export { default as v1 } from './v1.js'; 2 | export { default as v3 } from './v3.js'; 3 | export { default as v4 } from './v4.js'; 4 | export { default as v5 } from './v5.js'; 5 | export { default as NIL } from './nil.js'; 6 | export { default as version } from './version.js'; 7 | export { default as validate } from './validate.js'; 8 | export { default as stringify } from './stringify.js'; 9 | export { default as parse } from './parse.js'; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/md5.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | 3 | function md5(bytes) { 4 | if (Array.isArray(bytes)) { 5 | bytes = Buffer.from(bytes); 6 | } else if (typeof bytes === 'string') { 7 | bytes = Buffer.from(bytes, 'utf8'); 8 | } 9 | 10 | return crypto.createHash('md5').update(bytes).digest(); 11 | } 12 | 13 | export default md5; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/native.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | export default { 3 | randomUUID: crypto.randomUUID 4 | }; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/nil.js: -------------------------------------------------------------------------------- 1 | export default '00000000-0000-0000-0000-000000000000'; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/parse.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function parse(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | let v; 9 | const arr = new Uint8Array(16); // Parse ########-....-....-....-............ 10 | 11 | arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; 12 | arr[1] = v >>> 16 & 0xff; 13 | arr[2] = v >>> 8 & 0xff; 14 | arr[3] = v & 0xff; // Parse ........-####-....-....-............ 15 | 16 | arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; 17 | arr[5] = v & 0xff; // Parse ........-....-####-....-............ 18 | 19 | arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; 20 | arr[7] = v & 0xff; // Parse ........-....-....-####-............ 21 | 22 | arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; 23 | arr[9] = v & 0xff; // Parse ........-....-....-....-############ 24 | // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) 25 | 26 | arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; 27 | arr[11] = v / 0x100000000 & 0xff; 28 | arr[12] = v >>> 24 & 0xff; 29 | arr[13] = v >>> 16 & 0xff; 30 | arr[14] = v >>> 8 & 0xff; 31 | arr[15] = v & 0xff; 32 | return arr; 33 | } 34 | 35 | export default parse; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/regex.js: -------------------------------------------------------------------------------- 1 | export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/rng.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate 3 | 4 | let poolPtr = rnds8Pool.length; 5 | export default function rng() { 6 | if (poolPtr > rnds8Pool.length - 16) { 7 | crypto.randomFillSync(rnds8Pool); 8 | poolPtr = 0; 9 | } 10 | 11 | return rnds8Pool.slice(poolPtr, poolPtr += 16); 12 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/sha1.js: -------------------------------------------------------------------------------- 1 | import crypto from 'crypto'; 2 | 3 | function sha1(bytes) { 4 | if (Array.isArray(bytes)) { 5 | bytes = Buffer.from(bytes); 6 | } else if (typeof bytes === 'string') { 7 | bytes = Buffer.from(bytes, 'utf8'); 8 | } 9 | 10 | return crypto.createHash('sha1').update(bytes).digest(); 11 | } 12 | 13 | export default sha1; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/stringify.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | /** 3 | * Convert array of 16 byte values to UUID string format of the form: 4 | * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 5 | */ 6 | 7 | const byteToHex = []; 8 | 9 | for (let i = 0; i < 256; ++i) { 10 | byteToHex.push((i + 0x100).toString(16).slice(1)); 11 | } 12 | 13 | export function unsafeStringify(arr, offset = 0) { 14 | // Note: Be careful editing this code! It's been tuned for performance 15 | // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 16 | return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); 17 | } 18 | 19 | function stringify(arr, offset = 0) { 20 | const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one 21 | // of the following: 22 | // - One or more input array values don't map to a hex octet (leading to 23 | // "undefined" in the uuid) 24 | // - Invalid input values for the RFC `version` or `variant` fields 25 | 26 | if (!validate(uuid)) { 27 | throw TypeError('Stringified UUID is invalid'); 28 | } 29 | 30 | return uuid; 31 | } 32 | 33 | export default stringify; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/v3.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import md5 from './md5.js'; 3 | const v3 = v35('v3', 0x30, md5); 4 | export default v3; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/v35.js: -------------------------------------------------------------------------------- 1 | import { unsafeStringify } from './stringify.js'; 2 | import parse from './parse.js'; 3 | 4 | function stringToBytes(str) { 5 | str = unescape(encodeURIComponent(str)); // UTF8 escape 6 | 7 | const bytes = []; 8 | 9 | for (let i = 0; i < str.length; ++i) { 10 | bytes.push(str.charCodeAt(i)); 11 | } 12 | 13 | return bytes; 14 | } 15 | 16 | export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; 17 | export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; 18 | export default function v35(name, version, hashfunc) { 19 | function generateUUID(value, namespace, buf, offset) { 20 | var _namespace; 21 | 22 | if (typeof value === 'string') { 23 | value = stringToBytes(value); 24 | } 25 | 26 | if (typeof namespace === 'string') { 27 | namespace = parse(namespace); 28 | } 29 | 30 | if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { 31 | throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); 32 | } // Compute hash of namespace and value, Per 4.3 33 | // Future: Use spread syntax when supported on all platforms, e.g. `bytes = 34 | // hashfunc([...namespace, ... value])` 35 | 36 | 37 | let bytes = new Uint8Array(16 + value.length); 38 | bytes.set(namespace); 39 | bytes.set(value, namespace.length); 40 | bytes = hashfunc(bytes); 41 | bytes[6] = bytes[6] & 0x0f | version; 42 | bytes[8] = bytes[8] & 0x3f | 0x80; 43 | 44 | if (buf) { 45 | offset = offset || 0; 46 | 47 | for (let i = 0; i < 16; ++i) { 48 | buf[offset + i] = bytes[i]; 49 | } 50 | 51 | return buf; 52 | } 53 | 54 | return unsafeStringify(bytes); 55 | } // Function#name is not settable on some platforms (#270) 56 | 57 | 58 | try { 59 | generateUUID.name = name; // eslint-disable-next-line no-empty 60 | } catch (err) {} // For CommonJS default export support 61 | 62 | 63 | generateUUID.DNS = DNS; 64 | generateUUID.URL = URL; 65 | return generateUUID; 66 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/v4.js: -------------------------------------------------------------------------------- 1 | import native from './native.js'; 2 | import rng from './rng.js'; 3 | import { unsafeStringify } from './stringify.js'; 4 | 5 | function v4(options, buf, offset) { 6 | if (native.randomUUID && !buf && !options) { 7 | return native.randomUUID(); 8 | } 9 | 10 | options = options || {}; 11 | const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 12 | 13 | rnds[6] = rnds[6] & 0x0f | 0x40; 14 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 15 | 16 | if (buf) { 17 | offset = offset || 0; 18 | 19 | for (let i = 0; i < 16; ++i) { 20 | buf[offset + i] = rnds[i]; 21 | } 22 | 23 | return buf; 24 | } 25 | 26 | return unsafeStringify(rnds); 27 | } 28 | 29 | export default v4; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/v5.js: -------------------------------------------------------------------------------- 1 | import v35 from './v35.js'; 2 | import sha1 from './sha1.js'; 3 | const v5 = v35('v5', 0x50, sha1); 4 | export default v5; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/validate.js: -------------------------------------------------------------------------------- 1 | import REGEX from './regex.js'; 2 | 3 | function validate(uuid) { 4 | return typeof uuid === 'string' && REGEX.test(uuid); 5 | } 6 | 7 | export default validate; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/esm-node/version.js: -------------------------------------------------------------------------------- 1 | import validate from './validate.js'; 2 | 3 | function version(uuid) { 4 | if (!validate(uuid)) { 5 | throw TypeError('Invalid UUID'); 6 | } 7 | 8 | return parseInt(uuid.slice(14, 15), 16); 9 | } 10 | 11 | export default version; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | Object.defineProperty(exports, "NIL", { 7 | enumerable: true, 8 | get: function () { 9 | return _nil.default; 10 | } 11 | }); 12 | Object.defineProperty(exports, "parse", { 13 | enumerable: true, 14 | get: function () { 15 | return _parse.default; 16 | } 17 | }); 18 | Object.defineProperty(exports, "stringify", { 19 | enumerable: true, 20 | get: function () { 21 | return _stringify.default; 22 | } 23 | }); 24 | Object.defineProperty(exports, "v1", { 25 | enumerable: true, 26 | get: function () { 27 | return _v.default; 28 | } 29 | }); 30 | Object.defineProperty(exports, "v3", { 31 | enumerable: true, 32 | get: function () { 33 | return _v2.default; 34 | } 35 | }); 36 | Object.defineProperty(exports, "v4", { 37 | enumerable: true, 38 | get: function () { 39 | return _v3.default; 40 | } 41 | }); 42 | Object.defineProperty(exports, "v5", { 43 | enumerable: true, 44 | get: function () { 45 | return _v4.default; 46 | } 47 | }); 48 | Object.defineProperty(exports, "validate", { 49 | enumerable: true, 50 | get: function () { 51 | return _validate.default; 52 | } 53 | }); 54 | Object.defineProperty(exports, "version", { 55 | enumerable: true, 56 | get: function () { 57 | return _version.default; 58 | } 59 | }); 60 | 61 | var _v = _interopRequireDefault(require("./v1.js")); 62 | 63 | var _v2 = _interopRequireDefault(require("./v3.js")); 64 | 65 | var _v3 = _interopRequireDefault(require("./v4.js")); 66 | 67 | var _v4 = _interopRequireDefault(require("./v5.js")); 68 | 69 | var _nil = _interopRequireDefault(require("./nil.js")); 70 | 71 | var _version = _interopRequireDefault(require("./version.js")); 72 | 73 | var _validate = _interopRequireDefault(require("./validate.js")); 74 | 75 | var _stringify = _interopRequireDefault(require("./stringify.js")); 76 | 77 | var _parse = _interopRequireDefault(require("./parse.js")); 78 | 79 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/md5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function md5(bytes) { 13 | if (Array.isArray(bytes)) { 14 | bytes = Buffer.from(bytes); 15 | } else if (typeof bytes === 'string') { 16 | bytes = Buffer.from(bytes, 'utf8'); 17 | } 18 | 19 | return _crypto.default.createHash('md5').update(bytes).digest(); 20 | } 21 | 22 | var _default = md5; 23 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/native-browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 8 | var _default = { 9 | randomUUID 10 | }; 11 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/native.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | var _default = { 13 | randomUUID: _crypto.default.randomUUID 14 | }; 15 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/nil.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = '00000000-0000-0000-0000-000000000000'; 8 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/parse.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _validate = _interopRequireDefault(require("./validate.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function parse(uuid) { 13 | if (!(0, _validate.default)(uuid)) { 14 | throw TypeError('Invalid UUID'); 15 | } 16 | 17 | let v; 18 | const arr = new Uint8Array(16); // Parse ########-....-....-....-............ 19 | 20 | arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; 21 | arr[1] = v >>> 16 & 0xff; 22 | arr[2] = v >>> 8 & 0xff; 23 | arr[3] = v & 0xff; // Parse ........-####-....-....-............ 24 | 25 | arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; 26 | arr[5] = v & 0xff; // Parse ........-....-####-....-............ 27 | 28 | arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; 29 | arr[7] = v & 0xff; // Parse ........-....-....-####-............ 30 | 31 | arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; 32 | arr[9] = v & 0xff; // Parse ........-....-....-....-############ 33 | // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) 34 | 35 | arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; 36 | arr[11] = v / 0x100000000 & 0xff; 37 | arr[12] = v >>> 24 & 0xff; 38 | arr[13] = v >>> 16 & 0xff; 39 | arr[14] = v >>> 8 & 0xff; 40 | arr[15] = v & 0xff; 41 | return arr; 42 | } 43 | 44 | var _default = parse; 45 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/regex.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; 8 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/rng-browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = rng; 7 | // Unique ID creation requires a high quality random # generator. In the browser we therefore 8 | // require the crypto API and do not support built-in fallback to lower quality random number 9 | // generators (like Math.random()). 10 | let getRandomValues; 11 | const rnds8 = new Uint8Array(16); 12 | 13 | function rng() { 14 | // lazy load so that environments that need to polyfill have a chance to do so 15 | if (!getRandomValues) { 16 | // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. 17 | getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); 18 | 19 | if (!getRandomValues) { 20 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); 21 | } 22 | } 23 | 24 | return getRandomValues(rnds8); 25 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/rng.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = rng; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate 13 | 14 | let poolPtr = rnds8Pool.length; 15 | 16 | function rng() { 17 | if (poolPtr > rnds8Pool.length - 16) { 18 | _crypto.default.randomFillSync(rnds8Pool); 19 | 20 | poolPtr = 0; 21 | } 22 | 23 | return rnds8Pool.slice(poolPtr, poolPtr += 16); 24 | } -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/sha1.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _crypto = _interopRequireDefault(require("crypto")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function sha1(bytes) { 13 | if (Array.isArray(bytes)) { 14 | bytes = Buffer.from(bytes); 15 | } else if (typeof bytes === 'string') { 16 | bytes = Buffer.from(bytes, 'utf8'); 17 | } 18 | 19 | return _crypto.default.createHash('sha1').update(bytes).digest(); 20 | } 21 | 22 | var _default = sha1; 23 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/stringify.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | exports.unsafeStringify = unsafeStringify; 8 | 9 | var _validate = _interopRequireDefault(require("./validate.js")); 10 | 11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 12 | 13 | /** 14 | * Convert array of 16 byte values to UUID string format of the form: 15 | * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 16 | */ 17 | const byteToHex = []; 18 | 19 | for (let i = 0; i < 256; ++i) { 20 | byteToHex.push((i + 0x100).toString(16).slice(1)); 21 | } 22 | 23 | function unsafeStringify(arr, offset = 0) { 24 | // Note: Be careful editing this code! It's been tuned for performance 25 | // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 26 | return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); 27 | } 28 | 29 | function stringify(arr, offset = 0) { 30 | const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one 31 | // of the following: 32 | // - One or more input array values don't map to a hex octet (leading to 33 | // "undefined" in the uuid) 34 | // - Invalid input values for the RFC `version` or `variant` fields 35 | 36 | if (!(0, _validate.default)(uuid)) { 37 | throw TypeError('Stringified UUID is invalid'); 38 | } 39 | 40 | return uuid; 41 | } 42 | 43 | var _default = stringify; 44 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/v3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _md = _interopRequireDefault(require("./md5.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v3 = (0, _v.default)('v3', 0x30, _md.default); 15 | var _default = v3; 16 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/v4.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _native = _interopRequireDefault(require("./native.js")); 9 | 10 | var _rng = _interopRequireDefault(require("./rng.js")); 11 | 12 | var _stringify = require("./stringify.js"); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15 | 16 | function v4(options, buf, offset) { 17 | if (_native.default.randomUUID && !buf && !options) { 18 | return _native.default.randomUUID(); 19 | } 20 | 21 | options = options || {}; 22 | 23 | const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 24 | 25 | 26 | rnds[6] = rnds[6] & 0x0f | 0x40; 27 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 28 | 29 | if (buf) { 30 | offset = offset || 0; 31 | 32 | for (let i = 0; i < 16; ++i) { 33 | buf[offset + i] = rnds[i]; 34 | } 35 | 36 | return buf; 37 | } 38 | 39 | return (0, _stringify.unsafeStringify)(rnds); 40 | } 41 | 42 | var _default = v4; 43 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/v5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _v = _interopRequireDefault(require("./v35.js")); 9 | 10 | var _sha = _interopRequireDefault(require("./sha1.js")); 11 | 12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13 | 14 | const v5 = (0, _v.default)('v5', 0x50, _sha.default); 15 | var _default = v5; 16 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/validate.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _regex = _interopRequireDefault(require("./regex.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function validate(uuid) { 13 | return typeof uuid === 'string' && _regex.default.test(uuid); 14 | } 15 | 16 | var _default = validate; 17 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/dist/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.default = void 0; 7 | 8 | var _validate = _interopRequireDefault(require("./validate.js")); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function version(uuid) { 13 | if (!(0, _validate.default)(uuid)) { 14 | throw TypeError('Invalid UUID'); 15 | } 16 | 17 | return parseInt(uuid.slice(14, 15), 16); 18 | } 19 | 20 | var _default = version; 21 | exports.default = _default; -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/node_modules/uuid/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import uuid from './dist/index.js'; 2 | export const v1 = uuid.v1; 3 | export const v3 = uuid.v3; 4 | export const v4 = uuid.v4; 5 | export const v5 = uuid.v5; 6 | export const NIL = uuid.NIL; 7 | export const version = uuid.version; 8 | export const validate = uuid.validate; 9 | export const stringify = uuid.stringify; 10 | export const parse = uuid.parse; 11 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "js", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "uuid": "^9.0.0" 9 | } 10 | }, 11 | "node_modules/uuid": { 12 | "version": "9.0.0", 13 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", 14 | "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", 15 | "bin": { 16 | "uuid": "dist/bin/uuid" 17 | } 18 | } 19 | }, 20 | "dependencies": { 21 | "uuid": { 22 | "version": "9.0.0", 23 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", 24 | "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/com_extengen/media/com_extengen/js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "uuid": "^9.0.0" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/libraries/yepr/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "twig/twig":"^3.0" 4 | } 5 | } --------------------------------------------------------------------------------