language; $per_page = 10; if (!empty($_GET['type'])) { $page = $_GET['page'] ?? 1; $fav = UserFavorites::find()->where(['user_id' => $user->id, 'table' => $_GET['type']])->all(); $ids = []; foreach ($fav as $f) $ids[] = $f->fid; switch ($_GET['type']): case 'collections': $data = []; $models = Collections::find()->where(['IN', 'id', $ids]); $count = $models->count(); $models = $models->offset($per_page * $page - $per_page)->limit($per_page); foreach ($models->all() as $dbModel) { $model = new \stdClass(); $model->title = $lg == 'en' ? $dbModel->name_en ?? $dbModel->name : $dbModel->name; $model->type = 'collections'; $model->path = '/tabs/search/collection'; $model->img = $dbModel->getImg(\Yii::$app->params['portal'] . '/_public/images/empty-169.png'); $model->id = $dbModel->id; $data[] = $model; } echo json_encode(['data' => $data, 'lastPage' => ceil($count / $per_page), 'count' => $count]); exit; case 'expositions': $data = []; $models = Expositions::find()->where(['IN', 'id', $ids]); $count = $models->count(); $models = $models->offset($per_page * $page - $per_page)->limit($per_page); foreach ($models->all() as $dbModel) { $model = new \stdClass(); $model->title = $lg == 'en' ? $dbModel->ts_en_name ?? $dbModel->name : $dbModel->name; $model->type = 'expositions'; $model->path = '/tabs/search/exposition'; $model->img = $dbModel->getImg(); $model->id = $dbModel->id; $data[] = $model; } echo json_encode(['data' => $data, 'lastPage' => ceil($count / $per_page), 'count' => $count]); exit; case 'register_objects': $data = []; $models = RegisterObjects::find()->where(['lib_type' => 1])->andWhere(['IN', 'id', $ids]); $count = $models->count(); $models = $models->offset($per_page * $page - $per_page)->limit($per_page); foreach ($models->all() as $dbModel) { $model = new \stdClass(); $model->title = $lg == 'en' ? $dbModel->ts_en_name ?? $dbModel->name : $dbModel->name; $model->type = 'register_objects'; $model->path = '/tabs/search/object'; $model->img = $dbModel->getImg(\Yii::$app->params['portal'] . '/_public/images/empty-169.png'); $model->id = $dbModel->id; $data[] = $model; } echo json_encode(['data' => $data, 'lastPage' => ceil($count / $per_page), 'count' => $count]); exit; case 'articles': $data = []; $models = Articles::find()->andWhere(['IN', 'id', $ids]); $count = $models->count(); $models = $models->offset($per_page * $page - $per_page)->limit($per_page); foreach ($models->all() as $dbModel) { $model = new \stdClass(); $model->title = $lg == 'en' ? $dbModel->title_en ?? $dbModel->title : $dbModel->title; $model->type = $dbModel->art_table; $model->path = '/tabs/articles/' . $dbModel->art_table; $model->img = ($dbModel->getArticle()->image('16:11') ? $dbModel->getArticle()->image('16:11') : \Yii::$app->params['portal'] . '/_public/images/empty-169.png'); $model->id = $dbModel->id; $data[] = $model; } echo json_encode(['data' => $data, 'lastPage' => ceil($count / $per_page), 'count' => $count]); exit; endswitch; } } echo json_encode(['error' => 1, 'message' => 'Permission denied']); exit; /* @var $this \yii\web\View */