/**
  * Get Pagination settings
  *
  * @param array $dargs The settings array of Fields
  * @param array $args  The parameters array
  * @param array $pargs The pagination settings array
  */
 static function view_get_pagination_settings(&$dargs, &$args, $pargs)
 {
     $view_settings = PT_CV_Functions::get_global_variable('view_settings');
     // Get Limit value
     $limit = trim(PT_CV_Functions::setting_value(PT_CV_PREFIX . 'limit', $view_settings));
     $limit = empty($limit) || $limit === '-1' ? 10000000 : (int) $limit;
     $args['limit'] = $args['posts_per_page'] = $limit;
     $offset = 0;
     // Get pagination enable/disable
     $pagination = PT_CV_Functions::setting_value(PT_CV_PREFIX . 'enable-pagination', $view_settings);
     if ($pagination) {
         $prefix = PT_CV_PREFIX . 'pagination-';
         $field_setting = PT_CV_Functions::settings_values_by_prefix($prefix);
         $dargs['pagination-settings'] = apply_filters(PT_CV_PREFIX_ . 'pagination_settings', $field_setting, $prefix);
         // If Items per page is set, get its value
         $posts_per_page = isset($dargs['pagination-settings']['items-per-page']) ? (int) $dargs['pagination-settings']['items-per-page'] : $limit;
         if ($posts_per_page > $limit) {
             $posts_per_page = $limit;
         }
         // Set 'posts_per_page' parameter
         $args['posts_per_page'] = $posts_per_page;
         // Get offset
         $paged = self::get_current_page($pargs);
         $offset = $posts_per_page * ((int) $paged - 1);
         // Update posts_per_page
         if (intval($args['posts_per_page']) > $limit - $offset) {
             $args['posts_per_page'] = $limit - $offset;
         }
     }
     $offset = apply_filters(PT_CV_PREFIX_ . 'settings_args_offset', $offset);
     // Set 'offset' parameter
     $args['offset'] = $offset;
 }
Example #2
0
 /**
  * Check if using pagination: Non-ajax or First page (of Ajax pagination)
  *
  * @param array $dargs
  * @param int $current_page
  * @return bool
  */
 static function nonajax_or_firstpage($dargs, $current_page)
 {
     if (!PT_CV_Functions::setting_value(PT_CV_PREFIX . 'enable-pagination')) {
         return false;
     }
     if ($dargs['pagination-settings']['type'] === 'normal') {
         return true;
     } else {
         if ($current_page === 1) {
             return true;
         } else {
             return false;
         }
     }
 }
 /**
  * Wrap content of Collapsible List type
  *
  * @param array $content_items The array of Raw HTML output (is not wrapped) of each item
  * @param array $content       The output array
  *
  * @return string Collapsible list, wrapped in a "panel-group" div
  */
 static function collapsible_wrapper($content_items, &$content)
 {
     $random_id = PT_CV_Functions::string_random();
     $idx = 0;
     $collapsible_list = array();
     $open_first = PT_CV_Functions::setting_value(PT_CV_PREFIX . 'collapsible-open-first-item');
     foreach ($content_items as $post_id => $content_item) {
         // Replace class in body of collapsible item, to show one (now is the first item)
         $class = $idx++ == 0 && $open_first === 'yes' ? 'in' : '';
         $content_item = str_replace(PT_CV_PREFIX_UPPER . 'CLASS', $class, $content_item);
         $content_item = PT_CV_Html::content_item_wrap($content_item, 'panel panel-default', $post_id);
         // Replace id in {data-parent="#ID"} of each item by generated id
         $collapsible_list[] = str_replace(PT_CV_PREFIX_UPPER . 'ID', $random_id, $content_item);
     }
     // Data attribute
     $data_attr = apply_filters(PT_CV_PREFIX_ . 'collapsible_data_attr', '');
     // Collapsible wrapper class
     $wrapper_class = apply_filters(PT_CV_PREFIX_ . 'wrapper_collapsible_class', 'panel-group');
     $output = sprintf('<div class="%s" id="%s" %s>%s</div>', esc_attr($wrapper_class), esc_attr($random_id), $data_attr, implode("\n", $collapsible_list));
     $content[] = $output;
 }
