From c4648e30b146148acb8919a7d07bca5919c3ff4f Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Mon, 13 Jan 2014 19:08:19 +0100 Subject: [PATCH 1/5] Add 3.8.3alpha.4 patch --- lib/classes/patch/383alpha4a.php | 97 ++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 lib/classes/patch/383alpha4a.php diff --git a/lib/classes/patch/383alpha4a.php b/lib/classes/patch/383alpha4a.php new file mode 100644 index 0000000000..c3802d5818 --- /dev/null +++ b/lib/classes/patch/383alpha4a.php @@ -0,0 +1,97 @@ +release; + } + + /** + * {@inheritdoc} + */ + public function require_all_upgrades() + { + return false; + } + + /** + * {@inheritdoc} + */ + public function concern() + { + return $this->concern; + } + + /** + * {@inheritdoc} + */ + public function apply(base $appbox, Application $app) + { + $em = $app['EM']; + $mappingFieldType = $mappingFieldResult = new ResultSetMapping(); + + $rs = $em->createNativeQuery( + "SHOW FIELDS FROM usr WHERE Field = 'usr_login';", + $mappingFieldType->addScalarResult('Type', 'Type') + )->getSingleResult(); + + if (0 !== strpos(strtolower($rs['Type']), 'varbinary')) { + return; + } + + // As 'usr_login' field type is varbinary it can contain any charset (utf8 or latin1). + // Compare usr_login to usr_login converted to utf8>utf32>utf8 + // will detect broken char for latin1 encoded string. + // Then detected 'usr_login' fields must be converted from latin1 to utf8. + $rs = $em->createNativeQuery( + 'SELECT t.usr_id, t.login_utf8 FROM ( + SELECT usr_id, + usr_login AS login_unknown_charset, + CONVERT(CAST(usr_login AS CHAR CHARACTER SET latin1) USING utf8) AS login_utf8, + CONVERT(CONVERT(CAST(usr_login AS CHAR CHARACTER SET utf8) USING utf32) USING utf8) AS login_utf8_utf32_utf8 + FROM usr + ) AS t + WHERE t.login_utf8_utf32_utf8 != t.login_unknown_charset', + $mappingFieldResult->addScalarResult('usr_id', 'usr_id')->addScalarResult('login_utf8', 'login_utf8') + )->getResult(); + + foreach ($rs as $row) { + $em->getConnection()->executeQuery(sprintf('UPDATE usr SET usr_login="%s" WHERE usr_id=%d', $row['login_utf8'], $row['usr_id'])); + } + + foreach (array( + // drop index + "ALTER TABLE usr DROP INDEX usr_login;", + // change field type + "ALTER TABLE usr MODIFY usr_login VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_bin;", + // recreate index + "CREATE UNIQUE INDEX usr_login ON usr (usr_login);" + ) as $sql) { + $em->getConnection()->executeQuery($sql); + } + + return true; + } +} From e91993bfd7bbe8e94e533e2ab2952a055f11a1eb Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Mon, 13 Jan 2014 19:08:36 +0100 Subject: [PATCH 2/5] Bump 3.8.3alpha.4 version --- lib/Alchemy/Phrasea/Core/Version.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Alchemy/Phrasea/Core/Version.php b/lib/Alchemy/Phrasea/Core/Version.php index c5e0e09f87..6e23303357 100644 --- a/lib/Alchemy/Phrasea/Core/Version.php +++ b/lib/Alchemy/Phrasea/Core/Version.php @@ -18,7 +18,7 @@ namespace Alchemy\Phrasea\Core; */ class Version { - protected static $number = '3.8.3-alpha.3'; + protected static $number = '3.8.3-alpha.4'; protected static $name = 'Diplodocus'; public static function getNumber() From b9c1e952c1f902efafcc7cbe0be9113c4cd37a95 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Wed, 15 Jan 2014 16:32:23 +0100 Subject: [PATCH 3/5] Fix #1657 : Fix suggested values editor --- .../collection/suggested_value.html.twig | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/templates/web/admin/collection/suggested_value.html.twig b/templates/web/admin/collection/suggested_value.html.twig index efd78a4d2a..d3d3d4c7cc 100644 --- a/templates/web/admin/collection/suggested_value.html.twig +++ b/templates/web/admin/collection/suggested_value.html.twig @@ -354,18 +354,6 @@ function returnElement(unId) var pref = new Array(0); var lastpref=null; -function loaded() -{ - self.focus(); - write_valsug(); - makeRestrict(); - maketextaffich(); - makeEmpty(); - redrawme(); - scan(); - $("#iddivloading").hide(); -} - function Roll(im, x) { var s=document[im].src; @@ -809,7 +797,18 @@ pref["{{ value['key']|escapeDoubleQuote|raw }}"].valsug["{{ value['value']|escap function getSruct() { - var dom = document.implementation.createDocument(null, 'baseprefs', null); + var parser = new DOMParser(); + var dom = parser.parseFromString($('#txtareaxml').val(), 'text/xml'); + var existing = dom.getElementsByTagName('sugestedValues'); + + if (existing.length !== 0) { + for (i in existing) { + if (existing[i].parentNode) { + existing[i].parentNode.removeChild(existing[i]); + } + } + } + var values = dom.createElement('sugestedValues'); for (a in pref ) { @@ -830,7 +829,11 @@ function getSruct() dom.getElementsByTagName('baseprefs')[0].appendChild(values); var serializer = new XMLSerializer(); - var xml = '' + serializer.serializeToString(dom); + var xml = serializer.serializeToString(dom); + + if (xml.substring(0, 8) !== '' + xml; + } xml.replace('', statuscoll + otherFields + ''); @@ -888,7 +891,6 @@ function view(type) newStr=getSruct(); - console.log(newStr); if($('#txtareaxml').length > 0 && newStr!=null ) { avantModif = newStr; @@ -916,8 +918,13 @@ function view(type) } $(document).ready(function(){ + write_valsug(); + makeRestrict(); + maketextaffich(); + makeEmpty(); + redrawme(); scan(); $("#iddivloading").hide(); }); - \ No newline at end of file + From 67ce16061b58a41c41961bd5aa05c4c0cd500a14 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Wed, 15 Jan 2014 16:49:03 +0100 Subject: [PATCH 4/5] Fix #1658 : Registration list display is broken --- templates/web/admin/user/demand.html.twig | 37 ++++++----------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/templates/web/admin/user/demand.html.twig b/templates/web/admin/user/demand.html.twig index a06bb5935b..ff72e2a381 100644 --- a/templates/web/admin/user/demand.html.twig +++ b/templates/web/admin/user/demand.html.twig @@ -1,21 +1,4 @@