Skip to content

Commit

Permalink
Merge pull request #55 from aeberhard/Erweiterung-ab-REDAXO-5.8
Browse files Browse the repository at this point in the history
Überarbeitung demo_addon

Ich merge hier jetzt mal. Gerne Kritik, Anregungen, Verbesserungen usw.

Die Extension-Point sind noch sehr in Arbeit und Unterstützung ist hier willkommen.
Habe alle EP's rudimentär vorbereitet dass auch schnell online hier über git dazugebastelt werden kann.

Was hier dabei rumkommt kann dann auch in die Dokumentation übernommen und z.b. auch verlinkt werden. 

Freue mich über eure Mitarbeit!

@gharlan @staabm @alexplusde @polarpixel @schuer @skerbis  usw. :)
  • Loading branch information
aeberhard authored Jun 15, 2020
2 parents edef35c + 2ea448b commit 4227dae
Show file tree
Hide file tree
Showing 323 changed files with 3,628 additions and 1,531 deletions.
64 changes: 64 additions & 0 deletions .php_cs.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php

// REDAXO-Coding-Standards
// kann z.B. mit PHPStorm, oder mit VS Code mit der Extension `php cs fixer` verwendet werden
// https://github.com/redaxo/redaxo/blob/master/.php_cs.dist

$finder = PhpCsFixer\Finder::create()
->in([__DIR__]);

return PhpCsFixer\Config::create()
->setUsingCache(true)
->setRiskyAllowed(true)
->setRules([
'@Symfony' => true,
'@Symfony:risky' => true,
'@PHP71Migration' => true,
'@PHP71Migration:risky' => true,
'@PHPUnit75Migration:risky' => true,
'array_indentation' => true,
'blank_line_before_statement' => false,
'braces' => ['allow_single_line_closure' => false],
'comment_to_phpdoc' => true,
'concat_space' => false,
'declare_strict_types' => false,
'function_to_constant' => ['functions' => ['get_class', 'get_called_class', 'php_sapi_name', 'phpversion', 'pi']],
'heredoc_to_nowdoc' => true,
'list_syntax' => ['syntax' => 'short'],
'logical_operators' => true,
'native_constant_invocation' => false,
'no_blank_lines_after_phpdoc' => false,
'no_null_property_initialization' => true,
'no_php4_constructor' => true,
'no_superfluous_elseif' => true,
'no_unreachable_default_argument_value' => true,
'no_useless_else' => true,
'no_useless_return' => true,
'ordered_class_elements' => ['order' => [
'use_trait',
'constant_public',
'constant_protected',
'constant_private',
'property',
'construct',
'phpunit',
'method',
]],
'php_unit_internal_class' => true,
'php_unit_method_casing' => true,
'php_unit_set_up_tear_down_visibility' => true,
'php_unit_test_case_static_method_calls' => true,
'phpdoc_no_package' => false,
'phpdoc_order' => true,
'phpdoc_types_order' => false,
'phpdoc_var_annotation_correct_order' => true,
'phpdoc_var_without_name' => false,
'psr4' => false,
'semicolon_after_instruction' => false,
'static_lambda' => true,
'string_line_ending' => true,
'void_return' => false,
'yoda_style' => true,
])
->setFinder($finder)
;
58 changes: 43 additions & 15 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,58 @@
# Changelog

## Version 1.2.0beta1 // 22.05.2020

Neu

- AddOn-Struktur, Navigation komplett überarbeitet/erweitert
- AddOn-Einstellungen
- klassisch Einstellungs-Seite erweitert
- Einstellungen mit rex_config_form
- Demo-Tabelle in install.php und uninstall.php
- Verwaltung der Demo-Tabelle mit rex_list und rex_form
- Klasse demo_addon_rex_form extends rex_form
- Demo-Seite für die Abfrage von AddOn-Properties hinzugefügt
- EP-Sammlung mit Beispielen im Verzeichnis pages/extensionpoints
- Logfile für Protokollierung von EP's
- Quelltexte usw. kommentiert und verlinkt auf die REDAXO-Dokumentation
- Einbinden von style.css, script.js und eps.js in der boot.php

Änderungen

