Skip to content

Commit d888cb3

Browse files
author
Muraveiko
committed
first version
1 parent 060a9a0 commit d888cb3

File tree

3 files changed

+32
-22
lines changed

3 files changed

+32
-22
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/.idea/
2+
/vendor/
3+
/dist/server.json

dist/rawbt.phar

2.44 MB
Binary file not shown.

src/server.php

+29-22
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
<?php
2+
/**
3+
* WebSocket server for RawBT
4+
*
5+
* Based on PHP POS Print (Local Server)
6+
* https://github.com/Tecdiary/ppp
7+
* MIT License
8+
*
9+
* Modified by 402d (oleg@muraveyko.ru)
10+
*/
11+
212
require_once __DIR__ . '/../vendor/autoload.php';
313

414
use Noodlehaus\Config;
5-
use Noodlehaus\Parser\Json;
615

716
use Mike42\Escpos\PrintConnectors\CupsPrintConnector;
817
use Mike42\Escpos\PrintConnectors\UriPrintConnector;
@@ -27,29 +36,28 @@
2736
$data = $bucket->getData();
2837
echo '> Received request ', "\n";
2938

30-
$toprint = $data['message'];
31-
$toprint = str_replace("intent:base64,","",$toprint);
32-
$toprint = str_replace("#Intent;scheme=rawbt;package=ru.a402d.rawbtprinter;end;","",$toprint);
33-
$toprint = base64_decode($toprint);
39+
$toprint = $data['message'];
40+
$toprint = str_replace("intent:base64,", "", $toprint);
41+
$toprint = str_replace("#Intent;scheme=rawbt;package=ru.a402d.rawbtprinter;end;", "", $toprint);
42+
$toprint = base64_decode($toprint);
3443

3544

36-
$conf = Config::load('server.json');
45+
$conf = Config::load('server.json');
3746

38-
if ($conf->get('PrintConnector.Type') == 'Network') {
39-
set_time_limit($conf->get('PrintConnector.Params.timeout',10)+10);
40-
$connector = new NetworkPrintConnector($conf->get('PrintConnector.Params.ip','127.0.0.1'),$conf->get('PrintConnector.Params.port',9100),$conf->get('PrintConnector.Params.timeout',10));
41-
} elseif ($conf->get('PrintConnector.Type') == 'Uri') {
42-
$connector = UriPrintConnector::get($conf->get('PrintConnector.Params.uri','tcp://127.0.0.1:9100'));
43-
} elseif ($conf->get('PrintConnector.Type') == 'Cups') {
44-
$connector = CupsPrintConnector::get($conf->get('PrintConnector.Params.dest'));
45-
} elseif ($conf->get('PrintConnector.Type') == 'File') {
46-
$connector = CupsPrintConnector::get($conf->get('PrintConnector.Params.filename'));
47-
} else {
48-
// $conf->get('PrintConnector.Type') == 'Windows'
49-
$connector = new WindowsPrintConnector($conf->get('PrintConnector.Params.dest','LPT1'));
50-
}
51-
$connector -> write($toprint);
52-
$connector -> finalize();
47+
if ($conf->get('PrintConnector.Type') == 'Network') {
48+
set_time_limit($conf->get('PrintConnector.Params.timeout', 10) + 10);
49+
$connector = new NetworkPrintConnector($conf->get('PrintConnector.Params.ip', '127.0.0.1'), $conf->get('PrintConnector.Params.port', 9100), $conf->get('PrintConnector.Params.timeout', 10));
50+
} elseif ($conf->get('PrintConnector.Type') == 'Uri') {
51+
$connector = UriPrintConnector::get($conf->get('PrintConnector.Params.uri', 'tcp://127.0.0.1:9100'));
52+
} elseif ($conf->get('PrintConnector.Type') == 'Cups') {
53+
$connector = new CupsPrintConnector($conf->get('PrintConnector.Params.dest'));
54+
} elseif ($conf->get('PrintConnector.Type') == 'File') {
55+
$connector = new FilePrintConnector($conf->get('PrintConnector.Params.filename'));
56+
} else { // 'Windows'
57+
$connector = new WindowsPrintConnector($conf->get('PrintConnector.Params.dest', 'LPT1'));
58+
}
59+
$connector->write($toprint);
60+
$connector->finalize();
5361
echo '> Done print task ', "\n";
5462
return;
5563
});
@@ -65,7 +73,6 @@
6573
} catch (Exception $e) {
6674
echo '> Error occurred, server stopped. ', $e->getMessage(), "\n";
6775
}
68-
6976
} catch (Exception $e) {
7077
echo '> Error: ', $e->getMessage(), "\n";
7178
}

0 commit comments

Comments
 (0)