예제 #1
0
 public function search($params)
 {
     $query = Media::find();
     if (!isset($_GET['sort'])) {
         $query->orderBy('id DESC');
     }
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'create_time' => $this->create_time, 'byteSize' => $this->byteSize, 'status' => $this->status]);
     $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'filename', $this->filename])->andFilterWhere(['like', 'source', $this->source])->andFilterWhere(['like', 'source_location', $this->source_location])->andFilterWhere(['like', 'extension', $this->extension])->andFilterWhere(['like', 'mimeType', $this->mimeType])->andFilterWhere(['like', 'media_type', $this->media_type]);
     return $dataProvider;
 }
 /**
  * Returns list of media in json format
  */
 public function actionListMedia()
 {
     $result = array();
     if (isset($_GET['content_id']) && isset($_GET['content_type'])) {
         //get for modal
         $media = Media::find()->leftJoin('kato_content_media', 'kato_content_media.media_id = kato_media.id')->where(['kato_content_media.content_id' => $_GET['content_id'], 'kato_content_media.content_type' => $_GET['content_type']])->all();
     } else {
         //return all media
         $media = Media::find()->all();
     }
     if ($media) {
         foreach ($media as $data) {
             $result[] = array('thumb' => '/' . $data->source, 'image' => '/' . $data->source, 'title' => '/' . $data->filename);
         }
     }
     echo Json::encode($result);
 }