- REDAXO-Version auf min. 5.10 gesetzt
- PHP-Version auf min. 7.3 gesetzt
- README geändert und Sprachversion .de hinzugefügt
- package.yml erweitert und kommentiert
- de_de.lang-Datei erweitert/angepasst/dokumentiert
- $this-> geändert in $addon->
- siehe [https://github.com/redaxo/redaxo/pull/2482](https://github.com/redaxo/redaxo/pull/2482)
- documentation-plugin entfernt

## Version 1.1.0 // xx.xx.2018

Neu

* Übersetzung es_es (Danke an @2062nandes)
* CHANGELOG.md hinzugefügt
* CSRF-Schutz Einstellungen-Seite (pages/config.php)
- Übersetzung es_es (Danke an @2062nandes)
- CHANGELOG.md hinzugefügt
- CSRF-Schutz Einstellungen-Seite (pages/config.php)

Änderungen

* REDAXO-Version auf 5.5 gesetzt (CSRF-Schutz)
* README.md angepasst
* documentation-plugin
* Link-Handling optimiert, URL-Änderung jetzt über pushState (vorher window.location), Anpassungen CSS
* Sprachwähler bei mehreren vorhanden Sprachen der Dokumentationen anzeigen. Position oben rechts in der Navigation.
* Image-Handling
* Images in Unterordner assets
* Intgegration von Images aus dem Unterordner möglich
* Externe Links in der Navigation möglich
* Dokumentation Texte angepasst, Beispiel Images in _vorlage.md, Bilder in Unterordner assets
- REDAXO-Version auf 5.5 gesetzt (CSRF-Schutz)
- README.md angepasst
- documentation-plugin
- Link-Handling optimiert, URL-Änderung jetzt über pushState (vorher window.location), Anpassungen CSS
- Sprachwähler bei mehreren vorhanden Sprachen der Dokumentationen anzeigen. Position oben rechts in der Navigation.
- Image-Handling
- Images in Unterordner assets
- Intgegration von Images aus dem Unterordner möglich
- Externe Links in der Navigation möglich
- Dokumentation Texte angepasst, Beispiel Images in _vorlage.md, Bilder in Unterordner assets

Bugfixes

* keine
- keine

## Version 1.0.0 // 28.11.2017

* Erste Veröffentlichung des Addons
- Erste Veröffentlichung des AddOns
6 changes: 3 additions & 3 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)
MIT License

Copyright (c) 2016 Friends Of REDAXO
Copyright (c) 2020 Friends Of REDAXO

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ 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.
SOFTWARE.
32 changes: 32 additions & 0 deletions README.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Beispiel-AddOn für REDAXO 5

