Einzelnen Beitrag anzeigen
Alt 16.07.2008, 03:02   #1 (permalink)
BunzBunz
PostRank: 0
 
Registriert seit: 16.07.2008
Beiträge: 2
wpdb tabellen als user anlegen lassen

Hallo zusammen,
ich bastel grade an einer Pluginerweiterung zum GeoAddress-plugin.
Weiteres verwendetes Plugin: Registered Only

Mein Ziel:
Jeder Benutzer soll seine eigene Kontakt-Datenbank haben.

Meine Ansatz:
Ich lese die Userdaten via action "user_register" oder "wp_login" mit einer function aus:

PHP-Code:
function leed_user_install(){
$user_obj wp_get_current_user();
$user_info get_userdata($user_obj->id);
  global 
$wpdb;
  
$table_name $wpdb->prefix$user_info->user_nicename "geoaddress";
  
$structure " CREATE TABLE IF NOT EXISTS $table_name (
  id int(11) NOT NULL auto_increment,
  cpName varchar(50) NOT NULL,
  cpStrasse varchar(50) NOT NULL,
  cpNr varchar(10) NOT NULL,
  cpPlz varchar(10) NOT NULL,
  cpOrt varchar(50) NOT NULL,
  cpLand varchar(10) NOT NULL,
  cpTelefon varchar(50) NOT NULL,
  cpFax varchar(50) NOT NULL,
  cpEmail varchar(100) NOT NULL,
  cpWeb varchar(255) NOT NULL,
  cpCat varchar(255) NOT NULL,
  latitude varchar(30) NOT NULL,
  longitude varchar(30) NOT NULL,
  active tinyint(1) NOT NULL default '0',
  validatecode varchar(100) NOT NULL,
  valid tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM  AUTO_INCREMENT=2 ;
"
;

$wpdb->query($structure);


Ich hab schon mit echo getestet, was in der Variable steht: Tatsächlich der User. Wenn ich jetzt als Admin beim Login für einen Aufruf sorge, dann legt er auch brav die Tabelle an.
Aber als User darf er das scheinbar nicht? Da ich auch ein User-level-plugin drin hab, hab ich einem Testuser mal das Level 10 verpasst - bringt nix. Aber echo bestätigt mir, dass in der Variable die tatsächlichen gewünschten Daten drin stehen.

Was wäre die Lösung?
Muss ich die Variablen irgendwo hin übergeben das der Admin die dann übernimmt oder bekommt man das hin, dass die User in die DB schreiben dürfen?

Irgendwie stehe ich mittler Weile auf dem Schlauch.
BunzBunz ist offline   Mit Zitat antworten