public static function updateChannelsInfo($dataProvider) { $streams_names = ArrayHelper::map($dataProvider->models, 'id', 'name'); $streamsArr = self::getStreamsList($streams_names); //echo'<pre>';print_r($streams_names);echo'</pre>';//die; //echo'<pre>';print_r($streamsArr);echo'</pre>';die; /* * какие поля нужно обновить? * "online", "viewers", "snapshot" * грабим картинку live_user_dreadztv-320x180.jpg * * */ if (is_null($streamsArr)) { return 1; } //сбрасываем состояние каналов $values = ['online' => 0]; $where = [1]; if (DbHelper::updateRow(self::tableName(), $values, $where) === false) { return 3; } foreach ($streamsArr as $item) { $values = []; $where = []; if (isset($item['channel'])) { $where[] = "`id` = '" . $item['channel']['_id'] . "'"; $values['online'] = 1; if (isset($item['channel']['views'])) { $values['views'] = $item['channel']['views']; } if (isset($item['viewers'])) { $values['viewers'] = $item['viewers']; } if (isset($item['preview'])) { if (isset($item['preview']['medium'])) { $filename = basename($item['preview']['medium']); //echo'<pre>';print_r($filename);echo'</pre>';die; $img = DCurlHelper::getData($item['preview']['medium']); if ($img !== false) { $filepath = Yii::getAlias('@frontend') . '/web/' . Yii::$app->params['channels-snapshot-path'] . '/' . $filename; $fp = fopen($filepath, "w"); // Открываем файл в режиме записи $write = fwrite($fp, $img); // Запись в файл if ($write === false) { return 2; } fclose($fp); //Закрытие файла $values['snapshot'] = $filename; $values['last_update'] = time(); } } } } if (DbHelper::updateRow(self::tableName(), $values, $where) === false) { return 3; } //echo'<pre>';print_r($where);echo'</pre>';//die; //echo'<pre>';print_r($values);echo'</pre>';die; } return 0; }
private static function _getTeamInfo($team_id = 0) { $params = ['start_at_team_id' => $team_id, 'teams_requested' => 1]; $url = self::_buildUrl(self::METHOD_URL_TEAM_INFO_BY_TEAMID, self::MATCH_API_INTERFACE, $params); //echo'<pre>';print_r($url);echo'</pre>';//die; $raw_data = json_decode(DCurlHelper::getData($url), 1); //echo'<pre>';print_r($raw_data);echo'</pre>';die; if (isset($raw_data['result']) && isset($raw_data['result']['teams'])) { return $raw_data['result']['teams'][0]; } else { return []; } }