Blame view

common/modules/file/widgets/views/image_sizer.php 9.42 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
9
  

  ?>

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

f0a961be   Yarik   test
10
11
12
13
14
      <?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
15
          <div class="tst">

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

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

                      <?php

f0a961be   Yarik   test
19
20
21
22
23
                          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
24
                      ?>

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

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

              </div>

          </div>

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

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

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

8c448b56   Administrator   add yii jquery
32
  

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

                  'id'       => $field,

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

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

              ]); ?>

8c448b56   Administrator   add yii jquery
38
      </span>

f0a961be   Yarik   test
39
40
41
          <script>

              $(

                  function()

8c448b56   Administrator   add yii jquery
42
                  {

8c448b56   Administrator   add yii jquery
43
  

f0a961be   Yarik   test
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
                      $("#<?= $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');

                                  $("#<?=$field_name?>").val(data.result.link);

                                  $("#<?=$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()

                                  {

                                  }

                              );

                              $("#<?=$field_name?>").val(new_url);

                          }

                      );

  

                      $('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();

  

                              $("#<?=$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) {

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

8c448b56   Administrator   add yii jquery
116
                        $('#{$field}_img_block').find('img').remove();";

f0a961be   Yarik   test
117
118
                              } else {

                                  echo "$(\"#$field_name\").val(old_url);

8c448b56   Administrator   add yii jquery
119
120
121
122
123
124
                          if(old_url.length<=1){

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

                          }

                          else {

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

                          }";

f0a961be   Yarik   test
125
126
127
128
129
130
131
132
133
                              };

                              ?>

                          }

                      );

                  }

              );

          </script>

      <?php else: ?>

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

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

f0a961be   Yarik   test
135
136
137
138
139
140
141
      <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
142
      </span>

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

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

f0a961be   Yarik   test
145
146
          <div id="<?= $field ?>_img_block">

              <?php

8c448b56   Administrator   add yii jquery
147
  

f0a961be   Yarik   test
148
149
                  foreach($this->context->getGallery() as $image) {

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

8c448b56   Administrator   add yii jquery
150
                  }

f0a961be   Yarik   test
151
152
153
154
155
156
              ?>

          </div>

          <script>

              $(

                  function()

                  {

8c448b56   Administrator   add yii jquery
157
  

f0a961be   Yarik   test
158
159
160
161
162
163
164
165
166
                      $("#<?= $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
167
                                  var gallery = $("#<?=$field_name?>");

f0a961be   Yarik   test
168
169
170
171
172
173
174
175
176
                                  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
177
                              var gallery = $("#<?=$field_name?>");

f0a961be   Yarik   test
178
179
180
181
182
183
184
185
186
187
                              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
188
  

f0a961be   Yarik   test
189
190
191
192
                  }

              )

          </script>

      <?php endif; ?>

8c448b56   Administrator   add yii jquery
193
  </div>