public function deleteInDatabase($photo_id) { $return_code = true; $this->db->startTransaction(); // erst einmal rekursiv zur tiefsten Tochterveranstaltung gehen $sql = 'SELECT pho_id FROM ' . TBL_PHOTOS . ' WHERE pho_pho_id_parent = ' . $photo_id; $result1 = $this->db->query($sql); while ($row = $this->db->fetch_array($result1)) { if ($return_code) { $return_code = $this->deleteInDatabase($row['pho_id']); } } // nun DB-Eintrag und Ordner loeschen if ($return_code) { //Ordnerpfad zusammensetzen $folder = SERVER_PATH . '/adm_my_files/photos/' . $this->getValue('pho_begin', 'Y-m-d') . '_' . $photo_id; // aktuellen Ordner incl. Unterordner und Dateien loeschen, falls er existiert if (file_exists($folder)) { // nun erst rekursiv den Ordner im Dateisystem loeschen $myFilesPhotos = new MyFiles('PHOTOS'); $myFilesPhotos->setFolder($folder); $return_code = $myFilesPhotos->delete($folder); } if ($return_code) { // Veranstaltung jetzt in DB loeschen $sql = 'DELETE FROM ' . TBL_PHOTOS . ' WHERE pho_id = ' . $photo_id; $this->db->query($sql); } } $this->db->endTransaction(); return $return_code; }