Exemple #1
0
 /**
  * Create or find an item with the given name in the given community.
  *
  * @param string $itemName item name
  * @param CommunityDao $community community DAO
  * @return ItemDao item DAO
  * @throws Exception
  */
 private function _createOrFindByName($itemName, $community)
 {
     /** @var ItemModel $itemModel */
     $itemModel = MidasLoader::loadModel('Item');
     $items = $itemModel->getByName($itemName);
     if (count($items) === 0) {
         $folders = $community->getFolder()->getFolders();
         $privateFolder = null;
         /** @var FolderDao $folder */
         foreach ($folders as $folder) {
             if ($folder->getName() === 'Private' && $folder->getPrivacyStatus() === MIDAS_PRIVACY_PRIVATE) {
                 $privateFolder = $folder;
                 break;
             }
         }
         if (is_null($privateFolder)) {
             throw new Exception('No private folder in the given community in which to create an item', -1);
         }
         return $itemModel->createItem($itemName, '', $privateFolder);
     }
     return $items[0];
 }