Example #4
0
 /**
  * HTML output of thumbnail field
  *
  * @param object $post  The post object
  * @param array  $_fargs The settings of this field
  *
  * @return string
  */
 static function _field_thumbnail($post, $_fargs)
 {
     $layout_format = $_fargs['layout-format'];
     // Get thumbnail settings
     $fargs = $_fargs['thumbnail'];
     // Thumbnail class
     $thumbnail_position = 'default';
     $thumbnail_class = array();
     $thumbnail_class[] = PT_CV_PREFIX . 'thumbnail';
     $thumbnail_class[] = isset($fargs['style']) ? $fargs['style'] : '';
     if ($layout_format === '2-col') {
         $thumbnail_position = isset($fargs['position']) ? $fargs['position'] : 'left';
         $thumbnail_class[] = 'pull-' . $thumbnail_position;
     }
     $gargs = array('class' => apply_filters(PT_CV_PREFIX_ . 'field_thumbnail_class', implode(' ', array_filter($thumbnail_class))));
     /**
      * @since 1.7.5
      * able to disable responsive image of WordPress 4.4
      */
     if (PT_CV_Functions::setting_value(PT_CV_PREFIX . 'field-thumbnail-nowprpi')) {
         $gargs['srcset'] = 1;
     }
     // Get thumbnail dimensions
     $dimensions = (array) apply_filters(PT_CV_PREFIX_ . 'field_thumbnail_dimension_output', PT_CV_Functions::field_thumbnail_dimensions($fargs), $fargs);
     // Check if has thumbnail ( has_post_thumbnail doesn't works )
     $thumbnail_id = get_post_thumbnail_id($post->ID);
     // Check if user doesn't want to load thumbnail: field_thumbnail_load = 0
     $load_thumbnail = !empty($thumbnail_id) && apply_filters(PT_CV_PREFIX_ . 'field_thumbnail_load', 1);
     $html = '';
     if ($load_thumbnail) {
         $thumbnail_size = count($dimensions) > 1 ? $dimensions : $dimensions[0];
         $html = wp_get_attachment_image((int) $thumbnail_id, $thumbnail_size, false, $gargs);
         $html = apply_filters(PT_CV_PREFIX_ . 'field_thumbnail_image', $html, $post, $dimensions, $fargs);
     }
     // If no thumbnail
     if (empty($html)) {
         $html = apply_filters(PT_CV_PREFIX_ . 'field_thumbnail_not_found', $html, $post, $dimensions, $gargs);
     }
     // Add link to thumbnail
     $dargs = PT_CV_Functions::get_global_variable('dargs');
     $oargs = isset($dargs['other-settings']) ? $dargs['other-settings'] : array();
     $html = self::_field_href($oargs, $post, $html, implode(' ', array(PT_CV_PREFIX . 'href-thumbnail', PT_CV_PREFIX . 'thumb-' . $thumbnail_position)));
     return $html;
 }
Example #5
0
 static function is_responsive_image_disabled()
 {
     return apply_filters(PT_CV_PREFIX_ . 'disable_responsive_image', PT_CV_Functions::setting_value(PT_CV_PREFIX . 'field-thumbnail-nowprpi'));
 }
Example #6
0
 public static function filter_disable_wp_responsive_image($args)
 {
     if (PT_CV_Functions::setting_value(PT_CV_PREFIX . 'field-thumbnail-nowprpi')) {
         if (isset($args['sizes'])) {
             unset($args['sizes']);
         }
         if (isset($args['srcset'])) {
             unset($args['srcset']);
         }
     }
     return $args;
 }