Commit 2989d0edf5048fd03bb43ce461c9f1ad137a5aef

Authored by Mihail
2 parents 4044fc30 a17d3afc

Merge branch 'master' of gitlab.artweb.com.ua:root/test_1

Showing 50 changed files with 369 additions and 45 deletions   Show diff stats
1 .idea 1 .idea
2 /uploads 2 /uploads
3 /vendor 3 /vendor
4 -tests/_output/*  
5 \ No newline at end of file 4 \ No newline at end of file
  5 +tests/_output/*
  6 +composer.lock
6 \ No newline at end of file 7 \ No newline at end of file
backend/components/.gitignore 100644 → 100755
backend/components/FieldEditor/FieldEditor.php 100644 → 100755
backend/components/FieldEditor/views/phone_field.php 100644 → 100755
backend/components/FieldEditor/views/video_field.php 100644 → 100755
backend/components/ImgResizer.php 0 → 100755
  1 +<?php
  2 +namespace backend\components;
  3 +
  4 +use yii\web\UploadedFile;
  5 +use backend\models\ImageSizerForm;
  6 +use yii\base\Widget;
  7 +use Imagine\Image\Box;
  8 +use yii\imagine\Image;
  9 +use Yii;
  10 +use Imagine\Gd\Imagine;
  11 +
  12 +class ImgResizer extends Widget
  13 +{
  14 +
  15 + public $height;
  16 + public $width;
  17 +
  18 + public function init(){
  19 +
  20 + parent::init();
  21 +
  22 + }
  23 +
  24 + public function run(){
  25 +
  26 + $model = new ImageSizerForm();
  27 +
  28 + $request = Yii::$app->request->post();
  29 +
  30 + if ($request) {
  31 +
  32 + if(isset($request['old_img'])){
  33 + $this->deleteImages($request['old_img']);
  34 + }
  35 +
  36 +
  37 + $model->file = UploadedFile::getInstance($model, 'file');
  38 +
  39 + $md5_file = md5_file($model->file->tempName);
  40 +
  41 + $imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
  42 +
  43 + $imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
  44 +
  45 + if(!is_dir($imgDir)) {
  46 + mkdir($imgDir, 0755, true);
  47 + }
  48 +
  49 + $model->file->saveAs($imageOrigAlias);
  50 +
  51 + if($request['width'] && $request['height']){
  52 +
  53 + $imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
  54 +
  55 + $imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
  56 +
  57 + $this->resizeImg($request['width'],$request['height'], $imageOrigAlias,$imageAlias);
  58 +
  59 + } else {
  60 +
  61 + $imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
  62 +
  63 + }
  64 +
  65 +
  66 + if($model->multi){
  67 +// $view = $this->renderPartial('@app/components/views/_gallery_item', [
  68 +// 'item' => ['image'=>$imageLink],
  69 +// ]);
  70 +//
  71 +// return json_encode(['link'=>$imageLink, 'view' =>$view]);
  72 +
  73 +
  74 + } else {
  75 + $p1[0] = "<img style='height:160px' src='$imageLink' class='file-preview-image'>";
  76 + return json_encode(['success','initialPreview' => $p1, 'append' => false, 'name' =>$imageLink,]);
  77 + }
  78 +
  79 +
  80 + } else {
  81 + return json_encode(['error']);
  82 + }
  83 +
  84 +
  85 +
  86 +
  87 + }
  88 +
  89 +
  90 + public function isBigger($width,$height,$w,$h)
  91 + {
  92 + if($width>$w){
  93 + return true;
  94 + }else if($height >$h) {
  95 + return true;
  96 + }
  97 + return false;
  98 + }
  99 +
  100 +
  101 + public function getImgSize($width,$height,$e){
  102 + if($e>1){
  103 + if($height>$width){
  104 + $this->width = $width;
  105 + $this->height = $height/$e;
  106 + } else {
  107 + $this->height = $height;
  108 + $this->width= $width/$e;
  109 + }
  110 +
  111 + } else {
  112 + if($width >$height ){
  113 + $this->height = $height;
  114 + $this->width = $width*$e;
  115 + } else {
  116 + $this->width = $width;
  117 + $this->height = $height*$e;
  118 + }
  119 +
  120 + }
  121 + }
  122 +
  123 +
  124 +
  125 +
  126 + public function resizeImg($w, $h, $imageAlias,$imageAliasSave)
  127 + {
  128 + $img = Image::getImagine()->open(Yii::getAlias($imageAlias));
  129 +
  130 + $size = $img->getSize();
  131 +
  132 + $width = $size->getWidth();
  133 + $height = $size->getHeight();
  134 +
  135 + $e = $w/$h;
  136 +
  137 + if($this->isBigger($width,$height,$w,$h)){
  138 + if($height > $width) {
  139 +
  140 + $x = 0;
  141 + $y = ($height - $width) / 2;
  142 + $e1 = $width/$height;
  143 +
  144 + $height = $height*($e1/$e);
  145 +
  146 + }else if($height == $width){
  147 + $x = 0;
  148 + $y = ($height - $width) / 2;
  149 +
  150 +
  151 + $height = $height/$e;
  152 + }else {
  153 + $y = 0;
  154 + $x = ($width - $height) / 2;
  155 + $e1 = $width/$height;
  156 +
  157 + $width = $width*($e/$e1);
  158 + }
  159 + } else {
  160 + $img->save($imageAliasSave, array('flatten' => false));
  161 + return true;
  162 + }
  163 +
  164 +
  165 +
  166 +
  167 +
  168 + Image::crop($imageAlias, $width, $height,[$x,$y])
  169 + ->save(Yii::getAlias($imageAliasSave), ['quality' =>
  170 + 100]);
  171 +
  172 +
  173 + $imagine = new Imagine();
  174 + $imagine->open($imageAliasSave)
  175 + ->resize(new Box($w, $h))
  176 + ->save($imageAliasSave, array('flatten' => false));
  177 +
  178 +
  179 +
  180 + }
  181 +
  182 +
  183 + private function deleteImages($old_img){
  184 +
  185 + if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
  186 +
  187 + $rootDir = explode("/", $old_img);
  188 +
  189 + $row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/';
  190 +
  191 + $allFiles = scandir($row);
  192 +
  193 + $allFiles = array_slice($allFiles, 2);
  194 +
  195 + foreach($allFiles as $oldFile){
  196 +
  197 + unlink($row.$oldFile);
  198 +
  199 + }
  200 +
  201 + }
  202 + }
  203 +
  204 + public function actionDeleteImage(){
  205 + $old_img = Yii::$app->request->post('old_img');
  206 +
  207 + if ($old_img) {
  208 + $this->deleteImages($old_img);
  209 + }
  210 + }
  211 +
  212 +
  213 +
  214 +}
0 \ No newline at end of file 215 \ No newline at end of file
backend/controllers/NewsController.php
@@ -2,12 +2,16 @@ @@ -2,12 +2,16 @@
2 2
3 namespace backend\controllers; 3 namespace backend\controllers;
4 4
  5 +use backend\models\ImageSizerForm;
  6 +use backend\models\UploadForm;
5 use Yii; 7 use Yii;
6 use common\models\News; 8 use common\models\News;
7 use common\models\NewsSearch; 9 use common\models\NewsSearch;
8 use yii\web\Controller; 10 use yii\web\Controller;
9 use yii\web\NotFoundHttpException; 11 use yii\web\NotFoundHttpException;
10 use yii\filters\VerbFilter; 12 use yii\filters\VerbFilter;
  13 +use yii\web\UploadedFile;
  14 +use backend\components\ImgResizer;
11 15
12 /** 16 /**
13 * NewsController implements the CRUD actions for News model. 17 * NewsController implements the CRUD actions for News model.
@@ -120,4 +124,11 @@ class NewsController extends Controller @@ -120,4 +124,11 @@ class NewsController extends Controller
120 throw new NotFoundHttpException('The requested page does not exist.'); 124 throw new NotFoundHttpException('The requested page does not exist.');
121 } 125 }
122 } 126 }
  127 +
  128 +
  129 + public function actionFileUpload(){
  130 +
  131 + echo ImgResizer::widget();
  132 +
  133 + }
123 } 134 }
backend/models/ImageSizerForm.php
@@ -20,6 +20,8 @@ class ImageSizerForm extends Model @@ -20,6 +20,8 @@ class ImageSizerForm extends Model
20 public $form; 20 public $form;
21 public $multi; 21 public $multi;
22 public $old_img; 22 public $old_img;
  23 + public $img;
  24 + public $price_list;
23 25
24 /** 26 /**
25 * @return array the validation rules. 27 * @return array the validation rules.
@@ -30,7 +32,7 @@ class ImageSizerForm extends Model @@ -30,7 +32,7 @@ class ImageSizerForm extends Model
30 [['width', 'height'], 'integer'], 32 [['width', 'height'], 'integer'],
31 [['field', 'multi','old_img'], 'string', 'max' => 255], 33 [['field', 'multi','old_img'], 'string', 'max' => 255],
32 [['model', 'form',], 'string'], 34 [['model', 'form',], 'string'],
33 - [['file'], 'file'], 35 + [['file','img','price_list'], 'file'],
34 ]; 36 ];
35 } 37 }
36 } 38 }
37 \ No newline at end of file 39 \ No newline at end of file
backend/models/UploadForm.php 0 → 100755
  1 +<?php
  2 +namespace backend\models;
  3 +
  4 +use yii\base\Model;
  5 +use yii\web\UploadedFile;
  6 +
  7 +/**
  8 + * UploadForm is the model behind the upload form.
  9 + */
  10 +class UploadForm extends Model
  11 +{
  12 + /**
  13 + * @var UploadedFile file attribute
  14 + */
  15 + public $file;
  16 + public $img;
  17 +
  18 + /**
  19 + * @return array the validation rules.
  20 + */
  21 + public function rules()
  22 + {
  23 + return [
  24 + [['file','img'], 'file'],
  25 + ];
  26 + }
  27 +}
