Beispiel #1
0
 public function getHeader()
 {
     ob_start();
     $my_url = $this->page_url;
     ?>
     <!DOCTYPE html>
     <html>
     <?php 
     echo "<head>";
     echo "<title>COREPOS</title>";
     // 18Aug12 EL Add content/charset.
     echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
     echo "<link rel=\"stylesheet\" type=\"text/css\"\n            href=\"{$my_url}css/pos.css\">";
     if (MiscLib::win32()) {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}js/jquery-1.8.3.min.js\"></script>";
     } else {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}js/jquery.js\"></script>";
     }
     $this->paycard_jscript_functions();
     $this->head_content();
     echo "</head>";
     echo '<body class="' . $this->body_class . '">';
     echo "<div id=\"boundingBox\">";
     $this->input_header($this->action);
     return ob_get_clean();
 }
Beispiel #2
0
 function print_page()
 {
     $my_url = $this->page_url;
     ?>
     <!DOCTYPE html>
     <html>
     <?php 
     echo "<head>";
     // 18Aug12 EL Add content/charset.
     echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
     echo "<link rel=\"stylesheet\" type=\"text/css\"\n            href=\"{$my_url}css/pos.css\">";
     // include store css file if it exists
     if (file_exists(dirname(__FILE__) . '/../store.css')) {
         echo "<link rel=\"stylesheet\" type=\"text/css\"\n                href=\"{$my_url}/store.css\">";
     }
     if (MiscLib::win32()) {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}/js/jquery-1.8.3.min.js\"></script>";
     } else {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}/js/jquery.js\"></script>";
     }
     $this->head_content();
     echo "</head>";
     echo '<body class="' . $this->body_class . '">';
     echo "<div id=\"boundingBox\">";
     $this->noinput_header();
     echo DisplayLib::printheaderb();
     $this->body_content();
     echo "<div id=\"footer\">";
     echo DisplayLib::printfooter();
     echo "</div>";
     echo "</div>";
     $this->scale_box();
     $this->scanner_scale_polling(false);
     if (!empty($this->onload_commands)) {
         echo "\n<script type=\"text/javascript\">\n";
         echo "\$(document).ready(function(){\n";
         echo $this->onload_commands;
         echo "});\n";
         echo "</script>\n";
     }
     // 18Aug12 EL Moved after ready-script.
     echo "</body>\n";
     print "</html>";
 }
Beispiel #3
0
 public function testMiscLib()
 {
     chdir(dirname(__FILE__) . '/../../pos/is4c-nf/gui-modules/');
     $rel = MiscLib::baseURL();
     $this->assertEquals('../', $rel);
     $this->assertEquals(1, MiscLib::nullwrap(1));
     $this->assertEquals(1.5, MiscLib::nullwrap(1.5));
     $this->assertEquals('test', MiscLib::nullwrap('test'));
     $this->assertEquals(0, MiscLib::nullwrap(False));
     $this->assertEquals(1, MiscLib::truncate2(1));
     $this->assertEquals(1.99, MiscLib::truncate2(1.99));
     $this->assertEquals(1.99, MiscLib::truncate2("1.99"));
     $this->assertEquals(1.35, MiscLib::truncate2("1.345"));
     $hostCheck = MiscLib::pingport(CoreLocal::get('localhost'), CoreLocal::get('DBMS'));
     $this->assertInternalType('integer', $hostCheck);
     $hostCheck = MiscLib::win32();
     $this->assertInternalType('integer', $hostCheck);
     $scale = MiscLib::scaleObject();
     if ($scale !== 0) {
         $this->assertInstanceOf('ScaleDriverWrapper', $scale);
     }
 }
