Ejemplo n.º 1
0
        public bool AddPick (ProfilePickInfo pick)
        {
            if (GetUserProfile (pick.CreatorUUID) == null)
                return false;

            //It might be updating, delete the old
            GD.Delete ("userpicks", new string[1] { "PickUUID" }, new object[1] { pick.PickUUID });
            List<object> values = new List<object> ();
            values.Add (pick.Name);
            values.Add (pick.SimName);
            values.Add (pick.CreatorUUID);
            values.Add (pick.PickUUID);
            values.Add (OSDParser.SerializeJsonString (pick.ToOSD ()));
            return GD.Insert ("userpicks", values.ToArray ());
        }
Ejemplo n.º 2
0
        public void PickInfoUpdate(IClientAPI remoteClient, UUID pickID, UUID creatorID, bool topPick, string name, string desc, UUID snapshotID, int sortOrder, bool enabled, Vector3d globalPos)
        {
            IUserProfileInfo info = ProfileFrontend.GetUserProfile(remoteClient.AgentId);
            if (info == null)
                return;

            ScenePresence p = GetRegionUserIsIn(remoteClient.AgentId).GetScenePresence(remoteClient.AgentId);

            UUID parceluuid = p.currentParcelUUID;
            string user = "******";
            string OrigionalName = "(unknown)";

            Vector3 pos_global = new Vector3(globalPos);

            IParcelManagementModule parcelManagement = GetRegionUserIsIn(remoteClient.AgentId).RequestModuleInterface<IParcelManagementModule>();
            if (parcelManagement != null)
            {
                ILandObject targetlandObj = parcelManagement.GetLandObject(pos_global.X / Constants.RegionSize, pos_global.Y / Constants.RegionSize);

                if (targetlandObj != null)
                {
                    UserAccount parcelOwner = GetRegionUserIsIn(remoteClient.AgentId).UserAccountService.GetUserAccount(UUID.Zero, targetlandObj.LandData.OwnerID);
                    if (parcelOwner != null)
                        user = parcelOwner.Name;

                    parceluuid = targetlandObj.LandData.InfoUUID;

                    OrigionalName = targetlandObj.LandData.Name;
                }
            }

            if (!info.Picks.ContainsKey(pickID.ToString()))
            {
                ProfilePickInfo values = new ProfilePickInfo();
                values.PickUUID = pickID;
                values.CreatorUUID = creatorID;
                values.TopPick = topPick ? 1 : 0;
                values.ParcelUUID = parceluuid;
                values.Name = name;
                values.Description = desc;
                values.SnapshotUUID = snapshotID;
                values.User = user;
                values.OriginalName = OrigionalName;
                values.SimName = remoteClient.Scene.RegionInfo.RegionName;
                values.GlobalPos = pos_global;
                values.SortOrder = sortOrder;
                values.Enabled = enabled ? 1 : 0;
                info.Picks.Add(pickID.ToString(), values.ToOSD());
            }
            else
            {
                ProfilePickInfo oldpick = new ProfilePickInfo();
                oldpick.FromOSD((OSDMap)info.Picks[pickID.ToString()]);
                //Security check
                if (oldpick.CreatorUUID != remoteClient.AgentId)
                    return;

                oldpick.TopPick = topPick ? 1 : 0;
                oldpick.ParcelUUID = parceluuid;
                oldpick.Name = name;
                oldpick.Description = desc;
                oldpick.SnapshotUUID = snapshotID;
                oldpick.User = user;
                oldpick.OriginalName = OrigionalName;
                oldpick.SimName = remoteClient.Scene.RegionInfo.RegionName;
                oldpick.GlobalPos = pos_global;
                oldpick.SortOrder = sortOrder;
                oldpick.Enabled = enabled ? 1 : 0;
                info.Picks.Remove(pickID.ToString());
                info.Picks.Add(pickID.ToString(), oldpick.ToOSD());
            }
            ProfileFrontend.UpdateUserProfile(info);
        }
Ejemplo n.º 3
0
        public bool AddPick(ProfilePickInfo pick)
        {
            object remoteValue = DoRemote(pick);
            if (remoteValue != null || m_doRemoteOnly)
                return remoteValue != null && (bool)remoteValue;

            if (GetUserProfile(pick.CreatorUUID) == null)
                return false;

            //It might be updating, delete the old
            QueryFilter filter = new QueryFilter();
            filter.andFilters["PickUUID"] = pick.PickUUID;
            GD.Delete("userpicks", filter);
            List<object> values = new List<object>
                                      {
                                          pick.Name.MySqlEscape(),
                                          pick.SimName.MySqlEscape(),
                                          pick.CreatorUUID,
                                          pick.PickUUID,
                                          OSDParser.SerializeJsonString(pick.ToOSD())
                                      };
            return GD.Insert("userpicks", values.ToArray());
        }