0 \ No newline at end of file 28 \ No newline at end of file
backend/views/accounts/_form.php
@@ -75,33 +75,6 @@ use yii\helpers\ArrayHelper; @@ -75,33 +75,6 @@ use yii\helpers\ArrayHelper;
75 75
76 76
77 77
78 -  
79 -  
80 -  
81 -  
82 -  
83 -<!-- --><?//= $form->field($model, 'country')->textInput() ?>  
84 -<!-- -->  
85 -<!-- --><?//= $form->field($model, 'rating')->textInput() ?>  
86 -<!-- -->  
87 -<!-- --><?//= $form->field($model, 'last_loginin')->textInput(['maxlength' => true]) ?>  
88 -<!-- -->  
89 -<!-- --><?//= $form->field($model, 'balance')->textInput() ?>  
90 -<!---->  
91 -<!-- --><?//= $form->field($model, 'office_id')->textInput() ?>  
92 -<!---->  
93 -<!-- --><?//= $form->field($model, 'car')->textInput() ?>  
94 -<!---->  
95 -<!-- --><?//= $form->field($model, 'mod')->textInput() ?>  
96 -<!---->  
97 -<!-- --><?//= $form->field($model, 'snumb')->textInput(['maxlength' => true]) ?>  
98 -<!---->  
99 -<!-- --><?//= $form->field($model, 'deliveries')->textInput() ?>  
100 -  
101 -  
102 -  
103 -  
104 -  
105 <div class="form-group"> 78 <div class="form-group">
106 <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 79 <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
107 </div> 80 </div>
backend/views/news/_form.php
@@ -3,7 +3,8 @@ @@ -3,7 +3,8 @@
3 use yii\helpers\Html; 3 use yii\helpers\Html;
4 use mihaildev\ckeditor\CKEditor; 4 use mihaildev\ckeditor\CKEditor;
5 use yii\widgets\ActiveForm; 5 use yii\widgets\ActiveForm;
6 - 6 +use kartik\file\FileInput;
  7 +use \yii\helpers\Url;
