// MBUserAce.cpp : implementation file
|
//
|
|
#include "stdafx.h"
|
#include "MBUserAce.h"
|
|
|
// CMBUserAce
|
// AceȨÏÞ
|
#define STK_ACETYPE_ADDOUTORGUSER ( _T("100") ) // Ìí¼ÓÍⵥλÁªÏµÈË
|
#define STK_ACETYPE_USEWORKNOTE ( _T("101") ) // ʹÓù¤×÷Ç©Ãû
|
|
#define STK_ACETYPE_HIDE ( _T("102") ) // ÒþÉí
|
|
#define STK_ACETYPE_SENDATTACH ( _T("103") ) // ·¢ËÍÎļþ
|
#define STK_ACETYPE_ATTACHSIZE ( _T("103-00") ) // ÿ´Î·¢ËÍÎļþ´óС
|
#define STK_ACETYPE_ATTACHFILETYPE ( _T("103-01") ) // Îļþºó׺ÏÞÖÆ
|
#define STK_ACETYPE_ATTACHORG ( _T("103-02") ) // ¿ç²¿ÃÅÎļþ´«ËÍ
|
#define STK_ACETYPE_ATTACHORG_EXAMINE ( _T("103-02-00") ) // ÊÇ·ñÐèÒªÉóºË
|
#define STK_ACETYPE_ATTACHORG_TACTIC ( _T("103-02-01") ) // ¿ç²¿ÃÅ´«Ë͹æÔò
|
|
#define STK_ACETYPE_CAPTURE ( _T("104") ) // ½ØÆÁ´«Í¼
|
#define STK_ACETYPE_AUDIO ( _T("105") ) // ʹÓÃÒôƵ
|
#define STK_ACETYPE_VIDIO ( _T("106") ) // ʹÓÃÊÓÆµ
|
|
#define STK_ACETYPE_CROWDADMIN ( _T("107") ) // ´´½¨Èº
|
#define STK_ACETYPE_CROWDLIMIT ( _T("107-00") ) // Ⱥ¸öÊýÏÞÖÆ
|
#define STK_ACETYPE_CROWDUSERLOMIT ( _T("107-01") ) // ȺÓû§¸öÊýÏÞÖÆ
|
|
#define STK_ACETYPE_CANMULTIPALERSESSION ( _T("108") ) // ·¢Æð¶àÈ˶Ի°
|
#define STK_ACETYPE_MULTIPALERSESSIONUSERLIMIT ( _T("108-00") ) // »á»°ÈËÊý
|
|
#define STK_ACETYPE_CANDEPARTMENTMASS ( _T("109") ) // Ⱥ·¢ÏûÏ¢{²¿ÃÅ}
|
#define STK_ACETYPE_CANUNITMASS ( _T("110") ) // Ⱥ·¢ÏûÏ¢{µ¥Î»}
|
|
|
#define STK_ACETYPE_MULRECEIVE ( _T("111") ) // Ⱥ·¢ÏûÏ¢¡¾È«Ìå¡¿
|
#define STK_ACETYPE_RECEIVECOUNT ( _T("111-00") ) // Ⱥ·¢ÏûÏ¢ÈËÊý
|
|
#define STK_ACETYPE_SENDSMS ( _T("112") ) // ·¢ËͶÌÐÅ
|
#define STK_ACETYPE_SENDSMSCOUNT ( _T("112-00") ) // ·¢ËͶÌÐÅÌõÊý
|
|
#define STK_ACETYPE_MODIFYPASSWORD ( _T("113") ) // ÐÞ¸ÄÃÜÂë
|
#define STK_ACETYPE_SHOWTEl ( _T("114") ) // ÏÔʾÊÖ»úºÅ
|
#define STK_ACETYPE_P2PSENDFILE ( _T("115") ) // p2p´«ÊäÎļþ
|
#define STK_ACETYPE_GETUSERIP ( _T("116") ) // »ñÈ¡Óû§µÄµÇ¼ipÐÅÏ¢
|
#define STK_ACETYPE_MOBILEREMIND ( _T("117") ) // ÊÖ»úÌáÐÑ
|
#define STK_ACETYPE_PUBLISHNOTICE ( _T("118") ) // ¹«¸æ·¢²¼
|
|
CMBUserAce::CMBUserAce()
|
{
|
m_strLoginName = _T("");
|
m_strUserName = _T("");
|
m_bCanAddOutUser = false;
|
m_bUserWorkSign = true;
|
m_bCanHide = true;
|
m_bCanSendFile = true;
|
m_asFileLimitExt.RemoveAll();
|
m_nFileSizeLimit = -1;
|
m_bCrossSectoralSend = true;
|
m_bIsAuditSend = false;
|
m_bIsCrossSectoralRule = false;
|
|
m_bCanCutScreen = true;
|
m_bCanAudio = false;
|
m_bCanVideo = false;
|
|
m_bCanCreateCrowd = true;
|
m_nCrowdLimit = -1;
|
m_nCrowdUsersLimit = -1;
|
|
m_bCanMultiplayerSession = true;
|
m_nMultiplayerSessionUsersLimit = -1;
|
|
m_bCanDepartmentMass = true;
|
m_bCanUnitMass = true;
|
m_bCanPlenaryMass = true;
|
m_nPlenaryMassUsersLimit= -1;
|
|
m_bCanSendSMS = false;
|
m_nSendSMSCount = -1;
|
|
m_bCanModifyPassword = false;
|
m_bCanShowTel = true;
|
m_bCanP2PSendFile = true;
|
m_bCanGetUserIP = false;
|
m_bMoblilePhoneRemind = false;
|
m_bPublishNotice = false;
|
}
|
|
CMBUserAce::~CMBUserAce()
|
{
|
}
|
|
|
// CMBUserAce member functions
|
void CMBUserAce::operator = ( const CMBUserAce &Item )
|
{
|
m_strLoginName = Item.m_strLoginName;
|
m_strUserName = Item.m_strUserName;
|
m_bUserWorkSign = Item.m_bUserWorkSign;
|
m_bCanAddOutUser = Item.m_bCanAddOutUser;
|
m_bCanHide = Item.m_bCanHide;
|
m_bCanSendFile = Item.m_bCanSendFile;
|
m_nFileSizeLimit = Item.m_nFileSizeLimit;
|
m_bCrossSectoralSend = Item.m_bCrossSectoralSend;
|
m_bIsAuditSend = Item.m_bIsAuditSend;
|
m_bIsCrossSectoralRule = Item.m_bIsCrossSectoralRule;
|
|
m_bCanCutScreen = Item.m_bCanCutScreen;
|
m_bCanAudio = Item.m_bCanAudio;
|
m_bCanVideo = Item.m_bCanVideo;
|
|
m_bCanCreateCrowd = Item.m_bCanCreateCrowd;
|
m_nCrowdLimit = Item.m_nCrowdLimit;
|
m_nCrowdUsersLimit = Item.m_nCrowdUsersLimit;
|
|
|
m_bCanMultiplayerSession = Item.m_bCanMultiplayerSession;
|
m_nMultiplayerSessionUsersLimit = Item.m_nMultiplayerSessionUsersLimit;
|
|
m_bCanDepartmentMass = Item.m_bCanDepartmentMass;
|
m_bCanUnitMass = Item.m_bCanUnitMass;
|
m_bCanPlenaryMass = Item.m_bCanPlenaryMass;
|
m_nPlenaryMassUsersLimit = Item.m_nPlenaryMassUsersLimit;
|
m_bCanSendSMS = Item.m_bCanSendSMS;
|
m_nSendSMSCount = Item.m_nSendSMSCount;
|
|
m_bCanModifyPassword = Item.m_bCanModifyPassword;
|
m_bCanShowTel = Item.m_bCanShowTel;
|
m_bCanP2PSendFile = Item.m_bCanP2PSendFile;
|
|
m_asFileLimitExt.RemoveAll();
|
m_asFileLimitExt.Copy(Item.m_asFileLimitExt);
|
|
}
|
|
void CMBUserAce::LoadAceXml(CString strAceXml)
|
{
|
COIXMLParser xmlParser;
|
IXMLDOMElementPtr ptrBody;
|
IXMLDOMNodePtr ptrNode,ptrNext;
|
CString strNodeName,strNodeValue,strAttrValue;
|
|
if(strAceXml.IsEmpty())
|
return ;
|
if( !xmlParser.ParseXMLStr(strAceXml, ptrBody) )
|
{
|
return;
|
}
|
COIXMLParser::GetNodeContent(ptrBody, strNodeName, strNodeValue);
|
if(0 != strNodeName.CompareNoCase(_T("Body")))
|
{
|
return;
|
}
|
ptrBody->get_firstChild( &ptrNode);
|
while(ptrNode)
|
{
|
COIXMLParser::GetNodeContent(ptrNode, strNodeName, strNodeValue);
|
if(0 == strNodeName.CompareNoCase(_T("Ace")))
|
{
|
ParseAceItem(ptrNode);
|
}
|
ptrNode->get_nextSibling( &ptrNext);
|
ptrNode = ptrNext;
|
}
|
return;
|
}
|
|
void CMBUserAce::ParseAceItem(IXMLDOMElementPtr ptrItem )
|
{
|
CString strAttrValue;
|
CString strCode,strValue;
|
if ( !ptrItem )
|
return;
|
strCode = _T("");
|
strValue = _T("");;
|
if( COIXMLParser::GetNodeAttrValue(ptrItem, _T("Code"),strAttrValue ))
|
{
|
strCode = strAttrValue;
|
}
|
if( COIXMLParser::GetNodeAttrValue(ptrItem, _T("Value"),strAttrValue ))
|
{
|
strValue = strAttrValue;
|
}
|
SetAceCodeVaule(strCode, strValue);
|
return;
|
}
|
|
void CMBUserAce::SetAceCodeVaule(CString strName, CString strValue)
|
{
|
if(strValue.IsEmpty())
|
return;
|
if(strName == STK_ACETYPE_ADDOUTORGUSER)
|
{
|
m_bCanAddOutUser = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_USEWORKNOTE)
|
{
|
m_bUserWorkSign = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_HIDE)
|
{
|
m_bCanHide = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_SENDATTACH)
|
{
|
m_bCanSendFile = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_ATTACHSIZE)
|
{
|
m_nFileSizeLimit = _tstol(strValue);
|
return;
|
}
|
if(strName == STK_ACETYPE_ATTACHFILETYPE)
|
{
|
GetFileLimit(m_asFileLimitExt, strValue);
|
return;
|
}
|
if(strName == STK_ACETYPE_ATTACHORG)
|
{
|
m_bCrossSectoralSend = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_ATTACHORG_EXAMINE)
|
{
|
m_bIsAuditSend = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_ATTACHORG_TACTIC)
|
{
|
m_bIsCrossSectoralRule = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_CAPTURE)
|
{
|
m_bCanCutScreen = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_AUDIO)
|
{
|
m_bCanAudio = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName ==STK_ACETYPE_VIDIO)
|
{
|
m_bCanVideo = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_CROWDADMIN)
|
{
|
m_bCanCreateCrowd = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName ==STK_ACETYPE_CROWDLIMIT)
|
{
|
m_nCrowdLimit = _tstol(strValue);
|
return;
|
}
|
if(strName ==STK_ACETYPE_CROWDUSERLOMIT)
|
{
|
m_nCrowdUsersLimit = _tstol(strValue);
|
return;
|
}
|
if(strName == STK_ACETYPE_CANMULTIPALERSESSION)
|
{
|
m_bCanMultiplayerSession = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_MULTIPALERSESSIONUSERLIMIT)
|
{
|
m_nMultiplayerSessionUsersLimit = _tstol(strValue) ;
|
return;
|
}
|
if(strName == STK_ACETYPE_CANDEPARTMENTMASS)
|
{
|
m_bCanDepartmentMass = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_CANUNITMASS)
|
{
|
m_bCanUnitMass = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_MULRECEIVE)
|
{
|
m_bCanPlenaryMass = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_RECEIVECOUNT)
|
{
|
m_nPlenaryMassUsersLimit = _tstol(strValue) ;
|
return;
|
}
|
if(strName == STK_ACETYPE_SENDSMS)
|
{
|
if( m_bCanSendSMS)
|
m_bCanSendSMS = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_SENDSMSCOUNT)
|
{
|
m_nSendSMSCount = _tstol(strValue) ;
|
return;
|
}
|
if(strName == STK_ACETYPE_MODIFYPASSWORD)
|
{
|
m_bCanModifyPassword = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_SHOWTEl)
|
{
|
m_bCanShowTel = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_P2PSENDFILE)
|
{
|
m_bCanP2PSendFile = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_GETUSERIP)
|
{
|
m_bCanGetUserIP = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_MOBILEREMIND)
|
{
|
m_bMoblilePhoneRemind = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
if(strName == STK_ACETYPE_PUBLISHNOTICE)
|
{
|
m_bPublishNotice = _tstol(strValue) != 0 ? true: false;
|
return;
|
}
|
}
|
|
void CMBUserAce::SetDefaultData()
|
{
|
m_strLoginName = _T("");
|
m_strUserName = _T("");
|
m_bCanAddOutUser = false;
|
m_bUserWorkSign = true;
|
m_bCanHide = true;
|
m_bCanSendFile = true;
|
m_asFileLimitExt.RemoveAll();
|
m_nFileSizeLimit = -1;
|
m_bCrossSectoralSend = true;
|
m_bIsAuditSend = false;
|
m_bIsCrossSectoralRule = false;
|
|
m_bCanCutScreen = true;
|
m_bCanAudio = false;
|
m_bCanVideo = false;
|
|
m_bCanCreateCrowd = true;
|
m_nCrowdLimit = -1;
|
m_nCrowdUsersLimit = -1;
|
|
m_bCanMultiplayerSession = true;
|
m_nMultiplayerSessionUsersLimit = -1;
|
|
m_bCanDepartmentMass = true;
|
m_bCanUnitMass = true;
|
m_bCanPlenaryMass = true;
|
m_nPlenaryMassUsersLimit = -1;
|
m_bCanSendSMS = false;
|
m_nSendSMSCount = -1;
|
|
m_bCanModifyPassword = true;
|
m_bCanShowTel = true;
|
m_bCanP2PSendFile = true;
|
m_bCanGetUserIP = false;
|
m_bMoblilePhoneRemind = false;
|
m_bPublishNotice= false;
|
}
|
|
|
BOOL CMBUserAce::GetFileLimit( CStringArray &asFileLimit, CString strFileLimit )
|
{
|
bool bRetValue = true;
|
int nIndex(0), nCount(0);
|
CString strFileExt;
|
CString strApart, strStuff;
|
|
asFileLimit.RemoveAll( );
|
strApart = _T(";");
|
strStuff = strFileLimit;
|
nCount = CBaseStringMgr::GetElementCount( strStuff, strApart );
|
for ( nIndex = 0; nIndex < nCount; nIndex++ )
|
{
|
CBaseStringMgr::GetElementItemByIndex( strStuff, nIndex, strFileExt, strApart );
|
|
strFileExt.TrimLeft(_T("."));
|
if ( !strFileExt.IsEmpty() )
|
asFileLimit.Add( strFileExt );
|
}
|
|
return true;
|
}
|
CString CMBUserAce::GetFileLimitExtString()
|
{
|
CString strLimitExts = _T("");
|
int nNum,nCount;
|
|
nCount = m_asFileLimitExt.GetSize();
|
for( nNum = 0 ; nNum < nCount ; nNum++ )
|
{
|
strLimitExts +=m_asFileLimitExt.GetAt(nNum) + _T(";");
|
}
|
strLimitExts.TrimRight(_T(";"));
|
return strLimitExts;
|
}
|