kostenloser Webspace werbefrei: lima-city


Fehlermeldung bei RSS-Feeds

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    tom-moeller

    Kostenloser Webspace von tom-moeller

    tom-moeller hat kostenlosen Webspace.

    Hi,

    so nun brauche ich mal Hilfestellung!
    Ich habe eine Komponente fü Joomla "Feedbingo" installiert mit einem dazugehörigen Plugin "Sourcelink", der die einzelnen Feeds mit dem Hauptartikel verlinkt.

    Dieses Plugin erzeugt folgende Fehlermeldung:
    No valid database connection 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 '' at line 1 SQL=SELECT * from jos_gbf_feeds where article_id=


    Der Fehler muss sich in dieser Zeile des Plugins befinden, weiß aber nicht welcher:
    function getFeedDetail($aid=0)
        {
            $db=JFactory::getDBO();
            $query="SELECT * from #__gbf_feeds where article_id=$aid";
            $db->setQuery($query);
            return $db->loadObject();
    
        }


    Das Plugin funktioniert, aber ich bekomme die Fehlermeldung nicht weg.
    Ich habe das Plugin mal angehängt und den Fehler kann man auch hier ansehen.

    Der Sourcecode des Plugins kann man hier downloaden.

    Grüße Tom

    Beitrag zuletzt geändert: 19.2.2010 15:35:12 von tom-moeller
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. da muss man sich ja anmelden. kannst den sourcekode sonstwie zur verfügng stellen?
  4. Autor dieses Themas

    tom-moeller

    Kostenloser Webspace von tom-moeller

    tom-moeller hat kostenlosen Webspace.

    czibere schrieb:
    da muss man sich ja anmelden. kannst den sourcekode sonstwie zur verfügng stellen?


    Habe dir ne PN geschireben.

    Hier der Code, ist eh nicht viel:
    <?php
    /**
     * Feedbingo Source Link Plugin
     * @author Alex@gobingoo.com
     * @date Jan 2010
     * @version 1.0
     * @package fbsourcelink.php
     * @authorurl www.gobingoo.com
     * @license GNU/GPL ver 3.0
     *
     */
    
    // no direct access
    defined( '_JEXEC' ) or die( 'Restricted access' );
    
    jimport( 'joomla.plugin.plugin' );
    
    /**
     * Feedbingo sourcelink plugin
     *
     * @package		Joomla
     * @subpackage	System
     */
    class  plgContentFbsourcelink extends JPlugin
    {
    	/**
    	 * Constructor
    	 *
    	 * For php4 compatability we must not use the __constructor as a constructor for plugins
    	 * because func_get_args ( void ) returns a copy of all passed arguments NOT references.
    	 * This causes problems with cross-referencing necessary for the observer design pattern.
    	 *
    	 * @access	protected
    	 * @param	object $subject The object to observe
    	 * @param 	array  $config  An array that holds the plugin configuration
    	 * @since	1.0
    	 */
    	function plgContentFbsourcelink(& $subject, $config)
    	{
    		parent::__construct($subject, $config);
    
    		//load the translation
    		$this->loadLanguage( );
    	}
    
    	/**
    	 * Display the tracking code
    	 *
    	 */
    	function onPrepareContent(& $article, & $params, $limitstart)
    	{
    
    		$introlen=strlen($article->introtext);
    		$textlen=strlen($article->text);
    		$fulltext=strlen($article->fulltext);
    
    		$bloglayout=false;
    		if($textlen<=($introlen+$fulltext))
    		{
    			$bloglayout=true;
    		}
    
    
    		if ($bloglayout)
    		{
    			if($this->params->get('intro'))
    			{
    				$feed=self::getFeedDetail($article->id);
    				$linktext=self::formatLink($feed);
    				$article->text=$article->text.$linktext;
    
    			}
    		}
    		else
    		{
    			$feed=self::getFeedDetail($article->id);
    			$linktext=self::formatLink($feed);
    			$article->text=$article->text.$linktext;
    		}
    
    	}
    
    	function formatLink($obj=null)
    	{
    		if(is_null($obj))
    		{
    			return false;
    		}
    
    		$template=$this->params->get('template','{link}');
    		$linkable=$this->params->get('linkable',true);
    
    		$parseval="";
    
    		$link=$obj->sourcelink;
    		$linktext=$obj->sourcelink;
    
    		if($obj->enable_shorturl)
    		{
    			$link=$obj->shorturl;
    			$linktext=$obj->shorturl;
    		}
    
    		if($obj->enable_alt)
    		{
    			$linktext=$obj->sourcelink_alt;
    		}
    
    		if($obj->enable_sourcelink)
    		{
    			if($linkable)
    			{
    				$parseval="<a href='$link'>$linktext</a>";
    			}
    			else
    			{
    				$parseval=$linktext;
    			}
    		}
    		$pattern='/{link}/i';
    
    
    		return preg_replace( $pattern, $parseval, $template);
    
    
    	}
    
    	function getFeedDetail($aid=0)
    	{
    		$db=JFactory::getDBO();
    		$query="SELECT * from #__gbf_feeds where article_id=$aid";
    		$db->setQuery($query);
    		return $db->loadObject();
    
    	}
    }


    VG Tom
  5. ok! das einzig interessante ist der programmteil, wo die klasse 'JFactory' definiert wird. der grund sind die zeilen
    $db->setQuery($query);
    return $db->loadObject();
    (ganz unten) dort wird gezeigt, wie die query erzeugt wird. dann können wir weiter schauen. findest du diesen teil im ganzen prog?
  6. Autor dieses Themas

    tom-moeller

    Kostenloser Webspace von tom-moeller

    tom-moeller hat kostenlosen Webspace.

    czibere schrieb:
    ok! das einzig interessante ist der programmteil, wo die klasse 'JFactory' definiert wird. der grund sind die zeilen
    $db->setQuery($query);
    return $db->loadObject();
    (ganz unten) dort wird gezeigt, wie die query erzeugt wird. dann können wir weiter schauen. findest du diesen teil im ganzen prog?


    Da ist ne Menge Code und in der Komponente selber, habe ich den String nicht gefunden. Das werde ich Morgen angehen. Aber Danke erstmal.

    VG Tom

    Edit: Hier ist die komplette Komponente zum Download.

    Beitrag zuletzt geändert: 19.2.2010 17:53:11 von tom-moeller
  7. tom bevor wir anfangen da gross herumzuwühlen, mir ist noch die idee gekommen in aller herrgots frühe:
    direkt vor der zeile
    return $db->loadObject();
    füge bitte das ein:
    echo "<hr /><h1>db-object:</h1><pre>".print_r ($db->setQuery ($query),true)."</pre>";
    exit ("<pre>".print_r ($db->loadObject (),true));
    dann sehen wir was in dem db-object drinnen ist. es sollte reichen. poste mir dann bitte die ganze ausgabe. von den beiden zeilen.
  8. Autor dieses Themas

    tom-moeller

    Kostenloser Webspace von tom-moeller

    tom-moeller hat kostenlosen Webspace.

    Danke czibere für Deine Hilfe. Ich verwende jetzt ein leistungfähigeres Tool und konnte das Plugin somit deaktivieren.

    Thread can be clodsed!

    Viele Grüße Tom
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!