The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%#============================================================================
%# ePortal - WEB Based daily organizer
%# Author - S.Rusakov <rusakov_sa@users.sourceforge.net>
%#
%# Copyright (c) 2000-2003 Sergey Rusakov.  All rights reserved.
%# This program is free software; you can redistribute it
%# and/or modify it under the same terms as Perl itself.
%#
%#
%#----------------------------------------------------------------------------
<%perl>
  # Prepare Calendar object
  my $CAL = new ePortal::HTML::Calendar;
  my @date = $CAL->date;          # get date from calendar

  # Lookup for days
  my $days = new ePortal::ThePersistent::Support(
    DBISource => 'Organizer',
    SQL => "SELECT distinct an_day FROM Anniversary",
    Where => "org_id=? AND an_month=?",
    Bind => [$session{_org_id}, $date[1]],
    OrderBy => "an_day");
  $days->restore_all;
  while($days->restore_next) {
    $CAL->url($days->an_day, 'self');
  }

</%perl>
<table width="99%" border="0">
<tr><td valign="top" align="left">
  <& SELF:show_dates, date => \@date &>
</td><td valign="top" align="right" width="150">
  <% $CAL->draw %>
% if ($session{_organizer}->xacl_check_update) {
  <ul><li><a href="<% href('ann_edit.htm', org_id => $session{_org_id}, objid => 0, an_day => $date[2], an_month => $date[1], an_year => $date[0]) %>"><% img(src=>'/images/icons/memo.gif')
      %>&nbsp;<% pick_lang(rus => "Íîâîå ñîáûòèå", eng => "New anniversary") %></a>
  </ul>
% }

</td></tr>
</table>







%#=== @metags categ_caption ====================================================
<%method categ_caption>
% my $categ = $ARGS{categ};
<tr>
  <% empty_td(width => 10) %>
  <td colspan="3">
    <% $categ->Title %>
  </td>
</tr>
</%method>




%#=== @METAGS item ====================================================
<%method item>
% my $ann = $ARGS{ann};
% my $Y = 1900 + (localtime(time))[5];
<tr>
  <% empty_td(width => 10) %>
  <td align="right" width="25">
%#    <span style="color:green;">
%#    <% $ann->an_day %>
%#    </span>
    &nbsp;
  </td>
  <td>
    <% $ann->Title %>
% if ($ann->an_year > 0) {
    <span class="memo">
      (<% $Y - $ann->an_year %> <% pick_lang(rus => "ãîäîâùèíà", eng => "anniversary")%>)
    </span>
% }
  </td>
  <td width="40">
% if ($ann->xacl_check_update) {
    <% icon_edit($ann, url => 'ann_edit.htm') %>
    <% icon_delete($ann) %>
% }
  </td>
</tr>
</%method>


%#=== @METAGS attr =========================================================
<%attr>
Title => {rus => "Ñîáûòèÿ è ãîäîâùèíû", eng => "Anniversary"}
</%attr>

%#=== @METAGS month_name ====================================================
<%method month_name><%perl>
my $mon = $ARGS{month};
my @MonthNames = (
       {rus => "ßíâàðü", eng => "January"},
       {rus => "Ôåâðàëü", eng => "February"},
       {rus => "Ìàðò", eng => "March"},
       {rus => "Àïðåëü", eng => "April"},
       {rus => "Ìàé", eng => "May"},
       {rus => "Èþíü", eng => "June"},
       {rus => "Èþëü", eng => "Jule"},
       {rus => "Àâãóñò", eng => "August"},
       {rus => "Ñåíòÿáðü", eng => "September"},
       {rus => "Îêòÿáðü", eng => "October"},
       {rus => "Íîÿáðü", eng => "November"},
       {rus => "Äåêàáðü", eng => "December"}
       );
      return pick_lang($MonthNames[$mon-1]);
</%perl></%method>



%#=== @METAGS show_dates ====================================================
<%method show_dates>
% my @date = @{ $ARGS{date} };

  <table width="90%" border="0">
  <tr>
    <% empty_td(width => 10) %>
    <td colspan="3">
    <& /item_caption.mc, title => sprintf("%02d.%02d.%04d", reverse @date) &>
    </td>
  </tr>

<%perl>

  my $ann = new ePortal::App::Organizer::Anniversary;
  $ann->restore_where(org_id => $session{_org_id},
      an_day => $date[2], an_month => $date[1],
      order_by=>"category_id, Title");

  my $last_shown_categ = new ePortal::App::Organizer::Category;
  while ($ann->restore_next) {
    if ( $last_shown_categ->id != $ann->category_id ) {
      $last_shown_categ->restore($ann->category_id);
      $m->comp("SELF:categ_caption", categ => $last_shown_categ);
    }
    $m->comp("SELF:item", ann => $ann);
  }
</%perl>
</table>
</%method>