Beispiel #1
0
function validate_tacs($options)
{
    $output = array();
    $old_settings = fablab_get_tac();
    foreach ($options as $key => $value) {
        if ($key == 'tac_date') {
            $date = strtotime($value);
            if ($date) {
                $output[$key] = $date;
            } else {
                add_settings_error('tac_fields', 'naDate', 'Bitte ein Datum eingeben!');
                $output[$key] = $old_settings[$key];
            }
        } else {
            if ($key == 'tac_pageid') {
                if (is_pos_int($value)) {
                    $output[$key] = sanitize_text_field($value);
                } else {
                    add_settings_error('tac_fields', 'naN', 'Bitte eine verfügbare Page auswählen!');
                    $output[$key] = $old_settings[$key];
                }
            } else {
                if (is_pos_int($old_settings[$key])) {
                    if (is_pos_int($value)) {
                        $output[$key] = sanitize_text_field($value);
                    } else {
                        add_settings_error('tac_fields', 'naN', 'Bitte eine positive Zahl eingeben!');
                        $output[$key] = $old_settings[$key];
                    }
                } else {
                    if (!empty($value)) {
                        $output[$key] = sanitize_text_field($value);
                    } else {
                        add_settings_error('tac_fields', 'empty', 'Leeres Feld ist nicht erlaubt!');
                        $output[$key] = $old_settings[$key];
                    }
                }
            }
        }
    }
    return $output;
}
function get_ticket_shortcode($atts)
{
    global $post;
    global $fl_ticket_script;
    $fl_ticket_script = true;
    $user_id = get_current_user_id();
    //--------------------------------------------------------
    // User not Logged in
    //--------------------------------------------------------
    if ($user_id == 0) {
        ?>
    <div id="message" class="message-box">
      <p>Du bist nicht eingeloggt!</br>
      Du kannst dich <a href="<?php 
        echo bloginfo('url');
        ?>
/wp-login.php?redirect_to=<?php 
        echo get_permalink($post->ID);
        ?>
">hier</a>
      einloggen, oder <a href="<?php 
        echo bloginfo('url');
        ?>
/wp-login.php?action=register">hier</a> registrieren!</p>
    </div>
    <?php 
        return;
    }
    $permission_needed = fablab_get_option('tickets_permission') == '1';
    ?>
  <div id="message-container"></div>
  <div class="busy" hidden></div>
  <?php 
    new TicketShortcodeHelp();
    //--------------------------------------------------------
    // Check TAC
    //--------------------------------------------------------
    $tac_options = fablab_get_tac();
    $tac_acceptance_date = get_user_meta($user_id, 'tac_acceptance_date', true);
    $agb_page = get_post($tac_options['tac_pageid'], ARRAY_A);
    $content = apply_filters("the_content", $agb_page['post_content']);
    if (fablab_user_tac_acceptance()) {
        ?>
    <div id="tac-message" class="message-box">
      <p class="tac-toggle">Um ein Gerät zu nutzen, bitte den AGBs zustimmen! <a id="tac-show">Anzeigen</a></p>    
    </div>
    <?php 
        echo '<div id="tac-content" hidden class="tac-box">';
        if (!empty($content)) {
            echo $content;
            echo '<input type="submit" id="accept-tac" class="button-primary" value="Zustimmen"/>';
            echo '<input type="submit" id="cancel-tac" class="button-primary" value="Abbrechen"/>';
        } else {
            echo '<p>Keine AGBs vorhanden!</br>Bitte kontaktiere den Administrator!</p>';
        }
        echo '</div>';
    } else {
        //--------------------------------------------------------
        // Display Ticket options
        //--------------------------------------------------------
        $ticket_query = get_ticket_query_from_user($user_id);
        $timeticket_query = get_active_user_ticket($user_id);
        new TicketShortcodeTimeticket($timeticket_query);
        //print_active_user_timetickets($timeticket_query);
        $ticket_online = fablab_get_option('ticket_online') == 1;
        $ticket_count = $ticket_query->found_posts;
        $timeticket_count = $timeticket_query->found_posts;
        $tickets_per_user = fablab_get_option('tickets_per_user');
        $max_tickets = $ticket_count + $timeticket_count >= $tickets_per_user;
        $ticket_caption = fablab_get_captions('ticket_caption');
        $tickets_caption = fablab_get_captions('tickets_caption');
        $tickets = new TicketShortcodeTicket();
        if ($ticket_query->have_posts() && $timeticket_count < $tickets_per_user) {
            echo '<h2>' . $tickets_caption . '</h2>';
            $tickets->display_user_tickets($ticket_query);
        }
        echo '<h2>' . fablab_get_captions('devices_caption') . '</h2>';
        if (!$ticket_online) {
            echo '<p class="device-message">Zurzeit können keine ' . $tickets_caption . ' gezogen werden!</p>';
        } else {
            if (!$max_tickets) {
                $tickets->display_available_devices($permission_needed);
            } else {
                echo '<p class="device-message">Du hast die maximale Anzahl von ' . $tickets_caption . ' gezogen!</p>';
            }
        }
    }
    $instuctions = new TicketShortcodeInstructions();
    $instruction_query = get_instruction_query_from_user($user_id);
    echo '<h2>' . fablab_get_captions('instruction_requests_caption') . '</h2>';
    if ($instruction_query->have_posts()) {
        $instuctions->display_user_instructions($instruction_query);
    }
    if ($permission_needed) {
        $instuctions->display_available_instruction_devices();
    }
}