[EventCalendar] Re: ec3_get_past_events()

Damon Timm damontimm at gmail.com
Thu Oct 9 18:51:08 UTC 2008


With things moving again (thanks everyone) I wondered if someone could
direct me in how to get this ec3_get_past_events() functioned "patched" into
the main branch ?  I would love to do more testing of this plugin, but I
rely on this function at my site (www.rosaleeshow.com) ... so adding it
would help me out (and others, I think).

I posted it as a patch on sourceforge but I don't know if that is enough.
http://sourceforge.net/tracker/index.php?func=detail&aid=2090916&group_id=176316&atid=876754

Thanks everyone!

Damon

On Tue, Sep 2, 2008 at 8:31 PM, Damon Timm <damontimm at gmail.com> wrote:

>
> //added by damon at this point
>
> function ec3_get_past_events(
>  $limit,
>  $template_event=EC3_DEFAULT_TEMPLATE_EVENT,
>  $template_day  =EC3_DEFAULT_TEMPLATE_DAY,
>  $date_format   =EC3_DEFAULT_DATE_FORMAT,
>  $template_month=EC3_DEFAULT_TEMPLATE_MONTH,
>  $month_format  =EC3_DEFAULT_MONTH_FORMAT)
> {
>  if(!ec3_check_installed(__('Upcoming Events','ec3')))
>    return;
>  global $ec3,$wpdb,$wp_version;
>
>  // Parse $limit:
>  //  NUMBER      - limits number of posts
>  //  NUMBER days - next NUMBER of days
>  if(empty($limit))
>  {
>    $limit_numposts='LIMIT 5';
>  }
>  elseif(preg_match('/^ *([0-9]+) *d(ays?)?/',$limit,$matches))
>  {
>    $secs=intval($matches[1])*24*3600;
>    $and_before="AND start<='".ec3_strftime('%Y-%m-%d',time()+$secs)."'";
>  }
>  elseif(intval($limit)<1)
>  {
>    $limit_numposts='LIMIT 5';
>  }
>  else
>  {
>    $limit_numposts='LIMIT '.intval($limit);
>  }
>
>  if(!$date_format)
>      $date_format=get_option('date_format');
>
>  // Find the upcoming events.
>  $calendar_entries = $wpdb->get_results(
>    "SELECT DISTINCT
>       p.id AS id,
>       post_title,
>       start,
>       u.$ec3->wp_user_nicename AS author,
>       allday
>     FROM $ec3->schedule s
>     LEFT JOIN $wpdb->posts p ON s.post_id=p.id
>     LEFT JOIN $wpdb->users u ON p.post_author = u.id
>     WHERE p.post_status='publish'
>       AND end<='$ec3->today' $and_before
>     ORDER BY start DESC $limit_numposts"
>  );
>
>  echo "<ul class='ec3_events'>";
>  echo "<!-- Generated by Event Calendar v$ec3->version -->\n";
>  if($calendar_entries)
>  {
>    $time_format=get_option('time_format');
>    $current_month=false;
>    $current_date=false;
>    $data=array();
>    foreach($calendar_entries as $entry)
>    {
>      // To use %SINCE%, you need Dunstan's 'Time Since' plugin.
>      if(function_exists('time_since'))
>          $data['SINCE']=time_since( time(), ec3_to_time($entry->start) );
>
>      // Month changed?
>      $data['MONTH']=mysql2date($month_format,$entry->start);
>      if((!$current_month || $current_month!=$data['MONTH']) &&
> $template_month)
>      {
>        if($current_date)
>            echo "</ul></li>\n";
>        if($current_month)
>            echo "</ul></li>\n";
>        echo "<li class='ec3_list ec3_list_month'>"
>        .    ec3_format_str($template_month,$data)."\n<ul>\n";
>        $current_month=$data['MONTH'];
>        $current_date=false;
>      }
>
>      // Date changed?
>      $data['DATE'] =mysql2date($date_format, $entry->start);
>      if((!$current_date || $current_date!=$data['DATE']) && $template_day)
>      {
>        if($current_date)
>            echo "</ul></li>\n";
>        echo "<li class='ec3_list ec3_list_day'>"
>        .    ec3_format_str($template_day,$data)."\n<ul>\n";
>        $current_date=$data['DATE'];
>      }
>
>      if($entry->allday)
>          $data['TIME']=__('all day','ec3');
>      else
>          $data['TIME']=mysql2date($time_format,$entry->start);
>
>      $data['TITLE'] =
>        htmlentities(
>          stripslashes(strip_tags($entry->post_title)),
>          ENT_QUOTES,get_option('blog_charset')
>        );
>      $data['LINK']  =get_permalink($entry->id);
>      $data['AUTHOR']=
>        htmlentities($entry->author,ENT_QUOTES,get_option('blog_charset'));
>      echo " <li>".ec3_format_str($template_event,$data)."</li>\n";
>    }
>    if($current_date)
>        echo "</ul></li>\n";
>    if($current_month)
>        echo "</ul></li>\n";
>  }
>  else
>  {
>    echo "<li>".__('No events.','ec3')."</li>\n";
>  }
>  echo "</ul>\n";
> }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://penguin.firetree.net/pipermail/eventcalendar/attachments/20081009/3c4088c3/attachment.htm


More information about the EventCalendar mailing list