/**
* Private properties of dashboard.
*/
-
+
// Used to determine whether there are any incomplete ajax requests pending initialization of the dashboard.
var asynchronousRequestCounter = 0;
initialWidgets: Array(),
element: $('<ul id="column-' + c + '" class="column column-' + c + '"></ul>').appendTo(dashboard.element)
};
-
+
// Add the empty placeholder now, hide it and save it.
col.emptyPlaceholder = $(markup).appendTo(col.element).hide();
initialColumn: col,
minimized: ( widgets[c][widgetID[1]] > 0 ? true : false )
});
-
+
//set empty Dashboard to false
emptyDashboard = false;
}
if ( emptyDashboard ) {
emptyDashboardCondition( );
}
-
+
invokeCallback(opts.callbacks.init, dashboard);
}
cj(".show-refresh").hide( );
cj("#empty-message").show( );
}
-
+
// Contructors for each widget call this when initialization has finished so that dashboard can complete it's intitialization.
function completeInit() {
// Don't do anything if any widgets are waiting for ajax requests to complete in order to finish initialization.
handle: '.widget-header',
// The class of placeholder elements (the 'ghost' widget showing where the dragged item would land if released now.)
- placeholder: 'placeholder',
- activate: function(event, ui) {
- var h= cj(ui.item).height();
+ placeholder: 'placeholder',
+ activate: function(event, ui) {
+ var h= cj(ui.item).height();
$('.placeholder').css('height', h +'px'); },
-
+
opacity: 0.2,
// Maks sure that only widgets are sortable, and not empty placeholders.
items: '> .widget',
-
+
forcePlaceholderSize: true,
-
+
// Callback functions.
update: resorted,
start: hideEmptyPlaceholders
}
// Things get messy here.
- // @todo Refactor to use currentState and targetedState properties to determine what needs
- // to be done to get to any desired state on any UI or AJAX event – since these don't always
- // match.
- // E.g. When a user starts a new UI event before the Ajax event handler from a previous
+ // @todo Refactor to use currentState and targetedState properties to determine what needs
+ // to be done to get to any desired state on any UI or AJAX event – since these don't always
+ // match.
+ // E.g. When a user starts a new UI event before the Ajax event handler from a previous
// UI event gets invoked.
// Hide the settings first of all.
}
CRM.loadPage(widget.fullscreenUrl);
};
-
+
// Exit fullscreen mode.
widget.exitFullscreen = function() {
// This is just a wrapper for dashboard.exitFullscreen() which does the heavy lifting.
// Adds controls to a widget. id is for internal use and image file name in images/dashboard/ (a .gif).
widget.addControl = function(id, control) {
- var markup = '<a class="widget-icon ' + id + '-icon" alt="' + control.description + '" title="' + control.description + '"></a>';
+ var markup = '<a class="widget-icon ' + id + '-icon" alt="' + control.description + '" title="' + control.description + '"></a>';
control.element = $(markup).prependTo($('.widget-controls', widget.element)).click(control.callback);
};
// Removes the widget from the dashboard, and saves columns.
widget.remove = function() {
- if ( confirm( 'Are you sure you want to remove "' + widget.title + '"?') ) {
+ if ( confirm( 'Are you sure you want to remove "' + widget.title + '"?') ) {
invokeCallback(opts.widgetCallbacks.remove, widget);
widget.element.fadeOut(opts.animationSpeed, function() {
$(this).remove();
}
);
}
-
+
CRM.confirm({
title: dialogTitle,
width: '600',
options: {yes: "{/literal}{ts escape='js'}Save{/ts}{literal}", no: "{/literal}{ts escape='js'}Cancel{/ts}{literal}"},
url: dataUrl
}).on('crmConfirm:yes', save);
-
+
}
})(CRM.$);
</script>
{capture assign=docLink}{docURL page="user/case-management/setup" text="CiviCase Setup documentation"}{/capture}
<div class="messages status no-popup">
- <div class="icon inform-icon"></div>
+ <div class="icon inform-icon"></div>
<strong>{ts}You need to setup and load Case and Activity configuration files before you can begin using the CiviCase component.{/ts}</strong>
{ts 1=$docLink}Refer to the %1 to learn about this process.{/ts}
</div>
*}
<div class="crm-block crm-form-block crm-dedupe-find-form-block">
<div id="help">
- {ts}You can search all contacts for duplicates or limit the search to a specific group.{/ts}
+ {ts}You can search all contacts for duplicates or limit the search to a specific group.{/ts}
</div>
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
<table class="form-layout-compressed">
<tr class="crm-dedupe-find-form-block-group_id">
<td class="label">{$form.group_id.label}</td>
{$form.address.$blockId.county_id.html}<br />
</td>
</tr>
-{/if}
+{/if}
<td align="center" id="IM-Primary-html" {if $blockId eq 1}class="hiddenElement"{/if}>{$form.im.$blockId.is_primary.1.html}</td>
{if $blockId gt 1}
<td><a href="#" title="{ts}Delete IM Block{/ts}" onClick="removeBlock('IM','{$blockId}'); return false;">{ts}delete{/ts}</a></td>
- {/if}
+ {/if}
</tr>
{if !$addBlock}
<tr>
{/if}
{if $form.first_name}
<td>
- {$form.first_name.label}<br />
+ {$form.first_name.label}<br />
{$form.first_name.html}
</td>
{/if}
*}
<div class="crm-accordion-wrapper crm-notesBlock-accordion collapsed">
<div class="crm-accordion-header">
-
+
{$title}
</div><!-- /.crm-accordion-header -->
<div class="crm-accordion-body" id="notesBlock">
<table class="form-layout crm-edit-address-form crm-inline-edit-form">
<tr>
<td>
- <div class="crm-submit-buttons">
+ <div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl"}
{if $addressId}
<span class="crm-address-element is_billing-address-element">{$form.address.$blockId.is_billing.html}</span>
</td>
</tr>
-
+
{* include shared address template *}
{include file="CRM/Contact/Form/ShareAddress.tpl"}
-
+
<tr>
<td>
<table id="address_table_{$blockId}" class="form-layout-compressed">
</td>
</tr>
</table>
-
- <div class="crm-edit-address-custom_data crm-inline-edit-form crm-address-custom-set-block-{$blockId}">
+
+ <div class="crm-edit-address-custom_data crm-inline-edit-form crm-address-custom-set-block-{$blockId}">
{include file="CRM/Contact/Form/Edit/Address/CustomData.tpl"}
- </div>
+ </div>
{literal}
<script type="text/javascript">
{/literal}{* // Enforce unique location_type_id fields *}{literal}
</div>
</div>
{/if}
-
+
{if !empty($form.postal_greeting_id)}
<div class="crm-summary-row">
</div>
</div>
{/if}
-
+
</div>
</div>
{include file="CRM/common/formButtons.tpl"}
</div>
- <div class="crm-clear">
+ <div class="crm-clear">
{if $contactType eq 'Individual'}
<div class="crm-summary-row">
<div class="crm-label">{$form.employer_id.label} {help id="id-current-employer" file="CRM/Contact/Form/Contact.hlp"}</div>
{/if}
{if $form.first_name}
<div class="crm-inline-edit-field">
- {$form.first_name.label}<br />
+ {$form.first_name.label}<br />
{$form.first_name.html}
</div>
{/if}
<table class="crm-inline-edit-form">
<tr>
<td colspan="5">
- <div class="crm-submit-buttons">
+ <div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl"}
</div>
</td>
</tr>
{section name='i' start=1 loop=$totalBlocks}
- {assign var='blockId' value=$smarty.section.i.index}
+ {assign var='blockId' value=$smarty.section.i.index}
<tr id="Website_Block_{$blockId}" {if $blockId gt $actualBlockCount}class="hiddenElement"{/if}>
<td>{$form.website.$blockId.url.html|crmAddClass:url} </td>
<td>{$form.website.$blockId.website_type_id.html}</td>
<td>
- {if $blockId > 1}
+ {if $blockId > 1}
<a class="crm-delete-inline crm-hover-button action-item" href="#" title="{ts}Delete Website{/ts}"><span class="icon delete-icon"></span></a>
{/if}
</td>
$('tr[id^="Website_Block_"]' ).each( function() {
if( $(this).find('td:first span').length > 0 ) {
$(this).removeClass('hiddenElement');
- }
+ }
});
});
</script>
{include file="CRM/Contact/Form/Search/ResultTasks.tpl"}
{/if}
</div>
-
+
{* This section displays the rows along and includes the paging controls *}
<div class="crm-search-results">
{if $resultFile}
/**
* Handle user input - field or operator selection.
*
- * Decide whether to display select drop down, regular text or date
+ * Decide whether to display select drop down, regular text or date
* field for the given field and row.
*/
function handleUserInputField() {
$('input[id^=value]', row)
.hide()
.after('<select class="crm-form-' + multiSelect.substr(0, 5) + 'select required" ' + multiSelect + '><option value="">' + ts('Loading') + '...</option></select>');
-
+
fetchOptions(row, field);
}
</td>
<td>
{$form.task_status_id.html}
- </td>
+ </td>
</tr>
- </table>
+ </table>
</div>
{/if}
{capture assign=editSmartGroupURL}{crmURL p="civicrm/contact/search/custom" q="reset=1&force=1&ssID=`$ssID`"}{/capture}
{else}
{capture assign=editSmartGroupURL}{crmURL p="civicrm/contact/search/advanced" q="reset=1&force=1&ssID=`$ssID`"}{/capture}
- {/if}
+ {/if}
<div class="crm-submit-buttons">
<a href="{$editSmartGroupURL}" class="button no-popup"><span><div class="icon edit-icon"></div> {ts 1=$group.title}Edit Smart Group Search Criteria for %1{/ts}</span></a>
{help id="id-edit-smartGroup"}
<tr><td>{include file="CRM/Contact/Form/Task.tpl"}</td></tr>
</table>
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
-</div>
+</div>
// NOTE: Might be safer to say $('[name=_qf_Email_upload]')
$('.crm-form-submit').not('.cancel').on("click", function() {
$('.crm-form-submit').not('.cancel').attr({value: ts('Processing')});
- // CRM-13449 : setting a 0 ms timeout is needed
+ // CRM-13449 : setting a 0 ms timeout is needed
// for some browsers like chrome. Used for purpose of
// submit the form and stop accidental multiple clicks
setTimeout(function(){
<div class="crm-block crm-form-block crm-contact-task-mailing-label-form-block">
<div class="messages status no-popup">{include file="CRM/Contact/Form/Task.tpl"}</div>
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
-<table class="form-layout-compressed">
+<table class="form-layout-compressed">
<tr class="crm-contact-task-mailing-label-form-block-label_name">
<td class="label">{$form.label_name.label}</td>
<td>{$form.label_name.html} {help id="id-select-label" file="CRM/Contact/Form/Task/Label.hlp"}</td>
{include file="CRM/Contact/Form/Task/Map/`$mapProvider`.tpl"}
<p></p>
-<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
+<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
{if $showDirectly}
{assign var=height value="350px"}
{assign var=width value="425px"}
-{else}
+{else}
{assign var=height value="600px"}
{assign var=width value="100%"}
{/if}
-{assign var=defaultZoom value=12}
+{assign var=defaultZoom value=12}
{literal}
<script src="http://openlayers.org/api/OpenLayers.js" type="text/javascript"></script>
<script type="text/javascript">
map.addLayer(new OpenLayers.Layer.OSM());
var lonLat = new OpenLayers.LonLat(
- {/literal}{$center.lng}{literal},
+ {/literal}{$center.lng}{literal},
{/literal}{$center.lat}{literal}).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
);
map.setCenter(lonLat, {/literal}{$defaultZoom}{literal});
-
+
setMapOptions(map);
}
-
+
function setMapOptions(map) {
markers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(markers);
{/literal}
{if $location.lat}
point = new OpenLayers.LonLat(
- {$location.lng},
+ {$location.lng},
{$location.lat}).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
{/if}
{/foreach}
map.setCenter(bounds.getCenterLonLat());
- {if count($locations) gt 1}
+ {if count($locations) gt 1}
map.zoomToExtent(bounds);
{elseif $location.marker_class eq 'Event' || $location.marker_class eq 'Individual'|| $location.marker_class eq 'Household' || $location.marker_class eq 'Organization' }
map.zoomTo({$defaultZoom});
- {else}
- map.zoomTo({$defaultZoom});
+ {else}
+ map.zoomTo({$defaultZoom});
{/if}
{literal}
//attribution sits awkwardly high, move it down
function createMarker(map, markers, point, data, image) {
var marker = new OpenLayers.Marker(point);
-
+
var size = new OpenLayers.Size(20,20);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
marker.icon.size = size;
function gpopUp() {
var from = document.getElementById('from').value;
- var to = document.getElementById('to').value;
+ var to = document.getElementById('to').value;
var URL = "http://maps.google.com/maps?saddr=" + from + "&daddr=" + to;
day = new Date();
id = day.getTime();
<td class="label">{$form.uf_group_id.label}</td>
<td>{$form.uf_group_id.html}</td>
</tr>
- <tr>
+ <tr>
<td class="label"></td>
<td>
{include file="CRM/Contact/Form/Task.tpl"}
<div class="crm-form-block crm-block crm-contact-task-removefromgroup-form-block">
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
<table class="form-layout-compressed">
- <tr class="crm-contact-task-removefromgroupform-block-group_id">
+ <tr class="crm-contact-task-removefromgroupform-block-group_id">
<td class="label">{if $group.id}{ts}Group{/ts}{else}{$form.group_id.label}{/if}</td>
<td>{$form.group_id.html}</td>
</tr>
{/literal}
{/section}
- </dl>
+ </dl>
</div>
-
+
<div id="crm-submit-buttons" class="form-item">
<dl>
<dt> </dt><dd>{$form.buttons.html}</dd>
<p>
{ts}<strong>Import has completed successfully.</strong> The information below summarizes the results.{/ts}
</p>
-
+
{if $unMatchCount }
<p class="error">
{ts count=$unMatchCount plural='CiviCRM has detected mismatched contact IDs. These records have not been updated.'}CiviCRM has detected mismatched contact ID. This record has not been updated.{/ts}
<p class="error">
{ts 1=$downloadMismatchRecordsUrl}You can <a href='%1'>Download Mismatched Contacts</a>. You may then correct them, and import the new file with the corrected data.{/ts}
</p>
- {/if}
-
+ {/if}
+
{if $invalidRowCount }
<p class="error">
{ts count=$invalidRowCount plural='CiviCRM has detected invalid data and/or formatting errors in %count records. These records have not been imported.'}CiviCRM has detected invalid data and/or formatting errors in one record. This record has not been imported.{/ts}
{ts 1=$downloadAddressRecordsUrl}You can <a href='%1'>Download Street Address Records </a>. You may then edit those contact records and update the street address accordingly.{/ts}
</p>
{/if}
- </div>
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
+ </div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
{* Summary of Import Results (record counts) *}
<table id="summary-counts" class="report">
<tr><td class="label">{ts}Total Rows{/ts}</td>
</td>
</tr>
{/if}
-
+
{if $unMatchCount }
<tr class="error"><td class="label">{ts}Mismatched Rows (skipped){/ts}</td>
<td class="data">{$unMatchCount}</td>
</td>
</tr>
{/if}
-
+
{if $conflictRowCount}
<tr class="error"><td class="label">{ts}Conflicting Rows (skipped){/ts}</td>
<td class="data">{$conflictRowCount}</td>
</td>
</tr>
{/if}
-
+
<tr><td class="label">{ts}Total Contacts{/ts}</td>
<td class="data">{$validRowCount}</td>
<td class="explanation">{ts}Total number of contact records created or modified during the import.{/ts}</td>
{/if}
</table>
-
+
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
</div>
-
+
{foreach from=$add.custom item=customGroup key=cgId} {* start of outer foreach *}
{assign var="isAddressCustomPresent" value=1}
{foreach from=$customGroup item=customValue key=cvId}
- <div id="address_custom_{$cgId}_{$locationIndex}"
- class="crm-collapsible crm-address-custom-{$cgId}-{$locationIndex}-accordion
+ <div id="address_custom_{$cgId}_{$locationIndex}"
+ class="crm-collapsible crm-address-custom-{$cgId}-{$locationIndex}-accordion
{if $customValue.collapse_display}collapsed{/if}">
<div class="collapsible-title">
{$customValue.title}
<div class="crm-summary-row">
<div class="crm-label">{ts}Employer{/ts}</div>
<div class="crm-content crm-contact-current_employer">
- {if !empty($current_employer_id)}
+ {if !empty($current_employer_id)}
<a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$current_employer_id`"}" title="{ts}view current employer{/ts}">{$current_employer}</a>
{/if}
</div>
<script type="text/javascript">
function showHideSignature( blockId ) {
- cj("#Email_Block_" + blockId + "_signature").show( );
+ cj("#Email_Block_" + blockId + "_signature").show( );
cj("#Email_Block_" + blockId + "_signature").dialog({
title: "Signature",
cj(this).dialog("destroy");
},
buttons: {
- "Done": function() {
- cj(this).dialog("destroy");
- }
- }
+ "Done": function() {
+ cj(this).dialog("destroy");
+ }
+ }
});
}
</script>
$(nRow).addClass('crm-entity');
}
}
- });
+ });
}
});
</script>
+--------------------------------------------------------------------+
*}
<div class="crm-block crm-form-block crm-useradd-form-block">
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
<table class="form-layout-compressed">
<tr>
<td class="label">{$form.name.label}</td><td>{$form.name.html}</td>
<td class="label">{$form.email.label}</td><td>{$form.email.html}</td>
</tr>
</table>
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
</div>
<script type="text/javascript">
{include file="CRM/common/checkUsernameAvailable.tpl"}
<div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl"}
</div>
- <table class="form-layout-compressed">
+ <table class="form-layout-compressed">
<tr>
<td class="font-size12pt label"><strong>{ts}Participant{/ts}</strong></td><td class="font-size12pt"><strong>{$displayName}</strong></td>
</tr>
{if $contributionMode}
<tr class="crm-payment-form-block-payment_processor_id"><td class="label nowrap">{$form.payment_processor_id.label}<span class="marker"> * </span></td><td>{$form.payment_processor_id.html}</td></tr>
- {/if}
+ {/if}
<tr>
<td class='label'>{ts}Event{/ts}</td><td>{$eventName}</td>
</tr>
</span><br />
{$form.receipt_text.html|crmAddClass:huge}
</td>
- </tr>
+ </tr>
<tr class="crm-payment-form-block-fee_amount"><td class="label">{$form.fee_amount.label}</td><td{$valueStyle}>{$form.fee_amount.html|crmMoney:$currency:'XXX':'YYY'}<br />
<span class="description">{ts}Processing fee for this transaction (if applicable).{/ts}</span></td></tr>
<tr class="crm-payment-form-block-net_amount"><td class="label">{$form.net_amount.label}</td><td{$valueStyle}>{$form.net_amount.html|crmMoney:$currency:'':1}<br />
<span class="description">{ts}Instructions added to Confirmation and Thank-you pages, as well as the confirmation email, when the user selects the 'pay later' option (e.g. 'Mail your check to ... within 3 business days.').{/ts}</span></td></tr>
<tr><th scope="row" class="label">{$form.is_billing_required.label}</th>
- <td>{$form.is_billing_required.html}</td></tr>
+ <td>{$form.is_billing_required.html}</td></tr>
</table>
</td>
</tr>
*}
{if $validCiviContribute}
<div id="contributeForm" class="crm-contribution-search-advanced_search-form-block">
- <table class="form-layout">
+ <table class="form-layout">
{include file="CRM/Contribute/Form/Search/Common.tpl"}
</table>
</div>
<div class="description font-italic">
{ts}Complete OR partial Contribution Page title.{/ts}
</div>
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl"}</div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl"}</div>
</td>
-
+
<td>
<label>{ts}Financial Type{/ts}</label>
<div class="listing-box">
</tr>
{* campaign in contribution page search *}
- {include file="CRM/Campaign/Form/addCampaignToComponent.tpl"
+ {include file="CRM/Campaign/Form/addCampaignToComponent.tpl"
campaignContext="componentSearch" campaignTrClass='' campaignTdClass=''}
</table>
*}
{ts 1=$totalSelectedContributions}Number of selected contributions: %1{/ts}
-{if $rows }
+{if $rows }
<div class="crm-block crm-form-block crm-contribution-task-form-block">
<table width="30%">
<tr class="columnheader">
{*Table displays contribution totals for a contact or search result-set *}
{if $annual.count OR $contributionSummary}
<table class="form-layout-compressed">
-
+
{if $annual.count}
<tr>
<th class="contriTotalLeft right">{ts}Current Year-to-Date{/ts} - {$annual.amount}</th>
{if $contributionSummary.cancel.amount}
<th class="disabled right contriTotalRight"> {ts}Total Cancelled Amount{/ts} - {$contributionSummary.cancel.amount}</th>
{/if}
- </tr>
+ </tr>
{if $contributionSummary.soft_credit.count}
<tr>
<th class="contriTotalLeft right">{ts}Total Soft Credit Amount{/ts} - {$contributionSummary.soft_credit.amount}</th>
<th class="right"> {ts}# Completed Soft Credits{/ts} - {$contributionSummary.soft_credit.count}</th>
<th class="right contriTotalRight"> {ts}Avg Soft Credit Amount{/ts} - {$contributionSummary.soft_credit.avg}</th>
- </tr>
+ </tr>
{/if}
{/if}
-
+
</table>
{/if}
{/literal}
</style>
<script>
-if (!jQuery) {ldelim}
+if (!jQuery) {ldelim}
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= CRM.config.resourceBase + 'js/packages/jquery/jquery.js';
head.appendChild(script);
-{rdelim}
+{rdelim}
restURL = '{crmURL p="civicrm/api/json"}';
if (restURL.indexOf('?') == -1 )
restURL = restURL + '?';
-else
+else
restURL = restURL + '&';
{literal}
if (typeof $ == "undefined") {
$ = cj;
-}
+}
function APIDoc(entity){
$detail=$('#detail_'+entity);
CRM.$(function($) {
- $('h2.entity').click ( function(){APIDoc($(this).attr('id'))} );
+ $('h2.entity').click ( function(){APIDoc($(this).attr('id'))} );
entity=window.location.hash;
if (entity.substring(0, 1) === '#') {
$entity=$(entity);
</div>
<div id="preview-dialog" class="hide-block">
<div id="generated_dates" class="show-block"></div>
-
+
</div>
{literal}
<script type="text/javascript">
cj('.crm-core-form-recurringentity-block-repeats_by td').hide();
}
cj("#repeats-every-text").html(cj('#repetition_frequency_unit').val()+'(s)');
-
+
/***********On Load Set Ends Value (Edit Mode) **********/
if (cj('input:radio[name=ends]:checked').val() == 1) {
cj('#start_action_offset').removeAttr('disabled').attr('enabled','enabled');
//Just in-case block shows up, disable it
cj('#limit_to, #entity_status_1, #entity_status_2').removeAttr('enabled').attr('disabled','disabled');
}
-
+
cj('#repetition_frequency_unit').change(function () {
if (cj(this).val()==='hour') {
cj('#repeats-every-text').html(cj(this).val()+'(s)');
cj('.crm-core-form-recurringentity-block-repeats_by td').hide();
} else if (cj(this).val()==='week') {
cj('#repeats-every-text').html(cj(this).val()+'(s)');
- //Show "Repeats On" block when week is selected
+ //Show "Repeats On" block when week is selected
cj('.crm-core-form-recurringentity-block-start_action_condition').show();
cj('.crm-core-form-recurringentity-block-repeats_by td').hide();
} else if (cj(this).val()==='month') {
cj('#repeats-every-text').html(cj(this).val()+'(s)');
cj('.crm-core-form-recurringentity-block-start_action_condition').hide();
- //Show "Repeats By" block when month is selected
+ //Show "Repeats By" block when month is selected
cj('.crm-core-form-recurringentity-block-repeats_by td').show();
} else if (cj(this).val()==='year') {
cj('#repeats-every-text').html(cj(this).val()+'(s)');
cj('.crm-core-form-recurringentity-block-repeats_by td').hide();
}
});
-
+
// For "Ends" block
cj('input:radio[name=ends]').click(function() {
if (cj(this).val() == 1) {
cj('#repeat_absolute_date_display').removeAttr('enabled').attr('disabled','disabled');
}
});
-
+
//For "Repeats By" block
cj('input:radio[name=repeats_by]').click(function() {
if (cj(this).val() == 1) {
cj('#entity_status_2').removeAttr('enabled').attr('disabled','disabled');
}
});
-
+
//Select all options in selectbox before submitting
cj(this).submit(function() {
cj('#exclude_date_list option').attr('selected',true);
return false;
}
}
-
+
});
-
+
//Dialog for preview repeat Configuration dates
cj('#preview-dialog').dialog({ autoOpen: false });
cj('#_qf_Repeat_submit-top, #_qf_Repeat_submit-bottom').click( function () {
}
html += '</table>';
var warningHtml = '';
- if (Object.keys(participantData).length > 0) {
+ if (Object.keys(participantData).length > 0) {
warningHtml += '<div class="messages status no-popup"><div class="icon inform-icon"></div> There are registrations for the repeating events already present in the set, continuing with the process would unlink them and repeating events without registration would be trashed. </div><table id="options" class="display"><thead><tr><th>Event ID</th><th>Event</th><th>Participant Count</th></tr><thead>';
for (var id in participantData) {
for(var data in participantData[id]) {
});
return false;
});
-
+
//Build Summary
var finalSummary = '';
var numberText = '';
numberText = 's';
}
finalSummary = "Every " + interval + cj('#repetition_frequency_unit option:selected').val() + numberText;
-
+
//Case Week
var dayOfWeek = new Array();
if (cj('#repetition_frequency_unit option:selected').val() == "week") {
});
finalSummary += ' on ' + dayOfWeek.join();
}
-
+
//Case Monthly
if (cj('#repetition_frequency_unit option:selected').val() == "month") {
if (cj('input:radio[name=repeats_by]:checked').val() == 1) {
finalSummary += ' on ' + cj('#entity_status_1').val().substr(0, 1).toUpperCase() + cj('#entity_status_1').val().substr(1).toLowerCase() + ' ' + cj('#entity_status_2').val().substr(0, 1).toUpperCase() + cj('#entity_status_2').val().substr(1).toLowerCase();
}
}
-
+
//Case Ends
if (cj('input:radio[name=ends]:checked').val() == 1) {
var timeText = ''
var monthNames = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var date = new Date(cj('#repeat_absolute_date_display').val());
function addOrdinal(d) {
- if (d>3 && d<21) return 'th';
+ if (d>3 && d<21) return 'th';
switch (d % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
- }
+ }
var newDate = monthNames[(date.getMonth())] + ' ' + date.getDate()+ addOrdinal() + ' ' + date.getFullYear();
finalSummary += ', untill '+ newDate;
}
-
+
//Build/Attach final Summary
cj('#rec-summary').html(finalSummary);
-
+
});
-
+
//Exclude list function
function addToExcludeList(val) {
if (val !== "") {
}
}
</script>
-{/literal}
+{/literal}
<td>{$form.dst_group_id.html}<br />
<span class="description">{ts}Select a different Custom Data Set for this field.{/ts}
</td>
- </tr>
+ </tr>
<tr><td class="label">{$form.is_copy.label}</td><td>{$form.is_copy.html}</td></tr>
</table>
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
</ul>
</div>
</fieldset>
-{/foreach}
+{/foreach}
<script type="text/javascript">
var session_options = {$session_options};
'CRM_Friend_Form_Event': 'civicrm_tell_friend',
'CRM_PCP_Form_Event': 'civicrm_pcp_block'
};
-
+
var form = '';
$('#crm-main-content-wrapper').on('click', 'div.crm-submit-buttons span.crm-button input[value="Save"], div.crm-submit-buttons span.crm-button input[value="Save and Done"]', function() {
form = $(this).parents('form:first').attr('class');
}).dialog('open');
return false;
}
- });
+ });
$(".only-this-event").click(function() {
updateMode(1);
});
-
+
cj(".this-and-all-following-event").click(function() {
updateMode(2);
});
-
+
cj(".all-events").click(function() {
updateMode(3);
});
-
+
function updateMode(mode) {
var eventID = {/literal}{$id}{literal};
if (eventID != "" && mode && form != "") {
<td id="locUsedMsg" colspan="3">
</td>
</tr>
-
+
</table>
{/if}
-
+
<div id="newLocation">
}
}
}
-
+
$('input[name=location_option]').click(showLocFields);
showLocFields(false);
event.stopPropagation();
return false;
});
-
+
$('#crm-participant-link').click(function(event) {
$('#crm-participant-list').toggle();
$('#crm-event-links-list').hide();
*}
{if $validCiviEvent}
<div id="participantForm" class="form-item">
- <table class="form-layout">
+ <table class="form-layout">
{include file="CRM/Event/Form/Search/Common.tpl"}
</table>
</div>
+--------------------------------------------------------------------+
*}
<tr>
- <td class="crm-event-form-block-event_id">
+ <td class="crm-event-form-block-event_id">
{$form.event_id.label} <br />{$form.event_id.html|crmAddClass:huge} <br/>
{$form.event_include_repeating_events.label} {$form.event_include_repeating_events.html}
</td>
{/foreach}
</div>
</td>
- <td class="right" rowspan="2"> {include file="CRM/common/formButtons.tpl"}</td>
+ <td class="right" rowspan="2"> {include file="CRM/common/formButtons.tpl"}</td>
</tr>
-
+
<tr>
<td colspan="2">
<table class="form-layout-compressed" id="id_fromToDates">
</tr>
<tr class="crm-event-searchevent-form-block-end_date" >
<td class="label">{$form.end_date.label}</td>
- <td>{include file="CRM/common/jcalendar.tpl" elementName=end_date}</td>
+ <td>{include file="CRM/common/jcalendar.tpl" elementName=end_date}</td>
</tr>
- </table>
- </td></tr>
+ </table>
+ </td></tr>
{* campaign in event search *}
- {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" campaignContext="componentSearch"
+ {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" campaignContext="componentSearch"
campaignTrClass='crm-event-searchevent-form-block-campaign_id' campaignTdClass=''}
</table>
{include file="CRM/common/showHide.tpl"}
-{literal}
+{literal}
<script type="text/javascript">
if ( document.getElementsByName('eventsByDates')[1].checked ) {
cj('#id_fromToDates').show();
}
</script>
-{/literal}
+{/literal}
*}
{ts 1=$totalSelectedParticipants}Number of selected participants: %1{/ts}
-{if $rows }
+{if $rows }
<div class="form-item">
<table width="30%">
<tr class="columnheader">
<div class="crm-section crm-task-count">
{include file="CRM/Event/Form/Task.tpl"}
</div>
-<table class="form-layout-compressed">
+<table class="form-layout-compressed">
<tr class="crm-event-badge-form-block-label_id">
<td class="label">{$form.badge_id.label}</td>
<td>{$form.badge_id.html}</td>
{* Confirmation of Cancel Registration *}
<div class="crm-block crm-form-block crm-event-cancel-form-block">
<div class="crm-submit-buttons">
- {include file="CRM/common/formButtons.tpl" location="top"}
+ {include file="CRM/common/formButtons.tpl" location="top"}
</div>
<div class="messages status no-popup">
<div class="icon inform-icon"></div>
</div>
<div class="crm-submit-buttons">
- {include file="CRM/common/formButtons.tpl" location="bottom"}
+ {include file="CRM/common/formButtons.tpl" location="bottom"}
</div>
</div>
*}
<p>
-{if $rows }
+{if $rows }
<div class="crm-submit-buttons">
<span class="element-right">{include file="CRM/common/formButtons.tpl" location="top"}</span>
</div>
*}
{* Participant Import Wizard - Step 3 (preview import results prior to actual data loading) *}
{* @var $form Contains the array for the form elements and other form associated information assigned to the template by the controller *}
-
+
<div class="crm-block crm-form-block crm-event-import-preview-form-block">
{* WizardHeader.tpl provides visual display of steps thru the wizard as well as title for current step *}
{include file="CRM/common/WizardHeader.tpl"}
<div id="help">
<p>
- {ts}The information below previews the results of importing your data in CiviCRM. Review the totals to ensure that they represent your expected results.{/ts}
+ {ts}The information below previews the results of importing your data in CiviCRM. Review the totals to ensure that they represent your expected results.{/ts}
</p>
-
+
{if $invalidRowCount}
<p class="error">
{ts 1=$invalidRowCount 2=$downloadErrorRecordsUrl}CiviCRM has detected invalid data or formatting errors in %1 records. If you continue, these records will be skipped. OR, you can download a file with just these problem records - <a href='%2'>Download Errors</a>. Then correct them in the original import file, cancel this import and begin again at step 1.{/ts}
{ts 1=$conflictRowCount 2=$downloadConflictRecordsUrl}CiviCRM has detected %1 records with conflicting participant IDs within this data file. If you continue, these records will be skipped. OR, you can download a file with just these problem records - <a href='%2'>Download Conflicts</a>. Then correct them in the original import file, cancel this import and begin again at step 1.{/ts}
</p>
{/if}
-
+
<p>{ts}Click 'Import Now' if you are ready to proceed.{/ts}</p>
</div>
<td class="data">{$totalRowCount}</td>
<td class="explanation">{ts}Total rows (participant records) in uploaded file.{/ts}</td>
</tr>
-
+
{if $invalidRowCount}
<tr class="error"><td class="label">{ts}Rows with Errors{/ts}</td>
<td class="data">{$invalidRowCount}</td>
</td>
</tr>
{/if}
-
+
{if $conflictRowCount}
<tr class="error"><td class="label">{ts}Conflicting Rows{/ts}</td>
<td class="data">{$conflictRowCount}</td>
<td class="explanation">{ts}Total rows to be imported.{/ts}</td>
</tr>
</table>
-
+
{* Table for mapping preview *}
{include file="CRM/Event/Import/Form/MapTable.tpl}
-
-
+
+
<div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl" location="bottom"}
</div>
{* WizardHeader.tpl provides visual display of steps thru the wizard as well as title for current step *}
{include file="CRM/common/WizardHeader.tpl"}
-
+
<div id="help">
<p>
<strong>{ts}Import has completed successfully.{/ts}</strong> {ts}The information below summarizes the results.{/ts}
</p>
-
+
{if $unMatchCount }
<p class="error">
{ts count=$unMatchCount plural='CiviCRM has detected mismatched participant IDs. These records have not been updated.'}CiviCRM has detected a mismatched participant ID. This record has not been updated.{/ts}
<p class="error">
{ts 1=$downloadMismatchRecordsUrl}You can <a href="%1">Download Mismatched Participants</a>. You may then correct them, and import the new file with the corrected data.{/ts}
</p>
- {/if}
-
+ {/if}
+
{if $invalidRowCount }
<p class="error">
{ts count=$invalidRowCount plural='CiviCRM has detected invalid data and/or formatting errors in %count records. These records have not been imported.'}CiviCRM has detected invalid data and/or formatting errors in one record. This record has not been imported.{/ts}
</p>
{/if}
</div>
-
+
<div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl" location="top"}
-</div>
+</div>
{* Summary of Import Results (record counts) *}
<table id="summary-counts" class="report">
<tr><td class="label">{ts}Total Rows{/ts}</td>
</td>
</tr>
{/if}
-
+
{if $unMatchCount }
<tr class="error"><td class="label">{ts}Mismatched Rows (skipped){/ts}</td>
<td class="data">{$unMatchCount}</td>
</td>
</tr>
{/if}
-
+
{if $conflictRowCount}
<tr class="error"><td class="label">{ts}Conflicting Rows (skipped){/ts}</td>
<td class="data">{$conflictRowCount}</td>
</td>
</tr>
{/if}
-
+
<tr><td class="label">{ts}Records Imported{/ts}</td>
<td class="data">{$validRowCount}</td>
<td class="explanation">{ts}Rows imported successfully.{/ts}</td>
</tr>
</table>
-
+
<div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl" location="bottom"}
</div>
<td class="crm-participant-participant_status">{$row.participant_status}</td>
<td class="crm-participant-showConfirmUrl">
{if $row.showConfirmUrl}
- <a href="{crmURL p='civicrm/event/confirm' q="reset=1&participantId=`$row.participant_id`"}">{ts}Confirm Registration{/ts}</a>
+ <a href="{crmURL p='civicrm/event/confirm' q="reset=1&participantId=`$row.participant_id`"}">{ts}Confirm Registration{/ts}</a>
{/if}
</td>
</tr>
<div class="messages status no-popup">
<div class="icon inform-icon"></div>
{ts}You are not registered for any current or upcoming Events.{/ts}
-
+
</div>
{/if}
</div>
{capture assign=icalFile}{crmURL p='civicrm/event/ical' q="reset=1&id=`$event.id`" fe=1 a=1}{/capture}
{capture assign=icalFeed}{crmURL p='civicrm/event/ical' q="reset=1&list=1&id=`$event.id`" fe=1 a=1}{/capture}
<div class="action-link section iCal_links-section">
- <a href="{$icalFile}" title="{ts}Download iCalendar entry for this event.{/ts}"><img src="{$config->resourceBase}i/office-calendar.png" alt="{ts}Download iCalendar entry for this event.{/ts}"></a> <a href="{$icalFeed}" title="{ts}iCalendar feed for this event.{/ts}"><img src="{$config->resourceBase}i/ical_feed.gif" alt="{ts}iCalendar feed for this event.{/ts}" style="margin-bottom: 4px;" /></a>
+ <a href="{$icalFile}" title="{ts}Download iCalendar entry for this event.{/ts}"><img src="{$config->resourceBase}i/office-calendar.png" alt="{ts}Download iCalendar entry for this event.{/ts}"></a> <a href="{$icalFeed}" title="{ts}iCalendar feed for this event.{/ts}"><img src="{$config->resourceBase}i/ical_feed.gif" alt="{ts}iCalendar feed for this event.{/ts}" style="margin-bottom: 4px;" /></a>
</div>
<div class="crm-block crm-form-block crm-financial_type-form-block">
{if $action eq 8}
<div class="messages status">
- <div class="icon inform-icon"></div>
+ <div class="icon inform-icon"></div>
{ts}WARNING: You cannot delete a financial type if it is currently used by any Contributions, Contribution Pages or Membership Types. Consider disabling this option instead.{/ts} {ts}Deleting a financial type cannot be undone. Unbalanced transactions may be created if you delete this account.{/ts} {ts}Do you want to continue?{/ts}
</div>
{else}
+--------------------------------------------------------------------+
*}
<div id="GrantForm" class="form-item">
- <table class="form-layout">
+ <table class="form-layout">
{include file="CRM/Grant/Form/Search/Common.tpl"}
</table>
</div>
</td>
<td>
{$form.grant_type_id.label}<br />
- {$form.grant_type_id.html}
+ {$form.grant_type_id.html}
</td>
</tr>
<tr>
<td>
{$form.grant_amount_low.label}<br />
{$form.grant_amount_low.html}
- </td>
+ </td>
<td colspan="2">
{$form.grant_amount_high.label}<br />
{$form.grant_amount_high.html}
{$form.grant_application_received_date_high.label}<br />
{include file="CRM/common/jcalendar.tpl" elementName=grant_application_received_date_high}
{$form.grant_application_received_notset.html} {ts}Date is not set{/ts}
- </td>
+ </td>
</tr>
<tr>
<td>
{include file="CRM/common/jcalendar.tpl" elementName=grant_decision_date_low}
</td>
<td colspan="2">
- {$form.grant_decision_date_high.label}<br />
+ {$form.grant_decision_date_high.label}<br />
{include file="CRM/common/jcalendar.tpl" elementName=grant_decision_date_high}
{$form.grant_decision_date_notset.html} {ts}Date is not set{/ts}
- </td>
+ </td>
</tr>
<tr>
- <td>
- {$form.grant_money_transfer_date_low.label}<br />
+ <td>
+ {$form.grant_money_transfer_date_low.label}<br />
{include file="CRM/common/jcalendar.tpl" elementName=grant_money_transfer_date_low}
</td>
- <td colspan="2">
- {$form.grant_money_transfer_date_high.label}<br />
+ <td colspan="2">
+ {$form.grant_money_transfer_date_high.label}<br />
{include file="CRM/common/jcalendar.tpl" elementName=grant_money_transfer_date_high}
{$form.grant_money_transfer_date_notset.html} {ts}Date is not set{/ts}
- </td>
+ </td>
</tr>
<tr>
<td>
{$form.grant_due_date_high.label}<br />
{include file="CRM/common/jcalendar.tpl" elementName=grant_due_date_high}
{$form.grant_due_date_notset.html} {ts}Date is not set{/ts}
- </td>
+ </td>
</tr>
{if $grantGroupTree}
<tr>
{if $totalSelectedGrants}
{ts 1=$totalSelectedGrants}Number of selected grants: %1{/ts}
{/if}
-{if $rows }
+{if $rows }
<div class="form-item">
<table width="30%">
<tr class="columnheader">
*}
<p>
-{if $rows }
+{if $rows }
<div class="crm-submit-buttons element-right">{$form.buttons.html}</div>
<div class="spacer"></div>
<br />
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*}
-{* Update Grants *}
+{* Update Grants *}
<div class="crm-block crm-form-block crm-grants-update-form-block">
<p>{ts}Enter values for the fields you wish to update. Leave fields blank to preserve existing values.{/ts}</p>
<table class="form-layout-compressed">
{if $pager->_totalItems}
-
+
<h3>{ts}Recent Grants{/ts}</h3>
<div class="form-item">
{include file="CRM/Grant/Form/Selector.tpl" context="DashBoard"}
{if $validCiviMailing}
<div id="mailingForm" class="form-item">
- <table class="form-layout">
+ <table class="form-layout">
{include file="CRM/Mailing/Form/Search/Common.tpl"}
</table>
</div>
*}
{ts 1=$totalSelectedMailingRecipients}Number of selected Mailing Recipients: %1{/ts}
-{if $rows }
+{if $rows }
<div class="crm-block crm-form-block crm-mailing-task-form-block">
<table width="30%">
<tr class="columnheader">
*}
<p>
-{if $rows}
+{if $rows}
<div class="form-item crm-block crm-form-block crm-mailing-form-block">
<span class="element-right">{$form.buttons.html}</span>
</div>
<th>{ts}Completed Date{/ts}</th>
</tr>
{foreach from=$rows item=row}
- <tr class="{cycle values="odd-row,even-row"} crm-mailing">
+ <tr class="{cycle values="odd-row,even-row"} crm-mailing">
<td class='crm-mailing-sort_name'>{$row.sort_name}</td>
<td {if ($row.email_on_hold eq 1) or ($row.contact_opt_out eq 1)}class='font-red'{/if}>{$row.email}</td>
<td class='crm-mailing-mailing_name'>{$row.mailing_name}</td>
<table class="form-layout">
<tr class="crm-mailing-test-form-block-test_email"><td class="label">{$form.test_email.label}</td><td>{$form.test_email.html} {ts}(filled with your contact's token values){/ts}</td></tr>
<tr class="crm-mailing-test-form-block-test_group"><td class="label">{$form.test_group.label}</td><td>{$form.test_group.html}</td></tr>
- <tr><td></td><td>{$form.sendtest.html}</td>
+ <tr><td></td><td>{$form.sendtest.html}</td>
</table>
</fieldset>
<div class="crm-accordion-wrapper crm-plain_text_email-accordion collapsed">
<div class="crm-accordion-header">
-
+
{ts}Preview Mailing{/ts}
</div><!-- /.crm-accordion-header -->
<div class="crm-accordion-body">
{/if}
</table>
</div><!-- /.crm-accordion-body -->
-</div><!-- /.crm-accordion-wrapper -->
+</div><!-- /.crm-accordion-wrapper -->
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl"}</div>
-
+
</div><!-- / .crm-form-block -->
if (this.end_date) {
andEndDate = ' ' + ts("and end date of %1", {1:this.end_date});
}
-
+
var renewUrl = CRM.url('civicrm/contact/view/membership',
"reset=1&action=renew&cid="+this.contact_id+"&id="+this['id']+"&context=membership&selectedChild=member"
);
);
var org = $('option:selected', "select[name='membership_type_id[0]']").text();
-
+
alert = CRM.alert(
ts('This contact has an existing %1 membership at %2 with %3 status%4.', {1: CRM.existingMems.memtypes[this.membership_type_id], 2: org, 3: membership_status, 4: andEndDate})
+ '<ul><li><a href="' + renewUrl + '">'
*}
{ts 1=$totalSelectedMembers}Number of selected memberships: %1{/ts}
-{if $rows }
+{if $rows }
<div class="form-item">
<table width="30%">
<tr class="columnheader">
+--------------------------------------------------------------------+
*}
<p>
-{if $rows }
+{if $rows }
<div class="form-item">
<span class="element-right">{include file="CRM/common/formButtons.tpl" location="top"}</span>
</div>
{* Table for mapping data to CRM fields *}
{include file="CRM/Member/Import/Form/MapTable.tpl}
-
+
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
</div>
{$initHideBoxes}
if ( document.getElementsByName("saveMapping")[0].checked ) {
document.getElementsByName("updateMapping")[0].checked = true;
document.getElementsByName("saveMapping")[0].checked = false;
-}
+}
</script>
{/literal}
{* WizardHeader.tpl provides visual display of steps thru the wizard as well as title for current step *}
{include file="CRM/common/WizardHeader.tpl"}
-
+
<div id="help">
<p>
- {ts}The information below previews the results of importing your data in CiviCRM. Review the totals to ensure that they represent your expected results.{/ts}
+ {ts}The information below previews the results of importing your data in CiviCRM. Review the totals to ensure that they represent your expected results.{/ts}
</p>
-
+
{if $invalidRowCount}
<p class="error">
{ts 1=$invalidRowCount 2=$downloadErrorRecordsUrl}CiviCRM has detected invalid data or formatting errors in %1 records. If you continue, these records will be skipped. OR, you can download a file with just these problem records - <a href='%2'>Download Errors</a>. Then correct them in the original import file, cancel this import and begin again at step 1.{/ts}
{ts 1=$conflictRowCount 2=$downloadConflictRecordsUrl}CiviCRM has detected %1 records with conflicting transaction ids within this data file. If you continue, these records will be skipped. OR, you can download a file with just these problem records - <a href='%2'>Download Conflicts</a>. Then correct them in the original import file, cancel this import and begin again at step 1.{/ts}
</p>
{/if}
-
+
<p>{ts}Click 'Import Now' if you are ready to proceed.{/ts}</p>
</div>
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
{* Summary Preview (record counts) *}
<table id="preview-counts" class="report">
<tr><td class="label">{ts}Total Rows{/ts}</td>
<td class="data">{$totalRowCount}</td>
<td class="explanation">{ts}Total rows (membership records) in uploaded file.{/ts}</td>
</tr>
-
+
{if $invalidRowCount}
<tr class="error"><td class="label">{ts}Rows with Errors{/ts}</td>
<td class="data">{$invalidRowCount}</td>
</td>
</tr>
{/if}
-
+
{if $conflictRowCount}
<tr class="error"><td class="label">{ts}Conflicting Rows{/ts}</td>
<td class="data">{$conflictRowCount}</td>
<td class="explanation">{ts}Total rows to be imported.{/ts}</td>
</tr>
</table>
-
+
{* Table for mapping preview *}
{include file="CRM/Member/Import/Form/MapTable.tpl}
-
-
+
+
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
</div>
<div class="crm-block crm-form-block crm-member-import-summary-form-block">
{* WizardHeader.tpl provides visual display of steps thru the wizard as well as title for current step *}
{include file="CRM/common/WizardHeader.tpl"}
-
+
<div id="help">
<p>
<strong>{ts}Import has completed successfully.{/ts}</strong> {ts}The information below summarizes the results.{/ts}
</p>
-
+
{if $unMatchCount }
<p class="error">
{ts count=$unMatchCount plural='CiviCRM has detected mismatched membership IDs. These records have not been Updated.'}CiviCRM has detected mismatched membership ID. This record has not been updated.{/ts}
<p class="error">
{ts 1=$downloadMismatchRecordsUrl}You can <a href='%1'>Download Mismatched Memberships</a>. You may then correct them, and import the new file with the corrected data.{/ts}
</p>
- {/if}
-
+ {/if}
+
{if $invalidRowCount }
<p class="error">
{ts count=$invalidRowCount plural='CiviCRM has detected invalid data and/or formatting errors in %count records. These records have not been imported.'}CiviCRM has detected invalid data and/or formatting errors in one record. This record has not been imported.{/ts}
</p>
{/if}
</div>
- <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
+ <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
{* Summary of Import Results (record counts) *}
<table id="summary-counts" class="report">
<tr><td class="label">{ts}Total Rows{/ts}</td>
</td>
</tr>
{/if}
-
+
{if $unMatchCount }
<tr class="error"><td class="label">{ts}Mismatched Rows (skipped){/ts}</td>
<td class="data">{$unMatchCount}</td>
</td>
</tr>
{/if}
-
+
{if $conflictRowCount}
<tr class="error"><td class="label">{ts}Conflicting Rows (skipped){/ts}</td>
<td class="data">{$conflictRowCount}</td>
</td>
</tr>
{/if}
-
+
<tr><td class="label">{ts}Records Imported{/ts}</td>
<td class="data">{$validRowCount}</td>
<td class="explanation">{ts}Rows imported successfully.{/ts}</td>
</tr>
</table>
-
+
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
</div>
// Note: Queue API provides "#remaining tasks" but not "#completed tasks" or "#total tasks".
// To compute a %complete, we manually track #completed. This only works nicely if we
// assume that the queue began with a fixed #tasks.
-
+
var queueRunnerData = {/literal}{$queueRunnerData|@json}{literal};
var displayResponseData = function(data, textStatus, jqXHR) {
window.location.href = data.redirect_url;
return;
}
-
+
var pct = 100 * queueRunnerData.completed / (queueRunnerData.completed + queueRunnerData.numberOfItems);
$("#crm-queue-runner-progress").progressbar({ value: pct });
-
+
if (data.is_error) {
$("#crm-queue-runner-buttonset").show();
if (queueRunnerData.isEnded) {
} else {
$('#crm-queue-runner-title').text('Executed: ' + data.last_task_title);
}
-
+
if (data.exception) {
$('#crm-queue-runner-message').html('');
$('<div></div>').html(data.exception).prependTo('#crm-queue-runner-message');
}
-
+
};
-
+
var handleError = function(jqXHR, textStatus, errorThrown) {
// Do this regardless of whether the response was well-formed
$("#crm-queue-runner-buttonset").show();
-
+
var data = $.parseJSON(jqXHR.responseText)
if (data) {
displayResponseData(data);
}
};
-
+
var handleSuccess = function(data, textStatus, jqXHR) {
if (!data.is_error) {
queueRunnerData.completed++;
if (data.numberOfItems) {
queueRunnerData.numberOfItems = parseInt(data.numberOfItems);
}
-
+
displayResponseData(data);
-
+
// FIXME re-consider merits of is_continue in the corner-case of executing last step
if (data.is_continue) {
window.setTimeout(runNext, 50);
window.setTimeout(runNext, 50);
}
};
-
+
// Dequeue and execute the next item
var runNext = function() {
$.ajax({
success: handleSuccess
});
}
-
+
var retryNext = function() {
$('#crm-queue-runner-message').html('');
runNext();
}
-
+
// Dequeue and the next item, then move on to runNext for the subsequent items
var skipNext = function() {
$.ajax({
success: handleSuccess
});
}
-
+
// Set up the UI
-
+
$("#crm-queue-runner-progress").progressbar({ value: 0 });
if (queueRunnerData.buttons.retry == 1) {
$("#crm-queue-runner-retry").button({
{if !$wizard.steps[step].valid}
{assign var="stepClass" value="$stepClass not-valid"}
{/if}
- {* wizard.steps[step].link value is passed for wizards/steps which allow clickable navigation *}
+ {* wizard.steps[step].link value is passed for wizards/steps which allow clickable navigation *}
<li class="{$stepClass}">{$stepPrefix}{if $wizard.steps[step].link}<a href="{$wizard.steps[step].link}">{/if}{$title}{if $wizard.steps[step].link}</a>{/if}</li>
- {/if}
+ {/if}
{/section}
</ul>
</div>
},
focus: function (event, ui){
return false;
- },
+ },
select: function (event, ui) {
document.location = CRM.url('civicrm/contact/view', {reset: 1, cid: ui.item.value});
return false;
{elseif !empty($form._qf_Search_next_print)}
{$form._qf_Search_next_print.html}
{/if}
-
+
<span id='task-section'>
{$form.task.html}
{if $actionButtonName}
$this->assertEquals(2, $lineItems['count']);
// Check quantity, label and unit price of lines.
- // TODO: These assertions depend on the order of the line items, which is
+ // TODO: These assertions depend on the order of the line items, which is
// technically incorrect.
$lineItem = array_pop($lineItems['values']);
);
$halfFinancialAccount = CRM_Financial_BAO_FinancialAccount::add($financialAccHalftax);
$this->halfFinancialAccId = $halfFinancialAccount->id;
- $halfFinancialtypeHalftax = array(
+ $halfFinancialtypeHalftax = array(
'name' => 'grassvariety2'.substr(sha1(rand()), 0, 7),
'is_reserved' => 0,
'is_active' => 1,
);
-
+
$halfFinancialType = CRM_Financial_BAO_FinancialType::add($halfFinancialtypeHalftax);
$this->halfFinancialTypeId = $halfFinancialType->id ;
- $financialRelationHalftax = array(
+ $financialRelationHalftax = array(
'entity_table' => 'civicrm_financial_type',
'entity_id' => $this->halfFinancialTypeId,
'account_relationship' => 10,
'source' => 'SSF',
'contribution_status_id' => 1
);
-
- $contribution = $this->callAPIAndDocument('contribution', 'create', $params, __FUNCTION__, __FILE__);
+
+ $contribution = $this->callAPIAndDocument('contribution', 'create', $params, __FUNCTION__, __FILE__);
$this->_ids['contributionId'] = $contribution['id'];
$this->assertEquals($contribution['values'][$contribution['id']]['contact_id'], $this->_individualId, 'In line ' . __LINE__);
$this->assertEquals($contribution['values'][$contribution['id']]['total_amount'], 120.00, 'In line ' . __LINE__);
}
/*
- * Updation of contrbution
+ * Updation of contrbution
* Function tests that line items, financial records are updated when contribution amount is changed
*/
function testCreateUpdateContributionChangeTotal() {
'contact_id' => $this->_individualId,
'receive_date' => '20120511',
'total_amount' => 100.00,
- 'financial_type_id' => $this->financialtypeID,
+ 'financial_type_id' => $this->financialtypeID,
'source' => 'SSF',
'contribution_status_id' => 1,
);
# Current dir
ORIGPWD=`pwd`
-# Function to Create Folder where documentation will be generated.
+# Function to Create Folder where documentation will be generated.
create_doc_folder()
{
cd $ORIGPWD/../
-
- if [ ! -d "Documentation" ] ; then
+
+ if [ ! -d "Documentation" ] ; then
mkdir Documentation
fi
}
# folder to be parsed
#
PARSE_FOLDER=$ORIGPWD/../
-
+
#
# target folder (documents will be generated in this folder)
#
TARGET_FOLDER=$ORIGPWD/../Documentation
-
+
#
# title of generated documentation
- #
+ #
TITLE="CiviCRM"
-
+
#
# parse @internal and elements marked private with @access
#
PRIVATE=on
-
+
#
# JavaDoc-compliant description parsing
#
JAVADOC_STYLE=off
-
+
#
# parse a PEAR-style repository
#
PEAR_STYLE=on
-
+
#
# generate highlighted sourcecode for every parced file
#
SOURCECODE=on
-
+
#
# output information (output:converter:templatedir)
#
OUTPUT=HTML:frames:phpedit
-
+
phpdoc -t $TARGET_FOLDER -o $OUTPUT -d $PARSE_FOLDER -ti "$TITLE" -pp $PRIVATE -j $JAVADOC_STYLE -p $PEAR_STYLE -s $SOURCECODE
}
sub_menu
echo "Enter Your Option: "
read choice
-
+
cd $ORIGPWD/../test/selenium-ruby/CRM
# Running Selenium (ruby) Tests
ruby ruby_unit_tests.rb $choice
echo "Unit Tests Successfully Completed. Log stored in the File : " $PATH4LOG/Result/$logUT; echo;
echo " **************************************************************************** ";
;;
-
+
# Stress Tests
"ST" | "st" | "St")
echo "Running Stress Tests"; echo;
echo "Stress Tests Successfully Completed."; echo;
echo " **************************************************************************** ";
;;
-
+
# Selenium (Ruby) Tests
"SRT" | "srt" | "Srt")
echo "Running Selenium (Ruby) Tests"; echo;
);
$key = $client->authenticate( USER_NAME, USER_PASSWORD );
-$params = array('contact_id' => 101,
+$params = array('contact_id' => 101,
'return.display_name' => 1 );
$result =& $client->get_contact( $key, $params );
# This script is used to run maxq generated test scripts.
# Before running these scripts please see Common.py
# In Common.py comment and uncomment the constants as per the need
-# Below commands use someof the modes of maxq. The modes used are :
+# Below commands use someof the modes of maxq. The modes used are :
# The -r mode is for running maxq generated test scripts.
# The -q mode is for quite mode while testing.
# Instead of -q (quite mode), -d(debug mode) can be used.
-# For all other options, fire $ maxq --help
+# For all other options, fire $ maxq --help
############################
-# Test for Adding Contacts #
+# Test for Adding Contacts #
############################
-maxq -q -r testAddContactIndividual.py
-maxq -q -r testAddContactHousehold.py
+maxq -q -r testAddContactIndividual.py
+maxq -q -r testAddContactHousehold.py
maxq -q -r testAddContactOrganization.py
#############################
-# Test for Editing Contacts #
+# Test for Editing Contacts #
#############################
-maxq -q -r testEditContactIndividual.py
-maxq -q -r testEditContactHousehold.py
+maxq -q -r testEditContactIndividual.py
+maxq -q -r testEditContactHousehold.py
maxq -q -r testEditContactOrganization.py
#############################
-# Test for Viewing Contacts #
+# Test for Viewing Contacts #
#############################
-maxq -q -r testViewContactIndividual.py
-maxq -q -r testViewContactHousehold.py
+maxq -q -r testViewContactIndividual.py
+maxq -q -r testViewContactHousehold.py
maxq -q -r testViewContactOrganization.py
#############################################
-# Test for Relationship By Relationship Tab #
+# Test for Relationship By Relationship Tab #
#############################################
-maxq -q -r testAddRelByRelTab.py
-maxq -q -r testEditRelByRelTab.py
-maxq -q -r testViewRelByRelTab.py
+maxq -q -r testAddRelByRelTab.py
+maxq -q -r testEditRelByRelTab.py
+maxq -q -r testViewRelByRelTab.py
maxq -q -r testDisableEnableRelByRelTab.py
-maxq -q -r testDeleteRelByRelTab.py
+maxq -q -r testDeleteRelByRelTab.py
########################################
-# Test for Relationship By Contact Tab #
+# Test for Relationship By Contact Tab #
#########################################
maxq -q -r testAddRelByContactTab.py
-maxq -q -r testEditRelByContactTab.py
+maxq -q -r testEditRelByContactTab.py
###############################
-# Test for Group By Group Tab #
+# Test for Group By Group Tab #
###############################
-maxq -q -r testGroupAllByGroupTab.py
+maxq -q -r testGroupAllByGroupTab.py
maxq -q -r testGroupAllByContactTab.py
#############################
-# Test for Tags By Tags Tab #
+# Test for Tags By Tags Tab #
#############################
maxq -q -r testTagsAllByTagsTab.py
##############################
-# Test for Notes By Note Tab #
+# Test for Notes By Note Tab #
##############################
-maxq -q -r testAddNoteByNoteTab.py
-maxq -q -r testEditNoteByNoteTab.py
-maxq -q -r testViewNoteByNoteTab.py
+maxq -q -r testAddNoteByNoteTab.py
+maxq -q -r testEditNoteByNoteTab.py
+maxq -q -r testViewNoteByNoteTab.py
maxq -q -r testDeleteNoteByNoteTab.py
#################################
-# Test for Notes By Contact Tab #
+# Test for Notes By Contact Tab #
#################################
-maxq -q -r testAddNoteByContactTab.py
+maxq -q -r testAddNoteByContactTab.py
maxq -q -r testEditNoteByContactTab.py
maxq -q -r testDeleteNoteByNoteTab.py
#######################
-# Test for Admin Tags #
+# Test for Admin Tags #
#######################
-maxq -q -r testAdminAddTags.py
-maxq -q -r testAdminEditTags.py
+maxq -q -r testAdminAddTags.py
+maxq -q -r testAdminEditTags.py
maxq -q -r testAdminDeleteTag.py
################################
-# Test for Admin Location Type #
+# Test for Admin Location Type #
################################
-maxq -q -r testAdminAddLocationType.py
-maxq -q -r testAdminEditLocationType.py
+maxq -q -r testAdminAddLocationType.py
+maxq -q -r testAdminEditLocationType.py
maxq -q -r testAdminEnableDisableLocationType.py
maxq -q -r testAdminDeleteLocationType.py
##################################
-# Test for Admin Mobile Provider #
+# Test for Admin Mobile Provider #
##################################
-maxq -q -r testAdminAddMobileProvider.py
-maxq -q -r testAdminEditMobileProvider.py
+maxq -q -r testAdminAddMobileProvider.py
+maxq -q -r testAdminEditMobileProvider.py
maxq -q -r testAdminEnableDisableMobileProvider.py
maxq -q -r testAdminDeleteMobileProvider.py
##############################
-# Test for Admin IM Provider #
+# Test for Admin IM Provider #
##############################
-maxq -q -r testAdminAddIMProvider.py
+maxq -q -r testAdminAddIMProvider.py
maxq -q -r testAdminEditIMProvider.py
maxq -q -r testAdminEnableDisableIMProvider.py
maxq -q -r testAdminDeleteIMProvider.py
#####################################
-# Test for Admin Relationship Types #
+# Test for Admin Relationship Types #
#####################################
-maxq -q -r testAdminAddRel.py
-maxq -q -r testAdminEditRel.py
-maxq -q -r testAdminViewRel.py
+maxq -q -r testAdminAddRel.py
+maxq -q -r testAdminEditRel.py
+maxq -q -r testAdminViewRel.py
maxq -q -r testAdminEnableDisableRel.py
maxq -q -r testAdminDeleteRel.py
####################################
-# Test for Admin Custom Data Group #
+# Test for Admin Custom Data Group #
####################################
-maxq -q -r testAdminAddCustomDataGroup.py
-maxq -q -r testAdminEditCustomDataGroup.py
+maxq -q -r testAdminAddCustomDataGroup.py
+maxq -q -r testAdminEditCustomDataGroup.py
maxq -q -r testAdminEnableDisableCustomDataGroup.py
maxq -q -r testAdminPreviewCustomDataGroup.py
####################################
-# Test for Admin Custom Data Field #
+# Test for Admin Custom Data Field #
####################################
-maxq -q -r testAdminAddCustomDataField.py
-maxq -q -r testAdminEditCustomDataField.py
+maxq -q -r testAdminAddCustomDataField.py
+maxq -q -r testAdminEditCustomDataField.py
maxq -q -r testAdminEnableDisableCustomDataField.py
maxq -q -r testAdminPreviewCustomDataField.py
########################
-# Test for Custom Data #
+# Test for Custom Data #
########################
maxq -r -q testEditCustomDataInline.py
#maxq -q -r adminDeleteCustomDataGroup.py
##############################
-# Test for Admin CiviDonate #
+# Test for Admin CiviDonate #
##############################
###################
maxq -r testAdminDeleteCiviDonatePaymentInstrument.py
##########################
-# Test for Basic Search #
+# Test for Basic Search #
##########################
-maxq -q -r testSearchByLNameIndividual.py
-maxq -q -r testSearchByHNameHousehold.py
-maxq -q -r testSearchByONameOraganization.py
-maxq -q -r testSearchByNoCriteria.py
-maxq -q -r testSearchByGroup.py
-maxq -q -r testSearchByContactTagGroupName.py
+maxq -q -r testSearchByLNameIndividual.py
+maxq -q -r testSearchByHNameHousehold.py
+maxq -q -r testSearchByONameOraganization.py
+maxq -q -r testSearchByNoCriteria.py
+maxq -q -r testSearchByGroup.py
+maxq -q -r testSearchByContactTagGroupName.py
#############################
-# Test for Advanced Search #
+# Test for Advanced Search #
#############################
-maxq -q -r testAdvSearchByAllCriteria.py
-maxq -q -r testAdvSearchByContactName.py
-maxq -q -r testAdvSearchByContactGroupCategory.py
+maxq -q -r testAdvSearchByAllCriteria.py
+maxq -q -r testAdvSearchByContactName.py
+maxq -q -r testAdvSearchByContactGroupCategory.py
define( 'DISCOUNT_EVENT_ID', 4 );
function multicurrency_civicrm_buildForm( $formName,
- &$form ) {
+ &$form ) {
if ( ( strpos( $formName, 'CRM_Event_Form_Registration_' ) !== false ) &&
- ( $form->getVar( '_eventId' ) == MULTICURRENCY_EVENT_ID ) ) {
+ ( $form->getVar( '_eventId' ) == MULTICURRENCY_EVENT_ID ) ) {
multicurrency_set_currency( $form );
}
//------- Coupon field --------//
if ( $formName == 'CRM_Event_Form_Registration_Register' &&
- $form->getVar( '_eventId' ) == DISCOUNT_EVENT_ID ) {
+ $form->getVar( '_eventId' ) == DISCOUNT_EVENT_ID ) {
$form->addElement( 'text', 'discountCode', ts( 'Discount Code' ) );
// also assign to template
}
function multicurrency_civicrm_buildAmount( $pageType,
- &$form,
- &$amount ) {
+ &$form,
+ &$amount ) {
// only modify the event pages for the UK event
if ( $form->getVar( '_eventId' ) == MULTICURRENCY_EVENT_ID ) {
$currency = multicurrency_set_currency( $form );
-
+
// as of may 5th: 1 USD = 0.75 EUR, 1 USD = 0.667 GBP
$ratio = ( $currency == 'EUR' ) ? 0.75 : ( 2.0 / 3.0 );
-
+
foreach ( $amount as $amountID =>& $amountInfo ) {
$amountInfo['value'] = ceil( $amountInfo['value'] * $ratio );
}
}
}
return array( null, null, null );
-
+
}
/*
$eventID != DISCOUNT_EVENT_ID ) {
return;
}
-
+
$discountCode = CRM_Utils_Request::retrieve( 'discountCode', 'String', $form, false, null, $_REQUEST );
if ( ! $discountCode ) {
return;
define( 'MULTICURRENCY_EVENT_ID', 4 );
function multicurrency_civicrm_buildForm( $formName,
- &$form ) {
+ &$form ) {
if ( ( strpos( $formName, 'CRM_Event_Form_Registration_' ) !== false ) &&
- ( $form->getVar( '_eventId' ) == MULTICURRENCY_EVENT_ID ) ) {
+ ( $form->getVar( '_eventId' ) == MULTICURRENCY_EVENT_ID ) ) {
multicurrency_set_currency( $form );
}
}
}
function multicurrency_civicrm_buildAmount( $pageType,
- &$form,
- &$amount ) {
+ &$form,
+ &$amount ) {
// only modify the event pages for the UK event
if ( $form->getVar( '_eventId' ) == MULTICURRENCY_EVENT_ID ) {
$currency = multicurrency_set_currency( $form );
-
+
// as of may 5th: 1 USD = 0.75 EUR, 1 USD = 0.667 GBP
$ratio = ( $currency == 'EUR' ) ? 0.75 : ( 2.0 / 3.0 );
-
+
foreach ( $amount as $amountID =>& $amountInfo ) {
$amountInfo['value'] = ceil( $amountInfo['value'] * $ratio );
}
{assign var="count" value=`$count+1`}
{/if}
{/if}
- {/foreach}
+ {/foreach}
</tr>
</table>
</dd>
<div class="form-item">
<dt></dt>
<dd>{include file="CRM/Event/Form/CalculatePriceset.tpl"}</dd>
-</div>
+</div>
{if $priceSet.help_post}
<dt> </dt>
<dd class="description">{$priceSet.help_post}</dd>
<td>{$form.additional_participants.html|crmReplace:class:two}<br />
<span class="description">{ts}You will be able to enter registration information for each additional person after you complete this page and click Continue.{/ts}</span>
</td>
- </tr>
+ </tr>
</table>
</div>
- </div>
+ </div>
{* User account registration option. Displays if enabled for one of the profiles on this page. *}
{include file="CRM/common/CMSUser.tpl"}
-{include file="CRM/UF/Form/Block.tpl" fields=$customPre}
+{include file="CRM/UF/Form/Block.tpl" fields=$customPre}
-{if $paidEvent}
- {include file='CRM/Core/BillingBlock.tpl'}
-{/if}
+{if $paidEvent}
+ {include file='CRM/Core/BillingBlock.tpl'}
+{/if}
-{include file="CRM/UF/Form/Block.tpl" fields=$customPost}
+{include file="CRM/UF/Form/Block.tpl" fields=$customPost}
{if $isCaptcha}
{include file='CRM/common/ReCAPTCHA.tpl'}
</div>
{* Hide Credit Card Block and Billing information if registration is pay later. *}
-{if $form.is_pay_later and $hidePaymentInformation}
-{include file="CRM/common/showHideByFieldValue.tpl"
+{if $form.is_pay_later and $hidePaymentInformation}
+{include file="CRM/common/showHideByFieldValue.tpl"
trigger_field_id ="is_pay_later"
trigger_value =""
- target_element_id ="payment_information"
+ target_element_id ="payment_information"
target_element_type ="table-row"
field_type ="radio"
invert = 1
}
{/if}
-{literal}
+{literal}
<script type="text/javascript">
function allowParticipant( ) {
- var additionalParticipant = document.getElementById('additional_participants').value;
- var validNumber = "";
- for( i = 0; i< additionalParticipant.length; i++ ) {
- if ( additionalParticipant.charAt(i) >=1 || additionalParticipant.charAt(i) <=9 ) {
- validNumber += additionalParticipant.charAt(i);
- } else {
- document.getElementById('additional_participants').value = validNumber;
- }
- }
+ var additionalParticipant = document.getElementById('additional_participants').value;
+ var validNumber = "";
+ for( i = 0; i< additionalParticipant.length; i++ ) {
+ if ( additionalParticipant.charAt(i) >=1 || additionalParticipant.charAt(i) <=9 ) {
+ validNumber += additionalParticipant.charAt(i);
+ } else {
+ document.getElementById('additional_participants').value = validNumber;
+ }
+ }
}
- {/literal}{if $form.is_pay_later and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}{literal}
- showHidePayPalExpressOption();
+ {/literal}{if $form.is_pay_later and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}{literal}
+ showHidePayPalExpressOption();
{/literal} {/if}{literal}
function showHidePayPalExpressOption()
{
if (document.getElementsByName("is_pay_later")[0].checked) {
- show("crm-submit-buttons");
- hide("paypalExpress");
- } else {
+ show("crm-submit-buttons");
+ hide("paypalExpress");
+ } else {
show("paypalExpress");
hide("crm-submit-buttons");
}
}
</script>
-{/literal}
+{/literal}
{assign var="count" value=`$count+1`}
{/if}
{/if}
- {/foreach}
+ {/foreach}
</tr>
</table>
</dd>
<div class="form-item">
<dt></dt>
<dd>{include file="CRM/Event/Form/CalculatePriceset.tpl"}</dd>
-</div>
+</div>
{if $priceSet.help_post}
<dt> </dt>
<dd class="description">{$priceSet.help_post}</dd>
<td>{$form.additional_participants.html|crmReplace:class:two}<br />
<span class="description">{ts}You will be able to enter registration information for each additional person after you complete this page and click Continue.{/ts}</span>
</td>
- </tr>
+ </tr>
</table>
</div>
- </div>
+ </div>
{* User account registration option. Displays if enabled for one of the profiles on this page. *}
{include file="CRM/common/CMSUser.tpl"}
-{include file="CRM/UF/Form/Block.tpl" fields=$customPre}
+{include file="CRM/UF/Form/Block.tpl" fields=$customPre}
-{if $paidEvent}
- {include file='CRM/Core/BillingBlock.tpl'}
-{/if}
+{if $paidEvent}
+ {include file='CRM/Core/BillingBlock.tpl'}
+{/if}
-{include file="CRM/UF/Form/Block.tpl" fields=$customPost}
+{include file="CRM/UF/Form/Block.tpl" fields=$customPost}
{if $isCaptcha}
{include file='CRM/common/ReCAPTCHA.tpl'}
</div>
{* Hide Credit Card Block and Billing information if registration is pay later. *}
-{if $form.is_pay_later and $hidePaymentInformation}
-{include file="CRM/common/showHideByFieldValue.tpl"
+{if $form.is_pay_later and $hidePaymentInformation}
+{include file="CRM/common/showHideByFieldValue.tpl"
trigger_field_id ="is_pay_later"
trigger_value =""
- target_element_id ="payment_information"
+ target_element_id ="payment_information"
target_element_type ="table-row"
field_type ="radio"
invert = 1
}
{/if}
-{literal}
+{literal}
<script type="text/javascript">
function allowParticipant( ) {
- var additionalParticipant = document.getElementById('additional_participants').value;
- var validNumber = "";
- for( i = 0; i< additionalParticipant.length; i++ ) {
- if ( additionalParticipant.charAt(i) >=1 || additionalParticipant.charAt(i) <=9 ) {
- validNumber += additionalParticipant.charAt(i);
- } else {
- document.getElementById('additional_participants').value = validNumber;
- }
- }
+ var additionalParticipant = document.getElementById('additional_participants').value;
+ var validNumber = "";
+ for( i = 0; i< additionalParticipant.length; i++ ) {
+ if ( additionalParticipant.charAt(i) >=1 || additionalParticipant.charAt(i) <=9 ) {
+ validNumber += additionalParticipant.charAt(i);
+ } else {
+ document.getElementById('additional_participants').value = validNumber;
+ }
+ }
}
- {/literal}{if $form.is_pay_later and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}{literal}
- showHidePayPalExpressOption();
+ {/literal}{if $form.is_pay_later and $paymentProcessor.payment_processor_type EQ 'PayPal_Express'}{literal}
+ showHidePayPalExpressOption();
{/literal} {/if}{literal}
function showHidePayPalExpressOption()
{
if (document.getElementsByName("is_pay_later")[0].checked) {
- show("crm-submit-buttons");
- hide("paypalExpress");
- } else {
+ show("crm-submit-buttons");
+ hide("paypalExpress");
+ } else {
show("paypalExpress");
hide("crm-submit-buttons");
}
}
</script>
-{/literal}
+{/literal}
{* this template is used for displaying event information *}
<div class="vevent">
- <h2><span class="summary">{$event.title}</span></h2>
+ <h2><span class="summary">{$event.title}</span></h2>
<div class="display-block">
- <table class="form-layout">
- {if $event.summary}
- <tr><td colspan="2" class="report">{$event.summary}</td></tr>
- {/if}
- {if $event.description}
- <tr><td colspan="2" class="report">
- <span class="summary">{$event.description}</span></td></tr>
- {/if}
- <tr><td><label>{ts}When{/ts}</label></td>
+ <table class="form-layout">
+ {if $event.summary}
+ <tr><td colspan="2" class="report">{$event.summary}</td></tr>
+ {/if}
+ {if $event.description}
+ <tr><td colspan="2" class="report">
+ <span class="summary">{$event.description}</span></td></tr>
+ {/if}
+ <tr><td><label>{ts}When{/ts}</label></td>
<td width="90%">
- <abbr class="dtstart" title="{$event.event_start_date|crmDate}">
- {$event.event_start_date|crmDate}</abbr>
-
- {if $event.event_end_date}
- {ts}through{/ts}
+ <abbr class="dtstart" title="{$event.event_start_date|crmDate}">
+ {$event.event_start_date|crmDate}</abbr>
+
+ {if $event.event_end_date}
+ {ts}through{/ts}
{* Only show end time if end date = start date *}
{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
- <abbr class="dtend" title="{$event.event_end_date|crmDate:0:1}">
- {$event.event_end_date|crmDate:0:1}
- </abbr>
+ <abbr class="dtend" title="{$event.event_end_date|crmDate:0:1}">
+ {$event.event_end_date|crmDate:0:1}
+ </abbr>
{else}
- <abbr class="dtend" title="{$event.event_end_date|crmDate}">
- {$event.event_end_date|crmDate}
- </abbr>
+ <abbr class="dtend" title="{$event.event_end_date|crmDate}">
+ {$event.event_end_date|crmDate}
+ </abbr>
{/if}
{/if}
</td>
- </tr>
-
- {if $isShowLocation}
+ </tr>
+
+ {if $isShowLocation}
{if $location.1.name || $location.1.address}
<tr><td><label>{ts}Location{/ts}</label></td>
<td>
{/if}
</td>
</tr>
- {/if}
- {/if}{*End of isShowLocation condition*}
+ {/if}
+ {/if}{*End of isShowLocation condition*}
- {if $location.1.phone.1.phone || $location.1.email.1.email}
+ {if $location.1.phone.1.phone || $location.1.email.1.email}
<tr><td><label>{ts}Contact{/ts}</label></td>
- <td> {* loop on any phones and emails for this event *}
+ <td> {* loop on any phones and emails for this event *}
{foreach from=$location.1.phone item=phone}
{if $phone.phone}
- {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}:
+ {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}:
<span class="tel">{$phone.phone}</span> <br />
{/if}
{/foreach}
</td>
</tr>
{/if}
- </table>
+ </table>
{include file="CRM/Custom/Page/CustomDataView.tpl"}
{ if $event.is_public }
<br />{include file="CRM/Event/Page/iCalLinks.tpl"}
{/if}
- </div>
+ </div>
</div>
{* this template is used for displaying event information *}
<div class="vevent">
- <h2><span class="summary">{$event.title}</span></h2>
+ <h2><span class="summary">{$event.title}</span></h2>
<div class="display-block">
- <table class="form-layout">
- {if $event.summary}
- <tr><td colspan="2" class="report">{$event.summary}</td></tr>
- {/if}
- {if $event.description}
- <tr><td colspan="2" class="report">
- <span class="summary">{$event.description}</span></td></tr>
- {/if}
- <tr><td><label>{ts}When{/ts}</label></td>
+ <table class="form-layout">
+ {if $event.summary}
+ <tr><td colspan="2" class="report">{$event.summary}</td></tr>
+ {/if}
+ {if $event.description}
+ <tr><td colspan="2" class="report">
+ <span class="summary">{$event.description}</span></td></tr>
+ {/if}
+ <tr><td><label>{ts}When{/ts}</label></td>
<td width="90%">
- <abbr class="dtstart" title="{$event.event_start_date|crmDate}">
- {$event.event_start_date|crmDate}</abbr>
-
- {if $event.event_end_date}
- {ts}through{/ts}
+ <abbr class="dtstart" title="{$event.event_start_date|crmDate}">
+ {$event.event_start_date|crmDate}</abbr>
+
+ {if $event.event_end_date}
+ {ts}through{/ts}
{* Only show end time if end date = start date *}
{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
- <abbr class="dtend" title="{$event.event_end_date|crmDate:0:1}">
- {$event.event_end_date|crmDate:0:1}
- </abbr>
+ <abbr class="dtend" title="{$event.event_end_date|crmDate:0:1}">
+ {$event.event_end_date|crmDate:0:1}
+ </abbr>
{else}
- <abbr class="dtend" title="{$event.event_end_date|crmDate}">
- {$event.event_end_date|crmDate}
- </abbr>
+ <abbr class="dtend" title="{$event.event_end_date|crmDate}">
+ {$event.event_end_date|crmDate}
+ </abbr>
{/if}
{/if}
</td>
- </tr>
-
- {if $isShowLocation}
+ </tr>
+
+ {if $isShowLocation}
{if $location.1.name || $location.1.address}
<tr><td><label>{ts}Location{/ts}</label></td>
<td>
{/if}
</td>
</tr>
- {/if}
- {/if}{*End of isShowLocation condition*}
+ {/if}
+ {/if}{*End of isShowLocation condition*}
- {if $location.1.phone.1.phone || $location.1.email.1.email}
+ {if $location.1.phone.1.phone || $location.1.email.1.email}
<tr><td><label>{ts}Contact{/ts}</label></td>
- <td> {* loop on any phones and emails for this event *}
+ <td> {* loop on any phones and emails for this event *}
{foreach from=$location.1.phone item=phone}
{if $phone.phone}
- {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}:
+ {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}:
<span class="tel">{$phone.phone}</span> <br />
{/if}
{/foreach}
</td>
</tr>
{/if}
- </table>
+ </table>
{include file="CRM/Custom/Page/CustomDataView.tpl"}
{ if $event.is_public }
<br />{include file="CRM/Event/Page/iCalLinks.tpl"}
{/if}
- </div>
+ </div>
</div>
*/
class CRM_Demoqueue_Page_DemoQueue extends CRM_Core_Page {
const QUEUE_NAME = 'demo-queue';
-
+
function run() {
$queue = CRM_Queue_Service::singleton()->create(array(
'type' => 'Sql',
'name' => self::QUEUE_NAME,
'reset' => TRUE,
));
-
+
for ($i = 0; $i < 5; $i++) {
$queue->createItem(new CRM_Queue_Task(
array('CRM_Demoqueue_Page_DemoQueue', 'doMyWork'), // callback
));
}
}
-
+
$runner = new CRM_Queue_Runner(array(
'title' => ts('Demo Queue Runner'),
'queue' => $queue,
));
$runner->runAllViaWeb(); // does not return
}
-
+
/**
* Perform some business logic
*/
//throw new Exception('whoz'); // broken, exception
return TRUE; // success
}
-
+
/**
* Perform some business logic
*/
}
return TRUE; // success
}
-
+
/**
* Handle the final step of the queue
*/
<billingMode>notify</billingMode>
<isRecur>0</isRecur>
<paymentType>1</paymentType>
- </typeInfo>
+ </typeInfo>
</extension>
File structure and function
----------------------------
-There are two folders and a log file in the top level directory of
+There are two folders and a log file in the top level directory of
google-checkout-php-sample.
1. "demo" directory:
This contains two files cartdemo.php and responsehandlerdemo.php
- a)cartdemo.php:
+ a)cartdemo.php:
---------------
- This file demonstrates the steps required to add items, shipping, taxes and
- merchant-calculations to the cart before it is posted to the Checkout server.
- There are three use case functions defined with different settings for
+ This file demonstrates the steps required to add items, shipping, taxes and
+ merchant-calculations to the cart before it is posted to the Checkout server.
+ There are three use case functions defined with different settings for
shipping and taxes along with different button usages.
- b)responsehandler.php:
+ b)responsehandler.php:
----------------------
- This file will be used to handle the notifications, callbacks and order
- processing steps.
- The path for this file must be specified in the merchant's API callback
+ This file will be used to handle the notifications, callbacks and order
+ processing steps.
+ The path for this file must be specified in the merchant's API callback
URL in Settings->Integration of the merchant's seller account.
- This file can be used as is and modified by the merchant as per their
- business workflow details.
- Some of the intial steps performed in this file include collecting the
- XML response, request that has been received and get a parsed result in a
+ This file can be used as is and modified by the merchant as per their
+ business workflow details.
+ Some of the intial steps performed in this file include collecting the
+ XML response, request that has been received and get a parsed result in a
PHP associative array for easy accesibility
- (For details of parse output refer xmlparser.php which has an
+ (For details of parse output refer xmlparser.php which has an
example of how an XML maps to the object).
Order processing can be done using the SendProcessOrder(..) type of
methods provided in googleresponse.php. Some sample order processing
- command invocations have been provided as comments in the code
-
+ command invocations have been provided as comments in the code
+
2. "library" directory:
-This contains the classes defined to describe the API structure so as to easily
+This contains the classes defined to describe the API structure so as to easily
define and add XML entries by defining objects of these classes.
- a) googlecart.php:
+ a) googlecart.php:
------------------
- This is the main class which must be instantiated to post a cart.
- It requires a merchant ID and key to be set and there is an option
- to specify which server is to be used for the transactions
- (Sandbox or Production).
- It also has methods to add items, shipping options, tax options and
+ This is the main class which must be instantiated to post a cart.
+ It requires a merchant ID and key to be set and there is an option
+ to specify which server is to be used for the transactions
+ (Sandbox or Production).
+ It also has methods to add items, shipping options, tax options and
merchant-calculation details.
- b) googleitem.php:
+ b) googleitem.php:
------------------
- This class is instantiated for every item to be added to the cart.
+ This class is instantiated for every item to be added to the cart.
It requires the item name, description, price and quantity to be specified.
- c) googleshipping.php:
+ c) googleshipping.php:
----------------------
- This class is instantiated for every shipping option that is to be added to the cart.
- It requires the shipping name type an price to be specified.
+ This class is instantiated for every shipping option that is to be added to the cart.
+ It requires the shipping name type an price to be specified.
Other methods allow specification of the shipping restrictions.
d) googletaxrule.php:
---------------------
- This class is used to define all tax rules for the tax tables. These may be
- rules for default or alternate tax tables. Methods have been provided to add
+ This class is used to define all tax rules for the tax tables. These may be
+ rules for default or alternate tax tables. Methods have been provided to add
states and zip patterns for the tax rules.
-
+
e) googletaxtable.php:
----------------------
This class is used to aggregate all the defined tax rules to define a tax table.
An instance of this class is created in the responsehandlerdemo.php.
This again requires the merchant id and merchant key to be specified.
There are methods provided to send all the different order processing
- commands.
- All notifications are parsed and the merchant can take required action
- when a particular notification is received.
+ commands.
+ All notifications are parsed and the merchant can take required action
+ when a particular notification is received.
g) googleresult.php:
--------------------
- This class is used for merchant-calculations and is invoked for
- each result in the merchant-calculations-result sent from the
+ This class is used for merchant-calculations and is invoked for
+ each result in the merchant-calculations-result sent from the
merchant in response to a callback.
-
+
h) googlemerchantcalculations.php:
----------------------------------
In order to process merchant calculations, an instance of this
- class is created. It is used to aggregate merchant results and
- respond with the XML response for the callback.
+ class is created. It is used to aggregate merchant results and
+ respond with the XML response for the callback.
f) "xml-processing" directory:
------------------------------
-----------------
This class parses XML documents using the SAX parser and is
compatible with PHP v4 and 5. It converts them to DOM form
- returning the XML data in a PHP associative array.
+ returning the XML data in a PHP associative array.
This is used internally by the library classes to parse
- XML requests and responses that are received from the
+ XML requests and responses that are received from the
Checkout server.
3. googlemessage.log:
-The log file records all the notification and order processing commands that are
+The log file records all the notification and order processing commands that are
sent and received and can be useful information for debugging purposes.
} else {
$select[] = "{$field['dbAlias']} as {$tableName}_{$fieldName}";
}
- */
+ */
// only include statistics columns if set
ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id AND {$this->_aliases['civicrm_contribution']}.is_test = 0
$contribJoin JOIN (SELECT c.id, IF(COUNT(oc.id) = 0, 0, 1) AS ordinality FROM civicrm_contribution c LEFT JOIN civicrm_contribution oc ON c.contact_id = oc.contact_id AND oc.receive_date < c.receive_date GROUP BY c.id) {$this->_aliases['civicrm_contribution_ordinality']}
ON {$this->_aliases['civicrm_contribution_ordinality']}.id = {$this->_aliases['civicrm_contribution']}.id
- LEFT JOIN civicrm_note {$this->_aliases['civicrm_note']}
+ LEFT JOIN civicrm_note {$this->_aliases['civicrm_note']}
ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_note']}.contact_id AND
- {$this->_aliases['civicrm_contribution']}.id = {$this->_aliases['civicrm_note']}.entity_id )
+ {$this->_aliases['civicrm_contribution']}.id = {$this->_aliases['civicrm_note']}.entity_id )
LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
ON ({$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_phone']}.contact_id AND
{$this->_aliases['civicrm_phone']}.is_primary = 1)
LEFT JOIN civicrm_contact {$alias_creditor}
ON {$this->_aliases['civicrm_contribution_soft']}.contact_id =
{$alias_creditor}.id
- LEFT JOIN civicrm_contact {$this->_aliases['civicrm_contact_hon_mem']}
- ON {$this->_aliases['civicrm_contribution']}.honor_contact_id = {$this->_aliases['civicrm_contact_hon_mem']}.id
- ";
+ LEFT JOIN civicrm_contact {$this->_aliases['civicrm_contact_hon_mem']}
+ ON {$this->_aliases['civicrm_contribution']}.honor_contact_id = {$this->_aliases['civicrm_contact_hon_mem']}.id
+ ";
// add group - concatenated
$this->_from .= " LEFT JOIN civicrm_group_contact gc ON {$this->_aliases['civicrm_contact']}.id = gc.contact_id AND gc.status = 'Added'
LEFT JOIN civicrm_group {$this->_aliases['civicrm_group_field']} ON {$this->_aliases['civicrm_group_field']}.id = gc.group_id ";
/*
- $statistics['counts']['amount'] = array( 'value' => $dao->amount,
+ $statistics['counts']['amount'] = array( 'value' => $dao->amount,
'title' => 'Total Amount',
'type' => CRM_Utils_Type::T_MONEY );
$statistics['counts']['avg'] = array( 'value' => $dao->avg,
'title' => 'Average',
'type' => CRM_Utils_Type::T_MONEY );
- */
+ */
}
return $statistics;
<div class="crm-form-block crm-search-form-block">
<div class="crm-accordion-wrapper crm-activity_search-accordion {if $rows}crm-accordion-closed{else}crm-accordion-open{/if}">
<div class="crm-accordion-header crm-master-accordion-header">
- <div class="icon crm-accordion-pointer"></div>
+ <div class="icon crm-accordion-pointer"></div>
{ts}Edit Search Criteria{/ts}
</div><!-- /.crm-accordion-header -->
<div class="crm-accordion-body">
<div class="crm-content-block">
{if $rowsEmpty}
- <div class="crm-results-block crm-results-block-empty">
+ <div class="crm-results-block crm-results-block-empty">
{include file="CRM/Contact/Form/Search/Custom/EmptyResults.tpl"}
</div>
{/if}
{if $rows}
- <div class="crm-results-block">
+ <div class="crm-results-block">
{* Search request has returned 1 or more matching rows. Display results and collapse the search criteria fieldset. *}
-
+
{* This section handles form elements for action task select and submit *}
- <div class="crm-search-tasks">
+ <div class="crm-search-tasks">
{include file="CRM/Contact/Form/Search/ResultTasks.tpl"}
- </div>
+ </div>
{* This section displays the rows along and includes the paging controls *}
<div class="crm-search-results">
-
+
{include file="CRM/common/pager.tpl" location="top"}
{include file="CRM/common/pagerAToZ.tpl"}
{/if}
{if isset($row.activity_subject) AND $row.activity_subject NEQ 'NULL'}{$row.activity_subject}{else}{ts}(no subject){/ts}{/if}</a>
</td>
- {elseif ($fName eq 'activity_id') or ($fName eq 'activity_type_id') or ($fName eq 'case_id')}
+ {elseif ($fName eq 'activity_id') or ($fName eq 'activity_type_id') or ($fName eq 'case_id')}
{else}
<td>{$row.$fName}</td>
{/if}
</div>
{* END Actions/Results section *}
- </div>
+ </div>
{/if}
</div>
{/if}
echo "Dropping civicrm_* tables from civicrm-joomla-demo db.."
mysql $JOOMLA_DEMO_DBNAME < civicrm_drop.mysql
echo "Reloading civicrm-joomla-demo with fresh civicrm_* tables.."
- mysql $JOOMLA_DEMO_DBNAME < $TMP_DUMP_FILE
+ mysql $JOOMLA_DEMO_DBNAME < $TMP_DUMP_FILE
echo "Taking civicrm-joomla-demo db dump.."
mysqldump $JOOMLA_DEMO_DBNAME > $TMP_DUMP_FILE
if [ -f $JOOMLA_DEMO_PRISTINE ]; then
# Note: This shell script should be designed and tested for cross-platform use
# URL: https://github.com/totten/git-php-syntax-checker/
-# Author: Remigijus Jarmalavičius <remigijus@jarmalavicius.lt>
+# Author: Remigijus Jarmalavičius <remigijus@jarmalavicius.lt>
# Author: Vytautas Povilaitis <php-checker@vytux.lt>
# License: GPLv3
fi
done
if [ "$ERRORS_BUFFER" != "" ]; then
- echo
+ echo
echo "These errors were found in try-to-commit files: "
echo -e $ERRORS_BUFFER
- echo
+ echo
echo "Can't commit, fix errors first."
exit 1
else
<xsl:decimal-format decimal-separator="." grouping-separator="," />
<!--
Copyright 2001-2004 The Apache Software Foundation
-
+
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
+
-->
<!--
color: #df0000;
}
PRE.srcLine {
- BACKGROUND: #ffffff; MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px;
+ BACKGROUND: #ffffff; MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px;
}
PRE.srcLineHighLight {
- BACKGROUND: #F0C8C8; MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px;
+ BACKGROUND: #F0C8C8; MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px;
}
td.lineCount, td.coverageCount {
BACKGROUND: #F0F0F0; PADDING-RIGHT: 3px;
background: #C8C8F0;
}
TD.srcLineClassStart {
- WIDTH: 100%; BORDER-TOP:#dcdcdc 1px solid; FONT-WEIGHT: bold;
+ WIDTH: 100%; BORDER-TOP:#dcdcdc 1px solid; FONT-WEIGHT: bold;
}
.srcLine , .srcLine ol, .srcLine ol li {margin: 0;}
.srcLine .de1, .srcLine .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
<td class="small">LOC: <xsl:value-of select="count(package/class/sourcefile/sourceline)"/></td>
<td class="small">Statements: <xsl:value-of select="@statementcount"/></td>
</tr>
- </table>
+ </table>
<br/>
<table class="log" cellpadding="5" cellspacing="0" width="100%">
<td class="small">LOC: <xsl:value-of select="count(class/sourcefile/sourceline)"/></td>
<td class="small">Statements: <xsl:value-of select="@statementcount"/></td>
</tr>
- </table>
+ </table>
<br/>
<table class="log" cellpadding="5" cellspacing="0" width="100%">
<td class="small">LOC: <xsl:value-of select="count(sourcefile/sourceline)"/></td>
<td class="small">Statements: <xsl:value-of select="@statementcount"/></td>
</tr>
- </table>
+ </table>
<br/>
<!-- class summary -->
<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
<!--
Copyright 2000-2004 The Apache Software Foundation
-
+
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
+
-->
-
+
<!--
The purpose have this XSL is to provide a nice way to look at the output
from the Ant XmlLogger (ie: ant -listener org.apache.tools.ant.XmlLogger )
-
+
@author <a href="mailto:michiel.rook@gmail.com>Michiel Rook</a>
@author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
-
+
-->
<xsl:decimal-format decimal-separator="." grouping-separator="," />
color:#FFFFFF;
font-weight: bold
}
- .a td {
+ .a td {
background: #efefef;
}
- .b td {
+ .b td {
background: #fff;
}
th, td {
</td>
</tr>
</table>
-
+
<table border="0" width="100%">
<tr><td><hr noshade="yes" size="1"/></td></tr>
</table>
</xsl:attribute>
<tr>
<xsl:if test="@error">
- <td nowrap="yes">Build Failed</td>
+ <td nowrap="yes">Build Failed</td>
</xsl:if>
<xsl:if test="not(@error)">
<td nowrap="yes">Build Complete</td>
<html>
<head>
<title>Unit Test Results: Class <xsl:value-of select="$class.name"/></title>
- <xsl:if test="$output.sorttable = 1">
+ <xsl:if test="$output.sorttable = 1">
<script language="JavaScript" src="http://www.phing.info/support/sorttable.js"/>
</xsl:if>
<xsl:call-template name="create.stylesheet.link">
See the License for the specific language governing permissions and
limitations under the License.
-->
-
+
<!--
-
+
Sample stylesheet to be used with Phing/PHPUnit output.
Based on JUnit stylesheets from Apache Ant.
-
+
It creates a non-framed report that can be useful to send via
e-mail or such.
-
+
@author Michiel Rook <a href="mailto:michiel.rook@gmail.com"/>
@author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/>
@author Erik Hatcher <a href="mailto:ehatcher@apache.org"/>
-
+
-->
<xsl:param name="output.sorttable" select="'.'"/>
table.details tr td{
background:#eeeee0;
}
-
+
p {
line-height:1.5em;
margin-top:0.5em; margin-bottom:1.0em;
</head>
<body>
<a name="top"></a>
- <xsl:call-template name="pageHeader"/>
-
+ <xsl:call-template name="pageHeader"/>
+
<!-- Summary part -->
<xsl:call-template name="summary"/>
<hr size="1" width="95%" align="left"/>
-
+
<!-- Package List part -->
<xsl:call-template name="packagelist"/>
<hr size="1" width="95%" align="left"/>
-
+
<!-- For each package create its part -->
<xsl:call-template name="packages"/>
<hr size="1" width="95%" align="left"/>
-
+
<!-- For each class create the part -->
<xsl:call-template name="classes"/>
-
- <xsl:call-template name="pageFooter"/>
+
+ <xsl:call-template name="pageFooter"/>
</body>
</html>
</xsl:template>
-
-
-
+
+
+
<!-- ================================================================== -->
<!-- Write a list of all packages with an hyperlink to the anchor of -->
<!-- of the package name. -->
<!-- ================================================================== -->
- <xsl:template name="packagelist">
+ <xsl:template name="packagelist">
<h2>Packages</h2>
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
<table class="details sortable" border="0" cellpadding="5" cellspacing="2" width="95%">
<xsl:variable name="errorCount" select="sum($testsuites-in-package/@errors)"/>
<xsl:variable name="failureCount" select="sum($testsuites-in-package/@failures)"/>
<xsl:variable name="timeCount" select="sum($testsuites-in-package/@time)"/>
-
+
<!-- write a summary for the package -->
<tr valign="top">
<!-- set a nice color depending if there is an error/failure -->
</td>
</tr>
</xsl:for-each>
- </table>
+ </table>
</xsl:template>
-
-
+
+
<!-- ================================================================== -->
<!-- Write a package level report -->
<!-- It creates a table with values from the document: -->
<xsl:sort select="@package"/>
<a name="{@package}"></a>
<h3>Package <xsl:value-of select="@package"/></h3>
-
+
<table class="details sortable" border="0" cellpadding="5" cellspacing="2" width="95%">
<xsl:call-template name="testsuite.test.header"/>
-
+
<!-- match the testsuites of this package -->
<xsl:apply-templates select="/testsuites/testsuite[./@package = current()/@package]" mode="print.test"/>
</table>
<p/>
</xsl:for-each>
</xsl:template>
-
+
<xsl:template name="classes">
<xsl:for-each select="testsuite">
<xsl:sort select="@name"/>
<!-- create an anchor to this class name -->
<a name="{@name}"></a>
<h3>TestCase <xsl:value-of select="@name"/></h3>
-
+
<table class="details sortable" border="0" cellpadding="5" cellspacing="2" width="95%">
<xsl:call-template name="testcase.test.header"/>
<!--
<xsl:apply-templates select="./testcase | ./testsuite/testcase" mode="print.test"/>
</table>
<p/>
-
+
<a href="#top">Back to top</a>
</xsl:for-each>
</xsl:template>
-
+
<xsl:template name="summary">
<h2>Summary</h2>
<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
</tr>
</table>
</xsl:template>
-
+
<!-- Page HEADER -->
<xsl:template name="pageHeader">
<h1>Unit Test Results</h1>
<xsl:when test="@errors[.> 0]">Error</xsl:when>
</xsl:choose>
</xsl:attribute>
-
+
<!-- print testsuite information -->
<td><a href="#{@name}"><xsl:value-of select="@name"/></a></td>
<td><xsl:value-of select="@tests"/></td>
<xsl:call-template name="str:_replace">\r
<xsl:with-param name="string" select="substring-before($string, $search)" />\r
<xsl:with-param name="replacements" select="$replacements[position() > 1]" />\r
- </xsl:call-template> \r
+ </xsl:call-template>\r
<xsl:copy-of select="$replacement/node()" />\r
<xsl:call-template name="str:_replace">\r
<xsl:with-param name="string" select="substring-after($string, $search)" />\r
</xsl:choose>\r
</xsl:template>\r
\r
-</xsl:stylesheet>
\ No newline at end of file
+</xsl:stylesheet>\r
fi
else
echo "No version entered. Aborting version update."
- fi
+ fi
}
#################################################
-
+
<add>
<doc>
<field name="id">1</field>
<!-- This is the Solr schema file. This file should be named "schema.xml" and
should be in the conf directory under the solr home
- (i.e. ./solr/conf/schema.xml by default)
+ (i.e. ./solr/conf/schema.xml by default)
or located where the classloader for the Solr webapp can find it.
For more information, on how to customize this file, please see
org.apache.solr.analysis package.
-->
- <!-- The StrField type is not analyzed, but indexed/stored verbatim.
+ <!-- The StrField type is not analyzed, but indexed/stored verbatim.
- StrField and TextField support an optional compressThreshold which
limits compression (if enabled in the derived fields) to values which
exceed a certain size (in characters).
- If sortMissingLast="false" and sortMissingFirst="false" (the default),
then default lucene sorting will be used which places docs without the
field first in an ascending sort and last in a descending sort.
- -->
+ -->
<!-- numeric field types that store and index the text
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and
is a more restricted form of the canonical representation of dateTime
- http://www.w3.org/TR/xmlschema-2/#dateTime
+ http://www.w3.org/TR/xmlschema-2/#dateTime
The trailing "Z" designates UTC time and is mandatory.
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
All other components are mandatory.
NOW/DAY+6MONTHS+3DAYS
... 6 months and 3 days in the future from the start of
the current day
-
+
Consult the DateField javadocs for more information.
-->
<fieldtype name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
<maxMergeDocs>2147483647</maxMergeDocs>
<maxFieldLength>10000</maxFieldLength>
- <!-- If true, unlock any held write or commit locks on startup.
+ <!-- If true, unlock any held write or commit locks on startup.
This defeats the locking mechanism that allows multiple
processes to safely access a lucene index, and should be
used with care. -->
org.apache.solr.(search|update|request|core|analysis)
-->
- <!-- autocommit pending docs if certain criteria are met
- <autoCommit>
+ <!-- autocommit pending docs if certain criteria are met
+ <autoCommit>
<maxDocs>10000</maxDocs>
</autoCommit>
-->
</listener>
-->
<!-- A postOptimize event is fired only after every optimize command, useful
- in conjunction with index distribution to only distribute optimized indicies
+ in conjunction with index distribution to only distribute optimized indicies
<listener event="postOptimize" class="solr.RunExecutableListener">
<str name="exe">snapshooter</str>
<str name="dir">solr/bin</str>
queries. An exception is thrown if exceeded. -->
<maxBooleanClauses>1024</maxBooleanClauses>
-
+
<!-- Cache used by SolrIndexSearcher for filters (DocSets),
unordered sets of *all* documents that match a query.
When a new searcher is opened, its caches may be prepopulated
<!-- default values for query parameters -->
<lst name="defaults">
<str name="echoParams">explicit</str>
- <!--
+ <!--
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
</requestHandler>
<!-- DisMaxRequestHandler allows easy searching across multiple fields
- for simple user-entered phrases.
+ for simple user-entered phrases.
see http://wiki.apache.org/solr/DisMaxRequestHandler
-->
<requestHandler name="dismax" class="solr.DisMaxRequestHandler" >
<!-- queryResponseWriter plugins... query responses will be written using the
writer specified by the 'wt' request parameter matching the name of a registered
writer.
- The "standard" writer is the default and will be used if 'wt' is not specified
+ The "standard" writer is the default and will be used if 'wt' is not specified
in the request. XMLResponseWriter will be used if nothing is specified here.
The json, python, and ruby writers are also available by default.
<!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for
- every xsltCacheLifetimeSeconds.
+ every xsltCacheLifetimeSeconds.
-->
<queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int>
- </queryResponseWriter>
-
- <!-- config for the admin interface -->
+ </queryResponseWriter>
+
+ <!-- config for the admin interface -->
<admin>
<defaultQuery>civicrm</defaultQuery>
<gettableFiles>solrconfig.xml schema.xml admin-extra.html</gettableFiles>
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
-# define your database name here, will be overriden by
+# define your database name here, will be overriden by
# FIRST command line argument if given
DBNAME=
-# define your database usernamename here, will be overriden by
+# define your database usernamename here, will be overriden by
# SECOND command line argument if given
DBUSER=
-# define your database password here, will be overriden by
+# define your database password here, will be overriden by
# THIRD command line argument if given
DBPASS=
-- Create Donors / Bidders.
--
-INSERT INTO `civicrm_contact` (`contact_type`, `sort_name`, `display_name`, `first_name`, `last_name`)
+INSERT INTO `civicrm_contact` (`contact_type`, `sort_name`, `display_name`, `first_name`, `last_name`)
VALUES
('Individual', 'Mouse Micky', 'Mouse Micky', 'Mickey', 'Mouse');
SELECT @donorID := id FROM `civicrm_contact` where `display_name` like 'Mouse Micky';
-INSERT INTO `civicrm_contact` (`contact_type`, `sort_name`, `display_name`, `first_name`, `last_name`)
+INSERT INTO `civicrm_contact` (`contact_type`, `sort_name`, `display_name`, `first_name`, `last_name`)
VALUES
('Individual', 'Doo Scooby', 'Doo Scooby', 'Scooby', 'Doo');
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*}
-<div class="form-item">
+<div class="form-item">
<fieldset><legend>{ts}Item Information{/ts}</legend>
<table class="form-layout-compressed">
<tr><td class="label">{ts}Auction{/ts}</td><td>{$auctionTitle}</td></tr>
<tr><td class="label">{$form.buy_now_value.label}</td><td>{$form.buy_now_value.html|crmReplace:class:four}<br />
<tr><td> </td><td>{$form.is_group.html} {$form.is_group.label}<br />
- <tr><td> </td><td>{$form.is_active.html} {$form.is_active.label}</td></tr>
+ <tr><td> </td><td>{$form.is_active.html} {$form.is_active.label}</td></tr>
<tr><td> </td><td> </td></tr>
</table>
{include file="CRM/Form/attachment.tpl" context="pcpCampaign"}
- <dl>
- <dt></dt><dd class="html-adjust">{$form.buttons.html}</dd>
- </dl>
-</fieldset>
+ <dl>
+ <dt></dt><dd class="html-adjust">{$form.buttons.html}</dd>
+ </dl>
+</fieldset>
</div>
{if $profileDisplay}
<div class="messages status">
<dl>
- <dt><img src="{$config->resourceBase}i/Eyeball.gif" alt="{ts}Profile{/ts}"/></dt>
- <dd><p><strong>{ts}Profile is not configured with Email address.{/ts}</strong></p></dd>
+ <dt><img src="{$config->resourceBase}i/Eyeball.gif" alt="{ts}Profile{/ts}"/></dt>
+ <dd><p><strong>{ts}Profile is not configured with Email address.{/ts}</strong></p></dd>
</dl>
</div>
{else}
<div class="form-item">
-{include file="CRM/common/CMSUser.tpl"}
-{include file="CRM/UF/Form/Block.tpl" fields=$fields}
-{if $isCaptcha}
-{include file='CRM/common/ReCAPTCHA.tpl'}
+{include file="CRM/common/CMSUser.tpl"}
+{include file="CRM/UF/Form/Block.tpl" fields=$fields}
+{if $isCaptcha}
+{include file='CRM/common/ReCAPTCHA.tpl'}
{/if}
<dl>
- <dt></dt>
- <dd class="html-adjust">{$form.buttons.html}</dd>
+ <dt></dt>
+ <dd class="html-adjust">{$form.buttons.html}</dd>
</dl>
</div>
-{/if}
\ No newline at end of file
+{/if}
</div>
<div style="height: auto; vertical-align: bottom">{$form.auctionsByDates.html}</div>
</td>
- <td class="left" rowspan="2"> {$form.buttons.html}</td>
+ <td class="left" rowspan="2"> {$form.buttons.html}</td>
</tr>
<tr>
<td></td>
<td> {$form.end_date.html}
{include file="CRM/common/calendar/desc.tpl" trigger=trigger_search_member_2}
{include file="CRM/common/calendar/body.tpl" dateVar=end_date startDate=startYear endDate=endYear offset=5 trigger=trigger_search_member_2}
- </td>
+ </td>
</tr>
- </table>
+ </table>
</td>
- </tr>
+ </tr>
</table>
</fieldset>
</div>
{include file="CRM/common/showHide.tpl"}
-{literal}
+{literal}
<script type="text/javascript">
if ( document.getElementsByName('auctionsByDates')[1].checked ) {
cj('#id_fromToDates').show();
}
</script>
-{/literal}
+{/literal}
</div>
</td>
<td></td>
- <td class="left" colspan="2">{$form.buttons.html} </td>
+ <td class="left" colspan="2">{$form.buttons.html} </td>
</tr>
<tr>
<td class="label">{$form.start_date.label}</td>
<td> {$form.end_date.html}
{include file="CRM/common/calendar/desc.tpl" trigger=trigger_search_member_2}
{include file="CRM/common/calendar/body.tpl" dateVar=end_date startDate=startYear endDate=endYear offset=5 trigger=trigger_search_member_2}
- </td>
+ </td>
</tr>
</table>
</fieldset>
<td>{$row.buy_now_value}</td>
<td>{$row.min_bid_value}</td>
<td>{$row.min_bid_increment}</td>
- <td>{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
- <td>{$row.action}</td>
+ <td>{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
+ <td>{$row.action}</td>
</tr>
{/foreach}
</table>