[mb-commits] branch, beta, updated. Merge branch 'mbs-5247' into beta Valid HTML5 fixes, replace nbsp with numeri...

MusicBrainz Git Server <[email protected]>
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1TVJdn-00042j-FI@wiley>
The branch, beta has been updated
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=9f7cda3e6c2e4ff679540abffacfdfe5e7b17966 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=b6965725ae05dea05191a0ae33841c4c4a9ce6bb (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f4048ffaa3c96e3e87acd95fb11d754bef1122f5 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=be1049ed4726a75601ff672d680c731acc17a017 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=05ee0b32a6fa8b3b2976a971d9e5b0ba5a5fcba3 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f42c2cdb75cb8680bb7ae6b4ccb4a1dd6f17a9af (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=4fd4e91a06d988f7afa3677d0611c3032cf3d477 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=93e2071fbf3ecc5b497405a99dd0b1bfca1d51a9 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=b9f61171101286c489a317f3676e9794718c00fd (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=bba7ee9dad127819c6a372324649a4ca4e3e9d37 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=82be848b43375620947fb07f72a521d6703dba2c (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e4372b388eca0ad3d1222d8a961a96d01303d566 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=4ddd0bae92b164d1e071290db90996e30b35046f (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=bae7154a1abe15a3fa089145836c4c59a42c3eaa (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=001691d8a277721e532df89db361c9350c5e2d79 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=628a9231398d2176c1ceb07104a1aa6b2673fd15 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=89c29d7f7bb2bb920d5b45f16f78101d0f64948f (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=0899ccb47feac0c507d0a3b03cca09c6af4c4d48 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e9e2ffa937d12d00612f068bceeb14bf17cbcc2f (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=ea7ff8b931fa37f85c0831dd97d308bbffe8f4d4 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=123fe3d61fa3ad6f220e3840f3ec336bb259fd54 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=6ca71d100f8718e9cd2498f0cffaeb7b811569ca (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=460b4f80594ffad187f543e8f04014e03118557a (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=59fa5c9b49e848b7472e426b0d0f3a4304ccbebb (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=97b6fa64fccdd0d4aa0ab7aefd9d2298ee9e42d2 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=4b57a7bfa8f595a9ebf1d8a72c9c8162a4e116e4 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=04c0679eef202e0f2cdef41e5072eeca6c0ba3a9 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e480dd6894171e5fbb48638c3be925979f0ec5fd (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=4de605f4350172716c71ba4686d932ac5ddff745 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=7269e7404c1bdb59ae7b10fbc435fccfc5a66576 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f9fb9f53988475e9e4e87530d1a639cb2f154993 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=6f47b27503728b505303991d654651426341c978 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=ce01a4338745e7fbeabaa1ea3e516b15487a61e2 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e9f3d86db20c09df7d00e013f92cfe8e16a21c15 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=82c41a1b15b34b572cfeed00ef6945c27403d411 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=b176d14369a18f9dd7f25e101d6bec903a31b9df (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=ec9de74afcff2db67cf5c14ac435ea3b2be45820 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=54d26bcdf145e189308459e4aea6605017cb2a43 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=8c2ce80a041c862e39827bcdf5a8db4d8ce3cd69 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f2ca56a52ff9b3583a278f9dc541ad87d76e1857 (commit)
      from  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=2707e9959447393bf5d7446aab5eeffd8fa3ae90 (commit)

Summary of changes:
 lib/DBDefs/Default.pm                              |    6 +
 .../Server/Form/Admin/LinkAttributeType.pm         |    2 +-
 lib/MusicBrainz/Server/Form/Admin/LinkType.pm      |    2 +-
 lib/MusicBrainz/Server/Form/Alias.pm               |    2 +-
 .../Server/Form/Relationship/LinkType.pm           |    2 +-
 .../Server/Form/ReleaseEditor/Tracklist.pm         |    2 +-
 lib/MusicBrainz/Server/Test.pm                     |   42 +++-
 lib/MusicBrainz/Server/Test/HTML5.pm               |  244 ++++++++++++++++++++
 root/account/edit.tt                               |    6 +-
 root/annotation/edit.tt                            |    2 +-
 root/artist/browse_various.tt                      |    2 +-
 root/artist/index.tt                               |    2 +-
 root/artist/relationships.tt                       |   24 +-
 root/components/common-macros.tt                   |   16 +-
 root/components/filter.tt                          |    2 +-
 root/components/forms.tt                           |   10 +-
 root/components/rdfa-macros.tt                     |   38 ++--
 root/components/relationships.tt                   |   10 +-
 root/components/tags.tt                            |    6 +-
 root/edit/relationship/create.tt                   |   12 +-
 root/edit/relationship/create_url.tt               |    6 +-
 root/edit/search_macros.tt                         |    8 +-
 root/elections/index.tt                            |    2 +-
 root/forms/edit-note.tt                            |    2 +-
 root/main/500.tt                                   |    2 +-
 root/main/index.tt                                 |    6 +-
 root/release/edit/recordings.tt                    |    2 +-
 root/release/edit/tracklist.tt                     |    6 +-
 root/release/index.tt                              |    9 +-
 root/release_group/merge.tt                        |    2 +-
 root/search/form.tt                                |    2 +-
 root/search/lib/inline-results-recording.tt        |    4 +-
 root/statistics/coverart.tt                        |   40 +++-
 root/statistics/edits.tt                           |   10 +-
 root/statistics/index.tt                           |  156 +++++++-------
 root/statistics/relationships.tt                   |   19 +-
 root/statistics/timeline.tt                        |    4 +-
 root/tracklist/tracklist.tt                        |    4 +-
 root/user/profile.tt                               |    3 +-
 .../MusicBrainz/Server/Controller/Artist/Merge.pm  |   20 +-
 .../MusicBrainz/Server/Controller/CDStub/Browse.pm |    4 +-
 .../Server/Controller/Collection/New.pm            |   16 +-
 .../Server/Controller/Collection/Show.pm           |   17 +-
 .../Server/Controller/Recording/Merge.pm           |    7 +-
 .../Relationship/LinkAttributeType/Index.pm        |   11 +-
 .../Controller/Relationship/LinkType/Edit.pm       |    1 -
 .../Controller/Relationship/LinkType/Index.pm      |   19 +-
 t/lib/t/MusicBrainz/Server/Controller/Search.pm    |   13 +-
 .../Server/Controller/User/Collections.pm          |   24 ++-
 49 files changed, 582 insertions(+), 269 deletions(-)
 create mode 100644 lib/MusicBrainz/Server/Test/HTML5.pm

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9f7cda3e6c2e4ff679540abffacfdfe5e7b17966
Merge: 2707e99 b696572
Author: warp <[email protected]>
Date:   Mon Nov 5 10:55:11 2012 +0100

    Merge branch 'mbs-5247' into beta
    
    * mbs-5247: (33 commits)
      Valid HTML5 fixes, replace nbsp with numeric entity reference in common-macros.tt, display_age_ago.
      Valid HTML5 fixes to stastistics pages.
      MBS-5246, move Test::XPath initialization to a function in MusicBrainz::Server::Test.
      MBS-5247, Replace html character entities with numeric character references and unicode encoded characters.
      MBS-5247, html5 validation fixes to the statistics pages.
      MBS-5246, Remove make_xml() hack so that HTML output is directly validated as XML.
      MBS-5247, Replace html character entities with numeric character references and unicode encoded characters.
      MBS-5246, Allow html5 tests to be skipped if no validator is available.
      MBS-5247, wrap javascript with html embedded in strings in CDATA, correctly close an <input/> tag.
      MBS-5246, Replace html doctype with xml doctype when validating the document as xml.
      MBS-5246, decode_json expects an UTF8 encoded string, not a perl unicode string.
      MBS-5247, revert unneccesary <th> -> <td> change made in commit 4b57a7bfa8f595a9ebf1d8a72c9c8162a4e116e4.
      MBS-5247, Don't set empty id attributes.
      MBS-5247, Do not colspan="" into non-existent columns.
      MBS-5247, Remove empty <script src=""> element.
      MBS-5247, Fix release tracklist display, which incorrectly commented in commit ba703100d546b29bdbd39b479c9132adbbe4e069.
      MBS-5247, the summary attribute on tables is obsolete/deprecated, turn it into a title attribute so it appears to users as a tooltip on hover.
      MBS-5247, Don't use colspan="" to span over non-existent columns.
      MBS-5247, Wrap page content in <div>, not <span>. Don't put multiple <thead>s in a table.
      MBS-5247, Commenting out RDFa bits which are invalid HTML5, see MBS-5244.
      ...


commit b6965725ae05dea05191a0ae33841c4c4a9ce6bb
Author: warp <[email protected]>
Date:   Mon Nov 5 10:38:52 2012 +0100

    Valid HTML5 fixes, replace nbsp with numeric entity reference in common-macros.tt, display_age_ago.

diff --git a/root/components/common-macros.tt b/root/components/common-macros.tt
index e2ca8e3..6ed87e2 100644
--- a/root/components/common-macros.tt
+++ b/root/components/common-macros.tt
@@ -66,11 +66,11 @@ END; -%]
 
 [%- MACRO display_age_ago(age) BLOCK;
         IF age.0;
-          ln('{num} year ago', '{num}&nbsp;years ago', age.0, { num => age.0 });
+          ln('{num} year ago', '{num}&#xa0;years ago', age.0, { num => age.0 });
         ELSIF age.1;
-          ln('{num} month ago', '{num}&nbsp;months ago', age.1, { num => age.1 });
+          ln('{num} month ago', '{num}&#xa0;months ago', age.1, { num => age.1 });
         ELSE;
-          ln('{num} day ago', '{num}&nbsp;days ago', age.2, { num => age.2 });
+          ln('{num} day ago', '{num}&#xa0;days ago', age.2, { num => age.2 });
         END;
     END -%]
 
diff --git a/t/lib/t/MusicBrainz/Server/Controller/CDStub/Browse.pm b/t/lib/t/MusicBrainz/Server/Controller/CDStub/Browse.pm
index 28385ff..947e8f4 100644
--- a/t/lib/t/MusicBrainz/Server/Controller/CDStub/Browse.pm
+++ b/t/lib/t/MusicBrainz/Server/Controller/CDStub/Browse.pm
@@ -34,8 +34,8 @@ html_ok($mech->content);
 $mech->title_like(qr/Top CD Stubs/, 'title is correct');
 $mech->content_like(qr/Test Artist/, 'content has artist name');
 $mech->content_like(qr/YfSgiOEayqN77Irs.VNV.UNJ0Zs-/, 'content has disc id');
-$mech->content_like(qr/Added 12&nbsp;years ago/, 'content has added timestamp');
-$mech->content_like(qr/last modified 11&nbsp;years ago/, 'content has last modified timestamp');
+$mech->content_like(qr/Added 12&#xa0;years ago/, 'content has added timestamp');
+$mech->content_like(qr/last modified 11&#xa0;years ago/, 'content has last modified timestamp');
 
 };
 

commit f4048ffaa3c96e3e87acd95fb11d754bef1122f5
Author: warp <[email protected]>
Date:   Mon Nov 5 09:41:12 2012 +0100

    Valid HTML5 fixes to stastistics pages.

diff --git a/root/statistics/index.tt b/root/statistics/index.tt
index a5f5564..77a47ff 100644
--- a/root/statistics/index.tt
+++ b/root/statistics/index.tt
@@ -489,7 +489,7 @@
 <table class="database-statistics">
 <tbody>
 <tr>
-    <th colspan=2>[% l('Works:') %]</th>
+    <th colspan="2">[% l('Works:') %]</th>
     <td>[% add_commas(stats.statistic('count.work')) %]</td>
     <td></td>
 </tr>
diff --git a/root/statistics/relationships.tt b/root/statistics/relationships.tt
index 631e7a1..ba27136 100644
--- a/root/statistics/relationships.tt
+++ b/root/statistics/relationships.tt
@@ -12,7 +12,7 @@
 [%- END -%]
 [%- END -%]
 
-[% WRAPPER 'statistics/layout.tt' title=l('Relationships') full_width=1 page='relationships' %] 
+[% WRAPPER 'statistics/layout.tt' title=l('Relationships') full_width=1 page='relationships' %]
 
 [% USE format %]
 [% round1 = format('%.1f') %]
@@ -42,10 +42,10 @@
     type1 = format_entity_type_name(type.value.entity_types.1);
     USE Translation('statistics') -%]
 <tr class="thead">
-    <th colspan="12">[% l('{type0}-{type1}', { type0 => type0, type1 => type1 } ) %]</th>
+    <th colspan="4">[% l('{type0}-{type1}', { type0 => type0, type1 => type1 } ) %]</th>
 </tr>
 <tr>
-    <th colspan="10">[% l('{type0}-{type1} relationships:', { type0 => type0, type1 => type1 } ) %]</th>
+    <th colspan="2">[% l('{type0}-{type1} relationships:', { type0 => type0, type1 => type1 } ) %]</th>
     <td>[% add_commas(stats.statistic('count.ar.links.' _ type.key)) %]</td>
     <td>[% l('{n}%', { n => round1(stats.ratio('count.ar.links.' _ type.key, 'count.ar.links')) }) %]</td>
 </tr>

commit be1049ed4726a75601ff672d680c731acc17a017
Merge: 05ee0b3 40ecdee
Author: warp <[email protected]>
Date:   Mon Nov 5 09:23:43 2012 +0100

    Merge branch 'master' into mbs-5247
    
    * master: (464 commits)
      Update translations from transifex.
      Update root/static/scripts/common/MB/Control/SelectAll.js
      Revert "Merge branch 'i18n-nop-context' into beta"
      MBS-5473: create controlled_for_whitespace and helper functions in upgrade.sh
      MBS-5463, fix typo in previous commit.
      MBS-5463, set name/barcode/comment fields in the correct hash in ReleaseEditor::Add (fixes crash introduced in previous commit).
      MBS-5463, don't allow null / undef as release disambig comment, always initalize to a string.
      schema change: Run SetSequences in order to get correct sequence values before slaves migrate; otherwise duplicate credit merging will fail
      schema change hotfix: use Form::Field::Comment in the RE, not Text, as this field cannot be null
      Revert "Don't create {artist,label}_idx_uniq_name_comment, since they break with the dump we've been using for testing."
      Explicitly drop broken indexes in upgrade.sh as well.
      Don't create {artist,label}_idx_uniq_name_comment, since they break with the dump we've been using for testing.
      Fix pgtap tests
      Fix upgrade process to work on slaves that don't have the caa schema.
      CAA replication: Import dumped CAA schema before migration, not after, as this is where master dumped it.
      CAA/statistics replication: drop statistics triggers appropriately, and recreate them correctly at the end of upgrade.sh
      MBS-3791: Remove controlled_for_whitespace(description) again, falsely re-added
      feh, remove a comma
      Remove 'created' column from release_group_secondary_type, where it shouldn't be.
      Various schema change process improvements:
      ...
    
    Conflicts:
    	lib/MusicBrainz/Server/Form/Relationship/LinkType.pm
    	root/components/common-macros.tt
    	root/components/tags.tt
    	root/edit/relationship/create.tt
    	root/edit/relationship/create_batch.tt
    	root/statistics/relationships.tt

diff --cc root/components/common-macros.tt
index e1c4c3c,bee6c8a..e2ca8e3
--- a/root/components/common-macros.tt
+++ b/root/components/common-macros.tt
@@@ -371,7 -398,7 +398,7 @@@ END -%
      IF editor.preferences.show_gravatar;
        '<img src="' _ gravatar(editor.email) _ '" class="gravatar" />';
      ELSE;
-       '<img src="http://gravatar.com/avatar/placeholder?d=mm" class="gravatar" />';
 -      '<img src="//gravatar.com/avatar/placeholder?d=mm" class="gravatar">';
++      '<img src="//gravatar.com/avatar/placeholder?d=mm" class="gravatar" />';
      END;
      text;
      '</a>';
diff --cc root/components/tags.tt
index 6299208,553a728..051ca63
--- a/root/components/tags.tt
+++ b/root/components/tags.tt
@@@ -8,10 -8,8 +8,10 @@@
      [%- WRAPPER 'components/with-pager.tt' -%]
      <table class="tbl">
        <thead>
 -        <th>[% lp('Tag', 'noun') %]</th>
 -        <th style="width: 10em">[% l('Usage Count') %]</th>
 +        <tr>
-           <th>[% l('Tag') %]</th>
++          <th>[% lp('Tag', 'noun') %]</th>
 +          <th style="width: 10em">[% l('Usage Count') %]</th>
 +        </tr>
        </thead>
        <tbody>
          [%- FOREACH tag IN tags -%]
diff --cc root/edit/relationship/create.tt
index c8c5236,c8fc9e0..b97ff89
--- a/root/edit/relationship/create.tt
+++ b/root/edit/relationship/create.tt
@@@ -91,22 -91,22 +91,22 @@@
                  </td>
              </tr>
              <tr>
-                 <th class="label">[% r.label('begin_date', l('Begin date:'), fake => 1) %]</th>
-                 <td>[% r.date('begin_date') %]
-                 [% field_errors(form, 'begin_date') %]</td>
+                 <th class="label">[% r.label('period.begin_date', l('Begin date:'), fake => 1) %]</th>
 -                <td colspan="2">[% r.date('period.begin_date') %]
++                <td>[% r.date('period.begin_date') %]
+                 [% field_errors(form, 'period.begin_date') %]</td>
              </tr>
              <tr>
-                 <th class="label">[% r.label('end_date', l('End date:'), fake => 1) %]</th>
-                 <td>[% r.date('end_date') %]
-                 [% field_errors(form, 'end_date') %]</td>
+                 <th class="label">[% r.label('period.end_date', l('End date:'), fake => 1) %]</th>
 -                <td colspan="2">[% r.date('period.end_date') %]
++                <td>[% r.date('period.end_date') %]
+                 [% field_errors(form, 'period.end_date') %]</td>
              </tr>
              <tr>
                <td class="label">
                </td>
 -              <td colspan="2">
 +              <td>
-                 [% r.checkbox('ended') %]
-                 [% r.label('ended', l('This relationship has ended.')) %]
-                 [% field_errors(form, 'end_date') %]
+                 [% r.checkbox('period.ended') %]
+                 [% r.label('period.ended', l('This relationship has ended.')) %]
+                 [% field_errors(form, 'period.ended') %]
                </td>
              </tr>
          </table>
diff --cc root/elections/index.tt
index 77c57ca,8540f71..b987332
--- a/root/elections/index.tt
+++ b/root/elections/index.tt
@@@ -7,10 -7,10 +7,10 @@@
          <thead>
              <tr>
                  <th>[% l('Candidate') %]</th>
-                 <th>[% l('Status') %]</th>
+                 <th>[% lp('Status', 'election status') %]</th>
                  <th>[% l('Start date') %]</th>
                  <th>[% l('End date') %]</th>
 -                <th>&nbsp;</th>
 +                <th>&#xa0;</th>
              </tr>
          </thead>
          <tbody>
diff --cc root/statistics/relationships.tt
index 293d0aa,874882b..631e7a1
--- a/root/statistics/relationships.tt
+++ b/root/statistics/relationships.tt
@@@ -37,11 -33,15 +37,15 @@@
      <td></td>
  </tr>
  [% FOREACH type IN types -%]
+ [%- USE Translation('mb_server');
+     type0 = format_entity_type_name(type.value.entity_types.0);
+     type1 = format_entity_type_name(type.value.entity_types.1);
+     USE Translation('statistics') -%]
  <tr class="thead">
-     <th colspan="4">[% l('{type0}-{type1}', { type0 => format_entity_type_name(type.value.entity_types.0), type1 => format_entity_type_name(type.value.entity_types.1) } ) %]</th>
 -    <th colspan=12>[% l('{type0}-{type1}', { type0 => type0, type1 => type1 } ) %]</th>
++    <th colspan="12">[% l('{type0}-{type1}', { type0 => type0, type1 => type1 } ) %]</th>
  </tr>
  <tr>
-     <th colspan="2">[% l('{type0}-{type1} relationships:', { type0 => format_entity_type_name(type.value.entity_types.0), type1 => format_entity_type_name(type.value.entity_types.1) } ) %]</th>
 -    <th colspan=10>[% l('{type0}-{type1} relationships:', { type0 => type0, type1 => type1 } ) %]</th>
++    <th colspan="10">[% l('{type0}-{type1} relationships:', { type0 => type0, type1 => type1 } ) %]</th>
      <td>[% add_commas(stats.statistic('count.ar.links.' _ type.key)) %]</td>
      <td>[% l('{n}%', { n => round1(stats.ratio('count.ar.links.' _ type.key, 'count.ar.links')) }) %]</td>
  </tr>

-----------------------------------------------------------------------


hooks/post-receive
-- 
mb_server
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.