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').'

'; } ?>


    $config) { if (!in_array($config['id'], $active_formfields)) { if (!in_array($member_properties[$name]['datatype'], WeblingApiHelper::$immutableFields)) { self::field_markup($name, $config); } } } ?>
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']; ?>
  • >

    > >
    ()
    |