Beispiel #4
0
 /**
 Send a curl request with the specified data.
 @param $data string of data
 @param $type 'GET', 'POST', or 'SOAP'
 @param $xml True or False
 @param $extraOpts array of curl options and values
 @param $auto_handle [boolean]
    true => call handleResponse method automatically
    false => just return curl result
 @return integer error code
 
 The url should be specified in $this->GATEWAY.
 SOAP requests should aso set $this->$SOAPACTION.
 
 Data is usually a string of XML or an HTTP
 argument like key1=val1&key2=val2...
 Setting xml to True adds an content-type header
 
 This function calls the handleResponse method
 and returns the result of that call.
 */
 function curlSend($data = False, $type = 'POST', $xml = False, $extraOpts = array(), $auto_handle = true)
 {
     if ($data && $type == 'GET') {
         $this->GATEWAY .= $data;
     }
     $curl_handle = curl_init($this->GATEWAY);
     curl_setopt($curl_handle, CURLOPT_HEADER, 0);
     curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 15);
     curl_setopt($curl_handle, CURLOPT_FAILONERROR, false);
     curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, false);
     curl_setopt($curl_handle, CURLOPT_FRESH_CONNECT, true);
     curl_setopt($curl_handle, CURLOPT_TIMEOUT, 30);
     curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, 0);
     if (MiscLib::win32()) {
         curl_setopt($curl_handle, CURLOPT_CAINFO, LOCAL_CERT_PATH);
     }
     if ($type == 'SOAP') {
         $headers = array();
         if (!empty($this->SOAPACTION)) {
             $headers[] = "SOAPAction: " . $this->SOAPACTION;
         }
         $headers[] = "Content-type: text/xml";
         curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $headers);
     } else {
         if ($xml) {
             curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array("Content-type: text/xml"));
         }
     }
     foreach ($extraOpts as $opt => $value) {
         curl_setopt($curl_handle, $opt, $value);
     }
     if ($data && ($type == 'POST' || $type == 'SOAP')) {
         curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $data);
     }
     set_time_limit(60);
     $response = curl_exec($curl_handle);
     // request sent; get rid of PAN info
     $this->setPAN(array());
     if ($type == "SOAP") {
         $response = str_replace("&lt;", "<", $response);
         $response = str_replace("&gt;", ">", $response);
     }
     $funcReturn = array('curlErr' => curl_errno($curl_handle), 'curlErrText' => curl_error($curl_handle), 'curlTime' => curl_getinfo($curl_handle, CURLINFO_TOTAL_TIME), 'curlHTTP' => curl_getinfo($curl_handle, CURLINFO_HTTP_CODE), 'response' => $response);
     curl_close($curl_handle);
     if ($auto_handle) {
         return $this->handleResponse($funcReturn);
     } else {
         return $funcReturn;
     }
 }
Beispiel #5
0
 /**
   Load sample data into the table
   @param $sql [SQLManager object] connected to database
   @param $table [string] table name
   @param $quiet [boolean, default false] suppress output
   @return [boolean] success
 */
 public static function loadSampleData($sql, $table, $quiet = false)
 {
     $success = true;
     $loaded = 0;
     ob_start();
     echo "Loading `{$table}` ";
     if (file_exists(dirname(__FILE__) . "/data/{$table}.sql")) {
         echo "from data/{$table}.sql<br>\n";
         $fp = fopen(dirname(__FILE__) . "/data/{$table}.sql", "r");
         while ($line = fgets($fp)) {
             $query = "INSERT INTO {$table} VALUES {$line}";
             $try = $sql->query("INSERT INTO {$table} VALUES {$line}");
             if ($try === false) {
                 $error = $sql->error();
                 $success = false;
                 echo "<br><small style='color:red;'>" . (strlen($error) ? $error : 'Unknown error') . " executing:<br><code>{$query}</code></small><br>\n";
             } else {
                 if (++$loaded % 50 === 0) {
                     echo "<br>\n";
                     flush();
                 }
                 echo ".";
             }
         }
         fclose($fp);
         echo ($success ? ' success!' : "<br>\n'{$table}' load " . ($loaded ? 'partial success;' : 'failed;')) . " {$loaded} " . ($loaded == 1 ? 'record was' : 'records were') . " loaded.<br>\n";
     } else {
         if (file_exists(dirname(__FILE__) . "/data/{$table}.csv")) {
             echo "from data/{$table}.csv ";
             $LOCAL = 'LOCAL';
             if (CoreLocal::get('localhost') == '127.0.0.1' || CoreLocal::get('localhost') == 'localhost') {
                 $LOCAL = '';
             }
             $path = realpath(dirname(__FILE__) . "/data/{$table}.csv");
             /**
               Handle symlinks on windows by checking if the first line
               of the file contains the name of another CSV file.
             */
             if (MiscLib::win32()) {
                 $fp = fopen($path, 'r');
                 $first_line = trim(fgets($fp));
                 if (substr($first_line, -4) == '.csv') {
                     $path = realpath(substr($first_line, 3));
                     if (!file_exists($path)) {
                         if (!$quiet) {
                             echo 'File not found: ' . $path . '<br />';
                             echo ob_end_clean();
                         }
                         return false;
                     }
                 }
                 fclose($fp);
                 $path = str_replace('\\', '/', $path);
             }
             $query = "LOAD DATA {$LOCAL} INFILE\n                    '{$path}'\n                    INTO TABLE {$table}\n                    FIELDS TERMINATED BY ','\n                    ESCAPED BY '\\\\'\n                    OPTIONALLY ENCLOSED BY '\"'\n                    LINES TERMINATED BY '\\r\\n'";
             $prep = $sql->prepare_statement($query);
             $try = $sql->exec_statement($prep);
             if ($try === false) {
                 $error = $sql->error();
                 echo "<br><span style='color:red;'>" . (strlen($error) ? $error : 'Unknown error') . " executing:<br><code>{$query}</code><br></span><br>\n";
             }
             /** alternate implementation
                 for non-mysql and/or LOAD DATA LOCAL
                 not allowed */
             if ($try !== false) {
                 echo "succeeded!<br>\n";
             } else {
                 echo "line-by-line<br>\n";
                 $fp = fopen($path, 'r');
                 $stmt = false;
                 while (!feof($fp)) {
                     $line = fgetcsv($fp);
                     if (!is_array($line)) {
                         continue;
                     }
                     if ($stmt === false) {
                         $query = 'INSERT INTO ' . $table . ' VALUES (';
                         foreach ($line as $field) {
                             $query .= '?,';
                         }
                         $query = substr($query, 0, strlen($query) - 1) . ')';
                         $stmt = $sql->prepare_statement($query);
                         if ($stmt === false) {
                             $error = $sql->error();
                             $success = false;
                             echo "<br><span style='color:red;'>" . (strlen($error) ? $error : 'Unknown error') . " preparing:<br><code>{$query}</code></span><br>\n";
                             break;
                         }
                     }
                     $try = $sql->exec_statement($stmt, $line);
                     if ($try === false) {
                         $error = $sql->error();
                         $success = false;
                         echo "<br><span style='color:red;'>" . (strlen($error) ? $error : 'Unknown error') . " executing:<br><code>{$query}</code><br>(" . "'" . join("', '", $line) . "')" . ' [' . count($line) . ' operands]' . "</span><br>\n";
                     } else {
                         if (++$loaded % 100 === 0) {
                             echo "<br>\n";
                             flush();
                         }
                         echo ".";
                     }
                 }
                 fclose($fp);
                 echo ($success ? ' success!' : "<br>\n'{$table}' load " . ($loaded ? 'partial success;' : 'failed;')) . " {$loaded} " . ($loaded == 1 ? 'record was' : 'records were') . " loaded.<br>\n";
             }
         } else {
             echo "<br><span style='color:red;'>Table data not found in either {$table}.sql or {$table}.csv</span><br>\n";
         }
     }
     $verbose = ob_get_clean();
     if (!$quiet) {
         echo $verbose;
     }
     return $success;
 }
