Blame view

common/modules/file/widgets/views/image_sizer.php 10.1 KB
8c448b56   Administrator   add yii jquery
1
  <?php

f0a961be   Yarik   test
2
      use yii\helpers\Html;

8c448b56   Administrator   add yii jquery
3
  

f0a961be   Yarik   test
4
5
6
      $field_name = mb_strtolower($model->formName()) . "-" . $field;

  

      $id = $model->tableSchema->primaryKey[ 0 ];

8c448b56   Administrator   add yii jquery
7
8
  ?>

  <div class="file-uploader-block">

f0a961be   Yarik   test
9
10
11
12
13
      <?php if(!$multi): ?>

          <?= Html::activeHiddenInput($model, $field, [ 'id' => "$field_name" ]) ?>

      <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=""/>

      <input type="hidden" id="<?= $field ?>_row_id" name="ImageSizerForm[new_img]" value="<?= $model->$id ?>"/>

8c448b56   Administrator   add yii jquery
14
          <div class="tst">

f0a961be   Yarik   test
15
              <div id="<?= $field ?>_img_block" class="admin-avatar-pattern-wr">

8c448b56   Administrator   add yii jquery
16
17
                  <div class="admin-avatar-pattern">

                      <?php

f0a961be   Yarik   test
18
19
20
21
22
                          if($remover && $model->$field) {

                              ?>

                              <span id="<?= $field ?>_remove_img" class="remover_image" style="left:<?= $size[ 0 ][ 'width' ] ?>px"><img src="/images/delete-ico.png" alt=""></span>

                              <?php

                          }

8c448b56   Administrator   add yii jquery
23
                      ?>

f0a961be   Yarik   test
24
                      <?= $model->$field ? Html::img($model->$field) : '' ?>

8c448b56   Administrator   add yii jquery
25
26
27
                  </div>

              </div>

          </div>

8c448b56   Administrator   add yii jquery
28
29
          <span class="btn btn-success fileinput-button uploader-button">

  <!--        <i class="glyphicon glyphicon-plus"></i>-->

f0a961be   Yarik   test
30
          <span><?= $name ?></span>

8c448b56   Administrator   add yii jquery
31
  

f0a961be   Yarik   test
32
33
34
35
36
              <?= Html::activeFileInput(new \common\models\ImageSizerForm(), 'file', [

                  'id'       => $field,

                  'data-url' => Yii::$app->getUrlManager()

                                         ->createUrl('file/uploader/download-photo'),

              ]); ?>

8c448b56   Administrator   add yii jquery
37
      </span>

