Exemple #1
0
 /// <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();
 }
Exemple #2
0
 /// <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;
 }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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);
        }