'aip_magazine_active_issue', 'description' => __( 'Displays the active AipMagazine Issue details', 'aip_magazine' ) ); parent::__construct( 'AipMagazine_Active_Issue', __( 'AipMagazine Active Issue', 'aip_magazine' ), $widget_ops ); } /** * Displays the widget on the front end * * @since 1.0.0 * * @param array $args * @param array $instance */ function widget( $args, $instance ) { extract( $args ); $aip_magazine_settings = get_aip_magazine_settings(); $issue = get_active_aip_magazine_issue(sanitize_text_field($instance['journal_displayed'])); $get_term_by = get_term_by( 'slug', $issue, 'aip_magazine_issue' ); if ( !empty($get_term_by)) { $term = get_term_by( 'slug', $issue, 'aip_magazine_issue' ); $meta_options = get_option( 'aip_magazine_issue_' . $term->term_id . '_meta' ); $title = apply_filters('active_issue_widget_title', empty( $instance['title'] ) ? '' : sanitize_text_field($instance['title']), $instance, $this->id_base); $out = ''; if ( !empty( $meta_options['external_link'] ) ){ $issue_url = $meta_options['external_link']; }else { if ( 0 == $aip_magazine_settings['page_for_articles_active_issue'] ) { $article_page = get_bloginfo('wpurl') . '/' . apply_filters('aip_magazine_page_for_articles', 'article/'); } else { $article_page = get_page_link($aip_magazine_settings['page_for_articles_active_issue']); } $page_for_articles = $aip_magazine_settings['page_for_articles']; if ($page_for_articles == 0){ $issue_url = get_term_link($term->slug, $term->taxonomy); } else { $issue_url = get_page_link($aip_magazine_settings['page_for_articles']) . '?issue=' . $issue; } if ( !empty( $aip_magazine_settings['use_issue_tax_links'] ) || is_wp_error( $issue_url ) ) { $issue_url = add_query_arg( 'issue', $issue, $article_page ); } } if ( 'on' == $instance['display_issue_name'] ) { if ( !empty( $meta_options['issue_status'] ) ) { if ( 'PDF Archive' == $meta_options['issue_status'] ) { $out .= '

' . $term->name . '

'; }else{ if ( !empty( $meta_options['external_link'] ) ) { $out .= '

' . $term->name . '

'; }else{ $out .= '

' . $term->name . '

'; } } } } if ( 'on' == $instance['display_issue_cover'] ) { if ( !empty( $meta_options['cover_image'] ) ){ if ( 'PDF Archive' == $meta_options['issue_status'] ) { if ( !empty( $meta_options['pdf_version'] ) ){ $out .= '

' . wp_get_attachment_image( $meta_options['cover_image'], 'aip_magazine-cover-image' ) . '

'; }else{ $out .= '

' . wp_get_attachment_image( $meta_options['cover_image'], 'aip_magazine-cover-image' ) . '

'; } }else{ if ( !empty( $meta_options['external_link'] ) ) { $out .= '

' . wp_get_attachment_image( $meta_options['cover_image'], 'aip_magazine-cover-image' ) . '

'; }else{ $out .= '

' . wp_get_attachment_image( $meta_options['cover_image'], 'aip_magazine-cover-image' ) . '

'; } } }else{ if ( !empty( $meta_options['issue_status'] ) ) { if ( ( 'PDF Archive' == $meta_options['issue_status'] ) || ( 'Solo PDF' == $meta_options['issue_status'] ) || ( 'Sólo PDF' == $meta_options['issue_status'] ) ){ if ( !empty( $meta_options['pdf_version'] ) ){ $out .= '

'; }else{ $out .= '

'; } }else{ $out .= '

'; } } } } if ( 'on' == $instance['display_pdf_link'] ) { if ( !empty( $meta_options['pdf_version'] ) ) { $out .= '

' . $aip_magazine_settings['pdf_title'] . '

'; }else if ( !empty( $meta_options['external_pdf_link'] ) ) { $out .= '

' . $aip_magazine_settings['pdf_title'] . '

'; } } if ( ! empty( $out ) ) { echo $before_widget; if ( $title) { echo $before_title . $title . $after_title; } echo '
'; echo $out; echo '
'; echo $after_widget; } } } /** * Saves the widgets options on submit * * @since 1.0.0 * * @param array $new_instance * @param array $old_isntance */ function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = $new_instance['title']; $instance['journal_displayed'] = $new_instance['journal_displayed']; $instance['display_issue_name'] = ( 'on' == $new_instance['display_issue_name'] ) ? 'on' : 'off'; $instance['display_issue_cover'] = ( 'on' == $new_instance['display_issue_cover'] ) ? 'on' : 'off'; $instance['display_pdf_link'] = ( 'on' == $new_instance['display_pdf_link'] ) ? 'on' : 'off'; return $instance; } /** * Displays the widget options in the dashboard * * @since 1.0.0 * * @param array $instance */ function form( $instance ) { $available_issues = get_terms( 'aip_magazine_issue', array( 'hide_empty' => false ) ); //Defaults $defaults = array( 'journal_displayed' => 'none', 'display_issue_name' => 'on', 'display_issue_cover' => 'on', 'display_pdf_link' => 'on' ); extract( wp_parse_args( (array) $instance, $defaults ) ); if ( !empty( $available_issues ) ) : ?>


/>

/>

/>

'aip_magazine_article_list', 'description' => __( 'Sidebar widget to display the current articles.', 'aip_magazine' ) ); $control_ops = array('width' =>400, 'height' => 350); parent::__construct( 'AipMagazine_Article_List', __( 'AipMagazine Article List', 'aip_magazine' ), $widget_ops, $control_ops ); } /** * Displays the widget on the front end * * @since 1.0.0 * * @param array $args * @param array $instance */ function widget( $atts, $instance ) { global $post; if ( !empty( $post->ID ) ) $current_post_id = $post->ID; else $current_post_id = 0; $aip_magazine_settings = get_aip_magazine_settings(); $out = ''; extract( $atts ); $title = apply_filters('widget_title', empty( $instance['title'] ) ? '' : sanitize_text_field($instance['title']), $instance, $this->id_base); $args = array( 'posts_per_page' => empty( $instance['posts_per_page'] ) ? -1 : sanitize_text_field($instance['posts_per_page']), 'post_type' => 'aip_article', 'orderby' => empty( $instance['orderby'] ) ? 'menu_order' : sanitize_text_field($instance['orderby']), 'order' => empty( $instance['order'] ) ? 'DESC' : sanitize_text_field($instance['order']), ); $aip_magazine_issue = array( 'taxonomy' => 'aip_magazine_issue', 'field' => 'slug', 'terms' => get_active_aip_magazine_issue(sanitize_text_field($instance['journal_displayed'])) ); //filtering on journal if ( !empty( $instance['journal_displayed'] ) && 'none' != $instance['journal_displayed'] ) { $journal = array( 'taxonomy' => 'aip_magazine_issue_journals', 'field' => 'term_id', 'terms' => (array)sanitize_text_field($instance['journal_displayed']) ); } else { $journal = array (); } //filtering on issues if ( !empty( $instance['issue_displayed'] ) && 'all' != $instance['issue_displayed'] ) { $issue = array( 'taxonomy' => 'aip_magazine_issue', 'field' => 'slug', 'terms' => (array)sanitize_text_field($instance['issue_displayed']) ); } else { $issue = array( 'taxonomy' => 'aip_magazine_issue', 'field' => 'term_id', 'terms' => array( 0 ), 'operator' => 'NOT IN' ); } //filtering on categories if ( !empty( $instance['article_category'] ) && 'all' != $instance['article_category'] ) { $category = array( 'taxonomy' => 'aip_magazine_issue_categories', 'field' => 'slug', 'terms' => (array)sanitize_key($instance['article_category']) ); } else { $category = array( 'taxonomy' => 'aip_magazine_issue_categories', 'field' => 'term_id', 'terms' => array( 0 ), 'operator' => 'NOT IN' ); } $args['tax_query'] = array( 'relation' => 'AND', $journal, $issue, $category ); $articles = new WP_Query( $args ); if ( $articles->have_posts() ) : while ( $articles->have_posts() ) : $articles->the_post(); $out .= '
'; $out .= "\n\n"; if ( $current_post_id == $post->ID ) $out .= '
'; $out .= aip_magazine_replacements_args( sanitize_textarea_field($instance['article_format']), $post ); if ( $current_post_id == $post->ID ) $out .= '
'; $out .= '
'; endwhile; endif; if ( !empty( $out ) ) { echo $before_widget; if ( $title) echo $before_title . $title . $after_title; echo '
'; echo $out; echo '
'; echo $after_widget; } wp_reset_query(); } /** * Save's the widgets options on submit * * @since 1.0 * @param array $new_instance * @param array $old_instance */ function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = $new_instance['title']; $instance['journal_displayed'] = $new_instance['journal_displayed']; $instance['issue_displayed'] = $new_instance['issue_displayed']; $instance['posts_per_page'] = $new_instance['posts_per_page']; $instance['article_format'] = $new_instance['article_format']; $instance['article_category'] = $new_instance['article_category']; $instance['orderby'] = $new_instance['orderby']; $instance['order'] = $new_instance['order']; return $instance; } /** * Displays the widget options in the dashboard * * @since 1.0 * @param array $instance */ function form( $instance ) { $available_issues = get_terms( 'aip_magazine_issue', array( 'hide_empty' => false ) ); //Defaults $defaults = array( 'title' => '', 'journal_displayed' => 'none', 'issue_displayed' => 'none', 'article_format' => '

%CATEGORY[1]%

' . "\n" . '

%TITLE%

' . "\n" . '

%TEASER%

' . "\n", 'article_category' => 'all', 'posts_per_page' => '-1', 'orderby' => 'menu_order', 'order' => 'DESC', ); extract( wp_parse_args( (array) $instance, $defaults ) ); if ( !empty( $available_issues ) ) : ?>

true ) ); ?>


true ) ); ?>


