viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
using System; using System.Data.SQLite; namespace Dizzy { public static class GlobalConfig { /* La password non può venire memorizzata nel database (o almeno * non per ora) per motivi di sicurezza, e quindi viene memorizzata * temporaneamente qui */ public static string password; /* Questa proprietà ci permette di capire se abbiamo effettuato * l'autenticazione, ovvero se i dati di autenticazione sono presenti */ private static bool _authenticated; public static bool authenticated { get { } set { } } /* Alcune variabili che ci torneranno utili in seguito */ private static SQLiteConnection conn; /* Piccolo buffer */ private static string val; static GlobalConfig () { // Controlliamo che il database sia correttamente // inizializzato. Init (); } /* Carichiamo i valori di default senza sovrascrivere personalizzazioni * già esistenti */ public static void LoadDefaults () { /* Il server di default */ if (GetValue("server") == "") InsertValue("server", "poisson.phc.unipi.it"); /* La cartella dove trovare le cartelle di tutti gli utenti, * o più genericamente i file */ if (GetValue("folder") == "") InsertValue("folder", "/nobackup"); /* Dove si trova l'indice */ if (GetValue("index") == "") InsertValue("index", "/nobackup/robol/index.db"); } public static string GetValue(string field) { lock(conn) { SQLiteCommand sqlCmd; conn.Open (); sqlCmd = conn.CreateCommand (); sqlCmd.CommandText = "SELECT value FROM config WHERE field = '" + field + "';"; SQLiteDataReader reader = sqlCmd.ExecuteReader (); if (reader.Read()) val = reader.GetString(0); else val = ""; conn.Close (); return val; } } public static void InsertValue(string field, string val) { lock(conn) { SQLiteCommand sqlCmd; conn.Open (); sqlCmd = conn.CreateCommand (); sqlCmd.CommandText = "INSERT OR REPLACE INTO config VALUES ('" + field + "', '" + val + "');"; sqlCmd.ExecuteNonQuery (); conn.Close (); } } private static void Init () { lock(conn) { SQLiteCommand sqlCmd; conn.Open (); sqlCmd = conn.CreateCommand (); sqlCmd.CommandText = "SELECT * FROM sqlite_master WHERE type='table';"; SQLiteDataReader reader = sqlCmd.ExecuteReader (); if(!reader.HasRows) { conn.Close (); InitialSetup (); } else conn.Close (); } } private static void InitialSetup () { // Dobbiamo creare la struttura del database SQLiteCommand sqlCmd; conn.Open (); // Tabelle delle configurazioni sqlCmd = conn.CreateCommand (); sqlCmd.CommandText = "CREATE TABLE config (field TEXT PRIMARY KEY, value TEXT);"; sqlCmd.ExecuteNonQuery (); // Tabella della lista sqlCmd = conn.CreateCommand (); sqlCmd.CommandText = "CREATE TABLE list (path TEXT PRIMARY KEY, user TEXT);"; sqlCmd.ExecuteNonQuery (); conn.Close (); } public static string ConfigDir () { string dir = ""; if (System.Environment.OSVersion.ToString ().Contains("Windows")) { System.Reflection.Assembly a = System.Reflection.Assembly.GetEntryAssembly (); dir = System.IO.Path.GetDirectoryName (a.Location); } else // Assumiamo qualcosa di Unix-like { dir = System.Environment.GetEnvironmentVariable("HOME"); dir += System.IO.Path.DirectorySeparatorChar + ".dizzy"; } if (!System.IO.Directory.Exists(dir)) System.IO.Directory.CreateDirectory (dir); return dir; } public static string ListFileName () { return ConfigDir () + System.IO.Path.DirectorySeparatorChar + "index.db"; } private static string DataBaseName () { string db = ConfigDir () + System.IO.Path.DirectorySeparatorChar + "config.sqlite"; if (!System.IO.File.Exists (db)) System.IO.File.Create (db); return db; } } }