function build_entry_label($event, $popupid, $can_access, $timestr, $time_only = 'N')
{
    global $eventinfo, $login, $SUMMARY_LENGTH, $UAC_ENABLED, $user;
    $ret = '';
    // Get reminders display string.
    $reminder = getReminders($event->getId(), true);
    $can_access = $UAC_ENABLED == 'Y' ? $can_access : 0;
    $not_my_entry = $login != $user && strlen($user) || $login != $event->getLogin() && strlen($event->getLogin());
    $sum_length = $SUMMARY_LENGTH;
    if ($event->isAllDay() || $event->isUntimed()) {
        $sum_length += 6;
    }
    $tmpAccess = $event->getAccess();
    $tmpId = $event->getId();
    $tmpLogin = $event->getLogin();
    $tmpName = $event->getName();
    $tmp_ret = htmlspecialchars(substr($tmpName, 0, $sum_length) . (strlen($tmpName) > $sum_length ? '...' : ''));
    if ($not_my_entry && $tmpAccess == 'R' && !($can_access & PRIVATE_WT)) {
        if ($time_only != 'Y') {
            $ret = '(' . translate('Private') . ')';
        }
        // translate ( 'This event is private' )
        $eventinfo .= build_entry_popup($popupid, $tmpLogin, str_replace('XXX', translate('private'), translate('This event is XXX.')), '');
    } else {
        if ($not_my_entry && $tmpAccess == 'C' && !($can_access & CONF_WT)) {
            if ($time_only != 'Y') {
                $ret = '(' . translate('Conf.') . ')';
            }
            $eventinfo .= build_entry_popup($popupid, $tmpLogin, str_replace('XXX', translate('confidential'), translate('This event is XXX.')), '');
        } else {
            if ($can_access == 0 && $UAC_ENABLED == 'Y') {
                if ($time_only != 'Y') {
                    $ret = $tmp_ret;
                }
                $eventinfo .= build_entry_popup($popupid, $tmpLogin, '', $timestr, '', '', $tmpName, '');
            } else {
                if ($time_only != 'Y') {
                    $ret = $tmp_ret;
                }
                $eventinfo .= build_entry_popup($popupid, $tmpLogin, $event->getDescription(), $timestr, site_extras_for_popup($tmpId), $event->getLocation(), $tmpName, $tmpId, $reminder);
            }
        }
    }
    return $ret;
}
Exemple #2
0
    $is_private = true;
    $description = $name = '[' . translate('Private') . ']';
} else {
    if ($cal_access == 'C' && !$is_my_event && !$is_assistant && !access_is_enabled()) {
        $is_confidential = true;
        $description = $name = '[' . translate('Confidential') . ']';
    }
}
$event_date = $event_repeats && !empty($date) ? $date : ($event_time > 0 ? date('Ymd', date_to_epoch($orig_date . sprintf("%06d", $event_time))) : $orig_date);
// Get category Info
if ($CATEGORIES_ENABLED == 'Y') {
    $categories = get_categories_by_id($id, !empty($user) && strlen($user) && ($is_assistant || $is_admin) ? $user : $login, true);
    $category = implode(', ', $categories);
}
// get reminders
$reminder = getReminders($id, true);
echo '
    <h2>' . $name . ($is_nonuser_admin || $is_admin && !empty($user) && $user == '__public__' ? '  ( ' . translate('Admin mode') . ' )' : '') . ($is_assistant ? ' ( ' . translate('Assistant mode') . ' )' : '') . '</h2>
    <table width="100%" summary="">
      <tr>
        <td class="aligntop bold" width="10%">' . translate('Description') . ':</td>
        <td>';
