Blame view

common/widgets/views/image_sizer.php 5.73 KB
29b842c0   Administrator   add field v.1
1
2
3
4
5
6
7
8
  <?php
  /**
   * Created by PhpStorm.
   * User: vitaliy
   * Date: 05.10.15
   * Time: 16:20
   */
  use yii\helpers\Html;
06d508f3   Administrator   add Vitaliy's wid...
9
10
  
  $id = $model::tableName().'_id';
29b842c0   Administrator   add field v.1
11
12
13
14
  
  ?>
  <div class="file-uploader-block">
      <?php if(!$multi):?>
29b842c0   Administrator   add field v.1
15
  
29b842c0   Administrator   add field v.1
16
17
18
19
  
          <?=  Html::activeHiddenInput( $model,$field,['id' => "{$field}_picture_link"]) ?>
          <input type="hidden" id="<?=$field?>_old_img" name="ImageSizerForm[old_img]" value="<?=$model->$field?>"/>
          <input type="hidden" id="<?=$field?>_new_img" name="ImageSizerForm[new_img]" value=""/>
06d508f3   Administrator   add Vitaliy's wid...
20
          <input type="hidden" id="<?=$field?>_row_id" name="ImageSizerForm[new_img]" value="<?=$model->$id?>"/>
3364fb6a   Виталий   tokar commit
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
          <div class="tst">
              <div id="<?= $field?>_img_block" class="admin-avatar-pattern-wr">
                  <div class="admin-avatar-pattern">
                      <?= $model->$field ? Html::img($model->$field): '' ?>
                  </div>
              </div>
              <div class="file-help-1"><div>Формат: PNG, JPG, GIF<br />Размер: 180x180 px<br />Файлы большего размера и других пропорций будут конвертироваться</div></div>
          </div>
  
          <span class="btn btn-success fileinput-button uploader-button">
  <!--        <i class="glyphicon glyphicon-plus"></i>-->
          <span><?=$name?></span>
  
              <?=  Html::activeFileInput( new \common\models\ImageSizerForm(),'file',['id'=>$field, 'data-url'=>Yii::$app->getUrlManager()->createUrl('file/uploader/download-photo')]);?>
      </span>
29b842c0   Administrator   add field v.1
36
37
38
39
40
  
      <script>
      $(function(){
  
          $("#<?= $field?>").fileupload({
3364fb6a   Виталий   tokar commit
41
  
29b842c0   Administrator   add field v.1
42
43
44
45
46
47
48
              dataType: 'json',
              formData: {width: <?=$width?>,height:<?=$height?>},
              done: function (e, data) {
                  if($("#<?=$field?>_buttons_block").length){
                      $("#<?=$field?>_buttons_block").remove()
                  }
                  var host = window.location.host.toString();
3364fb6a   Виталий   tokar commit
49
                  var img = '<div class="admin-ava-wr"><img style="vertical-align: middle; width: <?=$width?>px; height: <?=$height?>px;" src="http://'+host+data.result.link+'"></div>'+
29b842c0   Administrator   add field v.1
50
51
52
53
                      '<div id="<?=$field?>_buttons_block">'+
                          '<button type="button" id="<?=$field?>_save_img" class="btn btn-success img-action-buttons" >Сохранить</button>'+
                          '<button type="button" id="<?=$field?>_remove_img" class="btn btn-danger img-action-buttons" >Отмена</button>'+
                      '</div>';
3364fb6a   Виталий   tokar commit
54
                  var block = $("#<?= $field?>_img_block .admin-avatar-pattern");
29b842c0   Administrator   add field v.1
55
56
57
58
59
60
61
62
63
64
65
66
67
                  block.find('img').remove();
                  block.append(img);
                  $("#<?=$field?>_picture_link").val(data.result.link);
                  $("#<?=$field?>_new_img").val(data.result.link);
              }
          });
  
  
          $('body').on('click', '#<?=$field?>_save_img',function(){
              $("#<?=$field?>_buttons_block").remove();
              var old_url = $('#<?=$field?>_old_img').val();
              var new_url = $('#<?=$field?>_new_img').val();
              var model = '<?=str_replace('\\', '-',$model::className());?>';
a82865e3   Administrator   add Vitaliy's wid...
68
              $.post( "/file/delete-image",{new_url:new_url,old_img: old_url,model:model,field:"<?= $field?>", id:"<?=$model->$id?>",action:'save'},  function() {
29b842c0   Administrator   add field v.1
69
70
71
72
73
74
              });
              $("#<?=$field?>_picture_link").val(new_url);
          });
  
          $('body').on('click', '#<?=$field?>_remove_img',function(){
              $("#<?=$field?>_buttons_block").remove();
29b842c0   Administrator   add field v.1
75
76
              var old_url = $('#<?=$field?>_old_img').val();
              var new_url = $('#<?=$field?>_new_img').val();
a82865e3   Administrator   add Vitaliy's wid...
77
              $.post( "/file/delete-image",{old_img: new_url},  function() {
29b842c0   Administrator   add field v.1
78
79
              });
              $("#<?=$field?>_picture_link").val(old_url);
3364fb6a   Виталий   tokar commit
80
81
82
83
84
85
86
              if(old_url.length<=1){
                  $('#<?= $field?>_img_block').find('img').remove()
              }
              else {
                  $('#<?= $field?>_img_block').find('img').attr('src',old_url);
              }
  
29b842c0   Administrator   add field v.1
87
88
89
90
91
92
93
94
95
96
97
98
          });
  
  
      })
  </script>
  
  <?php else:?>
  
      <span class="btn btn-success fileinput-button uploader-button">
      <i class="glyphicon glyphicon-plus"></i>
      <span><?=$name?></span>
  
ab6d9045   Administrator   add Vitaliy's wid...
99
          <?=  Html::activeFileInput( new \common\models\ImageSizerForm(),'file',['id'=>$field, 'data-url'=>Yii::$app->getUrlManager()->createUrl('file/uploader/download-photo'), 'multiple'=> 'multiple' ]);?>
29b842c0   Administrator   add field v.1
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
      </span>
  
      <?=  Html::activeHiddenInput( $model,$field,['id' => "{$field}_picture_link"]) ?>
  
  
      <input type="hidden" name="ImageSizerForm[multi]" value="<?=$multi?>"/>
  
      <div id="<?= $field?>_img_block">
          <?php
  
          foreach($this->context->getGallery() as  $image){
              echo $this->render('_gallery_item', [ 'item' => ['image'=>$image]]);
          }
          ?>
      </div>
      <script>
          $(function(){
  
              $("#<?= $field?>").fileupload({
                  dataType: 'json',
                  formData: {width: <?=$width?>,height:<?=$height?>},
                  done: function (e, data) {
  
                      var img = data.result.view;
                      var block = $("#<?= $field?>_img_block");
                      block.append(img);
                      var gallery = $("#<?= $field?>_picture_link");
                      gallery.val(gallery.val()+data.result.link+',');
                  }
              });
              $('body').on('click','.delete-gallery-item', function(){
                  var url = $(this).data('url');
                  $(this).parent('.gallery_image').remove();
                  var gallery = $("#<?= $field?>_picture_link");
                  var urls = gallery.val();
                  gallery.val(urls.replace(url+',', ""));
a82865e3   Administrator   add Vitaliy's wid...
136
                  $.post( "/file/delete-image",{old_img: url},  function( data ) {
29b842c0   Administrator   add field v.1
137
138
139
140
141
142
143
144
145
                      $( ".result" ).html( data );
                  });
              })
  
          })
      </script>
  
  <?php endif;?>
  </div>