/// <summary> /// get Home location, Exception to load Home page default (html template) /// </summary> private static void _WikiGetHome(stDokuWiki.WikiEngine.WikiFile wiki, string namesspace) { if (CoCWebSrv._WikiGetTarget(WikiRequestType.None, namesspace) == WikiFileType.None) { throw new WikiErrorPageException( ((namesspace.Contains(":")) ? namesspace : String.Empty) ); } throw new WikiErrorPageException(); }
/// <summary> /// Constructor /// </summary> /// <param name="wf">class WikiFile</param> /// <param name="count">File system total root name spaces</param> /// <param name="st">Scaning total time msec.</param> public WikiFSChangeEventArgs(WikiFile wf, int count, Int32 st = 0) { this.WikiFile = wf; this.Count = count; this.ScanTime = st; }
/// <summary> /// put page/media /// </summary> private static byte[] _WikiPutFile(stDokuWiki.WikiEngine.WikiFile wiki, WikiFileType type, string namesspace, WikiFileMeta wfm = null) { WikiData wd = null; switch (namesspace.Contains(":")) { case true: { switch (type) { case WikiFileType.FileWriteMd: { if (wfm == null) { throw new WikiErrorPageException( string.Format( "not write {0}, input data is empty", namesspace ) ); } wd = wiki.PutFile(namesspace, null, wfm); break; } case WikiFileType.FileWriteBinary: { wd = wiki.GetFile(namesspace); break; } case WikiFileType.FileWriteAttic: { throw new WikiNotImplementPageException(WikiFileType.FileWriteAttic.ToString()); } case WikiFileType.FileWriteMeta: { throw new WikiNotImplementPageException(WikiFileType.FileWriteMeta.ToString()); } default: case WikiFileType.FileReadMd: case WikiFileType.FileReadMeta: case WikiFileType.FileReadAttic: case WikiFileType.FileReadBinary: { throw new WikiErrorPageException( string.Format( "type set is read, not support for this version, name space: {0}", namesspace ) ); } } break; } case false: { throw new WikiErrorPageException( string.Format( "not valid name space: {0}", namesspace ) ); } } if ( (wd == null) || (wd.FileContent == null) || (wd.FileContent.Length == 0) ) { return(null); } return(wd.FileContent); }
/// <summary> /// get page/media /// </summary> private static byte[] _WikiGetFile(stDokuWiki.WikiEngine.WikiFile wiki, WikiFileType type, string namesspace) { WikiData wd = null; switch (namesspace.Contains(":")) { case true: { switch (type) { default: case WikiFileType.FileReadMd: case WikiFileType.FileWriteMd: { wd = wiki.GetFile(namesspace); break; } case WikiFileType.FileReadBinary: case WikiFileType.FileWriteBinary: { wd = wiki.GetFile(namesspace); break; } case WikiFileType.FileReadAttic: case WikiFileType.FileWriteAttic: { wd = wiki.GetFileFromAttic(namesspace, "0"); break; } case WikiFileType.FileReadMeta: { return(Encoding.UTF8.GetBytes( wiki.MetaListToMdString( wiki.GetFileMeta(namesspace) ) )); } case WikiFileType.FileWriteMeta: { throw new WikiNotImplementPageException(WikiFileType.FileWriteMeta.ToString()); } } break; } /// operation default case false: { switch (type) { default: case WikiFileType.FileReadMd: case WikiFileType.FileWriteMd: { wd = wiki.GetFile(":start"); break; } case WikiFileType.FileReadBinary: case WikiFileType.FileWriteBinary: { wd = wiki.GetFile(":logo.png"); break; } case WikiFileType.FileReadAttic: case WikiFileType.FileWriteAttic: { // TODO: get last from attic wd = wiki.GetFileFromAttic(":start", "0"); break; } case WikiFileType.FileReadMeta: { throw new WikiNotImplementPageException(WikiFileType.FileReadMeta.ToString()); } case WikiFileType.FileWriteMeta: { throw new WikiNotImplementPageException(WikiFileType.FileWriteMeta.ToString()); } } break; } } if ( (wd == null) || (wd.FileContent == null) || (wd.FileContent.Length == 0) ) { return(null); } return(wd.FileContent); }