Exemple #1
0
        public void load_cmds(utente u, string path_cmds)
        {
            this.list = new List <cmd>();

            mwl.xml.xml_doc d = new mwl.xml.xml_doc(path_cmds);
            foreach (mwl.xml.xml_node ng in d.nodes("//cmds/cmd-group"))
            {
                cmd_group grp = new cmd_group(ng.get_attr("title"), ng.get_attr("view")
                                              , ng.get_attr("type") != "" ? (cmd.type_cmd)Enum.Parse(typeof(cmd.type_cmd), ng.get_attr("type")) : cmd.type_cmd.none);
                if (grp.type == cmd.type_cmd.admin && !u.is_admin)
                {
                    continue;
                }

                foreach (mwl.xml.xml_node nc in ng.nodes("cmd"))
                {
                    cmd c = new cmd(grp)
                    {
                        prefix   = nc.get_attr("prefix"), only_active_view = nc.get_bool("only_active_view"), view = nc.get_attr("view", grp.view)
                        , action = nc.get_attr("action"), des = nc.get_attr("des"), action_optional = nc.get_attr("action-opt") == "true"
                        , obj    = nc.get_attr("object"), subobj = nc.get_attr("subobj"), subobj2 = nc.get_attr("subobj2")
                        , hidden = nc.get_attr("hidden") == "true"
                        , type   = nc.get_attr("type") != "" ? (cmd.type_cmd)Enum.Parse(typeof(cmd.type_cmd), nc.get_attr("type")) : cmd.type_cmd.none
                    };

                    if (c.type == cmd.type_cmd.admin && !u.is_admin)
                    {
                        continue;
                    }

                    this.list.Add(c);
                }
            }
        }
Exemple #2
0
        public void save_remember(string login, string password)
        {
            mwl.xml.xml_doc doc  = new mwl.xml.xml_doc();
            string          from = DateTime.Now.ToString("dd/MM/yyyy");

            doc.load_xml($@"<root data='{from}'><login/><password/></root>");
            doc.node("//root/login").data    = crypt.encrypt(login, from);
            doc.node("//root/password").data = crypt.encrypt(password, from);
            doc.save(path_file_data("remember.xml"));
        }
Exemple #3
0
        protected utente check_remember()
        {
            try {
                mwl.xml.xml_doc doc  = new mwl.xml.xml_doc(path_file_data("remember.xml"), true);
                DateTime        from = DateTime.Parse(doc.root_value("data"));
                if ((DateTime.Now - from).Days > 7)
                {
                    return(null);
                }

                string login = crypt.decrypt(doc.node("//root/login").data, doc.root_value("data"))
                , pwd        = crypt.decrypt(doc.node("//root/password").data, doc.root_value("data"));

                // admin?
                if (crypt.encode_tobase64(login) == mwl.cfg.cfg.key("ad_usr") &&
                    crypt.encode_tobase64(pwd) == mwl.cfg.cfg.key("ad_pwd"))
                {
                    return(new utente(0, "admin", crypt.decrypt(mwl.cfg.cfg.key("ad_mail"), pwd), true));
                }

                return(utente.dl.check_password(login, pwd));
            } catch { return(null); }
        }