Erstes Joomla-Modul
This commit is contained in:
1
assets/css/jstree.min.css
vendored
Normal file
1
assets/css/jstree.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
assets/css/pdfexplorer.css
Normal file
7
assets/css/pdfexplorer.css
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#pdfexplorer {
|
||||||
|
padding: 1em;
|
||||||
|
background: #f8f9fa;
|
||||||
|
border-radius: 8px;
|
||||||
|
min-height: 50px;
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
3
assets/js/jstree.min.js
vendored
Normal file
3
assets/js/jstree.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
18146
assets/js/pdf.js
Normal file
18146
assets/js/pdf.js
Normal file
File diff suppressed because it is too large
Load Diff
58353
assets/js/pdf.worker.js
vendored
Normal file
58353
assets/js/pdf.worker.js
vendored
Normal file
File diff suppressed because one or more lines are too long
9
helper.php
Normal file
9
helper.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
// Keine direkten Zugriffe erlauben
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
// Placeholder für spätere Helper-Funktionen
|
||||||
|
class ModPdfexplorerHelper
|
||||||
|
{
|
||||||
|
// Hier kommen später Funktionen rein (z.B. für Rechte, Verzeichnis-Scan, etc.)
|
||||||
|
}
|
||||||
24
mod_pdfexplorer.php
Normal file
24
mod_pdfexplorer.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
// Keine direkten Zugriffe erlauben
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Helper\ModuleHelper;
|
||||||
|
|
||||||
|
// Hole die Applikation
|
||||||
|
$app = Factory::getApplication();
|
||||||
|
|
||||||
|
// Web Asset Manager holen (Joomla 4/5)
|
||||||
|
$wa = $app->getDocument()->getWebAssetManager();
|
||||||
|
|
||||||
|
// Assets einbinden
|
||||||
|
|
||||||
|
$wa->registerAndUseScript('pdfexplorer.pdfjs', 'modules/mod_pdfexplorer/assets/js/pdf.js', [], [], []);
|
||||||
|
$wa->registerAndUseScript('pdfexplorer.pdfworker', 'modules/mod_pdfexplorer/assets/js/pdf.worker.js', [], [], []);
|
||||||
|
$wa->registerAndUseScript('pdfexplorer.jstree', 'modules/mod_pdfexplorer/assets/js/jstree.min.js', [], [], []);
|
||||||
|
$wa->registerAndUseStyle('pdfexplorer.jstree', 'modules/mod_pdfexplorer/assets/css/jstree.min.css', [], []);
|
||||||
|
$wa->registerAndUseStyle('pdfexplorer.custom', 'modules/mod_pdfexplorer/assets/css/pdfexplorer.css', [], []);
|
||||||
|
|
||||||
|
// Übergib Parameter ins Template
|
||||||
|
require ModuleHelper::getLayoutPath('mod_pdfexplorer', $params->get('layout', 'default'));
|
||||||
|
|
||||||
48
mod_pdfexplorer.xml
Normal file
48
mod_pdfexplorer.xml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<extension type="module" version="4.0" client="site" method="upgrade">
|
||||||
|
<name>PDF-Explorer</name>
|
||||||
|
<creationDate>16.07.2025</creationDate>
|
||||||
|
<author>TS-IT24</author>
|
||||||
|
<authorEmail>service@ts-it24.de</authorEmail>
|
||||||
|
<authorUrl>www.ts-it24.de</authorUrl>
|
||||||
|
<copyright>Thomas Spohr</copyright>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<description>Modul für die spätere Darstellung eines PDF-Explorers mit Vorschau</description>
|
||||||
|
<files>
|
||||||
|
<filename module="mod_pdfexplorer">mod_pdfexplorer.php</filename>
|
||||||
|
<filename>helper.php</filename>
|
||||||
|
<folder>tmpl</folder>
|
||||||
|
<folder>assets</folder>
|
||||||
|
<filename>README.md</filename>
|
||||||
|
</files>
|
||||||
|
<config>
|
||||||
|
<fields name="params">
|
||||||
|
<fieldset name="basic">
|
||||||
|
<field
|
||||||
|
name="pdf_path"
|
||||||
|
type="text"
|
||||||
|
label="Pfad zum PDF-Verzeichnis"
|
||||||
|
description="Absoluter Serverpfad (außerhalb des DocumentRoot)"
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="usergroups"
|
||||||
|
type="usergrouplist"
|
||||||
|
label="Erlaubte Benutzergruppen"
|
||||||
|
description="Wähle die Benutzergruppen, die Zugriff auf den PDF-Explorer haben sollen."
|
||||||
|
multiple="true"
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="preview_option"
|
||||||
|
type="list"
|
||||||
|
label="Vorschau-Option"
|
||||||
|
description="Wie sollen PDFs im Frontend angezeigt werden?"
|
||||||
|
default="both"
|
||||||
|
>
|
||||||
|
<option value="thumbnail">Nur Thumbnail</option>
|
||||||
|
<option value="viewer">Nur PDF-Viewer</option>
|
||||||
|
<option value="both">Thumbnail + PDF-Viewer</option>
|
||||||
|
</field>
|
||||||
|
</fieldset>
|
||||||
|
</fields>
|
||||||
|
</config>
|
||||||
|
</extension>
|
||||||
BIN
pdfexplorer.zip
Normal file
BIN
pdfexplorer.zip
Normal file
Binary file not shown.
6
test.php
6
test.php
@@ -1,6 +0,0 @@
|
|||||||
<?php
|
|
||||||
phpinfo();
|
|
||||||
/* Kommentar */
|
|
||||||
/*sadfasdgf */
|
|
||||||
/* und noch ein Kommentar */
|
|
||||||
?>
|
|
||||||
21
tmpl/default.php
Normal file
21
tmpl/default.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
?>
|
||||||
|
<div id="pdfexplorer">
|
||||||
|
<h2>Hello World – PDF-Explorer Dummy-Modul</h2>
|
||||||
|
<p>Modul-Parameter:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>PDF-Pfad:</strong> <?php echo htmlspecialchars($params->get('pdf_path', '')); ?></li>
|
||||||
|
<li><strong>Erlaubte Gruppen:</strong>
|
||||||
|
<?php
|
||||||
|
$groups = $params->get('usergroups', []);
|
||||||
|
if (is_array($groups) && count($groups)) {
|
||||||
|
echo implode(', ', $groups);
|
||||||
|
} else {
|
||||||
|
echo 'Keine ausgewählt';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</li>
|
||||||
|
<li><strong>Vorschau-Option:</strong> <?php echo htmlspecialchars($params->get('preview_option', '')); ?></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user