Ich arbeite viel mit FTP und damit wergeben sich einige "Fehler" sollte ich eine Verzeichnis in "Uploads\" von Contenido syncronisieren und verwenden. werden die Dateien in "con_upl" gespeichert.
Das ist auch sehr schön den so kann ich eine Download-Liste mit Filtern usw. simpel generieren. (Stefan Seifarth <info@polycoder.de>)
Leider ist es so das wenn ich über FTP ein Verzeichnis inkl. Unterverzeichnisse lösche, dieses Verzeichnis bzw. die Datein des Unterverzeichnis beim Aufruf der uplSyncDirectory()-Function nicht aus der DB entfernt werden.
(Aufgerufen wird die uplSyncDirectory() in dem ich ein Verzeichnis über Contenido->Dateiverwaltung)
Dirty?-Lösung: - Lösche alle Unterverzeichnisse des aktuellen aber nicht die existierenden.
Anfang der Existierenden Funktion.
Code: Alles auswählen
function uplSyncDirectory ($path)
{
// ... BLA BLA BLA ...
    
   	while ($property = $properties->next())
   	{
   		if (!file_exists($cfgClient[$client]["upl"]["path"].$property->get("itemid")))
		{
			$properties->delete($property->get("idproperty"));	
		}
   	}
Code: Alles auswählen
		$aAllDir = array();
		while ($file = readdir ($dirhandle))
    {
    	if ($file != "." && $file != "..")
    	{
    		if( is_dir($file) ) {
					if( !in_array($path.$file, $aAllDir) ) $aAllDir[] = $path.$file;
				}
    	}
    }
		
		$uploads->select("dirname LIKE '".$path."%' 
			AND dirname NOT LIKE '".implode("/%' AND dirname NOT LIKE '",$aAllDir )."/%'
			AND idclient = '$client'");
			
		while ($upload = $uploads->next())
		{
			if (!file_exists($cfgClient[$client]["upl"]["path"].$upload->get("dirname").$upload->get("filename")))
			{
				$uploads->delete($upload->get("idupl"));
			}
		}Code: Alles auswählen
	
    chdir($olddir);
}