Seite 1 von 1
Back-End Probleme nach Update
Verfasst: Do 12. Jan 2006, 09:34
von Hamid
Hallo zusammen,
Nach dem Update von 4.4.4 auf 4.6 (welches fehlerfrei funktionierte), habe ich Probleme im Backend.
Hier vorerst nur zwei Errors:
Beim Öffnen der Dateiverwaltung erscheint im rechten Fenster:
****************
Fatal error: Cannot redeclare array_csort() (previously declared in /home/www/web362/html/contenido/includes/functions.general.php:1156) in /home/www/web362/html/contenido/includes/api/functions.frontend.list.php on line 220
****************
Neuerstellung und löschen von Verzeichnisse funktioniert.
Beim Logout erscheint auf einer neuen Seite:
*****************
Fatal error: Call to undefined function: cinclude() in /home/www/web362/html/contenido/logout.php on line 20
*****************
Das Error-Log zeigt eine Unzahl von Zahlen und Buchstaben und lässt sich nicht löschen
Artikelverwaltung:
Das Home Verzeichnis lässt sich zwar öffnen (sämtliche Kategorien sichtbar), beim Versuch, eine Kategorie zu öffnen, klappt alles wieder zusammen (wieder nur Home sichtbar)
Vielen Dank für Eure Hilfe
Gruss Hamid
Verfasst: Fr 13. Jan 2006, 10:20
von emergence
wurden wirklich alle dateien am server ausgetauscht ?
bei /contenido/includes/api/functions.frontend.list.php on line 220
sollte es keine neue funktionsdefinition von array_csort geben...
ich würd nochmal alle dateien kontrollieren...
Verfasst: Fr 13. Jan 2006, 10:34
von Hamid
Kann ich sämtliche Dateien nochmals hochladen und das Setup ausführen?
Gruss Hamid
Verfasst: Fr 13. Jan 2006, 10:42
von emergence
ich würd mir zuerst aber die dateien am server ansehen...
ansonsten ja (natürlich backup nicht vergessen)
Back-End Probleme nach Update
Verfasst: Fr 13. Jan 2006, 14:46
von Hamid
Nach dem Backup habe ich die ganzen Contenido-Dateien noch einmal hochgeladen und das Setup ausgeführt. Ich kann aber das Back-End immer noch nicht benutzen. Im Error-Log steht:
*************
[13-Jan-2006 14:40:22] PHP Fatal error: Cannot redeclare array_csort() (previously declared in /home/www/web362/html/contenido/includes/functions.general.php:1156) in /home/www/web362/html/contenido/includes/api/functions.frontend.list.php on line 220
*************
Für weitere Hilfe resp. Tipp's bin ich dankbar.
Gruss Hamid
Verfasst: Fr 13. Jan 2006, 15:51
von emergence
wie sieht denn der inhalt der functions.frontend.list.php aus ?
Verfasst: Fr 13. Jan 2006, 17:25
von Hamid
Meine functions.frontend.list.php :
*********************************
Code: Alles auswählen
<?php
/*****************************************
* File : $RCSfile: functions.frontend.list.php,v $
* Project : Contenido
* Descr : Contenido Frontend list
*
* Author : $Author: timo.hummel $
*
* Created : 09.10.2003
* Modified : $Date: 2003/12/05 10:35:05 $
*
* © four for business AG, www.4fb.de
*
* $Id: functions.frontend.list.php,v 1.1.2.2 2003/12/05 10:35:05 timo.hummel Exp $
******************************************/
/**
* Class FrontendList
* Class for scrollable frontend lists
* @author Timo A. Hummel <Timo.Hummel@4fb.de>
* @version 0.1
*/
class FrontendList
{
/**
* Wrap for a single item
* @var string
*/
var $itemwrap;
/**
* Wrap for table start
* @var string
*/
var $startwrap;
/**
* Wrap for table end
* @var string
*/
var $endwrap;
/**
* Data container
* @var array
*/
var $data = Array();
/**
* Number of records displayed per page
* @var string
*/
var $resultsPerPage;
/**
* Start page
* @var string
*/
var $listStart;
/**
* Creates a new FrontendList object.
*
* The placeholder for item wraps are the same as for
* sprintf. See the documentation for sprintf.
*
* Caution: Make sure that percentage signs are written as %%.
*
* @param $startwrap Wrap for the list start
* @param $endwrap Wrap for the list end
* @param $itemwrap Wrap for a single item
*/
function FrontendList ($startwrap, $endwrap, $itemwrap)
{
$this->resultsPerPage = 0;
$this->listStart = 1;
$this->itemwrap = $itemwrap;
$this->startwrap = $startwrap;
$this->endwrap = $endwrap;
}
/**
* Sets data.
*
* Note: This function eats as many parameters as you specify.
*
* Example:
* $obj->setData(0, "foo", "bar");
*
* Make sure that the amount of parameters stays the same for all
* setData calls in a single object.
*
* @param $index Numeric index
* @param ... Additional parameters (data)
*/
function setData ($index)
{
$numargs = func_num_args();
for ($i=1;$i<$numargs;$i++)
{
$this->data[$index][$i] = func_get_arg($i);
}
}
/**
* Sets the number of records per page.
*
* @param $numresults Amount of records per page
*/
function setResultsPerPage ($numresults)
{
$this->resultsPerPage = $numresults;
}
/**
* Sets the starting page number.
*
* @param $startpage Page number on which the list display starts
*/
function setListStart ($startpage)
{
$this->listStart = $startpage;
}
/**
* Returns the current page.
*
* @param $none
* @returns Current page number
*/
function getCurrentPage ()
{
if ($this->resultsPerPage == 0)
{
return 1;
}
return ($this->listStart);
}
/**
* Returns the amount of pages.
*
* @param $none
* @returns Amount of pages
*/
function getNumPages ()
{
return (ceil(count($this->data) / $this->resultsPerPage));
}
/**
* Sorts the list by a given field and a given order.
*
* @param $field Field index
* @param $order Sort order (see php's sort documentation
*/
function sort ($field, $order)
{
$this->data = array_csort($this->data, "$field", $order);
}
/**
* Outputs or optionally returns
*
* @param $return If true, returns the list
*/
function output ($return = false)
{
$output = $this->startwrap;
$currentpage = $this->getCurrentPage();
$itemstart = (($currentpage-1)*$this->resultsPerPage)+1;
if ($this->resultsPerPage == 0)
{
$itemend = count($this->data) - ($itemstart-1);
} else {
$itemend = $currentpage*$this->resultsPerPage;
}
if ($itemend > count($this->data))
{
$itemend = count($this->data);
}
for ($i=$itemstart;$i<$itemend+1;$i++)
{
$items = "";
foreach ($this->data[$i-1] as $key => $value)
{
$items .= ", '".addslashes($value)."'";
}
$execute = '$output .= sprintf($this->itemwrap '.$items.');';
eval($execute);
}
$output = stripslashes($output);
$output .= $this->endwrap;
if ($return == true)
{
return $output;
} else {
echo $output;
}
}
}
function array_csort() { //coded by Ichier2003
$args = func_get_args();
$marray = array_shift($args);
$msortline = "return(array_multisort(";
foreach ($args as $arg) {
$i++;
if (is_string($arg)) {
foreach ($marray as $row) {
$sortarr[$i][] = $row[$arg];
}
} else {
$sortarr[$i] = $arg;
}
$msortline .= "\$sortarr[".$i."],";
}
$msortline .= "\$marray));";
eval($msortline);
return $marray;
}
?>
Gruss Hamid
Verfasst: Fr 13. Jan 2006, 18:20
von emergence
tja diese datei
Code: Alles auswählen
* $Id: functions.frontend.list.php,v 1.1.2.2 2003/12/05 10:35:05 timo.hummel Exp $
ist nicht die selbe die bei der 4.6.4 dabei ist...
richtig wäre
Code: Alles auswählen
* $Id: functions.frontend.list.php,v 1.3 2004/02/02 15:59:30 timo.hummel Exp $
d.h du hast nicht alle dateien der 4.6.4 auf dem server...
korrigier das, dann wird es auch gehen...
Verfasst: Fr 13. Jan 2006, 23:26
von Hamid
Der FTP-Client hat mir tatsächlich einen Streich gespielt und nicht alle Daten hochgeladen. Das ist mir aber erst aufgefallen, als ich jeden Ordner auf dem Server minutiös untersucht hatte. Ich habe dann alle Contenido-Dateien noch einmal (zum x-ten Male) mit einem anderen FTP-Client (WS_FTP Home) hochgeladen. Nach dem Setup lief dann alles wirklich wunschgemäss.
Vielen Dank, emergence, für die kompetente und geduldige Hilfe.
Gruss Hamid