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; }
public function qrcode($code) { $qrCode = new QrCode(); $QR = $qrCode->setText($code)->setSize(300)->setPadding(10)->setImageType(QrCode::IMAGE_TYPE_JPEG)->setErrorCorrection(QrCode::LEVEL_HIGH)->getImage(); $response = \Response::make('', 200); $response->header('Content-Type', 'image/jpeg', true); header('Content-type: image/png'); if (($logo = \Config::get('laravel-code::config.logo')) && \File::exists($logo)) { $QR_width = imagesx($QR); $QR_height = imagesy($QR); $im = imagecreatetruecolor($QR_width, $QR_height); imagecopy($im, $QR, 0, 0, 0, 0, $QR_width, $QR_height); imagedestroy($QR); $logo = imagecreatefromstring(file_get_contents($logo)); $logo_width = imagesx($logo); $logo_height = imagesy($logo); $logo_qr_width = $QR_width / 5; $scale = $logo_width / $logo_qr_width; $logo_qr_height = $logo_height / $scale; $from_width = ($QR_width - $logo_qr_width) / 2; imagecopyresampled($im, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); imagepng($im); } else { imagepng($QR); } return $response; }
/** * Create the message body. * * @param QrCode $qrCode * @return StreamInterface */ private function createBody(QrCode $qrCode) { $body = new Stream('php://temp', 'wb+'); $body->write($qrCode->get()); $body->rewind(); return $body; }
/** * Get the QR Code * * @param string $user * @param string $hostname * @param string $secret * @param int $dimension * * @return string; */ public function getQRCode($user, $hostname, $secret, $dimension = 200) { $endpoint = "otpauth://totp/" . $user . "?secret=" . $secret . "&issuer=" . $hostname; $qrCode = new QrCode(); $code = $qrCode->setText($endpoint)->setSize($dimension)->setErrorCorrection('high')->getDataUri(); return $code; }
function render($text, $size = 200) { $qrCode = new QrCode(); $qrCode->setText($text); $qrCode->setSize($size); return $qrCode->getDataUri($text); }
public function getQr(Request $req) { $qrCode = new QrCode(); $qrCode->setText("http://10.0.20.55:8001/index/wel#/sys/activities/one")->setSize(300)->setPadding(10)->setErrorCorrection('high')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0)); $response = new Response($qrCode->get(), 200); $response->header('content-type', 'image/png'); return $response; }
/** * process the blocktrail public keys and create qr codes for each one */ protected function processBlocktrailPubKeys() { //create QR codes for each blocktrail pub key foreach ($this->blocktrailPublicKeys as $keyIndex => $key) { $qrCode = new QrCode(); $qrCode->setText($key->key())->setSize(self::QR_CODE_SIZE - 20)->setPadding(10)->setErrorCorrection('high')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setLabel("KeyIndex: " . $keyIndex . " Path: " . $key->path())->setLabelFontSize(10); $this->blocktrailPubKeyQRs[] = array('keyIndex' => $keyIndex, 'path' => $key->path(), 'qr' => $qrCode->getDataUri(), 'qrImg' => $qrCode->getImage()); } }
public function view() { $vendorPath = realpath(__DIR__ . '/../../vendor/'); require_once $vendorPath . '/autoload.php'; if ($this->text) { $qrCode = new QrCode(); $qrCode->setText($this->text)->setSize($this->size)->setPadding($this->padding)->setErrorCorrection($this->error_correction)->setForegroundColor($this->convertColor($this->foreground_color))->setBackgroundColor($this->convertColor($this->background_color))->setLabel($this->label)->setLabelFontSize($this->label_font_size); $this->set('qrCode', $qrCode); } }
public function prepareVars() { $this->vars['field'] = $this->formField; $this->vars['value'] = $this->model->{$this->valueFrom}; if ($this->vars['value']) { $text = $this->getQRString($this->vars['value'], strtolower($this->model->first_name) ?: 'user', Request::server('HTTP_HOST', 'october.dev')); $qrCode = new QrCode(); $this->vars['qrcode'] = $qrCode->setText($text)->setSize(300)->setPadding(10)->setErrorCorrection('high')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->getDataUri(); } }
/** * @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)); }
protected function createQrCode(MediaInterface $media) { $path = tempnam(sys_get_temp_dir(), 'sonata_media_qrcode_reference') . '.' . $this->config['extension']; $qrCode = new QrCode(); $qrCode->setText($media->getBinaryContent())->setSize($this->config['size'])->setPadding($this->config['padding'])->setErrorCorrection($this->config['error_correction'])->setForegroundColor($this->config['foreground'])->setBackgroundColor($this->config['background'])->setLabel($this->config['label'])->setLabelFontSize($this->config['label_size'])->setImageType($this->config['extension']); if ($this->config['logo'] && is_file($this->config['logo'])) { $qrCode->setLogo($this->config['logo']); } $qrCode->save($path); return $path; }
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 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); }
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)); }
protected function generateQrcode($url) { $router = $this->get('router')->getRouteCollection()->get('endroid_qrcode'); if ($defaults = $router->getDefaults()) { return $this->forward($defaults['_controller'], array('text' => $url, 'extension' => 'png')); } $qrCode = new QrCode(); $qrCode->setText($url)->setSize(240)->setPadding(20); $content = $qrCode->get('png'); return new Response($content, 200, array('Content-Type' => 'image/png')); }
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; }
/** * 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; }
/** * 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>'; } }
/** * 生成支付二维码 * @return Response */ public function qrcodeAction(Request $request, $id) { $payManager = $this->get('glory_pay.pay_manager'); $order = $payManager->getOrder($id); $payment = $this->getPayment(); $result = $payment->prepare(new Order(['body' => $order->getBody(), 'detail' => $order->getDetail(), 'out_trade_no' => $id, 'total_fee' => floatval($order->getAmount()) * 100, 'trade_type' => 'NATIVE'])); if ($result->return_code == 'SUCCESS' && $result->result_code == 'SUCCESS') { $url = $result['code_url']; } else { } $qrCode = new QrCode(); $qrCode->setText($url)->setSize(240)->setPadding(20); $content = $qrCode->get('png'); return new Response($content, 200, array('Content-Type' => 'image/png')); }
public function init() { header('Content-Type: image/png'); $qrCode = new BaseQrcode(); $qrCode->setText("http://www.baidu.com")->render(); // ->setSize(300) // ->setPadding(10) // ->setErrorCorrection('high') // ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0)) // ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0)) // ->setLabel('My label') // ->setLabelFontSize(16) // ->render() // var_dump($qrCode); }
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(); }
/** * 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); }
public static function createQRCode($file_path) { // get server info $protocol = isset($_SERVER['HTTPS']) && strcasecmp('off', $_SERVER['HTTPS']) !== 0; $hostname = $_SERVER['SERVER_NAME']; $port = $_SERVER['SERVER_PORT']; // Create folder $date = date('Ymd'); $upload_path = '/upload/qrcode/' . $date . '/'; $dir = public_path() . $upload_path; if (!file_exists($dir)) { mkdir($dir, 0777, true); } // QR Code $qrCode = new QrCode(); $qrCode->setText($protocol . $hostname . ':' . $port . $file_path); $image = $qrCode->get(); $fileName = md5(date('YmdHis')) . '.png'; // Save QR code to image $qrCode->render($dir . $fileName); // return $upload_path . $fileName; }
public function store($params) { $text = $params['text']; $size = $params['size'] ? $params['size'] : 300; $qrCode = new QrCode(); $qrCodeContent = $qrCode->setText($text)->setSize(300)->setPadding(10)->setErrorCorrection('high')->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))->setLabelFontSize(16)->getDataUri('png'); $tmpTarget = tempnam(TMP_DIR, 'qrCode'); file_put_contents($tmpTarget, $qrCodeContent); $imageParams = getimagesize($tmpTarget); $size = filesize($tmpTarget); $imageName = $params['name'] . '.png'; $fileObject = new UploadedFile($tmpTarget, $imageName, $imageParams['mime'], $size, 0, true); $storager = kernel::single('base_storager'); $result = $storager->upload($fileObject); list($url, $ident, $storage) = explode('|', $result); $insertData['url'] = kernel::get_host_mirror_img() . $url; $insertData['ident'] = $ident; $insertData['storage'] = $storage; $insertData['width'] = $imageParams['width']; $insertData['height'] = $imageParams['height']; $insertData['size'] = $size; $insertData['image_name'] = $imageName; $insertData['img_type'] = 'qrcode'; $insertData['last_modified'] = time(); $insertData['target_id'] = '0'; $insertData['target_type'] = 'admin'; $insertData['disabled'] = 0; $this->objMdlImage = app::get('image')->model('images'); if ($row = $this->objMdlImage->getRow('id', ['url' => $insertData['url'], 'target_id' => $insertData['target_id'], ['target_type' => $insertData['target_type']]])) { $this->objMdlImage->update($insertData, ['id' => $row['id']]); } else { $this->objMdlImage->insert($insertData); } unlink($file); return $insertData['url']; }
/** * 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')); }
use Thenbsp\Wechat\Util\SignGenerator; /** * 创建订单 */ $params = array('appid' => APPID, 'mch_id' => MCHID, 'time_stamp' => time(), 'nonce_str' => Util::randomString(), 'product_id' => date('YmdHis') . mt_rand(10000, 99999)); $signGenerator = new SignGenerator($params); $signGenerator->onSortAfter(function ($that) { $that->addParams('key', MCHKEY); }); $params['sign'] = $signGenerator->getResult(); $links = 'weixin://wxpay/bizpayurl?' . http_build_query($params); /** * 生成支付二维码 * See https://github.com/endroid/QrCode */ $qrCode = new QrCode(); $qrCode->setText($links)->setSize(200)->setPadding(10)->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0)); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>Wechat SDK</title> </head> <body ontouchstart=""> <h1>扫描支付模式一</h1> <img src="<?php
/** * Creates a QR code with a logo. * * @return QrCode */ protected function createQrCodeWithLogo() { $qrCode = new QrCode(); $qrCode->setText('Life is too short to be generating QR codes')->setSize(300)->setLogo(dirname(__DIR__) . '/assets/image/logo.png')->setLogoSize(60); return $qrCode; }
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); }