function DoDeleteFolders()
 {
     $_dbStorage = $_settings = $_xmlObj = $_xmlRes = $_accountId = null;
     $this->_initFuncArgs($_dbStorage, $_settings, $_xmlObj, $_xmlRes, $_accountId);
     $_acctId = $_xmlObj->GetParamValueByName('id_acct');
     CXmlProcessing::CheckAccountAccess($_acctId, $_xmlRes);
     $_account =& CXmlProcessing::AccountCheckAndLoad($_xmlRes, $_acctId, false, false);
     $_processor = new MailProcessor($_account);
     $_foldersNode =& $_xmlObj->XmlRoot->GetChildNodeByTagName('folders');
     $_result = true;
     $_foldersKeys = array_keys($_foldersNode->Children);
     foreach ($_foldersKeys as $_key) {
         $_fc =& $_foldersNode->Children[$_key];
         if (isset($_fc->Attributes['id'])) {
             $_folder = new Folder($_acctId, $_fc->Attributes['id'], $_fc->GetChildValueByTagName('full_name'));
         } else {
             $_result = false;
             unset($_fc);
             break;
         }
         $_processor->GetFolderInfo($_folder);
         $_processor->GetFolderMessageCount($_folder);
         $_childCount = USE_DB ? $_processor->DbStorage->GetFolderChildCount($_folder) : 0;
         if ($_account->MailProtocol != MAILPROTOCOL_POP3 && ($_folder->MessageCount > 0 || $_childCount != 0)) {
             $_result = false;
         } else {
             $_result &= $_account->IsDemo ? true : $_processor->DeleteFolder($_folder);
             if ($_result && !$_account->IsDemo) {
                 $log =& CLog::CreateInstance();
                 $log->WriteEvent('User delete personal folder ("' . $_folder->FullName . '")', $_account);
             }
         }
         unset($_fc, $_folder);
     }
     if ($_result) {
         $_folders =& $_processor->GetFolders();
         $_foldersList = new XmlDomNode('folders_list');
         $_foldersList->AppendAttribute('sync', -1);
         $_foldersList->AppendAttribute('id_acct', $_acctId);
         $_foldersList->AppendAttribute('namespace', $_account->NameSpace);
         CXmlProcessing::GetFoldersTreeXml($_folders, $_foldersList, $_processor);
         $_xmlRes->XmlRoot->AppendChild($_foldersList);
     } else {
         CXmlProcessing::PrintErrorAndExit(PROC_ERROR_DEL_FLD, $_xmlRes);
     }
 }