├── phpqrcode ├── VERSION ├── tools │ ├── merge.bat │ ├── merge.sh │ ├── merged_config.php │ ├── merged_header.php │ └── merge.php ├── cache │ ├── frame_1.dat │ ├── frame_1.png │ ├── frame_2.dat │ ├── frame_2.png │ ├── frame_3.dat │ ├── frame_3.png │ ├── frame_4.dat │ ├── frame_4.png │ ├── frame_5.dat │ ├── frame_5.png │ ├── frame_6.dat │ ├── frame_6.png │ ├── frame_7.dat │ ├── frame_7.png │ ├── frame_8.dat │ ├── frame_8.png │ ├── frame_9.dat │ ├── frame_9.png │ ├── frame_10.dat │ ├── frame_10.png │ ├── frame_11.dat │ ├── frame_11.png │ ├── frame_12.dat │ ├── frame_12.png │ ├── frame_13.dat │ ├── frame_13.png │ ├── frame_14.dat │ ├── frame_14.png │ ├── frame_15.dat │ ├── frame_15.png │ ├── frame_16.dat │ ├── frame_16.png │ ├── frame_17.dat │ ├── frame_17.png │ ├── frame_18.dat │ ├── frame_18.png │ ├── frame_19.dat │ ├── frame_19.png │ ├── frame_20.dat │ ├── frame_20.png │ ├── frame_21.dat │ ├── frame_21.png │ ├── frame_22.dat │ ├── frame_22.png │ ├── frame_23.dat │ ├── frame_23.png │ ├── frame_24.dat │ ├── frame_24.png │ ├── frame_25.dat │ ├── frame_25.png │ ├── frame_26.dat │ ├── frame_26.png │ ├── frame_27.dat │ ├── frame_27.png │ ├── frame_28.dat │ ├── frame_28.png │ ├── frame_29.dat │ ├── frame_29.png │ ├── frame_30.dat │ ├── frame_30.png │ ├── frame_31.dat │ ├── frame_31.png │ ├── frame_32.dat │ ├── frame_32.png │ ├── frame_33.dat │ ├── frame_33.png │ ├── frame_34.dat │ ├── frame_34.png │ ├── frame_35.dat │ ├── frame_35.png │ ├── frame_36.dat │ ├── frame_36.png │ ├── frame_37.dat │ ├── frame_37.png │ ├── frame_38.dat │ ├── frame_38.png │ ├── frame_39.dat │ ├── frame_39.png │ ├── frame_40.dat │ ├── frame_40.png │ ├── mask_0 │ │ ├── mask_101_0.dat │ │ ├── mask_105_0.dat │ │ ├── mask_109_0.dat │ │ ├── mask_113_0.dat │ │ ├── mask_117_0.dat │ │ ├── mask_121_0.dat │ │ ├── mask_125_0.dat │ │ ├── mask_129_0.dat │ │ ├── mask_133_0.dat │ │ ├── mask_137_0.dat │ │ ├── mask_141_0.dat │ │ ├── mask_145_0.dat │ │ ├── mask_149_0.dat │ │ ├── mask_153_0.dat │ │ ├── mask_157_0.dat │ │ ├── mask_161_0.dat │ │ ├── mask_165_0.dat │ │ ├── mask_169_0.dat │ │ ├── mask_173_0.dat │ │ ├── mask_177_0.dat │ │ ├── mask_21_0.dat │ │ ├── mask_25_0.dat │ │ ├── mask_29_0.dat │ │ ├── mask_33_0.dat │ │ ├── mask_37_0.dat │ │ ├── mask_41_0.dat │ │ ├── mask_45_0.dat │ │ ├── mask_49_0.dat │ │ ├── mask_53_0.dat │ │ ├── mask_57_0.dat │ │ ├── mask_61_0.dat │ │ ├── mask_65_0.dat │ │ ├── mask_69_0.dat │ │ ├── mask_73_0.dat │ │ ├── mask_77_0.dat │ │ ├── mask_81_0.dat │ │ ├── mask_85_0.dat │ │ ├── mask_89_0.dat │ │ ├── mask_93_0.dat │ │ └── mask_97_0.dat │ ├── mask_1 │ │ ├── mask_101_1.dat │ │ ├── mask_105_1.dat │ │ ├── mask_109_1.dat │ │ ├── mask_113_1.dat │ │ ├── mask_117_1.dat │ │ ├── mask_121_1.dat │ │ ├── mask_125_1.dat │ │ ├── mask_129_1.dat │ │ ├── mask_133_1.dat │ │ ├── mask_137_1.dat │ │ ├── mask_141_1.dat │ │ ├── mask_145_1.dat │ │ ├── mask_149_1.dat │ │ ├── mask_153_1.dat │ │ ├── mask_157_1.dat │ │ ├── mask_161_1.dat │ │ ├── mask_165_1.dat │ │ ├── mask_169_1.dat │ │ ├── mask_173_1.dat │ │ ├── mask_177_1.dat │ │ ├── mask_21_1.dat │ │ ├── mask_25_1.dat │ │ ├── mask_29_1.dat │ │ ├── mask_33_1.dat │ │ ├── mask_37_1.dat │ │ ├── mask_41_1.dat │ │ ├── mask_45_1.dat │ │ ├── mask_49_1.dat │ │ ├── mask_53_1.dat │ │ ├── mask_57_1.dat │ │ ├── mask_61_1.dat │ │ ├── mask_65_1.dat │ │ ├── mask_69_1.dat │ │ ├── mask_73_1.dat │ │ ├── mask_77_1.dat │ │ ├── mask_81_1.dat │ │ ├── mask_85_1.dat │ │ ├── mask_89_1.dat │ │ ├── mask_93_1.dat │ │ └── mask_97_1.dat │ ├── mask_2 │ │ ├── mask_101_2.dat │ │ ├── mask_105_2.dat │ │ ├── mask_109_2.dat │ │ ├── mask_113_2.dat │ │ ├── mask_117_2.dat │ │ ├── mask_121_2.dat │ │ ├── mask_125_2.dat │ │ ├── mask_129_2.dat │ │ ├── mask_133_2.dat │ │ ├── mask_137_2.dat │ │ ├── mask_141_2.dat │ │ ├── mask_145_2.dat │ │ ├── mask_149_2.dat │ │ ├── mask_153_2.dat │ │ ├── mask_157_2.dat │ │ ├── mask_161_2.dat │ │ ├── mask_165_2.dat │ │ ├── mask_169_2.dat │ │ ├── mask_173_2.dat │ │ ├── mask_177_2.dat │ │ ├── mask_21_2.dat │ │ ├── mask_25_2.dat │ │ ├── mask_29_2.dat │ │ ├── mask_33_2.dat │ │ ├── mask_37_2.dat │ │ ├── mask_41_2.dat │ │ ├── mask_45_2.dat │ │ ├── mask_49_2.dat │ │ ├── mask_53_2.dat │ │ ├── mask_57_2.dat │ │ ├── mask_61_2.dat │ │ ├── mask_65_2.dat │ │ ├── mask_69_2.dat │ │ ├── mask_73_2.dat │ │ ├── mask_77_2.dat │ │ ├── mask_81_2.dat │ │ ├── mask_85_2.dat │ │ ├── mask_89_2.dat │ │ ├── mask_93_2.dat │ │ └── mask_97_2.dat │ ├── mask_3 │ │ ├── mask_101_3.dat │ │ ├── mask_105_3.dat │ │ ├── mask_109_3.dat │ │ ├── mask_113_3.dat │ │ ├── mask_117_3.dat │ │ ├── mask_121_3.dat │ │ ├── mask_125_3.dat │ │ ├── mask_129_3.dat │ │ ├── mask_133_3.dat │ │ ├── mask_137_3.dat │ │ ├── mask_141_3.dat │ │ ├── mask_145_3.dat │ │ ├── mask_149_3.dat │ │ ├── mask_153_3.dat │ │ ├── mask_157_3.dat │ │ ├── mask_161_3.dat │ │ ├── mask_165_3.dat │ │ ├── mask_169_3.dat │ │ ├── mask_173_3.dat │ │ ├── mask_177_3.dat │ │ ├── mask_21_3.dat │ │ ├── mask_25_3.dat │ │ ├── mask_29_3.dat │ │ ├── mask_33_3.dat │ │ ├── mask_37_3.dat │ │ ├── mask_41_3.dat │ │ ├── mask_45_3.dat │ │ ├── mask_49_3.dat │ │ ├── mask_53_3.dat │ │ ├── mask_57_3.dat │ │ ├── mask_61_3.dat │ │ ├── mask_65_3.dat │ │ ├── mask_69_3.dat │ │ ├── mask_73_3.dat │ │ ├── mask_77_3.dat │ │ ├── mask_81_3.dat │ │ ├── mask_85_3.dat │ │ ├── mask_89_3.dat │ │ ├── mask_93_3.dat │ │ └── mask_97_3.dat │ ├── mask_4 │ │ ├── mask_101_4.dat │ │ ├── mask_105_4.dat │ │ ├── mask_109_4.dat │ │ ├── mask_113_4.dat │ │ ├── mask_117_4.dat │ │ ├── mask_121_4.dat │ │ ├── mask_125_4.dat │ │ ├── mask_129_4.dat │ │ ├── mask_133_4.dat │ │ ├── mask_137_4.dat │ │ ├── mask_141_4.dat │ │ ├── mask_145_4.dat │ │ ├── mask_149_4.dat │ │ ├── mask_153_4.dat │ │ ├── mask_157_4.dat │ │ ├── mask_161_4.dat │ │ ├── mask_165_4.dat │ │ ├── mask_169_4.dat │ │ ├── mask_173_4.dat │ │ ├── mask_177_4.dat │ │ ├── mask_21_4.dat │ │ ├── mask_25_4.dat │ │ ├── mask_29_4.dat │ │ ├── mask_33_4.dat │ │ ├── mask_37_4.dat │ │ ├── mask_41_4.dat │ │ ├── mask_45_4.dat │ │ ├── mask_49_4.dat │ │ ├── mask_53_4.dat │ │ ├── mask_57_4.dat │ │ ├── mask_61_4.dat │ │ ├── mask_65_4.dat │ │ ├── mask_69_4.dat │ │ ├── mask_73_4.dat │ │ ├── mask_77_4.dat │ │ ├── mask_81_4.dat │ │ ├── mask_85_4.dat │ │ ├── mask_89_4.dat │ │ ├── mask_93_4.dat │ │ └── mask_97_4.dat │ ├── mask_5 │ │ ├── mask_101_5.dat │ │ ├── mask_105_5.dat │ │ ├── mask_109_5.dat │ │ ├── mask_113_5.dat │ │ ├── mask_117_5.dat │ │ ├── mask_121_5.dat │ │ ├── mask_125_5.dat │ │ ├── mask_129_5.dat │ │ ├── mask_133_5.dat │ │ ├── mask_137_5.dat │ │ ├── mask_141_5.dat │ │ ├── mask_145_5.dat │ │ ├── mask_149_5.dat │ │ ├── mask_153_5.dat │ │ ├── mask_157_5.dat │ │ ├── mask_161_5.dat │ │ ├── mask_165_5.dat │ │ ├── mask_169_5.dat │ │ ├── mask_173_5.dat │ │ ├── mask_177_5.dat │ │ ├── mask_21_5.dat │ │ ├── mask_25_5.dat │ │ ├── mask_29_5.dat │ │ ├── mask_33_5.dat │ │ ├── mask_37_5.dat │ │ ├── mask_41_5.dat │ │ ├── mask_45_5.dat │ │ ├── mask_49_5.dat │ │ ├── mask_53_5.dat │ │ ├── mask_57_5.dat │ │ ├── mask_61_5.dat │ │ ├── mask_65_5.dat │ │ ├── mask_69_5.dat │ │ ├── mask_73_5.dat │ │ ├── mask_77_5.dat │ │ ├── mask_81_5.dat │ │ ├── mask_85_5.dat │ │ ├── mask_89_5.dat │ │ ├── mask_93_5.dat │ │ └── mask_97_5.dat │ ├── mask_6 │ │ ├── mask_101_6.dat │ │ ├── mask_105_6.dat │ │ ├── mask_109_6.dat │ │ ├── mask_113_6.dat │ │ ├── mask_117_6.dat │ │ ├── mask_121_6.dat │ │ ├── mask_125_6.dat │ │ ├── mask_129_6.dat │ │ ├── mask_133_6.dat │ │ ├── mask_137_6.dat │ │ ├── mask_141_6.dat │ │ ├── mask_145_6.dat │ │ ├── mask_149_6.dat │ │ ├── mask_153_6.dat │ │ ├── mask_157_6.dat │ │ ├── mask_161_6.dat │ │ ├── mask_165_6.dat │ │ ├── mask_169_6.dat │ │ ├── mask_173_6.dat │ │ ├── mask_177_6.dat │ │ ├── mask_21_6.dat │ │ ├── mask_25_6.dat │ │ ├── mask_29_6.dat │ │ ├── mask_33_6.dat │ │ ├── mask_37_6.dat │ │ ├── mask_41_6.dat │ │ ├── mask_45_6.dat │ │ ├── mask_49_6.dat │ │ ├── mask_53_6.dat │ │ ├── mask_57_6.dat │ │ ├── mask_61_6.dat │ │ ├── mask_65_6.dat │ │ ├── mask_69_6.dat │ │ ├── mask_73_6.dat │ │ ├── mask_77_6.dat │ │ ├── mask_81_6.dat │ │ ├── mask_85_6.dat │ │ ├── mask_89_6.dat │ │ ├── mask_93_6.dat │ │ └── mask_97_6.dat │ └── mask_7 │ │ ├── mask_101_7.dat │ │ ├── mask_105_7.dat │ │ ├── mask_109_7.dat │ │ ├── mask_113_7.dat │ │ ├── mask_117_7.dat │ │ ├── mask_121_7.dat │ │ ├── mask_125_7.dat │ │ ├── mask_129_7.dat │ │ ├── mask_133_7.dat │ │ ├── mask_137_7.dat │ │ ├── mask_141_7.dat │ │ ├── mask_145_7.dat │ │ ├── mask_149_7.dat │ │ ├── mask_153_7.dat │ │ ├── mask_157_7.dat │ │ ├── mask_161_7.dat │ │ ├── mask_165_7.dat │ │ ├── mask_169_7.dat │ │ ├── mask_173_7.dat │ │ ├── mask_177_7.dat │ │ ├── mask_21_7.dat │ │ ├── mask_25_7.dat │ │ ├── mask_29_7.dat │ │ ├── mask_33_7.dat │ │ ├── mask_37_7.dat │ │ ├── mask_41_7.dat │ │ ├── mask_45_7.dat │ │ ├── mask_49_7.dat │ │ ├── mask_53_7.dat │ │ ├── mask_57_7.dat │ │ ├── mask_61_7.dat │ │ ├── mask_65_7.dat │ │ ├── mask_69_7.dat │ │ ├── mask_73_7.dat │ │ ├── mask_77_7.dat │ │ ├── mask_81_7.dat │ │ ├── mask_85_7.dat │ │ ├── mask_89_7.dat │ │ ├── mask_93_7.dat │ │ └── mask_97_7.dat ├── CHANGELOG ├── qrconfig.php ├── qrlib.php ├── README ├── qrconst.php ├── INSTALL ├── qrimage.php ├── index.php ├── qrbitstream.php ├── qrtools.php ├── LICENSE ├── qrrscode.php ├── qrsplit.php └── qrmask.php ├── assets ├── example.png ├── qr.css ├── qr-demo.css └── card.svg ├── Dockerfile ├── README.md ├── index.html └── qr.php /phpqrcode/VERSION: -------------------------------------------------------------------------------- 1 | 1.1.4 2 | 2010100721 -------------------------------------------------------------------------------- /phpqrcode/tools/merge.bat: -------------------------------------------------------------------------------- 1 | php ./merge.php 2 | pause -------------------------------------------------------------------------------- /phpqrcode/tools/merge.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | php ./merge.php -------------------------------------------------------------------------------- /assets/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/assets/example.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_1.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_2.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_3.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_4.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_5.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_6.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_7.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_8.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_8.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_8.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_9.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_9.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_9.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_10.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_10.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_10.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_11.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_11.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_11.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_12.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_12.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_12.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_13.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_13.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_13.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_14.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_14.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_14.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_15.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_15.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_15.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_16.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_16.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_16.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_17.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_17.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_17.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_18.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_18.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_18.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_19.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_19.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_19.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_20.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_20.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_20.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_21.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_21.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_21.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_22.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_22.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_22.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_23.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_23.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_23.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_24.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_24.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_24.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_25.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_25.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_25.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_26.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_26.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_26.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_27.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_27.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_27.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_28.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_28.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_28.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_29.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_29.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_29.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_30.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_30.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_30.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_31.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_31.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_31.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_32.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_32.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_32.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_33.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_33.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_33.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_34.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_34.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_34.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_35.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_35.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_35.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_36.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_36.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_36.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_37.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_37.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_37.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_38.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_38.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_38.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_39.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_39.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_39.png -------------------------------------------------------------------------------- /phpqrcode/cache/frame_40.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_40.dat -------------------------------------------------------------------------------- /phpqrcode/cache/frame_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/frame_40.png -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_101_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_101_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_105_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_105_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_109_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_109_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_113_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_113_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_117_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_117_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_121_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_121_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_125_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_125_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_129_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_129_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_133_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_133_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_137_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_137_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_141_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_141_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_145_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_145_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_149_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_149_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_153_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_153_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_157_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_157_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_161_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_161_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_165_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_165_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_169_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_169_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_173_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_173_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_177_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_177_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_21_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_21_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_25_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_25_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_29_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_29_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_33_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_33_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_37_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_37_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_41_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_41_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_45_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_45_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_49_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_49_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_53_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_53_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_57_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_57_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_61_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_61_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_65_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_65_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_69_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_69_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_73_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_73_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_77_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_77_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_81_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_81_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_85_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_85_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_89_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_89_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_93_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_93_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_0/mask_97_0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_0/mask_97_0.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_101_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_101_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_105_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_105_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_109_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_109_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_113_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_113_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_117_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_117_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_121_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_121_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_125_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_125_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_129_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_129_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_133_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_133_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_137_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_137_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_141_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_141_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_145_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_145_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_149_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_149_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_153_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_153_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_157_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_157_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_161_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_161_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_165_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_165_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_169_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_169_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_173_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_173_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_177_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_177_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_21_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_21_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_25_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_25_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_29_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_29_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_33_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_33_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_37_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_37_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_41_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_41_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_45_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_45_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_49_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_49_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_53_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_53_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_57_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_57_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_61_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_61_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_65_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_65_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_69_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_69_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_73_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_73_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_77_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_77_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_81_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_81_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_85_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_85_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_89_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_89_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_93_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_93_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_1/mask_97_1.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_1/mask_97_1.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_101_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_101_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_105_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_105_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_109_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_109_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_113_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_113_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_117_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_117_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_121_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_121_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_125_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_125_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_129_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_129_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_133_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_133_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_137_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_137_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_141_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_141_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_145_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_145_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_149_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_149_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_153_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_153_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_157_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_157_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_161_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_161_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_165_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_165_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_169_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_169_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_173_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_173_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_177_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_177_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_21_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_21_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_25_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_25_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_29_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_29_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_33_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_33_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_37_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_37_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_41_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_41_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_45_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_45_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_49_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_49_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_53_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_53_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_57_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_57_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_61_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_61_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_65_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_65_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_69_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_69_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_73_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_73_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_77_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_77_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_81_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_81_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_85_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_85_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_89_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_89_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_93_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_93_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_2/mask_97_2.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_2/mask_97_2.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_101_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_101_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_105_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_105_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_109_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_109_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_113_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_113_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_117_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_117_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_121_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_121_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_125_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_125_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_129_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_129_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_133_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_133_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_137_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_137_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_141_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_141_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_145_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_145_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_149_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_149_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_153_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_153_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_157_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_157_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_161_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_161_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_165_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_165_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_169_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_169_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_173_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_173_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_177_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_177_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_21_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_21_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_25_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_25_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_29_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_29_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_33_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_33_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_37_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_37_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_41_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_41_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_45_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_45_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_49_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_49_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_53_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_53_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_57_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_57_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_61_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_61_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_65_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_65_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_69_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_69_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_73_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_73_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_77_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_77_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_81_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_81_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_85_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_85_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_89_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_89_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_93_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_93_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_3/mask_97_3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_3/mask_97_3.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_101_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_101_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_105_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_105_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_109_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_109_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_113_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_113_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_117_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_117_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_121_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_121_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_125_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_125_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_129_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_129_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_133_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_133_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_137_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_137_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_141_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_141_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_145_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_145_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_149_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_149_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_153_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_153_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_157_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_157_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_161_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_161_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_165_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_165_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_169_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_169_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_173_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_173_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_177_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_177_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_21_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_21_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_25_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_25_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_29_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_29_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_33_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_33_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_37_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_37_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_41_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_41_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_45_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_45_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_49_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_49_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_53_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_53_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_57_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_57_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_61_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_61_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_65_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_65_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_69_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_69_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_73_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_73_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_77_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_77_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_81_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_81_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_85_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_85_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_89_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_89_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_93_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_93_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_4/mask_97_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_4/mask_97_4.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_101_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_101_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_105_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_105_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_109_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_109_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_113_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_113_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_117_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_117_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_121_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_121_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_125_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_125_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_129_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_129_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_133_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_133_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_137_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_137_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_141_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_141_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_145_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_145_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_149_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_149_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_153_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_153_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_157_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_157_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_161_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_161_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_165_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_165_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_169_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_169_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_173_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_173_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_177_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_177_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_21_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_21_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_25_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_25_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_29_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_29_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_33_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_33_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_37_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_37_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_41_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_41_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_45_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_45_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_49_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_49_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_53_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_53_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_57_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_57_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_61_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_61_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_65_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_65_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_69_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_69_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_73_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_73_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_77_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_77_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_81_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_81_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_85_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_85_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_89_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_89_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_93_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_93_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_5/mask_97_5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_5/mask_97_5.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_101_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_101_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_105_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_105_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_109_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_109_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_113_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_113_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_117_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_117_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_121_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_121_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_125_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_125_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_129_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_129_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_133_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_133_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_137_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_137_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_141_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_141_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_145_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_145_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_149_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_149_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_153_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_153_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_157_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_157_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_161_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_161_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_165_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_165_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_169_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_169_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_173_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_173_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_177_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_177_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_21_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_21_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_25_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_25_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_29_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_29_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_33_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_33_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_37_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_37_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_41_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_41_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_45_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_45_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_49_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_49_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_53_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_53_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_57_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_57_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_61_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_61_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_65_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_65_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_69_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_69_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_73_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_73_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_77_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_77_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_81_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_81_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_85_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_85_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_89_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_89_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_93_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_93_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_6/mask_97_6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_6/mask_97_6.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_101_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_101_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_105_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_105_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_109_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_109_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_113_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_113_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_117_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_117_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_121_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_121_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_125_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_125_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_129_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_129_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_133_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_133_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_137_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_137_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_141_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_141_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_145_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_145_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_149_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_149_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_153_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_153_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_157_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_157_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_161_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_161_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_165_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_165_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_169_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_169_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_173_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_173_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_177_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_177_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_21_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_21_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_25_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_25_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_29_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_29_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_33_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_33_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_37_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_37_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_41_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_41_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_45_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_45_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_49_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_49_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_53_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_53_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_57_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_57_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_61_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_61_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_65_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_65_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_69_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_69_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_73_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_73_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_77_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_77_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_81_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_81_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_85_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_85_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_89_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_89_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_93_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_93_7.dat -------------------------------------------------------------------------------- /phpqrcode/cache/mask_7/mask_97_7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/slatinsky/php-pay-by-square/HEAD/phpqrcode/cache/mask_7/mask_97_7.dat -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:8.3.8-apache 2 | RUN apt-get update && apt-get install -y \ 3 | libfreetype6-dev \ 4 | libjpeg62-turbo-dev \ 5 | libpng-dev \ 6 | && docker-php-ext-configure gd --with-freetype --with-jpeg \ 7 | && docker-php-ext-install -j$(nproc) gd 8 | COPY . /var/www/html/ 9 | RUN mkdir -p /var/log/phpqrcode && \ 10 | chown www-data:www-data /var/log/phpqrcode && \ 11 | chmod 755 /var/log/phpqrcode && \ 12 | mkdir -p /tmp/phpqrcode/cache && \ 13 | chown www-data:www-data /tmp/phpqrcode/cache && \ 14 | chmod 755 /tmp/phpqrcode/cache 15 | -------------------------------------------------------------------------------- /assets/qr.css: -------------------------------------------------------------------------------- 1 | .qr-image { 2 | border: 5px solid #6FA4D7; 3 | max-width: 100%; 4 | width: 300px; 5 | height: auto; 6 | image-rendering: pixelated; 7 | image-rendering: -moz-crisp-edges; 8 | image-rendering: crisp-edges; 9 | padding: 40px; 10 | margin: 20px 0 0 0; 11 | border-radius: 5px; 12 | background-color: white; 13 | } 14 | 15 | .qr-bottom-txt { 16 | display: flex; 17 | justify-content: end; 18 | align-items: center; 19 | gap: 10px; 20 | margin-top: 10px; 21 | font-size: 30px; 22 | } 23 | 24 | .qr-bottom-txt .qr-txt-blue { 25 | color: #6FA4D7; 26 | font-weight: bold; 27 | } 28 | 29 | .qr-bottom-txt .qr-txt-gray { 30 | color: #ccc; 31 | } 32 | 33 | .qr-bottom-txt .qr-card { 34 | width: 60px; 35 | height: auto; 36 | } -------------------------------------------------------------------------------- /phpqrcode/tools/merged_config.php: -------------------------------------------------------------------------------- 1 | 20 | * 21 | * This library is free software; you can redistribute it and/or 22 | * modify it under the terms of the GNU Lesser General Public 23 | * License as published by the Free Software Foundation; either 24 | * version 3 of the License, or any later version. 25 | * 26 | * This library is distributed in the hope that it will be useful, 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 29 | * Lesser General Public License for more details. 30 | * 31 | * You should have received a copy of the GNU Lesser General Public 32 | * License along with this library; if not, write to the Free Software 33 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 34 | */ 35 | 36 | -------------------------------------------------------------------------------- /phpqrcode/qrconfig.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * PHP QR Code is distributed under LGPL 3 11 | * Copyright (C) 2010 Dominik Dzienia 12 | * 13 | * This library is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 3 of the License, or any later version. 17 | * 18 | * This library is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with this library; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; 29 | 30 | // Required libs 31 | 32 | include $QR_BASEDIR."qrconst.php"; 33 | include $QR_BASEDIR."qrconfig.php"; 34 | include $QR_BASEDIR."qrtools.php"; 35 | include $QR_BASEDIR."qrspec.php"; 36 | include $QR_BASEDIR."qrimage.php"; 37 | include $QR_BASEDIR."qrinput.php"; 38 | include $QR_BASEDIR."qrbitstream.php"; 39 | include $QR_BASEDIR."qrsplit.php"; 40 | include $QR_BASEDIR."qrrscode.php"; 41 | include $QR_BASEDIR."qrmask.php"; 42 | include $QR_BASEDIR."qrencode.php"; 43 | 44 | -------------------------------------------------------------------------------- /phpqrcode/README: -------------------------------------------------------------------------------- 1 | This is PHP implementation of QR Code 2-D barcode generator. It is pure-php 2 | LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi. 3 | 4 | == LICENSING == 5 | 6 | Copyright (C) 2010 by Dominik Dzienia 7 | 8 | This library is free software; you can redistribute it and/or modify it under 9 | the terms of the GNU Lesser General Public License as published by the Free 10 | Software Foundation; either version 3 of the License, or any later version. 11 | 12 | This library is distributed in the hope that it will be useful, but WITHOUT ANY 13 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 14 | PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file) 15 | for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public License along 18 | with this library; if not, write to the Free Software Foundation, Inc., 51 19 | Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | == INSTALATION AND USAGE == 22 | 23 | * INSTALL file 24 | * http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page 25 | 26 | == CONTACT == 27 | 28 | Fell free to contact me via e-mail (deltalab at poczta dot fm) or using 29 | folowing project pages: 30 | 31 | * http://sourceforge.net/projects/phpqrcode/ 32 | * http://phpqrcode.sourceforge.net/ 33 | 34 | == ACKNOWLEDGMENTS == 35 | 36 | Based on C libqrencode library (ver. 3.1.1) 37 | Copyright (C) 2006-2010 by Kentaro Fukuchi 38 | http://megaui.net/fukuchi/works/qrencode/index.en.html 39 | 40 | QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other 41 | countries. 42 | 43 | Reed-Solomon code encoder is written by Phil Karn, KA9Q. 44 | Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q 45 | -------------------------------------------------------------------------------- /phpqrcode/qrconst.php: -------------------------------------------------------------------------------- 1 | 10 | * 11 | * PHP QR Code is distributed under LGPL 3 12 | * Copyright (C) 2010 Dominik Dzienia 13 | * 14 | * This library is free software; you can redistribute it and/or 15 | * modify it under the terms of the GNU Lesser General Public 16 | * License as published by the Free Software Foundation; either 17 | * version 3 of the License, or any later version. 18 | * 19 | * This library is distributed in the hope that it will be useful, 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | * Lesser General Public License for more details. 23 | * 24 | * You should have received a copy of the GNU Lesser General Public 25 | * License along with this library; if not, write to the Free Software 26 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 27 | */ 28 | 29 | // Encoding modes 30 | 31 | define('QR_MODE_NUL', -1); 32 | define('QR_MODE_NUM', 0); 33 | define('QR_MODE_AN', 1); 34 | define('QR_MODE_8', 2); 35 | define('QR_MODE_KANJI', 3); 36 | define('QR_MODE_STRUCTURE', 4); 37 | 38 | // Levels of error correction. 39 | 40 | define('QR_ECLEVEL_L', 0); 41 | define('QR_ECLEVEL_M', 1); 42 | define('QR_ECLEVEL_Q', 2); 43 | define('QR_ECLEVEL_H', 3); 44 | 45 | // Supported output formats 46 | 47 | define('QR_FORMAT_TEXT', 0); 48 | define('QR_FORMAT_PNG', 1); 49 | 50 | class qrstr { 51 | public static function set(&$srctab, $x, $y, $repl, $replLen = false) { 52 | $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); 53 | } 54 | } -------------------------------------------------------------------------------- /phpqrcode/INSTALL: -------------------------------------------------------------------------------- 1 | == REQUIREMENTS == 2 | 3 | * PHP5 4 | * PHP GD2 extension with JPEG and PNG support 5 | 6 | == INSTALLATION == 7 | 8 | If you want to recreate cache by yourself make sure cache directory is 9 | writable and you have permisions to write into it. Also make sure you are 10 | able to read files in it if you have cache option enabled 11 | 12 | == CONFIGURATION == 13 | 14 | Feel free to modify config constants in qrconfig.php file. Read about it in 15 | provided comments and project wiki page (links in README file) 16 | 17 | == QUICK START == 18 | 19 | Notice: probably you should'nt use all of this in same script :) 20 | 21 | encode('PHP QR Code :)'); 47 | QRspec::debug($tab, true); 48 | 49 | == TCPDF INTEGRATION == 50 | 51 | Inside bindings/tcpdf you will find slightly modified 2dbarcodes.php. 52 | Instal phpqrcode liblaty inside tcpdf folder, then overwrite (or merge) 53 | 2dbarcodes.php 54 | 55 | Then use similar as example #50 from TCPDF examples: 56 | 57 | true, 61 | 'padding' => 4, 62 | 'fgcolor' => array(0,0,0), 63 | 'bgcolor' => false, //array(255,255,255) 64 | ); 65 | 66 | //code name: QR, specify error correction level after semicolon (L,M,Q,H) 67 | $pdf->write2DBarcode('PHP QR Code :)', 'QR,L', '', '', 30, 30, $style, 'N'); 68 | -------------------------------------------------------------------------------- /phpqrcode/tools/merge.php: -------------------------------------------------------------------------------- 1 | 12 | * 13 | * This library is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 3 of the License, or any later version. 17 | * 18 | * This library is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with this library; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR; 29 | $QR_TOOLSDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; 30 | 31 | $outputFile = $QR_BASEDIR.'phpqrcode.php'; 32 | 33 | // Required libs 34 | 35 | $fileList = array( 36 | $QR_BASEDIR.'qrconst.php', 37 | $QR_TOOLSDIR.'merged_config.php', 38 | $QR_BASEDIR.'qrtools.php', 39 | $QR_BASEDIR.'qrspec.php', 40 | $QR_BASEDIR.'qrimage.php', 41 | $QR_BASEDIR.'qrinput.php', 42 | $QR_BASEDIR.'qrbitstream.php', 43 | $QR_BASEDIR.'qrsplit.php', 44 | $QR_BASEDIR.'qrrscode.php', 45 | $QR_BASEDIR.'qrmask.php', 46 | $QR_BASEDIR.'qrencode.php' 47 | ); 48 | 49 | $headerFile = $QR_TOOLSDIR.'merged_header.php'; 50 | $versionFile = $QR_BASEDIR.'VERSION'; 51 | 52 | $outputCode = ''; 53 | 54 | foreach($fileList as $fileName) { 55 | $outputCode .= "\n\n".'//---- '.basename($fileName).' -----------------------------'."\n\n"; 56 | $anotherCode = file_get_contents($fileName); 57 | $anotherCode = preg_replace ('/^<\?php/', '', $anotherCode); 58 | $anotherCode = preg_replace ('/\?>\*$/', '', $anotherCode); 59 | $outputCode .= "\n\n".$anotherCode."\n\n"; 60 | } 61 | 62 | $versionDataEx = explode("\n", file_get_contents($versionFile)); 63 | 64 | $outputContents = file_get_contents($headerFile); 65 | $outputContents .= "\n\n/*\n * Version: ".trim($versionDataEx[0])."\n * Build: ".trim($versionDataEx[1])."\n */\n\n"; 66 | $outputContents .= $outputCode; 67 | 68 | file_put_contents($outputFile, $outputContents); 69 | 70 | -------------------------------------------------------------------------------- /phpqrcode/qrimage.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * This library is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Lesser General Public 12 | * License as published by the Free Software Foundation; either 13 | * version 3 of the License, or any later version. 14 | * 15 | * This library is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * Lesser General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Lesser General Public 21 | * License along with this library; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 | */ 24 | 25 | define('QR_IMAGE', true); 26 | 27 | class QRimage { 28 | 29 | //---------------------------------------------------------------------- 30 | public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE) 31 | { 32 | $image = self::image($frame, $pixelPerPoint, $outerFrame); 33 | 34 | if ($filename === false) { 35 | Header("Content-type: image/png"); 36 | ImagePng($image); 37 | } else { 38 | if($saveandprint===TRUE){ 39 | ImagePng($image, $filename); 40 | header("Content-type: image/png"); 41 | ImagePng($image); 42 | }else{ 43 | ImagePng($image, $filename); 44 | } 45 | } 46 | 47 | ImageDestroy($image); 48 | } 49 | 50 | //---------------------------------------------------------------------- 51 | public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85) 52 | { 53 | $image = self::image($frame, $pixelPerPoint, $outerFrame); 54 | 55 | if ($filename === false) { 56 | Header("Content-type: image/jpeg"); 57 | ImageJpeg($image, null, $q); 58 | } else { 59 | ImageJpeg($image, $filename, $q); 60 | } 61 | 62 | ImageDestroy($image); 63 | } 64 | 65 | //---------------------------------------------------------------------- 66 | private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4) 67 | { 68 | $h = count($frame); 69 | $w = strlen($frame[0]); 70 | 71 | $imgW = $w + 2*$outerFrame; 72 | $imgH = $h + 2*$outerFrame; 73 | 74 | $base_image =ImageCreate($imgW, $imgH); 75 | 76 | $col[0] = ImageColorAllocate($base_image,255,255,255); 77 | $col[1] = ImageColorAllocate($base_image,0,0,0); 78 | 79 | imagefill($base_image, 0, 0, $col[0]); 80 | 81 | for($y=0; $y<$h; $y++) { 82 | for($x=0; $x<$w; $x++) { 83 | if ($frame[$y][$x] == '1') { 84 | ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]); 85 | } 86 | } 87 | } 88 | 89 | $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint); 90 | ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH); 91 | ImageDestroy($base_image); 92 | 93 | return $target_image; 94 | } 95 | } -------------------------------------------------------------------------------- /phpqrcode/index.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * This library is free software; you can redistribute it and/or 11 | * modify it under the terms of the GNU Lesser General Public 12 | * License as published by the Free Software Foundation; either 13 | * version 3 of the License, or any later version. 14 | * 15 | * This library is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | * Lesser General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Lesser General Public 21 | * License along with this library; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 | */ 24 | 25 | echo "

PHP QR Code


"; 26 | 27 | //set it to writable location, a place for temp generated PNG files 28 | $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR; 29 | 30 | //html PNG location prefix 31 | $PNG_WEB_DIR = 'temp/'; 32 | 33 | include "qrlib.php"; 34 | 35 | //ofcourse we need rights to create temp dir 36 | if (!file_exists($PNG_TEMP_DIR)) 37 | mkdir($PNG_TEMP_DIR); 38 | 39 | 40 | $filename = $PNG_TEMP_DIR.'test.png'; 41 | 42 | //processing form input 43 | //remember to sanitize user input in real-life solution !!! 44 | $errorCorrectionLevel = 'L'; 45 | if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H'))) 46 | $errorCorrectionLevel = $_REQUEST['level']; 47 | 48 | $matrixPointSize = 4; 49 | if (isset($_REQUEST['size'])) 50 | $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10); 51 | 52 | 53 | if (isset($_REQUEST['data'])) { 54 | 55 | //it's very important! 56 | if (trim($_REQUEST['data']) == '') 57 | die('data cannot be empty! back'); 58 | 59 | // user data 60 | $filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png'; 61 | QRcode::png($_REQUEST['data'], $filename, $errorCorrectionLevel, $matrixPointSize, 2); 62 | 63 | } else { 64 | 65 | //default data 66 | echo 'You can provide data in GET parameter: like that
'; 67 | QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2); 68 | 69 | } 70 | 71 | //display generated file 72 | echo '
'; 73 | 74 | //config form 75 | echo '
76 | Data:   77 | ECC:   83 | Size:   89 |

'; 90 | 91 | // benchmark 92 | QRtools::timeBenchmark(); 93 | 94 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](assets/example.png) 2 | 3 | # PHP Pay by square 4 | 5 | Umožňuje vytvárať jednoduché QR kódy pre slovenské platby Pay by square. Len prekopírujete na PHP hosting a máte hotovo :) 6 | 7 | Vyskúšajte [interaktívne demo](https://qr.slada.sk/). 8 | 9 | 10 | 11 | ## Inštalácia 12 | 13 | Na výber sú dve možnosti inštalácie: 14 | - prekopírovanie na PHP hosting 15 | - alebo ako mikroslužba cez Docker 16 | 17 | Bez použitia dockera php skript funguje len na linuxových serveroch, pretože volá `/usr/bin/xz`. Taktiež PHP musí mať nainštalovaný modul `gd`. Testované s PHP 8 na Webhostingu Websupport.sk. 18 | 19 | ### Inštalácia na PHP hostingu 20 | 21 | - nakopírujte obsah tohto repozitára na váš hosting 22 | - hlavny súbor je `qr.php`, ktorý je potrebné zavolať s parametrami (viac nižšie) 23 | 24 | ### Inštalácia a spustenie pomocou Dockera 25 | ```bash 26 | git clone https://github.com/slatinsky/php-pay-by-square 27 | cd php-pay-by-square 28 | docker build -t square . 29 | docker run -p 8080:80 -d --name square-instance square 30 | ``` 31 | Služba je dostupná na localhoste na porte 8080 - `http://localhost:8080/qr.php?...`. 32 | 33 | Zmeňte port `8080` v príkaze podľa potreby. 34 | 35 | ## Použitie na frontende 36 | 37 | HTML: 38 | ```html 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
PAY by square
48 | 49 |
50 | 51 | 52 | ``` 53 | 54 | ## Parametre pre qr.php 55 | | **Parameter** | **Popis** | **Ukážka** | **Obmedzenie** | 56 | |---------------|---------------------------------------|--------------------------|--------------------------| 57 | | price | Cena | 5.01 | Max 2 desatinné miesta | 58 | | note | Poznámka k platbe | pre jozka | Max 35 znakov | 59 | | recipient | Názov príjemcu | jozko mrkvicka | ? | 60 | | iban | Číslo účtu (IBAN) | SK7700000000000000000000 | Bez medzier | 61 | | swift | Bankový identifikačný kód (BIC/SWIFT) | CEKOSKBX | | 62 | | vs | Variabilný symbol | 00000002 | Len čísla, max 10 znakov | 63 | | ss | Špecifický symbol | 2022 | Len čísla, max 10 znakov | 64 | | cs | Konštantný symbol | 0000 | Len čísla, max 4 znaky | 65 | | pixelsize | Veľkosť obrázka | 1 | Číslo v rozsahu 1-50 | 66 | | pixelpadding | Odsadenie obrázka | 0 | Číslo v rozsahu 0-50 | 67 | 68 | Dátum splatnosti je automaticky nastavený na aktuálny deň. 69 | 70 | Ukážkový QR kód je na začiatku tohto `README.md` súboru. 71 | 72 | `pixelsize` a `pixelpadding` nepotrebujete meniť ak QR kód zobrazujete v prehliadači. `image-rendering: crisp-edges` v css zabezpečí, že obrázok bude ostrý aj pri zväčšení a odsadenie je vyriešené pomocou `padding`-u v css. 73 | 74 | ## FAQ 75 | Nejde načítať QR kód v internet bankingu 76 | - Ukážkový QR kód nefunguje pre každú banku, pretože niektoré overujú existenciu IBANu (a ukážkový IBAN SK7700000000000000000000 neexistuje). Vložte svoj vlastný IBAN a vyskúšajte znova :) 77 | 78 | Nefunguje pre české účty 79 | - v Česku sa používa iná špecifikácia pay by square, teda toto riešenie je možné použiť výlučne len pre slovenské účty. 80 | 81 | ## Poďakovanie 82 | - [Ján Fečík](https://jan.fecik.sk/blog/qr-generator-platieb-pay-by-square-v-php/) za implementáciu algoritmu generovania reťazcov Pay by square v PHP, z ktorého bol tento projekt forknutý 83 | - [Alexandre Assouad (t0k4rt)](https://github.com/t0k4rt/phpqrcode) za konverziu reťazcov na QR obrázky 84 | 85 | 86 | ## Licencia 87 | GNU General Public License v3.0 88 | 89 | Pull requesty sú vítané :) 90 | 91 | Ak sa vám projekt páči, ohodnoťte ho hviezdičkou ⭐️ 92 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | php-pay-by-square 7 | 8 | 9 | 10 | 11 | 12 |

php-pay-by-square

13 |
14 |
15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
48 |
49 | 50 |
51 |
PAY by square
52 | 53 |
54 |
55 |
56 | 57 |

 58 | 
 59 | 
 60 | 
 61 |     
115 | 
116 | 


--------------------------------------------------------------------------------
/phpqrcode/qrbitstream.php:
--------------------------------------------------------------------------------
  1 | 
  9 |  *
 10 |  * PHP QR Code is distributed under LGPL 3
 11 |  * Copyright (C) 2010 Dominik Dzienia 
 12 |  *
 13 |  * This library is free software; you can redistribute it and/or
 14 |  * modify it under the terms of the GNU Lesser General Public
 15 |  * License as published by the Free Software Foundation; either
 16 |  * version 3 of the License, or any later version.
 17 |  *
 18 |  * This library is distributed in the hope that it will be useful,
 19 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 20 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 21 |  * Lesser General Public License for more details.
 22 |  *
 23 |  * You should have received a copy of the GNU Lesser General Public
 24 |  * License along with this library; if not, write to the Free Software
 25 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 26 |  */
 27 |      
 28 |     class QRbitstream {
 29 |     
 30 |         public $data = array();
 31 |         
 32 |         //----------------------------------------------------------------------
 33 |         public function size()
 34 |         {
 35 |             return count($this->data);
 36 |         }
 37 |         
 38 |         //----------------------------------------------------------------------
 39 |         public function allocate($setLength)
 40 |         {
 41 |             $this->data = array_fill(0, $setLength, 0);
 42 |             return 0;
 43 |         }
 44 |     
 45 |         //----------------------------------------------------------------------
 46 |         public static function newFromNum($bits, $num)
 47 |         {
 48 |             $bstream = new QRbitstream();
 49 |             $bstream->allocate($bits);
 50 |             
 51 |             $mask = 1 << ($bits - 1);
 52 |             for($i=0; $i<$bits; $i++) {
 53 |                 if($num & $mask) {
 54 |                     $bstream->data[$i] = 1;
 55 |                 } else {
 56 |                     $bstream->data[$i] = 0;
 57 |                 }
 58 |                 $mask = $mask >> 1;
 59 |             }
 60 | 
 61 |             return $bstream;
 62 |         }
 63 |         
 64 |         //----------------------------------------------------------------------
 65 |         public static function newFromBytes($size, $data)
 66 |         {
 67 |             $bstream = new QRbitstream();
 68 |             $bstream->allocate($size * 8);
 69 |             $p=0;
 70 | 
 71 |             for($i=0; $i<$size; $i++) {
 72 |                 $mask = 0x80;
 73 |                 for($j=0; $j<8; $j++) {
 74 |                     if($data[$i] & $mask) {
 75 |                         $bstream->data[$p] = 1;
 76 |                     } else {
 77 |                         $bstream->data[$p] = 0;
 78 |                     }
 79 |                     $p++;
 80 |                     $mask = $mask >> 1;
 81 |                 }
 82 |             }
 83 | 
 84 |             return $bstream;
 85 |         }
 86 |         
 87 |         //----------------------------------------------------------------------
 88 |         public function append(QRbitstream $arg)
 89 |         {
 90 |             if (is_null($arg)) {
 91 |                 return -1;
 92 |             }
 93 |             
 94 |             if($arg->size() == 0) {
 95 |                 return 0;
 96 |             }
 97 |             
 98 |             if($this->size() == 0) {
 99 |                 $this->data = $arg->data;
100 |                 return 0;
101 |             }
102 |             
103 |             $this->data = array_values(array_merge($this->data, $arg->data));
104 | 
105 |             return 0;
106 |         }
107 |         
108 |         //----------------------------------------------------------------------
109 |         public function appendNum($bits, $num)
110 |         {
111 |             if ($bits == 0) 
112 |                 return 0;
113 | 
114 |             $b = QRbitstream::newFromNum($bits, $num);
115 |             
116 |             if(is_null($b))
117 |                 return -1;
118 | 
119 |             $ret = $this->append($b);
120 |             unset($b);
121 | 
122 |             return $ret;
123 |         }
124 | 
125 |         //----------------------------------------------------------------------
126 |         public function appendBytes($size, $data)
127 |         {
128 |             if ($size == 0) 
129 |                 return 0;
130 | 
131 |             $b = QRbitstream::newFromBytes($size, $data);
132 |             
133 |             if(is_null($b))
134 |                 return -1;
135 | 
136 |             $ret = $this->append($b);
137 |             unset($b);
138 | 
139 |             return $ret;
140 |         }
141 |         
142 |         //----------------------------------------------------------------------
143 |         public function toByte()
144 |         {
145 |         
146 |             $size = $this->size();
147 | 
148 |             if($size == 0) {
149 |                 return array();
150 |             }
151 |             
152 |             $data = array_fill(0, (int)(($size + 7) / 8), 0);
153 |             $bytes = (int)($size / 8);
154 | 
155 |             $p = 0;
156 |             
157 |             for($i=0; $i<$bytes; $i++) {
158 |                 $v = 0;
159 |                 for($j=0; $j<8; $j++) {
160 |                     $v = $v << 1;
161 |                     $v |= $this->data[$p];
162 |                     $p++;
163 |                 }
164 |                 $data[$i] = $v;
165 |             }
166 |             
167 |             if($size & 7) {
168 |                 $v = 0;
169 |                 for($j=0; $j<($size & 7); $j++) {
170 |                     $v = $v << 1;
171 |                     $v |= $this->data[$p];
172 |                     $p++;
173 |                 }
174 |                 $data[$bytes] = $v;
175 |             }
176 | 
177 |             return $data;
178 |         }
179 | 
180 |     }
181 | 


--------------------------------------------------------------------------------
/phpqrcode/qrtools.php:
--------------------------------------------------------------------------------
  1 | 
  9 |  *
 10 |  * This library is free software; you can redistribute it and/or
 11 |  * modify it under the terms of the GNU Lesser General Public
 12 |  * License as published by the Free Software Foundation; either
 13 |  * version 3 of the License, or any later version.
 14 |  *
 15 |  * This library is distributed in the hope that it will be useful,
 16 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 17 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 18 |  * Lesser General Public License for more details.
 19 |  *
 20 |  * You should have received a copy of the GNU Lesser General Public
 21 |  * License along with this library; if not, write to the Free Software
 22 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 23 |  */
 24 | 
 25 |     class QRtools {
 26 |     
 27 |         //----------------------------------------------------------------------
 28 |         public static function binarize($frame)
 29 |         {
 30 |             $len = count($frame);
 31 |             foreach ($frame as &$frameLine) {
 32 |                 
 33 |                 for($i=0; $i<$len; $i++) {
 34 |                     $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
 35 |                 }
 36 |             }
 37 |             
 38 |             return $frame;
 39 |         }
 40 |         
 41 |         //----------------------------------------------------------------------
 42 |         public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037')
 43 |         {
 44 |             $barcode_array = array();
 45 |             
 46 |             if (!is_array($mode))
 47 |                 $mode = explode(',', $mode);
 48 |                 
 49 |             $eccLevel = 'L';
 50 |                 
 51 |             if (count($mode) > 1) {
 52 |                 $eccLevel = $mode[1];
 53 |             }
 54 |                 
 55 |             $qrTab = QRcode::text($code, false, $eccLevel);
 56 |             $size = count($qrTab);
 57 |                 
 58 |             $barcode_array['num_rows'] = $size;
 59 |             $barcode_array['num_cols'] = $size;
 60 |             $barcode_array['bcode'] = array();
 61 |                 
 62 |             foreach ($qrTab as $line) {
 63 |                 $arrAdd = array();
 64 |                 foreach(str_split($line) as $char)
 65 |                     $arrAdd[] = ($char=='1')?1:0;
 66 |                 $barcode_array['bcode'][] = $arrAdd;
 67 |             }
 68 |                     
 69 |             return $barcode_array;
 70 |         }
 71 |         
 72 |         //----------------------------------------------------------------------
 73 |         public static function clearCache()
 74 |         {
 75 |             self::$frames = array();
 76 |         }
 77 |         
 78 |         //----------------------------------------------------------------------
 79 |         public static function buildCache()
 80 |         {
 81 | 			QRtools::markTime('before_build_cache');
 82 | 			
 83 | 			$mask = new QRmask();
 84 |             for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) {
 85 |                 $frame = QRspec::newFrame($a);
 86 |                 if (QR_IMAGE) {
 87 |                     $fileName = QR_CACHE_DIR.'frame_'.$a.'.png';
 88 |                     QRimage::png(self::binarize($frame), $fileName, 1, 0);
 89 |                 }
 90 | 				
 91 | 				$width = count($frame);
 92 | 				$bitMask = array_fill(0, $width, array_fill(0, $width, 0));
 93 | 				for ($maskNo=0; $maskNo<8; $maskNo++)
 94 | 					$mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true);
 95 |             }
 96 | 			
 97 | 			QRtools::markTime('after_build_cache');
 98 |         }
 99 | 
100 |         //----------------------------------------------------------------------
101 |         public static function log($outfile, $err)
102 |         {
103 |             if (QR_LOG_DIR !== false) {
104 |                 if ($err != '') {
105 |                     if ($outfile !== false) {
106 |                         file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
107 |                     } else {
108 |                         file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
109 |                     }
110 |                 }    
111 |             }
112 |         }
113 |         
114 |         //----------------------------------------------------------------------
115 |         public static function dumpMask($frame) 
116 |         {
117 |             $width = count($frame);
118 |             for($y=0;$y<$width;$y++) {
119 |                 for($x=0;$x<$width;$x++) {
120 |                     echo ord($frame[$y][$x]).',';
121 |                 }
122 |             }
123 |         }
124 |         
125 |         //----------------------------------------------------------------------
126 |         public static function markTime($markerId)
127 |         {
128 |             list($usec, $sec) = explode(" ", microtime());
129 |             $time = ((float)$usec + (float)$sec);
130 |             
131 |             if (!isset($GLOBALS['qr_time_bench']))
132 |                 $GLOBALS['qr_time_bench'] = array();
133 |             
134 |             $GLOBALS['qr_time_bench'][$markerId] = $time;
135 |         }
136 |         
137 |         //----------------------------------------------------------------------
138 |         public static function timeBenchmark()
139 |         {
140 |             self::markTime('finish');
141 |         
142 |             $lastTime = 0;
143 |             $startTime = 0;
144 |             $p = 0;
145 | 
146 |             echo '
147 |                     
148 |                     ';
149 | 
150 |             foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) {
151 |                 if ($p > 0) {
152 |                     echo '';
153 |                 } else {
154 |                     $startTime = $thisTime;
155 |                 }
156 |                 
157 |                 $p++;
158 |                 $lastTime = $thisTime;
159 |             }
160 |             
161 |             echo '
162 |                 
163 |             
164 |             
BENCHMARK
till '.$markerId.': '.number_format($thisTime-$lastTime, 6).'s
TOTAL: '.number_format($lastTime-$startTime, 6).'s
'; 165 | } 166 | 167 | } 168 | 169 | //########################################################################## 170 | 171 | QRtools::markTime('start'); 172 | -------------------------------------------------------------------------------- /assets/card.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /phpqrcode/LICENSE: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. 166 | -------------------------------------------------------------------------------- /phpqrcode/qrrscode.php: -------------------------------------------------------------------------------- 1 | 12 | * 13 | * PHP QR Code is distributed under LGPL 3 14 | * Copyright (C) 2010 Dominik Dzienia 15 | * 16 | * This library is free software; you can redistribute it and/or 17 | * modify it under the terms of the GNU Lesser General Public 18 | * License as published by the Free Software Foundation; either 19 | * version 3 of the License, or any later version. 20 | * 21 | * This library is distributed in the hope that it will be useful, 22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 24 | * Lesser General Public License for more details. 25 | * 26 | * You should have received a copy of the GNU Lesser General Public 27 | * License along with this library; if not, write to the Free Software 28 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 29 | */ 30 | 31 | class QRrsItem { 32 | 33 | public $mm; // Bits per symbol 34 | public $nn; // Symbols per block (= (1<= $this->nn) { 49 | $x -= $this->nn; 50 | $x = ($x >> $this->mm) + ($x & $this->nn); 51 | } 52 | 53 | return $x; 54 | } 55 | 56 | //---------------------------------------------------------------------- 57 | public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) 58 | { 59 | // Common code for intializing a Reed-Solomon control block (char or int symbols) 60 | // Copyright 2004 Phil Karn, KA9Q 61 | // May be used under the terms of the GNU Lesser General Public License (LGPL) 62 | 63 | $rs = null; 64 | 65 | // Check parameter ranges 66 | if($symsize < 0 || $symsize > 8) return $rs; 67 | if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs; 68 | if($prim <= 0 || $prim >= (1<<$symsize)) return $rs; 69 | if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values! 70 | if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding 71 | 72 | $rs = new QRrsItem(); 73 | $rs->mm = $symsize; 74 | $rs->nn = (1<<$symsize)-1; 75 | $rs->pad = $pad; 76 | 77 | $rs->alpha_to = array_fill(0, $rs->nn+1, 0); 78 | $rs->index_of = array_fill(0, $rs->nn+1, 0); 79 | 80 | // PHP style macro replacement ;) 81 | $NN =& $rs->nn; 82 | $A0 =& $NN; 83 | 84 | // Generate Galois field lookup tables 85 | $rs->index_of[0] = $A0; // log(zero) = -inf 86 | $rs->alpha_to[$A0] = 0; // alpha**-inf = 0 87 | $sr = 1; 88 | 89 | for($i=0; $i<$rs->nn; $i++) { 90 | $rs->index_of[$sr] = $i; 91 | $rs->alpha_to[$i] = $sr; 92 | $sr <<= 1; 93 | if($sr & (1<<$symsize)) { 94 | $sr ^= $gfpoly; 95 | } 96 | $sr &= $rs->nn; 97 | } 98 | 99 | if($sr != 1){ 100 | // field generator polynomial is not primitive! 101 | $rs = NULL; 102 | return $rs; 103 | } 104 | 105 | /* Form RS code generator polynomial from its roots */ 106 | $rs->genpoly = array_fill(0, $nroots+1, 0); 107 | 108 | $rs->fcr = $fcr; 109 | $rs->prim = $prim; 110 | $rs->nroots = $nroots; 111 | $rs->gfpoly = $gfpoly; 112 | 113 | /* Find prim-th root of 1, used in decoding */ 114 | for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn) 115 | ; // intentional empty-body loop! 116 | 117 | $rs->iprim = (int)($iprim / $prim); 118 | $rs->genpoly[0] = 1; 119 | 120 | for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { 121 | $rs->genpoly[$i+1] = 1; 122 | 123 | // Multiply rs->genpoly[] by @**(root + x) 124 | for ($j = $i; $j > 0; $j--) { 125 | if ($rs->genpoly[$j] != 0) { 126 | $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)]; 127 | } else { 128 | $rs->genpoly[$j] = $rs->genpoly[$j-1]; 129 | } 130 | } 131 | // rs->genpoly[0] can never be zero 132 | $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)]; 133 | } 134 | 135 | // convert rs->genpoly[] to index form for quicker encoding 136 | for ($i = 0; $i <= $nroots; $i++) 137 | $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]]; 138 | 139 | return $rs; 140 | } 141 | 142 | //---------------------------------------------------------------------- 143 | public function encode_rs_char($data, &$parity) 144 | { 145 | $MM =& $this->mm; 146 | $NN =& $this->nn; 147 | $ALPHA_TO =& $this->alpha_to; 148 | $INDEX_OF =& $this->index_of; 149 | $GENPOLY =& $this->genpoly; 150 | $NROOTS =& $this->nroots; 151 | $FCR =& $this->fcr; 152 | $PRIM =& $this->prim; 153 | $IPRIM =& $this->iprim; 154 | $PAD =& $this->pad; 155 | $A0 =& $NN; 156 | 157 | $parity = array_fill(0, $NROOTS, 0); 158 | 159 | for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) { 160 | 161 | $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; 162 | if($feedback != $A0) { 163 | // feedback term is non-zero 164 | 165 | // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must 166 | // always be for the polynomials constructed by init_rs() 167 | $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback); 168 | 169 | for($j=1;$j<$NROOTS;$j++) { 170 | $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])]; 171 | } 172 | } 173 | 174 | // Shift 175 | array_shift($parity); 176 | if($feedback != $A0) { 177 | array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]); 178 | } else { 179 | array_push($parity, 0); 180 | } 181 | } 182 | } 183 | } 184 | 185 | //########################################################################## 186 | 187 | class QRrs { 188 | 189 | public static $items = array(); 190 | 191 | //---------------------------------------------------------------------- 192 | public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) 193 | { 194 | foreach(self::$items as $rs) { 195 | if($rs->pad != $pad) continue; 196 | if($rs->nroots != $nroots) continue; 197 | if($rs->mm != $symsize) continue; 198 | if($rs->gfpoly != $gfpoly) continue; 199 | if($rs->fcr != $fcr) continue; 200 | if($rs->prim != $prim) continue; 201 | 202 | return $rs; 203 | } 204 | 205 | $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); 206 | array_unshift(self::$items, $rs); 207 | 208 | return $rs; 209 | } 210 | } -------------------------------------------------------------------------------- /qr.php: -------------------------------------------------------------------------------- 1 | 'A', chr(195).chr(129) => 'A', 19 | chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', 20 | chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', 21 | chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', 22 | chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', 23 | chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', 24 | chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', 25 | chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', 26 | chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', 27 | chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', 28 | chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', 29 | chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', 30 | chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', 31 | chr(195).chr(159) => 's', chr(195).chr(160) => 'a', 32 | chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', 33 | chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', 34 | chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', 35 | chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', 36 | chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', 37 | chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', 38 | chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', 39 | chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', 40 | chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', 41 | chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', 42 | chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', 43 | chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', 44 | chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', 45 | chr(195).chr(191) => 'y', 46 | // Decompositions for Latin Extended-A 47 | chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', 48 | chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', 49 | chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', 50 | chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', 51 | chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', 52 | chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', 53 | chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', 54 | chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', 55 | chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', 56 | chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', 57 | chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', 58 | chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', 59 | chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', 60 | chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', 61 | chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', 62 | chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', 63 | chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', 64 | chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', 65 | chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', 66 | chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', 67 | chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', 68 | chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', 69 | chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', 70 | chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', 71 | chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', 72 | chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', 73 | chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', 74 | chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', 75 | chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', 76 | chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', 77 | chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', 78 | chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', 79 | chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', 80 | chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', 81 | chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', 82 | chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', 83 | chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', 84 | chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', 85 | chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', 86 | chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', 87 | chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', 88 | chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', 89 | chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', 90 | chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', 91 | chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', 92 | chr(197).chr(154) => 'S',chr(197).chr(155) => 's', 93 | chr(197).chr(156) => 'S',chr(197).chr(157) => 's', 94 | chr(197).chr(158) => 'S',chr(197).chr(159) => 's', 95 | chr(197).chr(160) => 'S', chr(197).chr(161) => 's', 96 | chr(197).chr(162) => 'T', chr(197).chr(163) => 't', 97 | chr(197).chr(164) => 'T', chr(197).chr(165) => 't', 98 | chr(197).chr(166) => 'T', chr(197).chr(167) => 't', 99 | chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', 100 | chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', 101 | chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', 102 | chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', 103 | chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', 104 | chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', 105 | chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', 106 | chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', 107 | chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', 108 | chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', 109 | chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', 110 | chr(197).chr(190) => 'z', chr(197).chr(191) => 's' 111 | ); 112 | 113 | $string = strtr($string, $chars); 114 | 115 | return $string; 116 | } 117 | 118 | 119 | $recipient = isset($_GET['recipient']) ? $_GET['recipient'] : ''; 120 | 121 | 122 | // price in format with max 2 decimal places 123 | // example 1234.56 124 | if (isset($_GET['price'])) 125 | $price = $_GET['price']; 126 | else 127 | // fail 128 | die('price is missing'); 129 | 130 | // payment note 131 | // Accents like č, š, ž, etc. are stripped 132 | if (isset($_GET['note'])) 133 | $note = strtolower(remove_accents($_GET['note'])); 134 | else 135 | $note = ''; 136 | 137 | // account number (IBAN) 138 | // example SK8011000000001234567890 139 | // no spaces 140 | // IMPORTANT - use your own account number, this example may not be working with your bank 141 | if (isset($_GET['iban'])) 142 | $iban = $_GET['iban']; 143 | else 144 | // fail 145 | die('iban is missing'); 146 | 147 | // bank identifier code (BIC / swift) 148 | // example TATRSKBX 149 | if (isset($_GET['swift'])) 150 | $swift = $_GET['swift']; 151 | else 152 | // fail 153 | die('swift is missing'); 154 | 155 | // todays date in format yyyymmdd 156 | // example 20170101 157 | $date = date('Ymd'); 158 | 159 | // variable symbol 160 | // max 10 digits 161 | // numbers only 162 | // example 1234567890 163 | if (isset($_GET['vs'])) 164 | $vs = $_GET['vs']; 165 | else 166 | $vs = ''; 167 | 168 | // constant symbol 169 | // max 4 digits 170 | // numbers only 171 | // example 1234 172 | if (isset($_GET['cs'])) 173 | $ks = $_GET['cs']; 174 | else 175 | $ks = ''; 176 | 177 | // specific symbol 178 | // max 10 digits 179 | // numbers only 180 | // example 1234567890 181 | if (isset($_GET['ss'])) 182 | $ss = $_GET['ss']; 183 | else 184 | $ss = ''; 185 | 186 | 187 | // pixelsize input 188 | // 1-50 (default 1) 189 | if (isset($_GET['pixelsize'])) 190 | $pixelsize = $_GET['pixelsize']; 191 | else 192 | $pixelsize = 1; 193 | 194 | // validate pixelsize 195 | // check if numeric 196 | if (!is_numeric($pixelsize)) 197 | $pixelsize = 1; 198 | else if ($pixelsize < 1) 199 | $pixelsize = 1; 200 | else if ($pixelsize > 50) 201 | $pixelsize = 50; 202 | 203 | // pixelpadding input 204 | // 0-50 (default 0) 205 | if (isset($_GET['pixelpadding'])) 206 | $pixelpadding = $_GET['pixelpadding']; 207 | else 208 | $pixelpadding = 0; 209 | 210 | // validate pixelpadding 211 | if (!is_numeric($pixelpadding)) 212 | $pixelpadding = 0; 213 | else if ($pixelpadding < 0) 214 | $pixelpadding = 0; 215 | else if ($pixelpadding > 50) 216 | $pixelpadding = 50; 217 | 218 | 219 | 220 | // TODO: validate input 221 | 222 | 223 | 224 | 225 | /*************************************************************************************** 226 | * Title: QR GENERÁTOR PLATIEB PAY BY SQUARE V PHP 227 | * Author: Ján Fečík 228 | * Code version: 2016-12-04 229 | * Availability: https://jan.fecik.sk/blog/qr-generator-platieb-pay-by-square-v-php/ 230 | ***************************************************************************************/ 231 | $d = implode("\t", array( 232 | 0 => '', 233 | 1 => '1', 234 | 2 => implode("\t", array( 235 | true, 236 | $price, // SUMA 237 | 'EUR', // JEDNOTKA 238 | $date, // DATUM 239 | $vs, // VARIABILNY SYMBOL 240 | $ks, // KONSTANTNY SYMBOL 241 | $ss, // SPECIFICKY SYMBOL 242 | '', 243 | $note, // POZNAMKA 244 | '1', 245 | $iban, // IBAN 246 | $swift, // SWIFT 247 | '0', 248 | '0', 249 | $recipient 250 | )) 251 | )); 252 | $d = strrev(hash("crc32b", $d, TRUE)) . $d; 253 | $x = proc_open("/usr/bin/xz '--format=raw' '--lzma1=lc=3,lp=0,pb=2,dict=128KiB' '-c' '-'", [0 => ["pipe", "r"], 1 => ["pipe", "w"]], $p); 254 | fwrite($p[0], $d); 255 | fclose($p[0]); 256 | $o = stream_get_contents($p[1]); 257 | fclose($p[1]); 258 | proc_close($x); 259 | $d = bin2hex("\x00\x00" . pack("v", strlen($d)) . $o); 260 | $b = ""; 261 | for ($i = 0;$i < strlen($d);$i++) { 262 | $b .= str_pad(base_convert($d[$i], 16, 2), 4, "0", STR_PAD_LEFT); 263 | } 264 | $l = strlen($b); 265 | $r = $l % 5; 266 | if ($r > 0) { 267 | $p = 5 - $r; 268 | $b .= str_repeat("0", $p); 269 | $l += $p; 270 | } 271 | $l = $l / 5; 272 | $d = str_repeat("_", $l); 273 | for ($i = 0;$i < $l;$i += 1) { 274 | $d[$i] = "0123456789ABCDEFGHIJKLMNOPQRSTUV"[bindec(substr($b, $i * 5, 5))]; 275 | } 276 | 277 | 278 | 279 | 280 | /*************************************************************************************** 281 | * Title: PHP QR Code encoder 282 | * Author: Alexandre Assouad (t0k4rt) 283 | * Code version: 2021-09-27 284 | * Availability: https://github.com/t0k4rt/phpqrcode 285 | ***************************************************************************************/ 286 | include('phpqrcode/qrlib.php'); 287 | QRcode::png($d, false, QR_ECLEVEL_L, $pixelsize, $pixelpadding); -------------------------------------------------------------------------------- /phpqrcode/qrsplit.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * PHP QR Code is distributed under LGPL 3 11 | * Copyright (C) 2010 Dominik Dzienia 12 | * 13 | * The following data / specifications are taken from 14 | * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) 15 | * or 16 | * "Automatic identification and data capture techniques -- 17 | * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) 18 | * 19 | * This library is free software; you can redistribute it and/or 20 | * modify it under the terms of the GNU Lesser General Public 21 | * License as published by the Free Software Foundation; either 22 | * version 3 of the License, or any later version. 23 | * 24 | * This library is distributed in the hope that it will be useful, 25 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 27 | * Lesser General Public License for more details. 28 | * 29 | * You should have received a copy of the GNU Lesser General Public 30 | * License along with this library; if not, write to the Free Software 31 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | */ 33 | class QRsplit { 34 | 35 | public $dataStr = ''; 36 | public $input; 37 | public $modeHint; 38 | 39 | //---------------------------------------------------------------------- 40 | public function __construct($dataStr, $input, $modeHint) 41 | { 42 | $this->dataStr = $dataStr; 43 | $this->input = $input; 44 | $this->modeHint = $modeHint; 45 | } 46 | 47 | //---------------------------------------------------------------------- 48 | public static function isdigitat($str, $pos) 49 | { 50 | if ($pos >= strlen($str)) 51 | return false; 52 | 53 | return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); 54 | } 55 | 56 | //---------------------------------------------------------------------- 57 | public static function isalnumat($str, $pos) 58 | { 59 | if ($pos >= strlen($str)) 60 | return false; 61 | 62 | return (QRinput::lookAnTable(ord($str[$pos])) >= 0); 63 | } 64 | 65 | //---------------------------------------------------------------------- 66 | public function identifyMode($pos) 67 | { 68 | if ($pos >= strlen($this->dataStr)) 69 | return QR_MODE_NUL; 70 | 71 | $c = $this->dataStr[$pos]; 72 | 73 | if(self::isdigitat($this->dataStr, $pos)) { 74 | return QR_MODE_NUM; 75 | } else if(self::isalnumat($this->dataStr, $pos)) { 76 | return QR_MODE_AN; 77 | } else if($this->modeHint == QR_MODE_KANJI) { 78 | 79 | if ($pos+1 < strlen($this->dataStr)) 80 | { 81 | $d = $this->dataStr[$pos+1]; 82 | $word = (ord($c) << 8) | ord($d); 83 | if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) { 84 | return QR_MODE_KANJI; 85 | } 86 | } 87 | } 88 | 89 | return QR_MODE_8; 90 | } 91 | 92 | //---------------------------------------------------------------------- 93 | public function eatNum() 94 | { 95 | $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); 96 | 97 | $p = 0; 98 | while(self::isdigitat($this->dataStr, $p)) { 99 | $p++; 100 | } 101 | 102 | $run = $p; 103 | $mode = $this->identifyMode($p); 104 | 105 | if($mode == QR_MODE_8) { 106 | $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln 107 | + QRinput::estimateBitsMode8(1) // + 4 + l8 108 | - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 109 | if($dif > 0) { 110 | return $this->eat8(); 111 | } 112 | } 113 | if($mode == QR_MODE_AN) { 114 | $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln 115 | + QRinput::estimateBitsModeAn(1) // + 4 + la 116 | - QRinput::estimateBitsModeAn($run + 1);// - 4 - la 117 | if($dif > 0) { 118 | return $this->eatAn(); 119 | } 120 | } 121 | 122 | $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr)); 123 | if($ret < 0) 124 | return -1; 125 | 126 | return $run; 127 | } 128 | 129 | //---------------------------------------------------------------------- 130 | public function eatAn() 131 | { 132 | $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); 133 | $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); 134 | 135 | $p = 0; 136 | 137 | while(self::isalnumat($this->dataStr, $p)) { 138 | if(self::isdigitat($this->dataStr, $p)) { 139 | $q = $p; 140 | while(self::isdigitat($this->dataStr, $q)) { 141 | $q++; 142 | } 143 | 144 | $dif = QRinput::estimateBitsModeAn($p) // + 4 + la 145 | + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln 146 | - QRinput::estimateBitsModeAn($q); // - 4 - la 147 | 148 | if($dif < 0) { 149 | break; 150 | } else { 151 | $p = $q; 152 | } 153 | } else { 154 | $p++; 155 | } 156 | } 157 | 158 | $run = $p; 159 | 160 | if(!self::isalnumat($this->dataStr, $p)) { 161 | $dif = QRinput::estimateBitsModeAn($run) + 4 + $la 162 | + QRinput::estimateBitsMode8(1) // + 4 + l8 163 | - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 164 | if($dif > 0) { 165 | return $this->eat8(); 166 | } 167 | } 168 | 169 | $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr)); 170 | if($ret < 0) 171 | return -1; 172 | 173 | return $run; 174 | } 175 | 176 | //---------------------------------------------------------------------- 177 | public function eatKanji() 178 | { 179 | $p = 0; 180 | 181 | while($this->identifyMode($p) == QR_MODE_KANJI) { 182 | $p += 2; 183 | } 184 | 185 | $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr)); 186 | if($ret < 0) 187 | return -1; 188 | 189 | return $run; 190 | } 191 | 192 | //---------------------------------------------------------------------- 193 | public function eat8() 194 | { 195 | $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); 196 | $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); 197 | 198 | $p = 1; 199 | $dataStrLen = strlen($this->dataStr); 200 | 201 | while($p < $dataStrLen) { 202 | 203 | $mode = $this->identifyMode($p); 204 | if($mode == QR_MODE_KANJI) { 205 | break; 206 | } 207 | if($mode == QR_MODE_NUM) { 208 | $q = $p; 209 | while(self::isdigitat($this->dataStr, $q)) { 210 | $q++; 211 | } 212 | $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 213 | + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln 214 | - QRinput::estimateBitsMode8($q); // - 4 - l8 215 | if($dif < 0) { 216 | break; 217 | } else { 218 | $p = $q; 219 | } 220 | } else if($mode == QR_MODE_AN) { 221 | $q = $p; 222 | while(self::isalnumat($this->dataStr, $q)) { 223 | $q++; 224 | } 225 | $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 226 | + QRinput::estimateBitsModeAn($q - $p) + 4 + $la 227 | - QRinput::estimateBitsMode8($q); // - 4 - l8 228 | if($dif < 0) { 229 | break; 230 | } else { 231 | $p = $q; 232 | } 233 | } else { 234 | $p++; 235 | } 236 | } 237 | 238 | $run = $p; 239 | $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr)); 240 | 241 | if($ret < 0) 242 | return -1; 243 | 244 | return $run; 245 | } 246 | 247 | //---------------------------------------------------------------------- 248 | public function splitString() 249 | { 250 | while (strlen($this->dataStr) > 0) 251 | { 252 | if($this->dataStr == '') 253 | return 0; 254 | 255 | $mode = $this->identifyMode(0); 256 | 257 | switch ($mode) { 258 | case QR_MODE_NUM: $length = $this->eatNum(); break; 259 | case QR_MODE_AN: $length = $this->eatAn(); break; 260 | case QR_MODE_KANJI: 261 | if ($hint == QR_MODE_KANJI) 262 | $length = $this->eatKanji(); 263 | else $length = $this->eat8(); 264 | break; 265 | default: $length = $this->eat8(); break; 266 | 267 | } 268 | 269 | if($length == 0) return 0; 270 | if($length < 0) return -1; 271 | 272 | $this->dataStr = substr($this->dataStr, $length); 273 | } 274 | } 275 | 276 | //---------------------------------------------------------------------- 277 | public function toUpper() 278 | { 279 | $stringLen = strlen($this->dataStr); 280 | $p = 0; 281 | 282 | while ($p<$stringLen) { 283 | $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint); 284 | if($mode == QR_MODE_KANJI) { 285 | $p += 2; 286 | } else { 287 | if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) { 288 | $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); 289 | } 290 | $p++; 291 | } 292 | } 293 | 294 | return $this->dataStr; 295 | } 296 | 297 | //---------------------------------------------------------------------- 298 | public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true) 299 | { 300 | if(is_null($string) || $string == '\0' || $string == '') { 301 | throw new Exception('empty string!!!'); 302 | } 303 | 304 | $split = new QRsplit($string, $input, $modeHint); 305 | 306 | if(!$casesensitive) 307 | $split->toUpper(); 308 | 309 | return $split->splitString(); 310 | } 311 | } -------------------------------------------------------------------------------- /phpqrcode/qrmask.php: -------------------------------------------------------------------------------- 1 | 9 | * 10 | * PHP QR Code is distributed under LGPL 3 11 | * Copyright (C) 2010 Dominik Dzienia 12 | * 13 | * This library is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 3 of the License, or any later version. 17 | * 18 | * This library is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with this library; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | define('N1', 3); 29 | define('N2', 3); 30 | define('N3', 40); 31 | define('N4', 10); 32 | 33 | class QRmask { 34 | 35 | public $runLength = array(); 36 | 37 | //---------------------------------------------------------------------- 38 | public function __construct() 39 | { 40 | $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); 41 | } 42 | 43 | //---------------------------------------------------------------------- 44 | public function writeFormatInformation($width, &$frame, $mask, $level) 45 | { 46 | $blacks = 0; 47 | $format = QRspec::getFormatInfo($mask, $level); 48 | 49 | for($i=0; $i<8; $i++) { 50 | if($format & 1) { 51 | $blacks += 2; 52 | $v = 0x85; 53 | } else { 54 | $v = 0x84; 55 | } 56 | 57 | $frame[8][$width - 1 - $i] = chr($v); 58 | if($i < 6) { 59 | $frame[$i][8] = chr($v); 60 | } else { 61 | $frame[$i + 1][8] = chr($v); 62 | } 63 | $format = $format >> 1; 64 | } 65 | 66 | for($i=0; $i<7; $i++) { 67 | if($format & 1) { 68 | $blacks += 2; 69 | $v = 0x85; 70 | } else { 71 | $v = 0x84; 72 | } 73 | 74 | $frame[$width - 7 + $i][8] = chr($v); 75 | if($i == 0) { 76 | $frame[8][7] = chr($v); 77 | } else { 78 | $frame[8][6 - $i] = chr($v); 79 | } 80 | 81 | $format = $format >> 1; 82 | } 83 | 84 | return $blacks; 85 | } 86 | 87 | //---------------------------------------------------------------------- 88 | public function mask0($x, $y) { return ($x+$y)&1; } 89 | public function mask1($x, $y) { return ($y&1); } 90 | public function mask2($x, $y) { return ($x%3); } 91 | public function mask3($x, $y) { return ($x+$y)%3; } 92 | public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; } 93 | public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; } 94 | public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; } 95 | public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; } 96 | 97 | //---------------------------------------------------------------------- 98 | private function generateMaskNo($maskNo, $width, $frame) 99 | { 100 | $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); 101 | 102 | for($y=0; $y<$width; $y++) { 103 | for($x=0; $x<$width; $x++) { 104 | if(ord($frame[$y][$x]) & 0x80) { 105 | $bitMask[$y][$x] = 0; 106 | } else { 107 | $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); 108 | $bitMask[$y][$x] = ($maskFunc == 0)?1:0; 109 | } 110 | 111 | } 112 | } 113 | 114 | return $bitMask; 115 | } 116 | 117 | //---------------------------------------------------------------------- 118 | public static function serial($bitFrame) 119 | { 120 | $codeArr = array(); 121 | 122 | foreach ($bitFrame as $line) 123 | $codeArr[] = join('', $line); 124 | 125 | return gzcompress(join("\n", $codeArr), 9); 126 | } 127 | 128 | //---------------------------------------------------------------------- 129 | public static function unserial($code) 130 | { 131 | $codeArr = array(); 132 | 133 | $codeLines = explode("\n", gzuncompress($code)); 134 | foreach ($codeLines as $line) 135 | $codeArr[] = str_split($line); 136 | 137 | return $codeArr; 138 | } 139 | 140 | //---------------------------------------------------------------------- 141 | public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false) 142 | { 143 | $b = 0; 144 | $bitMask = array(); 145 | 146 | $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat'; 147 | 148 | if (QR_CACHEABLE) { 149 | if (file_exists($fileName)) { 150 | $bitMask = self::unserial(file_get_contents($fileName)); 151 | } else { 152 | $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); 153 | if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo)) 154 | mkdir(QR_CACHE_DIR.'mask_'.$maskNo); 155 | file_put_contents($fileName, self::serial($bitMask)); 156 | } 157 | } else { 158 | $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); 159 | } 160 | 161 | if ($maskGenOnly) 162 | return; 163 | 164 | $d = $s; 165 | 166 | for($y=0; $y<$width; $y++) { 167 | for($x=0; $x<$width; $x++) { 168 | if($bitMask[$y][$x] == 1) { 169 | $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); 170 | } 171 | $b += (int)(ord($d[$y][$x]) & 1); 172 | } 173 | } 174 | 175 | return $b; 176 | } 177 | 178 | //---------------------------------------------------------------------- 179 | public function makeMask($width, $frame, $maskNo, $level) 180 | { 181 | $masked = array_fill(0, $width, str_repeat("\0", $width)); 182 | $this->makeMaskNo($maskNo, $width, $frame, $masked); 183 | $this->writeFormatInformation($width, $masked, $maskNo, $level); 184 | 185 | return $masked; 186 | } 187 | 188 | //---------------------------------------------------------------------- 189 | public function calcN1N3($length) 190 | { 191 | $demerit = 0; 192 | 193 | for($i=0; $i<$length; $i++) { 194 | 195 | if($this->runLength[$i] >= 5) { 196 | $demerit += (N1 + ($this->runLength[$i] - 5)); 197 | } 198 | if($i & 1) { 199 | if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) { 200 | $fact = (int)($this->runLength[$i] / 3); 201 | if(($this->runLength[$i-2] == $fact) && 202 | ($this->runLength[$i-1] == $fact) && 203 | ($this->runLength[$i+1] == $fact) && 204 | ($this->runLength[$i+2] == $fact)) { 205 | if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) { 206 | $demerit += N3; 207 | } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) { 208 | $demerit += N3; 209 | } 210 | } 211 | } 212 | } 213 | } 214 | return $demerit; 215 | } 216 | 217 | //---------------------------------------------------------------------- 218 | public function evaluateSymbol($width, $frame) 219 | { 220 | $head = 0; 221 | $demerit = 0; 222 | 223 | for($y=0; $y<$width; $y++) { 224 | $head = 0; 225 | $this->runLength[0] = 1; 226 | 227 | $frameY = $frame[$y]; 228 | 229 | if ($y>0) 230 | $frameYM = $frame[$y-1]; 231 | 232 | for($x=0; $x<$width; $x++) { 233 | if(($x > 0) && ($y > 0)) { 234 | $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); 235 | $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); 236 | 237 | if(($b22 | ($w22 ^ 1))&1) { 238 | $demerit += N2; 239 | } 240 | } 241 | if(($x == 0) && (ord($frameY[$x]) & 1)) { 242 | $this->runLength[0] = -1; 243 | $head = 1; 244 | $this->runLength[$head] = 1; 245 | } else if($x > 0) { 246 | if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { 247 | $head++; 248 | $this->runLength[$head] = 1; 249 | } else { 250 | $this->runLength[$head]++; 251 | } 252 | } 253 | } 254 | 255 | $demerit += $this->calcN1N3($head+1); 256 | } 257 | 258 | for($x=0; $x<$width; $x++) { 259 | $head = 0; 260 | $this->runLength[0] = 1; 261 | 262 | for($y=0; $y<$width; $y++) { 263 | if($y == 0 && (ord($frame[$y][$x]) & 1)) { 264 | $this->runLength[0] = -1; 265 | $head = 1; 266 | $this->runLength[$head] = 1; 267 | } else if($y > 0) { 268 | if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { 269 | $head++; 270 | $this->runLength[$head] = 1; 271 | } else { 272 | $this->runLength[$head]++; 273 | } 274 | } 275 | } 276 | 277 | $demerit += $this->calcN1N3($head+1); 278 | } 279 | 280 | return $demerit; 281 | } 282 | 283 | 284 | //---------------------------------------------------------------------- 285 | public function mask($width, $frame, $level) 286 | { 287 | $minDemerit = PHP_INT_MAX; 288 | $bestMaskNum = 0; 289 | $bestMask = array(); 290 | 291 | $checked_masks = array(0,1,2,3,4,5,6,7); 292 | 293 | if (QR_FIND_FROM_RANDOM !== false) { 294 | 295 | $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9); 296 | for ($i = 0; $i < $howManuOut; $i++) { 297 | $remPos = rand (0, count($checked_masks)-1); 298 | unset($checked_masks[$remPos]); 299 | $checked_masks = array_values($checked_masks); 300 | } 301 | 302 | } 303 | 304 | $bestMask = $frame; 305 | 306 | foreach($checked_masks as $i) { 307 | $mask = array_fill(0, $width, str_repeat("\0", $width)); 308 | 309 | $demerit = 0; 310 | $blacks = 0; 311 | $blacks = $this->makeMaskNo($i, $width, $frame, $mask); 312 | $blacks += $this->writeFormatInformation($width, $mask, $i, $level); 313 | $blacks = (int)(100 * $blacks / ($width * $width)); 314 | $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); 315 | $demerit += $this->evaluateSymbol($width, $mask); 316 | 317 | if($demerit < $minDemerit) { 318 | $minDemerit = $demerit; 319 | $bestMask = $mask; 320 | $bestMaskNum = $i; 321 | } 322 | } 323 | 324 | return $bestMask; 325 | } 326 | 327 | //---------------------------------------------------------------------- 328 | } 329 | --------------------------------------------------------------------------------