Löschen von Objekten per PHP

Hier können Sie Fragen bezüglich des Datenbank-/Objektmoduls stellen.
yaem
Member
Beiträge: 96
Registriert: Mi 26. Nov 2008, 12:24

Löschen von Objekten per PHP

Beitragvon yaem » Do 25. Jun 2015, 15:18

Halli Hallo,

ich habe leider 6.0.0.6 installiert und möchte per PHP Objekte löschen.

Geht aber nicht, egal was ich mache, es kommt keine Fehlermeldung noch True oder False.

http://documentation.webedition.org/wik ... -using-php <- habe ich schon getestet. Passiert rein garnichts.

Hat jemand eine einfache Idee, ohne MySql und in der datenbank rumzuhacken?


gruss Yves

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Löschen von Objekten per PHP

Beitragvon mokraemer » Do 25. Jun 2015, 17:55

ja, zuerst mal ein Update auf eine aktuellere Version!
Die ist ja Uralt!
webEdition-Kern-Entwickler

yaem
Member
Beiträge: 96
Registriert: Mi 26. Nov 2008, 12:24

Re: Löschen von Objekten per PHP

Beitragvon yaem » Fr 26. Jun 2015, 16:33

Und wenn das nicht geht?

Mich wundert es in Foren, ja immer, wieso man nicht einfach mal beim Thema bleiben kann.

Es schreibt doch auch keiner, kauf Dir ein aktuelles Auto, wenn einer wissen will, wie er bei seinem alten den Blinker austauscht.

Es ist in Planung, aber derzeit sind mir die Hände gebunden und ich kann kein Update fahren. Also, gibt es eine Möglichkeit bei dieser alten Version Objekte per PHP zu löschen?

Ala

$obj->initByID($ID);
$obj->we_delete();

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Löschen von Objekten per PHP

Beitragvon WBTMagnum » Fr 26. Jun 2015, 16:48

Hallo Yves,

Naja, die V6.0.0.6 ist vom 23.07.2009 und somit bald 6 Jahre alt. Ich denke Marc wollte primär darauf hinweisen, dass es hier allerhöchste Eisenbahn ist das System auf aktuellen Stand zu bringen.

Aber zurück zum Thema:
Du schreibst, dass du den Ansatz aus dem wiki Beliebiges Objekt per PHP löschen probiert hast. Wie schaut denn dein Code dazu aus?

Meiner Ansicht nach sollte das wohl etwas in der Art sein (ungetestet):

Code: Alles auswählen

<?php
// PHP-Klassen von webEdition zum Arbeiten mit Objekten einbinden
include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we.inc.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we_delete_fn.inc.php';

// Sicherheitssperre umgehen
$GLOBALS['NOT_PROTECT'] = true;

// Objekt (Table = OBJECT_FILES_TABLE) mit der angegebenen ID (hier 501) löschen
deleteEntry(501, OBJECT_FILES_TABLE);

// Ausgabe aller gelöschten Objekte
if (isset($deletedItems)){ 
  print_r($deletedItems); 
}
?>
Liefert das ein Ergebnis? ID bitte anpassen oder durch Variable ersetzen.


HTH,
Sascha

yaem
Member
Beiträge: 96
Registriert: Mi 26. Nov 2008, 12:24

Re: Löschen von Objekten per PHP

Beitragvon yaem » Fr 26. Jun 2015, 17:00

Es passiert garnichts. Sprich Objekt noch da.

Wenn ich die Fehlerbehandlung auf Notizelevel runterdimme sagt es mir:


Can NOT initialize document

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Löschen von Objekten per PHP

Beitragvon WBTMagnum » Fr 26. Jun 2015, 17:13

*hmmm*
Sagt mir jetzt leider auch nicht viel. Mich irritiert irgendwie, dass dort "document" steht.

Das Tag <we:delete type="object" /> kannst du nicht einsetzen?


Liebe Grüße,
Sascha

yaem
Member
Beiträge: 96
Registriert: Mi 26. Nov 2008, 12:24

Re: Löschen von Objekten per PHP

Beitragvon yaem » Fr 26. Jun 2015, 17:24

<?php

// PHP-Klassen von webEdition zum Arbeiten mit Objekten einbinden

include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we.inc.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we_delete_fn.inc.php';

// Sicherheitssperre umgehen
$GLOBALS['NOT_PROTECT'] = true;

// Objekt (Table = OBJECT_FILES_TABLE) mit der angegebenen ID (hier 501) löschen
OBJECT_FILES_TABLE = "tblObject_19";
deleteEntry(6996, OBJECT_FILES_TABLE);

// Ausgabe aller gelöschten Objekte
if (isset($deletedItems)){
print_r($deletedItems);
}
?>

Jetzt kommt kein Notize mehr, passieren tut aber auch nichts.

Ich werde es jetzt ersteinmal mit
$_REQUEST['we_delObject_ID'] = 6996 ;
?><we:delete type="object" /><?php versuchen

so richtig wohl fühle ich mich aber nicht dabei.

yaem
Member
Beiträge: 96
Registriert: Mi 26. Nov 2008, 12:24

Re: Löschen von Objekten per PHP

Beitragvon yaem » Fr 26. Jun 2015, 17:30

Ergebnis:

Das gleiche in Grün - Can NOT initialize document


:-(

yaem
Member
Beiträge: 96
Registriert: Mi 26. Nov 2008, 12:24

Re: Löschen von Objekten per PHP

Beitragvon yaem » Fr 26. Jun 2015, 17:39

Korrigiere. Mein fehler. Geht.

Hatte die id der Klasse vergessen.

$GLOBALS['NOT_PROTECT'] = true;
$_REQUEST['we_delObject_ID'] = $ReID ;
?><we:delete type="object" classid="19" forceedit="true" /><?php


geht also.

Danke für die Hilfe

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Löschen von Objekten per PHP

Beitragvon WBTMagnum » Fr 26. Jun 2015, 20:55

Freut mich, dass es jetzt geklappt hat.

Info zur PHP Lösung:
"OBJECT_FILES_TABLE" ist eine Konstante für die Datenbanktabelle 'tblObjectFiles'. Dh. die Zeile

Code: Alles auswählen

OBJECT_FILES_TABLE = "tblObject_19";
braucht es nicht.

Liebe Grüße,
Sascha

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Löschen von Objekten per PHP

Beitragvon mokraemer » Fr 26. Jun 2015, 23:09

ja, was ich damit sagen will: die Version ist so alt, das ich sie allein aus Sicherheitsgründen schon vom Netz nehmen würde.
Und wie man dem Thread entnehmen konnte, hat sich seit der Zeit sehr viel getan. Auch der Kode von Sascha enthält schon Sachen die erst mit späteren Versionen kamen. D.h. kaum einer weiß noch genau wie das vor 6! Jahren war. Da diese alte Version nicht mit PHP 5.3 läuft vermute ich auch daß es hier weiteren Handlungsbedarf gibt, denn nicht nur WE ist veraltet, sondern vermutlich der ganze Server.

Wenn du bei deinem Auto-Analogon bleiben willst: wenn du zur Werkstatt fährst und nur noch der Motor stotternd läuft und nach dem Blinker fragst....
webEdition-Kern-Entwickler


Zurück zu „DB-/Objektmodul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 23 Gäste