Commit d3e38cf815450beb3ed75c26dee133d6449ab8b4

Authored by Administrator
1 parent bfa22e8e

Adding transliteration

backend/components/Helper.php 0 → 100644
  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;
... ...