public static function instance()
 {
     if (null == self::$instance) {
         self::$instance = new self();
         self::$instance->init();
     }
     return self::$instance;
 }
 private function studiengang()
 {
     $args = array('name' => get_query_var('studiengang'), 'post_type' => self::$post_type, 'post_status' => 'publish', 'posts_per_page' => 1);
     $posts = get_posts($args);
     if (isset($posts[0])) {
         $post = $posts[0];
     }
     if (isset($post)) {
         printf('<h3>%s</h3>', $post->post_title);
         echo FAU_Studienangebot::the_output($post->ID);
     } else {
         echo '<p class="notice-attention">' . __('Es konnte nichts gefunden werden.', self::$textdomain) . '</p>';
     }
 }
    private function form()
    {
        $abschlussgruppe = FAU_Studienangebot::get_abschlussgruppe();
        $terms = get_terms('abschluss', array('pad_counts' => true, 'hide_empty' => 1));
        $abschluesse = array();
        foreach ($terms as $term) {
            $term_meta = get_option("abschluss_category_{$term->term_id}");
            if ($term_meta && !empty($abschlussgruppe[$term_meta['abschlussgruppe']])) {
                $abschluesse[$term_meta['abschlussgruppe']][$term->term_id] = (object) array('term_id' => $term->term_id, 'name' => $term->name, 'slug' => $term->slug);
            }
        }
        uksort($abschluesse, 'strnatcasecmp');
        $abschluss = array();
        foreach ($abschlussgruppe as $key => $val) {
            if (isset($abschluesse[$key])) {
                $abschluss[$key] = $abschluesse[$key];
            }
        }
        ?>
        <div class="span3">

            <form id="studienangebot" action="<?php 
        the_permalink();
        ?>
" method="get">
                <h3><?php 
        _e('Studiengang', self::$textdomain);
        ?>
</h3>
                <?php 
        $terms = get_terms('studiengang', array('pad_counts' => true, 'hide_empty' => 1));
        ?>
                <p>
                    <select name="<?php 
        echo self::prefix;
        ?>
studiengang[]" id="studiengang_category">
                        <option value="0"><?php 
        _e('Alle Studiengänge', self::$textdomain);
        ?>
</option>
                        <?php 
        foreach ($terms as $term) {
            ?>
                            <?php 
            $selected = in_array($term->slug, isset($this->taxs['studiengang']) ? $this->taxs['studiengang'] : array());
            ?>
                            <option value="<?php 
            echo $term->slug;
            ?>
" <?php 
            selected($selected);
            ?>
><?php 
            echo $term->name;
            ?>
</option>
                        <?php 
        }
        ?>
                    </select>
                </p>
                <h3><?php 
        _e('Fächergruppe', self::$textdomain);
        ?>
</h3>
                <?php 
        $terms = get_terms('faechergruppe', array('pad_counts' => true, 'hide_empty' => 1));
        ?>
                <?php 
        foreach ($terms as $term) {
            ?>
                    <?php 
            $checked = in_array($term->slug, isset($this->taxs['faechergruppe']) ? $this->taxs['faechergruppe'] : array());
            ?>
                    <p>
                        <input type="checkbox" name="<?php 
            echo self::prefix;
            ?>
faechergruppe[]" value="<?php 
            echo $term->slug;
            ?>
" id="faechergruppe-<?php 
            echo $term->term_id;
            ?>
" <?php 
            checked($checked);
            ?>
>
                        <label for="faechergruppe-<?php 
            echo $term->term_id;
            ?>
"><?php 
            echo $term->name;
            ?>
</label>
                    </p>
                <?php 
        }
        ?>
                <h3><?php 
        _e('Fakultät', self::$textdomain);
        ?>
</h3>
                <?php 
        $terms = get_terms('fakultaet', array('pad_counts' => true, 'hide_empty' => 1));
        ?>
                <?php 
        foreach ($terms as $term) {
            ?>
                    <?php 
            $checked = in_array($term->slug, isset($this->taxs['fakultaet']) ? $this->taxs['fakultaet'] : array());
            ?>
                    <p>
                        <input type="checkbox" name="<?php 
            echo self::prefix;
            ?>
fakultaet[]" value="<?php 
            echo $term->slug;
            ?>
" id="fakultaet-<?php 
            echo $term->term_id;
            ?>
" <?php 
            checked($checked);
            ?>
>
                        <label for="fakultaet-<?php 
            echo $term->term_id;
            ?>
"><?php 
            echo $term->name;
            ?>
</label>
                    </p>
                <?php 
        }
        ?>
                    
                <h3><?php 
        _e('Abschluss', self::$textdomain);
        ?>
</h3>

                <?php 
        foreach ($abschluss as $key => $terms) {
            ?>
                    <h4><?php 
            echo $abschlussgruppe[$key];
            ?>
</h4>
                    <?php 
            foreach ($terms as $term) {
                ?>
                        <?php 
                $checked = in_array($term->slug, isset($this->taxs['abschluss']) ? $this->taxs['abschluss'] : array());
                ?>
                        <p>
                            <input type="checkbox" name="<?php 
                echo self::prefix;
                ?>
abschluss[]" value="<?php 
                echo $term->slug;
                ?>
" id="abschluss-<?php 
                echo $term->term_id;
                ?>
" <?php 
                checked($checked);
                ?>
>
                            <label for="abschluss-<?php 
                echo $term->term_id;
                ?>
"><?php 
                echo $term->name;
                ?>
</label>
                        </p>
                    <?php 
            }
            ?>
                <?php 
        }
        ?>

                <h3><?php 
        _e('Studienbeginn', self::$textdomain);
        ?>
</h3>
                <?php 
        $terms = get_terms('semester', array('pad_counts' => true, 'hide_empty' => 1));
        ?>
                <?php 
        foreach ($terms as $term) {
            ?>
                    <?php 
            $checked = in_array($term->slug, isset($this->taxs['semester']) ? $this->taxs['semester'] : array());
            ?>
                    <p>
                        <input type="checkbox" name="<?php 
            echo self::prefix;
            ?>
semester[]" value="<?php 
            echo $term->slug;
            ?>
" id="semester-<?php 
            echo $term->term_id;
            ?>
" <?php 
            checked($checked);
            ?>
>
                        <label for="semester-<?php 
            echo $term->term_id;
            ?>
"><?php 
            echo $term->name;
            ?>
</label>
                    </p>
                <?php 
        }
        ?>
                <h3><?php 
        _e('Studienort', self::$textdomain);
        ?>
</h3>
                <?php 
        $terms = get_terms('studienort', array('pad_counts' => true, 'hide_empty' => 1));
        ?>
                <?php 
        foreach ($terms as $term) {
            ?>
                    <?php 
            $checked = in_array($term->slug, isset($this->taxs['studienort']) ? $this->taxs['studienort'] : array());
            ?>
                    <p>
                        <input type="checkbox" name="<?php 
            echo self::prefix;
            ?>
studienort[]" value="<?php 
            echo $term->slug;
            ?>
" id="studienort-<?php 
            echo $term->term_id;
            ?>
" <?php 
            checked($checked);
            ?>
>
                        <label for="studienort-<?php 
            echo $term->term_id;
            ?>
"><?php 
            echo $term->name;
            ?>
</label>
                    </p>
                <?php 
        }
        ?>
               <h3><?php 
        _e('NC für Studienanfänger', self::$textdomain);
        ?>
</h3>
                <p>
                    <input type="checkbox" name="<?php 
        echo self::prefix;
        ?>
mitnc" value="1" id="mitnc" <?php 
        checked($this->mitnc);
        ?>
>
                    <label for="mitnc"><?php 
        _e('mit NC', self::$textdomain);
        ?>
</label>
                </p>
                <p>
                    <input type="checkbox" name="<?php 
        echo self::prefix;
        ?>
zulassungsfrei" value="1" id="mitnc" <?php 
        checked($this->zulassungsfrei);
        ?>
>
                    <label for="mitnc"><?php 
        _e('zulassungsfrei', self::$textdomain);
        ?>
</label>
                </p>                
                <h3><?php 
        _e('Weitere Eigenschaften', self::$textdomain);
        ?>
</h3>
                <?php 
        $terms = get_terms('saattribut', array('pad_counts' => true, 'hide_empty' => 1));
        ?>
                <?php 
        foreach ($terms as $term) {
            ?>
                    <?php 
            $checked = in_array($term->slug, isset($this->taxs['saattribut']) ? $this->taxs['saattribut'] : array());
            ?>
                    <p>
                        <input type="checkbox" name="<?php 
            echo self::prefix;
            ?>
saattribut[]" value="<?php 
            echo $term->slug;
            ?>
" id="saattribut-<?php 
            echo $term->term_id;
            ?>
" <?php 
            checked($checked);
            ?>
>
                        <label for="saattribut-<?php 
            echo $term->term_id;
            ?>
"><?php 
            echo $term->name;
            ?>
</label>
                    </p>
                <?php 
        }
        ?>
                 <p>
                    <input class="submit-button" type="submit" value="<?php 
        _e('Auswählen', self::$textdomain);
        ?>
">
                </p>
            </form>
        </div>
        <?php 
    }