getMemberProperties();
$member_fields = WeblingApiHelper::Instance()->getMutableMemberFields();
} catch (Exception $e) {
include_once(__DIR__.'/../errors/no_connection.html.php');
return;
}
if (!WeblingApiHelper::Instance()->hasMemberWriteAccess()) {
include_once(__DIR__.'/../errors/no_write_access.html.php');
WeblingApiHelper::Instance()->clearCache();
return;
}
if ($id) {
$sql = "SELECT * FROM {$wpdb->prefix}webling_forms WHERE id = '".$id."'";
$data = $wpdb->get_row($sql, 'ARRAY_A');
if (!$data) {
echo 'Form with ID '.$id.' not found!';
return;
}
$sql = "SELECT * FROM {$wpdb->prefix}webling_form_fields WHERE form_id = '".$id."' ORDER BY `order` ASC";
$formfields = $wpdb->get_results($sql, 'ARRAY_A');
foreach ($formfields as $formfield) {
$active_formfields[] = $formfield['webling_field_id'];
}
} else {
$data = array(
'id' => 0,
'title' => __('Neues Anmeldeformular', 'webling'),
'group_id' => 0,
'notification_email' => '',
'confirmation_text' => __('
Vielen Dank
Wir haben Ihre Anmeldung erhalten.', 'webling'),
'submit_button_text' => __('Absenden', 'webling'),
'confirmation_email_enabled' => 0,
'confirmation_email_webling_field' => 0,
'confirmation_email_subject' => __("Ihre Anmeldung", 'webling'),
'confirmation_email_text' => __("Vielen Dank!\n\nWir haben Ihre Anmeldung erhalten.\n\nFreundliche Grüsse", 'webling'),
'class' => '',
);
}
echo '';
if ($id) {
echo '
'.__('Formular bearbeiten', 'webling').' (ID: '.$id.')
';
} else {
echo '
'.__('Formular erstellen', 'webling').'
';
}
?>
getMembergroupTree();
// select first root group if no selection given
if (!$selected) {
$keys = array_keys($tree);
$selected = $keys[0];
}
$html = '';
foreach ($tree as $nodeId => $node) {
$html .= self::group_select_recursive($nodeId, $node, $selected);
}
return '';
}
protected static function group_select_recursive($nodeId, $tree, $selected, $indent = 0) {
$is_selected = ($nodeId == $selected && $tree['writeable'] ? ' selected' : '');
$is_writeable = ($tree['writeable'] ? '' : ' disabled');
$html = '';
foreach ($tree['childs'] as $nodeId => $node) {
$html .= self::group_select_recursive($nodeId, $node, $selected, $indent+1);
}
return $html;
}
protected static function translated_datatype($config) {
switch($config['datatype']) {
case 'text':
if (isset($config['type']) && $config['type'] == 'email') {
return __('Text, E-Mail', 'webling');
} else {
return __('Text', 'webling');
}
break;
case 'longtext':
return __('Mehrzeiliger Text', 'webling');
break;
case 'int':
return __('Zahl', 'webling');
break;
case 'numeric':
return __('Betrag', 'webling');
break;
case 'bool':
return __('Checkbox', 'webling');
break;
case 'enum':
return __('Auswahlfeld', 'webling');
break;
case 'multienum':
return __('Mehrfachauswahlfeld', 'webling');
break;
case 'date':
return __('Datum', 'webling');
break;
case 'image':
case 'file':
case 'autoincrement':
default:
return ucfirst($config['datatype']);
}
}
protected static function field_markup($name, $config, $data = null) {
if (!is_array($data)) {
$data = [
'required' => 0,
'field_name' => $name,
'field_name_position' => 'TOP',
'placeholder_text' => '',
'description_text' => '',
'class' => ''
];
}
$fieldid = $config['id'];
$type = $config['datatype'];
?>
>