Exemple #1
0
        DirectoryStorage ReceiveIncludedDirectories()
        {
            DirectoryStorage directories = new DirectoryStorage();

            var result = _retrieve("SELECT `path`, `state` FROM `updates_include`");

            if (result == null)
            {
                return(directories);
            }

            do
            {
                var field = result.Fetch();

                var path = field[0].GetString();
                if (path.Substring(0, 1) == "$")
                {
                    path = path.Substring(1);
                }
                if (path.Substring(0, 1) == "/")
                {
                    path = path.Substring(1);
                }

                path = Path.Combine(_sourceDirectory, path);
                if (!Directory.Exists(path))
                {
                    FEL_LOG_WARN("sql.updates", "DBUpdater: Given update include directory \"{0}\" does not exist, skipped!", path);
                    continue;
                }

                directories.Add(new DirectoryEntry(path, field[1].GetString().ToEnum <State>()));

                FEL_LOG_TRACE("sql.updates", "Added applied file \"{0}\" from remote.", Path.GetFileName(path));
            } while (result.NextRow());

            result.Dispose();

            return(directories);
        }