PHP Classes

File: config.inc.php

Recommend this page to a friend!
  Classes of Mark de Leon   PHP Document Scanner using SANE or eSCL AirPrint   config.inc.php   Download  
File: config.inc.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: PHP Document Scanner using SANE or eSCL AirPrint
Web interface to scan printed documents
Author: By
Last change:
Date: 4 years ago
Size: 22,858 bytes
 

Contents

Class file image Download
<?php // NO BLANK LINES IN THIS FILE // this config file is for both the web GUI and The AirScan/eSCL server interface to the scanner. Some items affect both such as $root, $defaultresolution, etc include_once 'lang.php'; // some server options. These may depend on your server configuration //path from admin or default scans folder to webroot (full linux path from root) //you should now configuure the following in scans/index.php aund usertemplate/index.php BEFORE creating users // with trailing slash //full linux path from systemroot to webroot for this installation WITH TRAILING SLASH / // set this and $webroot in php pagestart to the same for now $root='/var/www/html/'; // set hostnname below for Bonjour advertising the s400w scanner only to make it AirScan/eSCL compatible //if your local suffix is not .local, change below $local='.local'; $hostname=gethostname().$local; // no trailing . // Serial Number If more than one instance of this software on network set a different Serial number here $serialnumber='AirScan01234567890'; //If more than one instance of this software on network set a different UUID here. $uuid='574E4333-4A34-3438-3736-84A93E4FA59A'; //name for php session //this was moved to phppagestart.php //$sessionname='airscan'; // niceness is for making PDFs with "nice" command otherwise CPU goes to 100% // set niceness value here $niceness=19; // $pamauth set to 'yes' means NO FILE MANAGER (filelister) and no text based auth $pamauth='yes'; // this set of options, are interface options whichdetermine which options show on the scan ansd filelister pages //if using the free version , leave all at no //$demomode for use without scanner and for use as the demo on our domain // Leave at no $demomode='no'; //default page title change if you like. When printing from scan interface is overwritten by file name. $pagetitle='AirScan; Ion AirCopy, Halo Magic Scanner, Mustek IscanAir, Century CPS-A4WF'; // if this is the free version set to yes // Free version support is being eliminated as of Version 10 LEAVE AT NO $freeversion='no'; // if using logins the default redirect should go to /login.php. If not should go to /airscan.php // this redirects index.php only so when tyou load http://localhost or http://IPADDRESS it takes you to the right place $defaultredirecturl='/login.php'; //sound played at auto logout $soundfile='jetson5.wav'; // Jetsons car sound // $soundfile='jetsndb.wav'; //"here's geroge jetson" dorbell sound // or use your own file in webroot and change the name here. // show filemaneger links. You do not NEED to have a file manager . //PAM users may mount their folders on their local machine //You can always share the folder where the scanned files are saved via smb or NFS // all files saved automatically once scanned $showfilemanager='yes'; //whether or not tips are shown n various pages $showtips='yes'; //filelister image previews and modals // The max width for images in filelister list affects css // also affects (fixed) size of PDFs in filelister. Chrome may not display all options (rotate, download & print) if set to under 500 // vh/vw , % or px $filelistmaxwidth='500px'; // The max height for images in filelister list affects css // vh/vw , % or px $filelistmaxheight='500px'; // affects CSS filelister if not 'auto' images may distort $filelistwidth='auto'; // affects CSS filelister if not 'auto' images may distort $filelistheight='auto'; // the following are similar to above but when image is clicked in filelister $filelistzoommaxwidth='90vw'; $filelistzoommaxheight='90vh'; $filelistzoomwidth='auto'; $filelistzoomheight='auto'; // PDF zoom in file lister (featherlight) $filelistzoompdfmaxwidth='89vw'; $filelistzoompdfmaxheight='90vh'; $filelistzoompdfwidth='89vw'; $filelistzoompdfheight='90vh'; //scan page modals only // like the group above but on scan page (image on scan page is fixed in size, sorry) $scanzoommaxwidth='90vw'; $scanzoommaxheight='90vh'; $scanzoomwidth='auto'; $scanzoomheight='auto'; //rename and delete previews and modals. // like the group above but on rename and delete pages for image on page and zoomed image $fileopmaxwidth='500px'; $fileopmaxheight='500px'; $fileopwidth='auto'; $fileopheight='auto'; $fileopzoommaxwidth='90vw'; $fileopzoommaxheight='90vh'; $fileopzoomwidth='auto'; $fileopzoomheight='auto'; //Crop dialog max box size in pixels $boxwidth=800; $boxheight=800; // set to yes toshow PDFs //NOT USED IN THIS VERSION LEAVE AT NO $showpdfmanager='no'; //NOT USED IN THIS VERSION LEAVE AT NO $showpdf='no'; // the following affect only what appears on scan page. More settings realted to what appears on scan page in imagemagick settings //default image on scan page $defaultimage='/images/scan.jpg'; // show multi page pdfoptions - leaveat yes for now $showmppdf='yes'; // vertical distance between group[ed items on scan page Line-height $scangrouplineheight='250%'; //tweak for Scan and DPI selection speacing $dpilineheight='90%'; $dpiverticalalign='65%'; $scanbuttonverticalalign='-100%'; //$scangrouplineheightcolordpi='200%'; //this affects Line spacing between scan mode color/grayscale/lineart & DPI // just fine tunes the layout //$modemultiplier='0.70'; // line height $scangrouplineheight x $modemultiplier in % in css //This affects the height of the scan 'mode' text // just fine tunes the layout //$modeheight='1'; //affects CSS in % // because we adjust the 'mode' text. //$dpiheight='1.0'; //affects CSS in % // Show Copy-print function before scan? // leave at no for free version $showprint='yes'; //show copy-print scaling function before scan? // leave at no for free version $showprintscale='yes'; //show delete on scan page after scan? $showdeleteafterscan='yes'; $showrenameafterscan='yes'; //show copy-print and scaling functions after scan on scan page? //Above print and scale options must be activated // leave at no for free version $showprintafterscan='yes'; //show resolution selection? 600 DPI may not be supported on older firmware. // if set to "no" then all scanning done at $defaultresolution set below // setting to "no" will result in $defaultresolution always displayed in interface, but not allow it to be changed $showresolution='yes'; //default resolution can be 300 or 600 only . changes radio button . Leave at 300 for scanners with firmware that do not support 600DPI $defaultresolution='300'; // Default width and height adjustments which show in scan page // see also printscaletrim functions below. The trim function does the same without changing the 100% default in the interface. $widthadj='100'; //100 means 1 to 1 or 100% $heightadj='100'; //default print setting that shows in scan page. If set to 'yes' it will initiate a print job // on completed scan on devices that support printing unless changed in GUI when scanning. $defaultprint='no'; // If authentication is required to access scanner for multiple users // use no for free version // as of version 9 you must now enable/disble text auth and/or PAM auth in phppagestart.php $requireauth='yes'; //admin interface options: //set here whether you want confirmation to login as a user from the admin panel // setting to 'yes' will display additional page that it will logout admin and login as user $confirmuserlogin='yes'; // whether in admin panel there is an option to copy user files to admin // this is copy TO NOT FROM admin $showcopytoadmin='yes'; // whether in admin panel there is an option to copy user files to admin // NOT YET READY ,DO NOT USE! LEAVE AT NO! $showcopyfromadmin='no'; //for when admin is looking at users files in modals (PAM Users only) files // vh/vw , % or px // jpg/gif/png //$adminfilelistzoommaxwidth='70vw'; //$adminfilelistzoommaxheight='87vh'; //$adminfilelistzoomwidth='auto'; //$adminfilelistzoomheight='auto'; //$adminfilelistzoomwidth='auto'; //$adminfilelistzoomheight='auto'; //pdf //$adminfilelistzoompdfmaxwidth='70vw'; //$adminfilelistzoompdfmaxheight='89vh'; //$adminfilelistzoompdfwidth='auto'; //$adminfilelistzoompdfheight='auto'; //Tiff CURRENTLY UNUSED //$adminfilelistzoomtifmaxwidth='70vw'; //$adminfilelistzoomtifmaxheight='87vh'; //$adminfilelistzoomtifwidth='auto'; //$adminfilelistzoomtifheight='auto'; // jpg/gif/png $adminfilelistzoommaxwidth='90vw'; $adminfilelistzoommaxheight='90vh'; //$adminfilelistzoomwidth='80vw'; //$adminfilelistzoomheight='87vh'; $adminfilelistzoomwidth='auto'; $adminfilelistzoomheight='auto'; //pdf $adminfilelistzoompdfmaxwidth='89vw'; $adminfilelistzoompdfmaxheight='90vh'; $adminfilelistzoompdfwidth='89vw'; $adminfilelistzoompdfheight='90vh'; //Tiff CURRENTLY UNUSED $adminfilelistzoomtifmaxwidth='87vw'; $adminfilelistzoomtifmaxheight='87vh'; $adminfilelistzoomtifwidth='auto'; $adminfilelistzoomtifheight='auto'; // end interface options // login Session options //amount of initial ;ogin session time in minutes before login expires // additional time is added as pages loaded based on rules below //if ($logintineout * 60) is less than $addtime initial login time will be ($logintimeout *60) + $addtime $logintimeout=45; // this is minutes , if less than $addtime/60 total session time at login will be $logintimeout + $buytime/60 min // $logintimeout=1; // this is minutes , if less than $addtime/60 total session time at login will be $logintimeout + $buytime/60 min // the remining session time (or less) at which a page refresh adds additional time (as indicated with $buytime below) // $addtime=1; //600 = 10 min $addtime=1200; // $addtime above, or less , session will be extended this amount when scan , file // lister or admin page is loaded or a file operation performed // at $addtime or less the amount of time here will be added when page is loaded $buytime=400; //seconds // $buytime=30; // show login time and "Extend Time" link $showlogintime='yes'; // time between checking login expiration when shown on page with Showlogintime='yes' $loginjsrefresh=60000;//60000 = 1 minute in ms // displays in, cm or both in file manager; // also set in lang.php for multi page pdf creation $filemanagerunits='both'; //$filemanagerunits='cm'; //$filemanagerunits='in'; //where available use php commands over shell_exec commands //if you have issues renaming or deleting you can try to change this // option yes uses php commands, option no uses shell_exec //leave at no for v10+ $preferphpcommands='no'; //scanner and general config //Scanner selector, one or the other depending on scanner, not both //$scanner='SANE'; //$scanner='eSCL'; // Leave as-is for now soon new options coming $scanner='s400w'; //Start Options for s400w //if your host IP and port are different, set them below // this is IP and port of scanner once wifi connection is made $host='192.168.18.33'; $port='23'; // full path and filename of s400w $s400w='/var/www/html/s400w'; //to establish the frequency at which the scanner is pinged to determine conecctivity "the scanner is connected" // this seems to be the optomal setting as seting much lower may seem to cause problems // may interact with other embedded settings. best not to change. $ping=4000; //miliseconds //this is the frequency that the scanner will be queried , once online to see if it has a page inserted "Page inserted, // ready to scan", once the ping determines it it online. You need not wait for this update interval you can scan without //the interface recognizing there is a page inserted, so you can set it high if you like // this seems to be the optimal setting as seting much lower may seem to cause problems // may interact with other embedded settings. best not to change. $refresh =8000; //6000 miliseconds 6 seconds // this is the delay while scanning(spinning disc). // In some cases this needs to be set higher when using autocrop or scanning with BW or Lineart options // as the file needs to be completely written before reading by imagemagick' $scanrefresh='1'; // no longer used as originally used. Leave here //This is the delay while doing an image processing feature like autocropping, rotating, or making BW image (spinning disc). // In some cases this needs to be set higher when using autocrop or scanning with BW or Lineart options // as the file needs to be completely written before reading by imagemagick' $autocroprefresh='1';// no longer used as originally used. Leave here // refresh when deletng or renaming // "user deleted..." or "file deleted" message time affected $deleterefresh='1';// no longer used as originally used. Leave here // this determins the amount of time for a page refresh when taking you back to login page, or the amout of time that // "goodbye" or "invalid password", or "timed out" is displayed before login page in some cases $loginrefresh=1; //code is in flux and evolving! added below variable that determines "goodbye..." message, specifically for auto-logout //goodbye message displayed here when logged out automatically. Needs time to play sound file at auto logout $logoutrefresh=3; // leave at 3 for sound to play //when enabled shows scan command text results at scan time. with escl clients connecting to s400w, //produces files of received exml in eSCL/Scans. // s400w scanner only saves debug files in /eSCL/Scans and on screen display while scanning $scandebug='yes'; // end s400w scanner config // Start uptions for SANE Scanner $sanename='test:0'; //Use scanimage -L to get this //activate up to three resolutions that are compatible with your scanner for SANE ONLY $sane72dpi='no'; $sane75dpi='no'; $sane100dpi='no'; $sane150dpi='no'; $sane200dpi='no'; $sane300dpi='yes'; $sane600dpi='yes'; $sane900dpi='yes'; $sane1200dpi='yes'; $sane2400dpi='no'; $sane3600dpi='no'; $sane4800dpi='no'; // end SANE scanner options //Start Options for eSCL Scanner // use only IPv4 , no ip v6 set to yes otherwise no for ip v6 and v4 $esclipv4only='no'; $esclipoverride=''; // put a fixed IP here if you have more than one eSCL Scanner on your network. // put the port here if you have more than one eSCL Scanner on your network. // use avahi-browse -t -r _uscan._tcp in linux to get the port $esclportoverride=''; //if setting manual IP port above yo can set name here. //This only affects what shows in interface but should not be blank if using fixed IP : Port above $escltypeoverride=''; // path (if required) and name of python executable $pythoncmd = 'python'; //$pythoncmd = 'python2'; //$pythoncmd = 'python3'; // if you have more than one escl scanner on the network you can set the IP address of the one you want here // this overrides Bonjour / Avahi discovery //uncomment the line below and set IP address //$ipoverride= '192.168.1.22'; // end options for eSCL scanner //imagemagick options the following apply only to paid version with imagemagic installed. //path and filename to "convert" or "magick" newer versions apparently use "magick" $imagemagicklocation='/usr/bin/convert'; // is imnagemagick installed? This enables autocrop // leave at no for free version // $imagemagick='yes'; // Version 10 and Up leave at 'yes' as this option in the process of being removed. Imagemagick now required. $imagemagick='yes'; // below are options for imagemagick on scan page only //default scan mode 'color', 'bw'for grascale or 'lineart' // must have $showcolorselect='yes' // if free version or no imagemagick installed, use 'color' //$defaultmode='bw'; // $defaultmode='lineart'; $defaultmode='color'; //Show color/gray/B&W options on scan page before scan // note must also have imagemagic installed and configured in order to show and use, $imagemagick='yes' // leave at no for free version $showcolorselect='yes'; // show deskew option on scan page $showdeskew='yes'; //Show Auto-crop options on scan page before scan // note must also have imagemagic installed and configured below in order to show and use // leave at no for free version $showautocrop='yes'; // deskew/autocrop now a single setting $showdeskewautocrop='yes'; //show rotate and flip functions after scan? // this is for scan pageonly // leave at no for free version $showrotateflip='yes'; //IMAGEMAGICK SETTING FOR AUTOCROP purely numeric without "%" $fuzz='70'; //threshold for lineart conversions . in % without '%' $threshold='65'; $defaultdeskew='no'; //autocrop is default? Changes radio button - yes or no $defaultautocrop='no'; // convert to webp options // $webpquality=50; $webplossless='true'; //end imagemagick options //File options //fileprefix //moved to lang.php // $fileprefix='Scan'; // path where files are stored for scanning app when no logins are used. // File paths with logins are stored in users files. // is also used for initial creation of individual users/ // and is recommended if you will be viewing scans via http . otherwise you need another method like SMB or NFS to View scans // TRAILING SLASH REQUITED! NOTE this is default location which means ALL scans if no authentication or admin path for authentication // It also means base path for users // DO NOT CHANGE IN V 8.X, as it may break things. // do not forget permissions // moved to phppagestart.php //$filepath='scans/'; //user config files, not scans // no trailing slash here //Moved to phppagestart.php //$usersfiles='users'; // $usersfiles='./users'; // below you can set a web based filemanager you need to conform file locations for the PHPscan and your file manager // can specify a file with a button //$filemanagerbutton='<form action="filemanager"><input style="height: 36px; background-image: url(images/btn_files.png); background-repeat: no-repeat; background-position: left; padding-left: 36px;"type="submit" name="" value="'.$filestxt.'"></form>'; //can be a simple link //obsolete $filemanagerbutton='<p><center><a href="scans"><span style="color:#777AFF; font-weight:bold">'.$filestxt.'</span></a></center></p>'; //end file options // copy-print & PDF functions . These settings in no way affect the scan , only copy/print and make PDF functions, only in paid version // not used // server side Printing (currently testing with PDFs only) // define your CUPS printer name below // $cupsprinter='Xerox_Phaser-6125'; // not used //For additional Server side printing options //we consider accommodating the software located here: //https://wkhtmltopdf.org/ //https://wkhtmltopdf.org/downloads.html // $wkhtmltopdf='/usr/local/bin/wkhtmltopdf'; //default page size USE ONLY > A4', 'letter', 'legal', 'AB', 'ISOB5' or 'JISB5' CASE SENSITIVE //does NOT APPLY to s400w scanner so keave at default $defaultscansize='letter'; // This is a width trim adjustment so you can get 100% page coverage width (or as close as your browser & printer allow) // on page witdth while leaving the normal user width at 100% // some of these scanners seem to resize the image slighty horizontally or vertically or both, and this is where to compensate for that. // you can scan a business card with print enabled and print scale at 100% to see if it prints at the same size. // DO NOT USE A FULL SIZE SHEET FOR THIS TEST. If Horz or vert is different, adjust it here. // be advised that Chromium adds borders while Firefox does not from my experience // '1' means 1:1(no adjustment), .99 means 99%, 1.1 means 110% or enlarge 10%. This is a multiplier value. $printscaletrimw='1'; // This is a height trim adjustment so you can get 100% page coverage height (or as close as your browser & printer allow) // on page height while leaving the normal user height at 100% // some of these scanners seem to resize the image slighty horizontally or vertically or both, and this is where to compensate for that. // you can scan a business card with print enabled and print scale at 100% to see if it prints at the same size. // DO NOT USE A FULL SIZE SHEET FOR THIS TEST. If Horz or vert is different, adjust it here. // be advised that Chromium adds borders while Firefox does not from my experience // '1' means 1:1(no adjustment), .99 means 99%, 1.1 means 110% or enlarge 10%. This is a multiplier value. $printscaletrimh='1'; //This sets the page size used in the css and for pdf creation //USE ONLY 'A4', 'letter', 'legal', 'AB', 'ISOB5' or 'JISB5'- CASE SENSITIVE! $printsize='letter'; //page orientation must be portrait or landscape for css //Since the scanner scans only at portrait mode this setting should be portrait $orientation='portrait'; // page margin , varies by printer. If image is cut off on end of page set higher // it seems some versions of Chromium browser and possibly others will always add a page Margin. // Firefox seems to not add its own margin // leave in cm to be sure // if you change this you need to change to edit the overrides below. They are not calculated $margin='0.66cm'; //padding for printing, probably '0' $padding='0'; //US Letter and Legal //for these settings set based on page in Portrait mode Height is the longest side of the page width is the shortest side of page // This is a page width override for US Legal, and US Letter in inches, where margins specified above // are ignored and set to '0' if image is larger than this value //this ensures that a full size sheet turns margins off // Letter and Legal Width override $letterlegalwidthoverride='8.24'; // This is a page heightoverride for US Letter in inches, where margins specified above are ignored // and set to '0' if image is slightly larger than this value // this ensures that a full size sheet turns margins off // letter height override $letterheightoverride='10.74'; // This is a page height override for US Letter in inches, where margins specified above are ignored // and set to '0' if image is slightly larger than this value // this ensures that a full size sheet turns margins off // legal height override $legalheightoverride='13.74'; // A4 // This is a page width override IN INCHES, for A4 where margins specified above are ignored and set to '0' // and set to '0' if image is slightly larger than this value //this ensures that a full size sheet turns margins off // A4 width override $a4widthoverride='8.01'; // This is a page width override IN INCHES, for A4 where margins specified above are ignored and set to '0' // and set to '0' if image is slightly larger than this value // this ensures that a full size sheet turns margins off //A4 height override $a4heightoverride='11.43'; $jisb5widthoverride='6.905'; $jisb5heightoverride='9.858'; $isob5widthoverride='6.67'; $isob5heightoverride='9.58'; // AB 210 x 257 mm 8.27 x 10.12 (Japan) $abwidthoverride='8.01'; $abheightoverride='9.32'; // important 2.54 cm = 1 inch, in case you had forgotten. // end copy-print functions // options below are not fully implemented // below is to enable escl/airscan scanning (includng linux escl) $allowescl='yes'; //for escl scanning clients if no, all files deleted immediately , if yes, all saved $saveallesclfiles='no'; $escllang='es'; ?>