Upload folder via GUI - inc

This commit is contained in:
Git Manager GUI
2026-04-13 18:52:46 +02:00
parent 9c47501712
commit 09ac38e9fa
31 changed files with 2058 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
<?php
if (!defined('ABSPATH')) exit;
class WMF_Field_GDPR extends WMF_Field_Base {
public $type='gdpr'; public $label='DSGVO-Zustimmung'; public $icon='dashicons-shield'; public $category='auswahl';
public function defaults() {
return array_merge(parent::defaults(),array(
'required' => '1',
'gdpr_text' => 'Ich stimme der <a href="/datenschutz" target="_blank">Datenschutzerklärung</a> zu.',
'error_message' => 'Bitte stimmen Sie der Datenschutzerklärung zu.',
));
}
public function render($field,$value='') { ?>
<div class="<?php echo esc_attr($this->wrapper_classes($field)); ?> wmf-gdpr-wrap"<?php echo $this->conditional_attrs($field); ?> data-field-id="<?php echo esc_attr($field['id']); ?>">
<label class="wmf-gdpr-label">
<input type="checkbox" name="wmf_fields[<?php echo esc_attr($field['id']); ?>]" value="1" <?php checked($value,'1'); ?> <?php echo(!empty($field['required'])&&$field['required']==='1')?'required':''; ?> class="wmf-gdpr-checkbox">
<span class="wmf-gdpr-text"><?php echo wp_kses_post($field['gdpr_text']??''); ?></span>
</label>
<span class="wmf-field-error-msg"></span>
</div><?php
}
public function validate($value,$field) {
if(!empty($field['required'])&&$field['required']==='1'&&$value!=='1') {
return $field['error_message']??'Bitte stimmen Sie der Datenschutzerklärung zu.';
}
return true;
}
public function sanitize($v,$f) { return $v==='1'?'1':'0'; }
public function settings_panel($field) {
parent::settings_panel($field); ?>
<div class="wmf-field-setting"><label>DSGVO-Text (HTML erlaubt)</label><textarea data-setting="gdpr_text" class="widefat" rows="3"><?php echo esc_textarea($field['gdpr_text']??''); ?></textarea></div>
<div class="wmf-field-setting"><label>Fehlermeldung</label><input type="text" data-setting="error_message" value="<?php echo esc_attr($field['error_message']??''); ?>" class="widefat"></div>
<?php
}
}