Commit d3e38cf815450beb3ed75c26dee133d6449ab8b4
1 parent
bfa22e8e
Adding transliteration
Showing
3 changed files
with
49 additions
and
3 deletions
Show diff stats
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * Created by PhpStorm. | ||
| 4 | + * User: denys | ||
| 5 | + * Date: 29.10.15 | ||
| 6 | + * Time: 11:35 | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +namespace backend\components; | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +class Helper | ||
| 13 | +{ | ||
| 14 | + | ||
| 15 | + public static function transliterate($str) { | ||
| 16 | + $converter = array( | ||
| 17 | + 'а' => 'a', 'б' => 'b', 'в' => 'v', | ||
| 18 | + 'г' => 'g', 'д' => 'd', 'е' => 'e', | ||
| 19 | + 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', | ||
| 20 | + 'и' => 'i', 'й' => 'y', 'к' => 'k', | ||
| 21 | + 'л' => 'l', 'м' => 'm', 'н' => 'n', | ||
| 22 | + 'о' => 'o', 'п' => 'p', 'р' => 'r', | ||
| 23 | + 'с' => 's', 'т' => 't', 'у' => 'u', | ||
| 24 | + 'ф' => 'f', 'х' => 'h', 'ц' => 'c', | ||
| 25 | + 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', | ||
| 26 | + 'ь' => '\'', 'ы' => 'y', 'ъ' => '\'', | ||
| 27 | + 'э' => 'e', 'ю' => 'yu', 'я' => 'ya', | ||
| 28 | + | ||
| 29 | + 'А' => 'A', 'Б' => 'B', 'В' => 'V', | ||
| 30 | + 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', | ||
| 31 | + 'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', | ||
| 32 | + 'И' => 'I', 'Й' => 'Y', 'К' => 'K', | ||
| 33 | + 'Л' => 'L', 'М' => 'M', 'Н' => 'N', | ||
| 34 | + 'О' => 'O', 'П' => 'P', 'Р' => 'R', | ||
| 35 | + 'С' => 'S', 'Т' => 'T', 'У' => 'U', | ||
| 36 | + 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', | ||
| 37 | + 'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch', | ||
| 38 | + 'Ь' => '\'', 'Ы' => 'Y', 'Ъ' => '\'', | ||
| 39 | + 'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya', | ||
| 40 | + ); | ||
| 41 | + return strtr($str, $converter); | ||
| 42 | + } | ||
| 43 | +} | ||
| 0 | \ No newline at end of file | 44 | \ No newline at end of file |
backend/controllers/ImageController.php
| @@ -5,6 +5,7 @@ namespace backend\controllers; | @@ -5,6 +5,7 @@ namespace backend\controllers; | ||
| 5 | use backend\components\croppers\CropContext; | 5 | use backend\components\croppers\CropContext; |
| 6 | use backend\components\croppers\CropFactory; | 6 | use backend\components\croppers\CropFactory; |
| 7 | 7 | ||
| 8 | +use backend\components\Helper; | ||
| 8 | use Yii; | 9 | use Yii; |
| 9 | use yii\helpers\FileHelper; | 10 | use yii\helpers\FileHelper; |
| 10 | use yii\helpers\StringHelper; | 11 | use yii\helpers\StringHelper; |
| @@ -31,12 +32,13 @@ class ImageController extends Controller | @@ -31,12 +32,13 @@ class ImageController extends Controller | ||
| 31 | $cropContext = new CropContext($cropFactory->getCrop($crop_id)); | 32 | $cropContext = new CropContext($cropFactory->getCrop($crop_id)); |
| 32 | 33 | ||
| 33 | foreach($model->imageFiles as $file) { | 34 | foreach($model->imageFiles as $file) { |
| 34 | - $path = dirname(dirname(__DIR__)) . '/uploads/' . $file->baseName . '.' . $file->extension; | 35 | + $baseName = Helper::transliterate($file->baseName); |
| 36 | + $path = dirname(dirname(__DIR__)) . '/uploads/' . $baseName . '.' . $file->extension; | ||
| 35 | $image = Yii::$app->imagine->open($path); | 37 | $image = Yii::$app->imagine->open($path); |
| 36 | $image = $cropContext->cropImage($image, $path); | 38 | $image = $cropContext->cropImage($image, $path); |
| 37 | $box = $image->getSize()->heighten($minHeight); | 39 | $box = $image->getSize()->heighten($minHeight); |
| 38 | $image->resize($box) | 40 | $image->resize($box) |
| 39 | - ->save(dirname(dirname(__DIR__)) . '/uploads/' . $file->baseName . '-resized' . '.' . $file->extension); | 41 | + ->save(dirname(dirname(__DIR__)) . '/uploads/' . $baseName . '-resized' . '.' . $file->extension); |
| 40 | } | 42 | } |
| 41 | } | 43 | } |
| 42 | return $this->render('index', ['model' => $model, 'ukrSeeds' => $ukrSeeds]); | 44 | return $this->render('index', ['model' => $model, 'ukrSeeds' => $ukrSeeds]); |
backend/models/UploadForm.php
| 1 | <?php | 1 | <?php |
| 2 | namespace backend\models; | 2 | namespace backend\models; |
| 3 | 3 | ||
| 4 | +use backend\components\Helper; | ||
| 4 | use yii\base\Model; | 5 | use yii\base\Model; |
| 5 | use yii\web\UploadedFile; | 6 | use yii\web\UploadedFile; |
| 6 | 7 | ||
| @@ -20,7 +21,7 @@ class UploadForm extends Model | @@ -20,7 +21,7 @@ class UploadForm extends Model | ||
| 20 | { | 21 | { |
| 21 | if ($this->validate()) { | 22 | if ($this->validate()) { |
| 22 | foreach($this->imageFiles as $file) { | 23 | foreach($this->imageFiles as $file) { |
| 23 | - $path = dirname(dirname(__DIR__)) . '/uploads/' . $file->baseName . '.' . $file->extension; | 24 | + $path = dirname(dirname(__DIR__)) . '/uploads/' . Helper::transliterate($file->baseName) . '.' . $file->extension; |
| 24 | $file->saveAs($path); | 25 | $file->saveAs($path); |
| 25 | } | 26 | } |
| 26 | return true; | 27 | return true; |