Beispiel #6
0
 public function getHeader()
 {
     $my_url = $this->page_url;
     ob_start();
     ?>
     <!DOCTYPE html>
     <html>
     <?php 
     echo "<head>";
     echo "<title>COREPOS</title>";
     $charset = CoreLocal::get('CoreCharSet') === '' ? 'utf-8' : CoreLocal::get('CoreCharSet');
     // 18Aug12 EL Add content/charset.
     echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset={$charset}\" />\n";
     echo "<link rel=\"stylesheet\" type=\"text/css\"\n            href=\"{$my_url}/css/pos.css\">";
     // include store css file if it exists
     if (file_exists(dirname(__FILE__) . '/../css/store.css')) {
         echo "<link rel=\"stylesheet\" type=\"text/css\"\n                href=\"{$my_url}/css/store.css\">";
     }
     if (MiscLib::win32()) {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}/js/jquery-1.8.3.min.js\"></script>";
     } else {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}/js/jquery.js\"></script>";
     }
     $this->head_content();
     echo "</head>";
     echo '<body class="' . $this->body_class . '">';
     echo "<div id=\"boundingBox\">";
     return ob_get_clean();
 }
Beispiel #7
0
 /**
   Print HTML output
   @return None
 
   Print the page. This version includes the scale
   weight display as well as the head and body
   content from those methods. Javascript commands
   that have been requested via add_onload_command
   are all run on page load.
 */
 function print_page()
 {
     $my_url = $this->page_url;
     ?>
     <!DOCTYPE html>
     <html>
     <?php 
     echo "<head>";
     echo "<title>COREPOS</title>";
     $charset = CoreLocal::get('CoreCharSet') === '' ? 'utf-8' : CoreLocal::get('CoreCharSet');
     // 18Aug12 EL Add content/charset.
     echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset={$charset}\" />\n";
     echo "<link rel=\"stylesheet\" type=\"text/css\"\n            href=\"{$my_url}/css/pos.css\">";
     // include store css file if it exists
     if (file_exists(dirname(__FILE__) . '/../css/store.css')) {
         echo "<link rel=\"stylesheet\" type=\"text/css\"\n                href=\"{$my_url}/css/store.css\">";
     }
     if (MiscLib::win32()) {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}/js/jquery-1.8.3.min.js\"></script>";
     } else {
         echo "<script type=\"text/javascript\"\n                src=\"{$my_url}/js/jquery.js\"></script>";
     }
     $this->head_content();
     echo "</head>";
     echo '<body class="' . $this->body_class . '">';
     echo "<div id=\"boundingBox\">";
     $this->body_content();
     echo "</div>";
     $this->scale_box();
     $this->scanner_scale_polling();
     // body_content populates onload_commands
     if (!empty($this->onload_commands)) {
         echo "\n<script type=\"text/javascript\">\n";
         echo "\$(document).ready(function(){\n";
         echo $this->onload_commands;
         echo "});\n";
         echo "</script>\n";
     }
     // 18Aug12 EL Moved after ready-script.
     echo "</body>\n";
     echo "</html>";
 }