[EventCalendar] Re: ec3_get_past_events()

Rick Boatright rboatright at gmail.com
Thu Oct 9 19:02:55 UTC 2008


Damon,
What does it do?

If it's something useful we can certainly get it patched in if you have
tested it in ec3 rc4


If you're wanting to get it patched into the current build I would urge you
to install a clean, current, brand-new copy of wordpress into a folder
somwhere (wptest always works well for me) so that you can "mess" with it.

then, install the absolutely current version of EC3 rc4 from wordpress.org

then, meld in your patch and make sure it works.

When I want to do this, I backup my data out of my live system using a
backup plugin and restore it into my test system so I have enough posts to
work with.



On Thu, Oct 9, 2008 at 1:51 PM, Damon Timm <damontimm at gmail.com> wrote:

> 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";
>> }
>>
>
>
> _______________________________________________
> Blog: http://wpcal.firetree.net/
> EventCalendar at firetree.net mailing list
> Unsubscribe: http://penguin.firetree.net/eventcalendar
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://penguin.firetree.net/pipermail/eventcalendar/attachments/20081009/f632b1bf/attachment.htm


More information about the EventCalendar mailing list