/** * Searches suitable position in collection and adds mail folder. * * @param CApiMailFolder $oMailFolder Mail folder for adding to collection. * * @return bool Returns **true** if folder was added. */ public function addFolder($oMailFolder) { $oItemFolder = null; $bIsAdded = false; $aList =& $this->GetAsArray(); foreach ($aList as $oItemFolder) { if ($oMailFolder instanceof CApiMailFolder && 0 === strpos($oMailFolder->getRawFullName(), $oItemFolder->getRawFullName() . $oItemFolder->getDelimiter())) { if ($oItemFolder->getSubFolders(true)->addFolder($oMailFolder)) { $bIsAdded = true; } break; } } if (!$bIsAdded && $oMailFolder instanceof CApiMailFolder) { $bIsAdded = true; $this->Add($oMailFolder); } return $bIsAdded; }