Beispiel #1
0
function themerex_media_view_compat($form_fields, $post = null)
{
    static $terms = null, $id = 0;
    if (isset($form_fields['media_folder'])) {
        $field = $form_fields['media_folder'];
        if (!$terms) {
            //$terms = get_terms('media_folder');
            $terms = getTermsByTaxonomy(array('media_folder'));
            $terms = getTermsHierarchicalList($terms, array('prefix_key' => 'media_folder.', 'prefix_level' => '-'));
        }
        $values = array_map('trim', explode(',', $field['value']));
        $readonly = '';
        //! $user_can_edit && ! empty( $field['taxonomy'] ) ? " readonly='readonly' " : '';
        $required = !empty($field['required']) ? '<span class="alignright"><abbr title="required" class="required">*</abbr></span>' : '';
        $aria_required = !empty($field['required']) ? " aria-required='true' " : '';
        $html = '';
        if (count($terms) > 0) {
            foreach ($terms as $slug => $name) {
                $id++;
                $slug = themerex_substr($slug, 13);
                $html .= ($html ? '<br />' : '') . '<input type="checkbox" class="text" id="media_folder_' . $id . '" name="media_folder_' . esc_attr($slug) . '" value="' . esc_attr($slug) . '"' . (in_array($slug, $values) ? ' checked="checked"' : '') . ' ' . $readonly . ' ' . $aria_required . ' /><label for="media_folder_' . $id . '"> ' . $name . '</label>';
            }
        }
        $form_fields['media_folder']['input'] = 'media_folder_input';
        $form_fields['media_folder']['media_folder_input'] = '<div class="media_folder_selector">' . $html . '</div>';
    }
    return $form_fields;
}
 function getTermsHierarchicalList($terms, $opt = array())
 {
     $opt = themerex_array_merge(array('prefix_key' => '', 'prefix_level' => '&nbsp;', 'parent' => 0, 'level' => ''), $opt);
     $rez = array();
     if (count($terms) > 0) {
         foreach ($terms as $term) {
             if ((is_object($term) ? $term->parent : $term['parent']) != $opt['parent']) {
                 continue;
             }
             $slug = is_object($term) ? $term->slug : $term['slug'];
             $name = is_object($term) ? $term->name : $term['name'];
             $count = is_object($term) ? $term->count : $term['count'];
             $rez[$opt['prefix_key'] . $slug] = ($opt['level'] ? $opt['level'] . ' ' : '') . $name . ($count ? ' (' . $count . ')' : '');
             $rez = themerex_array_merge($rez, getTermsHierarchicalList($terms, array('prefix_key' => $opt['prefix_key'], 'prefix_level' => $opt['prefix_level'], 'parent' => is_object($term) ? $term->term_id : $term['term_id'], 'level' => $opt['level'] . $opt['prefix_level'])));
         }
     }
     return $rez;
 }