diff --git a/.gitignore b/.gitignore
index 53001ac..fc56960 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
.idea
/uploads
/vendor
-tests/_output/*
\ No newline at end of file
+tests/_output/*
+composer.lock
\ No newline at end of file
diff --git a/backend/components/.gitignore b/backend/components/.gitignore
old mode 100644
new mode 100755
index b47e7f9..b47e7f9
--- a/backend/components/.gitignore
+++ b/backend/components/.gitignore
diff --git a/backend/components/FieldEditor/FieldEditor.php b/backend/components/FieldEditor/FieldEditor.php
old mode 100644
new mode 100755
index 82a0b41..82a0b41
--- a/backend/components/FieldEditor/FieldEditor.php
+++ b/backend/components/FieldEditor/FieldEditor.php
diff --git a/backend/components/FieldEditor/views/phone_field.php b/backend/components/FieldEditor/views/phone_field.php
old mode 100644
new mode 100755
index 28078ff..28078ff
--- a/backend/components/FieldEditor/views/phone_field.php
+++ b/backend/components/FieldEditor/views/phone_field.php
diff --git a/backend/components/FieldEditor/views/price_field.php b/backend/components/FieldEditor/views/price_field.php
old mode 100644
new mode 100755
index 5f552fd..5f552fd
--- a/backend/components/FieldEditor/views/price_field.php
+++ b/backend/components/FieldEditor/views/price_field.php
diff --git a/backend/components/FieldEditor/views/video_field.php b/backend/components/FieldEditor/views/video_field.php
old mode 100644
new mode 100755
index 769b608..769b608
--- a/backend/components/FieldEditor/views/video_field.php
+++ b/backend/components/FieldEditor/views/video_field.php
diff --git a/backend/components/ImgResizer.php b/backend/components/ImgResizer.php
new file mode 100755
index 0000000..9b8c372
--- /dev/null
+++ b/backend/components/ImgResizer.php
@@ -0,0 +1,214 @@
+request->post();
+
+ if ($request) {
+
+ if(isset($request['old_img'])){
+ $this->deleteImages($request['old_img']);
+ }
+
+
+ $model->file = UploadedFile::getInstance($model, 'file');
+
+ $md5_file = md5_file($model->file->tempName);
+
+ $imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
+
+ $imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
+
+ if(!is_dir($imgDir)) {
+ mkdir($imgDir, 0755, true);
+ }
+
+ $model->file->saveAs($imageOrigAlias);
+
+ if($request['width'] && $request['height']){
+
+ $imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
+
+ $imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
+
+ $this->resizeImg($request['width'],$request['height'], $imageOrigAlias,$imageAlias);
+
+ } else {
+
+ $imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
+
+ }
+
+
+ if($model->multi){
+// $view = $this->renderPartial('@app/components/views/_gallery_item', [
+// 'item' => ['image'=>$imageLink],
+// ]);
+//
+// return json_encode(['link'=>$imageLink, 'view' =>$view]);
+
+
+ } else {
+ $p1[0] = "
";
+ return json_encode(['success','initialPreview' => $p1, 'append' => false, 'name' =>$imageLink,]);
+ }
+
+
+ } else {
+ return json_encode(['error']);
+ }
+
+
+
+
+ }
+
+
+ public function isBigger($width,$height,$w,$h)
+ {
+ if($width>$w){
+ return true;
+ }else if($height >$h) {
+ return true;
+ }
+ return false;
+ }
+
+
+ public function getImgSize($width,$height,$e){
+ if($e>1){
+ if($height>$width){
+ $this->width = $width;
+ $this->height = $height/$e;
+ } else {
+ $this->height = $height;
+ $this->width= $width/$e;
+ }
+
+ } else {
+ if($width >$height ){
+ $this->height = $height;
+ $this->width = $width*$e;
+ } else {
+ $this->width = $width;
+ $this->height = $height*$e;
+ }
+
+ }
+ }
+
+
+
+
+ public function resizeImg($w, $h, $imageAlias,$imageAliasSave)
+ {
+ $img = Image::getImagine()->open(Yii::getAlias($imageAlias));
+
+ $size = $img->getSize();
+
+ $width = $size->getWidth();
+ $height = $size->getHeight();
+
+ $e = $w/$h;
+
+ if($this->isBigger($width,$height,$w,$h)){
+ if($height > $width) {
+
+ $x = 0;
+ $y = ($height - $width) / 2;
+ $e1 = $width/$height;
+
+ $height = $height*($e1/$e);
+
+ }else if($height == $width){
+ $x = 0;
+ $y = ($height - $width) / 2;
+
+
+ $height = $height/$e;
+ }else {
+ $y = 0;
+ $x = ($width - $height) / 2;
+ $e1 = $width/$height;
+
+ $width = $width*($e/$e1);
+ }
+ } else {
+ $img->save($imageAliasSave, array('flatten' => false));
+ return true;
+ }
+
+
+
+
+
+ Image::crop($imageAlias, $width, $height,[$x,$y])
+ ->save(Yii::getAlias($imageAliasSave), ['quality' =>
+ 100]);
+
+
+ $imagine = new Imagine();
+ $imagine->open($imageAliasSave)
+ ->resize(new Box($w, $h))
+ ->save($imageAliasSave, array('flatten' => false));
+
+
+
+ }
+
+
+ private function deleteImages($old_img){
+
+ if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
+
+ $rootDir = explode("/", $old_img);
+
+ $row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/';
+
+ $allFiles = scandir($row);
+
+ $allFiles = array_slice($allFiles, 2);
+
+ foreach($allFiles as $oldFile){
+
+ unlink($row.$oldFile);
+
+ }
+
+ }
+ }
+
+ public function actionDeleteImage(){
+ $old_img = Yii::$app->request->post('old_img');
+
+ if ($old_img) {
+ $this->deleteImages($old_img);
+ }
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/backend/controllers/NewsController.php b/backend/controllers/NewsController.php
index 863a4de..f33dadf 100755
--- a/backend/controllers/NewsController.php
+++ b/backend/controllers/NewsController.php
@@ -2,12 +2,16 @@
namespace backend\controllers;
+use backend\models\ImageSizerForm;
+use backend\models\UploadForm;
use Yii;
use common\models\News;
use common\models\NewsSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
+use yii\web\UploadedFile;
+use backend\components\ImgResizer;
/**
* NewsController implements the CRUD actions for News model.
@@ -120,4 +124,11 @@ class NewsController extends Controller
throw new NotFoundHttpException('The requested page does not exist.');
}
}
+
+
+ public function actionFileUpload(){
+
+ echo ImgResizer::widget();
+
+ }
}
diff --git a/backend/models/ImageSizerForm.php b/backend/models/ImageSizerForm.php
index 92f430a..278d1e2 100755
--- a/backend/models/ImageSizerForm.php
+++ b/backend/models/ImageSizerForm.php
@@ -20,6 +20,8 @@ class ImageSizerForm extends Model
public $form;
public $multi;
public $old_img;
+ public $img;
+ public $price_list;
/**
* @return array the validation rules.
@@ -30,7 +32,7 @@ class ImageSizerForm extends Model
[['width', 'height'], 'integer'],
[['field', 'multi','old_img'], 'string', 'max' => 255],
[['model', 'form',], 'string'],
- [['file'], 'file'],
+ [['file','img','price_list'], 'file'],
];
}
}
\ No newline at end of file
diff --git a/backend/models/UploadForm.php b/backend/models/UploadForm.php
new file mode 100755
index 0000000..87a0814
--- /dev/null
+++ b/backend/models/UploadForm.php
@@ -0,0 +1,27 @@
+//= $form->field($model, 'country')->textInput() ?>
-
-//= $form->field($model, 'rating')->textInput() ?>
-
-//= $form->field($model, 'last_loginin')->textInput(['maxlength' => true]) ?>
-
-//= $form->field($model, 'balance')->textInput() ?>
-
-//= $form->field($model, 'office_id')->textInput() ?>
-
-//= $form->field($model, 'car')->textInput() ?>
-
-//= $form->field($model, 'mod')->textInput() ?>
-
-//= $form->field($model, 'snumb')->textInput(['maxlength' => true]) ?>
-
-//= $form->field($model, 'deliveries')->textInput() ?>
-
-
-
-
-
= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
diff --git a/backend/views/news/_form.php b/backend/views/news/_form.php
index cd193cf..0e6e20b 100755
--- a/backend/views/news/_form.php
+++ b/backend/views/news/_form.php
@@ -3,7 +3,8 @@
use yii\helpers\Html;
use mihaildev\ckeditor\CKEditor;
use yii\widgets\ActiveForm;
-
+use kartik\file\FileInput;
+use \yii\helpers\Url;
/* @var $this yii\web\View */
/* @var $model common\models\News */
/* @var $form yii\widgets\ActiveForm */
@@ -49,9 +50,48 @@ use yii\widgets\ActiveForm;
= $form->field($model, 'mails_count')->textInput() ?>
- = $form->field($model, 'img')->textInput(['maxlength' => true]) ?>
- = $form->field($model, 'img')->widget(FileInput::classname(), [
- 'options' => ['accept' => 'image/*'],
+ = Html::activeHiddenInput($model, 'img');?>
+
+ = $form->field(new \backend\models\ImageSizerForm(), 'file')->widget(FileInput::classname(), [
+ 'name' => 'file',
+ 'options' => [
+ ['accept' => 'image/*']
+ ],
+ 'pluginOptions' => [
+ 'initialPreview'=>[
+ Html::img($model->img, ['class'=>'file-preview-image']),
+ ],
+ 'uploadUrl' => Url::to(['/news/file-upload']),
+ 'overwriteInitial'=>true,
+ 'uploadExtraData'=> ['width' => 240, 'height' => 160]
+
+ ],
+ 'pluginEvents' => [
+ 'fileuploaded' => 'function(event, key) { document.getElementsByName("News[img]")[0].value = key.response.name }',
+ ]
+
+
+ ]);?>
+
+ = $form->field(new \backend\models\ImageSizerForm(), 'price_list')->widget(FileInput::classname(), [
+ 'name' => 'file',
+ 'options' => [
+ ['accept' => 'image/*']
+ ],
+ 'pluginOptions' => [
+ 'initialPreview'=>[
+ Html::img($model->price_list, ['class'=>'file-preview-image']),
+ ],
+ 'uploadUrl' => Url::to(['/news/file-upload']),
+ 'overwriteInitial'=>true,
+ 'uploadExtraData'=> ['width' => 240, 'height' => 160]
+
+ ],
+ 'pluginEvents' => [
+ 'fileuploaded' => 'function(event, key) { document.getElementsByName("News[img]")[0].value = key.response.name }',
+ ]
+
+
]); ?>
= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
diff --git a/codeception.yml b/codeception.yml
old mode 100644
new mode 100755
index 5e0f37d..5e0f37d
--- a/codeception.yml
+++ b/codeception.yml
diff --git a/common/models/DetailsCriteria.php b/common/models/DetailsCriteria.php
old mode 100644
new mode 100755
index 3eed639..3eed639
--- a/common/models/DetailsCriteria.php
+++ b/common/models/DetailsCriteria.php
diff --git a/common/models/DetailsDescription.php b/common/models/DetailsDescription.php
old mode 100644
new mode 100755
index bbd33cf..bbd33cf
--- a/common/models/DetailsDescription.php
+++ b/common/models/DetailsDescription.php
diff --git a/common/models/News.php b/common/models/News.php
index f7896d4..ff90e62 100755
--- a/common/models/News.php
+++ b/common/models/News.php
@@ -21,6 +21,7 @@ use Yii;
* @property integer $mail_send
* @property integer $mails_count
* @property string $img
+ * @property string $price_list
*/
class News extends \yii\db\ActiveRecord
{
@@ -42,8 +43,9 @@ class News extends \yii\db\ActiveRecord
return [
[['name', 'code', 'brief', 'content', 'title', 'kwords', 'descr', 'dt', 'is_active', 'img'], 'required'],
[['brief', 'content'], 'string'],
+ [['img'], 'file'],
[['sort_delete', 'is_active', 'mail_send', 'mails_count'], 'integer'],
- [['name', 'code', 'title', 'kwords', 'descr', 'img'], 'string', 'max' => 254],
+ [['name', 'code', 'title', 'kwords', 'descr', 'img','price_list'], 'string', 'max' => 254],
[['dt'], 'string', 'max' => 15],
[['code'], 'unique']
];
@@ -54,6 +56,25 @@ class News extends \yii\db\ActiveRecord
}
+ function minImg($dir, $width, $height=null){
+ if($width=='original'){
+ $preg = '/\/(.[^\/]*)$/';
+ preg_match('/\.(.[^.]*)$/', $dir, $type);
+ $row = preg_replace( $preg, '/original.'.$type[1], $dir);
+ } else {
+ $preg = '/\/(.[^\/]*)$/';
+ preg_match('/\.(.[^.]*)$/', $dir, $type);
+ $row = preg_replace( $preg, '/'.$width.'X'.$height.'.'.$type[1], $dir);
+ }
+ return $row;
+// if(file_exists($_SERVER['DOCUMENT_ROOT'].$row)){
+// return $row;
+// } else {
+// return "/storage/no-image.png";
+// }
+
+ }
+
/**
* @inheritdoc
*/
@@ -74,6 +95,7 @@ class News extends \yii\db\ActiveRecord
'mail_send' => 'Mail Send',
'mails_count' => 'Mails Count',
'img' => 'Img',
+ 'price_list' => 'price_list',
];
}
}
diff --git a/composer.json b/composer.json
index c9c947b..b41348b 100755
--- a/composer.json
+++ b/composer.json
@@ -25,7 +25,8 @@
"kartik-v/yii2-datecontrol": "dev-master",
"codeception/codeception": "*",
"2amigos/yii2-ckeditor-widget": "~1.0",
- "mihaildev/yii2-ckeditor": "*"
+ "mihaildev/yii2-ckeditor": "*",
+ "kartik-v/yii2-widget-fileinput": "@dev"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
diff --git a/console/migrations/m151116_153942_add_field_to_news.php b/console/migrations/m151116_153942_add_field_to_news.php
new file mode 100644
index 0000000..42140a7
--- /dev/null
+++ b/console/migrations/m151116_153942_add_field_to_news.php
@@ -0,0 +1,36 @@
+execute($view);
+
+ }
+
+ public function down()
+ {
+ echo "m151116_153942_add_field_to_news cannot be reverted.\n";
+
+ return false;
+ }
+
+ /*
+ // Use safeUp/safeDown to run migration code within a transaction
+ public function safeUp()
+ {
+ }
+
+ public function safeDown()
+ {
+ }
+ */
+}
diff --git a/frontend/views/news/one_item.php b/frontend/views/news/one_item.php
index 27e9f1e..aa7658d 100755
--- a/frontend/views/news/one_item.php
+++ b/frontend/views/news/one_item.php
@@ -4,7 +4,7 @@ use \yii\helpers\Html;
- = Html::a(Html::img('/storage/files/load/normal-'.$model->img),['news/view', 'translit' =>$model->code ]) ?>
+ = Html::a(Html::img($model->img),['news/view', 'translit' =>$model->code ]) ?>
= $model->date?>
= Html::a("
".$model->name."
",['news/view', 'translit' =>$model->code ]) ?>
= Html::a("
".$model->brief."
",['news/view', 'translit' =>$model->code ]) ?>
diff --git a/frontend/views/news/view.php b/frontend/views/news/view.php
index 2b70711..f5737f0 100755
--- a/frontend/views/news/view.php
+++ b/frontend/views/news/view.php
@@ -10,7 +10,7 @@ $this->params['breadcrumbs'][] = $this->title;
= $model->name ?>
-

+
= $model->content ?>
diff --git a/frontend/web/css/news_all.css b/frontend/web/css/news_all.css
index 3e479f1..e3d8a21 100755
--- a/frontend/web/css/news_all.css
+++ b/frontend/web/css/news_all.css
@@ -40,11 +40,3 @@ p, a, label, span{
}
-.news{
- width: 480px;
- display: inline-block;
-}
-
-.news img{
- border:1px solid #dfdfdf;
-}
\ No newline at end of file
diff --git a/frontend/web/css/style/news_all.css b/frontend/web/css/style/news_all.css
index 9f4c93f..1e79046 100755
--- a/frontend/web/css/style/news_all.css
+++ b/frontend/web/css/style/news_all.css
@@ -226,4 +226,9 @@ p, a, label, span{
.small_menu_width {
+}
+
+.news a img{
+ width: 120px;
+ height: 80px;
}
\ No newline at end of file
diff --git a/storage/parser_data/auto/5648.csv b/storage/parser_data/auto/5648.csv
old mode 100644
new mode 100755
index a2641d5..a2641d5
--- a/storage/parser_data/auto/5648.csv
+++ b/storage/parser_data/auto/5648.csv
diff --git a/storage/parser_data/temp/5648.csv b/storage/parser_data/temp/5648.csv
old mode 100644
new mode 100755
index a2641d5..a2641d5
--- a/storage/parser_data/temp/5648.csv
+++ b/storage/parser_data/temp/5648.csv
diff --git a/tests/_bootstrap.php b/tests/_bootstrap.php
old mode 100644
new mode 100755
index cba1c7e..cba1c7e
--- a/tests/_bootstrap.php
+++ b/tests/_bootstrap.php
diff --git a/tests/_data/dump.sql b/tests/_data/dump.sql
old mode 100644
new mode 100755
index 4bc742c..4bc742c
--- a/tests/_data/dump.sql
+++ b/tests/_data/dump.sql
diff --git a/tests/_data/parser/crosses/test1.csv b/tests/_data/parser/crosses/test1.csv
old mode 100644
new mode 100755
index a221c4d..a221c4d
--- a/tests/_data/parser/crosses/test1.csv
+++ b/tests/_data/parser/crosses/test1.csv
diff --git a/tests/_data/parser/csv_parser/console.csv b/tests/_data/parser/csv_parser/console.csv
old mode 100644
new mode 100755
index a2641d5..a2641d5
--- a/tests/_data/parser/csv_parser/console.csv
+++ b/tests/_data/parser/csv_parser/console.csv
diff --git a/tests/_data/parser/csv_parser/web.csv b/tests/_data/parser/csv_parser/web.csv
old mode 100644
new mode 100755
index 622c07e..622c07e
--- a/tests/_data/parser/csv_parser/web.csv
+++ b/tests/_data/parser/csv_parser/web.csv
diff --git a/tests/_data/parser/xml_parser/console.xml b/tests/_data/parser/xml_parser/console.xml
old mode 100644
new mode 100755
index 3b6b788..3b6b788
--- a/tests/_data/parser/xml_parser/console.xml
+++ b/tests/_data/parser/xml_parser/console.xml
diff --git a/tests/_output/.gitignore b/tests/_output/.gitignore
old mode 100644
new mode 100755
index c96a04f..c96a04f
--- a/tests/_output/.gitignore
+++ b/tests/_output/.gitignore
diff --git a/tests/_support/AcceptanceTester.php b/tests/_support/AcceptanceTester.php
old mode 100644
new mode 100755
index bfa59cb..bfa59cb
--- a/tests/_support/AcceptanceTester.php
+++ b/tests/_support/AcceptanceTester.php
diff --git a/tests/_support/FunctionalTester.php b/tests/_support/FunctionalTester.php
old mode 100644
new mode 100755
index 8f9d5f2..8f9d5f2
--- a/tests/_support/FunctionalTester.php
+++ b/tests/_support/FunctionalTester.php
diff --git a/tests/_support/Helper/Acceptance.php b/tests/_support/Helper/Acceptance.php
old mode 100644
new mode 100755
index dde2082..dde2082
--- a/tests/_support/Helper/Acceptance.php
+++ b/tests/_support/Helper/Acceptance.php
diff --git a/tests/_support/Helper/Functional.php b/tests/_support/Helper/Functional.php
old mode 100644
new mode 100755
index 34fbe73..34fbe73
--- a/tests/_support/Helper/Functional.php
+++ b/tests/_support/Helper/Functional.php
diff --git a/tests/_support/Helper/Unit.php b/tests/_support/Helper/Unit.php
old mode 100644
new mode 100755
index 4862e82..4862e82
--- a/tests/_support/Helper/Unit.php
+++ b/tests/_support/Helper/Unit.php
diff --git a/tests/_support/UnitTester.php b/tests/_support/UnitTester.php
old mode 100644
new mode 100755
index 68c09cf..68c09cf
--- a/tests/_support/UnitTester.php
+++ b/tests/_support/UnitTester.php
diff --git a/tests/_support/_generated/AcceptanceTesterActions.php b/tests/_support/_generated/AcceptanceTesterActions.php
old mode 100644
new mode 100755
index 1cbee23..1cbee23
--- a/tests/_support/_generated/AcceptanceTesterActions.php
+++ b/tests/_support/_generated/AcceptanceTesterActions.php
diff --git a/tests/_support/_generated/FunctionalTesterActions.php b/tests/_support/_generated/FunctionalTesterActions.php
old mode 100644
new mode 100755
index 8d28b3f..8d28b3f
--- a/tests/_support/_generated/FunctionalTesterActions.php
+++ b/tests/_support/_generated/FunctionalTesterActions.php
diff --git a/tests/_support/_generated/UnitTesterActions.php b/tests/_support/_generated/UnitTesterActions.php
old mode 100644
new mode 100755
index a23ad43..a23ad43
--- a/tests/_support/_generated/UnitTesterActions.php
+++ b/tests/_support/_generated/UnitTesterActions.php
diff --git a/tests/acceptance.suite.yml b/tests/acceptance.suite.yml
old mode 100644
new mode 100755
index 2269e0c..2269e0c
--- a/tests/acceptance.suite.yml
+++ b/tests/acceptance.suite.yml
diff --git a/tests/acceptance/_bootstrap.php b/tests/acceptance/_bootstrap.php
old mode 100644
new mode 100755
index 8a88555..8a88555
--- a/tests/acceptance/_bootstrap.php
+++ b/tests/acceptance/_bootstrap.php
diff --git a/tests/config/main.php b/tests/config/main.php
old mode 100644
new mode 100755
index cf438a1..cf438a1
--- a/tests/config/main.php
+++ b/tests/config/main.php
diff --git a/tests/functional.suite.yml b/tests/functional.suite.yml
old mode 100644
new mode 100755
index 075765b..075765b
--- a/tests/functional.suite.yml
+++ b/tests/functional.suite.yml
diff --git a/tests/functional/_bootstrap.php b/tests/functional/_bootstrap.php
old mode 100644
new mode 100755
index 8a88555..8a88555
--- a/tests/functional/_bootstrap.php
+++ b/tests/functional/_bootstrap.php
diff --git a/tests/unit.suite.yml b/tests/unit.suite.yml
old mode 100644
new mode 100755
index 02dc9b1..02dc9b1
--- a/tests/unit.suite.yml
+++ b/tests/unit.suite.yml
diff --git a/tests/unit/BaseConverterTest.php b/tests/unit/BaseConverterTest.php
old mode 100644
new mode 100755
index 935e836..935e836
--- a/tests/unit/BaseConverterTest.php
+++ b/tests/unit/BaseConverterTest.php
diff --git a/tests/unit/CrossesParsingTest.php b/tests/unit/CrossesParsingTest.php
old mode 100644
new mode 100755
index 8283f13..8283f13
--- a/tests/unit/CrossesParsingTest.php
+++ b/tests/unit/CrossesParsingTest.php
diff --git a/tests/unit/CsvParsingTest.php b/tests/unit/CsvParsingTest.php
old mode 100644
new mode 100755
index 2907165..2907165
--- a/tests/unit/CsvParsingTest.php
+++ b/tests/unit/CsvParsingTest.php
diff --git a/tests/unit/XmlParsingTest.php b/tests/unit/XmlParsingTest.php
old mode 100644
new mode 100755
index 352e7b9..352e7b9
--- a/tests/unit/XmlParsingTest.php
+++ b/tests/unit/XmlParsingTest.php
diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php
old mode 100644
new mode 100755
index 8a88555..8a88555
--- a/tests/unit/_bootstrap.php
+++ b/tests/unit/_bootstrap.php
--
libgit2 0.21.4