protected function __construct($aObject, $oStorage) { parent::__construct($aObject, $oStorage); $this->_sQueueStorage = getParam('sys_transcoder_queue_storage') ? 'sys_transcoder_queue_files' : ''; $this->_oDb = new BxDolTranscoderVideoQuery($aObject); $this->_sQueueTable = $this->_oDb->getQueueTable(); }
public function processing() { set_time_limit(10800); ignore_user_abort(); if (!defined('BX_TRANSCODER_NO_TRANSCODING')) { BxDolTranscoder::processQueue(); } if (defined('BX_TRANSCODER_PROCESS_COMPLETED')) { BxDolTranscoder::processCompleted(); } }
protected function __construct($aObject, $oStorage) { parent::__construct($aObject, $oStorage); $this->_oDb = new BxDolTranscoderImageQuery($aObject, false); $this->_sQueueTable = $this->_oDb->getQueueTable(); }
/** * page code function */ function PageCompMainCode() { ob_start(); $sTranscoderObjectPoster = 'sample_video_poster'; $sTranscoderObjectMP4 = 'sample_video_mp4'; $sTranscoderObjectWebM = 'sample_video_webm'; $sStorageObjectOrig = 'sample_transcoder_video_orig'; $iProfileId = bx_get_logged_profile_id(); if (!$iProfileId) { echo "You aren't logged in."; exit; } $iPrunedFiles = BxDolTranscoder::pruning(); if ($iPrunedFiles) { echo "iPrunedFiles: {$iPrunedFiles}"; exit; } $oTranscoderPoster = BxDolTranscoderVideo::getObjectInstance($sTranscoderObjectPoster); $oTranscoderMP4 = BxDolTranscoderVideo::getObjectInstance($sTranscoderObjectMP4); $oTranscoderWebM = BxDolTranscoderVideo::getObjectInstance($sTranscoderObjectWebM); if (!$oTranscoderPoster || !$oTranscoderMP4 || !$oTranscoderWebM) { echo "Transcoder object is not available: " . $sTranscoderObjectPoster . ', ' . $sTranscoderObjectMP4 . ', ' . $sTranscoderObjectWebM; exit; } echo "registerHandlers poster: [" . $oTranscoderPoster->registerHandlers() . "] <br />\n"; echo "registerHandlers mp4: [" . $oTranscoderMP4->registerHandlers() . "] <br />\n"; echo "registerHandlers webm: [" . $oTranscoderWebM->registerHandlers() . "] <hr class='bx-def-hr' />\n"; $oStorageOrig = BxDolStorage::getObjectInstance($sStorageObjectOrig); if (!$oStorageOrig) { echo "Storage object is not available: " . $sStorageObjectOrig; exit; } if (isset($_POST['upload'])) { $iId = $oStorageOrig->storeFileFromForm($_FILES['file'], true, $iProfileId); if ($iId) { $iCount = $oStorageOrig->afterUploadCleanup($iId, $iProfileId); echo "<h2>Uploaded file id: " . $iId . "(deleted ghosts:" . $iCount . ") </h2>"; // force transcode echo "Force transcode: <br />"; echo "poster: " . $oTranscoderPoster->getFileUrl($iId) . '<br />'; echo "mp4: " . $oTranscoderMP4->getFileUrl($iId) . '<br />'; echo "webm: " . $oTranscoderWebM->getFileUrl($iId) . '<hr class="bx-def-hr" />'; } else { echo "<h2>Error uploading file: " . $oStorage->getErrorString() . '</h2><hr class="bx-def-hr" />'; } } elseif (isset($_POST['delete'])) { foreach ($_POST['file_id'] as $iFileId) { $bRet = $oStorageOrig->deleteFile($iFileId, $iProfileId); if ($bRet) { echo "<h2>Deleted file id: " . $iFileId . '</h2><hr class="bx-def-hr" />'; } else { echo "<h2>File deleting error: " . $oStorageOrig->getErrorString() . '</h2><hr class="bx-def-hr" />'; } } } else { $a = $oStorageOrig->getFilesAll(); foreach ($a as $r) { $sUrlPoster = $oTranscoderPoster->getFileUrl($r['id']); $sUrlMP4 = $oTranscoderMP4->getFileUrl($r['id']); $sUrlWebM = $oTranscoderWebM->getFileUrl($r['id']); echo '<h3>' . $r['file_name'] . '</h3>'; echo BxTemplFunctions::getInstance()->videoPlayer($sUrlPoster, $sUrlMP4, $sUrlWebM, false, 'height:200px;'); echo '<hr class="bx-def-hr" />'; } } $a = $oStorageOrig->getFilesAll(); ?> <h2>Files List</h2> <form method="POST"> <?php foreach ($a as $r) { ?> <input type="checkbox" name="file_id[]" value="<?php echo $r['id']; ?> " /> <?php echo $r['file_name']; ?> <br /> <?php } ?> <input type="submit" name="delete" value="Delete" class="bx-btn bx-btn-small bx-def-margin-sec-top" style="float:none;" /> </form> <hr class="bx-def-hr" /> <h2>Upload</h2> <form enctype="multipart/form-data" method="POST"> <input type="file" name="file" /> <br /> <input type="submit" name="upload" value="Upload" class="bx-btn bx-btn-small bx-def-margin-sec-top" style="float:none;" /> </form> <?php $s = ob_get_clean(); return DesignBoxContent("Sample video transcoder", $s, BX_DB_PADDING_DEF); }
/** * Add all available meta tags to the head section * @return number of successfully added metas */ public function metaAdd($iId, $mixedImage = false) { $i = 0; foreach ($this->_aMetas as $sMeta) { $sFunc = $sMeta . 'AddMeta'; $i += $this->{$sFunc}($iId); } if ($mixedImage && is_array($mixedImage)) { if (!empty($mixedImage['object'])) { $o = BxDolStorage::getObjectInstance($mixedImage['object']); } elseif (!empty($mixedImage['transcoder'])) { $o = BxDolTranscoder::getObjectInstance($mixedImage['transcoder']); } $mixedImage = $o ? $o->getFileUrlById($mixedImage['id']) : false; } if ($mixedImage) { BxDolTemplate::getInstance()->addPageMetaImage($mixedImage); } return $i; }
/** * Get logo URL. * @return string */ function getMainLogoUrl() { $iFileId = (int) getParam('sys_site_logo'); if (!$iFileId) { return false; } $oStorage = BxDolTranscoder::getObjectInstance('sys_custom_images'); $sFileUrl = $oStorage->getFileUrl($iFileId); if (!$sFileUrl) { return false; } if (getParam('sys_site_logo_width') > 0) { $sFileUrl = bx_append_url_params($sFileUrl, array('x' => getParam('sys_site_logo_width'))); } if (getParam('sys_site_logo_height') > 0) { $sFileUrl = bx_append_url_params($sFileUrl, array('y' => getParam('sys_site_logo_height'))); } return $sFileUrl; }
public function transcode($mixedHandler, $iProfileId = 0) { if (!($bRet = parent::transcode($mixedHandler, $iProfileId))) { return $bRet; } $x = $this->getCustomResizeDimension('x'); $y = $this->getCustomResizeDimension('y'); if ($x || $y) { $this->_oDb->updateTranscodedFileData($mixedHandler, array('x' => $x, 'y' => $y)); } return $bRet; }
/** * page code function */ function PageCompMainCode() { ob_start(); $sTranscoderObject = 'sys_custom_images'; $sStorageObjectOrig = 'sys_images_custom'; $iProfileId = bx_get_logged_profile_id(); if (!isAdmin()) { echo "You aren't operator."; exit; } $iPrunedFiles = BxDolTranscoder::pruning(); if ($iPrunedFiles) { echo "iPrunedFiles: {$iPrunedFiles}"; exit; } $oTranscoderObject = BxDolTranscoderImage::getObjectInstance($sTranscoderObject); if (!$oTranscoderObject) { echo "Transcoder object is not available: " . $sTranscoderObject; exit; } //echo "registerHandlers: [" . $oTranscoderObject->registerHandlers() . "] <br />\n"; $oStorageOrig = BxDolStorage::getObjectInstance($sStorageObjectOrig); if (!$oStorageOrig) { echo "Storage object is not available: " . $sStorageObjectOrig; exit; } if (isset($_POST['upload'])) { $iId = $oStorageOrig->storeFileFromForm($_FILES['file'], true, $iProfileId); if ($iId) { $iCount = $oStorageOrig->afterUploadCleanup($iId, $iProfileId); echo "<h2>Uploaded file id: " . $iId . "(deleted ghosts:" . $iCount . ") </h2>"; } else { echo "<h2>Error uploading file: " . $oStorage->getErrorString() . '</h2><hr class="bx-def-hr" />'; } } elseif (isset($_POST['delete'])) { foreach ($_POST['file_id'] as $iFileId) { $bRet = $oStorageOrig->deleteFile($iFileId, $iProfileId); if ($bRet) { echo "<h2>Deleted file id: " . $iFileId . '</h2><hr class="bx-def-hr" />'; } else { echo "<h2>File deleting error: " . $oStorageOrig->getErrorString() . '</h2><hr class="bx-def-hr" />'; } } } else { $a = $oStorageOrig->getFilesAll(); foreach ($a as $r) { $sUrlImage = $oTranscoderObject->getFileUrl($r['id']); ?> <div class="bx-def-font-h2 bx-def-margin-sec-topbottom"><?php echo $r['file_name']; ?> </div> Size: <input id="size-<?php echo $r['id']; ?> " type="text" class="bx-def-font-inputs bx-form-input-text bx-def-margin-sec-bottom bx-transcoder-custom-images-size" placeholder="320x240" /> Copy&paste URL: <input id="input-<?php echo $r['id']; ?> " type="text" value="<?php echo $oTranscoderObject->getFileUrlNotReady($r['id']); ?> " class="bx-def-font-inputs bx-form-input-text bx-def-margin-sec-bottom" /> <br /> <img src="<?php echo $sUrlImage; ?> " style="height:200px; width:auto;" /> <hr class="bx-def-hr" /> <?php } } $a = $oStorageOrig->getFilesAll(); ?> <h2>Files List</h2> <form method="POST"> <?php foreach ($a as $r) { ?> <input type="checkbox" name="file_id[]" value="<?php echo $r['id']; ?> " /> <?php echo $r['file_name']; ?> <br /> <?php } ?> <input type="submit" name="delete" value="Delete" class="bx-btn bx-btn-small bx-def-margin-sec-top" style="float:none;" /> </form> <hr class="bx-def-hr" /> <h2>Upload</h2> <form enctype="multipart/form-data" method="POST"> <input type="file" name="file" /> <br /> <input type="submit" name="upload" value="Upload" class="bx-btn bx-btn-small bx-def-margin-sec-top" style="float:none;" /> </form> <script> $(document).ready(function () { $('.bx-transcoder-custom-images-size').on('change input', function () { var sId = $(this).attr('id').replace('size-', ''); var a = $('#input-' + sId).val().split('&'); var aSize = this.value.split('x'); var s = ''; for (var i in a) { if (-1 == a[i].indexOf('t=') && -1 == a[i].indexOf('x=') && -1 == a[i].indexOf('y=')) s += a[i] + '&'; } s = s.replace(/&$/, ''); if (parseInt(aSize[0]) > 0) s = bx_append_url_params(s, 'x=' + aSize[0]); if (parseInt(aSize[1]) > 0) s = bx_append_url_params(s, 'y=' + aSize[1]); $('#input-' + sId).val(s); }); }); </script> <?php $s = ob_get_clean(); return DesignBoxContent("Custom images transcoder", $s, BX_DB_PADDING_DEF); }
protected function _entitySocialSharing($iId, $iIdForTimeline, $iIdThumb, $sTitle, $sObjectStorage, $sObjectTranscoder, $sObjectVote, $sUriViewEntry) { $sUrl = BxDolPermalinks::getInstance()->permalink('page.php?i=' . $sUriViewEntry . '&id=' . $iId); $aCustomParams = false; if ($iIdThumb) { if ($sObjectTranscoder) { $o = BxDolTranscoder::getObjectInstance($sObjectTranscoder); } else { $o = BxDolStorage::getObjectInstance($sObjectStorage); } if ($sImgUrl = $o->getFileUrlById($iIdThumb)) { $aCustomParams = array('img_url' => $sImgUrl, 'img_url_encoded' => rawurlencode($sImgUrl)); } } //TODO: Rebuild using menus engine when it will be ready for such elements like Vote, Share, etc. $sVotes = ''; $oVotes = BxDolVote::getObjectInstance($sObjectVote, $iId); if ($oVotes) { $sVotes = $oVotes->getElementBlock(array('show_do_vote_as_button' => true)); } $sShare = ''; if (BxDolRequest::serviceExists('bx_timeline', 'get_share_element_block')) { $sShare = BxDolService::call('bx_timeline', 'get_share_element_block', array(bx_get_logged_profile_id(), $this->_aModule['name'], 'added', $iIdForTimeline, array('show_do_share_as_button' => true))); } $sSocial = BxTemplSocialSharing::getInstance()->getCode($iId, $this->_aModule['name'], BX_DOL_URL_ROOT . $sUrl, $sTitle, $aCustomParams); return $this->_oTemplate->parseHtmlByName('entry-share.html', array('vote' => $sVotes, 'share' => $sShare, 'social' => $sSocial)); //TODO: Rebuild using menus engine when it will be ready for such elements like Vote, Share, etc. }