Пример #1
0
function ticket_details_meta()
{
    echo '<p><label>' . fablab_get_captions('device_caption') . ':   </label> <input type="text"  disabled value="' . get_device_title_by_id(get_ticket_field("device_id")) . '" ></p>';
    echo '<p><label>User:   </label> <input type="text" disabled value="' . get_ticket_field("user_id") . '" ></p>';
    echo '<p><label>' . fablab_get_captions('ticket_caption') . ' dauer (min):   </label> <input type="text" disabled value="' . get_ticket_field("duration") . '" ></p>';
    echo '<p><label>Activireungs Zeit:   </label> <input type="text" disabled value="' . get_ticket_field("activation_time") . '" ></p>';
    echo '<p><label>' . fablab_get_captions('ticket_caption') . ' Typ:   </label> <input type="text" disabled value="' . get_ticket_field("ticket_type") . '" ></p>';
}
        public function __construct($ticket_query)
        {
            global $post;
            if ($ticket_query->have_posts()) {
                echo '<div id="time-ticket-listing">';
                echo '<h2>' . fablab_get_captions('time_ticket_caption') . '</h2>';
                echo '<p>Hier wird dir dein aktives ' . fablab_get_captions('time_ticket_caption') . ' angezeigt:</p>';
                while ($ticket_query->have_posts()) {
                    $ticket_query->the_post();
                    $device_id = get_post_meta($post->ID, 'timeticket_device', true);
                    $color = get_post_meta($device_id, 'device_color', true);
                    ?>
          <div class="fl-ticket-element" style="border: 4px solid <?php 
                    echo $color;
                    ?>
;"
            data-user="******"
            data-time-ticket-id="<?php 
                    echo $post->ID;
                    ?>
">
            <p><?php 
                    echo fablab_get_captions('device_caption');
                    ?>
 : <b><?php 
                    echo get_device_title_by_id($device_id);
                    ?>
</b> </p> 
            <h2><?php 
                    echo $post->post_title;
                    ?>
</h2>
            <p>Start Zeit: <b><?php 
                    echo get_timediff_string(get_post_meta($post->ID, 'timeticket_start_time', true));
                    ?>
</b></p>
            <p>End Zeit: <b><?php 
                    echo get_timediff_string(get_post_meta($post->ID, 'timeticket_end_time', true));
                    ?>
</b></p>
            <input type="submit" class="ticket-btn stop-time-ticket" value="Jetzt Beenden"/>
            <input type="submit" data-minutes="30" class="ticket-btn extend-time-ticket" value="+30 Minuten"/>
          </div>
          <?php 
                }
                echo '<div>';
            }
            wp_reset_query();
        }
