Integration kitDirList?

Antworten
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Integration kitDirList?

Beitrag von shadowcat »

kitDirList war/ist eine WB-Erweiterung des verstorbenen Ralf H., mit dem sich kennwortgeschützte Downloads realisieren lassen.

http://www.phpmanufaktur.info/de/addons/kitdirlist.php

Das könnte man eigentlich auch prima in die Medienverwaltung integrieren, oder? Oder als eigenes Admin-Tool?
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von creativecat »

Ich habe tatsächlich gerade Bedarf an einer solchen Lösung... Grundsätzlich fände ich es aber besser, wenn unser Medienbereich einfach mächtiger wird. Denn der "einfache" User wird wohl darüber die Dateien hochladen wollen. Einbinden kann man es dann mit Droplets.
Man könnte im Media-Bereich "Ordneroptionen" hinzufügen mit einer Option "Ordner schützen". Das erstellte Passwort braucht man ja theoretisch gar nicht, weil ich ja mit PHP die Dateien einfach "rausziehen" kann, richtig?
Grundsätzlich könnte man dann aber auch eine *_media in der Datenbank erstellen und damit die zusätzlichen Optionen die in Ralfs Textdatei gespeichert wurden in der DB speichern und bequem administrieren.

Also die Idee finde ich super!!!
Benutzeravatar
Morpheus
Beiträge: 1050
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von Morpheus »

Ja, das finde ich auch eine super Idee :daumen:
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von shadowcat »

Ja, genau so!
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von shadowcat »

Es gibt zumindest schon eine Tabelle mit den Dateinamen und Checksummen, um die Dateien vor Manipulation zu schützen. Die ließe sich problemlos erweitern. Den Verzeichnisschutz macht man per .htaccess, weiß nicht ob man dafür auch eine Tabelle braucht.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von shadowcat »

Neue Tabelle für Verzeichnisse:

Code: Alles auswählen

CREATE TABLE `cat_media_dirs` (
	`dir_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
	`site_id` INT(11) UNSIGNED NOT NULL,
	`path` TEXT NOT NULL,
	`deleted` CHAR(1) NULL DEFAULT NULL,
	`protected` CHAR(1) NULL DEFAULT NULL,	
	PRIMARY KEY (`dir_id`),
	INDEX `FK_cat_media_dirs_cat_sites` (`site_id`),
	CONSTRAINT `FK_cat_media_dirs_cat_sites` FOREIGN KEY (`site_id`) REFERENCES `cat_sites` (`site_id`) ON UPDATE CASCADE ON DELETE CASCADE
);
Änderung Tabelle cat_media (jetzt cat_media_files):

Code: Alles auswählen

CREATE TABLE `cat_media_files` (
	`media_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
	`site_id` INT(11) UNSIGNED NOT NULL,
	`dir_id` INT(11) UNSIGNED NOT NULL,
	`filename` TEXT NULL,
	`checksum` TEXT NULL,
	PRIMARY KEY (`media_id`),
	INDEX `FK_cat_media_cat_sites` (`site_id`),
	INDEX `FK_cat_media_files_cat_media_dirs` (`dir_id`),
	CONSTRAINT `FK_cat_media_files_cat_media_dirs` FOREIGN KEY (`dir_id`) REFERENCES `cat_media_dirs` (`dir_id`) ON UPDATE CASCADE ON DELETE CASCADE,
	CONSTRAINT `FK_cat_media_cat_sites` FOREIGN KEY (`site_id`) REFERENCES `cat_sites` (`site_id`) ON UPDATE CASCADE ON DELETE CASCADE
);
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von shadowcat »

Mal ein erster Wurf für die Verzeichnisansicht. Derzeit stimmt die Sortierung noch nicht, [root] sollte natürlich ganz oben stehen. Die Informationen kommen aus der Datenbank.
Dateianhänge
2018-01-08 17_16_35.png
2018-01-08 17_16_35.png (12.91 KiB) 4215 mal betrachtet
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von creativecat »

Das sieht schon mal sehr gut aus!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von shadowcat »

Es werden jetzt auch schon .htaccess und .htpasswd generiert und auch wieder entfernt, wenn man die Sperre aufhebt. Für beide Dateien gibt es Templates, die man sich ggfs. anpassen kann. (Aber ohne GUI.)
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Integration kitDirList?

Beitrag von shadowcat »

Achso, ein Recover (Rettungsring-Symbol) würde natürlich nur das Verzeichnis anlegen, aber nicht den Inhalt wiederherstellen. Woher denn auch. ;)

Hier mal die Tabellen:

Verzeichnisse

Code: Alles auswählen

CREATE TABLE `cat_media_dirs` (
	`dir_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
	`site_id` INT(11) UNSIGNED NOT NULL,
	`path` TEXT NOT NULL,
	`deleted` CHAR(1) NULL DEFAULT NULL,
	`protected` CHAR(1) NULL DEFAULT NULL,
	PRIMARY KEY (`dir_id`),
	INDEX `FK_cat_media_dirs_cat_sites` (`site_id`),
	CONSTRAINT `FK_cat_media_dirs_cat_sites` FOREIGN KEY (`site_id`) REFERENCES `cat_sites` (`site_id`) ON UPDATE CASCADE ON DELETE CASCADE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
Dateien

Code: Alles auswählen

CREATE TABLE `cat_media_files` (
	`media_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
	`site_id` INT(11) UNSIGNED NOT NULL,
	`dir_id` INT(11) UNSIGNED NOT NULL,
	`filename` TEXT NULL,
	`checksum` TEXT NULL,
	`deleted` CHAR(1) NULL DEFAULT NULL,
	PRIMARY KEY (`media_id`),
	INDEX `FK_cat_media_cat_sites` (`site_id`),
	INDEX `FK_cat_media_files_cat_media_dirs` (`dir_id`),
	CONSTRAINT `FK_cat_media_cat_sites` FOREIGN KEY (`site_id`) REFERENCES `cat_sites` (`site_id`) ON UPDATE CASCADE ON DELETE CASCADE,
	CONSTRAINT `FK_cat_media_files_cat_media_dirs` FOREIGN KEY (`dir_id`) REFERENCES `cat_media_dirs` (`dir_id`) ON UPDATE CASCADE ON DELETE CASCADE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
Erweiterte Informationen zu Dateien

Code: Alles auswählen

CREATE TABLE `cat_media_data` (
	`media_id` INT(11) UNSIGNED NOT NULL,
	`attribute` VARCHAR(50) NOT NULL,
	`value` TEXT NOT NULL,
	INDEX `FK_cat_media_data_cat_media` (`media_id`),
	CONSTRAINT `FK_cat_media_data_cat_media` FOREIGN KEY (`media_id`) REFERENCES `cat_media_files` (`media_id`) ON UPDATE CASCADE ON DELETE CASCADE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
In letztere werden derzeit die Eigenschaften eingetragen, die getID3 aus dem ID3-Header ermitteln kann. Welche das sind, hängt unter anderem vom Dateityp ab. Bei Bildern können das z.B. die Auflösung und Informationen zum Kameramodell sein. Dateigröße und MIME-Typ werden immer ermittelt. Diese Tabelle könnte dann auch weitere Informationen zur Datei aufnehmen, z.B. eine Beschreibung.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Antworten