Das AddOn `demo_addon` zeigt den Aufbau und Basisfunktionalität von AddOns und viele Beispiele von REDAXO-Funktionen zur Verwendung in eigenen AddOns. Das AddOn oder auch nur Teile davon können/sollen gerne für die Entwicklung eigener AddOns verwendet werden.
Erweiterungen des AddOns `demo_addon` gerne als PR (Pull-Request) oder Hinweise bzw. Verbesserungen als [Issue](https://github.com/FriendsOfREDAXO/demo_addon/issues).

## demo_addon in der Kurzübersicht

- dokumentierter Quellcode mit Beispielen
- dokumentierte `package.yml`
- dokumentierte .lang-Datei
- AddOn-Einstellungen (rex_config_form, klassisch)
- Beispiel einer Tabellenverwaltung mit `rex_list` und `rex_form` (inkl. Beispieltabelle)
- Beispiele für Extension Points
- `documentation`-Plugin als Basis für eine Hilfe/Dokumentation für REDAXO-AddOns

## AddOn-Entwicklung in der REDAXO-Dokumentation

- [AddOn - Aufbau und Struktur](https://redaxo.org/doku/master/addon-struktur)
- [Package (package.yml)](https://redaxo.org/doku/master/addon-package)
- [AddOn Assets (CSS, JavaScript ...)](https://redaxo.org/doku/master/addon-assets)
- [Konfigurations-Formulare für AddOns](https://redaxo.org/doku/master/konfiguration_form)
- [AddOn Veröffentlichung](https://redaxo.org/doku/master/addon-veroeffentlichung)
- [Queries - rex_sql](https://www.redaxo.org/doku/master/datenbank-queries)

## Sonstiges

- [GitHub Repository des REDAXO Cores](https://github.com/redaxo/redaxo/)
- [REDAXO 5 Dokumentation](https://redaxo.org/doku/master)
- REDAXO [API Dcumentation](https://friendsofredaxo.github.io/phpdoc/) bei Friends Of REDAXO
- FOR-AddOns [FriendsOfREDAXO](https://github.com/FriendsOfREDAXO)
- Eine Sammlung nützlicher Tricks zu REDAXO CMS ab Version 5 [REDAXO-Tricks der Friends Of REDAXO](https://friendsofredaxo.github.io/tricks)
- Bitte auch den Artikel [Änderungen REDAXO 4 zu 5](https://redaxo.org/doku/master/aenderungen-v4-v5) in der REDAXO-Dokumentation beachten!
42 changes: 26 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,32 @@
# Beispiel-Addon für REDAXO 5
# Sample AddOn for REDAXO 5

Zeigt den Aufbau und Basisfunktionalität von Addons.
The AddOn `demo_addon` shows the structure and basic functionality of AddOns and many examples of REDAXO functions for use in your own AddOns. The addon or just parts of it can / should be used for the development of your own AddOns.
Extensions to the `demo_addon` AddOn, like PR (pull request) or notes or improvements as an [issue](https://github.com/FriendsOfREDAXO/demo_addon/issues).

* `documentation`-Plugin als Basis für eine Hilfe/Dokumentation für REDAXO5-AddOns
* Hauptseite des Addons - Beschreibungen der Beispiele in einzelnen Blöcken und Hinweise auf den PHP-Code <sup><b>(todo)</b></sup>
* Quellcode dokumentieren <sup><b>(todo)</b></sup>
* Addon-Einstellungen in Tabelle `rex_config` speichern
* Beispiel einer Tabellenverwaltung mit `rex_form` (inkl. Beispieltabelle) <sup><b>(todo)</b></sup>
* Beispiel Extension Point(s) <sup><b>(todo)</b></sup>
* ...
## demo_addon in the short overview

## AddOn-Entwicklung in der REDAXO-Dokumentation
- Documented source code with examples
- documented `package.yml`
- documented .lang file
- AddOn settings (rex_config_form, classic)
- Example of a table management with `rex_list` and `rex_form` (incl. Example table)
- Examples of extension points
- `documentation` plugin as the basis for help / documentation for REDAXO add-ons

* [Aufbau und Struktur](https://redaxo.org/doku/master/addon-struktur)
* [Package (package.yml](https://redaxo.org/doku/master/addon-package)
* [Assets](https://redaxo.org/doku/master/addon-assets)
* [AddOn Veröffentlichung](https://redaxo.org/doku/master/addon-veroeffentlichung)
## AddOn development in the REDAXO documentation

## Sonstiges
- [AddOn - Structure and structure](https://redaxo.org/doku/master/addon-struktur)
- [Package (package.yml)](https://redaxo.org/doku/master/addon-package)
- [AddOn Assets (CSS, JavaScript ...)](https://redaxo.org/doku/master/addon-assets)
- [Configuration forms for AddOns](https://redaxo.org/doku/master/konfiguration_form)
- [AddOn publication](https://redaxo.org/doku/master/addon-veroeffständigung)
- [Queries - rex_sql](https://www.redaxo.org/doku/master/datenbank-queries)

Bitte auch den Artikel "[Änderungen REDAXO 4 zu 5](https://redaxo.org/doku/master/aenderungen-v4-v5)" in der REDAXO-Dokumentation beachten!
## Others

- [GitHub Repository REDAXO Core](https://github.com/redaxo/redaxo/)
- [REDAXO 5 documentation](https://redaxo.org/doku/master)
- REDAXO [API Dcumentation](https://friendsofredaxo.github.io/phpdoc/) at Friends Of REDAXO
- FOR-AddOns [FriendsOfREDAXO](https://github.com/FriendsOfREDAXO)
- A collection of useful tricks for REDAXO CMS from version 5 [REDAXO tricks of the Friends Of REDAXO](https://friendsofredaxo.github.io/tricks)
- Please also note the article [Changes to REDAXO 4 to 5](https://redaxo.org/doku/master/aenderungen-v4-v5) in the REDAXO documentation!
52 changes: 50 additions & 2 deletions assets/css/style.css
Original file line number Diff line number Diff line change
@@ -1,2 +1,50 @@
.demo_addon {
}
/*
Demo-AddOn
Diese CSS-Datei wird in der `boot.php` des AddOns `demo_addon` im Backend eingebunden (rex_view::addCssFile)
https://redaxo.org/doku/master/addon-assets
*/

/* externe Links */

a.extern:after {
color: #d4d4d4;
text-decoration: none;
font-family: 'FontAwesome';
font-size: .8em;
content: " \f08e";
}

/* Aufklappbarer Text bei der EP-Liste */

.demo-addon-section .panel header .folddown {
display: none;
}
.demo-addon-section .panel header.collapsed .folddown {
display: block;
}

.demo-addon-section .panel header .foldup {
display: block;
}
.demo-addon-section .panel header.collapsed .foldup {
display: none;
}

.demo-addon-section .panel header .folddown,
.demo-addon-section .panel header .foldup
{
background-color: inherit;
float: right;
}

/* Textblock mit Inhalt der Markdown-Datei im aufklappbaren Text */

.demo-addon-section .readme {
padding: 10px 10px 0px 10px;
}

/* Textarea-Block mit Codemirror für den PHP-Code im aufklappbaren Text */

.demo-addon-section .phpcode {
padding: 10px 10px 10px 10px;
}
33 changes: 33 additions & 0 deletions assets/js/eps.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
Demo-AddOn
Diese JavaScript-Datei wird in der `boot.php` des AddOns `demo_addon` im Backend eingebunden (rex_view::addJsFile)
https://redaxo.org/doku/master/addon-assets
*/

// jQuery closure (»Funktionsabschluss«)
// Erzeugt einen Scope, also einen privaten Bereich
// http://molily.de/javascript-core/#closures
(function ($) {

// rex:ready
// Führt Code aus, sobald der DOM vollständig geladen wurde
// https://redaxo.org/doku/master/addon-assets#rexready
$(document).on('rex:ready', function (event, container) {

/* EP-Liste - alle öffnen/schliessen */
$('a.btn-open').on('click', function (event) {
event.preventDefault();
$('.panel-collapse').collapse('show');
$('a.btn-open').hide();
$('a.btn-close').show();
});
$('a.btn-close').on('click', function (event) {
event.preventDefault();
$('.panel-collapse').collapse('hide');
$('a.btn-close').hide();
$('a.btn-open').show();
});

});

})(jQuery);
28 changes: 23 additions & 5 deletions assets/js/script.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,32 @@
/*
Demo-AddOn
Diese JavaScript-Datei wird in der `boot.php` des AddOns `demo_addon` im Backend eingebunden (rex_view::addJsFile)
https://redaxo.org/doku/master/addon-assets
*/

// jQuery closure (»Funktionsabschluss«)
// Erzeugt einen Scope, also einen privaten Bereich
// http://molily.de/javascript-core/#closures
(function ($) {

// Document Ready
// rex:ready
// Führt Code aus, sobald der DOM vollständig geladen wurde
// https://api.jquery.com/ready/
$(document).ready(function () {
// https://redaxo.org/doku/master/addon-assets#rexready
$(document).on('rex:ready', function (event, container) {

console.log('Demo-Addon');
// externe Links in neuem Fenster öffnen
$('a[href^="http://"], a[href^="https://"]').filter(function () {
// filter out links that have the same domain name as the current page
return this.hostname && this.hostname !== location.hostname;
})
// add a CSS class of "extern" to each external link (for styling)
.addClass('extern')
// inform visitor that link will open in new window
.attr({
target: '_blank',
title: function () { return this.title + '' }
});

});
})(jQuery);

})(jQuery);
Loading

0 comments on commit 4227dae

Please sign in to comment.