f0a961be   Yarik   test
38
39
40
          <script>

              $(

                  function()

8c448b56   Administrator   add yii jquery
41
                  {

f0a961be   Yarik   test
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
                      $("#<?= $field?>").fileupload(

                          {

                              dataType : 'json', formData : {size : '<?= json_encode($size)?>'},

                              done : function(e, data)

                              {

                                  if($("#<?=$field?>_buttons_block").length)

                                  {

                                      $("#<?=$field?>_buttons_block").remove()

                                  }

  

                                  $("#<?= $field?>").parent().prev().find('.admin-ava-wr').remove()

  

                                  var host = window.location.host.toString();

                                  var img = '<div class="admin-ava-wr">' +

                                            <?php

                                            if($remover) {

                                                echo "'<span id=\"" . $field . "_remove_img\" class=\"remover_image\" style=\"left:{$size[0]['width']}px\"><img src=\"/images/delete-ico.png\" alt=\"\"></span>'+";

                                            }

                                            ?>

                                            '<img style="vertical-align: middle; width: <?=$width?>px; height: <?=$height?>px;" src="http://' + host + data.result.link + '"></div>' + '<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>';

                                  var block = $("#<?= $field?>_img_block .admin-avatar-pattern");

                                  block.find('img').remove();

                                  block.append(img);

                                  block.parents('.file-uploader-block').parent()

                                       .addClass('success_download');

4a3f5562   Yarik   test
67
                                  $("#<?=$field_name?>").val(data.result.link).trigger('change');

f0a961be   Yarik   test
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
                                  $("#<?=$field?>_new_img").val(data.result.link);

                              }

                          }

                      );

  

                      $('body').on(

                          'click', '#<?=$field?>_save_img', function()

                          {

                              $("#<?= $field?>_img_block").parent().parent().parent()

                                                          .removeClass('success_download')

  

                              $("#<?=$field?>_buttons_block").remove();

                              var old_url = $('#<?=$field?>_old_img').val();

                              var new_url = $('#<?=$field?>_new_img').val();

                              var model = '<?=str_replace('\\', '-', $model::className());?>';

                              $.post(

                                  "/file/uploader/delete-image", {

                                      new_url : new_url, old_img : old_url, model : model,

                                      field : "<?= $field?>", id : "<?=$model->$id?>", action : 'save'

                                  }, function()

                                  {

                                  }

                              );

4a3f5562   Yarik   test
91
                              $("#<?=$field_name?>").val(new_url).trigger('change');

f0a961be   Yarik   test
92
93
94
95
96
97
98
99
100
101
                          }

                      );

  

                      $('body').on(

                          'click', '#<?=$field?>_remove_img', function()

                          {

                              $("#<?= $field?>_img_block").parent().parent().parent()

                                                          .removeClass('success_download');

                              $("#<?= $field?>_img_block").parent().parent().find('.admin-ava-wr')

                                                          .remove();

4a3f5562   Yarik   test
102
103
104
                              if($(this).hasClass('remover_image')) {

                                  $('#<?=$field?>_new_img').val('');

                              }

f0a961be   Yarik   test
105
106
107
108
109
110
111
112
113
114
                              $("#<?=$field?>_buttons_block").remove();

                              var old_url = $('#<?=$field?>_old_img').val();

                              var new_url = $('#<?=$field?>_new_img').val();

                              $.post(

                                  "/file/uploader/delete-image", {old_img : new_url}, function()

                                  {

                                  }

                              );

                              <?php

                              if($remover) {

4a3f5562   Yarik   test
115
116
117
118
119
120
121
122
                                  echo "if(old_url.length<1 || new_url.length<1) {

                                      $(\"#$field_name\").val('');

                                      $('#{$field}_img_block').find('img').remove();

                                  } else {

                                      $(\"#$field_name\").val(old_url).trigger('change');

                                      $('#{$field}_remove_img').append('<img src=\'/images/delete-ico.png\'>');

                                      $('#{$field}_img_block').find('.admin-avatar-pattern').append('<img src=\"'+old_url+'\">');

                                  }";

f0a961be   Yarik   test
123
                              } else {

4a3f5562   Yarik   test
124
                                  echo "$(\"#$field_name\").val(old_url).trigger('change');

8c448b56   Administrator   add yii jquery
125
126
127
128
129
130
                          if(old_url.length<=1){

                              $('#{$field}_img_block').find('img').remove()

                          }

                          else {

                              $('#{$field}_img_block').find('img').attr('src',old_url);

                          }";

f0a961be   Yarik   test
131
132
133
134
135
136
137
138
139
                              };

                              ?>

                          }

                      );

                  }

              );

          </script>

      <?php else: ?>

          <span class="btn btn-success fileinput-button uploader-button">

8c448b56   Administrator   add yii jquery
140
      <i class="glyphicon glyphicon-plus"></i>

f0a961be   Yarik   test
141
142
143
144
145
146
147
      <span><?= $name ?></span>

              <?= Html::activeFileInput(new \common\models\ImageSizerForm(), 'file', [

                  'id'       => $field,

                  'data-url' => Yii::$app->getUrlManager()

                                         ->createUrl('file/uploader/download-photo'),

                  'multiple' => 'multiple',

              ]); ?>

8c448b56   Administrator   add yii jquery
148
      </span>

f0a961be   Yarik   test
149
      <?= Html::activeHiddenInput($model, $field, [ 'id' => "$field_name" ]) ?>

8c448b56   Administrator   add yii jquery
150
      <input type="hidden" name="ImageSizerForm[multi]" value="true"/>

f0a961be   Yarik   test
151
152
          <div id="<?= $field ?>_img_block">

              <?php

8c448b56   Administrator   add yii jquery
153
  

f0a961be   Yarik   test
154
155
                  foreach($this->context->getGallery() as $image) {

                      echo $this->render('_gallery_item', [ 'item' => [ 'image' => $image ] ]);

8c448b56   Administrator   add yii jquery
156
                  }

f0a961be   Yarik   test
157
158
159
160
161
162
              ?>

          </div>

          <script>

              $(

                  function()

                  {

8c448b56   Administrator   add yii jquery
163
  

f0a961be   Yarik   test
164
165
166
167
168
169
170
171
172
                      $("#<?= $field?>").fileupload(

                          {

                              dataType : 'json',

                              formData : {size : '<?= json_encode($size)?>', multi : 1},

                              done : function(e, data)

                              {

                                  var img = data.result.view;

                                  var block = $("#<?= $field?>_img_block");

                                  block.append(img);

38ffb9db   Yarik   test
173
                                  var gallery = $("#<?=$field_name?>");

f0a961be   Yarik   test
174
175
176
177
178
179
180
181
182
                                  gallery.val(gallery.val() + data.result.link + ',');

                              }

                          }

                      );

                      $('body').on(

                          'click', '.delete-gallery-item', function()

                          {

                              var url = $(this).data('url');

                              $(this).parent('.gallery_image').remove();

38ffb9db   Yarik   test
183
                              var gallery = $("#<?=$field_name?>");

f0a961be   Yarik   test
184
185
186
187
188
189
190
191
192
193
                              var urls = gallery.val();

                              gallery.val(urls.replace(url + ',', ""));

                              $.post(

                                  "/file/uploader/delete-image", {old_img : url}, function(data)

                                  {

                                      $(".result").html(data);

                                  }

                              );

                          }

                      )

8c448b56   Administrator   add yii jquery
194
  

f0a961be   Yarik   test
195
196
197
198
                  }

              )

          </script>

      <?php endif; ?>

8c448b56   Administrator   add yii jquery
199
  </div>