看板初始化提交

This commit is contained in:
zephyr
2026-06-01 21:23:12 -07:00
commit 27411ebedc
1827 changed files with 192340 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
<div class="page-header">
<h2><?= t('Plugin Directory') ?></h2>
</div>
<?php if (! $is_configured): ?>
<p class="alert alert-error">
<?= t('Your Kanboard instance is not configured to install plugins from the user interface.') ?>
</p>
<?php endif ?>
<?php if (empty($available_plugins)): ?>
<p class="alert"><?= t('There is no plugin available.') ?></p>
<?php else: ?>
<?php foreach ($available_plugins as $plugin_name => $plugin): ?>
<table>
<tr>
<th colspan="3">
<a href="<?= $plugin['homepage'] ?>" target="_blank" rel="noopener noreferrer"><?= $this->text->e($plugin['title']) ?></a>
</th>
</tr>
<tr>
<td class="column-40">
<?= $this->text->e($plugin['author']) ?>
</td>
<td class="column-30">
<?= $this->text->e($plugin['version']) ?>
</td>
<td>
<?php if ($is_configured): ?>
<?php if (! isset($installed_plugins[$plugin_name])): ?>
<?= $this->url->icon('cloud-download', t('Install'), 'PluginController', 'install', array('archive_url' => urlencode($plugin['download'])), true) ?>
<?php elseif ($installed_plugins[$plugin_name] < $plugin['version']): ?>
<?= $this->url->icon('refresh', t('Update'), 'PluginController', 'update', array('archive_url' => urlencode($plugin['download'])), true) ?>
<?php else: ?>
<i class="fa fa-check-circle-o" aria-hidden="true"></i>
<?= t('Up to date') ?>
<?php endif ?>
<?php else: ?>
<i class="fa fa-ban fa-fw" aria-hidden="true"></i>
<?= t('Not available') ?>
<?php endif ?>
</td>
</tr>
<tr>
<td colspan="3">
<div class="markdown">
<?= $this->text->markdown($plugin['description']) ?>
</div>
</td>
</tr>
</table>
<?php endforeach ?>
<?php endif ?>
+9
View File
@@ -0,0 +1,9 @@
<section id="main">
<section class="sidebar-container" id="config-section">
<?= $this->render($sidebar_template) ?>
<div class="sidebar-content">
<?= $content_for_sublayout ?>
</div>
</section>
</section>
+13
View File
@@ -0,0 +1,13 @@
<div class="page-header">
<h2><?= t('Remove plugin') ?></h2>
</div>
<div class="confirm">
<p class="alert alert-info"><?= t('Do you really want to remove this plugin: "%s"?', $plugin->getPluginName()) ?></p>
<?= $this->modal->confirmButtons(
'PluginController',
'uninstall',
array('pluginId' => $plugin_id)
) ?>
</div>
+80
View File
@@ -0,0 +1,80 @@
<?php if (! empty($incompatible_plugins)): ?>
<div class="page-header">
<h2><?= t('Incompatible Plugins') ?></h2>
</div>
<table>
<tr>
<th class="column-35"><?= t('Name') ?></th>
<th class="column-25"><?= t('Author') ?></th>
<th class="column-10"><?= t('Version') ?></th>
<th class="column-12"><?= t('Compatibility') ?></th>
<?php if ($is_configured): ?>
<th><?= t('Action') ?></th>
<?php endif ?>
</tr>
<?php foreach ($incompatible_plugins as $pluginFolder => $plugin): ?>
<tr>
<td>
<?php if ($plugin->getPluginHomepage()): ?>
<a href="<?= $plugin->getPluginHomepage() ?>" target="_blank" rel="noopener noreferrer"><?= $this->text->e($plugin->getPluginName()) ?></a>
<?php else: ?>
<?= $this->text->e($plugin->getPluginName()) ?>
<?php endif ?>
</td>
<td><?= $this->text->e($plugin->getPluginAuthor()) ?></td>
<td><?= $this->text->e($plugin->getPluginVersion()) ?></td>
<td><?= $this->text->e($plugin->getCompatibleVersion()) ?></td>
<?php if ($is_configured): ?>
<td>
<?= $this->modal->confirm('trash-o', t('Uninstall'), 'PluginController', 'confirm', array('pluginId' => $pluginFolder)) ?>
</td>
<?php endif ?>
</tr>
<tr>
<td colspan="<?= $is_configured ? 6 : 5 ?>"><?= $this->text->e($plugin->getPluginDescription()) ?></td>
</tr>
<?php endforeach ?>
</table>
<?php endif ?>
<div class="page-header">
<h2><?= t('Installed Plugins') ?></h2>
</div>
<?php if (empty($plugins)): ?>
<p class="alert"><?= t('There is no plugin loaded.') ?></p>
<?php else: ?>
<table>
<tr>
<th class="column-35"><?= t('Name') ?></th>
<th class="column-30"><?= t('Author') ?></th>
<th class="column-10"><?= t('Version') ?></th>
<?php if ($is_configured): ?>
<th><?= t('Action') ?></th>
<?php endif ?>
</tr>
<?php foreach ($plugins as $pluginFolder => $plugin): ?>
<tr>
<td>
<?php if ($plugin->getPluginHomepage()): ?>
<a href="<?= $plugin->getPluginHomepage() ?>" target="_blank" rel="noopener noreferrer"><?= $this->text->e($plugin->getPluginName()) ?></a>
<?php else: ?>
<?= $this->text->e($plugin->getPluginName()) ?>
<?php endif ?>
</td>
<td><?= $this->text->e($plugin->getPluginAuthor()) ?></td>
<td><?= $this->text->e($plugin->getPluginVersion()) ?></td>
<?php if ($is_configured): ?>
<td>
<?= $this->modal->confirm('trash-o', t('Uninstall'), 'PluginController', 'confirm', array('pluginId' => $pluginFolder)) ?>
</td>
<?php endif ?>
</tr>
<tr>
<td colspan="<?= $is_configured ? 4 : 3 ?>"><?= $this->text->e($plugin->getPluginDescription()) ?></td>
</tr>
<?php endforeach ?>
</table>
<?php endif ?>
+10
View File
@@ -0,0 +1,10 @@
<div class="sidebar">
<ul>
<li <?= $this->app->checkMenuSelection('PluginController', 'show') ?>>
<?= $this->url->link(t('Installed Plugins'), 'PluginController', 'show') ?>
</li>
<li <?= $this->app->checkMenuSelection('PluginController', 'directory') ?>>
<?= $this->url->link(t('Plugin Directory'), 'PluginController', 'directory') ?>
</li>
</ul>
</div>