Commit f94a00a6ea16e1d16a587bd1cbe624ca019b1d27

Authored by Yarik
1 parent 01cd3c0f

test

common/models/CustomerSearch.php
@@ -50,6 +50,20 @@ @@ -50,6 +50,20 @@
50 /** 50 /**
51 * @inheritdoc 51 * @inheritdoc
52 */ 52 */
  53 + public function attributeLabels()
  54 + {
  55 + return [
  56 + 'type' => Yii::t('app', 'Тип заказчика'),
  57 + 'rating' => Yii::t('app', 'Рейтинг'),
  58 + 'online' => Yii::t('app', 'Статус'),
  59 + 'city' => Yii::t('app', 'Город'),
  60 + 'info' => Yii::t('app', 'Любая информация о заказчике'),
  61 + ];
  62 + }
  63 +
  64 + /**
  65 + * @inheritdoc
  66 + */
53 public function scenarios() 67 public function scenarios()
54 { 68 {
55 // bypass scenarios() implementation in the parent class 69 // bypass scenarios() implementation in the parent class
@@ -94,7 +108,7 @@ @@ -94,7 +108,7 @@
94 $query->andWhere([ 108 $query->andWhere([
95 'type' => 2, 109 'type' => 2,
96 ]); 110 ]);
97 - } else { 111 + } elseif($this->type == 1) {
98 $query->andWhere([ 112 $query->andWhere([
99 'type' => 1, 113 'type' => 1,
100 ]); 114 ]);
@@ -112,6 +126,53 @@ @@ -112,6 +126,53 @@
112 'like', 126 'like',
113 'user_info.city', 127 'user_info.city',
114 $this->city, 128 $this->city,
  129 + ])->andFilterWhere([
  130 + 'or',
  131 + [
  132 + 'like',
  133 + 'LOWER(username)',
  134 + mb_strtolower($this->info),
  135 + ],
  136 + [
  137 + 'like',
  138 + 'LOWER(lastname)',
  139 + mb_strtolower($this->info),
  140 + ],
  141 + [
  142 + 'like',
  143 + 'LOWER(firstname)',
  144 + mb_strtolower($this->info),
  145 + ],
  146 + [
  147 + 'like',
  148 + 'LOWER(middlename)',
  149 + mb_strtolower($this->info),
  150 + ],
  151 + [
  152 + 'like',
  153 + 'LOWER(company_info.name)',
  154 + mb_strtolower($this->info),
  155 + ],
  156 + [
  157 + 'like',
  158 + 'LOWER(company_info.street)',
  159 + mb_strtolower($this->info),
  160 + ],
  161 + [
  162 + 'like',
  163 + 'LOWER(user_info.country)',
  164 + mb_strtolower($this->info),
  165 + ],
  166 + [
  167 + 'like',
  168 + 'LOWER(user_info.city)',
  169 + mb_strtolower($this->info),
  170 + ],
  171 + [
  172 + 'like',
  173 + 'LOWER(user_info.about)',
  174 + mb_strtolower($this->info),
  175 + ],
115 ]); 176 ]);
116 177
117 return $dataProvider; 178 return $dataProvider;
frontend/controllers/SearchController.php
1 <?php 1 <?php
2 namespace frontend\controllers; 2 namespace frontend\controllers;
3 3
  4 +use common\models\CustomerSearch;
4 use common\models\Project; 5 use common\models\Project;
5 use common\models\UserInfo; 6 use common\models\UserInfo;
6 use common\models\Vacancy; 7 use common\models\Vacancy;
@@ -68,8 +69,62 @@ class SearchController extends Controller @@ -68,8 +69,62 @@ class SearchController extends Controller
68 69
69 70
70 public function actionCustomer(){ 71 public function actionCustomer(){
71 - 72 + $model = new CustomerSearch();
  73 + $dataProvider = $model->search(Yii::$app->request->queryParams);
  74 + $dataProvider->setSort([
  75 + 'attributes' => [
  76 + 'name' => [
  77 + 'asc' => [
  78 + 'company_info.name' => SORT_ASC,
  79 + 'firstname' => SORT_ASC,
  80 + 'lastname' => SORT_ASC,
  81 + ],
  82 + 'desc' => [
  83 + 'company_info.name' => SORT_DESC,
  84 + 'firstname' => SORT_DESC,
  85 + 'lastname' => SORT_DESC,
  86 + ],
  87 + 'default' => SORT_ASC,
  88 + 'label' => 'Название',
  89 + ],
  90 + 'staff' => [
  91 + 'asc' => [
  92 + 'company_info.staff' => SORT_ASC,
  93 + ],
  94 + 'desc' => [
  95 + 'company_info.staff' => SORT_DESC,
  96 + ],
  97 + 'default' => SORT_DESC,
  98 + 'label' => 'Количество сотрудников',
  99 + ],
  100 + 'visit' => [
  101 + 'asc' => [
  102 + 'user_info.date_visit' => SORT_ASC,
  103 + ],
  104 + 'desc' => [
  105 + 'user_info.date_visit' => SORT_DESC,
  106 + ],
  107 + 'default' => SORT_DESC,
  108 + 'label' => 'Последний визит',
  109 + ],
  110 + 'city' => [
  111 + 'asc' => [
  112 + 'user_info.city' => SORT_ASC,
  113 + ],
  114 + 'desc' => [
  115 + 'user_info.city' => SORT_DESC,
  116 + ],
  117 + 'default' => SORT_ASC,
  118 + 'label' => 'Город',
  119 + ],
  120 + ],
  121 + ]);
  122 + $model->load(Yii::$app->request->queryParams);
  123 + $cities = UserInfo::find()->select('city')->distinct()->asArray()->indexBy('city')->column();
72 return $this->render('customer',[ 124 return $this->render('customer',[
  125 + 'model' => $model,
  126 + 'dataProvider' => $dataProvider,
  127 + 'cities' => $cities,
73 ]); 128 ]);
74 } 129 }
75 130
frontend/views/search/_customer_list_view.php 0 → 100644
  1 +<?php
  2 + /**
  3 + * @var User $model
  4 + * @var mixed $key
  5 + * @var integer $index
  6 + * @var ListView $widget
  7 + */
  8 + use common\models\User;
  9 + use frontend\helpers\TextHelper;
  10 + use yii\bootstrap\Html;
  11 + use yii\helpers\Url;
  12 + use yii\widgets\ListView;
  13 +
  14 +?>
  15 +<div class="search_perform_txt-wr">
  16 + <div class="search_perform_title">
  17 + <?php
  18 + if($model->type == 2) {
  19 + echo $model->companyInfo->name;
  20 + } else {
  21 + echo $model->firstname . $model->lastname;
  22 + }
  23 + ?>
  24 + </div>
  25 + <div class="search_perform-stars-wr">
  26 + <div class="rating_search_performer">
  27 + <!--оценка-->
  28 + <input type="hidden" class="val" value="4"/>
  29 + </div>
  30 + <div class="search_perform-stars-txt">
  31 + 30 отзывов
  32 + <?php
  33 + if(!empty( $model->userInfo->city )) {
  34 + echo ", {$model->userInfo->city}";
  35 + }
  36 + ?>
  37 + </div>
  38 + </div>
  39 + <?php
  40 + if($model->type == 2 && !empty( $model->companyInfo->staff )) {
  41 + ?>
  42 + <div class="search_perform_leng">
  43 + <div>Сотрудники: <?= $model->companyInfo->staff ?></div>
  44 + </div>
  45 + <?php
  46 + }
  47 + ?>
  48 + <div class="search_perform_visit">
  49 + <span>Послелний визит:</span> <?= \Yii::$app->formatter->asRelativeTime($model->userInfo->date_visit) ?>
  50 + </div>
  51 + <div class="search_perform_projets_nam">
  52 + <a href="#">Заказано проектов: 21</a></div>
  53 +</div>
  54 +
  55 +<div class="right_search_perform_block-wr">
  56 + <div class="right_search_perform_foto-wr">
  57 + <div><img src="/images/search_performer_img-1.jpg" alt=""/></div>
  58 + </div>
  59 + <a class="get-list" href="#">Добавить в закладки</a>
  60 +</div>
