WordPress.org

Plugin Directory

Changeset 1684297 for event-post


Ignore:
Timestamp:
06/23/17 13:22:12 (6 months ago)
Author:
bastho
Message:

Initial work on Search-Form

Location:
event-post/trunk
Files:
3 added
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • event-post/trunk/eventpost.php

    r1626409 r1684297  
    44  Plugin URI: http://event-post.com 
    55  Description: Add calendar and/or geolocation metadata on posts. For a better experience, we recommand to use it with <a href="https://wordpress.org/plugins/shortcode-ui/" target="_blank">Shortcake (shortcode UI)</a> installed. 
    6   Version: 4.5.1 
     6  Version: 5.0 
    77  Author: N.O.U.S. Open Useful and Simple 
    88  Contributors: bastho,ecolosites 
     
    8888 
    8989        $inc_path = plugin_dir_path(__FILE__).'inc/'; 
     90        include_once ($inc_path . 'wrappers.php'); 
    9091        include_once ($inc_path . 'widget.php'); 
    9192        include_once ($inc_path . 'widget.cal.php'); 
     
    593594        //Display dates 
    594595        $dates="\t\t\t\t".'<div class="event_date" data-start="' . $this->human_date($time_start) . '" data-end="' . $this->human_date($time_end) . '">'; 
    595         if (date('d/m/Y', $time_start) == date('d/m/Y', $time_end)) { 
     596        if (date('d/m/Y', $time_start) == date('d/m/Y', $time_end)) { // same day 
    596597            $dates.= "\n\t\t\t\t\t\t\t".'<time itemprop="dtstart" datetime="' . date_i18n('c', $time_start) . '">' 
    597598                    . '<span class="date date-single">' . $this->human_date($time_end, $this->settings['dateformat']) . "</span>"; 
     
    607608            } 
    608609            $dates.="\n\t\t\t\t\t\t\t".'</time>'; 
    609         } else { 
     610        } else { // not same day 
    610611            $dates.= ' 
    611612                <span class="linking_word linking_word-from">' . __('from', 'event-post') . '</span> 
    612                 <time class="date date-start" itemprop="dtstart" datetime="' . date('c', $time_start) . '">' . $this->human_date($time_start, $this->settings['dateformat']) . '</time> 
     613                <time class="date date-start" itemprop="dtstart" datetime="' . date('c', $time_start) . '">' . $this->human_date($time_start, $this->settings['dateformat']); 
     614            if (date('H:i:s', $time_start) != '00:00:00' || date('H:i:s', $time_end) != '00:00:00'){ 
     615              $dates.= ', ' . date_i18n($this->settings['timeformat'], $time_start); 
     616            } 
     617            $dates.='</time> 
    613618                <span class="linking_word linking_word-to">' . __('to', 'event-post') . '</span> 
    614                 <time class="date date-end" itemprop="dtend" datetime="' . date('c', $time_end) . '">' . $this->human_date($time_end, $this->settings['dateformat']) . '</time> 
    615             '; 
     619                <time class="date date-end" itemprop="dtend" datetime="' . date('c', $time_end) . '">' . $this->human_date($time_end, $this->settings['dateformat']); 
     620            if (date('H:i:s', $time_start) != '00:00:00' || date('H:i:s', $time_end) != '00:00:00') { 
     621              $dates.=  ', ' . date_i18n($this->settings['timeformat'], $time_end); 
     622            } 
     623            $dates.='</time>'; 
    616624        } 
    617625        $dates.="\n\t\t\t\t\t\t".'</div><!-- .event_date -->'; 
     
    17231731            echo $this->human_date($date, $this->settings['dateformat']).(date('H:i', $date)=='00:00' ? '' : ' '. date($this->settings['timeformat'], $date)); 
    17241732            exit(); 
     1733        } 
     1734    } 
     1735 
     1736    /** 
     1737     * Displays a search form 
     1738     * 
     1739     * @param type $atts 
     1740     * @return type 
     1741     */ 
     1742    public function search($atts) { 
     1743        $params = shortcode_atts(apply_filters('eventpost_params', array( 
     1744            'dates' => true, 
     1745            'q' => true, 
     1746            'tax' => false, 
     1747                        ), 'search'), $atts); 
     1748        $this->list_id++; 
     1749 
     1750        $list_id = $this->list_id; 
     1751        $q = (false !== $q = filter_input(INPUT_GET, 'q')) ? $q : ''; 
     1752        $from = (false !== $from = filter_input(INPUT_GET, 'from')) ? $from : ''; 
     1753        $to = (false !== $to = filter_input(INPUT_GET, 'to')) ? $to : ''; 
     1754        $tax = (false !== $tax = filter_input(INPUT_GET, 'tax')) ? $tax : ''; 
     1755 
     1756        // Search form 
     1757        include (plugin_dir_path(__FILE__) . 'views/search-form.php'); 
     1758 
     1759        // Results 
     1760        if ($list_id == filter_input(INPUT_GET, 'evenpost_search')) { 
     1761            $arg = array( 
     1762                'post_type' => $this->settings['posttypes'], 
     1763                'meta_key' => $this->META_START, 
     1764                'orderby' => 'meta_value', 
     1765                'order' => 'ASC', 
     1766                's' => $q 
     1767            ); 
     1768            if ($tax) { 
     1769                $arg['cat'] = $tax; 
     1770            } 
     1771 
     1772            if ($from || $to) { 
     1773 
     1774                $arg['meta_query'] = array(); 
     1775                if ($from) { 
     1776                    $arg['meta_query'][] = array( 
     1777                        'key' => $this->META_START, 
     1778                        'value' => $from, 
     1779                        'compare' => '>=', 
     1780                        'type' => 'DATETIME' 
     1781                    ); 
     1782                } 
     1783                if ($to) { 
     1784                    $arg['meta_query'][] = $meta_query = array( 
     1785                        array( 
     1786                            'key' => $this->META_END, 
     1787                            'value' => $to, 
     1788                            'compare' => '<=', 
     1789                            'type' => 'DATETIME' 
     1790                        ), 
     1791                    ); 
     1792                } 
     1793            } 
     1794            $events = new WP_Query($arg); 
     1795            include (plugin_dir_path(__FILE__) . 'views/search-results.php'); 
     1796            wp_reset_query(); 
    17251797        } 
    17261798    } 
  • event-post/trunk/inc/shortcodes.php

    r1542786 r1684297  
    1616        add_shortcode('event_term', array(&$this, 'shortcode_term')); 
    1717        add_shortcode('event_cat', array(&$this, 'shortcode_cat')); 
     18        add_shortcode('event_search', array(&$this, 'shortcode_search')); 
    1819        // Workaround for ACF select2 bug 
    1920        // see: https://github.com/wp-shortcake/shortcake/issues/660 
    20         add_filter( 'acf/settings/select2_version', function( $version ) { 
    21                 return 4; // 3 or 4 
    22         }); 
     21        add_filter( 'acf/settings/select2_version', array(&$this, 'return4')); 
    2322    } 
    2423 
     
    3029        $this->EP = $EventPost; 
    3130    $this->shortcode_ui(); 
     31    } 
     32 
     33    public function return4(){ 
     34        return 4; 
    3235    } 
    3336 
     
    220223    } 
    221224 
     225    /** 
     226     * 
     227     * @param type $_atts 
     228     * @return type 
     229     */ 
     230    public function shortcode_search($_atts){ 
     231        return $this->EP->search($_atts); 
     232    } 
    222233 
    223234    /** 
Note: See TracChangeset for help on using the changeset viewer.