/**
* @Route("/", name="index")
* @Route("/s/{query}", name="search")
*/
public function indexAction(Request $request, $query = null, $sid = null, $key = null)
{
if ($sid && $key) {
$captcha = [
'captcha_sid' => $sid,
'captcha_key' => $key
];
}
$form = $this->createFormBuilder()
->add('search', TextType::class)
->getForm();
$form->handleRequest($request);
$VKAPI = $this->get('vk_music');
dump($request);
if (isset($query)) {
//$form->get('search')->setData($query);
if ($sid && $key) {
$tracks = $VKAPI->search($query, $captcha);
} else {
$tracks = $VKAPI->search($query);
}
} else {
if ($sid && $key) {
$tracks = $VKAPI->getPopular($captcha);
} else {
$tracks = $VKAPI->getPopular();
}
}
dump($tracks);
if (isset($tracks['error'])) {
$errorInfo = $tracks['error'];
$params = [
'sid' => $errorInfo['captcha']['sid'],
'img' => $errorInfo['captcha']['img']
];
if (isset($query)) {
$params['query'] = $query;
}
return $this->forward('MusicBundle:Default:captcha', $params);
} else {
return $this->render('MusicBundle:Default:index.html.twig', [
'form' => $form->createView(),
'tracks' => $tracks
]);
}
}
/**
* @Route("/captcha")
*/
public function captchaAction(Request $request, $sid, $img, $query = null)
{
$form = $this->createFormBuilder()
->add('key', TextType::class)
->add('sid', HiddenType::class, ['data' => $sid])
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$params = [
'sid' => $data['sid'],
'key' => $data['key']
];
if (isset($query)) {
$params['query'] = $query;
}
return $this->forward('MusicBundle:Default:index', $params);
} else {
return $this->render('MusicBundle:Default:captcha.html.twig', [
'form' => $form->createView(),
'captcha_img' => $img
]);
}
}
Открываю site/app_dev.php/s/text, выводит капчу. Пишу ее, сабмичу, и страница бесконечно загружается. Я так понимаю что все уходит в цикл. А на самом деле я ничего не понимаю. Если кому-то предоставить нужно куски сервиса - напишите. Но тут вроде все понятно как работает.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый деньЕсть страница, при переходе на которую проблем не возникает
На сайте кто-то делает большое кол-во кликов по adsense специально, из-за этого уже получил бан на 30 дней