MODULE = 'bx_albums'; parent::__construct($aInfo, $oTemplate); $CNF = &$this->_oModule->_oConfig->CNF; if (isset($CNF['FIELD_PHOTO']) && isset($this->aInputs[$CNF['FIELD_PHOTO']])) $this->aInputs[$CNF['FIELD_PHOTO']]['init_reordering'] = true; } public function processFiles ($sFieldFile, $iContentId = 0, $isAssociateWithContent = false) { return parent::_processFilesInAlbumsAndStories($sFieldFile, $iContentId, $isAssociateWithContent); } protected function _associalFileWithContent($oStorage, $iFileId, $iProfileId, $iContentId, $sPictureField = '') { parent::_associalFileWithContent($oStorage, $iFileId, $iProfileId, $iContentId, $sPictureField); $CNF = &$this->_oModule->_oConfig->CNF; $oTranscoder = BxDolTranscoderImage::getObjectInstance($CNF['OBJECT_IMAGES_TRANSCODER_BIG']); $aInfo = bx_get_image_exif_and_size($oStorage, $oTranscoder, $iFileId); $aExif = unserialize($aInfo['exif']); if (false === $this->_oModule->_oDb->associateFileWithContent ($iContentId, $iFileId, $iProfileId, $this->getCleanValue('title-' . $iFileId), $aInfo['size'], $aInfo['exif'])) return; $aMediaInfo = $this->_oModule->_oDb->getMediaInfoSimpleByFileId($iFileId); $aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId); if ($aMediaInfo && !empty($CNF['OBJECT_METATAGS_MEDIA'])) { $oMetatags = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS_MEDIA']); if ($oMetatags->keywordsIsEnabled()) $oMetatags->keywordsAdd($aMediaInfo['id'], $aMediaInfo['title']); } if ($aMediaInfo && isset($aExif['Make']) && !empty($CNF['OBJECT_METATAGS_MEDIA_CAMERA'])) { $oMetatags = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS_MEDIA_CAMERA']); if ($oMetatags->keywordsIsEnabled()){ $oMetatags->keywordsAddOne($aMediaInfo['id'], $oMetatags->keywordsCameraModel($aExif)); } } /** * @hooks * @hookdef hook-bx_albums-media_added 'bx_albums', 'media_added' - hook on new media added in album * - $unit_name - equals `bx_albums` * - $action - equals `media_added` * - $object_id - album_id * - $sender_id - author's profile_id * - $extra_params - array of additional params with the following array keys: * - `object_author_id` - [int] confirmation type can be none/phone/email/email_and_phone/email_or_phone * - `subobject_id` - [int] id for added media * - `media_id` - [int] id for added media * - `media_info` - [array] media info * @hook @ref hook-bx_albums-media_added */ bx_alert($this->_oModule->getName(), 'media_added', $iContentId, $iProfileId, array( 'object_author_id' => $aContentInfo[$CNF['FIELD_AUTHOR']], 'subobject_id' => $aMediaInfo['id'], 'media_id' => $aMediaInfo['id'], 'media_info' => $aMediaInfo, )); bx_alert($this->_oModule->getName() . '_media', 'added', $aMediaInfo['id'], $iProfileId, array( 'object_id' => $iContentId, 'object_author_id' => $aContentInfo[$CNF['FIELD_AUTHOR']], 'media_info' => $aMediaInfo )); } function delete ($iContentId, $aContentInfo = array()) { if (!($bRet = parent::delete ($iContentId, $aContentInfo))) return $bRet; if (!($aMediaList = $this->_oModule->_oDb->getMediaListByContentId($iContentId))) return $bRet; foreach ($aMediaList as $aMediaInfo) $this->_oModule->serviceDeleteFileAssociations($aMediaInfo['file_id']); return $bRet; } } /** @} */