7 /* @var $this yii\web\View */ 8 /* @var $this yii\web\View */
8 /* @var $model common\models\News */ 9 /* @var $model common\models\News */
9 /* @var $form yii\widgets\ActiveForm */ 10 /* @var $form yii\widgets\ActiveForm */
@@ -49,9 +50,48 @@ use yii\widgets\ActiveForm; @@ -49,9 +50,48 @@ use yii\widgets\ActiveForm;
49 50
50 <?= $form->field($model, 'mails_count')->textInput() ?> 51 <?= $form->field($model, 'mails_count')->textInput() ?>
51 52
52 - <?= $form->field($model, 'img')->textInput(['maxlength' => true]) ?>  
53 - <?= $form->field($model, 'img')->widget(FileInput::classname(), [  
54 - 'options' => ['accept' => 'image/*'], 53 + <?= Html::activeHiddenInput($model, 'img');?>
  54 +
  55 + <?= $form->field(new \backend\models\ImageSizerForm(), 'file')->widget(FileInput::classname(), [
  56 + 'name' => 'file',
  57 + 'options' => [
  58 + ['accept' => 'image/*']
  59 + ],
  60 + 'pluginOptions' => [
  61 + 'initialPreview'=>[
  62 + Html::img($model->img, ['class'=>'file-preview-image']),
  63 + ],
  64 + 'uploadUrl' => Url::to(['/news/file-upload']),
  65 + 'overwriteInitial'=>true,
  66 + 'uploadExtraData'=> ['width' => 240, 'height' => 160]
  67 +
  68 + ],
  69 + 'pluginEvents' => [
  70 + 'fileuploaded' => 'function(event, key) { document.getElementsByName("News[img]")[0].value = key.response.name }',
  71 + ]
  72 +
  73 +
  74 + ]);?>
  75 +
  76 + <?= $form->field(new \backend\models\ImageSizerForm(), 'price_list')->widget(FileInput::classname(), [
  77 + 'name' => 'file',
  78 + 'options' => [
  79 + ['accept' => 'image/*']
  80 + ],
  81 + 'pluginOptions' => [
  82 + 'initialPreview'=>[
  83 + Html::img($model->price_list, ['class'=>'file-preview-image']),
  84 + ],
  85 + 'uploadUrl' => Url::to(['/news/file-upload']),
  86 + 'overwriteInitial'=>true,
  87 + 'uploadExtraData'=> ['width' => 240, 'height' => 160]
  88 +
  89 + ],
  90 + 'pluginEvents' => [
  91 + 'fileuploaded' => 'function(event, key) { document.getElementsByName("News[img]")[0].value = key.response.name }',
  92 + ]
  93 +
  94 +
55 ]); ?> 95 ]); ?>
56 <div class="form-group"> 96 <div class="form-group">
57 <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 97 <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
codeception.yml 100644 → 100755
common/models/DetailsCriteria.php 100644 → 100755
common/models/DetailsDescription.php 100644 → 100755
common/models/News.php
@@ -21,6 +21,7 @@ use Yii; @@ -21,6 +21,7 @@ use Yii;
21 * @property integer $mail_send 21 * @property integer $mail_send
22 * @property integer $mails_count 22 * @property integer $mails_count
23 * @property string $img 23 * @property string $img
  24 + * @property string $price_list
