You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

73 lines
2.3 KiB

<?php
// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
//
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id$
function wikiplugin_dl_info()
{
return [
'name' => tra('Definition List'),
'documentation' => 'PluginDL',
'description' => tra('Create a definition list'),
'prefs' => ['wikiplugin_dl'],
'body' => tr('One entry per line. Each line is in %0Term: Definition%1 format.', '<code>', '</code>'),
'iconname' => 'list',
'tags' => [ 'basic' ],
'introduced' => 1,
'params' => [
'type' => [
'required' => false,
'name' => tra('List Type'),
'description' => tra('Type of definition list (left-aligned or horizontal).'),
'since' => '16.0',
'filter' => 'text',
'safe' => true,
'advanced' => false,
'options' => [
['text' => '', 'value' => ''],
['text' => tra('Standard (left-aligned)'), 'value' => 's'],
['text' => tra('Horizontal (inline) '), 'value' => 'h'],
],
'default' => '',
],
],
];
}
function wikiplugin_dl($data, $params)
{
global $tikilib;
global $replacement;
if (isset($param)) {
extract($params, EXTR_SKIP);
}
if (isset($params["type"])) {
$dlt = $params["type"];
if ($dlt == "horizontal" or $dlt == "dl-horizontal" or $dlt == "horiz" or $dlt == "h" or $dlt == "inline") {
$result = '<dl class="dl-horizontal">';
}
if ($dlt == "left" or $dlt == "vertical" or $dlt == "standard" or $dlt == "s") {
$result = '<dl>';
}
} else {
$result = '<dl>';
}
$lines = explode("\n", $data);
foreach ($lines as $line) {
$parts = explode(":", $line, 2);
if (isset($parts[0]) && isset($parts[1])) {
$result .= '<dt>' . $parts[0] . '</dt><dd>' . $parts[1] . '</dd>';
} else {
$result .= '<dt>' . $line . '</dt>';
}
}
$result .= '</dl>';
return $result;
}