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