<?php require_once 'vendor/autoload.php'; use Symfony\Component\HttpFoundation\Request; $app = new Silex\Application(); $app->register(new Silex\Provider\TwigServiceProvider(), array('twig.path' => __DIR__ . '/views')); $app['skype'] = $app->share(function () { return Inviqa\SkypeEngine::getDbusProxy(); }); $app['bot'] = $app->protect(function ($dbus) { $bot = new Inviqa\SkypeEngine($dbus); return $bot; }); $app->get('/', function () use($app) { return $app['twig']->render('index.twig', array()); }); $app->post('/', function (Request $request) use($app) { $username = $request->request->get('username'); $app['skype']->Invoke("SET USER {$username} ISAUTHORIZED TRUE"); $app['skype']->Invoke("SET USER {$username} ISBLOCKED FALSE"); $app['bot']($app['skype'])->parse($app['skype']->Invoke("SET USER {$username} BUDDYSTATUS 2")); return $app['twig']->render('thanks.twig', array()); }); $app->run();
<?php require_once 'vendor/autoload.php'; if (isset($_REQUEST['payload'])) { $payload = json_decode($_REQUEST['payload']); if ($payload) { $message = array(); foreach ($payload->commits as $commit) { $lines = explode("\n", $commit->message); $message[] = '- ' . $lines[0] . ' (' . substr($commit->id, 0, 6) . ')'; } $info = sprintf("%s pushed to %s at %s/%s.\n%s", $payload->head_commit->committer->name, $payload->ref, $payload->repository->organization, $payload->repository->name, join("\n", $message)); Inviqa\SkypeEngine::getDbusProxy()->Invoke("CHATMESSAGE {$_REQUEST['id']} {$info}"); } }