0 \ No newline at end of file 61 \ No newline at end of file
frontend/views/search/customer.php
1 <?php 1 <?php
  2 + /**
  3 + * @var CustomerSearch $model
  4 + * @var ActiveDataProvider $dataProvider
  5 + * @var string[] $cities
  6 + */
2 use common\models\CustomerSearch; 7 use common\models\CustomerSearch;
3 -  
4 - $model = (new CustomerSearch())->search(\Yii::$app->request->queryParams);  
5 - var_dump($model->totalCount); 8 + use yii\data\ActiveDataProvider;
  9 + use yii\helpers\Html;
  10 + use yii\widgets\ActiveForm;
  11 + use yii\widgets\LinkSorter;
  12 + use yii\widgets\ListView;
6 13
7 ?> 14 ?>
8 <div class="section-box-22 section-box-customer"> 15 <div class="section-box-22 section-box-customer">
9 <div class="box-wr"> 16 <div class="box-wr">
10 <div class="box-all"> 17 <div class="box-all">
  18 + <?php
  19 + // == Left filter ==
  20 + ?>
11 <div class="left-search-work"> 21 <div class="left-search-work">
12 - <form action="" class="search-work-form">  
13 - <div class="blocks-check-list-wrapp">  
14 - <div class="blocks-check-title"><label for="theme-1">Город</label></div>  
15 - <select id="theme-1">  
16 - <option selected="" value="">Любой</option>  
17 - <option value="">Киев</option>  
18 - <option value="">Житомир</option>  
19 - <option value="">Львов</option>  
20 - <option value="">Киев</option>  
21 - <option value="">Житомир</option>  
22 - <option value="">Львов</option> 22 + <?php
  23 + $form = ActiveForm::begin(['method' => 'get', 'options' => [ 'class' => 'search-work-form' ], 'action' => [''] ]);
23 24
24 - <option value="">Киев</option>  
25 - <option value="">Житомир</option>  
26 - <option value="">Львов</option>  
27 - <option value="">Киев</option>  
28 - <option value="">Житомир</option>  
29 - <option value="">Львов</option>  
30 - <option value="">Киев</option>  
31 - <option value="">Житомир</option>  
32 - <option value="">Львов</option>  
33 - <option value="">Киев</option>  
34 - <option value="">Житомир</option>  
35 - <option value="">Львов</option>  
36 - <option value="">Киев</option>  
37 - <option value="">Житомир</option>  
38 - <option value="">Львов</option>  
39 - <option value="">Киев</option>  
40 - <option value="">Житомир</option>  
41 - <option value="">Львов</option>  
42 - <option value="">Киев</option>  
43 - <option value="">Житомир</option>  
44 - <option value="">Львов</option>  
45 - <option value="">Киев</option>  
46 - <option value="">Житомир</option>  
47 - <option value="">Львов</option>  
48 - <option value="">Киев</option>  
49 - <option value="">Житомир</option>  
50 - <option value="">Львов</option>  
51 - <option value="">Киев</option>  
52 - <option value="">Житомир</option>  
53 - <option value="">Львов</option>  
54 - <option value="">Киев</option>  
55 - <option value="">Житомир</option>  
56 - <option value="">Львов</option>  
57 - <option value="">Киев</option>  
58 - <option value="">Житомир</option>  
59 - <option value="">Львов</option>  
60 - <option value="">Киев</option>  
61 - <option value="">Житомир</option>  
62 - <option value="">Львов</option>  
63 - <option value="">Киев</option>  
64 - <option value="">Житомир</option>  
65 - <option value="">Львов</option>  
66 - <option value="">Киев</option>  
67 - <option value="">Житомир</option>  
68 - <option value="">Львов</option>  
69 - <option value="">Киев</option>  
70 - <option value="">Житомир</option>  
71 - <option value="">Львов</option>  
72 - <option value="">Киев</option>  
73 - <option value="">Житомир</option>  
74 - <option value="">Львов</option>  
75 - <option value="">Киев</option>  
76 - <option value="">Житомир</option>  
77 - <option value="">Львов</option>  
78 - <option value="">Киев</option> 25 + echo $form->field($model, 'city', [
  26 + 'options' => [
  27 + 'class' => 'blocks-check-list-wrapp',
  28 + ],
  29 + 'template' => "<div class='blocks-check-title'>{label}</div>\n{input}<div class='select-after'></div>\n{hint}\n{error}",
  30 + ])
  31 + ->dropDownList($cities, [ 'prompt' => 'Любой' ]);
79 32
80 - </select><div class="select-after"></div>  
81 - </div>  
82 -  
83 - <div class="blocks-check-list-wrapp">  
84 - <div class="blocks-check-title"><label for="theme-3">Тип заказчика</label></div>  
85 - <select id="theme-3">  
86 - <option selected="" value="">Любая</option>  
87 - <option value="">Киев</option>  
88 - <option value="">Житомир</option>  
89 - <option value="">Львов</option>  
90 - <option value="">Киев</option>  
91 - <option value="">Житомир</option>  
92 - <option value="">Львов</option>  
93 - </select><div class="select-after"></div>  
94 - </div> 33 + echo $form->field($model, 'type', [
  34 + 'options' => [
  35 + 'class' => 'blocks-check-list-wrapp',
  36 + ],
  37 + 'template' => "<div class='blocks-check-title'>{label}</div>\n{input}<div class='select-after'></div>\n{hint}\n{error}",
  38 + ])
  39 + ->dropDownList([
  40 + 1 => 'Физическое лицо',
  41 + 2 => 'Компания',
  42 + ], [ 'prompt' => 'Любой' ]);
  43 + ?>
95 44
  45 + <?php
  46 + /* Рейтинг
  47 + ?>
96 <div class="blocks-check-list-wrapp"> 48 <div class="blocks-check-list-wrapp">
97 <div class="blocks-check-title">Рейтинг</div> 49 <div class="blocks-check-title">Рейтинг</div>
98 <div class="rating"> 50 <div class="rating">
@@ -100,56 +52,89 @@ @@ -100,56 +52,89 @@
100 <input type="hidden" class="val" value="0"> 52 <input type="hidden" class="val" value="0">
101 </div> 53 </div>
102 </div> 54 </div>
  55 + <?php
  56 + */
  57 + ?>
103 58
104 - <div class="blocks-check-list-wrapp">  
105 - <div class="blocks-check-title">Статус</div>  
106 - <div class="blocks-check-list">  
107 - <input type="radio" name="group3" class="check-search" id="theme-8"><label for="theme-8"><span></span>Онлайн</label>  
108 - </div>  
109 - <div class="blocks-check-list">  
110 - <input type="radio" name="group3" class="check-search" id="theme-9" checked=""><label for="theme-9"><span></span>Все</label>  
111 - </div>  
112 - </div> 59 + <?php
  60 + echo $form->field($model, 'online', [
  61 + 'options' => [
  62 + 'class' => 'blocks-check-list-wrapp',
  63 + ],
  64 + 'template' => "<div class='blocks-check-title'>{label}</div>\n{input}\n{hint}\n{error}",
  65 + ])
  66 + ->radioList([
  67 + '' => 'Все',
  68 + 1 => 'Онлайн',
  69 + ], [
  70 + 'item' => function($index, $label, $name, $checked, $value) use ($model) {
  71 + $checked = ($model->online == $value);
  72 + return "<div class='blocks-check-list'><input type='radio' id='{$model->formName()}-{$index}' name='{$name}' class='check-search' value='{$value}' " . ($checked?'checked':'') . "><label for='{$model->formName()}-{$index}'><span></span>{$label}</label></div>";
  73 + },
  74 + 'unselect' => NULL,
  75 + ]);
113 76
114 - <div class="blocks-check-list-submit">  
115 - <input type="submit" value="Найти">  
116 - </div>  
117 - </form> 77 + echo '<div class="blocks-check-list-submit">'.Html::submitInput('Найти').'</div>';
  78 +
  79 + $form->end();
  80 + ?>
118 <script> 81 <script>
119 - $('div.rating').rating({  
120 - fx: 'full',  
121 - url: 'rating.php'  
122 - }); 82 + $('div.rating').rating(
  83 + {
  84 + fx : 'full', url : 'rating.php'
  85 + }
  86 + );
123 </script> 87 </script>
124 </div> 88 </div>
125 89
  90 + <?php
  91 + // == End of left filter ==
  92 + ?>
  93 +
  94 + <?php
  95 + // == Page content ==
  96 + ?>
