Skip to content

Commit

Permalink
CRM-15248 - footer.tpl - For front-end users, redact point-release.
Browse files Browse the repository at this point in the history
On one hand, giving a precise version can help attackers match their targets
with exploits.  On the other hand, giving some kind of version indication is
useful for support and marketing.  This PR attempts to balance the interests
by giving a precise version ("Powered by CiviCRM 4.4.6") to users with
permission "access CiviCRM" while giving a coarse-version ("Powered by
CiviCRM 4.4") to anyone else.

Conflicts:
	templates/CRM/common/footer.tpl
  • Loading branch information
totten authored and eileenmcnaughton committed Sep 9, 2014
1 parent 4c603a4 commit b99b3d5
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 6 deletions.
60 changes: 60 additions & 0 deletions CRM/Core/Smarty/plugins/function.crmVersion.php
@@ -0,0 +1,60 @@
<?php
/*
+--------------------------------------------------------------------+
| CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| CiviCRM is free software; you can copy, modify, and distribute it |
| under the terms of the GNU Affero General Public License |
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
| |
| CiviCRM is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public |
| License and the CiviCRM Licensing Exception along |
| with this program; if not, contact CiviCRM LLC |
| at info[AT]civicrm[DOT]org. If you have questions about the |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/

/**
*
* @package CRM
* @copyright TTTP
* $Id$
*
*/

/**
* Display the CiviCRM version
*
* @code
* The version is {crmVersion}.
*
* {crmVersion redact=auto assign=ver}The version is {$ver}.
* @endcode
*/
function smarty_function_crmVersion($params, &$smarty) {
$version = CRM_Utils_System::version();

$redact = !CRM_Core_Permission::check('access CiviCRM');
if ($redact) {
$parts = explode('.', $version);
$version = $parts[0] . '.' . $parts[1];
}

if (isset($params['assign'])) {
$smarty->assign($params['assign'], $version);
}
else {
return $version;
}
}
17 changes: 11 additions & 6 deletions templates/CRM/common/footer.tpl
Expand Up @@ -37,10 +37,15 @@
</div>
{/if}

<div class="footer" id="civicrm-footer">
{ts 1=$version}Powered by CiviCRM %1.{/ts}
{ts 1='http://www.gnu.org/licenses/agpl-3.0.html'}CiviCRM is openly available under the <a href='%1'>GNU Affero General Public License (GNU AGPL)</a>.{/ts}<br/>
<a href='http://civicrm.org/download'>{ts}Download source.{/ts}</a> &nbsp; &nbsp;
<a href='http://issues.civicrm.org/jira/browse/CRM?report=com.atlassian.jira.plugin.system.project:roadmap-panel'>{ts}View issues and report bugs.{/ts}</a> &nbsp; &nbsp;
{docURL page="" text="Online documentation."}
<div class="footer crm-footer" id="civicrm-footer">
{crmVersion assign=version}
{ts 1=$version}Powered by CiviCRM %1.{/ts}
{if !empty($newer_civicrm_version)}
<span class="status">{ts 1=$newer_civicrm_version}A newer version (%1){/ts}
<a href="http://civicrm.org/download">{ts}is available for download{/ts}</a>.</span>
{/if}
{ts 1='http://www.gnu.org/licenses/agpl-3.0.html'}CiviCRM is openly available under the <a href='%1'>GNU AGPL License</a>.{/ts}<br/>
<a href="http://civicrm.org/download">{ts}Download CiviCRM.{/ts}</a> &nbsp; &nbsp;
<a href="http://issues.civicrm.org/jira/browse/CRM?report=com.atlassian.jira.plugin.system.project:roadmap-panel">{ts}View issues and report bugs.{/ts}</a> &nbsp; &nbsp;
{docURL page="" text="Online documentation."}
</div>

0 comments on commit b99b3d5

Please sign in to comment.