#include "StdAfx.h"
|
#include "MBAuthInfo.h"
|
|
#define AUTH_AM_FLAG _T("OISTK")
|
#define AUTH_DOC_FLAG _T("OINetDisk")
|
#define AUTH_MOBOX_FLAG _T("OIMobox")
|
#define AUTH_GUNGHO_FLAG _T("OIGungho")
|
IMPLEMENT_DYNAMIC(CMBAuthInfo, CMBAbstBaseObj)
|
|
CMBAuthInfo::CMBAuthInfo(void)
|
{
|
RemoveAll();
|
}
|
|
|
CMBAuthInfo::~CMBAuthInfo(void)
|
{
|
RemoveAll();
|
}
|
|
bool CMBAuthInfo::Add( CMBAuthApp *pApp )
|
{
|
if( NULL == pApp || pApp->m_strFlag.IsEmpty() )
|
return false;
|
|
CMBAuthAppMap::iterator it;
|
CString strFlag;
|
|
strFlag = pApp->m_strFlag;
|
it = m_map.find(strFlag);
|
|
// Èç¹ûÕҵõ½ ·µ»Ø
|
if( it != m_map.end() )
|
return false;
|
|
m_map[strFlag] = pApp;
|
m_vector.push_back(pApp);
|
|
return true;
|
}
|
|
bool CMBAuthInfo::Has(CString strFlag)
|
{
|
if( strFlag.IsEmpty() )
|
return false;
|
|
CMBAuthAppMap::iterator it;
|
|
it = m_map.find(strFlag);
|
|
// Èç¹ûÕҵõ½ ·µ»Ø
|
if( it != m_map.end() )
|
return true;
|
|
return false;
|
}
|
|
|
|
bool CMBAuthInfo::RemoveAll()
|
{
|
CMBAuthAppMap::iterator it;
|
CMBAuthApp *pApp = NULL;
|
|
for( it = m_map.begin();it != m_map.end();it++ )
|
{
|
pApp = it->second;
|
delete pApp;
|
pApp = NULL;
|
}
|
|
m_map.clear();
|
m_vector.clear();
|
|
return true;
|
}
|
|
void CMBAuthInfo::SetDisableApp( CString strDisableApp )
|
{
|
if( strDisableApp.IsEmpty() )
|
return ;
|
|
m_arDisableApp.RemoveAll();
|
|
CMBStrOper::SplitString(strDisableApp, _T(';'),m_arDisableApp);
|
}
|
|
bool CMBAuthInfo::IsDisableApp(CString strApp)
|
{
|
if( strApp.IsEmpty() )
|
return false;
|
|
CString strTmpApp;
|
|
strApp = strApp.Trim();
|
strApp = strApp.MakeLower();
|
|
int nLen = m_arDisableApp.GetSize();
|
|
for( int i = 0;i < nLen;i++ )
|
{
|
strTmpApp = m_arDisableApp[i];
|
strTmpApp = strTmpApp.Trim();
|
strTmpApp = strTmpApp.MakeLower();
|
if( strTmpApp == strApp )
|
return true;
|
}// end for
|
|
return false;
|
}
|
// »ñÈ¡ÊÚȨ
|
void CMBAuthInfo::GetUIAuth(CString &strHeadGroupUI,CString &strTailGroupUI,CStringArray &arTabUI)
|
{
|
strHeadGroupUI = _T("");
|
strTailGroupUI = _T("");
|
arTabUI.RemoveAll();
|
// Ñ¡Ôñ±êʶ
|
bool bSel = true;
|
|
CString strFlag;
|
CMBAuthAppVector::iterator it;
|
CMBAuthApp *pApp = NULL;
|
CString strTHXml,strTHXml2,strTHXml3,strTHXml4,strPageXml,strPageXml2;
|
|
for( it = m_vector.begin();it != m_vector.end();it++ )
|
{
|
pApp = *it;
|
strFlag = pApp->m_strFlag;
|
strFlag = strFlag.Trim();
|
|
// ½ûÓ㬲»ÏÔʾ
|
if(IsDisableApp(strFlag))
|
continue;
|
|
if( strFlag == AUTH_AM_FLAG ) // ÆóÐÅ
|
{
|
strTHXml.Format(_T("<radioex checked=\"%d\" pos=\"[0,0\" id=\"10002\" name=\"radioex_workspacetabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97c\" colorText='#FFFFFF' /><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">AM</text><text name='txt_workmsgcnt' visible='0' pos='-36,15' inset='5,3,5,3' font='adding:-5' skin='win10btn' animate='1' colorText='#FFFFFF'></text></radioex>"),bSel);
|
strPageXml = _T("<page name=\"page_worspace\" title=\"AM\"><include src=\"LAYOUT:PAGE_SHARE\"/></page>");
|
strTHXml3 = _T("<radioex pos=\"1,0,@60,-1\" id=\"10009\" name=\"radioex_workspacetabtail\" checked=\"0\" skin=\"skin_tab_bkg\"><text pos=\"8,12\" font=\"face:mobox_userfont,adding:20\" text=\"\xe97c\" colorText='#FFFFFF' /><text name='txt_workmsgcnt2' visible='0' pos='-36,15' inset='5,3,5,3' font='adding:-5' skin='win10btn' animate='1' colorText='#FFFFFF'></text></radioex>");
|
|
strHeadGroupUI += strTHXml;
|
strTailGroupUI += strTHXml3;
|
arTabUI.Add(strPageXml);
|
bSel = false;
|
}
|
else if( strFlag == AUTH_DOC_FLAG )// Îĵµ ´«Êä
|
{
|
strTHXml.Format(_T("<radioex checked=\"%d\" pos=\"[0,0\" id=\"10000\" name=\"radioex_doctabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97a\" colorText='#FFFFFF' /><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">Îĵµ</text></radioex>"),bSel);
|
strTHXml2 = _T("<radioex pos=\"[0,0\" id=\"10001\" name=\"radioex_doctabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97e\" colorText='#FFFFFF'/><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">´«Êä</text><text name='txt_trans_count' visible='0' inset='5,3,5,3' pos=\"-35,14\" font=\"adding:-5\" skin=\"win10btn\" animate=\"1\" colorText='#FFFFFF'></text></radioex>");
|
strTHXml3 = _T("<radioex pos=\"[0,0,@60,-1\" id=\"10008\" name=\"radioex_doctabtail\" checked=\"0\" skin=\"skin_tab_bkg\"><text pos=\"8,12\" font=\"face:mobox_userfont,adding:20\" text=\"\xe97a\" colorText='#FFFFFF' /></radioex>");
|
|
strPageXml = _T("<page name=\"page_doc\" title=\"Îĵµ\"><include src=\"LAYOUT:PAGE_DOC\"/></page>");
|
strPageXml2 = _T("<page name=\"page_transfer\" title=\"´«Êä\"><include src=\"LAYOUT:PAGE_TRANSFER\"/></page>");
|
|
strHeadGroupUI += strTHXml;
|
strHeadGroupUI += strTHXml2;
|
strTailGroupUI += strTHXml3;
|
|
arTabUI.Add(strPageXml);
|
arTabUI.Add(strPageXml2);
|
bSel = false;
|
}
|
else if( strFlag == AUTH_MOBOX_FLAG ) //Ó¦ÓÃ
|
{
|
strTHXml.Format(_T("<radioex checked=\"%d\" pos=\"[0,0\" id=\"10004\" name=\"radioex_datatabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97d\" colorText='#FFFFFF' /><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">Ó¦ÓÃ</text></radioex>"),bSel);
|
strPageXml = _T("<page name=\"page_data\" title=\"Ó¦ÓÃ\"><include src=\"LAYOUT:PAGE_DATA\"/></page>");
|
|
strHeadGroupUI += strTHXml;
|
arTabUI.Add(strPageXml);
|
|
bSel = false;
|
}
|
else if( strFlag == AUTH_GUNGHO_FLAG ) // ¹¤×÷
|
{
|
strTHXml.Format(_T("<radioex checked=\"%d\" pos=\"[0,0\" id=\"10006\" name=\"radioex_webtabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97b\" colorText='#FFFFFF' /><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">¹¤×÷</text></radioex>"),bSel);
|
strPageXml = _T("<page name=\"page_web\" title=\"¹¤×÷\"><include src=\"LAYOUT:PAGE_WEB\"/></page>");
|
|
strHeadGroupUI += strTHXml;
|
arTabUI.Add(strPageXml);
|
|
bSel = false;
|
}
|
}
|
// ÓÐÎĵµÈ¨ÏÞ£¬Óвéѯ
|
if( HasDocAuth() && !IsDisableApp(AUTH_DOC_FLAG) )
|
{
|
strPageXml = _T("<page name=\"page_search\" title=\"ËÑË÷\"><include src=\"LAYOUT:PAGE_SEARCH\"/></page>");
|
arTabUI.Add(strPageXml);
|
}
|
else
|
{
|
if(HasAmAuth() && !IsDisableApp(AUTH_AM_FLAG))
|
{
|
strTHXml2 = _T("<radioex pos=\"[0,0\" id=\"10001\" name=\"radioex_doctabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97e\" colorText='#FFFFFF'/><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">´«Êä</text><text name='txt_trans_count' visible='0' inset='5,3,5,3' pos=\"-35,14\" font=\"adding:-5\" skin=\"win10btn\" animate=\"1\" colorText='#FFFFFF'></text></radioex>");
|
strPageXml2 = _T("<page name=\"page_transfer\" title=\"´«Êä\"><include src=\"LAYOUT:PAGE_TRANSFER\"/></page>");
|
strHeadGroupUI += strTHXml2;
|
arTabUI.Add(strPageXml2);
|
bSel = false;
|
}
|
}
|
}
|
|
// »ñÈ¡ÀëÏß½çÃæ
|
void CMBAuthInfo::GetUIOffline(CString &strHeadGroupUI,CString &strTailGroupUI,CStringArray &arTabUI)
|
{
|
strHeadGroupUI = _T("");
|
strTailGroupUI = _T("");
|
arTabUI.RemoveAll();
|
// Ñ¡Ôñ±êʶ
|
bool bSel = true;
|
|
CString strFlag;
|
CMBAuthAppVector::iterator it;
|
CMBAuthApp *pApp = NULL;
|
CString strTHXml,strTHXml2,strTHXml3,strTHXml4,strPageXml,strPageXml2;
|
|
strTHXml.Format(_T("<radioex checked=\"%d\" pos=\"[0,0\" id=\"10000\" name=\"radioex_doctabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97a\" colorText='#FFFFFF' /><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">Îĵµ</text></radioex>"),bSel);
|
//strTHXml2 = _T("<radioex pos=\"[0,0\" id=\"10001\" name=\"radioex_doctabheader\" skin=\"skin_tab_bkg\"><text pos=\"22,17\" font=\"face:mobox_userfont,adding:28\" text=\"\xe97e\" colorText='#FFFFFF'/><text pos=\"0,60,-0,-0\" font='adding:-1' class=\"cls_titlebar_tab\">´«Êä</text><text name='txt_trans_count' visible='0' inset='5,3,5,3' pos=\"-35,14\" font=\"adding:-5\" skin=\"win10btn\" animate=\"1\" colorText='#FFFFFF'></text></radioex>");
|
strTHXml3 = _T("<radioex pos=\"[0,0,@60,-1\" id=\"10008\" name=\"radioex_doctabtail\" checked=\"0\" skin=\"skin_tab_bkg\"><text pos=\"8,12\" font=\"face:mobox_userfont,adding:20\" text=\"\xe97a\" colorText='#FFFFFF' /></radioex>");
|
|
strPageXml = _T("<page name=\"page_doc\" title=\"Îĵµ\"><include src=\"LAYOUT:PAGE_DOC\"/></page>");
|
//strPageXml2 = _T("<page name=\"page_transfer\" title=\"´«Êä\"><include src=\"LAYOUT:PAGE_TRANSFER\"/></page>");
|
|
strHeadGroupUI += strTHXml;
|
//strHeadGroupUI += strTHXml2;
|
strTailGroupUI += strTHXml3;
|
|
arTabUI.Add(strPageXml);
|
//arTabUI.Add(strPageXml2);
|
// ÓÐÎĵµÈ¨ÏÞ£¬Óвéѯ
|
//strPageXml = _T("<page name=\"page_search\" title=\"ËÑË÷\"><include src=\"LAYOUT:PAGE_SEARCH\"/></page>");
|
//arTabUI.Add(strPageXml);
|
}
|
|
// ÓÐÎĵµÊÚȨ
|
bool CMBAuthInfo::HasDocAuth()
|
{
|
return Has(AUTH_DOC_FLAG);
|
}
|
|
// ÓÐAmÊÚȨ
|
bool CMBAuthInfo::HasAmAuth()
|
{
|
|
return Has(AUTH_AM_FLAG);
|
}
|
|
// ÓÐmoboxÊÚȨ
|
bool CMBAuthInfo::HasMobox()
|
{
|
return Has(AUTH_MOBOX_FLAG);
|
}
|
|
// ÓÐgunghoÊÚȨ
|
bool CMBAuthInfo::HasGungho()
|
{
|
return Has(AUTH_GUNGHO_FLAG);
|
}
|
|
|
|