2007-06-30 01:19:11 +00:00
|
|
|
<?php
|
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
class AliasEditorTheme extends Themelet
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Show a page of aliases.
|
|
|
|
*
|
|
|
|
* Note: $can_manage = whether things like "add new alias" should be shown
|
|
|
|
*/
|
|
|
|
public function display_aliases(array $aliases, int $pageNumber, int $totalPages): void
|
|
|
|
{
|
|
|
|
global $page, $user;
|
2012-02-07 15:15:18 +00:00
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
$can_manage = $user->can("manage_alias_list");
|
|
|
|
if ($can_manage) {
|
|
|
|
$h_action = "<th width='10%'>Action</th>";
|
|
|
|
$h_add = "
|
2007-06-30 01:19:11 +00:00
|
|
|
<tr>
|
2010-09-22 11:56:19 +00:00
|
|
|
".make_form(make_link("alias/add"))."
|
2015-01-06 13:04:39 +00:00
|
|
|
<td><input type='text' name='oldtag' class='autocomplete_tags' autocomplete='off'></td>
|
|
|
|
<td><input type='text' name='newtag' class='autocomplete_tags' autocomplete='off'></td>
|
2007-06-30 01:19:11 +00:00
|
|
|
<td><input type='submit' value='Add'></td>
|
|
|
|
</form>
|
|
|
|
</tr>
|
|
|
|
";
|
2019-05-28 16:59:38 +00:00
|
|
|
} else {
|
|
|
|
$h_action = "";
|
|
|
|
$h_add = "";
|
|
|
|
}
|
2009-01-04 19:18:37 +00:00
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
$h_aliases = "";
|
|
|
|
foreach ($aliases as $old => $new) {
|
|
|
|
$h_old = html_escape($old);
|
|
|
|
$h_new = "<a href='".make_link("post/list/".url_escape($new)."/1")."'>".html_escape($new)."</a>";
|
2014-02-22 20:36:52 +00:00
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
$h_aliases .= "<tr><td>$h_old</td><td>$h_new</td>";
|
|
|
|
if ($can_manage) {
|
|
|
|
$h_aliases .= "
|
2007-06-30 01:19:11 +00:00
|
|
|
<td>
|
2010-09-22 11:56:19 +00:00
|
|
|
".make_form(make_link("alias/remove"))."
|
2007-06-30 01:19:11 +00:00
|
|
|
<input type='hidden' name='oldtag' value='$h_old'>
|
|
|
|
<input type='submit' value='Remove'>
|
|
|
|
</form>
|
|
|
|
</td>
|
|
|
|
";
|
2019-05-28 16:59:38 +00:00
|
|
|
}
|
|
|
|
$h_aliases .= "</tr>";
|
|
|
|
}
|
|
|
|
$html = "
|
2012-02-13 20:51:34 +00:00
|
|
|
<table id='aliases' class='sortable zebra'>
|
|
|
|
<thead><tr><th>From</th><th>To</th>$h_action</tr></thead>
|
2009-01-17 04:53:11 +00:00
|
|
|
<tbody>$h_aliases</tbody>
|
2012-02-13 20:51:34 +00:00
|
|
|
<tfoot>$h_add</tfoot>
|
2007-06-30 01:19:11 +00:00
|
|
|
</table>
|
2015-03-20 22:16:20 +00:00
|
|
|
<p><a href='".make_link("alias/export/aliases.csv")."' download='aliases.csv'>Download as CSV</a></p>
|
2009-08-03 09:24:32 +00:00
|
|
|
";
|
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
$bulk_html = "
|
2013-07-05 22:12:25 +00:00
|
|
|
".make_form(make_link("alias/import"), 'post', true)."
|
2008-02-16 03:58:05 +00:00
|
|
|
<input type='file' name='alias_file'>
|
|
|
|
<input type='submit' value='Upload List'>
|
|
|
|
</form>
|
2007-06-30 01:19:11 +00:00
|
|
|
";
|
2009-01-04 19:18:37 +00:00
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
$page->set_title("Alias List");
|
|
|
|
$page->set_heading("Alias List");
|
|
|
|
$page->add_block(new NavBlock());
|
|
|
|
$page->add_block(new Block("Aliases", $html));
|
|
|
|
if ($can_manage) {
|
|
|
|
$page->add_block(new Block("Bulk Upload", $bulk_html, "main", 51));
|
|
|
|
}
|
2009-08-25 01:36:00 +00:00
|
|
|
|
2019-05-28 16:59:38 +00:00
|
|
|
$this->display_paginator($page, "alias/list", null, $pageNumber, $totalPages);
|
|
|
|
}
|
2007-06-30 01:19:11 +00:00
|
|
|
}
|