Gruppen können angelegt und bearbeitet werden

Teili können angelegt werden
This commit is contained in:
Thomas Günther 2024-03-23 20:46:44 +01:00
parent abc3a2a0a0
commit 5e766bc2e5
27 changed files with 608 additions and 43 deletions

View File

@ -0,0 +1,24 @@
<?php
function _kompass_print_datebox($settingName, $settingValue, $style = '') {
echo '<input style="' . $style . '" type="date" name="' . $settingName . '" value="' . $settingValue. '" />';
if (defined('WP_DEBUG') && WP_DEBUG == true) {
echo '<br />' . $settingName;
}
}
function kompass_print_datebox(array $args) {
if (!isset($args['setting'])) {
wp_die('Missing argument setting at text-element ' . print_r($args, true));
}
$setting = get_option($args['setting'], null);
$setting = $setting ?? ( $args['value'] ?? '' );
$style = isset($args['style']) ? $args['style'] : '';
$value = esc_attr($setting);
if ($value === null && isset($args['value'])) {
$value = $args['value'];
}
_kompass_print_datebox($args['setting'], $value, $style);
}

View File

@ -0,0 +1,18 @@
<?php
function kompass_prepare_form($params = [])
{
if (isset($params['page'])) {
echo ' <form method="post" action="admin.php?page=' .$params['page'] . '">';
}
echo '<input type="hidden" name="update_options" value="true" />';
foreach ($params as $key => $value) {
echo '<input type="hidden" name="' . $key . '" value="' . $value . '">';
}
}
function kompass_close_form(string $buttonText)
{
submit_button($buttonText,'button');
echo '</form>';
}

View File

@ -0,0 +1,8 @@
<?php
function kompass_print_message_box(string $message, string $type = 'success')
{
echo '<div class="notice notice-' . $type .'" style="padding: 5px 10px;">';
echo $message;
echo '</div>';
}

View File

@ -1,13 +1,18 @@
<?php <?php
function kompass_print_textbox($settingName, $settingValue, $style = '') { function _kompass_print_textbox($settingName, $settingValue, $style = '') {
echo '<input style="' . $style . '" type="text" name="' . $settingName . '" value="' . $settingValue. '" />'; echo '<input style="' . $style . '" type="text" name="' . $settingName . '" value="' . $settingValue. '" />';
if (defined('WP_DEBUG') && WP_DEBUG == true) { if (defined('WP_DEBUG') && WP_DEBUG == true) {
echo '<br />' . $settingName; echo '<br />' . $settingName;
} }
} }
function _kompass_limit_logins_settings_callback(array $args) { function kompass_print_textbox(array $args) {
if (!isset($args['setting'])) {
wp_die('Missing argument setting at text-element ' . print_r($args, true));
}
$setting = get_option($args['setting'], null); $setting = get_option($args['setting'], null);
$setting = $setting ?? ( $args['value'] ?? '' );
$style = isset($args['style']) ? $args['style'] : ''; $style = isset($args['style']) ? $args['style'] : '';
$value = esc_attr($setting); $value = esc_attr($setting);
@ -15,5 +20,8 @@ function _kompass_limit_logins_settings_callback(array $args) {
$value = (int)$value / (int)$args['unit_division']; $value = (int)$value / (int)$args['unit_division'];
} }
kompass_print_textbox($args['setting'], $value, $style); if ($value === null && isset($args['value'])) {
$value = $args['value'];
}
_kompass_print_textbox($args['setting'], $value, $style);
} }

View File

