Joomladay francophone 2018 à Paris 18 et 19 mai

Probléme : "Parse error: syntax error, unexpected $end

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

  • Probléme : "Parse error: syntax error, unexpected $end

    Bonjour à tous voici mon problème :

    Parse error: syntax error, unexpected $end in /home/xbox/www/administrator/components/com_content/elements/article.php on line 51

    Il affiche ce message d'erreur quand je clique sur home ( menu d'administration >Gestionnaire d'élément de menu: [topmenu]> home )

    Voici le code ligne 50 :
    $link = 'ind
    Je l'ai modifié en $link = 'ind'; ?> car la balise php n'était pas fermé et la virgule inversée non plus . Mais l'erreur persiste !

    Merci de m'aider ou de me rediriger vers un topic résolu du même type

    Pour rappel le code de article.php :
    <?php
    /**
    * @version $Id: article.php 10381 2008-06-01 03:35:53Z pasamio $
    * @package Joomla
    * @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 included in Joomla!
    defined('_JEXEC') or die( 'Restricted access' );

    class JElementArticle extends JElement
    {
    /**
    * Element name
    *
    * @access protected
    * @var string
    */
    var $_name = 'Article';

    function fetchElement($name, $value, &$node, $control_name)
    {
    global $mainframe;

    $db =& JFactory::getDBO();
    $doc =& JFactory::getDocument();
    $template = $mainframe->getTemplate();
    $fieldName = $control_name.'['.$name.']';
    $article =& JTable::getInstance('content');
    if ($value) {
    $article->load($value);
    } else {
    $article->title = JText::_('Select an Article');
    }

    $js = "
    function jSelectArticle(id, title, object) {
    document.getElementById(object + '_id').value = id;
    document.getElementById(object + '_name').value = title;
    document.getElementById('sbox-window').close();
    }";
    $doc->addScriptDeclaration($js);

    $link = 'ind';
    ?>

  • #2
    Bonjour,

    il te manque les '}' de fin pour la fonction et la classe.

    Code:
    $link = 'ind';
    	}
    }
    [edit]

    En regardant de plus près article.php, on trouve ceci à la fin :

    Code:
    		$link = 'index.php?option=com_content&amp;task=element&amp;tmpl=component&amp;object='.$name;
    
    		JHTML::_('behavior.modal', 'a.modal');
    		$html = "\n".'<div style="float: left;"><input style="background: #ffffff;" type="text" id="'.$name.'_name" value="'.htmlspecialchars($article->title, ENT_QUOTES, 'UTF-8').'" disabled="disabled" /></div>';
    //		$html .= "\n &nbsp; <input class=\"inputbox modal-button\" type=\"button\" value=\"".JText::_('Select')."\" />";
    		$html .= '<div class="button2-left"><div class="blank"><a class="modal" title="'.JText::_('Select an Article').'"  href="'.$link.'" rel="{handler: \'iframe\', size: {x: 650, y: 375}}">'.JText::_('Select').'</a></div></div>'."\n";
    		$html .= "\n".'<input type="hidden" id="'.$name.'_id" name="'.$fieldName.'" value="'.(int)$value.'" />';
    
    		return $html;
    	}
    }
    Dernière édition par dunum à 11/12/2008, 17h55

    Commentaire


    • #3
      Merci ! J'essaye !

      Commentaire


      • #4
        Problème de parse error

        Bonjour,

        Je viens d'installer un plugin bonckolen (mur d'image cooliris) que j'ai réussi à intégrer sans soucis sur un site que j'ai installer en local.

        En revanche quand je souhaite l'installer de la même facon sur mes sites hébergés j'ai un message parse error m'indiquant que justement le "{" n'est pas ou mal reconnu...

        Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homez.22/galerievd/www/plugins/content/plgBonckoLen.php on line 9

        Je ne connais pas grand chose au développement php donc si quelqu'un pouvais m'aider ce serait sympa.

        suis sous joomla 1.5.8 php 5

        le php du plugin est le suivant:

        <?php
        defined( '_JEXEC' ) or die( 'Restricted access' );

        define('_BONCKOLEn_JVERSION','<b>Error</b>: JoomlaWorks "BockoLen (j!1.5)" Plugin functions only under Joomla! 1.5');

        // Import library dependencies
        jimport('joomla.event.plugin');
        class rssItem{
        private $title;
        private $guid;
        private $link;
        private $thumbnail;
        private $content;
        private $mediaUrl;
        private $mediaType;
        private $used;
        function rssItem( $mediaPath,$mediaUrl,$media,$playIco ){
        $this->used=FALSE;
        $vowels = array(".", "_", "-", "jpg","flv", "gif", "JPG", "GIF","FLV");
        $this->title ='<title>'. str_replace($vowels, " ", $media).'</title>';
        $this->guid='<guid>'.md5($mediaPath.$media).'</guid>';
        $this->link='<link>'.$mediaUrl."/".$media.'</link>';
        if(substr(strtolower($media),-3) == 'flv'){
        $this->mediaType="video";
        $this->thumbnail='<media:thumbnail url="'.$playIco.'"/>';
        $this->content='<media:content type="video/x-flv" url="'.$mediaUrl."/".$media.'"/>';
        }else{
        $this->thumbnail='<media:thumbnail url="'.$mediaUrl."/".$media.'"/>';
        $this->content='<media:content url="'.$mediaUrl."/".$media.'"/>';
        $this->mediaType="img";
        }
        $this->mediaUrl=$mediaUrl."/".$media;

        }
        function getMediaUrl(){
        return $this->mediaUrl;
        }
        function getTitle(){
        return $this->title;
        }
        function getGuid(){
        return $this->guid;
        }
        function getLink(){
        return $this->link;
        }
        function getThumbnail(){
        return $this->thumbnail;
        }
        function getContent(){
        return $this->content;
        }
        function getMediaType(){
        return $this->MediaType;
        }
        function isUsed(){
        return $this->used;
        }
        function setUsed($bool){
        $this->used=$bool;
        }
        function isVideo(){
        return $this->MediaType=="video" ;
        }

        }
        class plgContentplgBonckoLen extends JPlugin
        {
        private $widthTumb = 200;
        private $heightTumb = 0;
        private $rootfolder = '/images/stories';
        private $howmanythumbs = 1;
        private $msg = 'Click to open gallery ';
        private $imgText = 'Click to open gallery';
        private $displaycaption = 1;
        private $resetRss= 1;
        private $logo='';
        private $mosConfig_absolute_path = '';
        private $mosConfig_live_site ='';
        private $rssFileName='boncko';
        private $playIco='/plugins/content/BonckoLen/play.jpg';
        private $random=TRUE;

        function plgContentplgBonckoLen( &$subject )
        {

        parent::__construct( $subject );
        // load plugin parameters
        //echo 'Costruttore';
        $this->_plugin = JPluginHelper::getPlugin( 'content', 'plgBonckoLen' );
        $this->_params = new JParameter( $this->_plugin->params );
        $this->mosConfig_absolute_path = JPATH_SITE;
        $this->mosConfig_live_site = JURI :: base();

        }

        function onPrepareContent(&$row, &$params, $limitstart) {
        // just startup
        $regex='#{boncko}(.*?){/boncko}#s';
        //echo 'just startup';
        $plugin =& JPluginHelper::getPlugin('content', 'plgBonckoLen');
        $param = new JParameter( $plugin->params );

        if(substr($this->mosConfig_live_site, -1)=="/") $this->mosConfig_live_site = substr($this->mosConfig_live_site, 0, -1);
        if(substr($this->mosConfig_live_site, -1)=="/") $this->mosConfig_live_site = substr($this->mosConfig_live_site, 0, -1);


        $this->widthTumb = $param->get('th_width', 200);
        $this->heightTumb = $param->get('th_height', 0);
        $this->rootfolder = $param->get('rootfolder','');
        $this->howmanythumbs = $param->get('th_numb',1);
        $this->msg = $param->get('star_text','Click to open gallery ');
        $this->imgText = $param->get('clickopen','Click to open gallery');
        $this->displaycaption = $param->get('displaycaption',1);
        $this->resetRss= $param->get('resetRss',1);
        $this->logo=$param->get('logo',$mosConfig_live_site);
        $this->playIco=$param->get('playico','/plugins/content/BonckoLen/play.jpg');
        $this->random=($param->get('random','0')=='1');

        // Version check
        $version = new JVersion();
        if( $version->PRODUCT=="Joomla!" && $version->RELEASE!="1.5") { echo '<div class="message">'._BONCKOLEN_JVERSION.'</div>'; }
        $row->text=preg_replace_callback($regex,array($this, 'bosMosBonckoLen_replacer'),$row->text);
        }

        function bosMosBonckoLen_replacer(&$matches){
        global $mainframe;

        // Parameters
        $_temp=@$matches[1];
        $_params = explode("|",$_temp);
        $this->rssFileName.=md5($_temp).".rss";
        $rssPath=$this->mosConfig_absolute_path.$this->rootfolder.'/'.$this->rssFileName;
        $rssUrl=$this->mosConfig_live_site.$this->rootfolder.'/'.$this->rssFileName;

        unset($images);
        $noimage=0;
        foreach($_params as $dir){
        $imagesDir= $this->rootfolder.$dir;
        if(substr($imagesDir, -1)=="/") $imagesDir= substr($imagesDir, 0, -1);

        $imgDir=$this->mosConfig_absolute_path.$imagesDir;
        $imgUrl=$this->mosConfig_live_site.$imagesDir;
        if (!is_dir($imgDir)){
        return "<br>Dir: ".$imgDir." inesistente<br>";
        }
        if ($dh = opendir($imgDir)) {
        while (($f = readdir($dh)) !== false) {
        if((substr(strtolower($f),-3) == 'jpg') || (substr(strtolower($f),-3) == 'gif') || (substr(strtolower($f),-3) == 'png')|| (substr(strtolower($f),-3) == 'flv')) {
        $noimage++;
        $images[] = new rssItem($imgDir,$imgUrl,$f,$this->playIco);
        //$bonckoLen.="<br>".$f;
        }
        }
        closedir($dh);
        }
        }
        if($noimage < 1){
        return "<br>Dir: ".$imgDir."non contiene img<br>";
        }
        else{
        if (!file_exists($rssPath) || $this->resetRss) {
        //creazione file rss
        $bonckoLenheader = '
        <!-- JW "BonckoLen" Plugin (v1.2) added -->
        <link rel="alternate" href="'.$rssUrl.'" type="application/rss+xml" />
        <!-- JW "BonckoLen" Plugin (v1.2) added -->';
        $mainframe->addCustomHeadTag($bonckoLenheader);
        $bonckoLen.="<!--";
        $rssText='<?xml version="1.0" encoding="utf-8" standalone="yes"?>
        <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss" xmlns:atom="http://www.w3.org/2005/Atom">
        <channel>
        <atom:icon>'.$this->logo.'</atom:icon>
        ';
        for($a = 0;$a<$noimage;$a++) {
        $rssText.='
        <item>';
        if($this->displaycaption){
        $rssText.=$images[$a]->getTitle().'
        ';
        }
        $rssText.=$images[$a]->getGuid().'
        '.$images[$a]->getLink().'
        '.$images[$a]->getThumbnail().'
        '.$images[$a]->getContent().'
        </item>';
        $bonckoLen.='<img src="'.$images[$a]->getMediaUrl().'">';
        }
        $bonckoLen.='-->
        ';
        $rssText.='
        </channel>
        </rss>';

        $file_handle = fopen($rssPath, "w");
        fwrite($file_handle, $rssText);
        fclose($file_handle);
        }
        //aggiunta javascript header
        // add to the document head
        static $BonckoLenAdded=0;
        //print "$BonckoLenAdded ".$BonckoLenAdded;
        if(!$BonckoLenAdded) {
        $BonckoLenAdded=1;
        $bonckoLenheader = '
        <!-- JW "BonckoLen" Plugin (v1.2) starts here -->
        <script type="text/javascript" src="'.$this->mosConfig_live_site.'/plugins/content/BonckoLen/piclens.js"></script>
        <!-- JW "BonckoLen" Plugin (v1.2) ends here -->';
        $mainframe->addCustomHeadTag($bonckoLenheader);
        }
        //inserimento img e link
        $bonckoLen.="
        ";
        if($align) $bonckoLen.="<center>";
        $bonckoLen.="
        <a href='javascript:PicLensLite.start({feedUrl:".'"'. $rssUrl.'"})'."'>"
        .$this->msg;
        for($a = 0;$a<min($noimage,$this->howmanythumbs);$a++) {
        if($this->random) {

        $ind=rand(0,$noimage-1);
        print "rand".$ind;
        }
        else{
        $ind=$a;
        }
        $bonckoLen.="
        <br><img src='".$images[$ind]->getMediaUrl()."' alt='".$this->imgText."' title='".$this->imgText."' ";
        if($this->widthTumb>0){
        $bonckoLen.=" width='".$this->widthTumb."px' ";
        }
        if($this->heightTumb>0){
        $bonckoLen.=" height='".$this->heightTumb."px' ";
        }
        $bonckoLen.=">";
        }
        $bonckoLen.="
        </a>
        ";
        /* for($a = 0;$a<min($noimage,$this->howmanythumbs);$a++) {

        $bonckoLen.="
        <br><a href='".$images[$ind]->getMediaUrl()."' ></a>";
        }*/
        if($align) $bonckoLen.="</center>";

        }
        return $bonckoLen;

        }
        }
        ?>

        Je vous remercie de votre aide.

        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