+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Fatal error: Undefined class name 'self' in...

  1. #1
    War schon öfter hier
    Registriert seit
    11.07.2008
    Beiträge
    108
    Bedankte sich
    28
    1 Danksagung in 1 Beitrag

    Standard Fatal error: Undefined class name 'self' in...

    Hallo Leute,
    ich hab joomla1.5 auf den Server geladen. Nach dem ändern der config.php kam folgende Meldung:

    
    Fatal error: Undefined class name 'self' in /home/fe010clu/www/home/plugins/system/autoarchive.php on line 36

    Wenn ich jetzt den editor öffne und in line 36 nachschaue steht da folgendes:

    $newdata = self::dataupdate($ext[0]);

    Ich wäre euch dankbar wenn ihr mir helfen könntet.

    DANKE
    Gruß Stefan

  2. #2
    Gute Seele des Boards Avatar von Indigo66
    Registriert seit
    30.10.2007
    Ort
    München
    Beiträge
    10.687
    Bedankte sich
    338
    Erhielt 3.354 Danksagungen
    in 3.244 Beiträgen

    Standard

    Verwende einen geeigneten Editor wie z.B. notepad++ und speichere die configuration.php in utf8 ohne BOM ab. Siehe dazu die FAQs.

  3. Erhielt Danksagungen von:


  4. #3
    War schon öfter hier
    Registriert seit
    11.07.2008
    Beiträge
    108
    Bedankte sich
    28
    1 Danksagung in 1 Beitrag

    Standard

    HAllo Indigo,
    vielen Dank für deien rasche Antwort!!!
    Hab die Datei ins notepad gezogen und unter Kodierung utf8... abgespeichert.
    das einzige was sich verändert hat ist das diese Zeichen  nicht mehr da sind.

    Kannst du mir noch einen kleinen Tip geben wo in den FAQ´s ich das finden kann?

    Vielen Dank Stefan

  5. #4
    Joomla Guru Avatar von elkuku
    Registriert seit
    14.06.2006
    Ort
    Guayaquil - Südamerika
    Beiträge
    1.689
    Bedankte sich
    74
    Erhielt 517 Danksagungen
    in 397 Beiträgen

    Standard

    was ist denn wohl das system plugin autoarchive ?

    Ich tippe einfach mal ganz frech ins blaue: Plugins sind idR Klassen die instantiiert werden... statt self sollte dann dort eher $this stehen

    Wenn Du ein paar Zeilen Code posten würdest, könnte man das vielleicht auch sehen - ansonsten halt mal den "Hersteller" befragen
    Gruß,
    Nikolai
    Hilf mit: Deutsche Joomla! Dokumentation Help testing: EasyCreator Noch Fragen ? Forum.Joomla-Nafu.de

  6. #5
    War schon öfter hier
    Registriert seit
    11.07.2008
    Beiträge
    108
    Bedankte sich
    28
    1 Danksagung in 1 Beitrag

    Standard

    Hallo elkuku, hier ist mal der Code der autoarchive.php

    <?php
    /**
    * Joomla 1.5 System Plugin, Dominik Gorczyca - mediahof
    */
    defined( '_JEXEC' ) or die( 'Restricted access' );

    jimport( 'joomla****ugin****ugin' );

    class plgSystemAutoArchive extends JPlugin
    {

    function plgSystemAutoArchive( &$subject, $params )
    {
    parent::__construct( $subject, $params );
    }

    function OnAfterRender()
    {
    $plugin =& JPluginHelper::getPlugin('system', 'autoarchive');
    $pluginParams = new JParameter( $plugin->params );
    $kat2kat = $this->createKat2Kat($pluginParams->get('kat2kat', '0'));
    $kat2katextdate = $this->validParam($pluginParams->get('kat2katextenddate', '0'));;
    $kat2archiv = $this->validParam($pluginParams->get('kat2archiv', '0'));
    $k2arcextdate = $this->validParam($pluginParams->get('kat2archivextenddate', '0'));;
    $kat2trash = $this->validParam($pluginParams->get('kat2trash', '0'));
    $kat2nirvana = $this->validParam($pluginParams->get('kat2nirvana', '0'));

    $this->kat2kat($kat2kat, $kat2katextdate);
    $this->kat2other($kat2archiv, '-1', $k2arcextdate);
    $this->kat2other($kat2trash, '-2');
    $this->kat2other($kat2nirvana, '-3');
    }

    function kat2kat($arr, $ext)
    {
    $newdata = self::dataupdate($ext[0]);
    foreach($arr as $kat => $toKat)
    {
    $artAll = self::artRead($kat);
    foreach($artAll as $art)
    {
    self::execQuery("UPDATE #__content SET catid='".$toKat."', state=1, publish_down='".$newdata."' WHERE id='".$art->id."'", 'write');
    }
    }
    }

    function dataupdate($addMonth)
    {
    switch(intval($addMonth))
    {
    case 0: $return = '0000-00-00 00:00:00'; break;
    default: $return = date('Y-m-d H:i:s', mktime(date('H'), date('i'), date('s'),date('m')+intval($addMonth), date('d'), date('Y'))); break;
    }
    return $return;
    }

    function kat2other($arr, $method, $ext = array(0))
    {
    $newdata = self::dataupdate($ext[0]);
    foreach($arr as $kat)
    {
    $artAll = self::artRead($kat);
    switch($method)
    {
    case '-3': $query = "DELETE FROM #__content "; break;
    default: $query = "UPDATE #__content SET state='".$method."', publish_down='".$newdata."' "; break;
    }
    foreach($artAll as $art)
    {
    self::execQuery($query."WHERE id='".$art->id."'", 'write');
    }
    }
    }

    function execQuery($query, $access)
    {
    global $mainframe;
    $db =& JFactory::getDBO();
    $db->setQuery($query);
    switch($access)
    {
    case 'write': $db->query(); break;
    case 'read': return $db->loadObjectList(); break;
    }
    }

    function artRead($kat)
    {
    return self::execQuery("SELECT id FROM #__content WHERE catid='".$kat."' AND publish_down<'".date('Y-m-d H:i:s')."' AND publish_down!='0000-00-00 00:00:00'", 'read');
    }

    function validParam($param, $return = null)
    {
    switch($param)
    {
    default:
    $param = str_replace(array(' ', "\t"), '', trim($param));
    if(strpos($param, ',') !== false)
    {
    $params = explode(',', $param);
    }
    else
    {
    $params = array(strval($param));
    }
    foreach($params as $zahl)
    {
    switch(ctype_digit($zahl))
    {
    case true: $return[] = intval($zahl); break;
    default: break;
    }
    }
    return $return;
    case '0':
    case '':
    return array(0);
    break;
    }
    }

    function createKat2Kat($kat2kat)
    {
    switch($kat2kat)
    {
    default:
    $kat2kat = str_replace(array(' ', "\t"), '', trim($kat2kat));
    preg_match_all('/\((.*?)\)/',$kat2kat, $matches);
    foreach($matches[1] as $reg)
    {
    if(strpos($reg, '=') !== false)
    {
    list($regs, $toKat) = explode('=', $reg);
    if(strpos($regs, ',') !== false)
    {
    $kats = explode(',', $regs);
    }
    else
    {
    $kats = array(strval($regs));
    }
    foreach($kats as $kat)
    {
    switch(ctype_digit($kat))
    {
    case true: $return[$kat] = $toKat; break;
    default: break;
    }
    }
    }
    }
    return $return;
    case '0':
    case '':
    return array(0);
    break;


    ich hoffe das geht so??

  7. #6
    Joomla Guru Avatar von elkuku
    Registriert seit
    14.06.2006
    Ort
    Guayaquil - Südamerika
    Beiträge
    1.689
    Bedankte sich
    74
    Erhielt 517 Danksagungen
    in 397 Beiträgen

    Standard

    Nimm mal bitte das PHP Code Knöpfchen für Deinen Code ...
    Dann fehlen da noch mindestens 3 }'s am Ende..
    Und ansonsten - hat das Ding überhaupt schon einmal funktioniert ? Bist Du "Dominik Gorczyca - mediahof" ?

    Ich hab keine Ahnung was mit dem Plugin ansonsten noch für Schweinereien angestellt werden... scheinbar wird es anderswo auch mal statisch aufgerufen...

    Ich denke aber "Dominik" kann Dir alle diese Fragen am besten beantworten
    Gruß,
    Nikolai
    Hilf mit: Deutsche Joomla! Dokumentation Help testing: EasyCreator Noch Fragen ? Forum.Joomla-Nafu.de

  8. Erhielt Danksagungen von:


  9. #7
    War schon öfter hier
    Registriert seit
    11.07.2008
    Beiträge
    108
    Bedankte sich
    28
    1 Danksagung in 1 Beitrag

    Standard

    Zitat Zitat von elkuku Beitrag anzeigen
    Nimm mal bitte das PHP Code Knöpfchen für Deinen Code ...
    Dann fehlen da noch mindestens 3 }'s am Ende..
    Und ansonsten - hat das Ding überhaupt schon einmal funktioniert ? Bist Du "Dominik Gorczyca - mediahof" ?
    Ich versteh nur Bahnhof!

    Die drei } am Ende hab ich übersehn. Sind aber vorhanden :-)
    Ob das schon funktioniert hat, kann ich nicht sagen, hab ich noch nicht verwendet (zumindest nicht bewusst). Am localhost ist die Seite allerdings ohne Probleme gelaufen.

  10. #8
    War schon öfter hier
    Registriert seit
    11.07.2008
    Beiträge
    108
    Bedankte sich
    28
    1 Danksagung in 1 Beitrag

    Standard

    Danke Jungs!! HAb ein update von diesem autoachiv gemacht, jetzt funktionierts und ich bin online juhuuu!!!

+ Antworten

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein