MOON
Server: Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 PHP/5.4.10
System: Linux vps.presagepowered.net 2.6.18-398.el5 #1 SMP Tue Sep 16 20:51:48 EDT 2014 i686
User: mckernan (512)
PHP: 5.4.10
Disabled: NONE
Upload Files
File: /home/mckernan/public_html/iJournal/includes/file/createclient.inc.php
<?php
ini_set('memory_limit', '5120M');
set_time_limit ( 0 );
/***************************************************************************
*                             sql_parse.php
*                              -------------------
*     begin                : Thu May 31, 2001
*     copyright            : (C) 2001 The phpBB Group
*     email                : support@phpbb.com
*
*     $Id: sql_parse.php,v 1.8 2002/03/18 23:53:12 psotfx Exp $
*
****************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

/***************************************************************************
*
*   These functions are mainly for use in the db_utilities under the admin
*   however in order to make these functions available elsewhere, specifically
*   in the installation phase of phpBB I have seperated out a couple of
*   functions into this file.  JLH
*
\***************************************************************************/

//
// remove_comments will strip the sql comment lines out of an uploaded sql file
// specifically for mssql and postgres type files in the install....
//
function remove_comments(&$output)
{
   $lines = explode("\n", $output);
   $output = "";

   // try to keep mem. use down
   $linecount = count($lines);

   $in_comment = false;
   for($i = 0; $i < $linecount; $i++)
   {
      if( preg_match("/^\/\*/", preg_quote($lines[$i])) )
      {
         $in_comment = true;
      }

      if( !$in_comment )
      {
         $output .= $lines[$i] . "\n";
      }

      if( preg_match("/\*\/$/", preg_quote($lines[$i])) )
      {
         $in_comment = false;
      }
   }

   unset($lines);
   return $output;
}

//
// remove_remarks will strip the sql comment lines out of an uploaded sql file
//
function remove_remarks($sql)
{
   $lines = explode("\n", $sql);

   // try to keep mem. use down
   $sql = "";

   $linecount = count($lines);
   $output = "";

   for ($i = 0; $i < $linecount; $i++)
   {
      if (($i != ($linecount - 1)) || (strlen($lines[$i]) > 0))
      {
         if (isset($lines[$i][0]) && $lines[$i][0] != "#")
         {
            $output .= $lines[$i] . "\n";
         }
         else
         {
            $output .= "\n";
         }
         // Trading a bit of speed for lower mem. use here.
         $lines[$i] = "";
      }
   }

   return $output;

}

//
// split_sql_file will split an uploaded sql file into single sql statements.
// Note: expects trim() to have already been run on $sql.
//
function split_sql_file($sql, $delimiter)
{
   // Split up our string into "possible" SQL statements.
   $tokens = explode($delimiter, $sql);

   // try to save mem.
   $sql = "";
   $output = array();

   // we don't actually care about the matches preg gives us.
   $matches = array();

   // this is faster than calling count($oktens) every time thru the loop.
   $token_count = count($tokens);
   for ($i = 0; $i < $token_count; $i++)
   {
      // Don't wanna add an empty string as the last thing in the array.
      if (($i != ($token_count - 1)) || (strlen($tokens[$i] > 0)))
      {
         // This is the total number of single quotes in the token.
         $total_quotes = preg_match_all("/'/", $tokens[$i], $matches);
         // Counts single quotes that are preceded by an odd number of backslashes,
         // which means they're escaped quotes.
         $escaped_quotes = preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/", $tokens[$i], $matches);

         $unescaped_quotes = $total_quotes - $escaped_quotes;

         // If the number of unescaped quotes is even, then the delimiter did NOT occur inside a string literal.
         if (($unescaped_quotes % 2) == 0)
         {
            // It's a complete sql statement.
            $output[] = $tokens[$i];
            // save memory.
            $tokens[$i] = "";
         }
         else
         {
            // incomplete sql statement. keep adding tokens until we have a complete one.
            // $temp will hold what we have so far.
            $temp = $tokens[$i] . $delimiter;
            // save memory..
            $tokens[$i] = "";

            // Do we have a complete statement yet?
            $complete_stmt = false;

            for ($j = $i + 1; (!$complete_stmt && ($j < $token_count)); $j++)
            {
               // This is the total number of single quotes in the token.
               $total_quotes = preg_match_all("/'/", $tokens[$j], $matches);
               // Counts single quotes that are preceded by an odd number of backslashes,
               // which means they're escaped quotes.
               $escaped_quotes = preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/", $tokens[$j], $matches);

               $unescaped_quotes = $total_quotes - $escaped_quotes;

               if (($unescaped_quotes % 2) == 1)
               {
                  // odd number of unescaped quotes. In combination with the previous incomplete
                  // statement(s), we now have a complete statement. (2 odds always make an even)
                  $output[] = $temp . $tokens[$j];

                  // save memory.
                  $tokens[$j] = "";
                  $temp = "";

                  // exit the loop.
                  $complete_stmt = true;
                  // make sure the outer loop continues at the right point.
                  $i = $j;
               }
               else
               {
                  // even number of unescaped quotes. We still don't have a complete statement.
                  // (1 odd and 1 even always make an odd)
                  $temp .= $tokens[$j] . $delimiter;
                  // save memory.
                  $tokens[$j] = "";
               }

            } // for..
         } // else
      }
   }

   return $output;
}

