Joomladay francophone 2018 à Paris 18 et 19 mai

Fatal Error

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

  • Fatal Error

    Bonjour, je viens de réussir -enfin!- a installer mon site joomla en distant. J'ai cependant une erreur que je n'arrive pas a résoudre, il me marque ca:

    Fatal error: Call to undefined method: stdClass->ondisplay() in /homez.301/arclubla/www/libraries/joomla/html/editor.php on line 261

    systématiquement, dès que j'essaye de rentrer dans l'édition d'un composant, d'un article, d'une section... A mon avis ce n'est pas grand chose, car le site fonctionne, je fais des modifs à travers la base de données... Quelqu'un peut-il m'aider? SVP!! Merci bcp

  • #2
    J'oubliai, voici le fichier en question:

    <?php
    /**
    * @version $Id: editor.php 10707 2008-08-21 09:52:47Z eddieajau $
    * @package Joomla.Framework
    * @subpackage HTML
    * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
    * @license GNU/GPL, see LICENSE.php
    * Joomla! is free software. This version may have been modified pursuant
    * to the GNU General Public License, and as distributed it includes or
    * is derivative of works licensed under the GNU General Public License or
    * other free or open source software licenses.
    * See COPYRIGHT.php for copyright notices and details.
    */

    // Check to ensure this file is within the rest of the framework
    defined('JPATH_BASE') or die();

    jimport('joomla.event.dispatcher');

    /**
    * JEditor class to handle WYSIWYG editors
    *
    * @package Joomla.Framework
    * @subpackage HTML
    * @since 1.5
    */
    class JEditor extends JObservable
    {
    /**
    * Editor Plugin object
    *
    * @var object
    */
    var $_editor = null;

    /**
    * Editor Plugin name
    *
    * @var string
    */
    var $_name = null;

    /**
    * constructor
    *
    * @access protected
    * @param string The editor name
    */
    function __construct($editor = 'none')
    {
    $this->_name = $editor;
    }

    /**
    * Returns a reference to a global Editor object, only creating it
    * if it doesn't already exist.
    *
    * This method must be invoked as:
    * <pre> $editor = &JEditor::getInstance([$editor);</pre>
    *
    * @access public
    * @param string $editor The editor to use.
    * @return JEditor The Editor object.
    */
    function &getInstance($editor = 'none')
    {
    static $instances;

    if (!isset ($instances)) {
    $instances = array ();
    }

    $signature = serialize($editor);

    if (empty ($instances[$signature])) {
    $instances[$signature] = new JEditor($editor);
    }

    return $instances[$signature];
    }

    /**
    * Initialize the editor
    */
    function initialise()
    {
    //check if editor is already loaded
    if(is_null(($this->_editor))) {
    return;
    }

    $args['event'] = 'onInit';

    $return = '';
    $results[] = $this->_editor->update($args);
    foreach ($results as $result) {
    if (trim($result)) {
    //$return .= $result;
    $return = $result;
    }
    }

    $document =& JFactory::getDocument();
    $document->addCustomTag($return);
    }

    /**
    * Present a text area
    *
    * @param string The control name
    * @param string The contents of the text area
    * @param string The width of the text area (px or %)
    * @param string The height of the text area (px or %)
    * @param int The number of columns for the textarea
    * @param int The number of rows for the textarea
    * @param boolean True and the editor buttons will be displayed
    * @param array Associative array of editor parameters
    */
    function display($name, $html, $width, $height, $col, $row, $buttons = true, $params = array())
    {
    $this->_loadEditor($params);

    //check if editor is already loaded
    if(is_null(($this->_editor))) {
    return;
    }

    // Backwards compatibility. Width and height should be passed without a semicolon from now on.
    // If editor plugins need a unit like "px" for CSS styling, they need to take care of that
    $width = str_replace( ';', '', $width );
    $height = str_replace( ';', '', $height );

    // Initialize variables
    $return = null;

    $args['name'] = $name;
    $args['content'] = $html;
    $args['width'] = $width;
    $args['height'] = $height;
    $args['col'] = $col;
    $args['row'] = $row;
    $args['buttons'] = $buttons;
    $args['event'] = 'onDisplay';

    $results[] = $this->_editor->update($args);

    foreach ($results as $result)
    {
    if (trim($result)) {
    $return .= $result;
    }
    }
    return $return;
    }

    /**
    * Save the editor content
    *
    * @param string The name of the editor control
    */
    function save( $editor )
    {
    $this->_loadEditor();

    //check if editor is already loaded
    if(is_null(($this->_editor))) {
    return;
    }

    $args[] = $editor;
    $args['event'] = 'onSave';

    $return = '';
    $results[] = $this->_editor->update($args);
    foreach ($results as $result) {
    if (trim($result)) {
    $return .= $result;
    }
    }
    return $return;
    }

    /**
    * Get the editor contents
    *
    * @param string The name of the editor control
    */
    function getContent( $editor )
    {
    $this->_loadEditor();

    $args['name'] = $editor;
    $args['event'] = 'onGetContent';

    $return = '';
    $results[] = $this->_editor->update($args);
    foreach ($results as $result) {
    if (trim($result)) {
    $return .= $result;
    }
    }
    return $return;
    }

    /**
    * Set the editor contents
    *
    * @param string The name of the editor control
    * @param string The contents of the text area
    */
    function setContent( $editor, $html )
    {
    $this->_loadEditor();

    $args['name'] = $editor;
    $args['html'] = $html;
    $args['event'] = 'onSetContent';

    $return = '';
    $results[] = $this->_editor->update($args);
    foreach ($results as $result) {
    if (trim($result)) {
    $return .= $result;
    }
    }
    return $return;
    }

    /**
    * Get the editor buttons
    *
    * @param mixed $buttons Can be boolean or array, if boolean defines if the buttons are displayed, if array defines a list of buttons not to show.
    * @access public
    * @since 1.5
    */
    function getButtons($editor, $buttons = true)
    {
    $result = array();

    if(is_bool($buttons) && !$buttons) {
    return $result;
    }

    // Get plugins
    $plugins = JPluginHelper::getPlugin('editors-xtd');

    foreach($plugins as $plugin)
    {
    if(is_array($buttons) && in_array($plugin->name, $buttons)) {
    continue;
    }

    $isLoaded = JPluginHelper::importPlugin('editors-xtd', $plugin->name, false);

    $className = 'plgButton'.$plugin->name;
    if(class_exists($className)) {
    $plugin = new $className($this, (array)$plugin);
    }

    // Try to authenticate
    $result[] = $plugin->onDisplay($editor);
    }

    return $result;
    }

    /**
    * Load the editor
    *
    * @access private
    * @param array Associative array of editor config paramaters
    * @since 1.5
    */
    function _loadEditor($config = array())
    {
    //check if editor is already loaded
    if(!is_null(($this->_editor))) {
    return;
    }

    jimport('joomla.filesystem.file');

    // Build the path to the needed editor plugin
    $name = JFilterInput::clean($this->_name, 'cmd');
    $path = JPATH_SITE.DS.'plugins'.DS.'editors'.DS.$name.'.ph p';

    if ( ! JFile::exists($path) )
    {
    $message = JText::_('Cannot load the editor');
    JError::raiseWarning( 500, $message );
    return false;
    }

    // Require plugin file
    require_once $path;

    // Get the plugin
    $plugin =& JPluginHelper::getPlugin('editors', $this->_name);
    $params = new JParameter($plugin->params);
    $params->loadArray($config);
    $plugin->params = $params;

    // Build editor plugin classname
    $name = 'plgEditor'.$this->_name;
    if($this->_editor = new $name ($this, (array)$plugin))
    {
    // load plugin parameters
    $this->initialise();
    JPluginHelper::importPlugin('editors-xtd');
    }
    }
    }

    Commentaire


    • #3
      Aidez-moi s'il vous plait! Je ne peux pas administrer mon site...

      Commentaire


      • #4
        Problème réglé

        J'ai trouvé la solution sur cette page:

        http://forum.joomla.fr/showthread.php?t=80830

        Merci de clore ce topic! tkx

        Commentaire

        Annonce

        Réduire
        1 sur 2 < >

        C'est [Réglé] et on n'en parle plus ?

        A quoi ça sert ?
        La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

        Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

        Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
        Comment ajouter la mention [Réglé] à votre discussion ?
        1 - Aller sur votre discussion et éditer votre premier message :


        2 - Cliquer sur la liste déroulante Préfixe.

        3 - Choisir le préfixe [Réglé].


        4 - Et voilà… votre discussion est désormais identifiée comme réglée.

        2 sur 2 < >

        Assistance au forum - Outil de publication d'infos de votre site

        Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

        Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

        Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

        UTILISER À VOS PROPRES RISQUES :
        L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

        Problèmes connus :
        FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

        Installation :

        1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

        Archive zip : https://github.com/AFUJ/FPA/zipball/master

        2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

        3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

        4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

        5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

        6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
        et remplacer www. votresite .com par votre nom de domaine


        Exemples:
        Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
        Télécharger le script fpa-fr.php dans: /public_html/
        Pour executer le script: http://www..com/fpa-fr.php

        Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
        Télécharger le script fpa-fr.php dans: /public_html/cms/
        Pour executer le script: http://www..com/cms/fpa-fr.php

        En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

        Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
        Voir plus
        Voir moins
        Travaille ...
        X