Fatal error: Namespace declaration ........UserField.php on line 9

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Fatal error: Namespace declaration ........UserField.php on line 9

    Bonjour,

    en ouvrant ce matin la plateforme depuis la page d'administration exactement l'éditeur pour rédiger un article et voilà ce que j'ai trouver dans la page de la création d'un article : Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in /home/jejyzdsi/public_html/aidepharmacien.com/libraries/src/Form/Field/UserField.php on line 9

    une page sans couleur avec des cases de l'éditeur mais déborder et sans classement !!

  • #2
    Bonjour,

    Avez-vous regardé ce que contient le fichier cité ci-dessus (dans libraries/src/Form/Field/UserField.php) ?

    Chez moi, en version 3.9.19, il contient en début de fichier

    Code PHP:
    <?php
    /**
    * Joomla! Content Management System
    *
    * Copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved.
    * @license GNU General Public License version 2 or later; see LICENSE.txt
    */

    namespace Joomla\CMS\Form\Field;

    defined('JPATH_PLATFORM') or die;

    use 
    Joomla\CMS\Factory;
    use 
    Joomla\CMS\Form\FormField;
    use 
    Joomla\CMS\User\User;
    ......
    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Bonjour Pascal,

      j'ai la même chose ! sauf que à la fin du fichier je trouve pas la balise qui ferme "?>" est-ce normal ?

      Commentaire


      • #4
        J'ai remplacé par le même fichier d'un autre site et ça fonctionné ! mais comme même je voudrais savoir si ce code contient quelques choses qui a mal fonctionné :

        Code PHP:
        <?php [modo]code supprimé par Pascal[/modo]
        /**
        * Joomla! Content Management System
        *
        * Copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
        * @license GNU General Public License version 2 or later; see LICENSE.txt
        */

        namespace Joomla\CMS\Form\Field;

        defined('JPATH_PLATFORM') or die;

        use 
        Joomla\CMS\Factory;
        use 
        Joomla\CMS\Form\FormField;
        use 
        Joomla\CMS\User\User;

        /**
        * Field to select a user ID from a modal list.
        *
        * @since 1.6
        */
        class UserField extends FormField
        {
        /**
        * The form field type.
        *
        * @var string
        * @since 1.6
        */
        public $type 'User';

        /**
        * Filtering groups
        *
        * @var array
        * @since 3.5
        */
        protected $groups null;

        /**
        * Users to exclude from the list of users
        *
        * @var array
        * @since 3.5
        */
        protected $excluded null;

        /**
        * Layout to render
        *
        * @var string
        * @since 3.5
        */
        protected $layout 'joomla.form.field.user';

        /**
        * Method to attach a JForm object to the field.
        *
        * @param \SimpleXMLElement $element The SimpleXMLElement object representing the `<field>` tag for the form field object.
        * @param mixed $value The form field value to validate.
        * @param string $group The field name group control value. This acts as an array container for the field.
        * For example if the field has name="foo" and the group value is set to "bar" then the
        * full field name would end up being "bar[foo]".
        *
        * @return boolean True on success.
        *
        * @since 3.7.0
        *
        * @see JFormField::setup()
        */
        public function setup(\SimpleXMLElement $element$value$group null)
        {
        $return parent::setup($element$value$group);

        // If user can't access com_users the field should be readonly.
        if ($return && !$this->readonly)
        {
        $this->readonly = !Factory::getUser()->authorise('core.manage''com_users');
        }

        return 
        $return;
        }

        /**
        * Method to get the user field input markup.
        *
        * @return string The field input markup.
        *
        * @since 1.6
        */
        protected function getInput()
        {
        if (empty(
        $this->layout))
        {
        throw new 
        \UnexpectedValueException(sprintf('%s has no layout assigned.'$this->name));
        }

        return 
        $this->getRenderer($this->layout)->render($this->getLayoutData());

        }

        /**
        * Get the data that is going to be passed to the layout
        *
        * @return array
        *
        * @since 3.5
        */
        public function getLayoutData()
        {
        // Get the basic field data
        $data parent::getLayoutData();

        // Initialize value
        $name \JText::_('JLIB_FORM_SELECT_USER');

        if (
        is_numeric($this->value))
        {
        $name User::getInstance($this->value)->name;
        }
        // Handle the special case for "current".
        elseif (strtoupper($this->value) === 'CURRENT')
        {
        // 'CURRENT' is not a reasonable value to be placed in the html
        $current Factory::getUser();

        $this->value $current->id;

        $data['value'] = $this->value;

        $name $current->name;
        }

        // User lookup went wrong, we assign the value instead.
        if ($name === null && $this->value)
        {
        $name $this->value;
        }

        $extraData = array(
        'userName' => $name,
        'groups' => $this->getGroups(),
        'excluded' => $this->getExcluded(),
        );

        return 
        array_merge($data$extraData);
        }

        /**
        * Method to get the filtering groups (null means no filtering)
        *
        * @return mixed Array of filtering groups or null.
        *
        * @since 1.6
        */
        protected function getGroups()
        {
        if (isset(
        $this->element['groups']))
        {
        return 
        explode(','$this->element['groups']);
        }

        return;
        }

        /**
        * Method to get the users to exclude from the list of users
        *
        * @return mixed Array of users to exclude or null to to not exclude them
        *
        * @since 1.6
        */
        protected function getExcluded()
        {
        if (isset(
        $this->element['exclude']))
        {
        return 
        explode(','$this->element['exclude']);
        }

        return;
        }
        }
        Dernière édition par pmleconte à 18/06/2020, 17h41

        Commentaire


        • #5
          Bonjour,

          Si vous regardez les autres fichiers php, c'est tout à fait normal.

          Avec quel éditeur windows/mac avez-vous regardé le source ? personnellement, sur PC, j'utilise Notepad++ https://notepad-plus-plus.org/ car il a la possibilité de voir des caractères cachés (menu affichage, symboles spéciaux et sélectionner "afficher tous les caractères". De plus, il affiche les numéros de lignes.

          Pascal

          If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

          Commentaire


          • #6
            Le code dans votre 1ere ligne est un virus que je viens de supprimer de votre message.

            Cela ne sent pas bien bon...

            Pascal
            Dernière édition par pmleconte à 18/06/2020, 17h43
            If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

            Commentaire


            • #7
              en postant je viens de comprendre ! je pense que je suis chacké....intelligemment il a insérer le code mais dans la partie extreme du fichier de tel façon que tu peux pas l'aperçevoir. j'ai copier coller que j'ai pû savoir dans le forum que j'ai pu savoir que c'est toute une ligne insérer..

              Commentaire


              • #8
                peut-on savoir si l'a modifier quelques chose le fichier configuration.php d'après le ftp il a été modifier aujourd'hui ?

                Commentaire


                • #9
                  Au cas où, on a eu pas mal de discussions sur la façon de nettoyer son site.

                  J'avais essayé de faire une synthèse : https://forum.joomla.fr/forum/joomla...ak-aux-secours

                  En espérant que cela vous aide,

                  Pascal
                  If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

                  Commentaire


                  • #10
                    En fait le site semble fonctionne bien pour le moment. j'ai régler le problème en remplaçant le fichier par un autre qui fonctionne avec joomla aussi. donc pour le moment tout me semble dans l'ordre. sauf que c'est un problème que j'ai déja révéler dans ce forum et personne m'a répondu https://forum.joomla.fr/forum/joomla...es-plateformes. en fait je pense que je suis hacké par un codeur dans l'inde que j'ai contacté pour me faire des modifications dans certains extensions. comme j'ai tardé de lui répondre il me pousse à donner une raison pour l'appelé et non m'asphyxier.

                    Commentaire


                    • #11
                      Je ne pense pas que votre codeur ait mis un virus sur votre site. Nous sommes une petite communauté de développeurs et c'est assez malvenu (et illégal) de détruire volontairement un site.

                      Pour vérifier qu'il n'y a pas d'autres virus, il faut passer par les étapes décrites dans mon message précédent. Un premier coup de Quickscan d'AESecure https://www.aesecure.com/blog/aesecure-quickscan.html devrait déjà vous donner un premier avis sur le nombre de fichiers potentiellement atteints.

                      Quand à votre autre discussion, il n'y a pas eu de réponse car la solution magique n'existe pas : c'est du travail manuel et suivi de sites.

                      Pascal
                      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

                      Commentaire


                      • #12
                        Et comme par hasard ça m'arrive quelques jours après avoir contacter un codeur avec une visite de l'inde en google analytic ! ce n'est pas la première fois Pascal. ils demandent un accès admin et ftp avec un niveau superuser en justifiant que c'est la seule façon de faire les choses.......pour vendre des armes il faut créer la guerre !

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X