if (!empty($ALLOW_HTML_DESCRIPTION) && $ALLOW_HTML_DESCRIPTION == 'Y') {
    $str = $description;
    // $str = str_replace ( '&', '&amp;', $description );
    $str = str_replace('&amp;amp;', '&amp;', $str);
    // If there is no HTML found, then go ahead and replace
    // the line breaks ("\n") with the HTML break.
    echo strstr($str, '<') && strstr($str, '>') ? $str : nl2br(activate_urls($str));
} else {
    echo nl2br(activate_urls(htmlspecialchars($description)));
                     $inclusions[] = $row[0];
                 }
             }
             dbi_free_result($res);
         }
     }
     if ($CATEGORIES_ENABLED == 'Y') {
         $catById = get_categories_by_id($id, $real_user, true);
         if (!empty($catById)) {
             $catNames = implode(', ', $catById);
             $catList = implode(',', array_keys($catById));
         }
     }
     //end CATEGORIES_ENABLED test
     // Get reminders.
     $reminder = getReminders($id);
     $reminder_offset = empty($reminder) ? 0 : $reminder['offset'];
     $rem_status = count($reminder);
     $rem_use_date = !empty($reminder['date']);
     // Get participants.
     $res = dbi_execute('SELECT cal_login, cal_status FROM webcal_entry_user WHERE cal_id = ?
 AND cal_status IN ( \'A\', \'W\' )', array($id));
     if ($res) {
         while ($row = dbi_fetch_row($res)) {
             $participants[$row[0]] = 1;
             $selectedStatus[$row[0]] = $row[1];
         }
         dbi_free_result($res);
     }
     // Not allowed for tasks or journals.
     if ($eType == 'event' && !empty($ALLOW_EXTERNAL_USERS) && $ALLOW_EXTERNAL_USERS == 'Y') {
Exemple #4
0
 function make_xls()
 {
     $ids = $this->input->post('edit');
     $reminders = getReminders("lembrete_id in (" . implode(',', $ids) . ")");
     $content = '';
     foreach ($reminders as $item) {
         // $status = $item['status']==0?'Não enviado':'Enviado';
         // $content .= sprintf("<tr><td>%s</td><td>%s</td></tr>",$item['email'], $status);
         $content .= sprintf("<tr><td>%s</td></tr>", $item['email']);
         atualizaStatusLembrete($item['lembrete_id']);
     }
     $remindersHtml = "\n        <table style='width:100%' summary='Lista de emails'>\n            <thead>\n                <tr>\n                    <th>Email</th>\n                </tr>\n            </thead>\n            <tbody>\n                {$content}\n            </tbody>\n        </table>";
     $xlsUrl = $this->config->item('xls_path');
     verifyPath($xlsUrl, 0777);
     $xlsUrl .= 'lista_de_emails.xls';
     //date("d-m-Y", time()).".xls";
     file_put_contents($xlsUrl, utf8_decode($remindersHtml));
     redirect('admin');
     die;
 }
function process_event($id, $name, $start, $end, $new_date = '')
{
    global $debug, $is_task, $only_testing;
    // Get reminders array.
    $reminder = getReminders($id);
    if (!empty($reminder)) {
        if ($debug) {
            echo " Reminder set for event.<br />\n";
        }
        $times_sent = $reminder['times_sent'];
        $repeats = $reminder['repeats'];
        $lastsent = $reminder['last_sent'];
        $related = $reminder['related'];
        // If we are working with a repeat or overdue task, and we have sent all the
        // reminders for the basic event, then reset the counter to 0.
        if (!empty($new_date)) {
            if ($times_sent == $repeats + 1) {
                if (!$is_task || $related == 'E' && date('Ymd', $new_date) != date('Ymd', $end)) {
                    // Tasks only.
                    $times_sent = 0;
                }
            }
            $new_offset = date_to_epoch($new_date) - ($start - $start % 86400);
            $start += $new_offset;
            $end += $new_offset;
        }
        if ($debug) {
            printf("Event %d: \"%s\" on %s at %s GMT<br />\n", $id, $name, gmdate('Ymd', $start), gmdate('H:i:s', $start));
        }
        // It is pointless to send reminders after this time!
        $pointless = $end;
        $remB4 = $reminder['before'] == 'Y';
        if (!empty($reminder['date'])) {
            // We're using a date.
            $remind_time = $reminder['timestamp'];
        } else {
            // We're using offsets.
            $offset = $reminder['offset'] * 60;
            // Convert to seconds.
            if ($related == 'S') {
                // Relative to start.
                $offset_msg = ($remB4 ? ' Mins Before Start: ' : ' Mins After Start: ') . $reminder['offset'];
                $remind_time = $remB4 ? $start - $offset : $start + $offset;
            } else {
                // Relative to end/due.
                $offset_msg = ($remB4 ? ' Mins Before End: ' : ' Mins After End: ') . $reminder['offset'];
                $remind_time = $remB4 ? $end - $offset : $end + $offset;
                $pointless = $remB4 ? $end : $end + $offset;
            }
        }
        // Factor in repeats if set.
        if ($repeats > 0 && $times_sent <= $repeats) {
            $remind_time += $reminder['duration'] * 60 * $times_sent;
        }
        if ($debug) {
            echo (empty($offset_msg) ? '' : $offset_msg . '<br />') . '
  Event ' . ($related == 'S' ? 'start time is: ' . gmdate('m/d/Y H:i', $start) : 'end time is: ' . gmdate('m/d/Y H:i', $end)) . ' GMT<br />
  Remind time is: ' . gmdate('m/d/Y H:i', $remind_time) . ' GMT<br />
  Effective delivery time is: ' . date('m/d/Y H:i T', $remind_time) . '<br />
  Last sent on: ' . ($lastsent == 0 ? 'NEVER' : date('m/d/Y H:i T', $lastsent)) . '<br /><br />
  times_sent = ' . $times_sent . '
  repeats = ' . $repeats . '
  time = ' . date('His', time()) . ' 
  remind_time = ' . date('His', $remind_time) . ' 
  lastsent = ' . ($lastsent > 0 ? date('Ymd His', $lastsent) : " NEVER ") . ' 
  pointless = ' . date('Ymd His', $pointless) . ' 
  is_task = ' . ($is_task ? 'true' : 'false') . '<br />';
        }
        if ($times_sent < $repeats + 1 && time() >= $remind_time && $lastsent <= $remind_time && (time() <= $pointless || $is_task)) {
            // Send a reminder.
            if ($debug) {
                echo ' SENDING REMINDER!<br />' . "\n";
            }
            send_reminder($id, $start);
            // Now update the db...
            if ($debug) {
                echo '<br /> LOGGING REMINDER!<br /><br />' . "\n";
            }
            log_reminder($id, $times_sent + 1);
        }
    }
}
Exemple #6
0
function export_alarm_ical($id, $date, $description, $task_complete = true)
{
    global $cal_type;
    $ret = '';
    $reminder = array();
    // Don't send reminder for event in the past
    // unless this is a task that may be overdue
    if ($date < date('Ymd') && $task_complete == true) {
        return;
    }
    // get reminders
    $reminder = getReminders($id);
    if (!empty($reminder)) {
        // Sunbird requires this line
        if (!empty($reminder['offset'])) {
            $ret .= 'X-MOZILLA-ALARM-DEFAULT-LENGTH:' . $reminder['offset'] . "\r\n";
        }
        $ret .= "BEGIN:VALARM\r\n";
        $ret .= 'TRIGGER';
        if (!empty($reminder['date'])) {
            $ret .= ';VALUE=DATE-TIME:' . $reminder['date'] . 'T' . $reminder['time'] . "Z\r\n";
        }
        // related to entry end/due date/time
        if ($reminder['related'] == 'E') {
            $ret .= ';RELATED=END';
        }
        if (empty($reminder['date'])) {
            // offset may be zero
            // before edge needs a '-'
            $sign = $reminder['before'] == 'Y' ? '-' : '';
            $ret .= ':' . $sign . 'PT' . $reminder['offset'] . "M\r\n";
        }
        if (!empty($reminder['repeats'])) {
            $ret .= 'REPEAT:' . $reminder['repeats'] . "\r\n";
            $ret .= 'DURATION:PT' . $reminder['duration'] . "M\r\n";
        }
        $ret .= 'ACTION:' . $reminder['action'] . "\r\n";
        $array = export_fold_lines($description, 'utf8');
        while (list($key, $value) = each($array)) {
            $ret .= "{$value}\r\n";
        }
        $ret .= "END:VALARM\r\n";
    }
    return $ret;
}