Modul einbauen Error 501?

BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Modul einbauen Error 501?

Beitrag von BIG-BEN »

HY
ich wollte nen neues Modul einabuen aber da kommt jetzt immer die Meldung Error 501. Ich denke mal da is nen ordner der noch nich genug rechte hat oder? Welchen ordner muss ich da noch welche rechte geben?

MFG Benny
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Re: Modul einbauen Error 501?

Beitrag von emergence »

BIG-BEN hat geschrieben:ich wollte nen neues Modul einabuen aber da kommt jetzt immer die Meldung Error 501.
ins errorlog.txt schauen... falls da nicht drinnen steht
-> provider fragen warum da ein error 501 kommt...
BIG-BEN hat geschrieben:Ich denke mal da is nen ordner der noch nich genug rechte hat oder?
die ordner sollten in der readme.txt beschrieben sein...
ohne eine fehlermeldung zu kennen, kann man nicht sagen ob es daran liegt...

contenido version ?
server umgebung ?
php version ?
irgendwelche server eigenheiten seitens provider ?
*** make your own tools (wishlist :: thx)
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

Also es kommt diese meldung:

Code: Alles auswählen

Anfrage nicht ausführbar!

Die vom Browser angeforderte Aktion wird vom Server nicht unterstützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 501
Es handelt sich um Contenido 4.8.8.
und läuft soweit ich dat sehen kann auf einem Apache Server

MySQL - 5.0.51a-3ubuntu5.1

phpMyAdmin - 2.8.1-Debian-1~dapper1

hilft dat weiter?

Wo find ich die error.txt?

MFG Benny
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

webmaster == provider
phpmyadmin version != php version

errorlog.txt
-> contenido/logs/errorlog.txt
auch im backend im administrationsbereich zu finden...
dort findet man auch die info welche php version du einsetzt...
*** make your own tools (wishlist :: thx)
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

hy also im Error log steht das hier:

Code: Alles auswählen