@ -17,6 +17,21 @@ class DatabaseHandler {
return $this->getResults($sql); return $this->getResults($sql);
} }
public function insertRows(string $tableName, array $newData) : int
{
global $wpdb;
$tableName = $wpdb->prefix . $tableName;
$wpdb->insert( $tableName, $newData );
return $wpdb->insert_id;
}
public function updateRows(string $tableName, array $newData, $conditions = [])
{
global $wpdb;
$tableName = $wpdb->prefix . $tableName;
$wpdb->update( $tableName, $newData, $conditions );
}
public function countSqlRows(string $tableName, array $conditions = []) : int public function countSqlRows(string $tableName, array $conditions = []) : int
{ {
global $wpdb; global $wpdb;

View File

@ -28,7 +28,7 @@ foreach (glob($directoryPath . '*.php') as $file) {
$modules = ['KompassSettings', 'LimitLoginAttempts', 'PasswordStrength', 'seo', 'Gruppen']; $modules = ['KompassSettings', 'LimitLoginAttempts', 'PasswordStrength', 'seo', 'Gruppen'];
$subdirs = ['includes', 'Controllers', 'Views']; $subdirs = ['includes', 'Controllers', 'Views', 'Requests', 'Actions'];
foreach ($modules as $curModule) { foreach ($modules as $curModule) {
foreach ($subdirs as $dir) { foreach ($subdirs as $dir) {

View File

@ -8,6 +8,7 @@ CREATE TABLE `%tablename%` (
`vorname` varchar(128) NOT NULL, `vorname` varchar(128) NOT NULL,
`nachname` varchar(128) NOT NULL, `nachname` varchar(128) NOT NULL,
`geburtsdatum` date DEFAULT NULL, `geburtsdatum` date DEFAULT NULL,
`ansprechpartner` varchar(256) DEFAULT NULL,
`strasse` varchar(128) DEFAULT NULL, `strasse` varchar(128) DEFAULT NULL,
`hausnummer` varchar(8) DEFAULT NULL, `hausnummer` varchar(8) DEFAULT NULL,
`plz` varchar(5) DEFAULT NULL, `plz` varchar(5) DEFAULT NULL,
@ -16,9 +17,9 @@ CREATE TABLE `%tablename%` (
`email_2` varchar(512) DEFAULT NULL, `email_2` varchar(512) DEFAULT NULL,
`telefon_1` varchar(16) NOT NULL, `telefon_1` varchar(16) NOT NULL,
`telefon_2` varchar(16) DEFAULT NULL, `telefon_2` varchar(16) DEFAULT NULL,
`badeerlaubnis` enum('complete','partial','none','') NOT NULL, `badeerlaubnis` enum('complete','partial','none','') NOT NULL DEFAULT 'none',
`allergien` varchar(2048) NOT NULL, `allergien` varchar(2048) NOT NULL,
`abholung` enum('alone','parents','other','') NOT NULL, `abholung` enum('alone','parents','other','') NOT NULL DEFAULT 'parents',
`abholung_text` varchar(1024) NOT NULL DEFAULT '0', `abholung_text` varchar(1024) NOT NULL DEFAULT '0',
`foto_socialmedia` tinyint NOT NULL DEFAULT '0', `foto_socialmedia` tinyint NOT NULL DEFAULT '0',
`foto_print` tinyint NOT NULL DEFAULT '0', `foto_print` tinyint NOT NULL DEFAULT '0',

View File

@ -0,0 +1,18 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController;
class CreateGroupAction
{
public static function execute(array $newData)
{
global $dbHandler;
if (!current_user_can('create_groups')) {
kompass_print_message_box(__('You are not allowed to create a group', BDP_LV_PLUGIN_SLUG), 'error');
}
global $dbHandler;
$dbHandler->insertRows(MainController::KOMPASS_STAMMESGRUPPEN_GRUPPEN, $newData);
kompass_print_message_box(__('The group was created.', BDP_LV_PLUGIN_SLUG));
}
}

View File

@ -0,0 +1,21 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController;
class CreateGroupMemberAction
{
public static function execute(array $userData) : int
{
global $dbHandler;
if (!current_user_can('create_teilis')) {
kompass_print_message_box(__('You are not allowed to add a member', BDP_LV_PLUGIN_SLUG), 'error');
}
global $dbHandler;
$userData['gruppe_id'] = 1;
kompass_print_message_box(__('The member was added.', BDP_LV_PLUGIN_SLUG));
return $dbHandler->insertRows(MainController::KOMPASS_STAMMESGRUPPEN_TEILIS, $userData);
}
}

View File

@ -0,0 +1,37 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController;
class CreateGroupMemberDataAction
{
public static function execute(array $userData) : array
{
$dataKeys = [
'vorname' => 'kompass_group_member_firstname',
'nachname' => 'kompass_group_member_lastname',
'geburtsdatum' => 'kompass_group_member_birthday',
'ansprechpartner' => 'kompass_group_member_parents',
'email_1' => 'kompass_group_member_email_1',
'email_2' => 'kompass_group_member_email_2',
'telefon_1' => 'kompass_group_member_phone_1',
'telefon_2' => 'kompass_group_member_phone_2',
];
$return = ['data' => [], 'rawData' => [], 'errors' => []];
foreach ($dataKeys as $dbKey => $formKey) {
$value = trim($userData[$formKey]);
$return['rawData'][$formKey] = $value;
if ($dbKey === 'email_2' || $dbKey === 'telefon_2') {
$return['data'][$dbKey] = $value;
} else {
if ( $value === '' ) {
$return['errors'][] = sprintf(__( 'The field "%s" is required.', BDP_LV_PLUGIN_SLUG ), $dbKey);
} else {
$return['data'][ $dbKey ] = $value;
}
}
}
return $return;
}
}

View File

@ -0,0 +1,19 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController;
class UpdateGroupAction
{
public static function execute(array $newData, int $groupId)
{
global $dbHandler;
if (!current_user_can('edit_groups')) {
kompass_print_message_box(__('You are not allowed to update a group', BDP_LV_PLUGIN_SLUG), 'error');
}
global $dbHandler;
$dbHandler->updateRows(MainController::KOMPASS_STAMMESGRUPPEN_GRUPPEN, $newData, ['id' => $groupId]);
kompass_print_message_box(__('The group was updated.', BDP_LV_PLUGIN_SLUG));
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class CreateGroupController
{
public function __construct()
{
if (current_user_can('create_groups')) {
kompass_create_group_form();
} else {
kompass_print_gruppen_overview();
}
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class CreateMemberController
{
public function __construct(array $prefilledData = [])
{
if (current_user_can('create_teilis')) {
kompass_create_group_member_form($prefilledData);
} else {
kompass_print_gruppen_overview();
}
}
}

View File

@ -3,6 +3,7 @@
namespace Bdp\Modules\Gruppen\Controllers; namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess; use Bdp\Libs\FileAccess;
use SearchMemberRequest;
class MainController class MainController
{ {
@ -56,31 +57,83 @@ class MainController
if (isset($_REQUEST['action'])) { if (isset($_REQUEST['action'])) {
switch ($_REQUEST['action']) { switch ($_REQUEST['action']) {
case 'searchmember': case 'searchmember':
$this->searchMember(); $memberList = SearchMemberRequest::listByName($_POST['member_name']);
new PrintMemberListController($memberList);
break;
case 'create_group_form':
new CreateGroupController();
break;
case 'update-group':
\UpdateGroupAction::execute(['gruppen_name' => $_REQUEST['kompass_groups_group_name']],
(int)$_REQUEST['group_id']);
new PrintGroupsController();
break;
case 'create-group':
$data = ['gruppen_name' => $_REQUEST['kompass_groups_group_name']];
\CreateGroupAction::execute($data);
new PrintGroupsController();
break;
case 'new-member':
new CreateMemberController();
break;
case 'create-member':
$userData = \CreateGroupMemberDataAction::execute($_REQUEST);
if (count($userData['errors']) === 0) {
$memberId = \CreateGroupMemberAction::execute( $userData['data'] );
new PrintMemberController($memberId);
} else {
kompass_print_message_box(implode('<br />', $userData['errors']), 'error');
new CreateMemberController($userData['rawData']);
exit;
}
new PrintGroupsController();
break;
case 'show-members':
$memberList = \ListMemberRequest::listForGroup((int)$_REQUEST['group-id']);
new PrintMemberListController($memberList);
break;
case 'show-member':
new PrintMemberController((int)$_REQUEST['member-id']);
break;
case 'compose-mail':
current_user_can('send_mails');
break;
case 'delete-group':
if (current_user_can('delete_groups')) {
}
break;
case 'edit-group':
if (current_user_can('edit_groups')) {
kompass_edit_group_form($_REQUEST['group-id']);
}
break; break;
default: default:
kompass_print_gruppen_overview(); new PrintGroupsController();
} }
} else { } else {
kompass_print_gruppen_overview(); new PrintGroupsController();
} }
} }
private function searchMember() private function listMembers()
{ {
global $dbHandler;
$members = $dbHandler->readSqlFromDb(self::KOMPASS_STAMMESGRUPPEN_TEILIS,
'SELECT * FROM %tablename% WHERE CONCAT(`vorname`, " " , `nachname`) LIKE "%' . $_POST['member_name'] . '%"');
$this->printMembers($members);
} }
private function printMembers(array $memberList) private function printMembers(array $memberList)
{ {
if (count($memberList) === 0) {
exit;
}
kompass_print_gruppen_members($memberList);
} }
} }

View File

@ -0,0 +1,13 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class PrintGroupsController
{
public function __construct()
{
kompass_print_gruppen_overview();
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class PrintMemberController
{
public function __construct(int $memberId)
{
global $dbHandler;
$member = $dbHandler->readFromDb(MainController::KOMPASS_STAMMESGRUPPEN_TEILIS, ['id' => $memberId]);
echo '<pre>';print_r($member);die();
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class PrintMemberListController
{
public function __construct(array $memberList)
{
if (count($memberList) === 0) {
exit;
}
kompass_print_gruppen_members($memberList);
}
}

View File

@ -0,0 +1,12 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController;
class ListMemberRequest
{
public static function listForGroup(int $groupId) : array
{
global $dbHandler;
return $dbHandler->readFromDb(MainController::KOMPASS_STAMMESGRUPPEN_TEILIS, ['gruppe_id' => $groupId]);
}
}

View File

@ -0,0 +1,15 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController;
class SearchMemberRequest
{
public static function listByName(string $name) : array
{
global $dbHandler;
return $dbHandler->readSqlFromDb( MainController::KOMPASS_STAMMESGRUPPEN_TEILIS,
'SELECT * FROM %tablename% WHERE CONCAT(`vorname`, " " , `nachname`) LIKE "%' . $name . '%"');
}
}

View File

@ -0,0 +1,64 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController as GruppenController;
function kompass_edit_group_form(int $groupId)
{
global $dbHandler;
$page = BDP_LV_PLUGIN_SLUG . '-create-group';
$group = $dbHandler->readFromDb(GruppenController::KOMPASS_STAMMESGRUPPEN_GRUPPEN, ['id' => $groupId]);
add_settings_section(
'custom_settings_section',
__('Edit Group', BDP_LV_PLUGIN_SLUG),
'kompass_prepare_form',
$page,
[
'action' => 'update-group',
'page' => 'kompass-groups',
'group_id' => $groupId
]
);
_kompass_group_display_elements($page, $group[0]);
do_settings_sections(BDP_LV_PLUGIN_SLUG . '-create-group');
kompass_close_form(__('Update', BDP_LV_PLUGIN_SLUG));
}
function kompass_create_group_form()
{
global $dbHandler;
$page = BDP_LV_PLUGIN_SLUG . '-create-group';
add_settings_section(
'custom_settings_section',
__('Create Group', BDP_LV_PLUGIN_SLUG),
'kompass_prepare_form',
$page,
[
'action' => 'create-group',
'page' => 'kompass-groups'
]
);
_kompass_group_display_elements($page);
do_settings_sections(BDP_LV_PLUGIN_SLUG . '-create-group');
kompass_close_form(__('Create', BDP_LV_PLUGIN_SLUG));
}
function _kompass_group_display_elements(string $page, stdClass $currentGroup = null)
{
$value = '';
if (null !== $currentGroup) {
$value = $currentGroup->gruppen_name;
}
add_settings_field(
'kompass_group_field_1',
__('Group Name', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_groups_group_name',
'value' => $value, 'style' => 'width: 512px']);
}

View File

@ -0,0 +1,131 @@
<?php
use Bdp\Modules\Gruppen\Controllers\MainController as GruppenController;
function kompass_edit_group_member_form(int $groupId)
{
global $dbHandler;
$page = BDP_LV_PLUGIN_SLUG . '-create-group';
$group = $dbHandler->readFromDb(GruppenController::KOMPASS_STAMMESGRUPPEN_GRUPPEN, ['id' => $groupId]);
add_settings_section(
'custom_settings_section',
__('Edit Group', BDP_LV_PLUGIN_SLUG),
'kompass_prepare_form',
$page,
[
'action' => 'update-group',
'page' => 'kompass-groups',
'group_id' => $groupId
]
);
_kompass_group_display_elements($page, $group[0]);
do_settings_sections(BDP_LV_PLUGIN_SLUG . '-create-group');
kompass_close_form(__('Update', BDP_LV_PLUGIN_SLUG));
}
function kompass_create_group_member_form(array $prefilledData = [])
{
global $dbHandler;
$page = BDP_LV_PLUGIN_SLUG . '-create-member';
add_settings_section(
'custom_settings_section',
__('Add Member', BDP_LV_PLUGIN_SLUG),
'kompass_prepare_form',
$page,
[
'action' => 'create-member',
'page' => 'kompass-groups'
]
);
_kompass_group_member_display_elements($page, $prefilledData);
do_settings_sections($page);
kompass_close_form(__('Add member', BDP_LV_PLUGIN_SLUG));
}
function _kompass_group_member_display_elements(string $page, array $prefilledElements = [])
{
$value = $prefilledElements['kompass_group_member_firstname'] ?? '';
add_settings_field(
'kompass_group_member_field_1',
__('First Name', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_firstname',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_lastname'] ?? '';
add_settings_field(
'kompass_group_member_field_2',
__('Last Name', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_lastname',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_birthday'] ?? '';
add_settings_field(
'kompass_group_member_field_3',
__('Birthday', BDP_LV_PLUGIN_SLUG),
'kompass_print_datebox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_birthday',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_parents'] ?? '';
add_settings_field(
'kompass_group_member_field_4',
__('Contact person', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_parents',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_email_1'] ?? '';
add_settings_field(
'kompass_group_member_field_5',
__('E-Mail', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_email_1',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_email_2'] ?? '';
add_settings_field(
'kompass_group_member_field_6',
__('Alternative E-Mail', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_email_2',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_phone_1'] ?? '';
add_settings_field(
'kompass_group_member_field_7',
__('Telephone', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_phone_1',
'value' => $value, 'style' => 'width: 512px']);
$value = $prefilledElements['kompass_group_member_phone_2'] ?? '';
add_settings_field(
'kompass_group_member_field_8',
__('Alternative Telephone', BDP_LV_PLUGIN_SLUG),
'kompass_print_textbox',
$page,
'custom_settings_section',
['setting' => 'kompass_group_member_phone_2',
'value' => $value, 'style' => 'width: 512px']);
}

View File

@ -11,7 +11,8 @@ function kompass_print_gruppen_overview()
<p style="width: 100%; text-align: right"> <p style="width: 100%; text-align: right">
<input type="hidden" name="action" value="searchmember"> <input type="hidden" name="action" value="searchmember">
<input type="text" name="member_name" style="width: 500px;" <input type="text" name="member_name" style="width: 500px;"
placeholder="<?=__('Search for member', BDP_LV_PLUGIN_SLUG); ?>" /> placeholder="<?=__('Search member', BDP_LV_PLUGIN_SLUG); ?>" />
<input type="submit" class="button" value="<?= __('Search', BDP_LV_PLUGIN_SLUG); ?>" />
</p> </p>
</form> </form>
@ -28,15 +29,60 @@ function kompass_print_gruppen_overview()
<?php <?php
foreach ($dbHandler->readFromDb( GruppenController::KOMPASS_STAMMESGRUPPEN_GRUPPEN) as $currentGruppe) { foreach ($dbHandler->readFromDb( GruppenController::KOMPASS_STAMMESGRUPPEN_GRUPPEN) as $currentGruppe) {
$participantCount = $dbHandler->countSqlRows(GruppenController::KOMPASS_STAMMESGRUPPEN_TEILIS, ['gruppe_id' => $currentGruppe->id]);
echo '<tr>'; echo '<tr>';
echo '<td>' . $currentGruppe->gruppen_name .'</td>'; echo '<td>' . $currentGruppe->gruppen_name .'</td>';
echo '<td>' . $dbHandler->countSqlRows(GruppenController::KOMPASS_STAMMESGRUPPEN_TEILIS, ['gruppe_id' => $currentGruppe->id]) .'</td>'; echo '<td>' . $participantCount . '</td>';
echo '<td><a href="admin.php?page=bdp-kompass-limit-login-attempts&action=removeFromList">' . echo '<td> ' . kompass_get_group_actions($currentGruppe->id, $participantCount ) .'</td>';
__('Show Members', BDP_LV_PLUGIN_SLUG) . '</a></td>';
echo '</tr>'; echo '</tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
<?php
echo '<p>';
if ( current_user_can( 'send_mails' ) ) {
echo '<a class="button" href="' . admin_url('admin.php?page=kompass-groups') . '&action=compose-mail&group-id=0">' .
__( 'Mail to multiple groups', BDP_LV_PLUGIN_SLUG ) . '</a> &nbsp;';
}
if (current_user_can('create_teilis')) {
echo '<a class="button" href="' . admin_url('admin.php?page=kompass-groups') . '&action=new-member">' .
__( 'New Member', BDP_LV_PLUGIN_SLUG ) . '</a> &nbsp;';
}
if ( current_user_can( 'delete_teilis' ) ) {
?>
<a class="button" href="admin.php?page=kompass-groups&action=create_group_form">
<?= __('Create Group', BDP_LV_PLUGIN_SLUG); ?></a>
<?php <?php
}
echo '</p>';
}
function kompass_get_group_actions(int $groupId, int $participantCount) : string
{
$elements = [];
if ($participantCount > 0) {
$elements[] = '<a href="' . admin_url('admin.php?page=kompass-groups') . '&action=show-members&group-id=' .$groupId .'">' .
__('Show Members', BDP_LV_PLUGIN_SLUG) . '</a>';
if (current_user_can('send_mails')) {
$elements[] = '<a href="' . admin_url('admin.php?page=kompass-groups') . '&action=compose-mail&group-id=' .$groupId .'">' .
__( 'Mail to group', BDP_LV_PLUGIN_SLUG ) . '</a>';
}
} else {
if (current_user_can('delete_groups')) {
$elements[] = '<a href="' . admin_url('admin.php?page=kompass-groups') . '&action=delete-group&group-id=' .$groupId .'">' .
__('Delete', BDP_LV_PLUGIN_SLUG) . '</a>';
}
}
if (current_user_can('edit_groups')) {
$elements[] = '<a href="' . admin_url('admin.php?page=kompass-groups') . '&action=edit-group&group-id=' .$groupId .'">' .
__('Edit', BDP_LV_PLUGIN_SLUG) . '</a>';
}
return implode('<br />' , $elements);
} }

View File

@ -29,7 +29,7 @@ function kompass_print_gruppen_members(array $memberList)
</td> </td>
<td> <td>
<a href="admin.php?page=bdp-kompass-limit-login-attempts&action=removeFromList"> <a href= <?= admin_url('admin.php?page=kompass-groups') . '&action=show-member&member-id=' .$curMember->id; ?>">
<?= __('Show details', BDP_LV_PLUGIN_SLUG); ?></a> <?= __('Show details', BDP_LV_PLUGIN_SLUG); ?></a>
<br /> <br />

View File

@ -24,7 +24,7 @@ class SettingsPage
switch ($tab) { switch ($tab) {
case 'tab1': case 'tab1':
update_option('bdp_calendar_categories', json_encode($_POST['category'])); update_option('bdp_calendar_categories', json_encode($_POST['category']));
update_option('bdp_calendar_source_url', $_POST['ical_url']); update_option('bdp_calendar_source_url', $_POST['bdp_calendar_source_url']);
$showMessage = __('The settings were saved.', BDP_LV_PLUGIN_SLUG); $showMessage = __('The settings were saved.', BDP_LV_PLUGIN_SLUG);
break; break;

View File

@ -1,8 +1,5 @@
<?php <?php
function custom_settings_section_callback() {
echo '<input type="hidden" name="update_options" value="true" />';
}
@ -19,7 +16,7 @@ bdp_kompass_load_plugin_textdomain();
add_settings_section( add_settings_section(
'custom_settings_section', 'custom_settings_section',
__('Options', BDP_LV_PLUGIN_SLUG), __('Options', BDP_LV_PLUGIN_SLUG),
'custom_settings_section_callback', 'kompass_prepare_form',
BDP_LV_PLUGIN_SLUG . '-limit-login-attempts' BDP_LV_PLUGIN_SLUG . '-limit-login-attempts'
); );
@ -34,7 +31,7 @@ $settings_page = BDP_LV_PLUGIN_SLUG . '-limit-login-attempts';
add_settings_field( add_settings_field(
'kompass_lla_1', 'kompass_lla_1',
__('Maximum reps until lockout', BDP_LV_PLUGIN_SLUG), __('Maximum reps until lockout', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$settings_page, $settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_limit_login_allowed_retries']); ['setting' => 'kompass_limit_login_allowed_retries']);
@ -42,7 +39,7 @@ add_settings_field(
add_settings_field( add_settings_field(
'kompass_lla_2', 'kompass_lla_2',
__('Duration of lockout (in minutes)', BDP_LV_PLUGIN_SLUG), __('Duration of lockout (in minutes)', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$settings_page, $settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_limit_login_lockout_duration', 'unit_division' => 60 ]); ['setting' => 'kompass_limit_login_lockout_duration', 'unit_division' => 60 ]);
@ -50,7 +47,7 @@ add_settings_field(
add_settings_field( add_settings_field(
'kompass_lla_3', 'kompass_lla_3',
__('Maximum number of lockouts', BDP_LV_PLUGIN_SLUG), __('Maximum number of lockouts', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$settings_page, $settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_limit_login_allowed_lockouts']); ['setting' => 'kompass_limit_login_allowed_lockouts']);
@ -58,7 +55,7 @@ add_settings_field(
add_settings_field( add_settings_field(
'kompass_lla_4', 'kompass_lla_4',
__('Long-term duration (in hours)', BDP_LV_PLUGIN_SLUG), __('Long-term duration (in hours)', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$settings_page, $settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_limit_login_long_duration', 'unit_division' => 3600]); ['setting' => 'kompass_limit_login_long_duration', 'unit_division' => 3600]);
@ -98,7 +95,7 @@ add_settings_field(
add_settings_field( add_settings_field(
'kompass_lla_9', 'kompass_lla_9',
__('Failed attempts until notification', BDP_LV_PLUGIN_SLUG), __('Failed attempts until notification', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$settings_page, $settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_limit_login_notify_email_after']); ['setting' => 'kompass_limit_login_notify_email_after']);

View File

@ -3,7 +3,7 @@
add_settings_section( add_settings_section(
'custom_settings_section', 'custom_settings_section',
__('Calendar settings', BDP_LV_PLUGIN_SLUG), __('Calendar settings', BDP_LV_PLUGIN_SLUG),
'custom_settings_section_callback', 'kompass_prepare_form',
BDP_LV_PLUGIN_SLUG . '-calendar-settings' BDP_LV_PLUGIN_SLUG . '-calendar-settings'
); );
@ -12,7 +12,7 @@ $seo_settings_page = BDP_LV_PLUGIN_SLUG . '-calendar-settings';
add_settings_field( add_settings_field(
'kompass_cal_1', 'kompass_cal_1',
__('Calendar URL', BDP_LV_PLUGIN_SLUG), __('Calendar URL', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$seo_settings_page, $seo_settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'bdp_calendar_source_url', 'style' => 'width: 1024px']); ['setting' => 'bdp_calendar_source_url', 'style' => 'width: 1024px']);

View File

@ -4,7 +4,7 @@
add_settings_section( add_settings_section(
'custom_settings_section', 'custom_settings_section',
__('SEO-Options', BDP_LV_PLUGIN_SLUG), __('SEO-Options', BDP_LV_PLUGIN_SLUG),
'custom_settings_section_callback', 'kompass_prepare_form',
BDP_LV_PLUGIN_SLUG . '-seo-settings' BDP_LV_PLUGIN_SLUG . '-seo-settings'
); );
@ -13,7 +13,7 @@ $seo_settings_page = BDP_LV_PLUGIN_SLUG . '-seo-settings';
add_settings_field( add_settings_field(
'kompass_seo_1', 'kompass_seo_1',
__('Google Site verification', BDP_LV_PLUGIN_SLUG), __('Google Site verification', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$seo_settings_page, $seo_settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_seo_google_verification', 'style' => 'width: 500px']); ['setting' => 'kompass_seo_google_verification', 'style' => 'width: 500px']);
@ -22,7 +22,7 @@ add_settings_field(
add_settings_field( add_settings_field(
'kompass_seo_2', 'kompass_seo_2',
__('Bing Site verification', BDP_LV_PLUGIN_SLUG), __('Bing Site verification', BDP_LV_PLUGIN_SLUG),
'_kompass_limit_logins_settings_callback', 'kompass_print_textbox',
$seo_settings_page, $seo_settings_page,
'custom_settings_section', 'custom_settings_section',
['setting' => 'kompass_seo_bing_verification', 'style' => 'width: 500px']); ['setting' => 'kompass_seo_bing_verification', 'style' => 'width: 500px']);