diff --git a/Controller/MultidatabaseContentsController.php b/Controller/MultidatabaseContentsController.php index ec8627a..603db9f 100644 --- a/Controller/MultidatabaseContentsController.php +++ b/Controller/MultidatabaseContentsController.php @@ -5,6 +5,7 @@ * * @author Noriko Arai * @author Tomoyuki OHNO (Ricksoft Co., Ltd.) + * @author Kazunori Sakamoto * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License * @copyright Copyright 2014, NetCommons Project @@ -18,6 +19,7 @@ * MultidatabaseContentsController Controller * * @author Tomoyuki OHNO (Ricksoft Co., Ltd.) + * @author Kazunori Sakamoto * @package NetCommons\Multidatabases\Controller */ class MultidatabaseContentsController extends MultidatabasesAppController { @@ -134,7 +136,7 @@ public function beforeFilter() { $this->set('multidatabaseFrameSetting', $frameSetting['MultidatabaseFrameSetting']); // ゲストアクセスOKのアクションを設定 - $this->Auth->allow('index', 'detail', 'search'); + $this->Auth->allow('index', 'detail', 'search', 'get_download_count'); $this->_prepare(); } @@ -404,6 +406,29 @@ public function download() { return $this->Download->doDownload($contentId, $options); } +/** + * File Download Count + * ファイルダウンロード数 + * + * @return void + */ + public function get_download_count() { + $query = [ + 'fields' => [ + 'UploadFile.total_download_count', + ], + 'conditions' => [ + 'UploadFile.id' => $this->request->query('upload_file_id'), + ], + 'recursive' => -1 + ]; + $UploadFile = ClassRegistry::init('Files.UploadFile'); + $file = $UploadFile->find('first', $query); + + $this->set('_serialize', ['count']); + $this->set('count', $file); + } + /** * Search * 検索 @@ -564,5 +589,3 @@ private function __list($extraConditions = []) { $this->set('viewMode', 'list'); } } - - diff --git a/View/Elements/MultidatabaseBlocks/metadatas/edit_metadata.ctp b/View/Elements/MultidatabaseBlocks/metadatas/edit_metadata.ctp index 42fb8ab..a4d166f 100644 --- a/View/Elements/MultidatabaseBlocks/metadatas/edit_metadata.ctp +++ b/View/Elements/MultidatabaseBlocks/metadatas/edit_metadata.ctp @@ -12,7 +12,7 @@ NetCommonsHtml->script([ - '/multidatabases/js/edit_multi_database_metadatas.js', + '/multidatabases/js/edit_multidatabase_metadatas.js', ]); ?> diff --git a/View/Helper/MultidatabaseContentViewElementHelper.php b/View/Helper/MultidatabaseContentViewElementHelper.php index 007b727..0cdfd21 100644 --- a/View/Helper/MultidatabaseContentViewElementHelper.php +++ b/View/Helper/MultidatabaseContentViewElementHelper.php @@ -5,6 +5,7 @@ * * @author Noriko Arai * @author Tomoyuki OHNO (Ricksoft Co., Ltd.) + * @author Kazunori Sakamoto * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License * @copyright Copyright 2014, NetCommons Project @@ -17,6 +18,7 @@ * MultidatabaseContentViewElementHelper Helper * * @author Tomoyuki OHNO (Ricksoft, Co., LTD.) + * @author Kazunori Sakamoto * @package NetCommons\Multidatabase\View\Helper * */ @@ -29,6 +31,7 @@ class MultidatabaseContentViewElementHelper extends AppHelper { */ public $helpers = [ 'NetCommons.Button', + 'NetCommons.CDNCache', 'NetCommons.NetCommonsHtml', 'NetCommons.NetCommonsForm', 'Form', @@ -167,8 +170,15 @@ private function __renderViewElementFile($content, $colNo, $showCounter = 0) { $result = $this->__renderViewElementFileReqAuth($content, $colNo, $fileInfo); } if ((int)$showCounter === 1) { - $result .= ' '; - $result .= $fileInfo['UploadFile']['total_download_count']; + $initialValue = + $this->CDNCache->isCacheable() ? null : $fileInfo['UploadFile']['total_download_count']; + $result .= $this->NetCommonsHtml->script('/multidatabases/js/multidatabase_files.js'); + $result .= ' MultidatabaseContentEdit->chkHaveWysiwygItems($multidatabaseMetadata)) { echo $this->NetCommonsHtml->script([ - '/multidatabases/js/edit_multi_database_contents.js', + '/multidatabases/js/edit_multidatabase_contents.js', ]); } else { echo $this->NetCommonsHtml->script([ - '/multidatabases/js/edit_multi_database_contents_without_wysiwyg.js', + '/multidatabases/js/edit_multidatabase_contents_without_wysiwyg.js', ]); } diff --git a/webroot/css/empty b/webroot/css/empty deleted file mode 100644 index e69de29..0000000 diff --git a/webroot/js/edit_multi_database_contents.js b/webroot/js/edit_multidatabase_contents.js similarity index 90% rename from webroot/js/edit_multi_database_contents.js rename to webroot/js/edit_multidatabase_contents.js index 78285ef..62838b6 100644 --- a/webroot/js/edit_multi_database_contents.js +++ b/webroot/js/edit_multidatabase_contents.js @@ -1,9 +1,10 @@ /** * Multidatabases DatabaseContents JS * コンテンツ編集関連フロントエンド処理 - * webroot/js/edit_multi_database_contents.js + * webroot/js/edit_multidatabase_contents.js * * @author ohno.tomoyuki@ricksoft.jp (Tomoyuki OHNO/Ricksoft, Co., Ltd.) + * @author exkazuu@willbooster.com (Kazunori Sakamoto) * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License */ diff --git a/webroot/js/edit_multi_database_contents_without_wysiwyg.js b/webroot/js/edit_multidatabase_contents_without_wysiwyg.js similarity index 89% rename from webroot/js/edit_multi_database_contents_without_wysiwyg.js rename to webroot/js/edit_multidatabase_contents_without_wysiwyg.js index 5b2a27b..fe9b17e 100644 --- a/webroot/js/edit_multi_database_contents_without_wysiwyg.js +++ b/webroot/js/edit_multidatabase_contents_without_wysiwyg.js @@ -1,9 +1,10 @@ /** * Multidatabases DatabaseContentsWithoutWysiwyg JS * コンテンツ編集関連フロントエンド処理(Wysiwygなしの場合) - * webroot/js/edit_multi_database_contents.js + * webroot/js/edit_multidatabase_contents.js * * @author ohno.tomoyuki@ricksoft.jp (Tomoyuki OHNO/Ricksoft, Co., Ltd.) + * @author exkazuu@willbooster.com (Kazunori Sakamoto) * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License */ diff --git a/webroot/js/edit_multi_database_metadatas.js b/webroot/js/edit_multidatabase_metadatas.js similarity index 98% rename from webroot/js/edit_multi_database_metadatas.js rename to webroot/js/edit_multidatabase_metadatas.js index d5ad66a..8a767b2 100644 --- a/webroot/js/edit_multi_database_metadatas.js +++ b/webroot/js/edit_multidatabase_metadatas.js @@ -1,9 +1,10 @@ /** * Multidatabases DatabaseMetadatas JS * メタデータ編集関連フロントエンド処理 - * webroot/js/edit_multi_database_metadatas.js + * webroot/js/edit_multidatabase_metadatas.js * * @author ohno.tomoyuki@ricksoft.jp (Tomoyuki OHNO/Ricksoft, Co., Ltd.) + * @author exkazuu@willbooster.com (Kazunori Sakamoto) * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License */ diff --git a/webroot/js/empty b/webroot/js/empty deleted file mode 100644 index e69de29..0000000 diff --git a/webroot/js/multidatabase_files.js b/webroot/js/multidatabase_files.js new file mode 100644 index 0000000..ddda156 --- /dev/null +++ b/webroot/js/multidatabase_files.js @@ -0,0 +1,29 @@ +/** + * Multidatabases Files JS + * + * @author exkazuu@willbooster.com (Kazunori Sakamoto) + * @link http://www.netcommons.org NetCommons Project + * @license http://www.netcommons.org/license.txt NetCommons License + */ + +NetCommonsApp.controller('MultidatabaseFile.view', + ['$scope', '$http', 'NC3_URL', function($scope, $http, NC3_URL) { + + $scope.downloadCount = '-'; + + $scope.init = function(frameId, uploadFileId, initialValue) { + if (initialValue !== null) { + $scope.downloadCount = initialValue; + return; + } + var params = '?frame_id=' + frameId + '&upload_file_id=' + uploadFileId; + $http.get( + NC3_URL + '/multidatabases/multidatabase_contents/get_download_count.json' + params + ).then( + function(response) { + $scope.downloadCount = response.data.count.UploadFile.total_download_count; + }, + function() { + }); + }; + }]);