[18-Sep-2008 19:44:14] /contenido/main.php?area=user&frame=2&contenido=99b0cdf4fcac292f3537646ff0faf524 MySQL error 1062: Duplicate entry '99b0cdf4fcac292f3537646ff0faf524' for key 1
insert into con_phplib_active_sessions ( sid, name, val, changed ) values ('99b0cdf4fcac292f3537646ff0faf524', 'contenido', ...M2Jzsg', '20080918194414')
[18-Sep-2008 19:44:14] /contenido/main.php?area=user&frame=2&contenido=99b0cdf4fcac292f3537646ff0faf524 Session: freeze() failed.
[18-Sep-2008 20:19:55] PHP Warning:  mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied in /var/www/web566/html/contenido/classes/class.version.php on line 319
[18-Sep-2008 20:19:55] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 320
[18-Sep-2008 20:19:55] PHP Warning:  fopen(/var/www/web566/html/cms/version/css/1/1_1221761995.xml) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 323
[18-Sep-2008 20:19:55] PHP Warning:  fputs(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 325
[18-Sep-2008 20:19:55] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 326
[18-Sep-2008 20:20:28] PHP Warning:  mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied in /var/www/web566/html/contenido/classes/class.version.php on line 319
[18-Sep-2008 20:20:28] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 320
[18-Sep-2008 20:20:28] PHP Warning:  fopen(/var/www/web566/html/cms/version/css/1/1_1221762028.xml) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 323
[18-Sep-2008 20:20:28] PHP Warning:  fputs(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 325
[18-Sep-2008 20:20:28] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 326
[18-Sep-2008 20:21:34] PHP Warning:  mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied in /var/www/web566/html/contenido/classes/class.version.php on line 319
[18-Sep-2008 20:21:34] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 320
[18-Sep-2008 20:21:34] PHP Warning:  fopen(/var/www/web566/html/cms/version/css/1/1_1221762094.xml) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 323
[18-Sep-2008 20:21:34] PHP Warning:  fputs(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 325
[18-Sep-2008 20:21:34] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 326
[18-Sep-2008 20:22:25] PHP Warning:  mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied in /var/www/web566/html/contenido/classes/class.version.php on line 319
[18-Sep-2008 20:22:25] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 320
[18-Sep-2008 20:22:25] PHP Warning:  fopen(/var/www/web566/html/cms/version/css/1/1_1221762145.xml) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 323
[18-Sep-2008 20:22:25] PHP Warning:  fputs(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 325
[18-Sep-2008 20:22:25] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 326
[18-Sep-2008 20:22:57] PHP Warning:  mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied in /var/www/web566/html/contenido/classes/class.version.php on line 319
[18-Sep-2008 20:22:57] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 320
[18-Sep-2008 20:22:57] PHP Warning:  fopen(/var/www/web566/html/cms/version/css/1/1_1221762177.xml) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 323
[18-Sep-2008 20:22:57] PHP Warning:  fputs(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 325
[18-Sep-2008 20:22:57] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 326
[20-Sep-2008 19:46:29] PHP Warning:  mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied in /var/www/web566/html/contenido/classes/class.version.php on line 319
[20-Sep-2008 19:46:29] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 320
[20-Sep-2008 19:46:29] PHP Warning:  fopen(/var/www/web566/html/cms/version/css/1/1_1221932789.xml) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /var/www/web566/html/contenido/classes/class.version.php on line 323
[20-Sep-2008 19:46:29] PHP Warning:  fputs(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 325
[20-Sep-2008 19:46:29] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/web566/html/contenido/classes/class.version.php on line 326
is irgendwie sehr viel oder? :cry:

Installierte PHP-Version 5.2.4-2ubuntu5.3

Hoffe es hilft.

MFG Benny
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

naja ein datum wo der fehler auftrat wäre hilfreich...
so hilft das leider nicht viel...

-> provider fragen...
*** make your own tools (wishlist :: thx)
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

heute trat eigentlich der fehler das erstmal auf und was soll ich den profider fragen weil wenn ich da was speziell frage wieso bei continido das nich geht dann kommt wieder die nachricht zu Software Drittanbieter können wir keine Stellung beziehen

MFG Benny
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hey, ich gebe auch keinen support für fremd provider :motz:

die frage ist ganz einfach

"bidde ich hab da einen fehler 501 und da steht ich soll mich an sie wenden... " (es steht ja wirklich in der fehlermeldung)

das kann man dann natürlich noch ausschmücken:
"der fehler trat um dieser und jener uhrzeit auf"...
"ich hab ein formular abgesendet"
...

"da sollte es ein server fehler protokoll geben, dass erklärt warum es einen fehler 501 gab"
...

jetzt musst du ihn nur noch fragen...

wenn man das höflich genug tut, sollte doch was konstruktives seitens provider zurückkommen... falls nicht... -> neuen provider suchen...
*** make your own tools (wishlist :: thx)
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

okay DANKE für deine hilfe :wink:

kannst du mir vielleicht noch hier helfen weil da schreibt irgendwie keiner :cry: http://forum.contenido.org/viewtopic.php?t=22624 wär echt supi!

MFG Benny
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

sorry, nein
bei html und css sachen mag ich nicht helfen...
*** make your own tools (wishlist :: thx)
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

mmh sicher das es daran liegt weil ich hab najezu den selben quelltext bei ner anderen seite und da passiert das nich der einzige unterschied is das es da Contenido 4.6.15 is.

MFG Benny
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

hy hab ne rückmeldung vom Provider und weiß nich was ich jetzt machen soll :cry:

Sehr geehrte(r) Kunde,

bitte haben Sie Verständnis, das wir Ihnen keine Fragen bezüglich
Fremdsoftware beantworten können.

Wenden Sie sich bitte an den Hersteller der von Ihnen verwendeten Software.
Sofern Sie einen Fehler gemeldet haben und dieser nachweisbar bei uns liegt,
bitten wir um eine detailierte Beschreibung der Fehlerursache und was der
Hersteller Ihnen als L=C3=B6sung angab.
Sofern es im Rahmen unseres Sicherheitskonzeptes möglich ist, können wir für
Sie, zum Preis von 15 Min für 25 Euro Brutto, die vom Hersteller empfohl=
enen
änderungen durchführen.

Bitte haben Sie Verständnis dafür, das wir unsere Server so betreiben, das dem
Großteil aller Kunden gedient ist, und abweichende Konfigurationen ein
mögliches Sicherheitsrisiko und Arbeitsaufwand für unsere Adminis=
tratoren
darstellen und wir derartige Arbeiten nicht umsonst für Sie durchführen
können.

Mit freundlichen Grüßen,
Wat soll ich jetzt machen :cry:

MFG Benny
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

BIG-BEN hat geschrieben:hy hab ne rückmeldung vom Provider und weiß nich was ich jetzt machen soll :cry:
Ich würde sagen: Provider wechseln ...
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

mmh hab ich aber erst neu da angemeldet und erst die 40€ für das jahr bezahlt also geht das ja nich so einfach weil sonst sind waren ja die 40€ für umsonst.gibs da nich noch ne andere möglichkeit irgendwie die module direkt im phpmyadmin einbinden oder so? würde da gerne jetzt erstmal bleiben, auch wenn da so viel scheiße is aber hab mich da halt erst jetzt angemeldet und darum wär es blöd jetzt wieder woanders hinzugehen find ich.

und laut der beschreibung des webspace laufen auch die CMS:
Mambo, Joomla, Typo3 und drupal die ich allerdings alle nich kenne,
darum bin ich eigentlich davon ausgegangen das contenido da auch läuft :cry:

MFG Benny
BIG-BEN
Beiträge: 190
Registriert: Do 18. Okt 2007, 09:47
Kontaktdaten:

Beitrag von BIG-BEN »

so hatte jetzt testweise mal die 4.6.24 installiert und da war das selbe Problem. Dann is mir aber eingefallen das ich ja auch die xml datein importieren kann und damit gings komischerweise.

So hab gedacht dann kann ich das ja jetzt auch bei der neun 4.8.8 so machen aber da passiert irgendwie nix ich klicke auf importieren aus datei und wähle die datei aus dann läd er auch das mitlere feld und die modulliste links neu aber das modul steht trotzdem nich da woran kann das jetzt schon wieder liegen? ich bin hier langsam am verzweifeln :-(

und bei der 4.6.24 gibs jetzt auch wieder nen neues Problem.
unzwar kann ich irgendwie nich alle module über importieren einbinden.

Z.B. kann ich dieses Modul einbinden:
Gästebuch Ausgabe:

Code: Alles auswählen

Input:
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :	    vpGuestbook 1.9 - Ausgabe
* Author      :     Ingo van Peeren
* Copyright   :     Ingo van Peeren (ingo@van-peeren.de)
* Created     :     2005-03-14
* Modified    :     2006-01-16
************************************************/

$cfg["tab"]["vpguestbook"] = $cfg['sql']['sqlprefix']."_vpguestbook";
$db = new DB_Contenido;
$sql = "CREATE TABLE IF NOT EXISTS `".$cfg["tab"]["vpguestbook"]."` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(60) NOT NULL default '',
  `email` varchar(80) NOT NULL default '',
  `url` varchar(80) NOT NULL default '',
  `entry` text NOT NULL,
  `image` varchar(255) NOT NULL default '',
  `comment` text NOT NULL,
  `iphost` varchar(60) NOT NULL default '',
  `user1` varchar(255) NOT NULL default '',
  `user2` varchar(255) NOT NULL default '',
  `user3` varchar(255) NOT NULL default '',
  `active` int(1) NOT NULL default '1',
  `client` int(10) NOT NULL default '0',
  `lang` int(10) NOT NULL default '0',
  `art` int(10) NOT NULL default '0',
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`),
  KEY `client` (`client`),
  KEY `lang` (`lang`),
  KEY `art` (`art`)
) TYPE=MyISAM;";
$db->query($sql);

if (! function_exists('dir_list')) {
  #Build folder list recursively
  function dir_list($dir, $sPrefix, $show_options = 0) {
  global $sSelected, $cfgClient, $client;

	$old_path = getcwd();
        $sPathDir = $cfgClient[$client]["path"]["frontend"].$cfgClient[$client]["upload"].$dir;

	if (is_dir($sPathDir)) {
		chdir($sPathDir);
		$myhandle = opendir('.');

		while (($mydir = readdir($myhandle)) !== false) {
			if (($mydir != ".") && ($mydir != "..")) {
				if (is_dir($mydir)) {
                                        $dirs[] = $dir.$mydir."/";
                                        $prefixs[] = $sPrefix.$mydir;
					$ret = dir_list($dir.$mydir."/", '&nbsp;&nbsp;&nbsp;&nbsp;'.$sPrefix);
                                        foreach ($ret['dirs'] as $key => $value) {
                                          $dirs[] = $value;
                                          $prefixs[] = $ret['prefixs'][$key];
                                        }
					chdir($sPathDir);
				}
			}
		}
		closedir($myhandle);
	}

	chdir($old_path);
	if ($show_options == 1) {
          array_multisort ($dirs, $prefixs);
          foreach ($dirs as $key => $value) {
  	    if ($sSelected == $value) {
	      echo '<option selected value="'.$value.'">'.$prefixs[$key].'</option>';
	    }
            else {
	      echo '<option value="'.$value.'">'.$prefixs[$key].'</option>';
	    }
          }
        }
        else {
          $ret['dirs'] = $dirs;
          $ret['prefixs'] = $prefixs;
          return $ret;
        }
  }

}

$hier = getcwd ();
if ($cfgClient[$client][tpl][path]) chdir($cfgClient[$client][tpl][path]);
else chdir($cfgClient[$client][path][frontend]."templates/");
$handle = opendir(".");
while ($file = readdir($handle)) {
  if (is_dir($file)) $dirlist[] = $file;
  if (is_file($file)) $filelist[] = $file;
}
closedir($handle);
chdir($hier);
if ($filelist) {
  asort($filelist);
}

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";

echo "<tr valign=\"top\"><td>Ausgabe mandantenspezifisch: ";
echo "</td><td><input type=\"checkbox\" name=\"CMS_VAR[1]\" value=\"1\" ";
if("CMS_VALUE[1]" == 1) echo "checked=\"checked\" ";
echo ">";
echo "</td></tr>";

echo "<tr valign=\"top\"><td>Ausgabe sprachspezifisch: ";
echo "</td><td><input type=\"checkbox\" name=\"CMS_VAR[2]\" value=\"1\" ";
if("CMS_VALUE[2]" == 1) echo "checked=\"checked\" ";
echo ">";
echo "</td></tr>";

echo "<tr><td>Templatedatei: ";
echo "<td><select size=\"1\" name=\"CMS_VAR[3]\">";
while (list ($key, $file) = each ($filelist)) {
  echo "<option value=\"$file\"";
  if ("CMS_VALUE[3]" == $file) echo " selected=\"selected\" ";
  echo ">$file</option>";
}
echo "</td></tr>";

echo "<tr>";
echo "<td>Templateklasse:</td><td><INPUT TYPE=\"radio\" name=\"CMS_VAR[4]\" value=\"normal\" ";
if ("CMS_VALUE[4]" == "normal") echo "checked=\"checked\" ";
echo "> normale Klasse
<input type=\"radio\" name=\"CMS_VAR[4]\" value=\"extended\" ";
if ("CMS_VALUE[4]" == "extended") echo "checked=\"checked\" ";
echo "> eXtended-Template-Klasse (<a href=\"http://www.contenido.org/forum/viewtopic.php?t=5851\" target=\"_blank\">von swelpot</a>)</td></tr>";

echo "<tr><td>Bilderverzeichnis für Avatare:</td>";
echo "<td><select size=\"1\" name=\"CMS_VAR[5]\">";
$sSelected = "CMS_VALUE[5]";
dir_list("", '->', 1);
echo "</select></td></tr>";

echo "<tr><td>Eintr&auml;ge pro Seite:</td>";
echo "<td><select size=\"1\" name=\"CMS_VAR[6]\">";
for ($i = 1; $i < 41; $i++) {
	echo "<option value=\"$i\"";
	if ("CMS_VALUE[6]" == $i) echo " selected=\"selected\" ";
	echo ">$i</option>";
}
echo "</select></td></tr>";

echo "<tr>";
echo "<td>Seitennavigation mit</td><td><input type=\"radio\" name=\"CMS_VAR[7]\" value=\"0\" ";
if ("CMS_VALUE[7]" == 0) echo "checked=\"checked\" ";
echo"> Seitenzahlen
<input type=\"radio\" name=\"CMS_VAR[7]\" value=\"1\" ";
if ("CMS_VALUE[7]" == 1) echo "checked=\"checked\" ";
echo"> Eintr&auml;gen</td></tr>";

echo "<tr><td>Datumsformat DATE1 (Verwendung siehe <a href=\"http://de.php.net/manual/de/function.strftime.php\" target=\"_blank\">www.php.net</a>):</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\" size=\"30\" /></td></tr>";

echo "<tr><td>Datumsformat DATE2 (Verwendung siehe <a href=\"http://de.php.net/manual/de/function.strftime.php\" target=\"_blank\">www.php.net</a>):</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\" size=\"30\" /></td></tr>";

echo "<tr><td>Spracheinstellungen für das Datum (z.B. \"de_DE\"):</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[10]\" value=\"CMS_VALUE[10]\" size=\"30\" /></td></tr>";

echo "<tr><td>L&auml;ngste Zeichenfolge:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[11]\" value=\"CMS_VALUE[11]\" size=\"30\" /></td></tr>";

echo "<tr><td>Text \"vor\":</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[12]\" value=\"CMS_VALUE[12]\" size=\"30\" /></td></tr>";

echo "<tr><td>Text \"zur&uuml;ck\":</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[13]\" value=\"CMS_VALUE[13]\" size=\"30\" /></td></tr>";

echo "<tr><td>Ab wie vielen Seiten soll die Navigation komprimiert dargestellt werden?:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[14]\" value=\"CMS_VALUE[14]\" size=\"30\" /></td></tr>";

echo "</table>";

Code: Alles auswählen

output

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     vpGuestbook 1.9.1 - Ausgabe
* Author      :     Ingo van Peeren
* Copyright   :     Ingo van Peeren (ingo@van-peeren.de)
* Created     :     2005-03-14
* Modified    :     2006-02-14
************************************************/

// CMS_VARs initialisieren
$spez_client         = "CMS_VALUE[1]";
$spez_lang           = "CMS_VALUE[2]";
$tpl_datei           = "CMS_VALUE[3]";
$tpl_art             = "CMS_VALUE[4]";
$bilderpfad          = "CMS_VALUE[5]";
$eintraege_pro_seite = "CMS_VALUE[6]";
$seitennav_art       = "CMS_VALUE[7]";
$dateformat1         = "CMS_VALUE[8]";
$dateformat2         = "CMS_VALUE[9]";
$locale              = "CMS_VALUE[10]";
$wrap_length         = "CMS_VALUE[11]";
$link_vor            = "CMS_VALUE[12]";
$link_zurueck        = "CMS_VALUE[13]";
$max_seiten          = "CMS_VALUE[14]";
// CMS_VARs initialisieren Ende

// eXtended-Template-Klasse (von swelpot) einbinden
// zur Verwendung siehe:
// http://www.contenido.org/forum/viewtopic.php?t=5851
if ($tpl_art == "extended") cInclude('classes',  'class.ExtendedTemplate.php');
else cInclude('classes',  'class.template.php');

$edit_url = "front_content.php?changeview=edit&client=$client&lang=$lang&action=con_editart&idartlang=$idartlang&idart=$idart&idcat=$idcat&contenido=" . $sess->id;

// locale auf ausgewählten Wert setzen
setlocale (LC_ALL, $locale);

// DB-Verbindung konfigurieren
$cfg["tab"]["vpguestbook"] = $cfg['sql']['sqlprefix']."_vpguestbook";

$db = new DB_Contenido;


// Funktionen
function htmlwrap($str, $width = 60, $break = "\n", $nobreak = "", $nobr = "pre", $utf = false) {

  // Split HTML content into an array delimited by < and >
  // The flags save the delimeters and remove empty variables
  $content = preg_split("/([<>])/", $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);

  // Transform protected element lists into arrays
  $nobreak = explode(" ", $nobreak);
  $nobr = explode(" ", $nobr);

  // Variable setup
  $intag = false;
  $innbk = array();
  $innbr = array();
  $drain = "";
  $utf = ($utf) ? "u" : "";

  // List of characters it is "safe" to insert line-breaks at
  // Do not add ampersand (&) as it will mess up HTML Entities
  // It is not necessary to add < and >
  $lbrks = "/?!%)-}]\\\"':;";

  // We use \r for adding <br /> in the right spots so just switch to \n

  if ($break == "\r") $break = "\n";

  while (list(, $value) = each($content)) {
    switch ($value) {

      // If a < is encountered, set the "in-tag" flag
      case "<": $intag = true; break;


      // If a > is encountered, remove the flag
      case ">": $intag = false; break;

      default:

        // If we are currently within a tag...
        if ($intag) {

          // If the first character is not a / then this is an opening tag
          if ($value{0} != "/") {

            // Collect the tag name
            preg_match("/^(.*?)(\s|$)/$utf", $value, $t);

            // If this is a protected element, activate the associated protection flag
            if ((!count($innbk) && in_array($t[1], $nobreak)) || in_array($t[1], $innbk)) $innbk[] = $t[1];
            if ((!count($innbr) && in_array($t[1], $nobr)) || in_array($t[1], $innbr)) $innbr[] = $t[1];

          // Otherwise this is a closing tag
          } else {

            // If this is a closing tag for a protected element, unset the flag
            if (in_array(substr($value, 1), $innbk)) unset($innbk[count($innbk)]);
            if (in_array(substr($value, 1), $innbr)) unset($innbr[count($innbr)]);
          }

        // Else if we're outside any tags...
        } else if ($value) {

          // If unprotected, remove all existing \r, replace all existing \n with \r
          if (!count($innbr)) $value = str_replace("\n", "\r", str_replace("\r", "", $value));

          // If unprotected, enter the line-break loop
          if (!count($innbk)) {
            do {
              $store = $value;

              // Find the first stretch of characters over the $width limit
              if (preg_match("/^(.*?\s|^)(([^\s&]|&(\w{2,5}|#\d{2,4});){".$width."})(?!(".preg_quote($break, "/")."|\s))(.*)$/s$utf", $value, $match)) {

                // Determine the last "safe line-break" character within this match
                for ($x = 0, $ledge = 0; $x < strlen($lbrks); $x++) $ledge = max($ledge, strrpos($match[2], $lbrks{$x}));
                if (!$ledge) $ledge = strlen($match[2]) - 1;

                // Insert the modified string
                $value = $match[1].substr($match[2], 0, $ledge + 1).$break.substr($match[2], $ledge + 1).$match[6];
              }

            // Loop while overlimit strings are still being found
            } while ($store != $value);
          }

          // If unprotected, replace all \r with <br />\n to finish
          if (!count($innbr)) $value = str_replace("\r", "<br />\n", $value);
        }
    }

    // Send the modified segment down the drain
    $drain .= $value;
  }

  // Return contents of the drain
  return $drain;
}

function toggle_active ($entry) {
global $db, $cfg;

  $sql = "UPDATE ".$cfg["tab"]["vpguestbook"]." SET active = '1' WHERE id='$entry'";
  $db->query($sql);
}

function toggle_inactive ($entry) {
global $db, $cfg;

  $sql = "UPDATE ".$cfg["tab"]["vpguestbook"]." SET active = '0' WHERE id='$entry'";
  $db->query($sql);
}

function eintrag_loeschen ($entry) {
global $db, $cfg;

  $sql = "DELETE FROM ".$cfg["tab"]["vpguestbook"]." WHERE id='$entry'";
  $db->query($sql);
}

function eintraege_zaehlen () {
global $db, $cfg, $client;

  $sql = "SELECT COUNT(*) as anzahl FROM ".$cfg["tab"]["vpguestbook"]." WHERE client=$client AND active=1";


  $db->query($sql);
  $db->next_record();
  return $db->f("anzahl");
}

function eintraege_auslesen ($start, $anzahl) {
global $db, $cfg, $client, $lang, $idart, $spez_client, $spez_lang, $edit;

  if ($edit && empty($_GET['edit'])) $where = "WHERE 1";
  else $where = "WHERE active=1";
  if ($spez_client) $where .= " AND client=$client";
  if ($spez_lang) $where .= " AND lang=$lang";
  $sql = "SELECT id, active, name, email, url, entry, image, comment, iphost, user1, user2, user3, UNIX_TIMESTAMP(date) as datum FROM ".$cfg["tab"]["vpguestbook"]." $where ORDER BY date DESC LIMIT $start, $anzahl";
  $db->query($sql);
  $eintraege = array();
  $i = 0;
  while ($db->next_record()) {
    $eintraege[$i]['id']      = $db->f("id");
    $eintraege[$i]['active']  = $db->f("active");
    $eintraege[$i]['name']    = $db->f("name");
    $eintraege[$i]['email']   = $db->f("email");
    $eintraege[$i]['url']     = $db->f("url");
    $eintraege[$i]['entry']   = $db->f("entry");
    $eintraege[$i]['image']   = $db->f("image");
    $eintraege[$i]['comment'] = $db->f("comment");
    $eintraege[$i]['iphost']  = $db->f("iphost");
    $eintraege[$i]['user1']   = $db->f("user1");
    $eintraege[$i]['user2']   = $db->f("user2");
    $eintraege[$i]['user3']   = $db->f("user3");
    $eintraege[$i]['date']    = $db->f("datum");
    $i++;
  }
  return $eintraege;
}

function vpgb_navigation ($start, $eintraege_pro_seite, $anzahl_eintraege, $art = 1) {
global $link_vor, $link_zurueck, $idcat, $idcatart, $max_seiten;

            $hier = "front_content.php?idcatart=" . $idcatart;
            $vpgb_nav = "";

            if ($start > 0) {
                $vpgb_nav .= "<a href=\"" . $hier . "&start=" . ($start - $eintraege_pro_seite) . "\">" . $link_zurueck . "</a>";
            }
            if ($anzahl_eintraege > $eintraege_pro_seite) {
                $anzahl_seiten = ceil($anzahl_eintraege / $eintraege_pro_seite);
                if (($max_seiten == "") || ($max_seiten > $anzahl_seiten)) {
                  for ($h = 1; $h <= $anzahl_seiten; $h++) {
                    $hstart = ($h - 1) * $eintraege_pro_seite;
                    if ($art == 1) {
                      if ($h == $anzahl_seiten) {
                          if ($anzahl_eintraege > ($hstart + 1)) $htext = ($hstart + 1) . "-" . $anzahl_eintraege;
                          else $htext = $anzahl_eintraege;
                      }
                      else $htext = ($hstart + 1) . "-" . ($hstart + $eintraege_pro_seite);
                    }
                    else $htext = $h;
                    if ($hstart == $start) $vpgb_nav .= " <a class=\"vpgb_aktiv\" href=\"" . $hier . "&start=" . $hstart . "\">" . $htext . "</a>";
                    else $vpgb_nav .= " <a href=\"" . $hier . "&start=" . $hstart . "\">" . $htext . "</a>";
                  }
                }
                else {
                  for ($h = 1; $h <= $anzahl_seiten; $h++) {
                    $hstart = ($h - 1) * $eintraege_pro_seite;
                    if ($art == 1) {
                      if ($h == $anzahl_seiten) {
                          if ($anzahl_eintraege > ($hstart + 1)) $htext = ($hstart + 1) . "-" . $anzahl_eintraege;
                          else $htext = $anzahl_eintraege;
                      }
                      else $htext = ($hstart + 1) . "-" . ($hstart + $eintraege_pro_seite);
                    }
                    else $htext = $h;
                    if (($hstart < $eintraege_pro_seite * 2) || ($hstart > (($anzahl_seiten - 3) * $eintraege_pro_seite)) || (($hstart > ($start - ($eintraege_pro_seite * 2))) && ($hstart < ($start + ($eintraege_pro_seite * 2))))) {
                      if ($hstart == $start) $vpgb_nav .= " <a class=\"vpgb_aktiv\" href=\"" . $hier . "&start=" . $hstart . "\">" . $htext . "</a>";
                      else $vpgb_nav .= " <a href=\"" . $hier . "&start=" . $hstart . "\">" . $htext . "</a>";
                    }
                    else $vpgb_nav .= "###";
                  }
                }
            }
            if (($start + $eintraege_pro_seite) < $anzahl_eintraege) {
                $vpgb_nav .= " <a href=\"" . $hier . "&start=" . ($start + $eintraege_pro_seite) . "\">" . $link_vor . "</a>";
            }
  $vpgb_nav = preg_replace("/(\#+)/", " <span class=\"vpgb_punkte\">&hellip;</span>", $vpgb_nav);
  return $vpgb_nav;
}

function edit_comment ($entry_id, $new_entry, $type) {
global $db, $cfg, $client;

  if ($type == "delete") {
    $sql = "UPDATE ".$cfg["tab"]["vpguestbook"]." SET comment = '' WHERE id='$entry_id'";
    $db->query($sql);
  }
  else {
    $sql = "UPDATE ".$cfg["tab"]["vpguestbook"]." SET comment = '$new_entry' WHERE id='$entry_id'";
    $db->query($sql);
  }

}
// Funktionen Ende

if ($edit && empty($_GET['edit'])) {
  if ($_GET['toggle_active'] == "yes")   toggle_active($_GET['entry']);
  if ($_GET['toggle_inactive'] == "yes") toggle_inactive($_GET['entry']);
  if ($_GET['delete'] == "yes")          eintrag_loeschen($_GET['entry']);
  if ($_POST['edit_comment'])            edit_comment($_GET['entry'], $_POST['kommentar'], "edit");
  if ($_POST['delete_comment'])          edit_comment($_GET['entry'], $_POST['kommentar'], "delete");
}

if (! $_GET['start']) $start = 0;
else $start = $_GET['start'];

// Einträge
$anzahl_eintraege = eintraege_zaehlen();
if ($edit && empty($_GET['edit'])) {
  $eintraege = eintraege_auslesen(0, 10000);
  $seitennavigation = "";
}
else {
  $eintraege = eintraege_auslesen($start, $eintraege_pro_seite);
  if ($seitennav_art == 1) $seitennavigation = vpgb_navigation($start, $eintraege_pro_seite, $anzahl_eintraege, 1);
  else $seitennavigation = vpgb_navigation($start, $eintraege_pro_seite, $anzahl_eintraege, 0);
}

if ($tpl_art == "extended") $tpl = new ExtendedTemplate();
else $tpl = new Template;

  $tpl->reset();
  $tpl->set('s', 'EINTRAEGE',    $anzahl_eintraege);
  $tpl->set('s', 'SEITENNAVIGATION',   $seitennavigation);

foreach ($eintraege as $eintrag) {
  if ($edit && empty($_GET['edit'])) {
    $tpl->set('d', 'EDIT', "1");
    if ($eintrag['active']) $adminlinks = "<a href=\"" . $edit_url . "&toggle_inactive=yes&entry=" . $eintrag['id'] . "\"><img src=\"" . $cfg['path']['contenido_fullhtml'] . "images/online.gif\" width=\"11\" height=\"12\" border=\"0\" title=\"Offline schalten\" alt=\"Offline schalten\"></a>";
    else $adminlinks = "<a href=\"" . $edit_url . "&toggle_active=yes&entry=" . $eintrag['id'] . "\"><img src=\"" . $cfg['path']['contenido_fullhtml'] . "images/offline.gif\" width=\"11\" height=\"12\" border=\"0\" title=\"Online schalten\" alt=\"Online schalten\"></a>";
    $adminlinks .= '<a title="Modul l&ouml;schen" href="' . $edit_url . '&delete=yes&entry=' . $eintrag['id'] . '" onClick="return confirm(\'Wollen Sie den G&auml;stebucheintrag von ' . $eintrag['name'] . ' wirklich l&ouml;schen?\')" ><img src="' . $cfg['path']['contenido_fullhtml'] . 'images/delete.gif" border="0" title="Eintrag l&ouml;schen" alt="Eintrag l&ouml;schen"></a>';
    $comment  = "<form action=\"" . $edit_url . "&entry=" . $eintrag['id'] . "\" method=\"post\">";
    $comment .= "<textarea name=\"kommentar\">" . htmlentities($eintrag['comment'], ENT_QUOTES) . "</textarea><input type=\"submit\" name=\"edit_comment\" value=\"&auml;ndern\"> <input type=\"submit\" name=\"delete_comment\" value=\"l&ouml;schen\">";
    $comment .= "</form>";
  }
  else {
    $comment = htmlwrap(htmlentities($eintrag['comment'], ENT_QUOTES), $wrap_length, " ");
  }

  $tpl->set('d', 'NAME',       $eintrag['name']);
  $tpl->set('d', 'EMAIL',      $eintrag['email']);
  $tpl->set('d', 'URL',        $eintrag['url']);
  $tpl->set('d', 'ENTRY',      htmlwrap($eintrag['entry'], $wrap_length, " "));
  $tpl->set('d', 'COMMENT',    $comment);
  $tpl->set('d', 'USER1',      $eintrag['user1']);
  $tpl->set('d', 'USER2',      $eintrag['user2']);
  $tpl->set('d', 'USER3',      $eintrag['user3']);
  $tpl->set('d', 'IPHOST',     $eintrag['iphost']);
  $tpl->set('d', 'IMAGE',      $cfgClient[$client]['upload'].$bilderpfad.$eintrag['image']);
  $tpl->set('d', 'DATE1',      strftime($dateformat1, $eintrag['date']));
  $tpl->set('d', 'DATE2',      strftime($dateformat2, $eintrag['date']));
  $tpl->set('d', 'ADMINLINKS', $adminlinks);
  $tpl->next();

}

  $tpl->generate('templates/' . $tpl_datei);

?>
Gesperrt