Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f7ab65a15 | ||
|
|
c69607323a | ||
|
|
13a7900bd6 | ||
|
|
dc94fa1cd5 | ||
|
|
fd191877cd | ||
|
|
65a5785ce5 | ||
|
|
adcfaf5fa0 |
@@ -86,6 +86,18 @@
|
|||||||
$status = $basic->db_exec("INSERT INTO foo (test) values ('BAR 1 ".time()."'), ('BAR 2 ".time()."'), ('BAR 3 ".time()."') RETURNING foo_id, test");
|
$status = $basic->db_exec("INSERT INTO foo (test) values ('BAR 1 ".time()."'), ('BAR 2 ".time()."'), ('BAR 3 ".time()."') RETURNING foo_id, test");
|
||||||
print "DIRECT MULTIPLE INSERT STATUS: $status | PRIMARY KEYS: ".print_r($basic->insert_id, 1)." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
|
print "DIRECT MULTIPLE INSERT STATUS: $status | PRIMARY KEYS: ".print_r($basic->insert_id, 1)." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
|
||||||
|
|
||||||
|
# db write class test
|
||||||
|
$table = 'foo';
|
||||||
|
$primary_key = ''; # unset
|
||||||
|
$db_write_table = array ('test');
|
||||||
|
$object_fields_not_touch = array ();
|
||||||
|
$object_fields_not_update = array ();
|
||||||
|
$data = array ('test' => 'SOMETHING '.time());
|
||||||
|
$primary_key = $basic->db_write_data_ext($db_write_table, $primary_key, $table, $object_fields_not_touch, $object_fields_not_update, $data);
|
||||||
|
print "Wrote to DB tabel $table and got primary key $primary_key<br>";
|
||||||
|
$data = array ('test' => '');
|
||||||
|
$primary_key = $basic->db_write_data_ext($db_write_table, $primary_key, $table, $object_fields_not_touch, $object_fields_not_update, $data);
|
||||||
|
print "Wrote to DB tabel $table and got primary key $primary_key<br>";
|
||||||
|
|
||||||
# async test queries
|
# async test queries
|
||||||
/* $basic->db_exec_async("SELECT test FROM foo, (SELECT pg_sleep(10)) as sub WHERE foo_id IN (27, 50, 67, 44, 10)");
|
/* $basic->db_exec_async("SELECT test FROM foo, (SELECT pg_sleep(10)) as sub WHERE foo_id IN (27, 50, 67, 44, 10)");
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
* GenAssocArray -> generactes a new associativ array from an existing array
|
* GenAssocArray -> generactes a new associativ array from an existing array
|
||||||
* CheckDate -> checks if a date is valid
|
* CheckDate -> checks if a date is valid
|
||||||
* CompareDate -> compares two dates. -1 if the first is smaller, 0 if they are equal, 1 if the first is bigger
|
* CompareDate -> compares two dates. -1 if the first is smaller, 0 if they are equal, 1 if the first is bigger
|
||||||
|
* CompareDateTime -> compares two dates with time. -1 if the first is smaller, 0 if they are equal, 1 if the first is bigger
|
||||||
* _crc32b -> behaves like the hash("crc32b") in php < 5.2.8. this function will flip the hash like it was (wrong)
|
* _crc32b -> behaves like the hash("crc32b") in php < 5.2.8. this function will flip the hash like it was (wrong)
|
||||||
* before if a new php version is found
|
* before if a new php version is found
|
||||||
* crypt* -> encrypt and decrypt login string data, used by Login class
|
* crypt* -> encrypt and decrypt login string data, used by Login class
|
||||||
@@ -312,7 +313,7 @@
|
|||||||
if (!session_id())
|
if (!session_id())
|
||||||
{
|
{
|
||||||
// check if we have an external session name given, else skip this step
|
// check if we have an external session name given, else skip this step
|
||||||
if (SET_SESSION_NAME)
|
if (isset($GLOBALS['SET_SESSION_NAME']))
|
||||||
{
|
{
|
||||||
// set the session name for possible later check
|
// set the session name for possible later check
|
||||||
$this->session_name = SET_SESSION_NAME;
|
$this->session_name = SET_SESSION_NAME;
|
||||||
@@ -1274,6 +1275,25 @@
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// METHOD: CompareDateTime
|
||||||
|
// PARAMS: start_datetime, end_datetime (both YYYY-MM-DD HH:mm:ss)
|
||||||
|
// RETURN: -1 if the first date is smaller the last, 0 if both are equal, 1 if the end date is bigger than the last
|
||||||
|
// DESC : compares the two dates + times. if seconds missing in one set, add :00, converts / to -
|
||||||
|
public static function CompareDateTime($start_datetime, $end_datetime)
|
||||||
|
{
|
||||||
|
// pre check for empty or wrong
|
||||||
|
if ($start_date == '--' || $end_date == '--' || !$start_date || !$end_date)
|
||||||
|
return FALSE;
|
||||||
|
$start_timestamp = strtotime($start_datetime);
|
||||||
|
$end_timestamp = strtotime($end_datetime);
|
||||||
|
if ($start_timestamp < $end_timestamp)
|
||||||
|
return -1;
|
||||||
|
if ($start_timestamp == $end_timestamp)
|
||||||
|
return 0;
|
||||||
|
if ($start_timestamp > $end_timestamp)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// METHOD: ArrayToString
|
// METHOD: ArrayToString
|
||||||
// PARAMS: array, connect char
|
// PARAMS: array, connect char
|
||||||
// RETRUN: string
|
// RETRUN: string
|
||||||
|
|||||||
@@ -1530,7 +1530,8 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
|
|||||||
// failed to get insert id
|
// failed to get insert id
|
||||||
$this->insert_id = '';
|
$this->insert_id = '';
|
||||||
$this->warning_id = 33;
|
$this->warning_id = 33;
|
||||||
$this->_db_error('db', '<span style="color: orange;"><b>DB-Warning</b> '.$stm_name.': insert id returned no data</span>', 'DB_WARNING');
|
$this->_db_error();
|
||||||
|
$this->_db_debug('db', '<span style="color: orange;"><b>DB-Warning</b> '.$stm_name.': insert id returned no data</span>', 'DB_WARNING');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// this error handling is only for pgsql
|
// this error handling is only for pgsql
|
||||||
@@ -1666,7 +1667,13 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
|
|||||||
// DESC: writes into one table based on array of table columns
|
// DESC: writes into one table based on array of table columns
|
||||||
public function db_write_data($write_array, $not_write_array, $primary_key, $table, $data = array ())
|
public function db_write_data($write_array, $not_write_array, $primary_key, $table, $data = array ())
|
||||||
{
|
{
|
||||||
$not_write_upodate_array = array ();
|
if (!is_array($write_array))
|
||||||
|
$write_array = array ();
|
||||||
|
if (!is_array($not_write_array))
|
||||||
|
$not_write_array = array ();
|
||||||
|
if (is_array($table))
|
||||||
|
return false;
|
||||||
|
$not_write_update_array = array ();
|
||||||
return $this->db_write_data_ext($write_array, $primary_key, $table, $not_write_array, $not_write_update_array, $data);
|
return $this->db_write_data_ext($write_array, $primary_key, $table, $not_write_array, $not_write_update_array, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1690,7 +1697,9 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
|
|||||||
'value' => $primary_key
|
'value' => $primary_key
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
// var set for strings
|
||||||
|
$q_sub_value = '';
|
||||||
|
$q_sub_data = '';
|
||||||
// get the table layout and row types
|
// get the table layout and row types
|
||||||
$table_data = $this->db_show_table_meta_data(($this->db_schema ? $this->db_schema.'.' : '').$table);
|
$table_data = $this->db_show_table_meta_data(($this->db_schema ? $this->db_schema.'.' : '').$table);
|
||||||
foreach ($write_array as $field)
|
foreach ($write_array as $field)
|
||||||
@@ -1701,8 +1710,10 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
|
|||||||
$_data = (count($data) >= 1) ? $data[$field] : $GLOBALS[$field];
|
$_data = (count($data) >= 1) ? $data[$field] : $GLOBALS[$field];
|
||||||
$has_default = $table_data[$field]['has default'];
|
$has_default = $table_data[$field]['has default'];
|
||||||
$not_null = $table_data[$field]['not null'];
|
$not_null = $table_data[$field]['not null'];
|
||||||
|
// we detect bool, so we can force a write on "false"
|
||||||
|
$is_bool = $table_data[$field]['type'] == 'bool' ? true : false;
|
||||||
// write if the field has to be not null, or if there is no data and the field has no default values or if there is data
|
// write if the field has to be not null, or if there is no data and the field has no default values or if there is data
|
||||||
if (($not_null && !$_data) || (!$has_default && !$_data) || (is_numeric($_data) && isset($_data)) || $_data)
|
if (($not_null && !$_data) || (!$has_default && !$_data) || ($is_bool && !$_data) || (is_numeric($_data) && isset($_data)) || ($primary_key['value'] && !$_data) || $_data)
|
||||||
{
|
{
|
||||||
if ($q_sub_value && !$primary_key['value'])
|
if ($q_sub_value && !$primary_key['value'])
|
||||||
$q_sub_value .= ', ';
|
$q_sub_value .= ', ';
|
||||||
@@ -1719,7 +1730,7 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
|
|||||||
if (strstr($table_data[$field]['type'], 'int'))
|
if (strstr($table_data[$field]['type'], 'int'))
|
||||||
$q_sub_data .= (is_numeric($_data) && isset($_data)) ? $_data : ($has_default ? $has_default : 'NULL');
|
$q_sub_data .= (is_numeric($_data) && isset($_data)) ? $_data : ($has_default ? $has_default : 'NULL');
|
||||||
else
|
else
|
||||||
$q_sub_data .= ($_data) ? "'".$this->db_escape_string($_data)."'" : ($has_default ? "'".$this->db_escape_string($has_default)."'" : 'NULL');
|
$q_sub_data .= ($_data ? "'".$this->db_escape_string($_data)."'" : (($primary_key['value'] && $is_bool) ? "'".$this->db_boolean($_data, true)."'" : ($has_default ? "'".$this->db_escape_string($has_default)."'" : 'NULL')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -581,7 +581,7 @@
|
|||||||
{
|
{
|
||||||
$this->acl['page'] = $_SESSION['GROUP_ACL_LEVEL'];
|
$this->acl['page'] = $_SESSION['GROUP_ACL_LEVEL'];
|
||||||
}
|
}
|
||||||
if ($_SESSION['PAGES_ACL_LEVEL'][$this->page_name] != -1)
|
if (isset($_SESSION['PAGES_ACL_LEVEL'][$this->page_name]) && $_SESSION['PAGES_ACL_LEVEL'][$this->page_name] != -1)
|
||||||
{
|
{
|
||||||
$this->acl['page'] = $_SESSION['PAGES_ACL_LEVEL'][$this->page_name];
|
$this->acl['page'] = $_SESSION['PAGES_ACL_LEVEL'][$this->page_name];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ class ProgressBar
|
|||||||
public $status = 'new'; // current status (new,show,hide)
|
public $status = 'new'; // current status (new,show,hide)
|
||||||
public $step = 0; // current step
|
public $step = 0; // current step
|
||||||
public $position = array(); // current bar position
|
public $position = array(); // current bar position
|
||||||
|
|
||||||
|
public $clear_buffer_size = 1; // we need to send this before the lfush to get browser output
|
||||||
|
public $clear_buffer_size_init = 1024*1024; // if I don't send that junk, it won't send anything
|
||||||
|
|
||||||
// public vars
|
// public vars
|
||||||
|
|
||||||
@@ -74,10 +77,22 @@ class ProgressBar
|
|||||||
$this->width = $width;
|
$this->width = $width;
|
||||||
if ($height > 0)
|
if ($height > 0)
|
||||||
$this->height = $height;
|
$this->height = $height;
|
||||||
|
// needs to be called twice or I do not get any output
|
||||||
|
$this->_flushCache($this->clear_buffer_size_init);
|
||||||
|
$this->_flushCache($this->clear_buffer_size_init);
|
||||||
}
|
}
|
||||||
|
|
||||||
// private functions
|
// private functions
|
||||||
|
|
||||||
|
private function _flushCache($clear_buffer_size = 0)
|
||||||
|
{
|
||||||
|
if (!$clear_buffer_size)
|
||||||
|
$clear_buffer_size = $this->clear_buffer_size;
|
||||||
|
echo str_repeat(' ', $clear_buffer_size);
|
||||||
|
ob_flush();
|
||||||
|
flush();
|
||||||
|
}
|
||||||
|
|
||||||
private function _calculatePercent($step)
|
private function _calculatePercent($step)
|
||||||
{
|
{
|
||||||
// avoid divison through 0
|
// avoid divison through 0
|
||||||
@@ -298,7 +313,7 @@ class ProgressBar
|
|||||||
$output .= 'document.getElementById("plbl'.$name.$this->code.'").style.align="'.$this->label[$name]['align'].'";';
|
$output .= 'document.getElementById("plbl'.$name.$this->code.'").style.align="'.$this->label[$name]['align'].'";';
|
||||||
$output .= '</script>'."\n";
|
$output .= '</script>'."\n";
|
||||||
echo $output;
|
echo $output;
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,7 +323,7 @@ class ProgressBar
|
|||||||
if ($this->status != 'new')
|
if ($this->status != 'new')
|
||||||
{
|
{
|
||||||
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.color="'.$color.'";</script>'."\n";
|
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.color="'.$color.'";</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,7 +333,7 @@ class ProgressBar
|
|||||||
if ($this->status != 'new')
|
if ($this->status != 'new')
|
||||||
{
|
{
|
||||||
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -349,7 +364,7 @@ class ProgressBar
|
|||||||
$output .= 'document.getElementById("plbl'.$name.$this->code.'").style.font-weight="'.$this->label[$name]['font-weight'].'";';
|
$output .= 'document.getElementById("plbl'.$name.$this->code.'").style.font-weight="'.$this->label[$name]['font-weight'].'";';
|
||||||
$output .= '</script>'."\n";
|
$output .= '</script>'."\n";
|
||||||
echo $output;
|
echo $output;
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +375,7 @@ class ProgressBar
|
|||||||
if ($this->status != 'new')
|
if ($this->status != 'new')
|
||||||
{
|
{
|
||||||
echo '<script type="text/JavaScript">PBlabelText'.$this->code.'("'.$name.'","'.$this->label[$name]['value'].'");</script>'."\n";
|
echo '<script type="text/JavaScript">PBlabelText'.$this->code.'("'.$name.'","'.$this->label[$name]['value'].'");</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,7 +385,7 @@ class ProgressBar
|
|||||||
if ($this->status != 'new')
|
if ($this->status != 'new')
|
||||||
{
|
{
|
||||||
echo '<script type="text/JavaScript">document.getElementById("pbar'.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
echo '<script type="text/JavaScript">document.getElementById("pbar'.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -380,7 +395,7 @@ class ProgressBar
|
|||||||
if ($this->status != 'new')
|
if ($this->status != 'new')
|
||||||
{
|
{
|
||||||
echo '<script type="text/JavaScript">document.getElementById("pbrd'.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
echo '<script type="text/JavaScript">document.getElementById("pbrd'.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,7 +413,7 @@ class ProgressBar
|
|||||||
echo 'PBposition'.$this->code.'("width",'.$this->position['width'].');';
|
echo 'PBposition'.$this->code.'("width",'.$this->position['width'].');';
|
||||||
echo 'PBposition'.$this->code.'("height",'.$this->position['height'].');';
|
echo 'PBposition'.$this->code.'("height",'.$this->position['height'].');';
|
||||||
echo '</script>'."\n";
|
echo '</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -547,7 +562,7 @@ class ProgressBar
|
|||||||
{
|
{
|
||||||
$this->status = 'show';
|
$this->status = 'show';
|
||||||
echo $this->getHtml();
|
echo $this->getHtml();
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function moveStep($step)
|
public function moveStep($step)
|
||||||
@@ -603,7 +618,7 @@ class ProgressBar
|
|||||||
if ($js != '')
|
if ($js != '')
|
||||||
{
|
{
|
||||||
echo '<script type="text/JavaScript">'.$js.'</script>'."\n";
|
echo '<script type="text/JavaScript">'.$js.'</script>'."\n";
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,7 +642,7 @@ class ProgressBar
|
|||||||
$output .= 'document.getElementById("pbm'.$this->code.'").style.visibility="hidden";document.getElementById("pbm'.$this->code.'").style.display="none";';
|
$output .= 'document.getElementById("pbm'.$this->code.'").style.visibility="hidden";document.getElementById("pbm'.$this->code.'").style.display="none";';
|
||||||
$output .= '</script>'."\n";
|
$output .= '</script>'."\n";
|
||||||
echo $output;
|
echo $output;
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -641,7 +656,7 @@ class ProgressBar
|
|||||||
$output .= 'document.getElementById("pbm'.$this->code.'").style.visibility="visible";document.getElementById("pbm'.$this->code.'").style.visibility="block";';
|
$output .= 'document.getElementById("pbm'.$this->code.'").style.visibility="visible";document.getElementById("pbm'.$this->code.'").style.visibility="block";';
|
||||||
$output .= '</script>'."\n";
|
$output .= '</script>'."\n";
|
||||||
echo $output;
|
echo $output;
|
||||||
flush();
|
$this->_flushCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,10 @@
|
|||||||
// DESC : wrapper for pg_prepare
|
// DESC : wrapper for pg_prepare
|
||||||
public function _db_prepare($name, $query)
|
public function _db_prepare($name, $query)
|
||||||
{
|
{
|
||||||
return @pg_prepare($this->dbh, $name, $query);
|
$result = @pg_prepare($this->dbh, $name, $query);
|
||||||
|
if (!$result)
|
||||||
|
$this->last_error_query = $query;
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// METHOD: _db_execute
|
// METHOD: _db_execute
|
||||||
@@ -121,7 +124,10 @@
|
|||||||
// DESC : wrapper for pg_execute for running a prepared statement
|
// DESC : wrapper for pg_execute for running a prepared statement
|
||||||
public function _db_execute($name, $data)
|
public function _db_execute($name, $data)
|
||||||
{
|
{
|
||||||
return @pg_execute($this->dbh, $name, $data);
|
$result = @pg_execute($this->dbh, $name, $data);
|
||||||
|
if (!$result)
|
||||||
|
$this->last_error_query = $query;
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// METHOD: _db_num_rows
|
// METHOD: _db_num_rows
|
||||||
|
|||||||
Reference in New Issue
Block a user