$host = 'localhost';
$user = 'mckernan_ijournl';
$pass = '6lLeTO9VNRrgvr3OSpcb';
$dbnew = DB_PREFIX . $sysname;



mysql_connect($host,$user,$pass) or die('error connection');

$dbms_schema = includePath() . 'file/ijnlschema.sql';

$sql_query = fread(fopen($dbms_schema, 'r'), filesize($dbms_schema)) or die('problem ');
$sql_query = remove_remarks($sql_query);
$sql_query = split_sql_file($sql_query, ';');

mysql_select_db($dbnew) or die('error database selection');

$i=1;
foreach($sql_query as $sql)
{
    mysql_query($sql) or die('error in query: ' . $sql);
}

if ($industry == 0 || $industry == 2)
{
    $gross = 'Gross Sales';
    $hascogs = 1;
    $cogs = 'Merchandise Purchased';
}
elseif ($industry == 1)
{
    $gross = 'Gross Receipts';
    $hascogs = 1;
    $cogs = 'Material Purchased';
}
else
{
    $gross = 'Gross Receipts';
    $hascogs = 0;
    $cogs = '';
}

if ($entity < 2)
{
    $la0 = 'Wages - Employee';
    $la1 = 'Taxes - Employment';
    $la2 = 'Sub-Contactors ';
    $la3 = '';
}
else
{
    $la0 = 'Wages - Officer';
    $la1 = 'Wages - Employee';
    $la2 = 'Taxes - Employment';
    $la3 = 'Sub-Contactors ';
}

if ($entity == 2 || $entity == 3)
{
    $salute = 'To the shareholders & management';
}
else
{
    $salute = 'To the ownership & management';
}

// setup client table
$query = "INSERT INTO client (cli_type, cli_sortname, cli_filename, cli_salute) VALUES (" . $entity . ", '" . $sortname . "', '" . 
          $sysname . "', '" . $salute . "')";

mysql_query($query);


// setup default categories
$query = "INSERT INTO `categories` (`in_gross`, `in_hascogs`, `in_cogs`, `in_0`, `in_1`, `in_2`, `in_3`, `oh_0`, `oh_1`, `oh_2`, `oh_3`, 
         `oh_4`, `oh_5`, `oh_6`, `oh_7`, `oh_8`, `la_0`, `la_1`, `la_2`, `la_3`, `la_4`, `la_5`, `la_6`, `la_7`, `op_0`, `op_1`, `op_2`, 
         `op_3`, `op_4`, `op_5`, `op_6`, `op_7`, `op_8`, `op_9`, `op_10`, `op_11`, `op_12`, `op_13`, `op_14`, `op_15`, `op_16`, `op_17`, 
         `op_18`, `op_19`) VALUES
         ('" . $gross . "', " . $hascogs . ", '" . $cogs . "', NULL, NULL, NULL, NULL, 'Insurance', 'Interest Expense', 
         'Office Supplies / Expenses', 'Repairs & Maintenance', 'Telephone & Utilities', NULL, NULL, NULL, NULL, 
         '" . $la0 . "', '" . $la1 . "', '" . $la2 . "', '" . $la3 . "', NULL, NULL, NULL, NULL, 
         'Advertising & Promotion', 'Auto / Truck / Equip Expense', 'Entertainment', 'Professional Services', 'Shop Expense / Small Tools', 
         'Supplies', 'Taxes - Business', 'Permits & Fees', 'Licenses', 'Miscellaneous', 'Contributions', 'Travel Expenses', NULL, NULL, NULL, 
         NULL, NULL, NULL, NULL, NULL)";

mysql_query($query);



?>