[solved] DB-Prefix in Plugin nutzen

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[solved] DB-Prefix in Plugin nutzen

Beitrag von rethus »

wie nutze ich eigentlich das richtige DB-Prefix in einem Plugin.

Das DB-Prefix ist ja nicht zwingend "con_", da dies bei der Installation frei gewählt werden kann.
Das Plugin-DB-Prefix ist ja "default-PREFIX" + "pi_".

Nun würde mich interessieren:
  1. Sollte ich meine Tabelle bei $cfg["tab"] registrieren, wenn ja warum.
  2. Wie lese ich das default-PREFIX aus?
Zuletzt geändert von rethus am Mi 8. Jan 2014, 12:34, insgesamt 1-mal geändert.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: DB-Prefix in Plugin nutzen

Beitrag von frederic.schneider_4fb »

Guten Tag,

der Datenbanktabellen-Präfix setzt sich zusammen aus dem Inhalt von $cfg['sql']['sqlprefix'] und dem String "_pi". Standardmäßig lautet der Präfix: con_pi. Um in einer Plugin-SQL-Datei (plugin_install.sql, plugin_uninstall.sql usw.) den Präfix ansprechen zu können, musst Du !PREFIX! angeben. Der PluginManager lehnt im Übrigen SQL-Statements ab, die kein Vorkommen des Platzhalters !PREFIX! haben. Beispiel:

Code: Alles auswählen

CREATE TABLE IF NOT EXISTS !PREFIX!_linkwhitelist (`url` varchar(255) NOT NULL default 0, `lastview` int(11) NOT NULL default 0, PRIMARY KEY  (`url`))
Eine Datenbanktabelle kann folglich z. B. heißen: con_pi_linkwhitelist. Du kannst, aber musst nicht die Datenbanktabelle im Array $cfg['tab'] registrieren. Optimalerweise nimmst Du die Registrierung bei Plugins in der config.plugin.php-Datei vor. Beispiel:

Code: Alles auswählen

$cfg['tab']['whitelist'] = $cfg['sql']['sqlprefix'] . '_pi_linkwhitelist';
Frederic Schneider
Entwickler bei der four for business AG
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: DB-Prefix in Plugin nutzen

Beitrag von rethus »

Danke, genau das hab ich gesucht: $cfg['sql']['sqlprefix']
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Antworten