Seite 1 von 1

Fehler beim Versuch, Seiten zu editieren

Verfasst: Mi 5. Feb 2003, 15:08
von jot
Ich habe contenido 4.2 VV12 installiert. Nun möchte ich eine der Beispiel-Seiten bearbeiten. Über "Content - Seiten" wähle ich eine Seite aus und klicke auf das blaue "T". Dann folgt aber nicht etwa der WYSIWYG-Editor, sondern diese Fehlermeldung:
Warning: Failed opening '/is/htdocs/34996/www.thc2000.de/contenido/contenido/tpl/ ... XT.inc.php' for inclusion (include_path='./:/usr/local/lib/php/') in /is/htdocs/34996/www.thc2000.de/contenido/contenido/inc/ ... nt.inc.php on line 2
Die Datei ist unverändert. Der Code:

Code: Alles auswählen

<?
if ($action == 10) {include($cfgPathContenido.$cfgPathTpl."tplInputField_".$type.".inc.php");}
else {
if ($idcat != 0) {
	$sql = "SELECT idcatside FROM $cfgTab_cat_side WHERE idcat='$idcat' AND idside='$idside'";
	$db->query($sql);
	$db->next_record();
	$idcatside = $db->f("idcatside");
//******************* get idtpl and varstring array *****************
	$sql = "SELECT * FROM $cfgTab_tpl_conf WHERE idcat='$idcat' AND idside='$idside' AND idlang='$lang'";
	$db->query($sql);
	if ($db->next_record()) {				// IF side is configured
		if ($db->f("idtpl") != 0) {		// This could happen if side was configured before but is not configured at the moment
			$idtplconf = $db->f("idtplconf");
			$idtpl = $db->f("idtpl");
			for ($i=1;$i<21;$i++) {
				$a_c[$i] = $db->f("c".$i."");		// 'varstring' is safed in $a_c
			}
		} else {
			$sql = "SELECT * FROM $cfgTab_tpl_conf WHERE idcat='$idcat' AND idside='0' AND idlang='$lang'";
			$db->query($sql);
			if ($db->next_record()) {			// Category is configured
				$idtplconf = $db->f("idtplconf");
				$idtpl = $db->f("idtpl");
				for ($i=1;$i<21;$i++) {
					$a_c[$i] = $db->f("c".$i."");	// 'varstring' is safed in $a_c
				}
			}
		}
	} else {						// ELSE side is not configured, take default from cat
		$sql = "SELECT * FROM $cfgTab_tpl_conf WHERE idcat='$idcat' AND idside='0' AND idlang='$lang'";
		$db->query($sql);
		if ($db->next_record()) {			// Category is configured
			$idtplconf = $db->f("idtplconf");
			$idtpl = $db->f("idtpl");
			for ($i=1;$i<21;$i++) {
				$a_c[$i] = $db->f("c".$i."");	// 'varstring' is safed in $a_c
			}
		} else {					// ELSE Creating code not possible because both lacking configuration for display
			//*************** errormsg in code into the db ******************
			$code = "echo \"<html><body>No code was created for this side in this category.</body><html>\";";
				$sql = "SELECT * FROM $cfgTab_code WHERE idcatside='$idcatside' AND idlang='$lang'";
			$db->query($sql);
			if ($db->next_record()) {
				$sql = "UPDATE $cfgTab_code SET code='$code', idlang='$lang', idclient='$client' WHERE idcatside='$idcatside' AND idlang='$lang'";
				$db->query($sql);
			} else {
				$sql = "INSERT INTO $cfgTab_code (idcatside, code, idlang, idclient) VALUES ('$idcatside', '$code', '$lang', '$client')";
				$db->query($sql);
			}
			return "0601";
		}
	}
//******************* get idlay and idmod array *****************
	$sql = "SELECT * FROM $cfgTab_tpl WHERE idtpl='$idtpl'";
	$db->query($sql);
	$db->next_record();
	$idlay = $db->f("idlay");
		for ($i=0;$i<21;$i++) {
		$a_d[$i] = $db->f("c".$i."");		// 'list of used modules' is safed in $a_d
	}
//****************** get code from layout **********************
	$sql = "SELECT * FROM $cfgTab_lay WHERE idlay='$idlay'";
	$db->query($sql);
	$db->next_record();
	$code = $db->f("code");
	$code = AddSlashes($code);
//****************** create code for all containers ************
	if ($idlay) {
		$tmp_returnstring = tplBrowseLayoutForContainers($idlay);
		$a_container = explode("&",$tmp_returnstring);
		foreach ($a_container as $key=>$value) {
			$sql = "SELECT * FROM $cfgTab_mod WHERE idmod='".$a_d[$value]."'";
			$db->query($sql);
			$db->next_record();
			$output = $db->f("output");
			$output = AddSlashes($output);
			$tmp1 = preg_split("/&/", $a_c[$value]);
			$varstring = array();
			foreach ($tmp1 as $key1=>$value1) {
				$tmp2 = explode("=", $value1);
				foreach ($tmp2 as $key2=>$value2) {
					$varstring["$tmp2[0]"]=$tmp2[1];
				}
			}
				foreach ($varstring as $key3=>$value3) {
				$CiCMS_VALUE = "C".$key3."CMS_VALUE";
				$tmp = urldecode($value3);
				$tmp = str_replace("\'","'",$tmp);    // ' war das einzige Sonderzeichen was mit \ maskiert wurde. !?
				$output  = str_replace("CMS_VALUE[$key3]", $tmp, $output);
			}
				$output = ereg_replace("(CMS_VALUE\[)([0-9]*)(\])", "", $output);
			$code  = str_replace("CMS_CONTAINER[$value]", $output, $code);
		}
	}
			//********Find out what kind of CMS_...[..] are in use *****************
			$sql = "SELECT * FROM $cfgTab_content AS A, $cfgTab_side_lang AS B, $cfgTab_type AS C WHERE A.idtype=C.idtype AND A.idsidelang=B.idsidelang AND B.idside='$idside' AND B.idlang='$lang'";
                         $db->query($sql);
			while ($db->next_record()) {$a_content[$db->f("type")][$db->f("typeid")] = $db->f("value");}
			$sql = "SELECT idsidelang FROM $cfgTab_side_lang WHERE idside='$idside' AND idlang='$lang'";
			$db->query($sql);
			$db->next_record();
			$idsidelang=$db->f("idsidelang");

			//*************** replace all CMS_TAGS[] *********************
			$sql = "SELECT type, code FROM $cfgTab_type";
			$db->query($sql);
    			while ($db->next_record()) {
                         $tmp = preg_match_all("/(".$db->f("type")."\[+\d+\])/", $code, $match);
                         $a_[strtolower($db->f("type"))] = $match[0];
        			$success = array_walk($a_[strtolower($db->f("type"))],'extractNumber');
        			foreach ($a_[strtolower($db->f("type"))] as $val) {
			$edit="true";
                         eval ($db->f("code"));
			$code  = str_replace("".$db->f("type")."[$val]", $tmp, $code);}}
}
//*************** output code ******************
$code = StripSlashes($code);
//echo"------------------------------------------------<br><br>";
//echo $code;
//exit;

eval($code);
}
page_close();
?>
Bin wirklich kein PHP-Experte. Wer kann mir helfen?

