Commit 8c79b98f authored by mattwire's avatar mattwire
Browse files

Add Core (CiviCRM 5.6) files to override

parent a802fb54
<?php
/*
+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2018 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| CiviCRM is free software; you can copy, modify, and distribute it |
| under the terms of the GNU Affero General Public License |
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
| |
| CiviCRM is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public |
| License and the CiviCRM Licensing Exception along |
| with this program; if not, contact CiviCRM LLC |
| at info[AT]civicrm[DOT]org. If you have questions about the |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
/**
*
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2018
*/
class CRM_Core_Page_RecurringEntityPreview extends CRM_Core_Page {
/**
* Run the basic page (run essentially starts execution for that page).
*/
public function run() {
$parentEventId = $startDate = $endDate = NULL;
$dates = $original = array();
$formValues = $_REQUEST;
if (!empty($formValues['entity_table'])) {
$startDateColumnName = CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']]['dateColumns'][0];
$endDateColumnName = CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']]['intervalDateColumns'][0];
$recursion = new CRM_Core_BAO_RecurringEntity();
if (CRM_Utils_Array::value('dateColumns', CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']])) {
$recursion->dateColumns = CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']]['dateColumns'];
}
$recursion->scheduleFormValues = $formValues;
if (!empty($formValues['exclude_date_list'])) {
$recursion->excludeDates = explode(',', $formValues['exclude_date_list']);
}
if (CRM_Utils_Array::value('excludeDateRangeColumns', CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']])) {
$recursion->excludeDateRangeColumns = CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']]['excludeDateRangeColumns'];
}
if (!empty($formValues['entity_id'])) {
$parentEventId = CRM_Core_BAO_RecurringEntity::getParentFor($formValues['entity_id'], $formValues['entity_table']);
}
// Get original entity
$original[$startDateColumnName] = CRM_Utils_Date::processDate($formValues['repetition_start_date']);
$daoName = CRM_Core_BAO_RecurringEntity::$_tableDAOMapper[$formValues['entity_table']];
if ($parentEventId) {
$startDate = $original[$startDateColumnName] = CRM_Core_DAO::getFieldValue($daoName, $parentEventId, $startDateColumnName);
$endDate = $original[$startDateColumnName] = $endDateColumnName ? CRM_Core_DAO::getFieldValue($daoName, $parentEventId, $endDateColumnName) : NULL;
}
//Check if there is any enddate column defined to find out the interval between the two range
if (CRM_Utils_Array::value('intervalDateColumns', CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']])) {
if ($endDate) {
$interval = $recursion->getInterval($startDate, $endDate);
$recursion->intervalDateColumns = array($endDateColumnName => $interval);
}
}
$dates = array_merge(array($original), $recursion->generateRecursiveDates());
foreach ($dates as $key => &$value) {
if ($startDateColumnName) {
$value['start_date'] = CRM_Utils_Date::customFormat($value[$startDateColumnName]);
}
if ($endDateColumnName && !empty($value[$endDateColumnName])) {
$value['end_date'] = CRM_Utils_Date::customFormat($value[$endDateColumnName]);
$endDates = TRUE;
}
}
//Show the list of participants registered for the events if any
if ($formValues['entity_table'] == "civicrm_event" && !empty($parentEventId)) {
$getConnectedEntities = CRM_Core_BAO_RecurringEntity::getEntitiesForParent($parentEventId, 'civicrm_event', TRUE);
if ($getConnectedEntities) {
$participantDetails = CRM_Event_Form_ManageEvent_Repeat::getParticipantCountforEvent($getConnectedEntities);
if (!empty($participantDetails['countByName'])) {
$this->assign('participantData', $participantDetails['countByName']);
}
}
}
}
$this->assign('dates', $dates);
$this->assign('endDates', !empty($endDates));
return parent::run();
}
}
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Repeat
*
* @author Priyanka
*/
class CRM_Event_Form_ManageEvent_Repeat extends CRM_Event_Form_ManageEvent {
/**
* Parent Event Start Date.
*/
protected $_parentEventStartDate = NULL;
/**
* Parent Event End Date.
*/
protected $_parentEventEndDate = NULL;
public function preProcess() {
parent::preProcess();
$this->assign('currentEventId', $this->_id);
$checkParentExistsForThisId = CRM_Core_BAO_RecurringEntity::getParentFor($this->_id, 'civicrm_event');
//If this ID has parent, send parent id
if ($checkParentExistsForThisId) {
/**
* Get connected event information list
*/
//Get all connected event ids
$allEventIdsArray = CRM_Core_BAO_RecurringEntity::getEntitiesForParent($checkParentExistsForThisId, 'civicrm_event');
$allEventIds = array();
if (!empty($allEventIdsArray)) {
foreach ($allEventIdsArray as $key => $val) {
$allEventIds[] = $val['id'];
}
if (!empty($allEventIds)) {
$params = array();
$query = "
SELECT *
FROM civicrm_event
WHERE id IN (" . implode(",", $allEventIds) . ")
ORDER BY start_date asc
";
$dao = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Event_DAO_Event');
$permissions = CRM_Event_BAO_Event::checkPermission();
while ($dao->fetch()) {
if (in_array($dao->id, $permissions[CRM_Core_Permission::VIEW])) {
$manageEvent[$dao->id] = array();
CRM_Core_DAO::storeValues($dao, $manageEvent[$dao->id]);
}
}
}
$this->assign('rows', $manageEvent);
}
}
$parentEventParams = array('id' => $this->_id);
$parentEventValues = array();
$parentEventReturnProperties = array('start_date', 'end_date');
$parentEventAttributes = CRM_Core_DAO::commonRetrieve('CRM_Event_DAO_Event', $parentEventParams, $parentEventValues, $parentEventReturnProperties);
$this->_parentEventStartDate = $parentEventAttributes->start_date;
$this->_parentEventEndDate = $parentEventAttributes->end_date;
}
/**
* Set default values for the form. For edit/view mode
* the default values are retrieved from the database
*
*
* @return array
*/
public function setDefaultValues() {
$defaults = array();
//Always pass current event's start date by default
$currentEventStartDate = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_id, 'start_date', 'id');
list($defaults['repetition_start_date'], $defaults['repetition_start_date_time']) = CRM_Utils_Date::setDateDefaults($currentEventStartDate, 'activityDateTime');
$recurringEntityDefaults = CRM_Core_Form_RecurringEntity::setDefaultValues();
return array_merge($defaults, $recurringEntityDefaults);
}
public function buildQuickForm() {
CRM_Core_Form_RecurringEntity::buildQuickForm($this);
}
public function postProcess() {
if ($this->_id) {
$params = $this->controller->exportValues($this->_name);
if ($this->_parentEventStartDate && $this->_parentEventEndDate) {
$interval = CRM_Core_BAO_RecurringEntity::getInterval($this->_parentEventStartDate, $this->_parentEventEndDate);
$params['intervalDateColumns'] = array('end_date' => $interval);
}
$params['dateColumns'] = array('start_date');
$params['excludeDateRangeColumns'] = array('start_date', 'end_date');
$params['entity_table'] = 'civicrm_event';
$params['entity_id'] = $this->_id;
// CRM-16568 - check if parent exist for the event.
$parentId = CRM_Core_BAO_RecurringEntity::getParentFor($this->_id, 'civicrm_event');
$params['parent_entity_id'] = !empty($parentId) ? $parentId : $params['entity_id'];
//Unset event id
unset($params['id']);
$url = 'civicrm/event/manage/repeat';
$urlParams = "action=update&reset=1&id={$this->_id}";
$linkedEntities = array(
array(
'table' => 'civicrm_price_set_entity',
'findCriteria' => array(
'entity_id' => $this->_id,
'entity_table' => 'civicrm_event',
),
'linkedColumns' => array('entity_id'),
'isRecurringEntityRecord' => FALSE,
),
array(
'table' => 'civicrm_uf_join',
'findCriteria' => array(
'entity_id' => $this->_id,
'entity_table' => 'civicrm_event',
),
'linkedColumns' => array('entity_id'),
'isRecurringEntityRecord' => FALSE,
),
array(
'table' => 'civicrm_tell_friend',
'findCriteria' => array(
'entity_id' => $this->_id,
'entity_table' => 'civicrm_event',
),
'linkedColumns' => array('entity_id'),
'isRecurringEntityRecord' => TRUE,
),
array(
'table' => 'civicrm_pcp_block',
'findCriteria' => array(
'entity_id' => $this->_id,
'entity_table' => 'civicrm_event',
),
'linkedColumns' => array('entity_id'),
'isRecurringEntityRecord' => TRUE,
),
);
CRM_Core_Form_RecurringEntity::postProcess($params, 'civicrm_event', $linkedEntities);
CRM_Utils_System::redirect(CRM_Utils_System::url($url, $urlParams));
}
else {
CRM_Core_Error::fatal("Could not find Event ID");
}
parent::endPostProcess();
}
/**
* This function gets the number of participant count for the list of related event ids.
*
* @param array $listOfRelatedEntities
* List of related event ids .
*
*
* @return array
*/
static public function getParticipantCountforEvent($listOfRelatedEntities = array()) {
$participantDetails = array();
if (!empty($listOfRelatedEntities)) {
$implodeRelatedEntities = implode(',', array_map(function ($entity) {
return $entity['id'];
}, $listOfRelatedEntities));
if ($implodeRelatedEntities) {
$query = "SELECT p.event_id as event_id,
concat_ws(' ', e.title, concat_ws(' - ', DATE_FORMAT(e.start_date, '%b %d %Y %h:%i %p'), DATE_FORMAT(e.end_date, '%b %d %Y %h:%i %p'))) as event_data,
count(p.id) as participant_count
FROM civicrm_participant p, civicrm_event e
WHERE p.event_id = e.id AND p.event_id IN ({$implodeRelatedEntities})
GROUP BY p.event_id";
$dao = CRM_Core_DAO::executeQuery($query);
while ($dao->fetch()) {
$participantDetails['countByID'][$dao->event_id] = $dao->participant_count;
$participantDetails['countByName'][$dao->event_id][$dao->event_data] = $dao->participant_count;
}
}
}
return $participantDetails;
}
/**
* This function checks if there was any registraion for related event ids,
* and returns array of ids with no regsitrations
*
* @param string or int or object... $eventID
*
* @return array
*/
public static function checkRegistrationForEvents($eventID) {
$eventIdsWithNoRegistration = array();
if ($eventID) {
$getRelatedEntities = CRM_Core_BAO_RecurringEntity::getEntitiesFor($eventID, 'civicrm_event', TRUE);
$participantDetails = CRM_Event_Form_ManageEvent_Repeat::getParticipantCountforEvent($getRelatedEntities);
//Check if participants exists for events
foreach ($getRelatedEntities as $key => $value) {
if (!CRM_Utils_Array::value($value['id'], $participantDetails['countByID']) && $value['id'] != $eventID) {
//CRM_Event_BAO_Event::del($value['id']);
$eventIdsWithNoRegistration[] = $value['id'];
}
}
}
CRM_Core_BAO_RecurringEntity::$_entitiesToBeDeleted = $eventIdsWithNoRegistration;
return CRM_Core_BAO_RecurringEntity::$_entitiesToBeDeleted;
}
}
{*
+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2018 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| CiviCRM is free software; you can copy, modify, and distribute it |
| under the terms of the GNU Affero General Public License |
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
| |
| CiviCRM is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public |
| License and the CiviCRM Licensing Exception along |
| with this program; if not, contact CiviCRM LLC |
| at info[AT]civicrm[DOT]org. If you have questions about the |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*}
{if !empty($participantData)}
<div class="messages status no-popup">
<i class="crm-i fa-exclamation-triangle"></i>
{ts}There are participants registered for repeating events being removed from the set. Those with participants will be converted to standalone events, and those without registration will be deleted.{/ts}
</div>
<table class="display">
<thead><tr>
<th>{ts}Event ID{/ts}</th>
<th>{ts}Event{/ts}</th>
<th>{ts}Participant Count{/ts}</th>
</tr><thead>
<tbody>
{foreach from=$participantData item="row" key="id"}
{foreach from=$row item="count" key="data"}
<tr class="{cycle values="odd-row,even-row"}">
<td>{$id}</td>
<td><a href="{crmURL p="civicrm/event/manage/settings" q="reset=1&action=update&id=$id"}">{$data}</a></td>
<td><a href="{crmURL p='civicrm/event/search' q="reset=1&force=1&status=true&event=$id"}">{$count}</a></td>
</tr>
{/foreach}
{/foreach}
</tbody>
{/if}
<h3>
{ts}A repeating set will be created with the following dates.{/ts}
</h3>
<table class="display row-highlight">
<thead><tr>
<th>#</th>
<th>{ts}Start date{/ts}</th>
{if $endDates}<th>{ts}End date{/ts}</th>{/if}
</tr><thead>
<tbody>
{foreach from=$dates item="row" key="count"}
<tr class="{cycle values="odd-row,even-row"}">
<td>{if $count}{$count+1}{else}{ts}Original{/ts}{/if}</td>
<td>{$row.start_date}</td>
{if $endDates}<td>{$row.end_date}</td>{/if}
</tr>
{/foreach}
</tbody>
</table>
{*
+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2018 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| CiviCRM is free software; you can copy, modify, and distribute it |
| under the terms of the GNU Affero General Public License |
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
| |
| CiviCRM is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public |
| License and the CiviCRM Licensing Exception along |
| with this program; if not, contact CiviCRM LLC |
| at info[AT]civicrm[DOT]org. If you have questions about the |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*}
<div class="crm-block crm-form-block crm-event-manage-repeat-form-block">
{include file="CRM/Core/Form/RecurringEntity.tpl" recurringFormIsEmbedded=false}
{if $rows}
<div class="crm-block crm-manage-events crm-accordion-wrapper">
<div class="crm-accordion-header">{ts}Connected Repeating Events{/ts}</div>
<div class="crm-accordion-body">
{strip}
{include file="CRM/common/jsortable.tpl"}
<table id="options" class="display">
<thead>
<tr>
<th>{ts}Event{/ts}</th>
<th>{ts}Public?{/ts}</th>
<th>{ts}Starts{/ts}</th>
<th>{ts}Ends{/ts}</th>
<th>{ts}Active?{/ts}</th>
<th>{ts}Event Link{/ts}</th>
<th class="hiddenElement"></th>
<th class="hiddenElement"></th>
</tr>
</thead>
{foreach from=$rows key=keys item=row}
{if $keys neq 'tab'}
{if $currentEventId eq $row.id}
{assign var="highlight" value=" status bold"}
{else}
{assign var="highlight" value=""}
{/if}
<tr class="row_{$row.id}{if NOT $row.is_active} disabled{/if}">
<td class="crm-event_{$row.id}{$highlight}">
<a href="{crmURL p='civicrm/event/info' q="id=`$row.id`&reset=1"}"
title="{ts}View event info page{/ts}" class="bold">{$row.title}</a>&nbsp;&nbsp;({ts}ID:{/ts} {$row.id})
</td>
<td class="crm-event-is_public{$highlight}">{if $row.is_public eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td class="crm-event-start_date{$highlight}" data-order="{$row.start_date|crmDate:'%Y-%m-%d'}">{$row.start_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
<td class="crm-event-end_date{$highlight}" data-order="{$row.end_date|crmDate:'%Y-%m-%d'}">{$row.end_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
<td class="crm-event_status{$highlight}" id="row_{$row.id}_status">
{if $row.is_active eq 1}{ts}Yes{/ts} {else} {ts}No{/ts} {/if}
</td>
<td class="{$highlight}">
<a class="action-item no-popup crm-hover-button" href="{crmURL p="civicrm/event/manage/settings" q="reset=1&action=update&id=`$row.id`"}">{ts}Settings{/ts}</a>
</td>
<td class="crm-event-start_date hiddenElement">{$row.start_date|crmDate}</td>
<td class="crm-event-end_date hiddenElement">{$row.end_date|crmDate}</td>
</tr>
{/if}
{/foreach}
</table>
{/strip}
</div>
</div>
{/if}
</div>
\ No newline at end of file
{*
+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2018 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| CiviCRM is free software; you can copy, modify, and distribute it |
| under the terms of the GNU Affero General Public License |
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
| |
| CiviCRM is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public |
| License and the CiviCRM Licensing Exception along |
| with this program; if not, contact CiviCRM LLC |
| at info[AT]civicrm[DOT]org. If you have questions about the |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*}
{capture assign=newEventURL}{crmURL p='civicrm/event/add' q="action=add&reset=1"}{/capture}
{capture assign=icalFile}{crmURL p='civicrm/event/ical' q="reset=1" fe=1}{/capture}
{capture assign=icalFeed}{crmURL p='civicrm/event/ical' q="reset=1&list=1" fe=1}{/capture}
{capture assign=rssFeed}{crmURL p='civicrm/event/ical' q="reset=1&list=1&rss=1" fe=1}{/capture}
{capture assign=htmlFeed}{crmURL p='civicrm/event/ical' q="reset=1&list=1&html=1" fe=1}{/capture}
<div class="float-right">
<a href="{$htmlFeed}" target="_blank" title="{ts}HTML listing of current and future public events.{/ts}" class="crm-event-feed-link"><i class="crm-i fa-lg fa-calendar"></i></a>
<a href="{$rssFeed}" target="_blank" title="{ts}Get RSS 2.0 feed for current and future public events.{/ts}" class="crm-event-feed-link"><i class="crm-i fa-lg fa-rss"></i></a>
<a href="{$icalFile}" title="{ts}Download iCalendar file for current and future public events.{/ts}" class="crm-event-feed-link"><i class="crm-i fa-lg fa-download"></i></a>
<a href="{$icalFeed}" target="_blank" title="{ts}Get iCalendar feed for current and future public events.{/ts}" class="crm-event-feed-link"><i class="crm-i fa-lg fa-calendar-o"></i></a>
{help id='icalendar'}
</div>
{include file="CRM/Event/Form/SearchEvent.tpl"}
<div class="action-link">
<a accesskey="N" href="{$newEventURL}" id="newManageEvent" class="button crm-popup">
<span><i class="crm-i fa-calendar-plus-o"></i> {ts}Add Event{/ts}</span>
</a>
<div class="clear"></div>
</div>
{if $rows}
<div id="event_status_id" class="crm-block crm-manage-events">
{strip}
{include file="CRM/common/pager.tpl" location="top"}
{include file="CRM/common/pagerAToZ.tpl"}
{* handle enable/disable actions*}
{include file="CRM/common/enableDisableApi.tpl"}
{include file="CRM/common/jsortable.tpl"}
<table id="options" class="display">
<thead>
<tr>
<th>{ts}Event{/ts}</th>
<th>{ts}City{/ts}</th>
<th>{ts}State/Province{/ts}</th>
<th>{ts}Type{/ts}</th>
<th>{ts}Public?{/ts}</th>
<th>{ts}Starts{/ts}</th>
<th>{ts}Ends{/ts}</th>
{if call_user_func(array('CRM_Campaign_BAO_Campaign','isCampaignEnable'))}
<th>{ts}Campaign{/ts}</th>
{/if}
<th>{ts}Active?{/ts}</th>
<th></th>
<th class="hiddenElement"></th>
<th class="hiddenElement"></th>
</tr>
</thead>
{foreach from=$rows key=keys item=row}
{if $keys neq 'tab'}
<tr id="event-{$row.id}" class="crm-entity {if NOT $row.is_active} disabled{/if}">
<td class="crm-event_{$row.id}">
<a href="{crmURL p='civicrm/event/info' q="id=`$row.id`&reset=1"}"
title="{ts}View event info page{/ts}" class="bold">{$row.title}</a>&nbsp;&nbsp;({ts}ID:{/ts} {$row.id})<br/>
<span><b>{$row.repeat}</b></span>
</td>
<td class="crm-event-city">{$row.city}</td>
<td class="crm-event-state_province">{$row.state_province}</td>
<td class="crm-event-event_type">{$row.event_type}</td>
<td class="crm-event-is_public">{if $row.is_public eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td class="crm-event-start_date" data-order="{$row.start_date|crmDate:'%Y-%m-%d'}">{$row.start_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
<td class="crm-event-end_date" data-order="{$row.end_date|crmDate:'%Y-%m-%d'}">{$row.end_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
{if call_user_func(array('CRM_Campaign_BAO_Campaign','isCampaignEnable'))}
<td class="crm-event-campaign">{$row.campaign}</td>
{/if}
<td class="crm-event_status" id="row_{$row.id}_status">
{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}
</td>
<td class="crm-event-actions right nowrap">
<div class="crm-configure-actions">
<span id="event-configure-{$row.id}" class="btn-slide crm-hover-button">{ts}Configure{/ts}
<ul class="panel" id="panel_info_{$row.id}">
{foreach from=$rows.tab key=k item=v}
{assign var="fld" value=$v.field}
{if NOT $row.$fld}{assign var="status" value="disabled"}{else}{assign var="status" value="enabled"}{/if}
{if $k eq 'reminder'}
<li><a title="{$v.title|escape:'html'}" class="action-item crm-hover-button {$status}"
href="{crmURL p="`$v.url`" q="reset=1&action=browse&setTab=1&id=`$row.id`"}">{$v.title}</a>
{else}
<li><a title="{$v.title|escape:'html'}" class="action-item crm-hover-button {$status}"
href="{crmURL p="`$v.url`" q="reset=1&action=update&id=`$row.id`"}">{$v.title}</a></li>
{/if}
{/foreach}
</ul>
</span>
</div>
<div class=crm-event-participants>
<span id="event-participants-{$row.id}" class="btn-slide crm-hover-button">{ts}Participants{/ts}
<ul class="panel"