@Alessandros1

Как изменить компонент joomla — для импорта новостей из группы или страницы ВК?

Здравствуйте! Был такой замечательный бесплатный компонент для джумлы ВК машина 2.0., который мне очень нужен. Он позволяет автоматически или вручную, но более автоматизировано публиковать новости на сайте, из стены группы или страницы в контакте. Дело в том, что уже долгое время он не поддерживается разработчиками, поскольку "из 170 скачавших компонент никто не пожертвовал им на кофе", а программисты "вконтакте" постоянно изменяют свои средства интеграции и запросы с подобными CMS. В итоге, на данный момент времени компонент не работает( в настройках он упорно не видит добавленный ID страницы в вк.
Подскажите, что надо исправить в компоненте, что бы он заработал?
В комментариях на их сайте (который с сегодняшнего утра более недоступен), один человек писал, что в файлах add.php setting.php нужно изменить версии методов wall.get на актуальные "&method=wall.get&v=5.130", и в setting.php в конце выводов методов users.get добавить "&access_token='.$data['skey']" для отправки сервисного кода.
Как вы понимаете, у меня ничего не получилось, поскольку я не работаю с этим, у меня нет ни знаний ни опыта в этом.
Но мне это интересно. Я хотел бы разобраться, ну или хотя бы добиться работоспособности компонента.
Буду очень рад, если кто-нибудь мне подскажет, что и как надо сделать для этого.

Я так понимаю, тут вызов методов и запрос контакту:

switch ( $data['type'] ) {
case 0:
$methods[] = 'users.get?v=5.130&user_ids='.$matches[1].'&fields=domain,id';
$methods[] = 'groups.getById?v=5.130&group_id='.$matches[1].'&fields=id,screen_name';
break;
case 1:
$methods[] = 'users.get?v=5.130&user_ids='.$matches[1].'&fields=domain,id';
break;
case 2:
$methods[] = 'groups.getById?v=5.130&group_id='.$matches[1].'&fields=id,screen_name';
break;
default:
$methods[] = 'users.get?v=5.130&user_ids='.$matches[1].'&fields=domain,id';
break;
}

$data['pageId'] = '';
$data['pageName'] = '';

foreach ($methods as $key => $method) {
$response = json_decode(file_get_contents('api.vk.com/method/'.$method));

if ( property_exists( $response, 'response') && property_exists( $response->response[0], 'id') ) {
$data['pageId'] = ( property_exists( $response->response[0], 'domain' ) )? $response->response[0]->id : '-'.$response->response[0]->id;
$data['pageName'] = ( property_exists( $response->response[0], 'domain' ) )? $response->response[0]->domain : $response->response[0]->screen_name;
// $data['type'] = ($data['type'] != 0)? $data['type'] : ( ( property_exists( $response, 'domain' ) )? 1 : 2 );
}
}

return parent::save( $data );
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
так открой сперва лог ошибок и потом уже лечи их, а не пытайся лечить их наугад по кофейной гуще
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы