public static function handler($signal) { System_Daemon::info('Reveived signal %s', $signal); if ($signal === SIGUSR1 && ($pid = self::getCurrentPid())) { if (file_exists(sprintf(__DIR__ . '/../../' . 'data/tmp/%s%s.%s', System_Daemon::opt('appName'), $pid, 'reload'))) { System_Daemon::notice('Control command received, attempting to reload playlist'); self::killScreen(true); PlaylistService::init(); } if (file_exists(sprintf(__DIR__ . '/../../' . 'data/tmp/%s%s.%s', System_Daemon::opt('appName'), $pid, 'shutdown'))) { System_Daemon::notice('Control command received, shutting down'); self::killScreen(true); self::clearTemp(); System_Daemon::stop(); } self::clearTemp(); } }
PlaylistService::init(); $pldata = array(); foreach (PlaylistService::getData() as $pld) { $pldata[$pld['id']] = $pld['name']; } $form = $app['form.factory']->createBuilder('form')->add('playlist', 'choice', array('choices' => $pldata, 'expanded' => true, 'constraints' => $request->request->get('stop') ? array() : array(new Assert\Choice(array_keys($pldata)), new Assert\NotNull())))->add('security', 'password', array('constraints' => array(new Security()), 'attr' => array('placeholder' => 'Biztonsági kód'), 'label' => 'Biztonsági kód'))->getForm(); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $data = $form->getData(); $saved = false; if ($request->request->get('stop')) { PlaylistService::disablePlaylist(true); $saved = PlaylistService::savePlaylist(); } if ($request->request->get('play')) { PlaylistService::disablePlaylist(true); PlaylistService::enablePlaylist($data['playlist']); $saved = PlaylistService::savePlaylist(); } if ($saved) { $daemon = new Kiosk\Daemon(); $daemon->reload(); } // return $app->redirect('/playlist'); } } // display the form return $app['twig']->render('playlist.twig', array('form' => $form->createView(), 'permission_error' => !PlaylistService::isWritable())); }); return $app;
// Play if (isset($_POST['play'])) { if (!isset($_POST['form']['playlist']) || !in_array($_POST['form']['playlist'], array_keys($pldata))) { h('error', 'Nem választottál ki semmit!'); } else { PlaylistService::disablePlaylist(true); PlaylistService::enablePlaylist($_POST['form']['playlist']); $saved = PlaylistService::savePlaylist(); } } // Refresh if (isset($_POST['refresh'])) { try { $saved = PlaylistService::refreshPlaylist($config['datadir']); $pldata = array(); foreach (PlaylistService::getData() as $pld) { $pldata[$pld['id']] = $pld['name']; } } catch (Exception $e) { h('error', $e->getMessage()); } } if ($saved) { $daemon = new Kiosk\Daemon(); $daemon->reload(); h('info', 'Változások mentve'); } } $content = p('playlistform', array('playlist' => $pldata)); break; case '/screen.jpg':