Skip to content

PetersSharp/DokuWikiConnector

Repository files navigation

DokuWikiConnector

Release Issues License

####.NET RPC-XML DokuWiki Connector API & Auth manager

this part of stCoCServer, see stCoCServer

####Features:

  • API .NET library allows to XML-RPC connect to remote DokuWiki.

  • Support all DokuWiki API operations.

  • Local DokuWiki file credential authenticate managements.

  • DokuWikiConnector source

  • DokuWikiConnector Test suite

  • DokuWikiConnector Method Documentation

  • Plugins publish dokuwiki.org

####Example use stDokuWiki.Connector:

using stDokuWiki.Connector;
using stDokuWiki.Data;

    RpcXml xml = new RpcXml("http://you-dokuwiki-url.org/", "userquest", "userquest");
    XMLMethodPageList dokuList = xml.DokuPageList("wiki:") as XMLMethodPageList;
    foreach (var items in dokuList.Params.Param.Value.Array.Data.Value)
    {
        foreach (var item in items.Struct.Member)
        {
            Console.WriteLine(
              item.Name +
              ((string.IsNullOrWhiteSpace(item.Value.Int)) ? " " : " [" + item.Value.Int + "] ") +
              ((string.IsNullOrWhiteSpace(item.Value.String)) ? "" : item.Value.String)
            );
        }
    }

####Example use stDokuWiki.AuthManager:

using stDokuWiki.AuthManager
using stDokuWiki.Data;

    DokuAuthManager dam;
    try
    {
       dam = new DokuAuthManager("/path/to/dokuwiki/root/dir","mygroup");

       List<DokuAuthUser> uadd = new List<DokuAuthUser>()
       {
          new DokuAuthUser() { Login = "userLogin1", Password = "pwd1234", Name = "Nikolas", Email = "[email protected]", Group = "personalGroup"},
          new DokuAuthUser() { ... },
       };
       List<DokuAuthUser> udel = new List<DokuAuthUser>()
       {
          new DokuAuthUser() { Login = "userLogin2" },
          new DokuAuthUser() { ... },
       };

       dam.UserAdd(uadd);
       dam.UserDelete(udel);
       dam.AuthSave();

       DokuAuthUser dau = dam.UserGet("Nikolas");
       if (dau != null)
       {
          Console.WriteLine(
             dau.Name + " : " + dau.Email
          );
       }
    }
    catch (RpcXmlException e)
    {
        Console.WriteLine("[" + e.errcode + "] " +e.Message); return;
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message); return;
    }

About

.NET RPC-XML DokuWiki Connector API & Auth manager

Resources

License

Stars

Watchers

Forks

Packages

No packages published