126 <div class="right-search-work"> 97 <div class="right-search-work">
127 <div class="search-worker-title style">Найти заказчика</div> 98 <div class="search-worker-title style">Найти заказчика</div>
128 - <div class="search-worker-title-two style">Заказчики готовые приступить к работе <span>145</span></div> 99 + <div class="search-worker-title-two style">Заказчики готовые приступить к работе
  100 + <span><?= $dataProvider->totalCount ?></span></div>
129 <div class="search-worker-search-wr style"> 101 <div class="search-worker-search-wr style">
130 - <form action="" class="search-worker-form">  
131 - <input id="srch-wrk-text" type="text" placeholder="Любая информация о заказчике" required="">  
132 - <input id="srch-wrk-sub" type="submit" value="Найти">  
133 - </form> 102 + <?php
  103 + $form2 = ActiveForm::begin(['method' => 'get', 'action' => [''], 'options' => ['class' => 'search-worker-form']]);
  104 + echo $form2->field($model, 'info', ['options' => ['tag' => false]])->label(false)->textInput(['placeholder' => $model->getAttributeLabel('info')]);
  105 + echo Html::submitInput('Найти');
  106 + $form2->end();
  107 + ?>
134 <a href="#" class="add-to-catalog-search-worker">Добавить себя в каталог</a> 108 <a href="#" class="add-to-catalog-search-worker">Добавить себя в каталог</a>
135 <div class="search-worker-sort-wr style"> 109 <div class="search-worker-sort-wr style">
136 <div class="search-worker-sort">Сортировать:&nbsp;</div> 110 <div class="search-worker-sort">Сортировать:&nbsp;</div>
137 <ul> 111 <ul>
138 <li class="activejob"> 112 <li class="activejob">
139 - <a href="#">рейтинг</a> 113 + <a href="#"></a>
140 <div class="sidebar-droped-wr style"> 114 <div class="sidebar-droped-wr style">
141 - <ul>  
142 - <li><a href="#">рейтинг</a></li>  
143 - <li><a href="#">1заказчик</a></li>  
144 - <li><a href="#">2заказчик</a></li>  
145 - <li><a href="#">3заказчик</a></li>  
146 - <li><a href="#">4заказчик</a></li>  
147 - </ul> 115 + <?php
  116 + echo LinkSorter::widget([
  117 + 'sort' => $dataProvider->sort,
  118 + ]);
  119 + ?>
148 </div> 120 </div>
149 </li> 121 </li>
150 </ul> 122 </ul>
151 </div> 123 </div>
152 </div> 124 </div>
  125 + <?php
  126 + echo ListView::widget([
  127 + 'dataProvider' => $dataProvider,
  128 + 'layout' => "{items}\n{pager}",
  129 + 'options' => [
  130 + 'class' => 'search-worker-blocks-wr style',
  131 + ],
  132 + 'itemOptions' => [
  133 + 'class' => 'search-worker-blocks',
  134 + ],
  135 + 'itemView' => '_customer_list_view',
  136 + ]);
  137 + ?>
153 <div class="search-worker-blocks-wr style"> 138 <div class="search-worker-blocks-wr style">
154 139
155 <div class="search-worker-blocks"> 140 <div class="search-worker-blocks">
@@ -160,13 +145,16 @@ @@ -160,13 +145,16 @@
160 <!--оценка--> 145 <!--оценка-->
161 <input type="hidden" class="val" value="4"/> 146 <input type="hidden" class="val" value="4"/>
162 </div> 147 </div>
163 - <div class="search_perform-stars-txt">30 отзывов, Киев </div> 148 + <div class="search_perform-stars-txt">30 отзывов, Киев</div>
164 </div> 149 </div>
165 <div class="search_perform_leng"> 150 <div class="search_perform_leng">
166 <div>Сотрудники: более 40</div> 151 <div>Сотрудники: более 40</div>
167 </div> 152 </div>
168 - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div>  
169 - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> 153 + <div class="search_perform_visit">
  154 + <span>Послелний визит:</span> 2 дня назад
  155 + </div>
  156 + <div class="search_perform_projets_nam">
  157 + <a href="#">Заказано проектов: 21</a></div>