true ) ); ?>


-1 = All Articles

__( 'None', 'aip_magazine' ), 'ID' => __( 'Article ID', 'aip_magazine' ), 'author' => __( 'Article Author', 'aip_magazine' ), 'title' => __( 'Article Title', 'aip_magazine' ), 'name' => __( 'Article Name', 'aip_magazine' ), 'date' => __( 'Article Publish Date', 'aip_magazine' ), 'modified' => __( 'Article Modified Date', 'aip_magazine' ), 'menu_order' => __( 'Article Order', 'aip_magazine' ), 'rand' => __( 'Random Order', 'aip_magazine' ), 'comment_count' => __( 'Comment Count', 'aip_magazine' ) ); ?>

__( 'Descending', 'aip_magazine' ), 'ASC' => __( 'Ascending', 'aip_magazine' ), ); ?>


'aip_magazine_widget_categories', 'description' => __( 'A list or dropdown of Article categories', 'aip_magazine' ), ); parent::__construct('AipMagazine_Article_Categories', __( 'AipMagazine Article Categories', 'aip_magazine' ), $widget_ops); } function widget( $args, $instance ) { extract( $args ); $title = apply_filters('widget_title', empty( $instance['title'] ) ? __( 'Article Categories', 'aip_magazine' ) : sanitize_text_field($instance['title']), $instance, $this->id_base); $parent = empty( $instance['journal_displayed'] ) ? '0' : sanitize_text_field($instance['journal_displayed']); $c = ! empty( $instance['count'] ) ? '1' : '0'; $d = ! empty( $instance['dropdown'] ) ? '1' : '0'; echo $before_widget; if ( $title ) echo $before_title . $title . $after_title; $cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h, 'parent' => $parent); if ( $d ) { $cat_args['show_option_none'] = __( 'Select Article Category', 'aip_magazine' ); $cat_args['name'] = ''; $cat_args['id'] = 'aip_magazine_issue_categories'; aip_magazine_dropdown_categories( apply_filters('aip_magazine_widget_categories_dropdown_args', $cat_args) ); ?> '','journal_displayed' =>'none') ); $title = sanitize_text_field($instance['title']) ; $count = !empty($instance['count']) ? (bool) $instance['count'] :false; $dropdown = !empty( $instance['dropdown'] ) ? (bool) $instance['dropdown'] : false; $journal_displayed = sanitize_text_field($instance['journal_displayed']); ?>


/>
/>