Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-26224

updatenbxmlcontents.php breaks with \xc2\x92

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 5.4.7
    • Fix Version/s: Customer request, 5.4.8
    • Component/s: Legacy stack
    • Labels:
      None

      Description

      This issue happens after the patches from EZP-26058.

      If you have the \xc2\x92 - apostrophe - in your database and execute the updatenbxmlcontents.php command, it will fail because the \xc2\x92 will be rendered as an apostrophe inside an update delimited by two apostrophes.

      Steps to reproduce

      Make sure your content has the text below. The easiest way to do it is to add the lines manually in your database through a already existent XML content:

      <?xml version="1.0" encoding="utf-8"?>
      <section xmlns:image="http://ez.no/namespaces/ezpublish3/image/" xmlns:xhtml="http://ez.no/namespaces/ezpublish3/xhtml/" xmlns:custom="http://ez.no/namespaces/ezpublish3/custom/">
      <paragraph xmlns:tmp="http://ez.no/namespaces/ezpublish3/temporary/"><link xhtml:title="Silence vaut rejet (SVR)" node_id="8691" custom:param="" custom:direction="" custom:identifiant="1" custom:libelle="Silence vaut rejet (SVR) " custom:type="N">Tableau des procédures pour lesquelles le silence gardé par les services de l’’'État sur une demande vaut accord</link></paragraph>
      <paragraph>new&amp;nbsp;article&amp;nbsp;test</paragraph>
      </section>

      Note that the apostrophes here are \xc2\x92 characters. Verify the attached file for more details

      Execute the updatenbxmlcontents script

      php updatenbxmlcontents.php -n

      You will see the following error:
      eZMySQLiDB: Query error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'État sur une demande vaut accord</link></paragraph></li><li><paragraph xmlns:tm' at line 1. Query:

      UPDATE ezcontentobject_attribute SET data_text='<?xml version=\"1.0\" encoding=\"utf-8\"?>
      <section xmlns:image=\"http://ez.no/namespaces/ezpublish3/image/\" xmlns:xhtml=\"http://ez.no/namespaces/ezpublish3/xhtml/\" xmlns:custom=\"http://ez.no/namespaces/ezpublish3/custom/\"><paragraph>La <link url_id=\"21414\" custom:param=\"\" custom:direction=\"\" custom:identifiant=\"1\" custom:libelle=\"http://legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000028183023&amp;amp;fastPos=1&amp;amp;fastReqId=384349886&amp;amp;categorieLien=id&amp;amp;oldAction=rechTexte\" custom:type=\"N\">loi du 12 novembre 2013 habilitant le Gouvernement à simplifier les relations entre l'administration et les citoyens</link> pose le principe selon lequel  le silence gardé par l'administration sur une demande vaut accord. Ces dispositions s'appliquent  depuis le 12 novembre 2014 aux demandes adressées aux administrations de l'État et de ses établissements publics.</paragraph><paragraph>Elles s'appliquent à compter du  12 novembre 2015 aux demandes adressées aux collectivités territoriales, aux organismes de sécurité sociale et aux organismes chargés d'un service public administratif. </paragraph><paragraph>La liste des procédures concernées est reprise dans le tableau dédié à chaque autorité administrative :</paragraph><paragraph xmlns:tmp=\"http://ez.no/namespaces/ezpublish3/temporary/\"><ul><li><paragraph xmlns:tmp=\"http://ez.no/namespaces/ezpublish3/temporary/\"><link xhtml:title=\"Silence vaut rejet (SVR)\" node_id=\"8691\" custom:param=\"\" custom:direction=\"\" custom:identifiant=\"1\" custom:libelle=\"Silence vaut rejet (SVR) \" custom:type=\"N\">Tableau des procédures pour lesquelles le silence gardé par les services de l'État sur une demande vaut accord</link></paragraph></li><li><paragraph xmlns:tmp=\"http://ez.no/namespaces/ezpublish3/temporary/\">Tableau des procédures pour lesquelles le silence gardé par les collectivités territoriales sur une demande vaut accord \[lien à créer\]</paragraph></li><li><paragraph xmlns:tmp=\"http://ez.no/namespaces/ezpublish3/temporary/\">Tableau des procédures pour lesquelles le silence gardé par les organismes de sécurité sociale sur une demande vaut accord \[lien à créer\]</paragraph></li><li><paragraph xmlns:tmp=\"http://ez.no/namespaces/ezpublish3/temporary/\">Tableau des procédures pour lesquelles le silence gardé par les autres organismes chargés d'un service public administratif sur une demande vaut accord \[lien à créer\]</paragraph></li></ul></paragraph><paragraph>Ces listes n'ont pas par elles-mêmes de valeur juridique. Elles sont publiées aux fins d'information du public. Elles recensent les procédures qui n'entrent dans aucune des exceptions prévues par la loi ou par les <link xhtml:title=\"Silence vaut rejet (SVR)\" node_id=\"8691\" custom:param=\"\" custom:direction=\"\" custom:identifiant=\"1\" custom:libelle=\"Silence vaut rejet (SVR) \" custom:type=\"N\">décrets</link> qui prévoient, dans les conditions fixées par la loi, des dérogations au principe du « silence vaut accord ».</paragraph><paragraph>new article test</paragraph></section>' WHERE id='784'

        Issue Links

          Activity

          Show
          Joao Inacio (Inactive) added a comment - Merged in master: https://github.com/ezsystems/ezpublish-legacy/commit/924523eb08afcefeacfb5614b5489b45e135558d
          Hide
          Miguel das Neves Jacinto (Inactive) added a comment -

          QA Approved

          Show
          Miguel das Neves Jacinto (Inactive) added a comment - QA Approved

            People

            • Assignee:
              Unassigned
              Reporter:
              Eduardo Fernandes (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: