diff --git a/ADocumentViewer.php b/ADocumentViewer.php new file mode 100644 index 0000000..8f71b67 --- /dev/null +++ b/ADocumentViewer.php @@ -0,0 +1,74 @@ +_checkUrl(); + } + + /** + * проверка не пустой ли url + */ + protected function _checkUrl(){ + if(empty($this->url)) + throw new InvalidConfigException('Ошибка не задан url'); + + if(empty($this->_urlViewer)) + throw new InvalidConfigException('Ошибка не задан url viewer'); + } + + public function run() + { + parent::run(); // TODO: Change the autogenerated stub + + return $this->_run(); + } + + /** + * герерация iframe + * @return string + */ + protected function _run(){ + $options = [ + 'src'=>$this->_getIframeUrl(), + 'width'=>$this->width, + 'height'=>$this->height + ]; + + return Html::tag('iframe','',$options); + } +} diff --git a/GoogleDocumentViewer.php b/GoogleDocumentViewer.php new file mode 100644 index 0000000..b784b04 --- /dev/null +++ b/GoogleDocumentViewer.php @@ -0,0 +1,49 @@ +url, $this->_urlViewer); + + if($this->embedded) + $url.='&embedded=true'; + + $url.='&a='.$this->a; + + return $url; + } +} \ No newline at end of file diff --git a/MicrosoftDocumentViewer.php b/MicrosoftDocumentViewer.php new file mode 100644 index 0000000..baf2cce --- /dev/null +++ b/MicrosoftDocumentViewer.php @@ -0,0 +1,28 @@ +url, $this->_urlViewer); + } +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..7934f5b --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +online document viewer +====================== +виджет для отображения online документов с помощью google viewer и microsoft document viewer + +Installation +------------ + +The preferred way to install this extension is through [composer](http://getcomposer.org/download/). + +Either run + +``` +php composer.phar require --prefer-dist lesha724/yii2-document-viewer "*" +``` + +or add + +``` +"lesha724/yii2-document-viewer": "*" +``` + +to the require section of your `composer.json` file. + + +Usage +----- + +Once the extension is installed, simply use it in your code by : + +```php +'http://example.com/test.doc',//url на ваш документ + 'width'=>'100%', + 'height'=>'100%', + //https://geektimes.ru/post/111647/ + 'embedded'=>true, + 'a'=>\lesha724\documentviewer\GoogleDocumentViewer::A_V //A_V = 'v', A_GT= 'gt', A_BI = 'bi' +]); ?> + +``` + +```php +'http://example.com/test.doc',//url на ваш документ + 'width'=>'100%', + 'height'=>'100%' +]); ?> + +``` + +Links +----- + +1. https://support.office.com/uk-ua/article/%D0%9F%D0%B5%D1%80%D0%B5%D0%B3%D0%BB%D1%8F%D0%B4-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2-Office-%D0%B2-%D0%86%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D1%96-1cc2ea26-0f7b-41f7-8e0e-6461a104544e?ui=uk-UA&rs=uk-UA&ad=UA&fromAR=1 +2. https://products.office.com/en-us/office-online/view-office-documents-online +3. https://support.office.com/uk-ua/article/%D0%9F%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B0-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D1%96%D0%B2-%D1%83-%D0%B2%D0%B5%D0%B1-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0%D1%85-Office-Online-ad1303e0-a318-47aa-b409-d3a5eb44e452?ui=uk-UA&rs=uk-UA&ad=UA +4. https://geektimes.ru/post/111647/ \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..7071648 --- /dev/null +++ b/composer.json @@ -0,0 +1,21 @@ +{ + "name": "lesha724/yii2-document-viewer", + "description": "виджет для отображения online документов с помощью google viewer и microsoft document viewer", + "type": "yii2-extension", + "keywords": ["yii2","extension"], + "license": "MIT", + "authors": [ + { + "name": "lesha724", + "email": "neff.alexey@gmail.com" + } + ], + "require": { + "yiisoft/yii2": "*" + }, + "autoload": { + "psr-4": { + "lesha724\\documentviewer\\": "" + } + } +}