Ejemplo n.º 1
0
        public ActionResult AdrenaAddMember(string MasterSecret, string Name, string Secret, string Options)
        {
            string MbFld = Server.MapPath("~/AdrenaMembers");

            if (0 != string.Compare(MasterSecret, AdrenaMemberHelper.SpecialSecret))
            {
                ADRENA_MEMBER Mb = new ADRENA_MEMBER();
                if (!AdrenaMemberHelper.AdrenaMemberFindWithSecret(out Mb, MbFld, MasterSecret))
                {
                    ViewBag.LastError = "INVALID SECRET!";

                    return(View());
                }
            }

            if (!string.IsNullOrEmpty(Secret))
            {
                if (Options.ToUpper().Contains("~BAN"))
                {
                    if (!AdrenaMemberHelper.AdrenaMemberBan(MbFld, Secret))
                    {
                        ViewBag.LastError = "COULD NOT BAN USER!";
                    }

                    string LgPth = Server.MapPath("~/AdrenaLog");
                    AdrenaMemberHelper.AdrenaMemberStoreBanLog(LgPth, Secret);
                }

                ViewBag.Success = true;

                return(View());
            }

            if (string.IsNullOrEmpty(Name))
            {
                ViewBag.Success = true;

                return(View());
            }

            string NewMbScrt;

            if (!AdrenaMemberHelper.AdrenaMemberGenerateSecret(out NewMbScrt))
            {
                ViewBag.LastError = "CANNOT GENERATE SECRET!";

                return(View());
            }

            bool SingleUse = false;

            if (Options.ToUpper().Contains("~SU"))
            {
                SingleUse = true;
            }

            if (!AdrenaMemberHelper.AdrenaMemberAdd(Name, MbFld, NewMbScrt, SingleUse))
            {
                ViewBag.LastError = "CANNOT ADD MEMBER!";

                return(View());
            }

            ViewBag.Secret = NewMbScrt;

            return(View());
        }
Ejemplo n.º 2
0
        public ActionResult AdrenaUpload(HttpPostedFileBase Data, string MemberSecret, string AdrenaVersion)
        {
            try {
                if (ADRENA_GLOBALS.IsErasingOldFiles)
                {
                    ViewBag.LastError = "SYSTEM IS BEING CLEANED! TRY AGAIN IN A FEW SECONDS!";

                    return(View());
                }

                string        MbFolder = Server.MapPath("~/AdrenaMembers");
                ADRENA_MEMBER Mb       = new ADRENA_MEMBER();
                if (!AdrenaMemberHelper.AdrenaMemberFindWithSecret(out Mb, MbFolder, MemberSecret))
                {
                    ViewBag.LastError = "MEMBER DOES NOT EXIST!";

                    return(View());
                }

                if (AdrenaMemberHelper.AdrenaMemberIsLicenseSingleUse(in Mb))
                {
                    AdrenaMemberHelper.AdrenaMemberBan(MbFolder, Mb.Secret);

                    ViewBag.LastError = "YOUR LICENSE WAS SINGLE USE!";

                    return(View());
                }

                if (AdrenaMemberHelper.AdrenaMemberHasLicenseExpired(in Mb))
                {
                    AdrenaMemberHelper.AdrenaMemberBan(MbFolder, Mb.Secret);

                    ViewBag.LastError = "YOUR LICENSE HAS EXPIRED!";

                    return(View());
                }

                ++Mb.NumberOfUploads;
                ViewBag.MemberName = Mb.Name;
                if (!AdrenaMemberHelper.AdrenaMemberUpdate(MbFolder, in Mb))
                {
                    ViewBag.LastError = "CANNOT UPDATE MEMBER INFORMATION!";

                    return(View());
                }

                string BinFolder    = Server.MapPath("~/AdrenaBinaries");
                string InputFolder  = Server.MapPath("~/AdrenaInput");
                string OutputFolder = Server.MapPath("~/AdrenaOutput");
                string ProtectedFile;
                string Identification;

                if (!AdrenaProtectHelper.AdrenaProtectFile(in Data, in AdrenaVersion, in BinFolder, in InputFolder,
                                                           in OutputFolder, out ProtectedFile, out Identification))
                {
                    ViewBag.LastError = "AN INTERNAL ERROR OCCURED!";

                    return(View());
                }

                ViewBag.ProtectLink    = ProtectedFile;
                ViewBag.Identification = Identification;
                AdrenaSystem.AdrenaCleanIfNeeded(OutputFolder);

                return(View());
            }

            catch {
                return(View());
            }
        }