| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
| 3 | <head> |
| 4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
| 5 | <title></title> |
| 6 | </head> |
| 7 | <body> |
| 8 | |
| 9 | {capture assign=headerStyle}colspan="2" style="text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;"{/capture} |
| 10 | {capture assign=labelStyle }style="padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;"{/capture} |
| 11 | {capture assign=valueStyle }style="padding: 4px; border-bottom: 1px solid #999;"{/capture} |
| 12 | |
| 13 | <table id="crm-event_receipt" style="font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;"> |
| 14 | |
| 15 | <!-- BEGIN HEADER --> |
| 16 | <!-- You can add table row(s) here with logo or other header elements --> |
| 17 | <!-- END HEADER --> |
| 18 | |
| 19 | <!-- BEGIN CONTENT --> |
| 20 | |
| 21 | <tr> |
| 22 | <td> |
| 23 | {assign var="greeting" value="{contact.email_greeting}"}{if $greeting}<p>{$greeting},</p>{/if} |
| 24 | |
| 25 | {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))} |
| 26 | <p>{$event.confirm_email_text|htmlize}</p> |
| 27 | {/if} |
| 28 | |
| 29 | {if !empty($isOnWaitlist)} |
| 30 | <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p> |
| 31 | {if !empty($isPrimary)} |
| 32 | <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p> |
| 33 | {/if} |
| 34 | {elseif !empty($isRequireApproval)} |
| 35 | <p>{ts}Your registration has been submitted.{/ts}</p> |
| 36 | {if !empty($isPrimary)} |
| 37 | <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p> |
| 38 | {/if} |
| 39 | {elseif $is_pay_later} |
| 40 | <p>{$pay_later_receipt}</p> {* FIXME: this might be text rather than HTML *} |
| 41 | {/if} |
| 42 | |
| 43 | </td> |
| 44 | </tr> |
| 45 | <tr> |
| 46 | <td> |
| 47 | <table style="border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;"> |
| 48 | <tr> |
| 49 | <th {$headerStyle}> |
| 50 | {ts}Event Information and Location{/ts} |
| 51 | </th> |
| 52 | </tr> |
| 53 | <tr> |
| 54 | <td colspan="2" {$valueStyle}> |
| 55 | {$event.event_title}<br /> |
| 56 | {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} |
| 57 | </td> |
| 58 | </tr> |
| 59 | |
| 60 | {if !empty($event.participant_role) and $event.participant_role neq 'Attendee' and !empty($defaultRole)} |
| 61 | <tr> |
| 62 | <td {$labelStyle}> |
| 63 | {ts}Participant Role{/ts} |
| 64 | </td> |
| 65 | <td {$valueStyle}> |
| 66 | {$event.participant_role} |
| 67 | </td> |
| 68 | </tr> |
| 69 | {/if} |
| 70 | |
| 71 | {if !empty($isShowLocation)} |
| 72 | <tr> |
| 73 | <td colspan="2" {$valueStyle}> |
| 74 | {$location.address.1.display|nl2br} |
| 75 | </td> |
| 76 | </tr> |
| 77 | {/if} |
| 78 | |
| 79 | {if !empty($location.phone.1.phone) || !empty($location.email.1.email)} |
| 80 | <tr> |
| 81 | <td colspan="2" {$labelStyle}> |
| 82 | {ts}Event Contacts:{/ts} |
| 83 | </td> |
| 84 | </tr> |
| 85 | {foreach from=$location.phone item=phone} |
| 86 | {if $phone.phone} |
| 87 | <tr> |
| 88 | <td {$labelStyle}> |
| 89 | {if $phone.phone_type} |
| 90 | {$phone.phone_type_display} |
| 91 | {else} |
| 92 | {ts}Phone{/ts} |
| 93 | {/if} |
| 94 | </td> |
| 95 | <td {$valueStyle}> |
| 96 | {$phone.phone} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if} |
| 97 | </td> |
| 98 | </tr> |
| 99 | {/if} |
| 100 | {/foreach} |
| 101 | {foreach from=$location.email item=eventEmail} |
| 102 | {if $eventEmail.email} |
| 103 | <tr> |
| 104 | <td {$labelStyle}> |
| 105 | {ts}Email{/ts} |
| 106 | </td> |
| 107 | <td {$valueStyle}> |
| 108 | {$eventEmail.email} |
| 109 | </td> |
| 110 | </tr> |
| 111 | {/if} |
| 112 | {/foreach} |
| 113 | {/if} |
| 114 | |
| 115 | {if !empty($event.is_public)} |
| 116 | <tr> |
| 117 | <td colspan="2" {$valueStyle}> |
| 118 | {capture assign=icalFeed}{crmURL p='civicrm/event/ical' q="reset=1&id=`$event.id`" h=0 a=1 fe=1}{/capture} |
| 119 | <a href="{$icalFeed}">{ts}Download iCalendar File{/ts}</a> |
| 120 | </td> |
| 121 | </tr> |
| 122 | {/if} |
| 123 | |
| 124 | {if $email} |
| 125 | <tr> |
| 126 | <th {$headerStyle}> |
| 127 | {ts}Registered Email{/ts} |
| 128 | </th> |
| 129 | </tr> |
| 130 | <tr> |
| 131 | <td colspan="2" {$valueStyle}> |
| 132 | {$email} |
| 133 | </td> |
| 134 | </tr> |
| 135 | {/if} |
| 136 | |
| 137 | |
| 138 | {if !empty($event.is_monetary)} |
| 139 | |
| 140 | <tr> |
| 141 | <th {$headerStyle}> |
| 142 | {if !empty($event.fee_label)}{$event.fee_label}{/if} |
| 143 | </th> |
| 144 | </tr> |
| 145 | |
| 146 | {if !empty($lineItem)} |
| 147 | {foreach from=$lineItem item=value key=priceset} |
| 148 | {if $value neq 'skip'} |
| 149 | {if !empty($isPrimary)} |
| 150 | {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *} |
| 151 | <tr> |
| 152 | <td colspan="2" {$labelStyle}> |
| 153 | {ts 1=$priceset+1}Participant %1{/ts} |
| 154 | </td> |
| 155 | </tr> |
| 156 | {/if} |
| 157 | {/if} |
| 158 | <tr> |
| 159 | <td colspan="2" {$valueStyle}> |
| 160 | <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *} |
| 161 | <tr> |
| 162 | <th>{ts}Item{/ts}</th> |
| 163 | <th>{ts}Qty{/ts}</th> |
| 164 | <th>{ts}Each{/ts}</th> |
| 165 | {if !empty($dataArray)} |
| 166 | <th>{ts}SubTotal{/ts}</th> |
| 167 | <th>{ts}Tax Rate{/ts}</th> |
| 168 | <th>{ts}Tax Amount{/ts}</th> |
| 169 | {/if} |
| 170 | <th>{ts}Total{/ts}</th> |
| 171 | {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if} |
| 172 | </tr> |
| 173 | {foreach from=$value item=line} |
| 174 | <tr> |
| 175 | <td> |
| 176 | {if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:"..."}</div>{/if} |
| 177 | </td> |
| 178 | <td> |
| 179 | {$line.qty} |
| 180 | </td> |
| 181 | <td> |
| 182 | {$line.unit_price|crmMoney} |
| 183 | </td> |
| 184 | {if !empty($dataArray)} |
| 185 | <td> |
| 186 | {$line.unit_price*$line.qty|crmMoney} |
| 187 | </td> |
| 188 | {if $line.tax_rate || $line.tax_amount != ""} |
| 189 | <td> |
| 190 | {$line.tax_rate|string_format:"%.2f"}% |
| 191 | </td> |
| 192 | <td> |
| 193 | {$line.tax_amount|crmMoney} |
| 194 | </td> |
| 195 | {else} |
| 196 | <td></td> |
| 197 | <td></td> |
| 198 | {/if} |
| 199 | {/if} |
| 200 | <td> |
| 201 | {$line.line_total+$line.tax_amount|crmMoney} |
| 202 | </td> |
| 203 | {if !empty($pricesetFieldsCount) } |
| 204 | <td> |
| 205 | {$line.participant_count} |
| 206 | </td> |
| 207 | {/if} |
| 208 | </tr> |
| 209 | {/foreach} |
| 210 | </table> |
| 211 | </td> |
| 212 | </tr> |
| 213 | {/if} |
| 214 | {/foreach} |
| 215 | {if !empty($dataArray)} |
| 216 | {if $totalAmount and $totalTaxAmount} |
| 217 | <tr> |
| 218 | <td {$labelStyle}> |
| 219 | {ts}Amount Before Tax:{/ts} |
| 220 | </td> |
| 221 | <td {$valueStyle}> |
| 222 | {$totalAmount-$totalTaxAmount|crmMoney} |
| 223 | </td> |
| 224 | </tr> |
| 225 | {/if} |
| 226 | {foreach from=$dataArray item=value key=priceset} |
| 227 | <tr> |
| 228 | {if $priceset || $priceset == 0} |
| 229 | <td> {$taxTerm} {$priceset|string_format:"%.2f"}%</td> |
| 230 | <td> {$value|crmMoney:$currency}</td> |
| 231 | {else} |
| 232 | <td> {ts}No{/ts} {$taxTerm}</td> |
| 233 | <td> {$value|crmMoney:$currency}</td> |
| 234 | {/if} |
| 235 | </tr> |
| 236 | {/foreach} |
| 237 | {/if} |
| 238 | {/if} |
| 239 | |
| 240 | {if !empty($amount) && !$lineItem} |
| 241 | {foreach from=$amount item=amnt key=level} |
| 242 | <tr> |
| 243 | <td colspan="2" {$valueStyle}> |
| 244 | {$amnt.amount|crmMoney} {$amnt.label} |
| 245 | </td> |
| 246 | </tr> |
| 247 | {/foreach} |
| 248 | {/if} |
| 249 | {if $totalTaxAmount} |
| 250 | <tr> |
| 251 | <td {$labelStyle}> |
| 252 | {ts}Total Tax Amount{/ts} |
| 253 | </td> |
| 254 | <td {$valueStyle}> |
| 255 | {$totalTaxAmount|crmMoney:$currency} |
| 256 | </td> |
| 257 | </tr> |
| 258 | {/if} |
| 259 | {if !empty($isPrimary)} |
| 260 | <tr> |
| 261 | <td {$labelStyle}> |
| 262 | {if isset($balanceAmount)} |
| 263 | {ts}Total Paid{/ts} |
| 264 | {else} |
| 265 | {ts}Total Amount{/ts} |
| 266 | {/if} |
| 267 | </td> |
| 268 | <td {$valueStyle}> |
| 269 | {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if} |
| 270 | </td> |
| 271 | </tr> |
| 272 | {if isset($balanceAmount)} |
| 273 | <tr> |
| 274 | <td {$labelStyle}> |
| 275 | {ts}Balance{/ts} |
| 276 | </td> |
| 277 | <td {$valueStyle}> |
| 278 | {$balanceAmount|crmMoney} |
| 279 | </td> |
| 280 | </tr> |
| 281 | {/if} |
| 282 | {if !empty($pricesetFieldsCount) } |
| 283 | <tr> |
| 284 | <td {$labelStyle}> |
| 285 | {ts}Total Participants{/ts}</td> |
| 286 | <td {$valueStyle}> |
| 287 | {assign var="count" value= 0} |
| 288 | {foreach from=$lineItem item=pcount} |
| 289 | {assign var="lineItemCount" value=0} |
| 290 | {if $pcount neq 'skip'} |
| 291 | {foreach from=$pcount item=p_count} |
| 292 | {assign var="lineItemCount" value=$lineItemCount+$p_count.participant_count} |
| 293 | {/foreach} |
| 294 | {if $lineItemCount < 1 } |
| 295 | assign var="lineItemCount" value=1} |
| 296 | {/if} |
| 297 | {assign var="count" value=$count+$lineItemCount} |
| 298 | {/if} |
| 299 | {/foreach} |
| 300 | {$count} |
| 301 | </td> |
| 302 | </tr> |
| 303 | {/if} |
| 304 | {if $is_pay_later} |
| 305 | <tr> |
| 306 | <td colspan="2" {$labelStyle}> |
| 307 | {$pay_later_receipt} |
| 308 | </td> |
| 309 | </tr> |
| 310 | {/if} |
| 311 | |
| 312 | {if $register_date} |
| 313 | <tr> |
| 314 | <td {$labelStyle}> |
| 315 | {ts}Registration Date{/ts} |
| 316 | </td> |
| 317 | <td {$valueStyle}> |
| 318 | {$register_date|crmDate} |
| 319 | </td> |
| 320 | </tr> |
| 321 | {/if} |
| 322 | |
| 323 | {if !empty($receive_date)} |
| 324 | <tr> |
| 325 | <td {$labelStyle}> |
| 326 | {ts}Transaction Date{/ts} |
| 327 | </td> |
| 328 | <td {$valueStyle}> |
| 329 | {$receive_date|crmDate} |
| 330 | </td> |
| 331 | </tr> |
| 332 | {/if} |
| 333 | |
| 334 | {if !empty($financialTypeName)} |
| 335 | <tr> |
| 336 | <td {$labelStyle}> |
| 337 | {ts}Financial Type{/ts} |
| 338 | </td> |
| 339 | <td {$valueStyle}> |
| 340 | {$financialTypeName} |
| 341 | </td> |
| 342 | </tr> |
| 343 | {/if} |
| 344 | |
| 345 | {if !empty($trxn_id)} |
| 346 | <tr> |
| 347 | <td {$labelStyle}> |
| 348 | {ts}Transaction #{/ts} |
| 349 | </td> |
| 350 | <td {$valueStyle}> |
| 351 | {$trxn_id} |
| 352 | </td> |
| 353 | </tr> |
| 354 | {/if} |
| 355 | |
| 356 | {if !empty($paidBy)} |
| 357 | <tr> |
| 358 | <td {$labelStyle}> |
| 359 | {ts}Paid By{/ts} |
| 360 | </td> |
| 361 | <td {$valueStyle}> |
| 362 | {$paidBy} |
| 363 | </td> |
| 364 | </tr> |
| 365 | {/if} |
| 366 | |
| 367 | {if !empty($checkNumber)} |
| 368 | <tr> |
| 369 | <td {$labelStyle}> |
| 370 | {ts}Check Number{/ts} |
| 371 | </td> |
| 372 | <td {$valueStyle}> |
| 373 | {$checkNumber} |
| 374 | </td> |
| 375 | </tr> |
| 376 | {/if} |
| 377 | |
| 378 | {if !empty($billingName)} |
| 379 | <tr> |
| 380 | <th {$headerStyle}> |
| 381 | {ts}Billing Name and Address{/ts} |
| 382 | </th> |
| 383 | </tr> |
| 384 | <tr> |
| 385 | <td colspan="2" {$valueStyle}> |
| 386 | {$billingName}<br /> |
| 387 | {$address|nl2br} |
| 388 | </td> |
| 389 | </tr> |
| 390 | {/if} |
| 391 | |
| 392 | {if !empty($credit_card_type)} |
| 393 | <tr> |
| 394 | <th {$headerStyle}> |
| 395 | {ts}Credit Card Information{/ts} |
| 396 | </th> |
| 397 | </tr> |
| 398 | <tr> |
| 399 | <td colspan="2" {$valueStyle}> |
| 400 | {$credit_card_type}<br /> |
| 401 | {$credit_card_number}<br /> |
| 402 | {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:''|crmDate} |
| 403 | </td> |
| 404 | </tr> |
| 405 | {/if} |
| 406 | |
| 407 | {/if} |
| 408 | |
| 409 | {/if} {* End of conditional section for Paid events *} |
| 410 | |
| 411 | {if !empty($customPre)} |
| 412 | <tr> |
| 413 | <th {$headerStyle}> |
| 414 | {$customPre_grouptitle} |
| 415 | </th> |
| 416 | </tr> |
| 417 | {foreach from=$customPre item=value key=customName} |
| 418 | {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)} |
| 419 | <tr> |
| 420 | <td {$labelStyle}> |
| 421 | {$customName} |
| 422 | </td> |
| 423 | <td {$valueStyle}> |
| 424 | {$value} |
| 425 | </td> |
| 426 | </tr> |
| 427 | {/if} |
| 428 | {/foreach} |
| 429 | {/if} |
| 430 | |
| 431 | {if !empty($customPost)} |
| 432 | <tr> |
| 433 | <th {$headerStyle}> |
| 434 | {$customPost_grouptitle} |
| 435 | </th> |
| 436 | </tr> |
| 437 | {foreach from=$customPost item=value key=customName} |
| 438 | {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)} |
| 439 | <tr> |
| 440 | <td {$labelStyle}> |
| 441 | {$customName} |
| 442 | </td> |
| 443 | <td {$valueStyle}> |
| 444 | {$value} |
| 445 | </td> |
| 446 | </tr> |
| 447 | {/if} |
| 448 | {/foreach} |
| 449 | {/if} |
| 450 | |
| 451 | {if !empty($customProfile)} |
| 452 | {foreach from=$customProfile item=value key=customName} |
| 453 | <tr> |
| 454 | <th {$headerStyle}> |
| 455 | {ts 1=$customName+1}Participant Information - Participant %1{/ts} |
| 456 | </th> |
| 457 | </tr> |
| 458 | {foreach from=$value item=val key=field} |
| 459 | {if $field eq 'additionalCustomPre' or $field eq 'additionalCustomPost'} |
| 460 | <tr> |
| 461 | <td colspan="2" {$labelStyle}> |
| 462 | {if $field eq 'additionalCustomPre'} |
| 463 | {$additionalCustomPre_grouptitle} |
| 464 | {else} |
| 465 | {$additionalCustomPost_grouptitle} |
| 466 | {/if} |
| 467 | </td> |
| 468 | </tr> |
| 469 | {foreach from=$val item=v key=f} |
| 470 | <tr> |
| 471 | <td {$labelStyle}> |
| 472 | {$f} |
| 473 | </td> |
| 474 | <td {$valueStyle}> |
| 475 | {$v} |
| 476 | </td> |
| 477 | </tr> |
| 478 | {/foreach} |
| 479 | {/if} |
| 480 | {/foreach} |
| 481 | {/foreach} |
| 482 | {/if} |
| 483 | |
| 484 | {if !empty($customGroup)} |
| 485 | {foreach from=$customGroup item=value key=customName} |
| 486 | <tr> |
| 487 | <th {$headerStyle}> |
| 488 | {$customName} |
| 489 | </th> |
| 490 | </tr> |
| 491 | {foreach from=$value item=v key=n} |
| 492 | <tr> |
| 493 | <td {$labelStyle}> |
| 494 | {$n} |
| 495 | </td> |
| 496 | <td {$valueStyle}> |
| 497 | {$v} |
| 498 | </td> |
| 499 | </tr> |
| 500 | {/foreach} |
| 501 | {/foreach} |
| 502 | {/if} |
| 503 | |
| 504 | </table> |
| 505 | </td> |
| 506 | </tr> |
| 507 | |
| 508 | </table> |
| 509 | |
| 510 | </body> |
| 511 | </html> |