[CON-401] Gelöst: Dateiverwaltung, FTP, con_upl 4.8.14

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Dateiverwaltung - FTP - con_upl bei 4.8.14

Beitrag von OliverL » Fr 4. Feb 2011, 16:52

Moin moin Mädels :)

1. leeren von "con_upl" ist nicht zuempfehlen da z.B. CMS_Link die ID der Datei in "con_content" speichert.
Und beim neu einlesen neue IDs vergeben werden.

2. Das Problem besteht auch in älteren Versionen. (4.8.6 - Mo Jun 30, 2008 1:25 pm)
Hier unten ist eine Lösung für das Problem mit der Sync-Function.
Der Fix wurde damals nicht eingebaut weill es größere Rechte-Probleme verursachen kann.
http://forum.contenido.org/viewtopic.ph ... 0&start=15
Wenn einige Leute das Testen und für gut befinden könnte man noch mal gucken ob das vielleicht doch einbaut wird.

Wir bekomme ich die alten Datenbankeinträge aus der DB? Gibt es hier irgendwo ein "Saubermach-Script"?
Wenn du den "Fix" einbaust musst du nur noch einmal den Hauptordner "referenzen" anlegen und direkt löschen.

mfg OliverL

@idea-tec: Keiner mag unbestätigte Bugs und stichel nicht immer so.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [CON-401] Wird geprüft: Dateiverwaltung, FTP, con_upl 4.

Beitrag von xmurrix » Mi 29. Jun 2011, 22:56

Bug ist gefixt.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

CharlyBrown
Beiträge: 77
Registriert: Sa 13. Feb 2010, 16:07
Kontaktdaten:

Re: [CON-401] Gelöst: Dateiverwaltung, FTP, con_upl 4.8.14

Beitrag von CharlyBrown » Do 30. Jun 2011, 13:57

xmurrix hat geschrieben:Bug ist gefixt.
Entschuldigt bitte diese peinliche Frage, aber wo finde ich denn jetzt die Lösung? :oops:

Hab das Problem aktuell auch in einer 4.8.15

Gibt es irgendwo eine Anlaufstelle, wo man sich diese Fixes holen kann?

Viele Grüße

Frank

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [CON-401] Gelöst: Dateiverwaltung, FTP, con_upl 4.8.14

Beitrag von xmurrix » Do 30. Jun 2011, 15:31

CharlyBrown hat geschrieben:... Hab das Problem aktuell auch in einer 4.8.15

Gibt es irgendwo eine Anlaufstelle, wo man sich diese Fixes holen kann?...
Hallo Frank,

die Änderungen sind nicht ohne Weiteres verfügbar und auch einfach übernehmbar. Du kannst dir aber mit folgendem Codeschnipsel Abhilfe schaffen:

Code: Alles auswählen


cInclude("classes", "class.upload.php");
cInclude("classes", "class.properties.php");
cInclude("classes", "class.dbfs.php");

$bDebug = true;

$oUploadColl = new UploadCollection();
$oPropertiesColl = new PropertyCollection();

$oUploadColl->select("idclient='$client'");
while ($oUpload = $oUploadColl->next()) {
    $sPathName = $oUpload->get('dirname') . $oUpload->get('filename');
    $sFullPathName = $cfgClient[$client]['upl']['path'] . $sPathName;
    if (!file_exists($sFullPathName)) {
        if ($bDebug) {
            echo "Missing upload file {$sFullPathName}";
        } else {
            // delete upload item
            $oUploadColl->delete($oUpload->get('idupl'));

            // delete all upload item properties
            $oPropertiesColl->select("idclient='$client' AND itemtype='upload' AND type='file' AND itemid='{$sPathName}'");
            while ($oProperty = $oPropertiesColl->next()) {
                $oPropertiesColl->delete($oProperty->get("idproperty"));
            }
        }
    }
}
Den Code einfach in eine Modulausgabe einfügen und den entsprechenden Artikel aufrufen. Per default ist debugging aktiviert, es löscht also keine übriggebliebenen Einträge aus der Tabelle. Du kannst es also vorher testen.

Mach sicherheitshalber vorher eine Kopie der Upload- und Properties Tabelle (con_upl und con_properties). Der Beispiekcode ist nicht getestet, sollte aber funktionieren.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

CharlyBrown
Beiträge: 77
Registriert: Sa 13. Feb 2010, 16:07
Kontaktdaten:

Re: [CON-401] Gelöst: Dateiverwaltung, FTP, con_upl 4.8.14

Beitrag von CharlyBrown » Fr 1. Jul 2011, 08:19

Hallo xmurrix,

vielen Dank, ich werde es mal testen!

Viele Grüße

Frank

mete.or
Beiträge: 0
Registriert: Fr 1. Jul 2011, 10:07

Re: [CON-401] Gelöst: Dateiverwaltung, FTP, con_upl 4.8.14

Beitrag von mete.or » Fr 1. Jul 2011, 10:25

Hallo xmurrix,

Du hast ein Dollarzeichen vergessen bei der Variable sFullPathName.

Code: Alles auswählen

    if (!file_exists(sFullPathName)) {
Daher hat das "if" ein "true" und würde restlos alle Einträge in der DB löschen für die Uploads...
Zum Glück hast Du den debug-mode eingebaut, der das drohende Unheil schon angekündigt hat.

Trotzdem vielen Dank für das Script - es hat geholfen!

VG

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [CON-401] Gelöst: Dateiverwaltung, FTP, con_upl 4.8.14

Beitrag von xmurrix » Fr 1. Jul 2011, 21:42

mete.or hat geschrieben:...
Du hast ein Dollarzeichen vergessen bei der Variable sFullPathName.

Code: Alles auswählen

    if (!file_exists(sFullPathName)) {
...
Danke für den Hinweis, habe es gleich korrigiert.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Gesperrt