_sButtonTemplate = 'uploader_button_record_video.html'; } public function getUploaderButton($mixedGhostTemplate, $isMultiple = true, $aParams = array(), $bDynamic = false) { if (!$aParams) $aParams = []; $aParams['audio_bitrate'] = BX_UPLOADER_AUDIO_BITRATE; $aParams['video_bitrate'] = BX_UPLOADER_VIDEO_BITRATE; return parent::getUploaderButton($mixedGhostTemplate, $isMultiple, $aParams, $bDynamic); } public function getUploaderButtonTitle($mixed = false) { return _t('_sys_uploader_record_video_button_name'); } public function addCssJs ($bDynamic = false) { $sAddon = $this->_oTemplate->addJs('RecordRTC.min.js', $bDynamic); $sAddon .= $this->_oTemplate->addJsTranslation([ '_sys_uploader_camera_capture_failed', '_sys_uploader_record_video_mb', '_sys_uploader_unsupported_browser', ], $bDynamic); return parent::addCssJs($bDynamic).($bDynamic ? $sAddon : ''); } protected function getRestrictionsText () { $sTextRestrictions = ''; $oStorage = BxDolStorage::getObjectInstance($this->_sStorageObject); if (!$oStorage) return ''; $sTextRestrictions = $oStorage->getRestrictionsTextFileSize(bx_get_logged_profile_id()); if ($sTextRestrictions) $sTextRestrictions = '
' . $sTextRestrictions . '
'; return $sTextRestrictions; } /** * Handle uploads here. * @param $mixedFiles as usual $_FILES['some_name'] array, but maybe some other params depending on the uploader * @return nothing, but if some files failed to upload, the actual error message can be determined by calling BxDolUploader::getUploadErrorMessages() */ public function handleUploads ($iProfileId, $mixedFiles, $isMultiple = true, $iContentId = false, $bPrivate = true) { //suppress any output here, because we are not posting to an iframe anymore and thus we must avoid a call to a window.parent as in parent::handleUploads //instead we are posting via AJAX to pass a recorded video as a blob object via a FormData object ob_start(); parent::handleUploads($iProfileId, $mixedFiles, $isMultiple, $iContentId, $bPrivate); ob_end_clean(); echo bx_js_string($this->getUploadErrorMessages(), BX_ESCAPE_STR_APOS); } } /** @} */