public void save_remember(string login, string password) { xml_doc doc = new 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")); }
protected utente check_remember() { try { xml_doc doc = new xml_doc(path_file_data("remember.xml"), true); DateTime from = DateTime.Parse(doc.root_value("data")); if ((DateTime.Now - from).Days > 7) { return(null); } return(utente.al.check_login(crypt.decrypt(doc.node("//root/login").data, doc.root_value("data")) , crypt.decrypt(doc.node("//root/password").data, doc.root_value("data")))); } catch { return(null); } }
public void create_history_table(string table, string h_table, string fld_del = null, string fld_ref = null) { // elimino la tabella se già presente _doc.remove("/root/tables/table[@name-upper='" + h_table.ToUpper() + "']"); // copia dello schema senza gli indici XmlNode cols = _doc.add_xml("/root/tables", "<table nameupper='" + h_table.ToUpper() + "' name='" + h_table + "'/>").node .AppendChild(_doc.node("/root/tables/table[@name-upper='" + table.ToUpper() + "']/cols").node.CloneNode(true)); // inizializzo le colonne foreach (XmlNode col in cols.ChildNodes) { xml_node.set_attr(col, "nullable", "true"); } if (!string.IsNullOrEmpty(fld_del)) { xml_node.add_xml(cols, "<col name='" + fld_del + "' nameupper='" + fld_del.ToUpper() + "' type='datetime' />"); } if (!string.IsNullOrEmpty(fld_ref)) { xml_node.add_xml(cols, "<col name='" + fld_ref + "' nameupper='" + fld_ref.ToUpper() + "' type='datetime' />"); } xml_node.set_attrs(cols.SelectSingleNode("col[@autonumber='true']") , new Dictionary <string, string>() { { "nullable", "" }, { "autonumber", "" } }); }
protected void read_base_settings() { xml_doc bdoc = new xml_doc(app_setting("settings-file", false)); // network _network = bdoc.node("/base/networks/network").text; // vars Dictionary <string, config.var> vars = new Dictionary <string, config.var>(); _config.read_vars(bdoc, vars, xpath: "/base/vars"); _base_url = parse(vars["base_url"].value); }
public void load_doc(string doc_key, string vars_key, xml_doc doc, db_provider conn, Dictionary <string, object> keys = null, bool for_pg = false) { string var_key = !string.IsNullOrEmpty(vars_key) ? vars_key + "." : ""; // sql-select if (doc.exists("//sql-select")) { foreach (xml_node s in doc.nodes("//sql-select")) { xml_node ref_node = s; foreach (DataRow r in conn.dt_table(_core.parse(s.get_attr("qry"), keys)).Rows) { foreach (xml_node n in _core.parse_nodes(s.clone_childs(s), keys, r)) { ref_node = ref_node.add_after(n); } } } while (true) { xml_node s = doc.node("//sql-select"); if (!s.remove()) { break; } } } // aggiungo string nkey = ""; try { foreach (xml_node var in doc.nodes("/config//folders/folder")) { nkey = var_key + var.get_attr("name"); _folders.Add(nkey, new folder(doc_key, nkey, _core.parse(var.get_val()), for_pg)); } } catch (Exception ex) { throw new Exception("chiave folders.'" + nkey + "' - " + ex.Message); } nkey = ""; try { foreach (xml_node tbl in doc.nodes("/config//tables/table")) { nkey = var_key + tbl.get_attr("name"); _tables.Add(nkey, new table(doc_key, nkey, tbl, for_pg)); } } catch (Exception ex) { throw new Exception("chiave tables.'" + nkey + "' - " + ex.Message); } nkey = ""; try { foreach (xml_node tbl in doc.nodes("/config/html-blocks/html-block")) { nkey = var_key + tbl.get_attr("name"); html_block b = new html_block(doc_key, nkey, tbl.text, for_pg); foreach (xml_node f in tbl.nodes("cond")) { b.add_cond(f.get_attr("name"), f.text); } _html_blocks.Add(nkey, b); } } catch (Exception ex) { throw new Exception("chiave html-blocks.'" + nkey + "' - " + ex.Message); } nkey = ""; try { foreach (xml_node qry in doc.nodes("/config//queries/*")) { if (qry.name == "query") { nkey = var_key + qry.get_attr("name"); query q = new query(doc_key, nkey, qry.text, qry.get_attr("des"), for_pg); foreach (xml_node f in qry.nodes("cond")) { q.add_cond(f.get_attr("name"), f.text); } _queries.Add(nkey, q); } else if (qry.name == "query_do") { nkey = var_key + qry.get_attr("name"); _queries.Add(nkey, new query(doc_key, nkey, qry.get_attr("des"), for_pg) { tp = query.tp_query.do_while, text_do = qry.sub_node("do").text, text_while = qry.sub_node("while").text }); } else if (qry.name == "queries") { nkey = var_key + qry.get_attr("name"); query q = new query(doc_key, nkey, qry.get_attr("des"), for_pg); _queries.Add(nkey, q); foreach (xml_node q2 in qry.nodes("*")) { if (q2.name == "query") { q.add_query(q2.text); } else if (q2.name == "exec_query") { foreach (string q3 in _queries[q2.get_attr("name")].queries) { q.add_query(q3); } } } } } } catch (Exception ex) { throw new Exception("chiave queries.'" + nkey + "' - " + ex.Message); } }