Ejemplo n.º 4
0
 public bool AddPick (ProfilePickInfo pick)
 {
     try
     {
         List<string> serverURIs = m_registry.RequestModuleInterface<IConfigurationService> ().FindValueOf (pick.CreatorUUID.ToString (), "RemoteServerURI");
         foreach (string url in serverURIs)
         {
             OSDMap map = new OSDMap ();
             map["Method"] = "addpick";
             map["Pick"] = pick.ToOSD ();
             WebUtils.PostToService (url + "osd", map, false, false);
         }
     }
     catch (Exception e)
     {
         m_log.DebugFormat ("[AuroraRemoteProfileConnector]: Exception when contacting server: {0}", e.ToString ());
     }
     return true;
 }
Ejemplo n.º 5
0
        public void PickInfoUpdate(IClientAPI remoteClient, UUID pickID, UUID creatorID, bool topPick, string name, string desc, UUID snapshotID, int sortOrder, bool enabled, Vector3d globalPos)
        {
            IUserProfileInfo info = ProfileFrontend.GetUserProfile(remoteClient.AgentId);
            if (info == null)
                return;

            ScenePresence p = GetRegionUserIsIn(remoteClient.AgentId).GetScenePresence(remoteClient.AgentId);

            UUID parceluuid = p.currentParcelUUID;
            string user = "******";
            string OrigionalName = "(unknown)";

            Vector3 pos_global = new Vector3(globalPos);

            ILandObject targetlandObj = GetRegionUserIsIn(remoteClient.AgentId).LandChannel.GetLandObject(p.AbsolutePosition.X, p.AbsolutePosition.Y);

            if (targetlandObj != null)
            {
                UserAccount parcelOwner = GetRegionUserIsIn(remoteClient.AgentId).UserAccountService.GetUserAccount(UUID.Zero, targetlandObj.LandData.OwnerID);
                if (parcelOwner != null)
                    user = parcelOwner.Name;

                parceluuid = targetlandObj.LandData.InfoUUID;

                OrigionalName = targetlandObj.LandData.Name;
            }

            OSDMap picks = Util.DictionaryToOSD(info.Picks);
            if (!picks.ContainsKey(pickID.ToString()))
            {
                ProfilePickInfo values = new ProfilePickInfo();
                values.PickUUID = pickID;
                values.CreatorUUID = creatorID;
                values.TopPick = topPick ? 1 : 0;
                values.ParcelUUID = parceluuid;
                values.Name = name;
                values.Description = desc;
                values.SnapshotUUID = snapshotID;
                values.User = user;
                values.OriginalName = OrigionalName;
                values.SimName = remoteClient.Scene.RegionInfo.RegionName;
                values.GlobalPos = pos_global;
                values.SortOrder = sortOrder;
                values.Enabled = enabled ? 1 : 0;
                picks.Add(pickID.ToString(), values.ToOSD());
            }
            else
            {
                ProfilePickInfo oldpick = new ProfilePickInfo();
                oldpick.FromOSD((OSDMap)picks[pickID.ToString()]);
                //Security check
                if (oldpick.CreatorUUID != remoteClient.AgentId)
                    return;

                oldpick.TopPick = topPick ? 1 : 0;
                oldpick.ParcelUUID = parceluuid;
                oldpick.Name = name;
                oldpick.Description = desc;
                oldpick.SnapshotUUID = snapshotID;
                oldpick.User = user;
                oldpick.OriginalName = OrigionalName;
                oldpick.SimName = remoteClient.Scene.RegionInfo.RegionName;
                oldpick.GlobalPos = pos_global;
                oldpick.SortOrder = sortOrder;
                oldpick.Enabled = enabled ? 1 : 0;
                picks.Remove(pickID.ToString());
                picks.Add(pickID.ToString(), Util.DictionaryToOSD(oldpick.ToKeyValuePairs()));
            }
            info.Picks = Util.OSDToDictionary(picks);
            ProfileFrontend.UpdateUserProfile(info);
        }