function qr_node($url, $sspass, $port, $method = 'aes-256-cfb') { $url = $method . ":{$sspass}@" . $url . ":{$port}"; $url = "ss://" . base64_encode($url); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(140); $qrCode->setPadding(5); $img = $qrCode->getDataUri(); return $img; }
/** * Create HTML template for ticket invitation * * @param Ticket $ticket * * @return string */ public function generateHTML(Ticket $ticket) { $twig = $this->templating; $url = $this->router->generate('event_ticket_check', array('ticket' => $ticket->getId(), 'hash' => $ticket->getHash()), true); $this->qrCode->setText($url); $this->qrCode->setSize(105); $this->qrCode->setPadding(0); $qrCodeBase64 = base64_encode($this->qrCode->get()); $templateContent = $twig->loadTemplate('StfalconEventBundle:Ticket:show_pdf.html.twig'); $body = $templateContent->render(array('ticket' => $ticket, 'qrCodeBase64' => $qrCodeBase64, 'path' => realpath($this->kernel->getRootDir() . '/../web') . '/')); return $body; }
/** * @Route("/{text}.{extension}", name="endroid_qrcode", requirements={"text"="[\w\W]+", "extension"="jpg|png|gif"}) */ public function generateAction(Request $request, $text, $extension) { $qrCode = new QrCode(); $qrCode->setText($text); if ($request->get('size') !== null) { $qrCode->setSize($request->get('size')); } if ($request->get('padding') !== null) { $qrCode->setPadding($request->get('padding')); } if ($request->get('error_correction_level') !== null) { $qrCode->setErrorCorrection($request->get('error_correction_level')); } if ($request->get('foreground_color') !== null) { $qrCode->setForegroundColor($request->get('foreground_color')); } if ($request->get('background_color') !== null) { $qrCode->setBackgroundColor($request->get('background_color')); } if ($request->get('label') !== null) { $qrCode->setLabel($request->get('label')); } if ($request->get('labelFontSize') !== null) { $qrCode->setLabelFontSize($request->get('labelFontSize')); } $qrCode = $qrCode->get($extension); $mime_type = 'image/' . $extension; if ($extension == 'jpg') { $mime_type = 'image/jpeg'; } return new Response($qrCode, 200, array('Content-Type' => $mime_type)); }
/** * Creates a QR code. * * @return QrCode */ protected function createQrCode() { $qrCode = new QrCode(); $qrCode->setText('Life is too short to be generating QR codes'); $qrCode->setSize(300); return $qrCode; }
function render($text, $size = 200) { $qrCode = new QrCode(); $qrCode->setText($text); $qrCode->setSize($size); return $qrCode->getDataUri($text); }
public function qrcodeAction(Request $request) { $text = $request->get('text'); $qrCode = new QrCode(); $qrCode->setText($text); $qrCode->setSize(250); $qrCode->setPadding(10); $img = $qrCode->get('png'); $headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="qrcode.png"'); return new Response($img, 200, $headers); }
function qr_node($sspass, $port) { $url = "rc4-md5:{$sspass}@jp01.playss.me:{$port}"; $url = "ss://" . base64_encode($url); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(140); $qrCode->setPadding(5); $img = $qrCode->getDataUri(); return $img; }
public function downloadQrcodeAction(Request $request) { $url = $this->generateUrl('mobile_download', array('from' => 'qrcode'), true); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(150); $qrCode->setPadding(10); $img = $qrCode->get('png'); $headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="image.png"'); return new Response($img, 200, $headers); }
public function testGetQrCodeWithParams() { $params = new Params(); $routeParams = array('extension' => 'png', 'size' => 123, 'message' => 'this is a long message', 'padding' => 10); $params->setController(new ControllerMock($routeParams)); $qrCode = new QrCode($routeParams['message']); $qrCode->setImageType($routeParams['extension']); $qrCode->setSize($routeParams['size']); $qrCode->setPadding($routeParams['padding']); $this->assertEquals($qrCode->get(), $this->qrCodeService->getQrCodeContent($params)); }
/** * Get QR Code Image * * @param string $name * @param string $secret * @param int $size * * @return Response */ public function getQrCode($name, $secret, $size = 400, $issuer = null) { $text = "otpauth://totp/{$name}?secret={$secret}"; if ($issuer) { $text .= "&issuer={$issuer}"; } $extension = "png"; $qrCode = new QrCode(); $qrCode->setSize($size); $qrCode->setText($text); return $qrCode->get($extension); }
public function formObjectOptions($parameters, &$object, &$action, HookManager $hookManager) { global $db, $user, $langs, $mysoc, $dolibarr_main_cookie_cryptkey; $langs->load('otp@otp'); $regenerate_button = '<form method="post"> <input type="submit" value="' . $langs->trans('OTPRegenerate') . '" class="button" name="regenerate_otp"> </form>'; if ($action == '') { print '<tr><td>' . $langs->trans('OTPLogin') . '</td><td colspan="2">'; if (GETPOST('regenerate_otp')) { if ($user->admin || $user->id == GETPOST('id', 'int')) { /** * Examples from http://es.php.net/mcrypt_encrypt */ // Generates a 20-byte (160-bit) secret key $otpSeed = Seed::generate(); $base32Seed = $otpSeed->getValue(Seed::FORMAT_BASE32); $key = pack('H*', $dolibarr_main_cookie_cryptkey); # crear una aleatoria IV para utilizarla co condificación CBC $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $base32Seed, MCRYPT_MODE_CBC, $iv); # anteponer la IV para que esté disponible para el descifrado $ciphertext = $iv . $ciphertext; # codificar el texto cifrado resultante para que pueda ser representado por un string $ciphertext_base64 = base64_encode($ciphertext); $sql = "UPDATE " . MAIN_DB_PREFIX . "user SET otp_seed = '" . $db->escape($ciphertext_base64) . "', otp_counter = 0 WHERE rowid = " . $user->id; $db->query($sql); $qrCode = new QrCode(); $qrCode->setText("otpauth://hotp/" . $mysoc->name . ":" . $user->login . "?secret=" . $base32Seed . "&issuer=" . $mysoc->name); $qrCode->setSize(96); $qrCode->setPadding(5); $img_path = __DIR__ . '/../tmp/' . $user->id . '.png'; $qrCode->save($img_path); //Qrcode library doesn't warn on image creation error if (file_exists($img_path)) { print '<img src="' . dol_buildpath('/otp/showdoc.php', 1) . '?img=' . $user->id . '"><br>' . $langs->trans('OTPTroubleHash') . '<br /> <span style="font-family:monospace;font-size:20px">' . $base32Seed . '</span><br>' . $langs->trans('OTPKeyType'); } else { print $regenerate_button; setEventMessage('ErrorCreatingImage', 'errors'); } } } else { if ($user->admin || $user->id == GETPOST('id', 'int')) { print $regenerate_button; } } print '</td></tr>'; } }
public function indexAction(Request $request) { $user = $this->getCurrentUser(); if ($user->isLogin()) { $token = $this->createToken($user, $request); $url = $this->generateUrl('mapi_user_login_with_token', array('token' => $token), true); } else { $url = $this->generateUrl('mapi_user_login_with_site', array(), true); } $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(215); $qrCode->setPadding(10); $img = $qrCode->get('png'); $headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="image.png"'); return new Response($img, 200, $headers); }
/** * Returns a QrCode content to be rendered or saved * If the first argument is a Params object, all the information will be tried to be fetched for it, * ignoring any other argument * @param string|Params $messageOrParams * @param string $extension * @param int $size * @param int $padding * @return mixed */ public function getQrCodeContent($messageOrParams, $extension = null, $size = null, $padding = null) { if ($messageOrParams instanceof Params) { $extension = $messageOrParams->fromRoute('extension', $this->options->getExtension()); $size = $messageOrParams->fromRoute('size', $this->options->getSize()); $padding = $messageOrParams->fromRoute('padding', $this->options->getPadding()); $messageOrParams = $messageOrParams->fromRoute('message'); } else { $extension = isset($extension) ? $extension : $this->options->getExtension(); $size = isset($size) ? $size : $this->options->getSize(); $padding = isset($padding) ? $padding : $this->options->getPadding(); } $qrCode = new QrCode($messageOrParams); $qrCode->setImageType($extension); $qrCode->setSize($size); $qrCode->setPadding($padding); return $qrCode->get(); }
/** * Add qr code * * @param string $text * @param array $options * @return PrintContent * @throws \Endroid\QrCode\Exceptions\DataDoesntExistsException * @throws \Endroid\QrCode\Exceptions\ImageFunctionFailedException * @throws \Endroid\QrCode\Exceptions\ImageFunctionUnknownException */ public function addQrCode($text, array $options = []) { $options = array_merge(['size' => null, 'padding' => null, 'logo' => null, 'logo_size' => null], $options); $qrCode = new QrCode(); $qrCode->setText($text); if (is_numeric($options['size'])) { $qrCode->setSize($options['size']); } if (is_numeric($options['padding'])) { $qrCode->setPadding($options['padding']); } if ($options['logo'] && file_exists($options['logo'])) { $qrCode->setLogo($options['logo']); if (is_numeric($options['logo_size'])) { $qrCode->setLogoSize($options['logo_size']); } } return $this->addPhoto($qrCode->get('jpg')); }
/** * Process an incoming request and/or response. * * Accepts a server-side request and a response instance, and does * something with them. * * If the response is not complete and/or further processing would not * interfere with the work done in the middleware, or if the middleware * wants to delegate to another process, it can use the `$out` callable * if present. * * If the middleware does not return a value, execution of the current * request is considered complete, and the response instance provided will * be considered the response to return. * * Alternately, the middleware may return a response instance. * * Often, middleware will `return $out();`, with the assumption that a * later middleware will return a response. * * @param Request $request * @param Response $response * @param null|callable $out * @return null|Response */ public function __invoke(Request $request, Response $response, callable $out = null) { // Make sure the short URL exists for this short code $shortCode = $request->getAttribute('shortCode'); try { $shortUrl = $this->urlShortener->shortCodeToUrl($shortCode); if (!isset($shortUrl)) { return $out($request, $response->withStatus(404), 'Not Found'); } } catch (InvalidShortCodeException $e) { $this->logger->warning('Tried to create a QR code with an invalid short code' . PHP_EOL . $e); return $out($request, $response->withStatus(404), 'Not Found'); } $path = $this->router->generateUri('long-url-redirect', ['shortCode' => $shortCode]); $size = $this->getSizeParam($request); $qrCode = new QrCode($request->getUri()->withPath($path)->withQuery('')); $qrCode->setSize($size)->setPadding(0); return new QrCodeResponse($qrCode); }
/** * Creates a QR code. * * @param array $options * * @return QrCode */ public function createQrCode(array $options = array()) { $options = $this->optionsResolver->resolve($options); $qrCode = new QrCode(); if (isset($options['text']) && !is_null($options['text'])) { $qrCode->setText($options['text']); } if (isset($options['size']) && !is_null($options['size'])) { $qrCode->setSize($options['size']); } if (isset($options['padding']) && !is_null($options['padding'])) { $qrCode->setPadding($options['padding']); } if (isset($options['extension']) && !is_null($options['extension'])) { $qrCode->setExtension($options['extension']); } if (isset($options['error_correction_level']) && !is_null($options['error_correction_level'])) { $qrCode->setErrorCorrection($options['error_correction_level']); } if (isset($options['foreground_color']) && !is_null($options['foreground_color'])) { $qrCode->setForegroundColor($options['foreground_color']); } if (isset($options['background_color']) && !is_null($options['background_color'])) { $qrCode->setBackgroundColor($options['background_color']); } if (isset($options['label']) && !is_null($options['label'])) { $qrCode->setLabel($options['label']); } if (isset($options['label_font_size']) && !is_null($options['label_font_size'])) { $qrCode->setLabelFontSize($options['label_font_size']); } if (isset($options['label_font_path']) && !is_null($options['label_font_path'])) { $qrCode->setLabelFontPath($options['label_font_path']); } return $qrCode; }
include 'QrCode/Endroid/QrCode/QrCode.php'; use Endroid\QrCode\QrCode; $msg = 0; $msgtype = 0; $url = "rc4-md5:{$sspass}@sfo.404notfound.cc:{$port}"; $url = "ss://" . base64_encode($url); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(140); $qrCode->setPadding(5); $sfoimg = "<img src='{$qrCode->getDataUri()}' >"; $url = "aes-256-cfb:{$sspass}@hk.404notfound.cc:{$port}"; $url = "ss://" . base64_encode($url); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(140); $qrCode->setPadding(5); $hkimg = "<img src='{$qrCode->getDataUri()}' >"; ?> <div role="tabpanel"> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist"> <?php //不会写函数的渣渣 //权限控制 根据level显示不同的节点信息 if ($lv == 1) { echo '<li role="presentation" class="active"><a href="#sfo" aria-controls="sfo" role="tab" data-toggle="tab">旧金山</a></li>'; echo '<li role="presentation"><a href="#hk" aria-controls="profile" role="tab" data-toggle="tab">香港</a></li>'; } elseif ($lv = 4) {
/** * Creates the QR code data corresponding to the given message. * * @param $text * @param int $size * @param int $padding * @param string $extension * @param mixed $errorCorrectionLevel * @param array $foregroundColor * @param array $backgroundColor * @param string $label * @param string $labelFontSize * @param string $labelFontPath * * @return string */ public function qrcodeDataUriFunction($text, $size = null, $padding = null, $extension = null, $errorCorrectionLevel = null, array $foregroundColor = null, array $backgroundColor = null, $label = null, $labelFontSize = null, $labelFontPath = null) { if ($size === null && $this->container->hasParameter('endroid_qrcode.size')) { $size = $this->container->getParameter('endroid_qrcode.size'); } if ($padding === null && $this->container->hasParameter('endroid_qrcode.padding')) { $padding = $this->container->getParameter('endroid_qrcode.padding'); } if ($extension === null && $this->container->hasParameter('endroid_qrcode.extension')) { $extension = $this->container->getParameter('endroid_qrcode.extension'); } if ($errorCorrectionLevel === null && $this->container->hasParameter('endroid_qrcode.error_correction_level')) { $errorCorrectionLevel = $this->container->getParameter('endroid_qrcode.error_correction_level'); } if ($foregroundColor === null && $this->container->hasParameter('endroid_qrcode.foreground_color')) { $foregroundColor = $this->container->getParameter('endroid_qrcode.foreground_color'); } if ($backgroundColor === null && $this->container->hasParameter('endroid_qrcode.background_color')) { $backgroundColor = $this->container->getParameter('endroid_qrcode.background_color'); } if ($label === null && $this->container->hasParameter('endroid_qrcode.label')) { $label = $this->container->getParameter('endroid_qrcode.label'); } if ($labelFontSize === null && $this->container->hasParameter('endroid_qrcode.label_font_size')) { $labelFontSize = $this->container->getParameter('endroid_qrcode.label_font_size'); } if ($labelFontPath === null && $this->container->hasParameter('endroid_qrcode.label_font_path')) { $labelFontPath = $this->container->getParameter('endroid_qrcode.label_font_path'); } $qrCode = new QrCode(); $qrCode->setText($text); if ($size !== null) { $qrCode->setSize($size); } if ($padding !== null) { $qrCode->setPadding($padding); } if ($extension !== null) { $qrCode->setExtension($extension); } if ($errorCorrectionLevel !== null) { $qrCode->setErrorCorrection($errorCorrectionLevel); } if ($foregroundColor !== null) { $qrCode->setForegroundColor($foregroundColor); } if ($backgroundColor !== null) { $qrCode->setBackgroundColor($backgroundColor); } if ($label != null) { $qrCode->setLabel($label); } if ($labelFontSize != null) { $qrCode->setLabelFontSize($labelFontSize); } if ($labelFontPath != null) { $qrCode->setLabelFontPath($labelFontPath); } return $qrCode->getDataUri(); }
public function generateQRCode() { $qrCode = new QrCode(); $qrCode->setText($this->getOTPUrl()); $qrCode->setSize(175); $qrCode->setPadding(10); $data = $qrCode->get(QrCode::IMAGE_TYPE_GIF); $data = base64_encode($data); return sprintf('data:image/gif;base64,%s', $data); }
<?php include "vendor/autoload.php"; header('Content-Type: image/jpeg'); use Endroid\QrCode\QrCode; $qrCode = new QrCode(); $qrCode->setText("Life is too short to be generating QR codes"); $qrCode->setSize(300); $qrCode->setPadding(10); $qrCode->render(null, 'jpg');
/** * @depends testGeneratesUrl */ public function testRenders() { $this->storage->expects($this->once())->method('getSessionNonce')->will($this->returnValue('storednut')); $this->config->expects($this->any())->method('getDomain')->will($this->returnValue('example.com')); $this->config->expects($this->any())->method('getAuthenticationPath')->will($this->returnValue('/sqrl')); $this->config->expects($this->any())->method('getSecure')->will($this->returnValue(true)); $this->config->expects($this->any())->method('getQrHeight')->will($this->returnValue(30)); $this->config->expects($this->any())->method('getQrPadding')->will($this->returnValue(1)); $obj = new SQRLGenerate($this->config, $this->storage); $expected = new QrCode(); $expected->setText('sqrl://example.com/sqrl?nut=storednut'); $expected->setSize(30); $expected->setPadding(1); $expected->render(dirname(__FILE__) . '/expected.png'); $obj->render(dirname(__FILE__) . '/test.png'); $this->assertEquals(file_get_contents(dirname(__FILE__) . '/expected.png'), file_get_contents(dirname(__FILE__) . '/test.png')); unlink(dirname(__FILE__) . '/expected.png'); unlink(dirname(__FILE__) . '/test.png'); }
<?php /* * (c) Jeroen van den Enden <*****@*****.**> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace Endroid\Tests\QrCode; include 'Endroid/QrCode/QrCode.php'; use Endroid\QrCode\QrCode; $qrCode = new QrCode(); $qrCode->setText("Life is too short to be generating QR codes"); $qrCode->setSize(150); $qrCode->setPadding(10); echo "<img src='{$qrCode->getDataUri()}'>";
public function render($outputFile) { $qrCode = new QrCode(); $qrCode->setText($this->getUrl()); $qrCode->setSize($this->configuration->getQrHeight()); $qrCode->setPadding($this->configuration->getQrPadding()); $qrCode->render($outputFile); }
// +----------------------------------------------------------------------+ // | This source file is subject to version 3.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available through the world-wide-web at the following url: | // | http://www.php.net/license/3_0.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | license@php.net so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Original Author <*****@*****.**> | // | Your Name <*****@*****.**> | // +----------------------------------------------------------------------+ // // $Id:$ namespace Endroid\Tests\QrCode; include 'QrCode/Endroid/QrCode/QrCode.php'; use Endroid\QrCode\QrCode; require 'function.php'; dbconn(true); checklogin(); $msg = 0; $msgtype = 0; global $BASEURL; $url = "aes-256-cfb:{$_GET['passwd']}@{$_GET['server']}:{$_GET['port']}"; $url = "ss://" . base64_encode($url); $qrCode = new QrCode(); $qrCode->setText($url); $qrCode->setSize(350); $qrCode->setPadding(10); echo "<img src='{$qrCode->getDataUri()}'>";
public function sendTicketMail(SendTicketMailCommand $command) { $qrCode = new QrCode(); $qrCode->setText(rtrim($command->schemeAndHost, '/') . $this->router->generate('bcrmweb_event_checkin', array('id' => $command->ticket->getId(), 'code' => $command->ticket->getCode()))); $qrCode->setSize(300); $qrCode->setPadding(10); $qrfile = tempnam(sys_get_temp_dir(), 'qrcode-') . '.png'; $qrCode->render($qrfile); $emailCommand = new SendTemplateMailCommand(); $emailCommand->email = $command->ticket->getEmail(); $emailCommand->template = 'Ticket'; $emailCommand->templateData = array('ticket' => $command->ticket, 'event' => $command->event, 'cancel_link' => rtrim($command->schemeAndHost, '/') . $this->router->generate('bcrmweb_event_cancel_ticket', array('id' => $command->ticket->getId(), 'code' => $command->ticket->getCode()))); $emailCommand->image = $qrfile; $emailCommand->format = 'text/html'; $this->commandBus->handle($emailCommand); $event = new TicketMailSentEvent(); $event->ticket = $command->ticket; $this->eventMessageBus->publish($event); }
/** * Generate the QrCode * * @param $uri * @param $size * @param $binary * * @return mixed * @throws \Endroid\QrCode\Exceptions\ImageFunctionUnknownException */ protected function generateQrCode($uri, $size, $binary) { $qrCode = new QrCode(); $qrCode->setText($uri); $qrCode->setSize($size); $qrCode->setPadding(0); return $binary ? $qrCode->get() : $qrCode->getDataUri(); }
public function testCreateQrCode() { $qrCode = new QrCode(); $qrCode->setText("Life is too short to be generating QR codes"); $qrCode->setSize(300); $qrCode->create(); $this->assertTrue(true); }