MantisBT-Discord

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 1  →  ?path2? @ 2
/trunk/pages/config.php
@@ -1,8 +1,7 @@
<?php
/**
* Discord Integration
* Copyright (C) Robin van Nunen (robin@vnunen.nl) for Discord modification
* Copyright (C) Karim Ratib (karim@meedan.com) for original source
* Copyright (C) 2014 Karim Ratib (karim.ratib@gmail.com)
*
* Discord Integration is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License 2
@@ -19,41 +18,160 @@
* or see http://www.gnu.org/licenses/.
*/
 
form_security_validate('plugin_Discord_config');
access_ensure_global_level(config_get('manage_plugin_threshold'));
/**
* Sets plugin config option if value is different from current/default
*
* @param string $p_name option name
* @param string $p_value value to set
*
* @return void
*/
function config_set_if_needed($p_name, $p_value)
{
if($p_value != plugin_config_get($p_name))
{
plugin_config_set($p_name, $p_value);
}
}
auth_reauthenticate( );
access_ensure_global_level( config_get( 'manage_plugin_threshold' ) );
 
$t_redirect_url = plugin_page('config_page', true);
layout_page_header(null, $t_redirect_url);
layout_page_begin();
html_page_top( plugin_lang_get( 'title' ) );
 
config_set_if_needed('url_webhook', gpc_get_string('url_webhook'));
config_set_if_needed('skip_bulk', gpc_get_bool('skip_bulk'));
config_set_if_needed('link_names', gpc_get_bool('link_names'));
config_set_if_needed('language', gpc_get_string('language'));
print_manage_menu( );
 
config_set_if_needed('hook_bug_report', gpc_get_bool('hook_bug_report'));
config_set_if_needed('hook_bug_update', gpc_get_bool('hook_bug_update'));
config_set_if_needed('hook_bug_deleted', gpc_get_bool('hook_bug_deleted'));
config_set_if_needed('hook_bugnote_add', gpc_get_bool('hook_bugnote_add'));
config_set_if_needed('hook_bugnote_edit', gpc_get_bool('hook_bugnote_edit'));
config_set_if_needed('hook_bugnote_deleted', gpc_get_bool('hook_bugnote_deleted'));
?>
 
form_security_purge('plugin_Discord_config');
<br />
 
html_operation_successful($t_redirect_url);
layout_page_end();
<form action="<?php echo plugin_page( 'config_edit' )?>" method="post">
<?php echo form_security_field( 'plugin_Discord_config_edit' ) ?>
<table align="center" class="width75" cellspacing="1">
 
<tr>
<td class="form-title" colspan="3">
<?php echo plugin_lang_get( 'title' ) . ' : ' . plugin_lang_get( 'config' )?>
</td>
</tr>
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'url_webhook' )?>
</td>
<td colspan="2">
<input size="80" type="text" name="url_webhook" value="<?php echo plugin_config_get( 'url_webhook' )?>" />
</td>
</tr>
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'url_webhooks' )?>
</td>
<td colspan="2">
<p>
Specifies the mapping between Mantis project names and Discord webhooks.
</p>
<p>
Option name is <strong>plugin_Discord_url_webhooks</strong> and is an array of 'Mantis project name' => 'Discord webhook'.
Array options must be set using the <a href="adm_config_report.php">Configuration Report</a> screen.
The current value of this option is:<pre><?php var_export(plugin_config_get( 'url_webhooks' ))?></pre>
</p>
</td>
</tr>
<!--
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'bot_name' )?>
</td>
<td colspan="2">
<input type="text" name="bot_name" value="<?php echo plugin_config_get( 'bot_name' )?>" />
</td>
</tr>
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'bot_icon' )?>
</td>
<td colspan="2">
<p>
Can be either a URL pointing to small image or an emoji of the form :emoji:</br>
Defaults to the Mantis logo.
</p>
<input type="text" name="bot_icon" value="<?php echo plugin_config_get( 'bot_icon' )?>" />
</td>
</tr>
-->
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'skip_bulk' )?>
</td>
<td colspan="2">
<input type="checkbox" name="skip_bulk" <?php if (plugin_config_get( 'skip_bulk' )) echo "checked"; ?> />
</td>
</tr>
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'link_names' )?>
</td>
<td colspan="2">
<input type="checkbox" name="link_names" <?php if (plugin_config_get( 'link_names' )) echo "checked"; ?> />
</td>
</tr>
<!--
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'default_channel' )?>
</td>
<td colspan="2">
<input type="text" name="default_channel" value="<?php echo plugin_config_get( 'default_channel' )?>" />
</td>
</tr>
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'channels' )?>
</td>
<td colspan="2">
<p>
Specifies the mapping between Mantis project names and Discord #channels.
</p>
<p>
Option name is <strong>plugin_Discord_channels</strong> and is an array of 'Mantis project name' => 'Discord channel name'.
Array options must be set using the <a href="adm_config_report.php">Configuration Report</a> screen.
The current value of this option is:<pre><?php var_export(plugin_config_get( 'channels' ))?></pre>
</p>
</td>
</tr>
-->
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'columns' )?>
</td>
<td colspan="2">
<p>
Specifies the bug fields that should be attached to the Discord notifications.
</p>
<p>
Option name is <strong>plugin_Discord_columns</strong> and is an array of bug column names.
Array options must be set using the <a href="adm_config_report.php">Configuration Report</a> screen.
<?php
$t_columns = columns_get_all( $t_project_id );
$t_all = implode( ', ', $t_columns );
?>
Available column names are:<div><textarea name="all_columns" readonly="readonly" cols="80" rows="5"><?php echo $t_all ?></textarea></div>
The current value of this option is:<pre><?php var_export(plugin_config_get( 'columns' ))?></pre>
</p>
</td>
</tr>
 
<tr <?php echo helper_alternate_class( )?>>
<td class="category">
<?php echo plugin_lang_get( 'language' )?>
</td>
<td colspan="2">
<input type="text" name="language" value="<?php echo plugin_config_get( 'language' )?>" />
</td>
</tr>
 
<tr>
<td class="center" colspan="3">
<input type="submit" class="button" value="<?php echo lang_get( 'change_configuration' )?>" />
</td>
</tr>
 
</table>
</form>
 
<?php
html_page_bottom();