示例#1
0
        private void MyToolWindow_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if ((bool)e.NewValue != true)
            {
                return;
            }

            EnvName.Text = "CodeMark";
            EnvValue.SelectAll();
        }
示例#2
0
        EnvValue GetMacroValue(
#if NO
            out string strStyleDirName,
            out string strTitleText,
            out string strReaderName
#endif
            )
        {
            string strError = "";
#if NO
            strStyleDirName = "";
            strTitleText = "";
            strReaderName = "";
#endif

            OpacApplication app = (OpacApplication)this.Page.Application["app"];
            if (app == null)
            {
                strError = "app == null";
                goto ERROR1;
            }
            SessionInfo sessioninfo = (SessionInfo)this.Page.Session["sessioninfo"];
            if (sessioninfo == null)
            {
                strError = "sessioninfo == null";
                goto ERROR1;
            }

            // 面板上选择的馆代码
            string strSelectedLibraryCode = (string)this.Page.Session["librarycode"];

            string strLibraryStyleDir = ""; // 分馆的风格目录

            if (string.IsNullOrEmpty(strSelectedLibraryCode) == false)
            {
                XmlNode nodeLibrary = app.WebUiDom.DocumentElement.SelectSingleNode("libraries/library[@code='" + strSelectedLibraryCode + "']");
                if (nodeLibrary != null)
                {
                    strLibraryStyleDir = DomUtil.GetAttr(nodeLibrary, "style");
                    if (string.IsNullOrEmpty(strLibraryStyleDir) == true)
                        strLibraryStyleDir = DomUtil.GetAttr(nodeLibrary, "code");
                }
            }

            /* 单语种
		<userType type="librarian" titletext="一切为了读者" style="0" name="欢迎你:%userid%" />
		<userType type="notlogin" titletext="请先登录" style="0" />
		<userType type="public" titletext="图书馆是知识的海洋" style="0" />
             * */
            /* 多语种
<userType type="librarian" style="0" >
             <titletext lang='zh'>一切为了读者</titletext>
             <name lang='zh'>欢迎你:%userid%</name>
</userType>
<userType type="notlogin" style="0" >
             <titletext lang='zh'>请先登录</titletext>
</userType>
<userType type="public" style="0" >
             <titletext lang='zh'>图书馆是知识的海洋</titletext>
</userType>
             * * */
            LoginState loginstate = GlobalUtil.GetLoginState(this.Page);

            if (loginstate == LoginState.NotLogin)
            {
#if NO
                XmlNode nodeUserType = app.WebUiDom.DocumentElement.SelectSingleNode(
                    "titleBarControl/userType[@type='notlogin']");
                if (nodeUserType != null)
                {
                    strStyleDirName = DomUtil.GetAttr(nodeUserType, "style");
                    strStyleDirName = LinkControl.MakeDir(strLibraryStyleDir, strStyleDirName);

                    if (nodeUserType.Attributes["titletext"] != null)
                    {
                        strTitleText = DomUtil.GetAttr(nodeUserType, "titletext");
                    }
                    else
                    {
                        // 多语种
                        strTitleText = DomUtil.GetLangedNodeText(
                            this.Lang,
                            nodeUserType,
                            "titletext");
                    }

                    if (nodeUserType.Attributes["name"] != null)
                    {
                        strReaderName = DomUtil.GetAttr(nodeUserType, "name");
                    }
                    else
                    {
                        // 多语种
                        strReaderName = DomUtil.GetLangedNodeText(
                            this.Lang,
                            nodeUserType,
                            "name");
                    }
                }

                if (String.IsNullOrEmpty(strReaderName) == true)
                    strReaderName = this.GetString("quoted_未登录"); // "[未登录]"

                return;
#endif
                return GetEnvValue(app,
                    strLibraryStyleDir,
                    "notlogin",
                    this.GetString("quoted_未登录"));
            }

            if (loginstate == LoginState.Public)
            {
#if NO
                XmlNode nodeUserType = app.WebUiDom.DocumentElement.SelectSingleNode(
                    "titleBarControl/userType[@type='public']");
                if (nodeUserType != null)
                {
                    strStyleDirName = DomUtil.GetAttr(nodeUserType, "style");
                    strStyleDirName = LinkControl.MakeDir(strLibraryStyleDir, strStyleDirName);

                    // strTitleText = DomUtil.GetAttr(nodeUserType, "titletext");
                    // strReaderName = DomUtil.GetAttr(nodeUserType, "name");
                    if (nodeUserType.Attributes["titletext"] != null)
                    {
                        strTitleText = DomUtil.GetAttr(nodeUserType, "titletext");
                    }
                    else
                    {
                        // 多语种
                        strTitleText = DomUtil.GetLangedNodeText(
                            this.Lang,
                            nodeUserType,
                            "titletext");
                    }

                    if (nodeUserType.Attributes["name"] != null)
                    {
                        strReaderName = DomUtil.GetAttr(nodeUserType, "name");
                    }
                    else
                    {
                        // 多语种
                        strReaderName = DomUtil.GetLangedNodeText(
                            this.Lang,
                            nodeUserType,
                            "name");
                    }
                }

                if (String.IsNullOrEmpty(strReaderName) == true)
                    strReaderName = this.GetString("quoted_访客");   // "[访客]"

                return;
#endif
                return GetEnvValue(app,
    strLibraryStyleDir,
    "public",
    this.GetString("quoted_访客"));
            }

            if (loginstate == LoginState.Librarian)
            {
#if NO
                XmlNode nodeUserType = app.WebUiDom.DocumentElement.SelectSingleNode(
                    "titleBarControl/userType[@type='librarian']");
                if (nodeUserType != null)
                {
                    strStyleDirName = DomUtil.GetAttr(nodeUserType, "style");
                    strStyleDirName = LinkControl.MakeDir(strLibraryStyleDir, strStyleDirName);


                    //strTitleText = DomUtil.GetAttr(nodeUserType, "titletext");
                    //strReaderName = DomUtil.GetAttr(nodeUserType, "name");
                    if (nodeUserType.Attributes["titletext"] != null)
                    {
                        strTitleText = DomUtil.GetAttr(nodeUserType, "titletext");
                    }
                    else
                    {
                        // 多语种
                        strTitleText = DomUtil.GetLangedNodeText(
                            this.Lang,
                            nodeUserType,
                            "titletext");
                    }

                    if (nodeUserType.Attributes["name"] != null)
                    {
                        strReaderName = DomUtil.GetAttr(nodeUserType, "name");
                    }
                    else
                    {
                        // 多语种
                        strReaderName = DomUtil.GetLangedNodeText(
                            this.Lang,
                            nodeUserType,
                            "name");
                    }
                }

                if (String.IsNullOrEmpty(strReaderName) == true)
                    strReaderName = this.GetString("quoted_图书馆员") // "[图书馆员]"
                        + sessioninfo.UserID;
                else
                {
                    // 配置的值中可以用%userid%宏
                    strReaderName = strReaderName.Replace("%userid%", sessioninfo.UserID);
                }
                return;
#endif
                EnvValue env = GetEnvValue(app,
strLibraryStyleDir,
"librarian",
"");
                if (String.IsNullOrEmpty(env.ReaderName) == true)
                    env.ReaderName = this.GetString("quoted_图书馆员") // "[图书馆员]"
                        + sessioninfo.UserID;
                else
                {
                    // 配置的值中可以用%userid%宏
                    env.ReaderName = env.ReaderName.Replace("%userid%", sessioninfo.UserID);
                }
                env.TitleText = env.TitleText.Replace("%userid%", sessioninfo.UserID);
                return env;
            }

            {
                EnvValue env = new EnvValue();

                XmlDocument readerdom = null;
                // 获得当前session中已经登录的读者记录DOM
                // return:
                //      -2  当前登录的用户不是reader类型
                //      -1  出错
                //      0   尚未登录
                //      1   成功
                int nRet = sessioninfo.GetLoginReaderDom(
                    out readerdom,
                    out strError);
                if (nRet == -1 || nRet == -2)
                    goto ERROR1;

                if (nRet == 0)
                {
                    goto ERROR1;
                }

                env.ReaderName = DomUtil.GetElementText(readerdom.DocumentElement,
                    "name");

                XmlNode preference = readerdom.DocumentElement.SelectSingleNode("preference");
                if (preference != null)
                {

                    XmlNode webui = preference.SelectSingleNode("webui");
                    if (webui != null)
                    {
                        string strStyleDirName = DomUtil.GetAttr(webui, "style");
                        env.StyleDirName = LinkControl.MakeDir(strLibraryStyleDir, strStyleDirName);
                         
                        env.TitleText = DomUtil.GetAttr(webui, "titletext");
                        return env;
                    }
                }

                env = GetEnvValue(app,
strLibraryStyleDir,
"reader",
"");

                string strReaderName = "";
                if (sessioninfo.ReaderInfo != null)
                {
                    strReaderName = sessioninfo.ReaderInfo.DisplayName;
                    if (string.IsNullOrEmpty(strReaderName) == true)
                        strReaderName = sessioninfo.ReaderInfo.Name;
                    if (string.IsNullOrEmpty(strReaderName) == true)
                        strReaderName = sessioninfo.UserID;
                }
                if (String.IsNullOrEmpty(env.ReaderName) == true)
                    env.ReaderName = strReaderName;
                else
                {
                    // 配置的值中可以用%userid%宏
                    env.ReaderName = env.ReaderName.Replace("%userid%", strReaderName);
                }
                env.TitleText = env.TitleText.Replace("%userid%", strReaderName);
                return env;
            }
            return new EnvValue();
        ERROR1:
            return new EnvValue();
        }
