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 | 44 | \ No newline at end of file | ... | ... |
backend/controllers/ImageController.php
| ... | ... | @@ -5,6 +5,7 @@ namespace backend\controllers; |
| 5 | 5 | use backend\components\croppers\CropContext; |
| 6 | 6 | use backend\components\croppers\CropFactory; |
| 7 | 7 | |
| 8 | +use backend\components\Helper; | |
| 8 | 9 | use Yii; |
| 9 | 10 | use yii\helpers\FileHelper; |
| 10 | 11 | use yii\helpers\StringHelper; |
| ... | ... | @@ -31,12 +32,13 @@ class ImageController extends Controller |
| 31 | 32 | $cropContext = new CropContext($cropFactory->getCrop($crop_id)); |
| 32 | 33 | |
| 33 | 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 | 37 | $image = Yii::$app->imagine->open($path); |
| 36 | 38 | $image = $cropContext->cropImage($image, $path); |
| 37 | 39 | $box = $image->getSize()->heighten($minHeight); |
| 38 | 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 | 44 | return $this->render('index', ['model' => $model, 'ukrSeeds' => $ukrSeeds]); | ... | ... |
backend/models/UploadForm.php
| 1 | 1 | <?php |
| 2 | 2 | namespace backend\models; |
| 3 | 3 | |
| 4 | +use backend\components\Helper; | |
| 4 | 5 | use yii\base\Model; |
| 5 | 6 | use yii\web\UploadedFile; |
| 6 | 7 | |
| ... | ... | @@ -20,7 +21,7 @@ class UploadForm extends Model |
| 20 | 21 | { |
| 21 | 22 | if ($this->validate()) { |
| 22 | 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 | 25 | $file->saveAs($path); |
| 25 | 26 | } |
| 26 | 27 | return true; | ... | ... |