protected void initCtrls(bool reconnect = true) { // inizializzazioni conn_des.InnerText = _dbname != "" ? cfg_value("/root/dbconns/dbconn[@name='" + _dbname + "']", "des") : ""; view_tables.Visible = view_meta.Visible = view_schema.Visible = title_infos.Visible = import_pocket.Visible = gen_schema.Visible = integrita_schema.Visible = upgrade_schema.Visible = init_infos.Visible = exp_all.Visible = exp_db.Visible = false; infos.Controls.Clear(); // utente uid.InnerText = userLogged; utype.InnerText = userTypeLogged; uconn.InnerText = userConn; try { uvis.InnerText = classPage.user_childs(userId); } catch (Exception ex) { uvis.InnerText = ex.Message; } // mi connetto db_schema db = null; try { db = _dbname != "" ? conn_db(_dbname, true, reconnect) : null; conn_state.InnerText = "connessione effettuata con successo"; conn_ver.InnerText = db.ver == "" ? "versione non presente, è necessario inizializzare le infos!" : db.ver; last_ver.InnerText = _dbname != "" ? conn_curver(_dbname) : "nessun database selezionato"; } catch (Exception ex) { _dbname = ""; conn_state.InnerText = "non è stato possibile effettuare la connessione: " + ex.Message; classPage.regScript(classPage.scriptStartAlert("Si è verificato un errore: " + ex.Message + ". <br><br><b>E' consigliabile un ripristino del database o selezionare una connessione raggiungibile.</b>", "Caricamento pagina")); } // check utenti check_utenti.InnerText = ""; set_utenti.Visible = false; if (db != null && db.name != base_conn() && xmlDoc.node_val(conn_group(db.name), "name") == "web") { remove_cfg_style(check_utenti, "rcvry-sec-err"); check_utenti.InnerText = "ok"; db_schema base_db = conn_db_base(); cfg_var("user_tables").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() .ForEach(tbl => { string reason = ""; if (!base_db.same_contents(tbl.Trim(), db, out reason)) { add_cfg_style(check_utenti, "rcvry-sec-err"); check_utenti.InnerText = reason; set_utenti.Visible = true; return; } }); } // aggiorno i controlli try { // tables if (view_tables.Visible = db != null && db.exist_schema) { view_tables.HRef = getPageRef("tables_list", "dbname=" + _dbname); } if (_dbname != "") { init_infos.Visible = db.ver == ""; gen_schema.Visible = exp_db.Visible = true; exp_all.Visible = integrita_schema.Visible = db.ver != ""; // meta if (view_meta.Visible = db.exist_meta && File.Exists(schema_path_fromconn(_dbname, false, false, true, db.ver))) { view_meta.HRef = schema_path_fromconn(_dbname, false, true, true, db.ver); } // schema if (view_schema.Visible = db.exist_schema && File.Exists(schema_path_fromconn(_dbname, false, false, false, db.ver))) { view_schema.HRef = schema_path_fromconn(_dbname, false, true, false, db.ver); } // infos if (db.existInfos()) { title_infos.Visible = true; foreach (Dictionary <string, string> info in db.getInfos()) { ctrlsToParent(infos, new label(info["name"] + ":", "rcvry-sec-subtitle").control , dd_exclude("name", db.info_story(info["name"]))); } } // pockets import_pocket.Visible = true; // upgrade schema if (db.ver != "" && db.ver != db.cur_ver && db.ver_long < db.cur_ver_long) { upgrade_schema.Visible = true; } } // backups refresh_backups(db); // scripts refresh_scripts(db); } catch (Exception ex) { classPage.regScript(classPage.scriptStartAlert("Si è verificato un errore: " + ex.Message + ". <br><br><b>E' consigliabile un ripristino del database o selezionare una connessione raggiungibile.</b>" , "Caricamento pagina")); } }