示例#3
0
        EnvValue GetEnvValue(OpacApplication app,
            string strLibraryStyleDir,
            string strTypeName,
            string strDefaultReaderName)
        {
            EnvValue env = new EnvValue();

            string strStyleDirName = "";

            string strTitleText = "";
            string strReaderName = "";

            XmlNode nodeUserType = app.WebUiDom.DocumentElement.SelectSingleNode(
                "titleBarControl/userType[@type='"+strTypeName+"']");
            if (nodeUserType != null)
            {
                strStyleDirName = DomUtil.GetAttr(nodeUserType, "style");
                strStyleDirName = LinkControl.MakeDir(strLibraryStyleDir, strStyleDirName);

                if (nodeUserType.Attributes["titletext"] != null)
                {
                    strTitleText = DomUtil.GetAttr(nodeUserType, "titletext");
                }
                else
                {
                    // 多语种
                    strTitleText = DomUtil.GetLangedNodeText(
                        this.Lang,
                        nodeUserType,
                        "titletext");
                }

                if (nodeUserType.Attributes["name"] != null)
                {
                    strReaderName = DomUtil.GetAttr(nodeUserType, "name");
                }
                else
                {
                    // 多语种
                    strReaderName = DomUtil.GetLangedNodeText(
                        this.Lang,
                        nodeUserType,
                        "name");
                }
            }
            else
            {
                // 2015/1/26 给出一个缺省值
                strStyleDirName = LinkControl.MakeDir(strLibraryStyleDir, "0");
            }

            if (String.IsNullOrEmpty(strReaderName) == true)
                strReaderName = strDefaultReaderName; // this.GetString("quoted_未登录"); // "[未登录]"

            env.StyleDirName = strStyleDirName;
            env.ReaderName = strReaderName;
            env.TitleText = strTitleText;

            return env;
        }