24 */ 25 */
25 class News extends \yii\db\ActiveRecord 26 class News extends \yii\db\ActiveRecord
26 { 27 {
@@ -42,8 +43,9 @@ class News extends \yii\db\ActiveRecord @@ -42,8 +43,9 @@ class News extends \yii\db\ActiveRecord
42 return [ 43 return [
43 [['name', 'code', 'brief', 'content', 'title', 'kwords', 'descr', 'dt', 'is_active', 'img'], 'required'], 44 [['name', 'code', 'brief', 'content', 'title', 'kwords', 'descr', 'dt', 'is_active', 'img'], 'required'],
44 [['brief', 'content'], 'string'], 45 [['brief', 'content'], 'string'],
  46 + [['img'], 'file'],
45 [['sort_delete', 'is_active', 'mail_send', 'mails_count'], 'integer'], 47 [['sort_delete', 'is_active', 'mail_send', 'mails_count'], 'integer'],
46 - [['name', 'code', 'title', 'kwords', 'descr', 'img'], 'string', 'max' => 254], 48 + [['name', 'code', 'title', 'kwords', 'descr', 'img','price_list'], 'string', 'max' => 254],
47 [['dt'], 'string', 'max' => 15], 49 [['dt'], 'string', 'max' => 15],
48 [['code'], 'unique'] 50 [['code'], 'unique']
49 ]; 51 ];
@@ -54,6 +56,25 @@ class News extends \yii\db\ActiveRecord @@ -54,6 +56,25 @@ class News extends \yii\db\ActiveRecord
54 56
55 } 57 }
56 58
  59 + function minImg($dir, $width, $height=null){
  60 + if($width=='original'){
  61 + $preg = '/\/(.[^\/]*)$/';
  62 + preg_match('/\.(.[^.]*)$/', $dir, $type);
  63 + $row = preg_replace( $preg, '/original.'.$type[1], $dir);
  64 + } else {
  65 + $preg = '/\/(.[^\/]*)$/';
  66 + preg_match('/\.(.[^.]*)$/', $dir, $type);
  67 + $row = preg_replace( $preg, '/'.$width.'X'.$height.'.'.$type[1], $dir);
  68 + }
  69 + return $row;
  70 +// if(file_exists($_SERVER['DOCUMENT_ROOT'].$row)){
  71 +// return $row;
  72 +// } else {
  73 +// return "/storage/no-image.png";
  74 +// }
  75 +
  76 + }
  77 +
