diff --git a/backend/actions/Index.php b/backend/actions/Index.php old mode 100644 new mode 100755 index af8bb4d..af8bb4d --- a/backend/actions/Index.php +++ b/backend/actions/Index.php diff --git a/backend/controllers/ExportController.php b/backend/controllers/ExportController.php old mode 100644 new mode 100755 index f5d3487..c4ba0f4 --- a/backend/controllers/ExportController.php +++ b/backend/controllers/ExportController.php @@ -4,10 +4,15 @@ namespace backend\controllers; use yii\web\Controller; -use common\models\Customer; use yii\filters\VerbFilter; use common\models\dummy\DateModel; use Yii; +use common\models\Customer; +use PhpOffice\PhpSpreadsheet\Spreadsheet; +use PhpOffice\PhpSpreadsheet\Writer\Xlsx; +use console\controllers\PdfController; + + class ExportController extends Controller{ @@ -45,22 +50,28 @@ class ExportController extends Controller{ public function actionView(){ + $model=new DateModel(); $model->load(Yii::$app->request->post()); - #die(var_dump($model->attributes)); - $date1=(new \DateTime($model->timeFrom))->getTimestamp(); - $date2=(new \DateTime($model->timeTo))->getTimestamp(); -// die(var_dump($date1,$date2)); - - $data = Customer::find() - ->where([ - 'between', - 'created_at', - $date1, - $date2 - ]) - ->all(); - die(var_dump($_POST)); + + $controller=new PdfController('pdf',Yii::$app); + + $a=$controller->runAction('view',[ + $model + ]); + $exportInfo = json_decode($a); + if($exportInfo->status==false){ + # выдать что данных нету + return $this->render('index',[ + 'status' => false, + 'model' => $model, + 'reason' => $exportInfo->reason, + ]); + } + else{ + return Yii::$app->response->sendFile("../../frontend/web/files/xls/".$exportInfo->file); + } + } diff --git a/backend/controllers/RequestController.php b/backend/controllers/RequestController.php old mode 100644 new mode 100755 index 1e9b899..1e9b899 --- a/backend/controllers/RequestController.php +++ b/backend/controllers/RequestController.php diff --git a/backend/models/Search.php b/backend/models/Search.php old mode 100644 new mode 100755 index 01c8132..01c8132 --- a/backend/models/Search.php +++ b/backend/models/Search.php diff --git a/backend/views/export/index.php b/backend/views/export/index.php old mode 100644 new mode 100755 index 1fbf052..96952d7 --- a/backend/views/export/index.php +++ b/backend/views/export/index.php @@ -50,7 +50,7 @@ JS; 'asdasda', + 'header' => 'Excel отчет по заявкам', ] ) ?> @@ -75,7 +75,7 @@ JS;
- 'btn btn-success' ]) ?> + 'btn btn-success' ]) ?>
@@ -85,4 +85,8 @@ JS; \ No newline at end of file +?> +{$reason}"; + + ?> diff --git a/backend/views/request/update.php b/backend/views/request/update.php old mode 100644 new mode 100755 index 9d00c4b..9d00c4b --- a/backend/views/request/update.php +++ b/backend/views/request/update.php diff --git a/common/helpers/datePickerData.php b/common/helpers/datePickerData.php old mode 100644 new mode 100755 index c4b1d99..c4b1d99 --- a/common/helpers/datePickerData.php +++ b/common/helpers/datePickerData.php diff --git a/common/mail/request.php b/common/mail/request.php old mode 100644 new mode 100755 index a5ef85d..1e06525 --- a/common/mail/request.php +++ b/common/mail/request.php @@ -101,7 +101,7 @@ echo "Английский"; break; case 4: - echo "Французкий"; + echo "Французcкий"; break; default: echo "Русский"; diff --git a/common/mail/thanks_1.php b/common/mail/thanks_1.php old mode 100644 new mode 100755 index 40271ab..40271ab --- a/common/mail/thanks_1.php +++ b/common/mail/thanks_1.php diff --git a/common/mail/thanks_2.php b/common/mail/thanks_2.php old mode 100644 new mode 100755 index c927031..c927031 --- a/common/mail/thanks_2.php +++ b/common/mail/thanks_2.php diff --git a/common/mail/thanks_3.php b/common/mail/thanks_3.php old mode 100644 new mode 100755 index bb3b747..bb3b747 --- a/common/mail/thanks_3.php +++ b/common/mail/thanks_3.php diff --git a/common/mail/thanks_4.php b/common/mail/thanks_4.php old mode 100644 new mode 100755 index e037451..e037451 --- a/common/mail/thanks_4.php +++ b/common/mail/thanks_4.php diff --git a/common/models/Customer.php b/common/models/Customer.php old mode 100644 new mode 100755 index eb244b8..eb244b8 --- a/common/models/Customer.php +++ b/common/models/Customer.php diff --git a/common/models/dummy/DateModel.php b/common/models/dummy/DateModel.php old mode 100644 new mode 100755 index 416a63a..416a63a --- a/common/models/dummy/DateModel.php +++ b/common/models/dummy/DateModel.php diff --git a/composer.json b/composer.json index 104c742..5bf4f70 100755 --- a/composer.json +++ b/composer.json @@ -19,7 +19,8 @@ "require": { "php": ">=7.0", "alexandernst/yii2-device-detect": "0.0.12", - "artweb/artbox-core" : ">0.0.10" + "artweb/artbox-core" : ">0.0.10", + "phpoffice/phpspreadsheet": "^1.4" }, "require-dev": { "yiisoft/yii2-debug": "~2.0.0", diff --git a/composer.lock b/composer.lock old mode 100644 new mode 100755 index e93a011..38f7e5f --- a/composer.lock +++ b/composer.lock @@ -1,11 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "hash": "163dd69cbf4410df8959165e28efb09e", - "content-hash": "075f417c5bcd78cfc58694977cf459e9", + "content-hash": "caa8eb98c1ee9f02e6ac1b1984d9d4cb", "packages": [ { "name": "2amigos/yii2-tinymce-widget", @@ -65,7 +64,7 @@ "yii 2", "yii2" ], - "time": "2017-06-09 14:12:14" + "time": "2017-06-09T14:12:14+00:00" }, { "name": "alexandernst/yii2-device-detect", @@ -113,7 +112,7 @@ "widget", "yii2" ], - "time": "2017-08-07 16:37:25" + "time": "2017-08-07T16:37:25+00:00" }, { "name": "artweb/artbox-core", @@ -174,7 +173,7 @@ "BSD-3-Clause" ], "description": "Artbox core extension", - "time": "2018-05-21 12:55:30" + "time": "2018-05-21T12:55:30+00:00" }, { "name": "bower-asset/amcharts", @@ -586,7 +585,7 @@ "markdown", "markdown-extra" ], - "time": "2017-07-16 21:13:23" + "time": "2017-07-16T21:13:23+00:00" }, { "name": "container-interop/container-interop", @@ -617,7 +616,7 @@ ], "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", "homepage": "https://github.com/container-interop/container-interop", - "time": "2017-02-14 19:40:03" + "time": "2017-02-14T19:40:03+00:00" }, { "name": "doctrine/lexer", @@ -671,7 +670,7 @@ "lexer", "parser" ], - "time": "2014-09-09 13:34:57" + "time": "2014-09-09T13:34:57+00:00" }, { "name": "egulias/email-validator", @@ -728,7 +727,7 @@ "validation", "validator" ], - "time": "2018-08-16 20:49:45" + "time": "2018-08-16T20:49:45+00:00" }, { "name": "ezyang/htmlpurifier", @@ -775,7 +774,7 @@ "keywords": [ "html" ], - "time": "2018-02-23 01:58:20" + "time": "2018-02-23T01:58:20+00:00" }, { "name": "firebase/php-jwt", @@ -821,7 +820,7 @@ ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", "homepage": "https://github.com/firebase/php-jwt", - "time": "2017-06-27 22:17:23" + "time": "2017-06-27T22:17:23+00:00" }, { "name": "fortawesome/font-awesome", @@ -869,7 +868,7 @@ "font", "icon" ], - "time": "2016-10-24 15:52:54" + "time": "2016-10-24T15:52:54+00:00" }, { "name": "google/apiclient", @@ -928,7 +927,7 @@ "keywords": [ "google" ], - "time": "2018-06-20 15:52:20" + "time": "2018-06-20T15:52:20+00:00" }, { "name": "google/apiclient-services", @@ -965,7 +964,7 @@ "keywords": [ "google" ], - "time": "2018-09-03 00:22:49" + "time": "2018-09-03T00:22:49+00:00" }, { "name": "google/auth", @@ -1012,7 +1011,7 @@ "google", "oauth2" ], - "time": "2018-08-27 19:47:35" + "time": "2018-08-27T19:47:35+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1077,7 +1076,7 @@ "rest", "web service" ], - "time": "2018-04-22 15:46:56" + "time": "2018-04-22T15:46:56+00:00" }, { "name": "guzzlehttp/promises", @@ -1128,7 +1127,7 @@ "keywords": [ "promise" ], - "time": "2016-12-20 10:07:11" + "time": "2016-12-20T10:07:11+00:00" }, { "name": "guzzlehttp/psr7", @@ -1193,7 +1192,7 @@ "uri", "url" ], - "time": "2017-03-20 17:10:46" + "time": "2017-03-20T17:10:46+00:00" }, { "name": "hiqdev/yii2-asset-icheck", @@ -1265,7 +1264,7 @@ "iCheck", "yii2" ], - "time": "2016-03-30 10:59:26" + "time": "2016-03-30T10:59:26+00:00" }, { "name": "hiqdev/yii2-asset-pnotify", @@ -1327,7 +1326,7 @@ "pnotify", "yii2" ], - "time": "2015-09-09 15:16:38" + "time": "2015-09-09T15:16:38+00:00" }, { "name": "imagine/imagine", @@ -1385,7 +1384,7 @@ "image manipulation", "image processing" ], - "time": "2017-05-16 10:31:22" + "time": "2017-05-16T10:31:22+00:00" }, { "name": "intervention/httpauth", @@ -1438,7 +1437,7 @@ "http", "laravel" ], - "time": "2017-06-28 17:37:25" + "time": "2017-06-28T17:37:25+00:00" }, { "name": "kartik-v/bootstrap-fileinput", @@ -1491,7 +1490,7 @@ "progress", "upload" ], - "time": "2018-08-30 02:05:20" + "time": "2018-08-30T02:05:20+00:00" }, { "name": "kartik-v/yii2-krajee-base", @@ -1542,7 +1541,7 @@ "widget", "yii2" ], - "time": "2018-08-29 02:57:02" + "time": "2018-08-29T02:57:02+00:00" }, { "name": "kartik-v/yii2-widget-colorinput", @@ -1596,7 +1595,7 @@ "widget", "yii2" ], - "time": "2016-01-14 11:15:49" + "time": "2016-01-14T11:15:49+00:00" }, { "name": "kartik-v/yii2-widget-datepicker", @@ -1650,7 +1649,7 @@ "widget", "yii2" ], - "time": "2018-08-29 12:10:45" + "time": "2018-08-29T12:10:45+00:00" }, { "name": "kartik-v/yii2-widget-fileinput", @@ -1705,7 +1704,7 @@ "widget", "yii2" ], - "time": "2017-05-25 20:12:30" + "time": "2017-05-25T20:12:30+00:00" }, { "name": "kartik-v/yii2-widget-select2", @@ -1758,7 +1757,102 @@ "widget", "yii2" ], - "time": "2018-08-17 07:47:43" + "time": "2018-08-17T07:47:43+00:00" + }, + { + "name": "markbaker/complex", + "version": "1.4.6", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPComplex.git", + "reference": "a78d82ae4e682c3809fc3023d1b0ce654f6ab12b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/a78d82ae4e682c3809fc3023d1b0ce654f6ab12b", + "reference": "a78d82ae4e682c3809fc3023d1b0ce654f6ab12b", + "shasum": "" + }, + "require": { + "php": "^5.6.0|^7.0.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3", + "phpcompatibility/php-compatibility": "^8.0", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "2.*", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^4.8.35|^5.4.0", + "sebastian/phpcpd": "2.*", + "squizlabs/php_codesniffer": "^3.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Complex\\": "classes/src/" + }, + "files": [ + "classes/src/functions/abs.php", + "classes/src/functions/acos.php", + "classes/src/functions/acosh.php", + "classes/src/functions/acot.php", + "classes/src/functions/acoth.php", + "classes/src/functions/acsc.php", + "classes/src/functions/acsch.php", + "classes/src/functions/argument.php", + "classes/src/functions/asec.php", + "classes/src/functions/asech.php", + "classes/src/functions/asin.php", + "classes/src/functions/asinh.php", + "classes/src/functions/atan.php", + "classes/src/functions/atanh.php", + "classes/src/functions/conjugate.php", + "classes/src/functions/cos.php", + "classes/src/functions/cosh.php", + "classes/src/functions/cot.php", + "classes/src/functions/coth.php", + "classes/src/functions/csc.php", + "classes/src/functions/csch.php", + "classes/src/functions/exp.php", + "classes/src/functions/inverse.php", + "classes/src/functions/ln.php", + "classes/src/functions/log2.php", + "classes/src/functions/log10.php", + "classes/src/functions/negative.php", + "classes/src/functions/pow.php", + "classes/src/functions/rho.php", + "classes/src/functions/sec.php", + "classes/src/functions/sech.php", + "classes/src/functions/sin.php", + "classes/src/functions/sinh.php", + "classes/src/functions/sqrt.php", + "classes/src/functions/tan.php", + "classes/src/functions/tanh.php", + "classes/src/functions/theta.php", + "classes/src/operations/add.php", + "classes/src/operations/subtract.php", + "classes/src/operations/multiply.php", + "classes/src/operations/divideby.php", + "classes/src/operations/divideinto.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@lange.demon.co.uk" + } + ], + "description": "PHP Class for working with complex numbers", + "homepage": "https://github.com/MarkBaker/PHPComplex", + "keywords": [ + "complex", + "mathematics" + ], + "time": "2018-07-31T08:38:40+00:00" }, { "name": "mobiledetect/mobiledetectlib", @@ -1810,7 +1904,7 @@ "mobile detector", "php mobile detect" ], - "time": "2018-09-01 15:05:15" + "time": "2018-09-01T15:05:15+00:00" }, { "name": "monolog/monolog", @@ -1888,7 +1982,7 @@ "logging", "psr-3" ], - "time": "2017-06-19 01:22:40" + "time": "2017-06-19T01:22:40+00:00" }, { "name": "mrclay/jsmin-php", @@ -1940,7 +2034,7 @@ "jsmin", "minify" ], - "time": "2015-03-30 15:04:42" + "time": "2015-03-30T15:04:42+00:00" }, { "name": "mrclay/minify", @@ -2002,7 +2096,7 @@ ], "description": "Minify is a PHP5 app that helps you follow several rules for client-side performance. It combines multiple CSS or Javascript files, removes unnecessary whitespace and comments, and serves them with gzip encoding and optimal client-side cache headers", "homepage": "https://github.com/mrclay/minify", - "time": "2017-11-03 21:00:15" + "time": "2017-11-03T21:00:15+00:00" }, { "name": "mrclay/props-dic", @@ -2054,7 +2148,7 @@ "di", "di container" ], - "time": "2016-02-10 18:59:20" + "time": "2016-02-10T18:59:20+00:00" }, { "name": "natxet/CssMin", @@ -2101,7 +2195,7 @@ "css", "minify" ], - "time": "2018-01-09 11:15:01" + "time": "2018-01-09T11:15:01+00:00" }, { "name": "noam148/yii2-image-manager", @@ -2150,7 +2244,7 @@ "widget", "yii2" ], - "time": "2018-06-08 17:29:40" + "time": "2018-06-08T17:29:40+00:00" }, { "name": "noam148/yii2-image-resize", @@ -2196,7 +2290,94 @@ "resize", "yii2" ], - "time": "2018-02-18 19:23:04" + "time": "2018-02-18T19:23:04+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "125f462a718956f37d81305ca0df4f17cef0f3b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/125f462a718956f37d81305ca0df4f17cef0f3b9", + "reference": "125f462a718956f37d81305ca0df4f17cef0f3b9", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "markbaker/complex": "^1.4.1", + "php": "^5.6|^7.0", + "psr/simple-cache": "^1.0" + }, + "require-dev": { + "dompdf/dompdf": "^0.8.0", + "friendsofphp/php-cs-fixer": "@stable", + "jpgraph/jpgraph": "^4.0", + "mpdf/mpdf": "^7.0.0", + "phpunit/phpunit": "^5.7", + "squizlabs/php_codesniffer": "^3.3", + "tecnickcom/tcpdf": "^6.2" + }, + "suggest": { + "dompdf/dompdf": "Option for rendering PDF with PDF Writer", + "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", + "mpdf/mpdf": "Option for rendering PDF with PDF Writer", + "tecnick.com/tcpdf": "Option for rendering PDF with PDF Writer" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "http://blog.maartenballiauw.be" + }, + { + "name": "Erik Tilt" + }, + { + "name": "Franck Lefevre", + "homepage": "http://rootslabs.net" + }, + { + "name": "Mark Baker", + "homepage": "http://markbakeruk.net" + } + ], + "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", + "keywords": [ + "OpenXML", + "excel", + "gnumeric", + "ods", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "time": "2018-08-06T02:58:06+00:00" }, { "name": "phpseclib/phpseclib", @@ -2288,7 +2469,7 @@ "x.509", "x509" ], - "time": "2018-04-15 16:55:05" + "time": "2018-04-15T16:55:05+00:00" }, { "name": "pimple/pimple", @@ -2338,7 +2519,7 @@ "container", "dependency injection" ], - "time": "2018-01-21 07:42:36" + "time": "2018-01-21T07:42:36+00:00" }, { "name": "psr/cache", @@ -2384,7 +2565,7 @@ "psr", "psr-6" ], - "time": "2016-08-06 20:24:11" + "time": "2016-08-06T20:24:11+00:00" }, { "name": "psr/container", @@ -2433,7 +2614,7 @@ "container-interop", "psr" ], - "time": "2017-02-14 16:28:37" + "time": "2017-02-14T16:28:37+00:00" }, { "name": "psr/http-message", @@ -2483,7 +2664,7 @@ "request", "response" ], - "time": "2016-08-06 14:39:51" + "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", @@ -2530,7 +2711,55 @@ "psr", "psr-3" ], - "time": "2016-10-10 12:19:37" + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" }, { "name": "rmrevin/yii2-fontawesome", @@ -2582,7 +2811,7 @@ "font", "yii" ], - "time": "2017-01-11 14:05:47" + "time": "2017-01-11T14:05:47+00:00" }, { "name": "skeeks/yii2-assets-auto-compress", @@ -2639,7 +2868,7 @@ "skeeks", "yii" ], - "time": "2018-06-07 10:04:05" + "time": "2018-06-07T10:04:05+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -2698,7 +2927,7 @@ "mail", "mailer" ], - "time": "2018-07-13 07:04:35" + "time": "2018-07-13T07:04:35+00:00" }, { "name": "tedivm/jshrink", @@ -2744,7 +2973,7 @@ "javascript", "minifier" ], - "time": "2017-12-08 00:59:56" + "time": "2017-12-08T00:59:56+00:00" }, { "name": "tinymce/tinymce", @@ -2790,7 +3019,7 @@ "tinymce", "wysiwyg" ], - "time": "2018-08-09 09:17:07" + "time": "2018-08-09T09:17:07+00:00" }, { "name": "tubalmartin/cssmin", @@ -2843,7 +3072,7 @@ "minify", "yui" ], - "time": "2018-01-15 15:26:51" + "time": "2018-01-15T15:26:51+00:00" }, { "name": "yii2tech/ar-linkmany", @@ -2894,7 +3123,7 @@ "relaton", "yii2" ], - "time": "2018-02-09 14:02:04" + "time": "2018-02-09T14:02:04+00:00" }, { "name": "yii2tech/ar-position", @@ -2943,7 +3172,7 @@ "sort", "yii2" ], - "time": "2017-11-01 10:56:01" + "time": "2017-11-01T10:56:01+00:00" }, { "name": "yii2tech/ar-variation", @@ -2997,7 +3226,7 @@ "variator", "yii2" ], - "time": "2018-04-09 08:43:38" + "time": "2018-04-09T08:43:38+00:00" }, { "name": "yii2tech/filedb", @@ -3045,7 +3274,7 @@ "static", "yii2" ], - "time": "2018-04-09 08:12:49" + "time": "2018-04-09T08:12:49+00:00" }, { "name": "yiisoft/yii2", @@ -3145,7 +3374,7 @@ "framework", "yii2" ], - "time": "2018-03-21 18:36:53" + "time": "2018-03-21T18:36:53+00:00" }, { "name": "yiisoft/yii2-bootstrap", @@ -3205,7 +3434,7 @@ "bootstrap", "yii2" ], - "time": "2018-02-16 10:41:52" + "time": "2018-02-16T10:41:52+00:00" }, { "name": "yiisoft/yii2-composer", @@ -3259,7 +3488,7 @@ "extension installer", "yii2" ], - "time": "2018-07-05 15:44:47" + "time": "2018-07-05T15:44:47+00:00" }, { "name": "yiisoft/yii2-httpclient", @@ -3306,7 +3535,7 @@ "httpclient", "yii2" ], - "time": "2018-02-13 15:11:30" + "time": "2018-02-13T15:11:30+00:00" }, { "name": "yiisoft/yii2-imagine", @@ -3354,7 +3583,7 @@ "imagine", "yii2" ], - "time": "2018-02-22 11:57:06" + "time": "2018-02-22T11:57:06+00:00" }, { "name": "yiisoft/yii2-jui", @@ -3400,7 +3629,7 @@ "jQuery UI", "yii2" ], - "time": "2017-11-25 15:32:29" + "time": "2017-11-25T15:32:29+00:00" }, { "name": "yiisoft/yii2-swiftmailer", @@ -3450,7 +3679,7 @@ "swiftmailer", "yii2" ], - "time": "2018-04-24 23:17:42" + "time": "2018-04-24T23:17:42+00:00" }, { "name": "yiister/yii2-gentelella", @@ -3508,7 +3737,7 @@ "theme", "yii2" ], - "time": "2017-11-12 16:49:22" + "time": "2017-11-12T16:49:22+00:00" } ], "packages-dev": [ @@ -3569,7 +3798,7 @@ "gherkin", "parser" ], - "time": "2017-08-30 11:04:43" + "time": "2017-08-30T11:04:43+00:00" }, { "name": "bower-asset/typeahead.js", @@ -3677,7 +3906,7 @@ "functional testing", "unit testing" ], - "time": "2018-08-01 07:46:24" + "time": "2018-08-01T07:46:24+00:00" }, { "name": "codeception/phpunit-wrapper", @@ -3720,7 +3949,7 @@ } ], "description": "PHPUnit classes used by Codeception", - "time": "2018-08-28 23:24:24" + "time": "2018-08-28T23:24:24+00:00" }, { "name": "codeception/stub", @@ -3750,7 +3979,7 @@ "MIT" ], "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", - "time": "2018-07-26 11:55:37" + "time": "2018-07-26T11:55:37+00:00" }, { "name": "codeception/verify", @@ -3786,7 +4015,7 @@ } ], "description": "BDD assertion library for PHPUnit", - "time": "2017-01-09 10:58:51" + "time": "2017-01-09T10:58:51+00:00" }, { "name": "doctrine/instantiator", @@ -3840,7 +4069,7 @@ "constructor", "instantiate" ], - "time": "2017-07-22 11:58:36" + "time": "2017-07-22T11:58:36+00:00" }, { "name": "fzaninotto/faker", @@ -3890,7 +4119,7 @@ "faker", "fixtures" ], - "time": "2018-07-12 10:23:15" + "time": "2018-07-12T10:23:15+00:00" }, { "name": "myclabs/deep-copy", @@ -3938,7 +4167,7 @@ "object", "object graph" ], - "time": "2018-06-11 23:09:50" + "time": "2018-06-11T23:09:50+00:00" }, { "name": "phar-io/manifest", @@ -3993,7 +4222,7 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08 19:23:20" + "time": "2018-07-08T19:23:20+00:00" }, { "name": "phar-io/version", @@ -4040,7 +4269,7 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08 19:19:57" + "time": "2018-07-08T19:19:57+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -4094,7 +4323,7 @@ "reflection", "static analysis" ], - "time": "2017-09-11 18:02:19" + "time": "2017-09-11T18:02:19+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -4145,7 +4374,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-30 07:14:17" + "time": "2017-11-30T07:14:17+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -4192,7 +4421,7 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14 14:27:02" + "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpspec/php-diff", @@ -4230,7 +4459,7 @@ } ], "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).", - "time": "2016-04-07 12:29:16" + "time": "2016-04-07T12:29:16+00:00" }, { "name": "phpspec/prophecy", @@ -4293,7 +4522,7 @@ "spy", "stub" ], - "time": "2018-08-05 17:53:17" + "time": "2018-08-05T17:53:17+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4356,7 +4585,7 @@ "testing", "xunit" ], - "time": "2018-06-01 07:51:50" + "time": "2018-06-01T07:51:50+00:00" }, { "name": "phpunit/php-file-iterator", @@ -4403,7 +4632,7 @@ "filesystem", "iterator" ], - "time": "2018-06-11 11:44:00" + "time": "2018-06-11T11:44:00+00:00" }, { "name": "phpunit/php-text-template", @@ -4444,7 +4673,7 @@ "keywords": [ "template" ], - "time": "2015-06-21 13:50:34" + "time": "2015-06-21T13:50:34+00:00" }, { "name": "phpunit/php-timer", @@ -4493,7 +4722,7 @@ "keywords": [ "timer" ], - "time": "2018-02-01 13:07:23" + "time": "2018-02-01T13:07:23+00:00" }, { "name": "phpunit/php-token-stream", @@ -4542,7 +4771,7 @@ "keywords": [ "tokenizer" ], - "time": "2018-02-01 13:16:43" + "time": "2018-02-01T13:16:43+00:00" }, { "name": "phpunit/phpunit", @@ -4626,7 +4855,7 @@ "testing", "xunit" ], - "time": "2018-09-01 15:49:55" + "time": "2018-09-01T15:49:55+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -4671,7 +4900,7 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04 06:30:41" + "time": "2017-03-04T06:30:41+00:00" }, { "name": "sebastian/comparator", @@ -4735,7 +4964,7 @@ "compare", "equality" ], - "time": "2018-07-12 15:12:46" + "time": "2018-07-12T15:12:46+00:00" }, { "name": "sebastian/diff", @@ -4791,7 +5020,7 @@ "unidiff", "unified diff" ], - "time": "2018-06-10 07:54:39" + "time": "2018-06-10T07:54:39+00:00" }, { "name": "sebastian/environment", @@ -4841,7 +5070,7 @@ "environment", "hhvm" ], - "time": "2017-07-01 08:51:00" + "time": "2017-07-01T08:51:00+00:00" }, { "name": "sebastian/exporter", @@ -4908,7 +5137,7 @@ "export", "exporter" ], - "time": "2017-04-03 13:19:02" + "time": "2017-04-03T13:19:02+00:00" }, { "name": "sebastian/global-state", @@ -4959,7 +5188,7 @@ "keywords": [ "global state" ], - "time": "2017-04-27 15:39:26" + "time": "2017-04-27T15:39:26+00:00" }, { "name": "sebastian/object-enumerator", @@ -5006,7 +5235,7 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03 12:35:26" + "time": "2017-08-03T12:35:26+00:00" }, { "name": "sebastian/object-reflector", @@ -5051,7 +5280,7 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29 09:07:27" + "time": "2017-03-29T09:07:27+00:00" }, { "name": "sebastian/recursion-context", @@ -5104,7 +5333,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03 06:23:57" + "time": "2017-03-03T06:23:57+00:00" }, { "name": "sebastian/resource-operations", @@ -5146,7 +5375,7 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28 20:34:47" + "time": "2015-07-28T20:34:47+00:00" }, { "name": "sebastian/version", @@ -5189,7 +5418,7 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03 07:35:21" + "time": "2016-10-03T07:35:21+00:00" }, { "name": "symfony/browser-kit", @@ -5246,7 +5475,7 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2018-07-26 09:10:45" + "time": "2018-07-26T09:10:45+00:00" }, { "name": "symfony/console", @@ -5314,7 +5543,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-07-26 11:24:31" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/css-selector", @@ -5367,7 +5596,7 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2018-07-26 09:10:45" + "time": "2018-07-26T09:10:45+00:00" }, { "name": "symfony/dom-crawler", @@ -5424,7 +5653,7 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2018-07-26 11:00:49" + "time": "2018-07-26T11:00:49+00:00" }, { "name": "symfony/event-dispatcher", @@ -5487,7 +5716,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-07-26 09:10:45" + "time": "2018-07-26T09:10:45+00:00" }, { "name": "symfony/finder", @@ -5536,7 +5765,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-07-26 11:24:31" + "time": "2018-07-26T11:24:31+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5594,7 +5823,7 @@ "polyfill", "portable" ], - "time": "2018-08-06 14:22:27" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -5653,7 +5882,7 @@ "portable", "shim" ], - "time": "2018-08-06 14:22:27" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/yaml", @@ -5712,7 +5941,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-08-18 16:52:46" + "time": "2018-08-18T16:52:46+00:00" }, { "name": "theseer/tokenizer", @@ -5752,7 +5981,7 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2017-04-07 12:08:54" + "time": "2017-04-07T12:08:54+00:00" }, { "name": "webmozart/assert", @@ -5802,7 +6031,7 @@ "check", "validate" ], - "time": "2018-01-29 19:49:41" + "time": "2018-01-29T19:49:41+00:00" }, { "name": "yiisoft/yii2-debug", @@ -5849,7 +6078,7 @@ "debugger", "yii2" ], - "time": "2017-12-05 07:36:23" + "time": "2017-12-05T07:36:23+00:00" }, { "name": "yiisoft/yii2-faker", @@ -5896,7 +6125,7 @@ "faker", "yii2" ], - "time": "2018-02-19 20:27:10" + "time": "2018-02-19T20:27:10+00:00" }, { "name": "yiisoft/yii2-gii", @@ -5949,7 +6178,7 @@ "gii", "yii2" ], - "time": "2018-05-02 22:05:25" + "time": "2018-05-02T22:05:25+00:00" } ], "aliases": [], diff --git a/console/controllers/PdfController.php b/console/controllers/PdfController.php new file mode 100644 index 0000000..d65305a --- /dev/null +++ b/console/controllers/PdfController.php @@ -0,0 +1,181 @@ +load(Yii::$app->request->post()); + + if($model->timeTo=='') $model->timeTo=date('d.m.Y'); + if($model->timeFrom=='')$model->timeFrom = '01.01.1970'; + $date1=(new \DateTime($model->timeFrom))->modify("-1day")->getTimestamp(); + $date2=(new \DateTime($model->timeTo))->modify("+1day")->getTimestamp(); + $date3=(new \DateTime($model->timeTo))->getTimestamp(); + + $data = Customer::find() + ->where([ + 'between', + 'created_at', + $date1, + $date2 + ]) + ->all(); + if(count($data)>0){ + $spreadsheet = new Spreadsheet(); + $sheet = $spreadsheet->getActiveSheet(); + + + + $styleArray = [ + 'font' => [ + 'bold' => true, + ], + 'alignment' => [ + 'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, + ], + + 'fill' => [ + 'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_GRADIENT_LINEAR, + 'rotation' => 90, + 'startColor' => [ + 'argb' => 'FFA0A0A0', + ], + 'endColor' => [ + 'argb' => 'FFFFFFFF', + ], + ], + ]; + + #$spreadsheet->getActiveSheet()->getStyle('A3')->applyFromArray($styleArray); + + + + + + + $sheet->setCellValue('A1','ФИО')->getStyle('A1')->applyFromArray($styleArray); + $sheet->setCellValue('B1','Должность')->getStyle('B1')->applyFromArray($styleArray); + $sheet->setCellValue('C1','Официальный почтовый адрес')->getStyle('C1')->applyFromArray($styleArray); + $sheet->setCellValue('D1','Email')->getStyle('D1')->applyFromArray($styleArray); + $sheet->setCellValue('E1','Телефон (рабочий)')->getStyle('E1')->applyFromArray($styleArray); + $sheet->setCellValue('F1','Телефон (дополнительный)')->getStyle('F1')->applyFromArray($styleArray); + $sheet->setCellValue('G1','Факс')->getStyle('G1')->applyFromArray($styleArray); + $sheet->setCellValue('H1','Страна\организация')->getStyle('H1')->applyFromArray($styleArray); + $sheet->setCellValue('I1','Пол')->getStyle('I1')->applyFromArray($styleArray); + $sheet->setCellValue('J1','Дата рождения')->getStyle('J1')->applyFromArray($styleArray); + $sheet->setCellValue('K1','Серия, номер')->getStyle('K1')->applyFromArray($styleArray); + $sheet->setCellValue('L1','Дата выдачи')->getStyle('L1')->applyFromArray($styleArray); + $sheet->setCellValue('M1','Орган выдачи')->getStyle('M1')->applyFromArray($styleArray); + $sheet->setCellValue('N1','Действителен до')->getStyle('N1')->applyFromArray($styleArray); + $sheet->setCellValue('O1','Нужна виза')->getStyle('O1')->applyFromArray($styleArray); + $sheet->setCellValue('P1','Особенное питание')->getStyle('P1')->applyFromArray($styleArray); + $sheet->setCellValue('Q1','Рабочий язык')->getStyle('Q1')->applyFromArray($styleArray); + $sheet->setCellValue('R1','Ссылка на фотографию')->getStyle('R1')->applyFromArray($styleArray); + + $sheet->getColumnDimension('A')->setAutoSize(true); + $sheet->getColumnDimension('B')->setAutoSize(true); + $sheet->getColumnDimension('C')->setAutoSize(true); + $sheet->getColumnDimension('D')->setAutoSize(true); + $sheet->getColumnDimension('E')->setAutoSize(true); + $sheet->getColumnDimension('F')->setAutoSize(true); + $sheet->getColumnDimension('G')->setAutoSize(true); + $sheet->getColumnDimension('H')->setAutoSize(true); + $sheet->getColumnDimension('I')->setAutoSize(true); + $sheet->getColumnDimension('J')->setAutoSize(true); + $sheet->getColumnDimension('K')->setAutoSize(true); + $sheet->getColumnDimension('L')->setAutoSize(true); + $sheet->getColumnDimension('M')->setAutoSize(true); + $sheet->getColumnDimension('N')->setAutoSize(true); + $sheet->getColumnDimension('O')->setAutoSize(true); + $sheet->getColumnDimension('P')->setAutoSize(true); + $sheet->getColumnDimension('Q')->setAutoSize(true); + $sheet->getColumnDimension('R')->setAutoSize(true); + $fileName=$model->timeFrom."-".$model->timeTo."_".substr(md5(time()),0,6).'.xlsx'; + foreach($data as $key => $d){ + $key+=3; + $gender=''; + switch ($d->gender){ + case Customer::MALE: + $gender = "Мужчина"; + break; + case Customer::FEMALE: + $gender = 'Женщина'; + break; + default: + $gender = 'Пол не задан'; + break; + + } + $needVisa=($d->need_visa==0)?'Нет':'Да'; + + $workLang=''; + switch ($d->working_lang){ + case 2: + $workLang = "Русский"; + break; + case 1: + $workLang = "Английский"; + break; + case 4: + $workLang = "Французcкий"; + break; + default: + $workLang = "Русский"; + break; + } + + + + + $sheet->setCellValue('A'.$key, $d->name); + $sheet->setCellValue('B'.$key, $d->organization); + $sheet->setCellValue('C'.$key, $d->post_address); + $sheet->setCellValue('D'.$key, $d->email); + $sheet->setCellValue('E'.$key, $d->phone_office); + $sheet->setCellValue('F'.$key, $d->phone_other); + $sheet->setCellValue('G'.$key, $d->fax); + $sheet->setCellValue('H'.$key, $d->citizenship); + $sheet->setCellValue('I'.$key, $gender); + $sheet->setCellValue('J'.$key, $d->birth); + $sheet->setCellValue('K'.$key, $d->passport_number); + $sheet->setCellValue('L'.$key, $d->passport_date); + $sheet->setCellValue('M'.$key, $d->passport_place); + $sheet->setCellValue('N'.$key, $d->passport_valid); + $sheet->setCellValue('O'.$key, $needVisa); + $sheet->setCellValue('P'.$key, $d->special_meal); + $sheet->setCellValue('Q'.$key, $workLang); + $sheet->setCellValue('R'.$key,Yii::$app->request->hostInfo.$d->image); + $writer = new Xlsx($spreadsheet); + + $writer->save(__DIR__.'/../../frontend/web/files/xls/'.$fileName); + } + return json_encode([ + 'status' => 'success', + 'file' => $fileName, + ]); + } + + return json_encode([ + 'status' => false, + 'reason' => 'Нет заявок за указанный временной период', + 'code' => 1 + ]); + + + } +} \ No newline at end of file diff --git a/console/migrations/m180830_085211_create_speakers_tables.php b/console/migrations/m180830_085211_create_speakers_tables.php old mode 100644 new mode 100755 index 7501ca6..7501ca6 --- a/console/migrations/m180830_085211_create_speakers_tables.php +++ b/console/migrations/m180830_085211_create_speakers_tables.php diff --git a/console/migrations/m180830_091730_alter_table_language.php b/console/migrations/m180830_091730_alter_table_language.php old mode 100644 new mode 100755 index 56a6d86..56a6d86 --- a/console/migrations/m180830_091730_alter_table_language.php +++ b/console/migrations/m180830_091730_alter_table_language.php diff --git a/console/migrations/m180830_105258_create_customer_table.php b/console/migrations/m180830_105258_create_customer_table.php old mode 100644 new mode 100755 index 27b3f22..27b3f22 --- a/console/migrations/m180830_105258_create_customer_table.php +++ b/console/migrations/m180830_105258_create_customer_table.php diff --git a/console/migrations/m180831_083021_alter_page_columns.php b/console/migrations/m180831_083021_alter_page_columns.php old mode 100644 new mode 100755 index 2245d44..2245d44 --- a/console/migrations/m180831_083021_alter_page_columns.php +++ b/console/migrations/m180831_083021_alter_page_columns.php diff --git a/console/migrations/m180905_072743_customer_add_columns.php b/console/migrations/m180905_072743_customer_add_columns.php old mode 100644 new mode 100755 index 27eb5b2..27eb5b2 --- a/console/migrations/m180905_072743_customer_add_columns.php +++ b/console/migrations/m180905_072743_customer_add_columns.php diff --git a/console/migrations/m180905_082107_customer_change_some_new_fields.php b/console/migrations/m180905_082107_customer_change_some_new_fields.php old mode 100644 new mode 100755 index 20c965b..20c965b --- a/console/migrations/m180905_082107_customer_change_some_new_fields.php +++ b/console/migrations/m180905_082107_customer_change_some_new_fields.php diff --git a/console/migrations/m180905_085556_customer_add_work_and_meal_cols.php b/console/migrations/m180905_085556_customer_add_work_and_meal_cols.php old mode 100644 new mode 100755 index 43cd7cf..43cd7cf --- a/console/migrations/m180905_085556_customer_add_work_and_meal_cols.php +++ b/console/migrations/m180905_085556_customer_add_work_and_meal_cols.php diff --git a/console/migrations/m180905_131729_customer_add_work_lang_column.php b/console/migrations/m180905_131729_customer_add_work_lang_column.php old mode 100644 new mode 100755 index ef2f6e2..ef2f6e2 --- a/console/migrations/m180905_131729_customer_add_work_lang_column.php +++ b/console/migrations/m180905_131729_customer_add_work_lang_column.php diff --git a/console/migrations/m180906_190153_customer_add_column_post.php b/console/migrations/m180906_190153_customer_add_column_post.php old mode 100644 new mode 100755 index 769998e..769998e --- a/console/migrations/m180906_190153_customer_add_column_post.php +++ b/console/migrations/m180906_190153_customer_add_column_post.php diff --git a/console/migrations/m180912_090212_customer_add_update_at_column.php b/console/migrations/m180912_090212_customer_add_update_at_column.php old mode 100644 new mode 100755 index 0a4b924..0a4b924 --- a/console/migrations/m180912_090212_customer_add_update_at_column.php +++ b/console/migrations/m180912_090212_customer_add_update_at_column.php diff --git a/frontend/assets/SliderAsset.php b/frontend/assets/SliderAsset.php old mode 100644 new mode 100755 index d3a6d91..d3a6d91 --- a/frontend/assets/SliderAsset.php +++ b/frontend/assets/SliderAsset.php diff --git a/frontend/components/LangComponent.php b/frontend/components/LangComponent.php old mode 100644 new mode 100755 index 8c872d0..8c872d0 --- a/frontend/components/LangComponent.php +++ b/frontend/components/LangComponent.php diff --git a/frontend/widgets/LangLinks.php b/frontend/widgets/LangLinks.php old mode 100644 new mode 100755 index b12aac2..b12aac2 --- a/frontend/widgets/LangLinks.php +++ b/frontend/widgets/LangLinks.php diff --git a/frontend/widgets/views/links.php b/frontend/widgets/views/links.php old mode 100644 new mode 100755 index 97cd8e3..97cd8e3 --- a/frontend/widgets/views/links.php +++ b/frontend/widgets/views/links.php diff --git a/frontend/widgets/views/links_mobile.php b/frontend/widgets/views/links_mobile.php old mode 100644 new mode 100755 index 1f94f35..1f94f35 --- a/frontend/widgets/views/links_mobile.php +++ b/frontend/widgets/views/links_mobile.php -- libgit2 0.21.4