Example #1
0
    IEnumerator MergeTrainingFile(string ScreenNameType, string Type, string DownloadString, string ActionType)
    {
        // remove old data
        string URL    = UserBlobManager.GetComponent <UserBlobManager>().ServerURL + "uw.php";
        string hash   = UserBlobManager.GetComponent <UserBlobManager>().ServerHash;
        string Action = "remove_upload_data";

        if (ActionType == "Everyone")
        {
            Action = "remove_share_data";
        }

        WWWForm form = new WWWForm();

        form.AddField("myform_hash", hash);
        form.AddField("action", Action);
        form.AddField("myform_screennametype", ScreenNameType);
        WWW w = new WWW(URL, form);

        yield return(w);

        if (w.error != null)
        {
            print(w.error);
        }
        else
        {
            SaveTrainingData tempTraining = new SaveTrainingData();
            tempTraining = (SaveTrainingData)DeserializeObject(DownloadString, "SaveTrainingData");

            // get data to add
            SaveTrainingData UserTrainingData = new SaveTrainingData();
            for (int i = 0; i < UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData.Count; i++)
            {
                UserTrainingData.Add(UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData[i]);
            }

            // merge data
            for (int i = 0; i < tempTraining.Training.Length; i++)
            {
                // check for duplicates
                bool duplicateFound = false;
                for (int j = 0; j < UserTrainingData.Training.Length; j++)
                {
                    if (tempTraining.Training[i].Name == UserTrainingData.Training[j].Name)
                    {
                        duplicateFound = true;
                    }
                }
                if (!duplicateFound)
                {
                    UserTrainingData.Add(tempTraining.Training[i]);
                }
            }

            // upload file
            string Data  = SerializeObject(UserTrainingData, "SaveTrainingData");
            int    index = Data.IndexOf(System.Environment.NewLine);
            Data = Data.Substring(index + System.Environment.NewLine.Length);
            StartCoroutine(UploadFile(ScreenNameType, "Training", Data, ActionType));
        }
        w.Dispose();
    }
Example #2
0
    IEnumerator UploadTrainingFile(string FriendName, string ActionType)
    {
        string formText       = "";
        string URL            = UserBlobManager.GetComponent <UserBlobManager>().ServerURL + "uw.php";
        string hash           = UserBlobManager.GetComponent <UserBlobManager>().ServerHash;
        string ScreenNameType = FriendName + "_Training";
        string Action         = "get_upload_data";

        if (ActionType == "Everyone")
        {
            Action = "get_share_data";
        }

        WWWForm form = new WWWForm();

        form.AddField("action", Action);
        form.AddField("myform_screennametype", ScreenNameType);
        form.AddField("myform_type", "Training");
        form.AddField("myform_hash", hash);
        WWW w = new WWW(URL, form);

        yield return(w);

        formText = w.text.ToString();
        print(formText);

        if (w.error != null)
        {
            print(w.error);
        }
        else
        {
            if (formText.Contains("HASH code is different from your app"))
            {
                print("Can't connect");
            }
            else
            {
                if (!formText.Contains("Cant Find Upload Data") && formText != "\r\n")
                {
                    // merge file
                    print("Merge Upload File");
                    StartCoroutine(MergeTrainingFile(ScreenNameType, "Training", formText, ActionType));
                }
                else
                {
                    // serialize
                    SaveTrainingData UserTrainingData = new SaveTrainingData();
                    for (int i = 0; i < UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData.Count; i++)
                    {
                        UserTrainingData.Add(UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData[i]);
                    }

                    string Data  = SerializeObject(UserTrainingData, "SaveTrainingData");
                    int    index = Data.IndexOf(System.Environment.NewLine);
                    Data = Data.Substring(index + System.Environment.NewLine.Length);
                    // upload file
                    print("Upload File");
                    StartCoroutine(UploadFile(ScreenNameType, "Training", Data, ActionType));
                }
            }
        }
        w.Dispose();
    }