57 /** 78 /**
58 * @inheritdoc 79 * @inheritdoc
59 */ 80 */
@@ -74,6 +95,7 @@ class News extends \yii\db\ActiveRecord @@ -74,6 +95,7 @@ class News extends \yii\db\ActiveRecord
74 'mail_send' => 'Mail Send', 95 'mail_send' => 'Mail Send',
75 'mails_count' => 'Mails Count', 96 'mails_count' => 'Mails Count',
76 'img' => 'Img', 97 'img' => 'Img',
  98 + 'price_list' => 'price_list',
77 ]; 99 ];
78 } 100 }
79 } 101 }
@@ -25,7 +25,8 @@ @@ -25,7 +25,8 @@
25 "kartik-v/yii2-datecontrol": "dev-master", 25 "kartik-v/yii2-datecontrol": "dev-master",
26 "codeception/codeception": "*", 26 "codeception/codeception": "*",
27 "2amigos/yii2-ckeditor-widget": "~1.0", 27 "2amigos/yii2-ckeditor-widget": "~1.0",
28 - "mihaildev/yii2-ckeditor": "*" 28 + "mihaildev/yii2-ckeditor": "*",
  29 + "kartik-v/yii2-widget-fileinput": "@dev"
29 }, 30 },
30 "require-dev": { 31 "require-dev": {
31 "yiisoft/yii2-codeception": "*", 32 "yiisoft/yii2-codeception": "*",
console/migrations/m151116_153942_add_field_to_news.php 0 → 100644
  1 +<?php
  2 +
  3 +use yii\db\Schema;
  4 +use yii\db\Migration;
  5 +
  6 +class m151116_153942_add_field_to_news extends Migration
  7 +{
  8 + public function up()
  9 + {
  10 +
  11 + $view = <<< MySQL
  12 + ALTER TABLE `italautocomua`.`w_news`
  13 + ADD COLUMN `price_list` VARCHAR(255) NULL AFTER `img`;
  14 +MySQL;
  15 + $this->execute($view);
  16 +
  17 + }
  18 +
  19 + public function down()
  20 + {
  21 + echo "m151116_153942_add_field_to_news cannot be reverted.\n";
  22 +
  23 + return false;
  24 + }
  25 +
  26 + /*
  27 + // Use safeUp/safeDown to run migration code within a transaction
  28 + public function safeUp()
  29 + {
  30 + }
  31 +
  32 + public function safeDown()
  33 + {
  34 + }
  35 + */
  36 +}
frontend/views/news/one_item.php
@@ -4,7 +4,7 @@ use \yii\helpers\Html; @@ -4,7 +4,7 @@ use \yii\helpers\Html;
4 4
5 5
6 <div class="news"> 6 <div class="news">
7 - <?= Html::a(Html::img('/storage/files/load/normal-'.$model->img),['news/view', 'translit' =>$model->code ]) ?> 7 + <?= Html::a(Html::img($model->img),['news/view', 'translit' =>$model->code ]) ?>
8 <span class='date'><?= $model->date?></span><br> 8 <span class='date'><?= $model->date?></span><br>
9 <?= Html::a("<p class='article'>".$model->name."</p>",['news/view', 'translit' =>$model->code ]) ?> 9 <?= Html::a("<p class='article'>".$model->name."</p>",['news/view', 'translit' =>$model->code ]) ?>
10 <?= Html::a("<p class='short_news'>".$model->brief."</p>",['news/view', 'translit' =>$model->code ]) ?> 10 <?= Html::a("<p class='short_news'>".$model->brief."</p>",['news/view', 'translit' =>$model->code ]) ?>
frontend/views/news/view.php
@@ -10,7 +10,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title; @@ -10,7 +10,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
10 <p class="vin_article"><?= $model->name ?></p> 10 <p class="vin_article"><?= $model->name ?></p>
11 </div> 11 </div>
12 <div class="choose_tovar"> 12 <div class="choose_tovar">
13 -<img src="/images/news_big.png" class="big_article"> 13 +<img src="<?= $model->img ?>" class="big_article">
14 <div class="one_article"> 14 <div class="one_article">
15 <?= $model->content ?> 15 <?= $model->content ?>
16 <div class="download_catalog"> 16 <div class="download_catalog">
frontend/web/css/news_all.css
@@ -40,11 +40,3 @@ p, a, label, span{ @@ -40,11 +40,3 @@ p, a, label, span{
40 40
41 } 41 }
42 42
43 -.news{  
44 - width: 480px;  
45 - display: inline-block;  
46 -}  
47 -  
48 -.news img{  
49 - border:1px solid #dfdfdf;  
50 -}  
51 \ No newline at end of file 43 \ No newline at end of file
frontend/web/css/style/news_all.css
@@ -226,4 +226,9 @@ p, a, label, span{ @@ -226,4 +226,9 @@ p, a, label, span{
226 226
227 .small_menu_width { 227 .small_menu_width {
228 228
  229 +}
  230 +
  231 +.news a img{
  232 + width: 120px;
  233 + height: 80px;
229 } 234 }
230 \ No newline at end of file 235 \ No newline at end of file
storage/parser_data/auto/5648.csv 100644 → 100755
storage/parser_data/temp/5648.csv 100644 → 100755
tests/_bootstrap.php 100644 → 100755
tests/_data/dump.sql 100644 → 100755
tests/_data/parser/crosses/test1.csv 100644 → 100755
tests/_data/parser/csv_parser/console.csv 100644 → 100755
tests/_data/parser/csv_parser/web.csv 100644 → 100755
tests/_data/parser/xml_parser/console.xml 100644 → 100755
tests/_output/.gitignore 100644 → 100755
tests/_support/AcceptanceTester.php 100644 → 100755
tests/_support/FunctionalTester.php 100644 → 100755
tests/_support/Helper/Acceptance.php 100644 → 100755
tests/_support/Helper/Functional.php 100644 → 100755
tests/_support/Helper/Unit.php 100644 → 100755
tests/_support/UnitTester.php 100644 → 100755
tests/_support/_generated/AcceptanceTesterActions.php 100644 → 100755
tests/_support/_generated/FunctionalTesterActions.php 100644 → 100755
tests/_support/_generated/UnitTesterActions.php 100644 → 100755
tests/acceptance.suite.yml 100644 → 100755
tests/acceptance/_bootstrap.php 100644 → 100755
tests/config/main.php 100644 → 100755
tests/functional.suite.yml 100644 → 100755
tests/functional/_bootstrap.php 100644 → 100755
tests/unit.suite.yml 100644 → 100755
tests/unit/BaseConverterTest.php 100644 → 100755
tests/unit/CrossesParsingTest.php 100644 → 100755
tests/unit/CsvParsingTest.php 100644 → 100755
tests/unit/XmlParsingTest.php 100644 → 100755
tests/unit/_bootstrap.php 100644 → 100755