Seite 1 von 1

[gelöst] Cannot redeclare conmakearticleindex() ...

Verfasst: Di 10. Okt 2006, 13:51
von rethus
Also vorab, ich habe hier jeden Artikel mehrfach durchgelesen, der mit diesem Thema zu tun hat, was mich leider auch nicht weiter gebracht hat.

Ich erhalte diese Fehlermeldung immer wenn ich im Bearbeitungsmodus eines Artikels auf "Headline", "Save" oder "Text HTML" klicke.

Fatal error: Cannot redeclare conmakearticleindex() (previously declared in /var/www/vhosts/xxx.de/xxx/contenido/includes/functions.con.php:624) in /var/www/vhosts/xxx.de/xxx/contenido/includes/functions.con.php on line 624
Die Änderungen in der Datei include.con_editcontent.php hab ich durchgeführt, so dass die Funktion folgendermaßen aufgerufen wird:

Code: Alles auswählen

if ( isset($idcat) ) {

        if( $action == 20 || $action == 10 ) {

            if( $data != "" ) {

                $data = explode("||", substr($data, 0, -2));

                foreach($data as $value){

                    $value = explode("|", $value);

                    if ( $value[3] == "%$%EMPTY%$%" ){
                        $value[3] = "";
                    } else {
                        $value[3] = str_replace("%$%SEPERATOR%$%", "|", $value[3]);
                    }

                    conSaveContentEntry($value[0], "CMS_".$value[1], $value[2], $value[3]);
                    //echo "conSaveContentEntry({$value[0]}, CMS_{$value[1]}, {$value[2]}, value)<br>\n";
                }

                // restore orginal values
                $data = $_REQUEST['data'];
                $value = $_REQUEST['value'];

                conGenerateCodeForArtInAllCategories($idart);
                conMakeArticleIndex ( $idart );

            }
        }
wobei die Fehlermeldung selbst erscheint, wenn ich die Zeile :

Code: Alles auswählen

conMakeArticleIndex ( $idart );
auskommentiere....

Die passende Funktion zu dem Aufruf habe ich natürlich in die Datei functions.con.php eingepflegt:

Code: Alles auswählen

/**
 * generate index of article content
 *
 * added by stese
 * removed from function conSaveContentEntry  before
 * Touch the article to update last modified date
 *
 * @see conSaveContentEntry
 * @param integer $idart
 */
function conMakeArticleIndex ( $idart ) {
   global $db, $auth, $cfg, $cfgClient, $client, $lang, $_cecRegistry;
   # generate index of article content
   $oIndex = new Index($db);
   $aOptions = array("img", "link", "linktarget", "swf"); // cms types to be excluded from indexing
   # indexing an article depends on the complete content with all content types, i.e it can not by differentiated by specific content types.
   # Therefore one must fetch the complete content arrray.

   $sql = "SELECT idartlang FROM ".$cfg["tab"]["art_lang"]." WHERE idart = ".$idart." AND idlang = ".$lang." ";
   $db->query($sql);
   if ($db->next_record())
   {
      $aContent = conGetContentFromArticle($db->f('idartlang'));
      $oIndex->start($idart, $aContent, 'auto', $aOptions);
   }
}

    /* Touch the article to update last modified date */
    $lastmodified = date("Y-m-d H:i:s");

    $sql = "UPDATE
                    ".$cfg["tab"]["art_lang"]."
                        SET
                    lastmodified = '$lastmodified',
                    modifiedby = '$author'
                        WHERE
                    idartlang='$idartlang'";
        $db->query($sql);

}
Hat jemand einen Tip woran das liegen kann?

PS:Hab auch noch ne andere Domain mit Contenido auf dem gleichen Server Installiert, da besteht das Problem nicht...

Verfasst: Di 10. Okt 2006, 13:53
von HerrB
Welche Contenido-Version?

Gruß
HerrB

Verfasst: Di 10. Okt 2006, 14:21
von rethus
Oh, sorry... hab ich vergessen....

Ich nutze 4.6.8 mit dem Fix3 aus dem Forum hier...

Verfasst: Di 10. Okt 2006, 14:22
von HerrB
Falls Du eine Contenido-Version kleiner als 4.6.15 einsetzt, solltest du auf die neue Version 4.6.15 updaten.

Gruß
HerrB

Verfasst: Di 10. Okt 2006, 14:43
von rethus
Wow, ist ja wunderbar.... als ich gestern reingeschaut hab gabs die noch nicht :-)

Toll, werde mich direkt mal dran setzen...

Vorab um Probleme zu vermeiden: Wie gehe ich beim Update am besten vor?

Verfasst: Di 10. Okt 2006, 14:45
von HerrB
Siehe Ankündigungen hier im Forum "Contenido 4.6.15 out now".

Gruß
HerrB

Verfasst: Di 10. Okt 2006, 14:48
von rethus
danke... schau ich direkt rein

Verfasst: Di 10. Okt 2006, 15:33
von rethus
Schöne ausführliche Anleitung hast du da, aber kannst du das folgende näher beschreiben?
- anschließend für jedes Mandanten-Verzeichnis die config.php
anzupassen und hochzuladen (-> load_lang, load_client)
und schließlich das Setup mit der Option "Upgrade" auszuführen.

Was genau bedeutet das

Code: Alles auswählen

die config.php
anzupassen und hochzuladen (-> load_lang, load_client)
Und wie geht das, wenn man das Upgrade ausführen will mit der Datenbank.... muss ich da ein anderes Tabellenpräfix übergeben, oder dass, auf dem auch die alte DB lief....

Und warum ließt er die DB-Config nicht einfach ein? Oder macht er das normalerweise, und ich habe nur etwas vergessen??

Verfasst: Di 10. Okt 2006, 15:44
von HerrB
Sieh Dir die config.php im Mandanten-Verzeichnis an... (nicht in contenido/includes/...).

Gruß
HerrB

Verfasst: Di 10. Okt 2006, 15:48
von rethus
Also, ich habe jetzt die config.php aus dem contenido/include-Verzeichnis in das neue contenido/includes-Verzeichnis kopiert, womit ich jetzt die DB-Einstellungen bei dem Klick auf Upgrade automatisch in den Feldern habe.

Im Mandantenverzeichnis (/cms) ist die config.php ja nur ganz kurz:

Code: Alles auswählen

<?php

$contenido_path = "../contenido/";

$load_lang = "1";
$load_client = "1";

/* Various debugging options */
$frontend_debug["container_display"] = false;
$frontend_debug["module_display"] = false;
$frontend_debug["module_timing"] = false;
$frontend_debug["module_timing_summary"] = false;

/* Set to 1 to brute-force module regeneration */
$force = 0;

?>
Aber du meinst bestimmt, das man diese kopieren sollte, damit man die Variablen load_lang und load_client richtig gesetzt hat, oder?

Wofür sind denn die? load_lang ist sicherlich die ID der Sprache, aber was ist load_client?

Verfasst: Di 10. Okt 2006, 16:25
von mvf
rethus hat geschrieben:aber was ist load_client?
client = mandant

Verfasst: Di 10. Okt 2006, 17:22
von rethus
Vielen Dank,
das Upgrade war erfolgreich, der beschriebene Fehler ist auch verschwunden...

Bedanke mich recht herzlich...

.... der Tread kann geschlossen werden...