Пример #3
0
function timeticket_table_content($column_name, $post_id)
{
    switch ($column_name) {
        case 'timeticket_device':
            echo get_device_title_by_id(get_post_meta($post_id, 'timeticket_device', true));
            break;
        case 'timeticket_user':
            echo get_user_by('id', get_post_meta($post_id, 'timeticket_user', true))->display_name;
            break;
        case 'timeticket_start_time':
            echo date_i18n('Y-m-d H:i', get_post_meta($post_id, 'timeticket_start_time', true));
            break;
        case 'timeticket_end_time':
            echo date_i18n('Y-m-d H:i', get_post_meta($post_id, 'timeticket_end_time', true));
            break;
        default:
            echo get_post_meta($post_id, $column_name, true);
            break;
    }
}
        private function display_device_tickets($device_id, $post_number = -1)
        {
            $query_arg = array('post_type' => 'ticket', 'orderby' => 'date', 'order' => 'ASC', 'posts_per_page' => $post_number, 'meta_query' => array('relation' => 'and', array('key' => 'ticket_type', 'value' => 'device'), array('key' => 'device_id', 'value' => $device_id)));
            $ticket_query = new WP_Query($query_arg);
            // Display Tickets
            echo '<div class="ticket-list">';
            echo '<p>Hier werden die wartende Personen angezeigt:</p>';
            global $post;
            if ($ticket_query->have_posts()) {
                while ($ticket_query->have_posts()) {
                    $ticket_query->the_post();
                    $waiting = get_waiting_time_and_persons(get_post_meta($post->ID, 'device_id', true), $post->ID);
                    $color = get_post_meta(get_post_meta($post->ID, 'device_id', true), 'device_color', true);
                    $available = $waiting['time'] == 0;
                    ?>
          <div class="<?php 
                    echo $available ? "fl-ticket-element blink" : "fl-ticket-element";
                    ?>
" 
            style="border-left: 5px solid <?php 
                    echo $color;
                    ?>
;">
            <p><?php 
                    echo the_time('l, j. F, G:i');
                    ?>
<p>
            <h2><?php 
                    echo $post->post_title;
                    ?>
</h2>
            <p>für <?php 
                    echo fablab_get_captions('device_caption');
                    ?>
 : <b><?php 
                    echo get_device_title_by_id(get_post_meta($post->ID, 'device_id', true));
                    ?>
</b> </br> 
            Benutzungsdauer: <b><?php 
                    echo get_post_time_string(get_post_meta($post->ID, 'duration', true));
                    ?>
</b></br>
            Vorraussichtlich Wartezeit: <b><?php 
                    echo get_post_time_string($waiting['time'], true);
                    ?>
</b></p>
          </div>
          <?php 
                }
            } else {
                echo '<p style="margin: 10px;"> Keine wartenden Personen! </p>';
            }
            echo '</div>';
            wp_reset_query();
        }
        public function display_available_instruction_devices()
        {
            global $post;
            $query_arg = array('post_type' => 'device', 'meta_query' => array('relation' => 'OR', array('key' => 'device_status', 'value' => 'online', 'compare' => '=')));
            $device_query = new WP_Query($query_arg);
            $user_id = get_current_user_id();
            $devices_availabel = false;
            get_current_user_id();
            if ($device_query->have_posts()) {
                echo '<p>Hier werden dir die verfügbaren ' . fablab_get_captions('devices_caption') . ' für ' . fablab_get_captions('instructions_caption') . ' angezeigt:</p>';
                echo '<div id="fl-getticket" class="device-list">';
                while ($device_query->have_posts()) {
                    $device_query->the_post();
                    if (!get_user_meta($user_id, $post->ID, true) && !user_has_ticket($user_id, $post->ID, 'instruction')) {
                        ?>
            <div class="fl-device-element get-instruction" data-device-id="<?php 
                        echo $post->ID;
                        ?>
" 
              data-device-name="<?php 
                        echo get_device_title_by_id($post->ID);
                        ?>
">
              <div class="fl-device-element-content">
                <h2><?php 
                        echo $post->post_title;
                        ?>
</h2>
                <p>Nächste <?php 
                        echo fablab_get_captions('instruction_caption');
                        ?>
: <b><?php 
                        echo next_instruction($post->ID);
                        ?>
</b></p>
                <p>Ich möchte für dieses <?php 
                        echo fablab_get_captions('device_caption');
                        ?>
  eine <?php 
                        echo fablab_get_captions('instruction_caption');
                        ?>
</p>
              </div>
            </div>
            <?php 
                        $devices_availabel = true;
                    }
                }
                if (!$devices_availabel) {
                    echo '<p class="device-message">Keine ' . fablab_get_captions('instruction_requests_caption') . ' verfügbar!</p>';
                }
                echo '</div>';
            }
            wp_reset_query();
        }
        function print_device_instruction($device_id)
        {
            global $post;
            $color = get_post_meta($device_id, 'device_color', true);
            $device_name = get_device_title_by_id($device_id);
            echo '<p>' . fablab_get_captions('device_caption') . ' : <b>' . $device_name . ',</b> Nächste ' . fablab_get_captions('instruction_caption') . ': <b>' . next_instruction($device_id) . '</b></p>';
            $query_arg = array('post_type' => 'ticket', 'orderby' => 'date', 'order' => 'ASC', 'orderby' => 'post_author', 'meta_query' => array('relation' => 'and', array('key' => 'ticket_type', 'value' => 'instruction'), array('key' => 'device_id', 'value' => $device_id)));
            $ticket_query = new WP_Query($query_arg);
            if ($ticket_query->have_posts()) {
                echo '<div id="instruction-listing" class="instruction-list">';
                while ($ticket_query->have_posts()) {
                    $ticket_query->the_post();
                    ?>
          <div class="fl-ticket-element instruction-element" style="border-top: 5px solid <?php 
                    echo $color;
                    ?>
;"
            data-ticket-id="<?php 
                    echo $post->ID;
                    ?>
" data-device-id="<?php 
                    echo $device_id;
                    ?>
"
            data-user-id="<?php 
                    echo $post->post_author;
                    ?>
" data-device-name="<?php 
                    echo get_device_title_by_id($device_id);
                    ?>
"
            data-user="******" >
            <p><?php 
                    echo the_time('l, j. F, G:i');
                    ?>
<p>
            <h2><?php 
                    echo $post->post_title;
                    ?>
</h2>
            <p>für <?php 
                    echo fablab_get_captions('device_caption');
                    ?>
 : <b><?php 
                    echo $device_name;
                    ?>
</b></p>
            <input type="submit" class="ticket-btn set-permission" value="Berechtigung hinzufügen"/>
            <input type="submit" class="ticket-btn delete-permission" value="Löschen"/>
          </div>
          <?php 
                }
                echo '<div style="clear:left;"></div></div>';
            } else {
                echo '<p style="margin-bottom:40px; opacity: 0.6;"> -- Keine ' . fablab_get_captions('instruction_requests_caption') . '! -- </p>';
            }
            wp_reset_query();
        }
        public function display_user_tickets($ticket_query)
        {
            global $post;
            echo '<p>Hier wird dir dein gezogenes ' . fablab_get_captions('ticket_caption') . ' angezeigt:</p>';
            echo '<div id="ticket-listing" class="ticket-list">';
            while ($ticket_query->have_posts()) {
                $ticket_query->the_post();
                $waiting = get_waiting_time_and_persons(get_post_meta($post->ID, 'device_id', true), $post->ID);
                $color = get_post_meta(get_post_meta($post->ID, 'device_id', true), 'device_color', true);
                $device_id = get_post_meta($post->ID, 'device_id', true);
                $post->post_status == 'draft' ? $opacity = 0.6 : ($opacity = 1);
                $waiting['time'] == 0 ? $class = "fl-ticket-element blink" : ($class = "fl-ticket-element");
                if (get_post_meta($post->ID, 'activation_time', true) == 'not set' || $opacity == 1) {
                    ?>
          <div class="<?php 
                    echo $class;
                    ?>
" style="border-left: 5px solid <?php 
                    echo $color;
                    ?>
; opacity: <?php 
                    echo $opacity;
                    ?>
;"
            data-ticket-id="<?php 
                    echo $post->ID;
                    ?>
" data-device-id="<?php 
                    echo $device_id;
                    ?>
"
            data-duration="<?php 
                    echo get_post_meta($post->ID, 'duration', true);
                    ?>
"
            data-user-id="<?php 
                    echo $post->post_author;
                    ?>
" data-device-name="<?php 
                    echo get_device_title_by_id($device_id);
                    ?>
"
            data-user="******">
            <p><?php 
                    echo the_time('l, j. F, G:i');
                    ?>
<p>
            <h2><?php 
                    echo fablab_get_captions('ticket_caption');
                    ?>
</h2>
            <p>für <?php 
                    echo fablab_get_captions('device_caption');
                    ?>
 : <b><?php 
                    echo get_device_title_by_id(get_post_meta($post->ID, 'device_id', true));
                    ?>
</b> </br> 
            Benutzungsdauer: <b><?php 
                    echo get_post_time_string(get_post_meta($post->ID, 'duration', true));
                    ?>
</b></p>
            <p id="waiting-time">Vor dir wartende Personen: <b><?php 
                    echo $waiting['persons'];
                    ?>
</b></br>
            Vorraussichtlich Wartezeit: <b><?php 
                    echo get_post_time_string($waiting['time'], true);
                    ?>
</b></p>
            <?php 
                    if ($opacity == 1) {
                        echo '<input type="submit" class="ticket-btn edit-ticket" value="' . fablab_get_captions('ticket_caption') . ' bearbeiten"/>';
                    } else {
                        echo '<p></br><b>Dein ' . fablab_get_captions('ticket_caption') . ' ist deaktiviert, bitte melde dich bei dem Manager!</b></p>';
                    }
                    ?>
          </div>
          <?php 
                }
            }
            echo '</div>';
            wp_reset_query();
            // Display overlay change Ticket
            ?>
      <div id="overlay-edit-ticket" class="fl-overlay" hidden>
        <div id="device-edit-ticket-box" class="device-ticket" hidden>
          <a href="#" class="close">x</a>
          <h2><?php 
            echo fablab_get_captions('ticket_caption');
            ?>
 bearbeiten</h2>
          <p><?php 
            echo fablab_get_captions('device_caption');
            ?>
 : <select id="edit-ticket-device-select"></select></p>
          <p id="edit-ticket-waiting-time"><p>
          <div id="edit-ticket-device-content"></div>
          <p>Dauer: <select id="edit-ticket-time-select"></select></p>
          <input type="submit" id="submit-change-ticket" class="button-primary" value="<?php 
            echo fablab_get_captions('ticket_caption');
            ?>
 speichern"/>
          <input type="submit" id="delete-change-ticket" class="button-primary" value="Löschen"/>
          <input type="submit" id="cancel-change-ticket" class="button-primary" value="Abbrechen"/>
       </div>
       <div class="fl-overlay-background"></div>
      </div>
      <?php 
        }