Ejemplo n.º 1
0
 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'];
 }
Ejemplo n.º 2
0
 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;
 }