diff --git a/src/IDF/Project.php b/src/IDF/Project.php
index 14f66c7..66a070e 100644
--- a/src/IDF/Project.php
+++ b/src/IDF/Project.php
@@ -152,15 +152,14 @@ class IDF_Project extends Pluf_Model
break;
}
$sqlIssueTable = Pluf::factory('IDF_Issue')->getSqlTable();
- $query = <<<"QUERY"
-SELECT uid AS id,COUNT(uid) AS nb
+ $query = "SELECT uid AS id,COUNT(uid) AS nb
FROM (
SELECT COALESCE(owner, -1) AS uid
FROM $sqlIssueTable
WHERE status IN ($tags)
) AS ff
-GROUP BY uid
-QUERY;
+GROUP BY uid";
+
$db = Pluf::db();
$dbData = $db->select($query);
$ownerStatistics = array();
diff --git a/src/IDF/Views/Issue.php b/src/IDF/Views/Issue.php
index fc9d7b4..9c749af 100644
--- a/src/IDF/Views/Issue.php
+++ b/src/IDF/Views/Issue.php
@@ -747,7 +747,13 @@ class IDF_Views_Issue
else {
// ID-based search
if (is_numeric($query)) {
- $sql = new Pluf_SQL('project=%s AND id LIKE %s', array($prj->id, $query.'%'));
+ $sql = 'project=%s AND CAST(id AS VARCHAR) LIKE %s';
+ // MySQL can't cast to VARCHAR and a CAST to CHAR converts
+ // the whole number, not just the first digit
+ if (strtolower(Pluf::f('db_engine')) == 'mysql') {
+ $sql = 'project=%s AND CAST(id AS CHAR) LIKE %s';
+ }
+ $sql = new Pluf_SQL($sql, array($prj->id, $query.'%'));
$tmp = Pluf::factory('IDF_Issue')->getList(array(
'filter' => $sql->gen(),
'order' => 'id ASC'
diff --git a/src/IDF/templates/idf/issues/feedfragment.xml b/src/IDF/templates/idf/issues/feedfragment.xml
index 15fda48..b44b946 100644
--- a/src/IDF/templates/idf/issues/feedfragment.xml
+++ b/src/IDF/templates/idf/issues/feedfragment.xml
@@ -10,12 +10,22 @@
{if $attachments.count() > 0}
-{foreach $attachments as $a}- {$a.filename} - {$a.filesize|ssize}
{/foreach}
+{foreach $attachments as $a}- {$a.filename} - {$a.filesize|ssize}
{/foreach}
{/if}
{if $c.changes}
{foreach $c.changes as $w => $v}
-{if $w == 'su'}{trans 'Summary:'}{/if}{if $w == 'st'}{trans 'Status:'}{/if}{if $w == 'ow'}{trans 'Owner:'}{/if}{if $w == 'lb'}{trans 'Labels:'}{/if} {if $w == 'lb'}{assign $l = implode(', ', $v)}{$l}{else}{$v}{/if}
+{if $w == 'su'}{trans 'Summary:'}{/if}{if $w == 'st'}{trans 'Status:'}{/if}{if $w == 'ow'}{trans 'Owner:'}{/if}{if $w == 'lb'}{trans 'Labels:'}{/if}{if $w == 'rel'}{trans 'Relations:'}{/if}
+{if $w == 'lb' or $w == 'rel'}
+ {foreach $v as $t => $ls}
+ {foreach $ls as $l}
+ {if $t == 'rem'}{/if}{$l}{if $t == 'rem'}{/if}
+ {/foreach}
+ {/foreach}
+{else}
+ {$v}
+{/if}
{/foreach}
{/if}
+
diff --git a/src/IDF/templates/idf/issues/issue-updated-email.txt b/src/IDF/templates/idf/issues/issue-updated-email.txt
index 62aaa7a..3597dec 100644
--- a/src/IDF/templates/idf/issues/issue-updated-email.txt
+++ b/src/IDF/templates/idf/issues/issue-updated-email.txt
@@ -16,7 +16,7 @@
{if strlen($c.content) > 0}{$c.content|safe}{/if}{if $c.changedIssue()}
{foreach $c.changes as $w => $v}
- {if $w == 'su'}{trans 'Summary:'}{/if}{if $w == 'st'}{trans 'Status:'}{/if}{if $w == 'ow'}{trans 'Owner:'}{/if}{if $w == 'lb'}{trans 'Labels:'}{/if} {if $w == 'lb'}{assign $l = implode(', ', $v)}{$l}{else}{$v}{/if}{/foreach}{/if}{assign $attachments = $c.get_attachment_list()}{if $attachments.count() > 0}
+ {if $w == 'su'}{trans 'Summary:'}{/if}{if $w == 'st'}{trans 'Status:'}{/if}{if $w == 'ow'}{trans 'Owner:'}{/if}{if $w == 'lb'}{trans 'Labels:'}{/if}{if $w == 'rel'}{trans 'Relations:'}{/if} {if $w == 'lb' or $w == 'rel'}{foreach $v as $t => $ls}{foreach $ls as $l}{if $t == 'rem'}-{/if}{$l} {/foreach}{/foreach}{else}{$v}{/if}{/foreach}{/if}{assign $attachments = $c.get_attachment_list()}{if $attachments.count() > 0}
{trans 'Attachments:'}{foreach $attachments as $a}
- {$a.filename|safe} - {$a.filesize|ssize}