public function add($firstName, $lastName, $email, $password, $userLevel) { $uuid = Model_OpenSim::getRandomId(); $passwordSalt = md5($uuid); $auth = array('UUID' => $uuid, 'passwordHash' => md5(md5($password) . ':' . $passwordSalt), 'passwordSalt' => $passwordSalt, 'webLoginKey' => '00000000-0000-0000-0000-000000000000'); $user = array('PrincipalID' => $uuid, 'ScopeID' => '00000000-0000-0000-0000-000000000000', 'FirstName' => $firstName, 'LastName' => $lastName, 'Email' => $email, 'Created' => (int) time(), 'UserTitle' => 'Local User', 'UserLevel' => (int) $userLevel); $this->db->insert('auth', $auth); $this->db->insert('useraccounts', $user); $rootFolderId = Model_OpenSim::getRandomId(); $this->db->insert('inventoryfolders', array('folderName' => 'My Inventory', 'type' => '9', 'version' => '1', 'folderID' => $rootFolderId, 'agentID' => $uuid, 'parentFolderID' => '00000000-0000-0000-0000-000000000000')); $this->db->insert('inventoryfolders', array('folderName' => 'Calling Cards', 'type' => '2', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Body Parts', 'type' => '13', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Objects', 'type' => '6', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Animations', 'type' => '20', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Photo Album', 'type' => '15', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Landmarks', 'type' => '3', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Clothing', 'type' => '5', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Lost And Found', 'type' => '16', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Sounds', 'type' => '1', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Textures', 'type' => '0', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Gestures', 'type' => '21', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Notecards', 'type' => '7', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Trash', 'type' => '14', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); $this->db->insert('inventoryfolders', array('folderName' => 'Scripts', 'type' => '10', 'version' => '1', 'folderID' => Model_OpenSim::getRandomId(), 'agentID' => $uuid, 'parentFolderID' => $rootFolderId)); return $uuid; }
public function add(array $data) { if (!isset($data['CreatorID']) || !isset($data['RegionUUID'])) { return false; } $data['CreationDate'] = time(); if (count($this->db->fetchOne("SELECT UUID FROM auth WHERE UUID='{$data['CreatorID']}'")) != 1) { return false; } $data['OwnerID'] = isset($data['OwnerID']) ? $data['OwnerID'] : $data['CreatorID']; $data['LastOwnerID'] = isset($data['LastOwnerID']) ? $data['LastOwnerID'] : $data['CreatorID']; if (count($this->db->fetchOne("SELECT uuid FROM regions WHERE uuid='{$data['RegionUUID']}'")) != 1) { return false; } $data['UUID'] = $data['SceneGroupID'] = Model_OpenSim::getRandomId(); $primsData = array(); $primsFields = $this->db->fetchAll('SHOW COLUMNS FROM prims'); foreach ($primsFields as $p) { $f = $p['Field']; if (array_key_exists($f, $data)) { $primsData[$f] = $data[$f]; } } $shapeData = array(); $shapeFields = $this->db->fetchAll('SHOW COLUMNS FROM primshapes'); foreach ($shapeFields as $p) { $f = $p['Field']; if (array_key_exists($f, $data)) { $shapeData[$f] = $data[$f]; } } $this->db->insert('prims', $primsData); $this->db->insert('primshapes', $shapeData); return $data['UUID']; }