/** * Magic method to set user info * @param string $detail * @returns string */ public function __set($detail, $value) { parent::__set($detail, $value); switch ($detail) { case 'password': $this->user->setPassword($value); break; case 'role': if (is_string($value)) { $value = array_pad(explode('|', $value, 2), 2, ''); } if (!is_array($value) || count($value) != 2 || $value[0] != 'role') { I2CE::raiseError("Invalid role " . print_r($role, true)); break; } $this->user->role = $value[1]; break; case 'username': $this->user->username = $value; break; default: if (!in_array($detail, $this->allowedDetails)) { break; } if ($detail == 'locale') { $value = I2CE_Locales::ensureSelectableLocale($value); } $this->user->{$detail} = $value; } }