<?php foreach ($model->photos as $group_name => $group_data) { ?> <?php if (isset($group_data['type']) && $group_data['type'] == 'text') { continue; } ?> <?php if (!isset($group_data['reversals'])) { $group_data['reversals'] = 1; } echo UploadPhotosGroup::widget(['group_name' => $group_name, 'change_group_name_template_url' => Url::toRoute(['photobook-api/change-group-name', 'ref' => $ref, 'id' => $id, 'oldgroup' => 'oldgroupname', 'newgroup' => 'newgroupname']), 'upload_files_url' => Url::toRoute(['photobook-api/upload', 'ref' => $ref, 'id' => $id, 'group' => $group_name]), 'upload_files_template_url' => Url::toRoute(['photobook-api/upload', 'ref' => $ref, 'id' => $id, 'group' => 'groupname']), 'group_data' => $group_data, 'photobook_id' => $pb_id, 'user_id' => $user_id, 'reversals' => $group_data['reversals'], 'change_reversals_template_url' => Url::toRoute(['photobook-api/change-reversals', 'ref' => $ref, 'id' => $id, 'reversals' => 'reversalsvalue', 'group' => 'groupname']), 'delete_template_url' => Url::toRoute(['photobook-api/delete-group', 'ref' => $ref, 'id' => $id, 'group' => 'groupname']), 'add_group_url' => Url::toRoute(['photobook-api/add-group', 'ref' => $ref, 'id' => $id])]); ?> <?php } ?> </div> <div class="pull-right"> <a href="<?php echo Url::toRoute(['photobooks/index']); ?> " class="turn-on-editable btn btn-gray btnCancel"
public function addGroup($group_name, $after_group, $reversals = 3) { if (isset($this->photos[$group_name])) { $result = ['error' => ['msg' => Yii::t('app', 'Такая группа уже существует')]]; } else { $user_id = $this->user_id; $ref = AlphaId::id($user_id); $id = AlphaId::id($this->id); $pb_id = $id; if (!empty($after_group) && isset($this->photos[$after_group])) { $newphotos = []; foreach ($this->photos as $g_name => $group) { $newphotos[$g_name] = $group; if ($g_name == $after_group) { $newphotos[$group_name] = ['photos' => [], 'reversals' => $reversals]; } } $this->photos = $newphotos; } else { $this->photos[$group_name] = ['photos' => [], 'reversals' => $reversals]; } if ($this->save()) { $current_group = UploadPhotosGroup::widget(['group_name' => $group_name, 'change_group_name_template_url' => Url::toRoute(['photobook-api/change-group-name', 'ref' => $ref, 'id' => $id, 'oldgroup' => 'oldgroupname', 'newgroup' => 'newgroupname']), 'upload_files_url' => Url::toRoute(['photobook-api/upload', 'ref' => $ref, 'id' => $id, 'group' => $group_name]), 'upload_files_template_url' => Url::toRoute(['photobook-api/upload', 'ref' => $ref, 'id' => $id, 'group' => 'groupname']), 'group_data' => $this->photos[$group_name], 'photobook_id' => $pb_id, 'user_id' => $user_id, 'reversals' => $this->photos[$group_name]['reversals'], 'change_reversals_template_url' => Url::toRoute(['photobook-api/change-reversals', 'ref' => $ref, 'id' => $id, 'reversals' => 'reversalsvalue', 'group' => 'groupname']), 'delete_template_url' => Url::toRoute(['photobook-api/delete-group', 'ref' => $ref, 'id' => $id, 'group' => 'groupname']), 'add_group_url' => Url::toRoute(['photobook-api/add-group', 'ref' => $ref, 'id' => $id])]); $result = ['response' => ['status' => true, 'current_group' => $current_group]]; } else { $result = ['error' => ['msg' => Yii::t('app', 'Не удалось сохранить изменения')]]; } } return $result; }