Eirklich keine Idee?

Verfasst: Fr 7. Feb 2003, 16:37
von jot
Hat wirklich niemand eine Idee, was hier nicht stimmt?

Verfasst: Fr 7. Feb 2003, 17:37
von idea-tec
es ist ganz simpel:
deine pfadangaben stimmen nicht:
du hast 2x "contenido" in der pfadangabe

Leider daneben getippt

Verfasst: Fr 7. Feb 2003, 22:41
von jot
So einfach ist die Lösung nun auch nicht.

1. habe ich die Datei (und damit auch den Pfad) nicht verändert. Contenido an sich funktioniert ja auch.

2. habe ich contenido unter /contenido/contenido installiert. Diese Angabe im Pfad ist also nicht doppelt, sondern korrekt.

Verfasst: Fr 7. Feb 2003, 22:50
von idea-tec
nichtsdestotrotz ist es fakt, dass er die datei in dem angegebenen pfad nicht findet -> FAILED OPENING!!!
Hieraus lässt sich mit einer 100%igen wahrscheinlichkeit herleiten, dass die Pfade nicht zur ordnerstruktur passen, oder dass die datei keine entsprechenden Rechte besitzt. wobei letzteres eher unwahrscheinlich ist

Es funzt!!!

Verfasst: Sa 8. Feb 2003, 07:38
von jot
:P Danke, Dein zweiter Hinweis hat mich auf die Spur geführt: Es liegt an der Gro/Kleinschreibung im Dateinamen. Ich habe beim FTP-Upload alle Dateinamen in Kleinbuchstaben umwandeln lassen. Das haut auch überall hin, ausser bei einigen wenigen tpl-Dateien. :D