170 </div> 158 </div>
171 159
172 <div class="right_search_perform_block-wr"> 160 <div class="right_search_perform_block-wr">
@@ -185,13 +173,16 @@ @@ -185,13 +173,16 @@
185 <!--оценка--> 173 <!--оценка-->
186 <input type="hidden" class="val" value="2"/> 174 <input type="hidden" class="val" value="2"/>
187 </div> 175 </div>
188 - <div class="search_perform-stars-txt">30 отзывов, Киев </div> 176 + <div class="search_perform-stars-txt">30 отзывов, Киев</div>
189 </div> 177 </div>
190 <div class="search_perform_leng"> 178 <div class="search_perform_leng">
191 <!--<div>Сотрудники: более 40</div>--> 179 <!--<div>Сотрудники: более 40</div>-->
192 </div> 180 </div>
193 - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div>  
194 - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> 181 + <div class="search_perform_visit">
  182 + <span>Послелний визит:</span> 2 дня назад
  183 + </div>
  184 + <div class="search_perform_projets_nam">
  185 + <a href="#">Заказано проектов: 21</a></div>
195 </div> 186 </div>
196 187
197 <div class="right_search_perform_block-wr"> 188 <div class="right_search_perform_block-wr">
@@ -210,13 +201,16 @@ @@ -210,13 +201,16 @@
210 <!--оценка--> 201 <!--оценка-->
211 <input type="hidden" class="val" value="1"/> 202 <input type="hidden" class="val" value="1"/>
212 </div> 203 </div>
213 - <div class="search_perform-stars-txt">30 отзывов, Киев </div> 204 + <div class="search_perform-stars-txt">30 отзывов, Киев</div>
214 </div> 205 </div>
215 <div class="search_perform_leng"> 206 <div class="search_perform_leng">
216 <div>Сотрудники: более 40</div> 207 <div>Сотрудники: более 40</div>
217 </div> 208 </div>
218 - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div>  
219 - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> 209 + <div class="search_perform_visit">
  210 + <span>Послелний визит:</span> 2 дня назад
  211 + </div>
  212 + <div class="search_perform_projets_nam">
  213 + <a href="#">Заказано проектов: 21</a></div>
220 </div> 214 </div>
221 215
222 <div class="right_search_perform_block-wr"> 216 <div class="right_search_perform_block-wr">
@@ -235,13 +229,16 @@ @@ -235,13 +229,16 @@
235 <!--оценка--> 229 <!--оценка-->
236 <input type="hidden" class="val" value="5"/> 230 <input type="hidden" class="val" value="5"/>
237 </div> 231 </div>
238 - <div class="search_perform-stars-txt">30 отзывов, Киев </div> 232 + <div class="search_perform-stars-txt">30 отзывов, Киев</div>
239 </div> 233 </div>
240 <div class="search_perform_leng"> 234 <div class="search_perform_leng">
241 <!--<div>Сотрудники: более 40</div>--> 235 <!--<div>Сотрудники: более 40</div>-->
242 </div> 236 </div>
243 - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div>  
244 - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> 237 + <div class="search_perform_visit">
  238 + <span>Послелний визит:</span> 2 дня назад
  239 + </div>
  240 + <div class="search_perform_projets_nam">
  241 + <a href="#">Заказано проектов: 21</a></div>
245 </div> 242 </div>
246 243
247 <div class="right_search_perform_block-wr"> 244 <div class="right_search_perform_block-wr">
@@ -263,13 +260,16 @@ @@ -263,13 +260,16 @@
263 </div> 260 </div>
264 261
265 <script> 262 <script>
266 - $('div.rating_search_performer').rating({  
267 - fx: 'full',  
268 - readOnly: 'true',  
269 - url: 'rating.php'  
270 - }); 263 + $('div.rating_search_performer').rating(
  264 + {
  265 + fx : 'full', readOnly : 'true', url : 'rating.php'
  266 + }
  267 + );
271 </script> 268 </script>
272 </div> 269 </div>
  270 + <?php
  271 + // == End of page content ==
  272 + ?>
273 </div> 273 </div>
274 </div> 274 </div>
275 </div> 275 </div>
276 \ No newline at end of file 276 \ No newline at end of file