diff --git a/composer.json b/composer.json index 09a5ab8..52c9a50 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "reportico/laravel-reportico", "description": "", - "version": "5.1.0", + "version": "5.2.0", "authors": [ { "name": "Reportico", @@ -11,7 +11,7 @@ "license": "GPL-3.0", "require": { "php": ">=5.4.0", - "illuminate/support": "~5.1" + "illuminate/support": "~5.2" }, "autoload": { "classmap": [ diff --git a/src/Reportico/Reportico/fpdf/ufpdf.php b/src/Reportico/Reportico/fpdf/ufpdf.php index dba0ff7..390d4bf 100644 --- a/src/Reportico/Reportico/fpdf/ufpdf.php +++ b/src/Reportico/Reportico/fpdf/ufpdf.php @@ -26,9 +26,9 @@ class UFPDF extends FPDF * Public methods * * * *******************************************************************************/ -function UFPDF($orientation='P',$unit='mm',$format='A4') +function __construct($orientation='P',$unit='mm',$format='A4') { - FPDF::FPDF($orientation, $unit, $format); + __parent::construct($orientation, $unit, $format); } function GetStringWidth($s) diff --git a/src/Reportico/Reportico/pChart/pCache.class b/src/Reportico/Reportico/pChart/pCache.class index 0c689fc..f1f6713 100644 --- a/src/Reportico/Reportico/pChart/pCache.class +++ b/src/Reportico/Reportico/pChart/pCache.class @@ -38,7 +38,7 @@ var $CacheFolder = "Cache/"; /* Create the pCache object */ - function pCache($CacheFolder="Cache/") + function __construct($CacheFolder="Cache/") { $this->CacheFolder = $CacheFolder; } @@ -116,4 +116,4 @@ return(md5($mKey)); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico.php b/src/Reportico/Reportico/reportico.php index 57a7fae..b34e2ad 100755 --- a/src/Reportico/Reportico/reportico.php +++ b/src/Reportico/Reportico/reportico.php @@ -267,7 +267,7 @@ class reportico extends reportico_object var $delete_project_url; var $create_report_url; - var $version = "4.3"; + var $version = "4.4"; var $name; var $rowselection="all"; @@ -1422,18 +1422,18 @@ function set_request_columns() } else { - $this->target_show_detail = true; - $this->target_show_graph = true; - $this->target_show_group_headers = true; - $this->target_show_group_trailers = true; - $this->target_show_column_headers = true; - $this->target_show_criteria = true; - set_reportico_session_param("target_show_detail",true); - set_reportico_session_param("target_show_graph",true); - set_reportico_session_param("target_show_group_headers",true); - set_reportico_session_param("target_show_group_trailers",true); - set_reportico_session_param("target_show_column_headers",true); - set_reportico_session_param("target_show_criteria",true); + //$this->target_show_detail = true; + //$this->target_show_graph = true; + //$this->target_show_group_headers = true; + //$this->target_show_group_trailers = true; + //$this->target_show_column_headers = true; + //$this->target_show_criteria = true; + //set_reportico_session_param("target_show_detail",true); + //set_reportico_session_param("target_show_graph",true); + //set_reportico_session_param("target_show_group_headers",true); + //set_reportico_session_param("target_show_group_trailers",true); + //set_reportico_session_param("target_show_column_headers",true); + //set_reportico_session_param("target_show_criteria",true); } } else @@ -3961,6 +3961,7 @@ function execute($mode=false, $draw=true) case "MENU": $this->handle_xml_query_input($mode); + $this->set_request_columns(); $this->build_menu(); load_mode_language_pack("languages", $this->output_charset); load_mode_language_pack("menu", $this->output_charset); @@ -6058,6 +6059,77 @@ function execute_criteria_lookup($in_is_expanding = false) $g_code_area = ""; } + + // ----------------------------------------------------------------------------- + // ----------------------------------------------------------------------------- + function criteria_summary_text(&$label, &$value) + { + $label = ""; + $value = ""; + + if ( isset($this->criteria_summary) && $this->criteria_summary ) + { + $label = $this->derive_attribute("column_title", $this->query_name); + $value = $this->criteria_summary; + } + else + { + if ( get_request_item($name."_FROMDATE_DAY", "" ) ) + { + $label = $this->derive_attribute("column_title", $this->query_name); + $label = sw_translate($label); + $mth = get_request_item($name."_FROMDATE_MONTH","") + 1; + $value = get_request_item($name."_FROMDATE_DAY","")."/". + $mth."/". + get_request_item($name."_FROMDATE_YEAR",""); + if ( get_request_item($name."_TODATE_DAY", "" ) ) + { + $mth = get_request_item($name."_TODATE_MONTH","") + 1; + $value .= "-"; + $value .= get_request_item($name."_TODATE_DAY","")."/". + $mth."/". + get_request_item($name."_TODATE_YEAR",""); + } + } + else if ( get_request_item("MANUAL_".$name."_FROMDATE", "" ) ) + { + $label = $this->derive_attribute("column_title", $this->query_name); + $label = sw_translate($label); + $value = get_request_item("MANUAL_".$name."_FROMDATE",""); + if ( get_request_item("MANUAL_".$name."_TODATE", "" ) ) + { + $value .= "-"; + $value .= get_request_item("MANUAL_".$name."_TODATE"); + } + + } + else if ( get_request_item("HIDDEN_".$name."_FROMDATE", "" ) ) + { + $label = $this->derive_attribute("column_title", $this->query_name); + $label = sw_translate($label); + $value = get_request_item("HIDDEN_".$name."_FROMDATE",""); + if ( get_request_item("HIDDEN_".$name."_TODATE", "" ) ) + { + $value .= "-"; + $value .= get_request_item("HIDDEN_".$name."_TODATE"); + } + + } + else if ( get_request_item("EXPANDED_".$name, "" ) ) + { + $label = $this->derive_attribute("column_title", $this->query_name); + $label = sw_translate($label); + $value .= implode(get_request_item("EXPANDED_".$name, ""),","); + } + else if ( get_request_item("MANUAL_".$name, "" ) ) + { + $label = $this->derive_attribute("column_title", $this->query_name); + $label = sw_translate($label); + $value .= get_request_item("MANUAL_".$name, ""); + } + } + } + // ----------------------------------------------------------------------------- // Function : criteria_summary_display // @@ -7787,8 +7859,10 @@ static function reportico_meta_sql_criteria(&$in_query, $in_string, $prev_col_va { $crit = substr ( $crit, 1 ); $critexp = $crit; + $clause = ""; + $label = ""; if ( array_key_exists($crit, $in_query->lookup_queries) ) - $clause = $in_query->lookup_queries[$crit]->get_criteria_clause(false, false, true); + $clause = $in_query->lookup_queries[$crit]->criteria_summary_text($label,$clause); else if ( $cl = get_query_column($crit, $this->query->columns ) ) if ( $prev_col_value ) $clause = $cl->old_column_value; diff --git a/src/Reportico/Reportico/reportico_adodb/adodb.inc.php b/src/Reportico/Reportico/reportico_adodb/adodb.inc.php index b49a3fd..15b156e 100755 --- a/src/Reportico/Reportico/reportico_adodb/adodb.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/adodb.inc.php @@ -328,7 +328,7 @@ class ADOConnection { /** * Constructor */ - function ADOConnection() + function __construct() { die('Virtual Class -- cannot instantiate'); } @@ -2864,7 +2864,7 @@ class ADORecordSet implements IteratorAggregate { * @param queryID this is the queryID returned by ADOConnection->_query() * */ - function ADORecordSet($queryID) + function __construct($queryID) { $this->_queryID = $queryID; } @@ -3853,7 +3853,7 @@ class ADORecordSet_array extends ADORecordSet * Constructor * */ - function ADORecordSet_array($fakeid=1) + function __construct($fakeid=1) { global $ADODB_FETCH_MODE,$ADODB_COMPAT_FETCH; diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-access.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-access.inc.php index 5f47d5e..c421950 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-access.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-access.inc.php @@ -29,12 +29,13 @@ class ADODB_access extends ADODB_odbc { var $hasTransactions = false; var $upperCase = 'ucase'; - function ADODB_access() + function __construct() { global $ADODB_EXTENSION; $ADODB_EXTENSION = false; - $this->ADODB_odbc(); + parent::__construct(); + } function Time() @@ -78,10 +79,10 @@ class ADORecordSet_access extends ADORecordSet_odbc { var $databaseType = "access"; - function ADORecordSet_access($id,$mode=false) + function __construct($id,$mode=false) { return $this->ADORecordSet_odbc($id,$mode); } }// class } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado.inc.php index 33eff43..d7276bb 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado.inc.php @@ -37,7 +37,7 @@ class ADODB_ado extends ADOConnection { var $poorAffectedRows = true; var $charPage; - function ADODB_ado() + function __construct() { $this->_affectedRows = new VARIANT; } @@ -325,14 +325,14 @@ class ADORecordSet_ado extends ADORecordSet { var $canSeek = true; var $hideErrors = true; - function ADORecordSet_ado($id,$mode=false) + function __construct($id,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; $mode = $ADODB_FETCH_MODE; } $this->fetchMode = $mode; - return $this->ADORecordSet($id,$mode); + return parent::__construct($id,$mode); } @@ -631,4 +631,4 @@ function _close() { } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado5.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado5.inc.php index 802e6f6..917e517 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado5.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado5.inc.php @@ -37,7 +37,7 @@ class ADODB_ado extends ADOConnection { var $poorAffectedRows = true; var $charPage; - function ADODB_ado() + function __construct() { $this->_affectedRows = new VARIANT; } @@ -358,14 +358,14 @@ class ADORecordSet_ado extends ADORecordSet { var $canSeek = true; var $hideErrors = true; - function ADORecordSet_ado($id,$mode=false) + function __construct($id,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; $mode = $ADODB_FETCH_MODE; } $this->fetchMode = $mode; - return $this->ADORecordSet($id,$mode); + return __parent::constructor($id,$mode); } @@ -665,4 +665,4 @@ function _close() { } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_access.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_access.inc.php index 531da4a..3086805 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_access.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_access.inc.php @@ -29,9 +29,9 @@ class ADODB_ado_access extends ADODB_ado { var $hasTransactions = false; var $upperCase = 'ucase'; - function ADODB_ado_access() + function __construct() { - $this->ADODB_ado(); + parent::__construct(); } function BeginTrans() { return false;} @@ -47,9 +47,9 @@ class ADORecordSet_ado_access extends ADORecordSet_ado { var $databaseType = "ado_access"; - function ADORecordSet_ado_access($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_ado($id,$mode); + return parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_mssql.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_mssql.inc.php index 06fc466..b59754d 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_mssql.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ado_mssql.inc.php @@ -39,9 +39,10 @@ class ADODB_ado_mssql extends ADODB_ado { //var $_inTransaction = 1; // always open recordsets, so no transaction problems. - function ADODB_ado_mssql() + function __construct() { - $this->ADODB_ado(); + parent::__construct(); + } function _insertid() @@ -146,9 +147,9 @@ class ADORecordSet_ado_mssql extends ADORecordSet_ado { var $databaseType = 'ado_mssql'; - function ADORecordSet_ado_mssql($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_ado($id,$mode); + return parent::_construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-borland_ibase.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-borland_ibase.inc.php index 187f41c..7953e38 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-borland_ibase.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-borland_ibase.inc.php @@ -21,9 +21,9 @@ class ADODB_borland_ibase extends ADODB_ibase { var $databaseType = "borland_ibase"; - function ADODB_borland_ibase() + function __construct() { - $this->ADODB_ibase(); + parent::__construct(); } function BeginTrans() @@ -84,9 +84,9 @@ class ADORecordSet_borland_ibase extends ADORecordSet_ibase { var $databaseType = "borland_ibase"; - function ADORecordSet_borland_ibase($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordSet_ibase($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-csv.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-csv.inc.php index d2e4cbb..58d18a0 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-csv.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-csv.inc.php @@ -36,7 +36,7 @@ class ADODB_csv extends ADOConnection { var $hasTransactions = false; var $_errorNo = false; - function ADODB_csv() + function __construct() { } @@ -191,9 +191,9 @@ function _close() } // class class ADORecordset_csv extends ADORecordset { - function ADORecordset_csv($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordset($id,$mode); + parent::__construct($id,$mode); } function _close() @@ -204,4 +204,4 @@ function _close() } // define -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-fbsql.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-fbsql.inc.php index b0264e3..649a256 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-fbsql.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-fbsql.inc.php @@ -23,7 +23,7 @@ class ADODB_fbsql extends ADOConnection { var $fmtTimeStamp = "'Y-m-d H:i:s'"; var $hasLimit = false; - function ADODB_fbsql() + function __construct() { } @@ -162,7 +162,7 @@ class ADORecordSet_fbsql extends ADORecordSet{ var $databaseType = "fbsql"; var $canSeek = true; - function ADORecordSet_fbsql($queryID,$mode=false) + function __construct($queryID,$mode=false) { if (!$mode) { global $ADODB_FETCH_MODE; @@ -175,7 +175,7 @@ function ADORecordSet_fbsql($queryID,$mode=false) default: $this->fetchMode = FBSQL_BOTH; break; } - return $this->ADORecordSet($queryID); + return parent::__construct($queryID); } function _initrs() @@ -263,4 +263,4 @@ function MetaType($t,$len=-1,$fieldobj=false) } //class } // defined -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-firebird.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-firebird.inc.php index 78d65c3..fdad76b 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-firebird.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-firebird.inc.php @@ -21,9 +21,10 @@ class ADODB_firebird extends ADODB_ibase { var $sysTimeStamp = "CURRENT_TIMESTAMP"; //"cast('NOW' as timestamp)"; - function ADODB_firebird() + function __construct() { - $this->ADODB_ibase(); + parent::__construct(); + } function ServerInfo() @@ -69,9 +70,9 @@ class ADORecordSet_firebird extends ADORecordSet_ibase { var $databaseType = "firebird"; - function ADORecordSet_firebird($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordSet_ibase($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ibase.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ibase.inc.php index b945e49..aea9b6c 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ibase.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ibase.inc.php @@ -54,7 +54,7 @@ class ADODB_ibase extends ADOConnection { var $blobEncodeType = 'C'; var $role = false; - function ADODB_ibase() + function __construct() { if (defined('IBASE_DEFAULT')) $this->ibasetrans = IBASE_DEFAULT; } @@ -730,12 +730,12 @@ class ADORecordset_ibase extends ADORecordSet var $bind=false; var $_cacheType; - function ADORecordset_ibase($id,$mode=false) + function __construct($id,$mode=false) { global $ADODB_FETCH_MODE; $this->fetchMode = ($mode === false) ? $ADODB_FETCH_MODE : $mode; - $this->ADORecordSet($id); + parent::__construct($id); } /* Returns: an object containing field information. @@ -884,4 +884,4 @@ function MetaType($t,$len=-1,$fieldobj=false) } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix.inc.php index ead38c7..2b288e6 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix.inc.php @@ -32,9 +32,9 @@ function IfNull( $field, $ifNull ) class ADORecordset_informix extends ADORecordset_informix72 { var $databaseType = "informix"; - function ADORecordset_informix($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordset_informix72($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix72.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix72.inc.php index 967cb06..15c1dd6 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix72.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-informix72.inc.php @@ -54,7 +54,7 @@ class ADODB_informix72 extends ADOConnection { var $sysTimeStamp = 'CURRENT'; var $cursorType = IFX_SCROLL; // IFX_SCROLL or IFX_HOLD or 0 - function ADODB_informix72() + function __construct() { // alternatively, use older method: //putenv("DBDATE=Y4MD-"); @@ -346,7 +346,7 @@ class ADORecordset_informix72 extends ADORecordSet { var $canSeek = true; var $_fieldprops = false; - function ADORecordset_informix72($id,$mode=false) + function __construct($id,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -472,4 +472,4 @@ function ifx_props($coltype,$collength){ } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ldap.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ldap.inc.php index d8d9a9a..cf58dc7 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ldap.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-ldap.inc.php @@ -40,7 +40,7 @@ class ADODB_ldap extends ADOConnection { # Options configuration information var $LDAP_CONNECT_OPTIONS; - function ADODB_ldap() + function __construct() { } @@ -273,7 +273,7 @@ class ADORecordSet_ldap extends ADORecordSet{ var $canSeek = false; var $_entryID; /* keeps track of the entry resource identifier */ - function ADORecordSet_ldap($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -294,7 +294,7 @@ function ADORecordSet_ldap($queryID,$mode=false) break; } - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function _initrs() @@ -403,4 +403,4 @@ function _close() { } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql.inc.php index c82ab1f..d84d8c7 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql.inc.php @@ -103,7 +103,7 @@ class ADODB_mssql extends ADOConnection { var $uniqueOrderBy = true; var $_bindInputArray = true; - function ADODB_mssql() + function __construct() { $this->_has_mssql_init = (strnatcmp(PHP_VERSION,'4.1.0')>=0); } @@ -744,7 +744,7 @@ class ADORecordset_mssql extends ADORecordSet { var $hasFetchAssoc; // see http://phplens.com/lens/lensforum/msgs.php?id=6083 // _mths works only in non-localised system - function ADORecordset_mssql($id,$mode=false) + function __construct($id,$mode=false) { // freedts check... $this->hasFetchAssoc = function_exists('mssql_fetch_assoc'); @@ -755,7 +755,7 @@ function ADORecordset_mssql($id,$mode=false) } $this->fetchMode = $mode; - return $this->ADORecordSet($id,$mode); + parent::__construct($id,$mode); } @@ -931,9 +931,9 @@ function UnixTimeStamp($v) class ADORecordSet_array_mssql extends ADORecordSet_array { - function ADORecordSet_array_mssql($id=-1,$mode=false) + function __construct($id=-1,$mode=false) { - $this->ADORecordSet_array($id,$mode); + parent::__construct($id,$mode); } // mssql uses a default date like Dec 30 2000 12:00AM @@ -1034,4 +1034,4 @@ function UnixTimeStamp($v) http://www.databasejournal.com/scripts/article.php/1440551 */ -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql_n.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql_n.inc.php index 1500109..565bf83 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql_n.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssql_n.inc.php @@ -53,9 +53,9 @@ class ADODB_mssql_n extends ADODB_mssql { var $databaseType = "mssql_n"; - function ADODB_mssqlpo() + function __construct() { - ADODB_mssql::ADODB_mssql(); + parent::__construct(); } function _query($sql,$inputarr) @@ -158,9 +158,9 @@ function _appendN($sql) { class ADORecordset_mssql_n extends ADORecordset_mssql { var $databaseType = "mssql_n"; - function ADORecordset_mssql_n($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordset_mssql($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssqlpo.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssqlpo.inc.php index 33b024e..00dc05b 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssqlpo.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mssqlpo.inc.php @@ -28,9 +28,10 @@ class ADODB_mssqlpo extends ADODB_mssql { var $databaseType = "mssqlpo"; var $concat_operator = '||'; - function ADODB_mssqlpo() + function __construct() { - ADODB_mssql::ADODB_mssql(); + parent::__construct(); + } function PrepareSP($sql) @@ -54,9 +55,9 @@ function _query($sql,$inputarr) class ADORecordset_mssqlpo extends ADORecordset_mssql { var $databaseType = "mssqlpo"; - function ADORecordset_mssqlpo($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordset_mssql($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysql.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysql.inc.php index bc6c78b..e12a2ec 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysql.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysql.inc.php @@ -40,7 +40,7 @@ class ADODB_mysql extends ADOConnection { var $nameQuote = '`'; /// string to use to quote identifiers and names var $compat323 = false; // true if compat with mysql 3.23 - function ADODB_mysql() + function __construct() { if (defined('ADODB_EXTENSION')) $this->rsPrefix .= 'ext_'; } @@ -602,7 +602,7 @@ class ADORecordSet_mysql extends ADORecordSet{ var $databaseType = "mysql"; var $canSeek = true; - function ADORecordSet_mysql($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -618,7 +618,7 @@ function ADORecordSet_mysql($queryID,$mode=false) $this->fetchMode = MYSQL_BOTH; break; } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function _initrs() @@ -758,7 +758,7 @@ function MetaType($t,$len=-1,$fieldobj=false) } class ADORecordSet_ext_mysql extends ADORecordSet_mysql { - function ADORecordSet_ext_mysql($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -774,7 +774,7 @@ function ADORecordSet_ext_mysql($queryID,$mode=false) $this->fetchMode = MYSQL_BOTH; break; } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function MoveNext() diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqli.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqli.inc.php index ed2f729..69f61b0 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqli.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqli.inc.php @@ -51,7 +51,7 @@ class ADODB_mysqli extends ADOConnection { var $nameQuote = '`'; /// string to use to quote identifiers and names var $optionFlags = array(array(MYSQLI_READ_DEFAULT_GROUP,0)); - function ADODB_mysqli() + function __construct() { // if(!extension_loaded("mysqli")) ;//trigger_error("You must have the mysqli extension installed.", E_USER_ERROR); @@ -759,7 +759,7 @@ class ADORecordSet_mysqli extends ADORecordSet{ var $databaseType = "mysqli"; var $canSeek = true; - function ADORecordSet_mysqli($queryID, $mode = false) + function __construct($queryID, $mode = false) { if ($mode === false) { @@ -782,7 +782,7 @@ function ADORecordSet_mysqli($queryID, $mode = false) break; } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function _initrs() @@ -1023,4 +1023,4 @@ function MetaType($t, $len = -1, $fieldobj = false) } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlpo.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlpo.inc.php index 03df636..51950ec 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlpo.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlpo.inc.php @@ -25,7 +25,7 @@ class ADODB_mysqlt extends ADODB_mysql { var $hasTransactions = true; var $autoRollback = true; // apparently mysql does not autorollback properly - function ADODB_mysqlt() + function __construct() { global $ADODB_EXTENSION; if ($ADODB_EXTENSION) $this->rsPrefix .= 'ext_'; } @@ -72,7 +72,7 @@ function RowLock($tables,$where='',$flds='1 as adodb_ignore') class ADORecordSet_mysqlt extends ADORecordSet_mysql{ var $databaseType = "mysqlt"; - function ADORecordSet_mysqlt($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -90,7 +90,7 @@ function ADORecordSet_mysqlt($queryID,$mode=false) } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function MoveNext() @@ -109,7 +109,7 @@ function MoveNext() class ADORecordSet_ext_mysqlt extends ADORecordSet_mysqlt { - function ADORecordSet_ext_mysqlt($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -126,7 +126,7 @@ function ADORecordSet_ext_mysqlt($queryID,$mode=false) $this->fetchMode = MYSQL_BOTH; break; } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function MoveNext() @@ -135,4 +135,4 @@ function MoveNext() } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlt.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlt.inc.php index 3c7aabf..770c8a1 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlt.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-mysqlt.inc.php @@ -25,7 +25,7 @@ class ADODB_mysqlt extends ADODB_mysql { var $hasTransactions = true; var $autoRollback = true; // apparently mysql does not autorollback properly - function ADODB_mysqlt() + function __construct() { global $ADODB_EXTENSION; if ($ADODB_EXTENSION) $this->rsPrefix .= 'ext_'; } @@ -89,7 +89,7 @@ function RowLock($tables,$where='',$flds='1 as adodb_ignore') class ADORecordSet_mysqlt extends ADORecordSet_mysql{ var $databaseType = "mysqlt"; - function ADORecordSet_mysqlt($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -107,7 +107,7 @@ function ADORecordSet_mysqlt($queryID,$mode=false) } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function MoveNext() @@ -126,7 +126,7 @@ function MoveNext() class ADORecordSet_ext_mysqlt extends ADORecordSet_mysqlt { - function ADORecordSet_ext_mysqlt($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -143,7 +143,7 @@ function ADORecordSet_ext_mysqlt($queryID,$mode=false) $this->fetchMode = MYSQL_BOTH; break; } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function MoveNext() @@ -152,4 +152,4 @@ function MoveNext() } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8.inc.php index d9d17ee..776e710 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8.inc.php @@ -90,7 +90,7 @@ class ADODB_oci8 extends ADOConnection { // var $ansiOuter = true; // if oracle9 - function ADODB_oci8() + function __construct() { $this->_hasOCIFetchStatement = ADODB_PHPVER >= 0x4200; if (defined('ADODB_EXTENSION')) $this->rsPrefix .= 'ext_'; @@ -1227,7 +1227,7 @@ class ADORecordset_oci8 extends ADORecordSet { //var $_arr = false; - function ADORecordset_oci8($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -1491,7 +1491,7 @@ function MetaType($t,$len=-1,$fieldobj=false) } class ADORecordSet_ext_oci8 extends ADORecordSet_oci8 { - function ADORecordSet_ext_oci8($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci805.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci805.inc.php index 2373a67..261de6b 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci805.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci805.inc.php @@ -21,9 +21,10 @@ class ADODB_oci805 extends ADODB_oci8 { var $databaseType = "oci805"; var $connectSID = true; - function ADODB_oci805() + function __construct() { - $this->ADODB_oci8(); + parent::__construct(); + } function SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0) @@ -51,9 +52,9 @@ function SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0) class ADORecordset_oci805 extends ADORecordset_oci8 { var $databaseType = "oci805"; - function ADORecordset_oci805($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordset_oci8($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8po.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8po.inc.php index acb58e8..b080cc3 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8po.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oci8po.inc.php @@ -28,7 +28,7 @@ class ADODB_oci8po extends ADODB_oci8 { var $metaColumnsSQL = "select lower(cname),coltype,width, SCALE, PRECISION, NULLS, DEFAULTVAL from col where tname='%s' order by colno"; //changed by smondino@users.sourceforge. net var $metaTablesSQL = "select lower(table_name),table_type from cat where table_type in ('TABLE','VIEW')"; - function ADODB_oci8po() + function __construct() { $this->_hasOCIFetchStatement = ADODB_PHPVER >= 0x4200; # oci8po does not support adodb extension: adodb_movenext() @@ -78,9 +78,9 @@ class ADORecordset_oci8po extends ADORecordset_oci8 { var $databaseType = 'oci8po'; - function ADORecordset_oci8po($queryID,$mode=false) + function __construct($queryID,$mode=false) { - $this->ADORecordset_oci8($queryID,$mode); + parent::__construct($queryID,$mode); } function Fields($colname) @@ -214,4 +214,4 @@ function _fetch() } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc.inc.php index 20e4c56..d0e78ce 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc.inc.php @@ -39,7 +39,7 @@ class ADODB_odbc extends ADOConnection { var $_lastAffectedRows = 0; var $uCaseTables = true; // for meta* functions, uppercase table names - function ADODB_odbc() + function __construct() { $this->_haserrorfunctions = ADODB_PHPVER >= 0x4050; $this->_has_stupid_odbc_fetch_api_change = ADODB_PHPVER >= 0x4200; @@ -596,7 +596,7 @@ class ADORecordSet_odbc extends ADORecordSet { var $useFetchArray; var $_has_stupid_odbc_fetch_api_change; - function ADORecordSet_odbc($id,$mode=false) + function __construct($id,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -735,4 +735,4 @@ function _close() } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_db2.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_db2.inc.php index 7beab13..42ca8f8 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_db2.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_db2.inc.php @@ -110,10 +110,11 @@ class ADODB_ODBC_DB2 extends ADODB_odbc { var $hasInsertID = true; var $rsPrefix = 'ADORecordset_odbc_'; - function ADODB_DB2() + function __construct() { if (strncmp(PHP_OS,'WIN',3) === 0) $this->curmode = SQL_CUR_USE_ODBC; - $this->ADODB_odbc(); + parent::__construct(); + } function IfNull( $field, $ifNull ) @@ -304,9 +305,9 @@ class ADORecordSet_odbc_db2 extends ADORecordSet_odbc { var $databaseType = "db2"; - function ADORecordSet_db2($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordSet_odbc($id,$mode); + parent::__construct($id,$mode); } function MetaType($t,$len=-1,$fieldobj=false) @@ -365,4 +366,4 @@ function MetaType($t,$len=-1,$fieldobj=false) } } //define -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_mssql.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_mssql.inc.php index faeda22..b61e649 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_mssql.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_mssql.inc.php @@ -40,9 +40,10 @@ class ADODB_odbc_mssql extends ADODB_odbc { var $connectStmt = 'SET CONCAT_NULL_YIELDS_NULL OFF'; # When SET CONCAT_NULL_YIELDS_NULL is ON, # concatenating a null value with a string yields a NULL result - function ADODB_odbc_mssql() + function __construct() { - $this->ADODB_odbc(); + parent::__construct(); + //$this->curmode = SQL_CUR_USE_ODBC; } @@ -298,9 +299,9 @@ class ADORecordSet_odbc_mssql extends ADORecordSet_odbc { var $databaseType = 'odbc_mssql'; - function ADORecordSet_odbc_mssql($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbc($id,$mode); + return parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_oracle.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_oracle.inc.php index c923078..2a57d97 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_oracle.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbc_oracle.inc.php @@ -31,9 +31,10 @@ class ADODB_odbc_oracle extends ADODB_odbc { //var $_bindInputArray = false; - function ADODB_odbc_oracle() + function __construct() { - $this->ADODB_odbc(); + parent::__construct(); + } function MetaTables() @@ -107,9 +108,9 @@ class ADORecordSet_odbc_oracle extends ADORecordSet_odbc { var $databaseType = 'odbc_oracle'; - function ADORecordSet_odbc_oracle($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbc($id,$mode); + return parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp.inc.php index 9b1eb46..c3fa525 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp.inc.php @@ -33,7 +33,7 @@ class ADODB_odbtp extends ADOConnection{ var $_canPrepareSP = false; var $_dontPoolDBC = true; - function ADODB_odbtp() + function __construct() { } @@ -572,14 +572,14 @@ class ADORecordSet_odbtp extends ADORecordSet { var $databaseType = 'odbtp'; var $canSeek = true; - function ADORecordSet_odbtp($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; $mode = $ADODB_FETCH_MODE; } $this->fetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function _initrs() @@ -695,9 +695,9 @@ class ADORecordSet_odbtp_mssql extends ADORecordSet_odbtp { var $databaseType = 'odbtp_mssql'; - function ADORecordSet_odbtp_mssql($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbtp($id,$mode); + return parent::__construct($id,$mode); } } @@ -705,9 +705,9 @@ class ADORecordSet_odbtp_access extends ADORecordSet_odbtp { var $databaseType = 'odbtp_access'; - function ADORecordSet_odbtp_access($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbtp($id,$mode); + return parent::__construct($id,$mode); } } @@ -715,9 +715,9 @@ class ADORecordSet_odbtp_vfp extends ADORecordSet_odbtp { var $databaseType = 'odbtp_vfp'; - function ADORecordSet_odbtp_vfp($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbtp($id,$mode); + return parent::__construct($id,$mode); } } @@ -725,9 +725,9 @@ class ADORecordSet_odbtp_oci8 extends ADORecordSet_odbtp { var $databaseType = 'odbtp_oci8'; - function ADORecordSet_odbtp_oci8($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbtp($id,$mode); + return parent::__construct($id,$mode); } } @@ -735,9 +735,9 @@ class ADORecordSet_odbtp_sybase extends ADORecordSet_odbtp { var $databaseType = 'odbtp_sybase'; - function ADORecordSet_odbtp_sybase($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbtp($id,$mode); + return parent::__construct($id,$mode); } } ?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp_unicode.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp_unicode.inc.php index bdd9dca..fb98ea9 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp_unicode.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-odbtp_unicode.inc.php @@ -31,9 +31,10 @@ class ADODB_odbtp_unicode extends ADODB_odbtp { var $databaseType = 'odbtp'; var $_useUnicodeSQL = true; - function ADODB_odbtp_unicode() + function __construct() { - $this->ADODB_odbtp(); + parent::__construct(); + } } ?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oracle.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oracle.inc.php index 10073bf..fd698a0 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oracle.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-oracle.inc.php @@ -27,7 +27,7 @@ class ADODB_oracle extends ADOConnection { var $sysTimeStamp = 'SYSDATE'; var $connectSID = true; - function ADODB_oracle() + function __construct() { } @@ -215,7 +215,7 @@ class ADORecordset_oracle extends ADORecordSet { var $databaseType = "oracle"; var $bind = false; - function ADORecordset_oracle($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { @@ -286,9 +286,9 @@ function _seek($row) function _fetch($ignore_fields=false) { // should remove call by reference, but ora_fetch_into requires it in 4.0.3pl1 if ($this->fetchMode & ADODB_FETCH_ASSOC) - return @ora_fetch_into($this->_queryID,&$this->fields,ORA_FETCHINTO_NULLS|ORA_FETCHINTO_ASSOC); + return @ora_fetch_into($this->_queryID,$this->fields,ORA_FETCHINTO_NULLS|ORA_FETCHINTO_ASSOC); else - return @ora_fetch_into($this->_queryID,&$this->fields,ORA_FETCHINTO_NULLS); + return @ora_fetch_into($this->_queryID,$this->fields,ORA_FETCHINTO_NULLS); } /* close() only needs to be called if you are worried about using too much memory while your script @@ -335,4 +335,4 @@ function MetaType($t,$len=-1) } } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-pdo.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-pdo.inc.php index f4432c5..b7878e8 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-pdo.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-pdo.inc.php @@ -88,7 +88,7 @@ class ADODB_pdo extends ADOConnection { public $dsnType = ''; public $stmt = false; - function ADODB_pdo() + function __construct() { } @@ -467,7 +467,7 @@ class ADOPDOStatement { public $_stmt; public $_connectionID; - function ADOPDOStatement($stmt,$connection) + function __construct($stmt,$connection) { $this->_stmt = $stmt; $this->_connectionID = $connection; @@ -526,7 +526,7 @@ class ADORecordSet_pdo extends ADORecordSet { public $databaseType = "pdo"; public $dataProvider = "pdo"; - function ADORecordSet_pdo($id,$mode=false) + function __construct($id,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -543,7 +543,7 @@ function ADORecordSet_pdo($id,$mode=false) $this->fetchMode = $mode; $this->_queryID = $id; - $this->ADORecordSet($id); + parent::__construct($id) ; } diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres64.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres64.inc.php index b737391..457f196 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres64.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres64.inc.php @@ -116,7 +116,7 @@ class ADODB_postgres64 extends ADOConnection{ // to know what the concequences are. The other values are correct (wheren't in 0.94) // -- Freek Dijkstra - function ADODB_postgres64() + function __construct() { // changes the metaColumnsSQL, adds columns: attnum[6] } @@ -867,7 +867,7 @@ class ADORecordSet_postgres64 extends ADORecordSet{ var $_blobArr; var $databaseType = "postgres64"; var $canSeek = true; - function ADORecordSet_postgres64($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -883,7 +883,7 @@ function ADORecordSet_postgres64($queryID,$mode=false) default: $this->fetchMode = PGSQL_BOTH; break; } $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); + parent::__construct($queryID); } function GetRowAssoc($upper=true) @@ -1061,4 +1061,4 @@ function MetaType($t,$len=-1,$fieldobj=false) } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres7.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres7.inc.php index 83f8c6d..a5bc0d8 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres7.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-postgres7.inc.php @@ -22,9 +22,9 @@ class ADODB_postgres7 extends ADODB_postgres64 { var $ansiOuter = true; var $charSet = true; //set to true for Postgres 7 and above - PG client supports encodings - function ADODB_postgres7() + function __construct() { - $this->ADODB_postgres64(); + parent::__construct(); if (ADODB_ASSOC_CASE !== 2) { $this->rsPrefix .= 'assoc_'; } @@ -166,9 +166,9 @@ class ADORecordSet_postgres7 extends ADORecordSet_postgres64{ var $databaseType = "postgres7"; - function ADORecordSet_postgres7($queryID,$mode=false) + function __construct($queryID,$mode=false) { - $this->ADORecordSet_postgres64($queryID,$mode); + parent::__construct($queryID,$mode); } // 10% speedup to move MoveNext to child class @@ -197,9 +197,9 @@ class ADORecordSet_assoc_postgres7 extends ADORecordSet_postgres64{ var $databaseType = "postgres7"; - function ADORecordSet_assoc_postgres7($queryID,$mode=false) + function __construct($queryID,$mode=false) { - $this->ADORecordSet_postgres64($queryID,$mode); + parent::__construct($queryID,$mode); } function _fetch() @@ -261,4 +261,4 @@ function MoveNext() return false; } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-proxy.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-proxy.inc.php index c864828..891accc 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-proxy.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-proxy.inc.php @@ -23,11 +23,11 @@ class ADODB_proxy extends ADODB_csv { class ADORecordset_proxy extends ADORecordset_csv { var $databaseType = "proxy"; - function ADORecordset_proxy($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordset($id,$mode); + parent::__construct($id,$mode); } }; } // define -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sapdb.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sapdb.inc.php index e70436d..ad08657 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sapdb.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sapdb.inc.php @@ -31,10 +31,11 @@ class ADODB_SAPDB extends ADODB_odbc { var $hasInsertId = true; var $_bindInputArray = true; - function ADODB_SAPDB() + function __construct() { //if (strncmp(PHP_OS,'WIN',3) === 0) $this->curmode = SQL_CUR_USE_ODBC; - $this->ADODB_odbc(); + parent::__construct(); + } function ServerInfo() @@ -174,11 +175,11 @@ class ADORecordSet_sapdb extends ADORecordSet_odbc { var $databaseType = "sapdb"; - function ADORecordSet_sapdb($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordSet_odbc($id,$mode); + parent::__construct($id,$mode); } } } //define -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlanywhere.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlanywhere.inc.php index 24f9852..84c7736 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlanywhere.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlanywhere.inc.php @@ -56,9 +56,10 @@ class ADODB_sqlanywhere extends ADODB_odbc { var $databaseType = "sqlanywhere"; var $hasInsertID = true; - function ADODB_sqlanywhere() + function __construct() { - $this->ADODB_odbc(); + parent::__construct(); + } function _insertid() { @@ -156,9 +157,9 @@ class ADORecordSet_sqlanywhere extends ADORecordSet_odbc { var $databaseType = "sqlanywhere"; - function ADORecordSet_sqlanywhere($id,$mode=false) + function __construct($id,$mode=false) { - $this->ADORecordSet_odbc($id,$mode); + parent::__construct($id,$mode); } diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlite.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlite.inc.php index f2c1d6f..7ac2600 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlite.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlite.inc.php @@ -31,7 +31,7 @@ class ADODB_sqlite extends ADOConnection { var $sysTimeStamp = "adodb_date('Y-m-d H:i:s')"; var $fmtTimeStamp = "'Y-m-d H:i:s'"; - function ADODB_sqlite() + function __construct() { } @@ -318,7 +318,7 @@ class ADORecordset_sqlite extends ADORecordSet { var $databaseType = "sqlite"; var $bind = false; - function ADORecordset_sqlite($queryID,$mode=false) + function __construct($queryID,$mode=false) { if ($mode === false) { @@ -395,4 +395,4 @@ function _close() } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlitepo.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlitepo.inc.php index a0d5ab0..277fd35 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlitepo.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sqlitepo.inc.php @@ -24,9 +24,10 @@ class ADODB_sqlitepo extends ADODB_sqlite { var $databaseType = 'sqlitepo'; - function ADODB_sqlitepo() + function __construct() { - $this->ADODB_sqlite(); + parent::__construct(); + } } @@ -38,9 +39,9 @@ class ADORecordset_sqlitepo extends ADORecordset_sqlite { var $databaseType = 'sqlitepo'; - function ADORecordset_sqlitepo($queryID,$mode=false) + function __construct($queryID,$mode=false) { - $this->ADORecordset_sqlite($queryID,$mode); + parent::__construct($queryID,$mode); } // Modified to strip table names from returned fields @@ -59,4 +60,4 @@ function _fetch($ignore_fields=false) return !empty($this->fields); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase.inc.php index ef0a6e1..68958be 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase.inc.php @@ -40,7 +40,7 @@ class ADODB_sybase extends ADOConnection { var $leftOuter = '*='; var $rightOuter = '=*'; - function ADODB_sybase() + function __construct() { } @@ -285,7 +285,7 @@ class ADORecordset_sybase extends ADORecordSet { // _mths works only in non-localised system var $_mths = array('JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6,'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12); - function ADORecordset_sybase($id,$mode=false) + function __construct($id,$mode=false) { if ($mode === false) { global $ADODB_FETCH_MODE; @@ -293,7 +293,7 @@ function ADORecordset_sybase($id,$mode=false) } if (!$mode) $this->fetchMode = ADODB_FETCH_ASSOC; else $this->fetchMode = $mode; - $this->ADORecordSet($id,$mode); + parent::__construct($id,$mode); } /* Returns: an object containing field information. @@ -365,9 +365,9 @@ function UnixTimeStamp($v) } class ADORecordSet_array_sybase extends ADORecordSet_array { - function ADORecordSet_array_sybase($id=-1) + function __construct($id=-1) { - $this->ADORecordSet_array($id); + parent::__construct($id); } // sybase/mssql uses a default date like Dec 30 2000 12:00AM diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase_ase.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase_ase.inc.php index a79f167..6b884e3 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase_ase.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-sybase_ase.inc.php @@ -20,7 +20,7 @@ class ADODB_sybase_ase extends ADODB_sybase { var $metaColumnsSQL = "SELECT syscolumns.name AS field_name, systypes.name AS type, systypes.length AS width FROM sysobjects, syscolumns, systypes WHERE sysobjects.name='%s' AND syscolumns.id = sysobjects.id AND systypes.type=syscolumns.type"; var $metaDatabasesSQL ="SELECT a.name FROM master.dbo.sysdatabases a, master.dbo.syslogins b WHERE a.suid = b.suid and a.name like '%' and a.name != 'tempdb' and a.status3 != 256 order by 1"; - function ADODB_sybase_ase() + function __construct() { } @@ -110,10 +110,10 @@ function ErrorMsg() class adorecordset_sybase_ase extends ADORecordset_sybase { var $databaseType = "sybase_ase"; -function ADORecordset_sybase_ase($id,$mode=false) +function __construct($id,$mode=false) { - $this->ADORecordSet_sybase($id,$mode); + parent::__construct($id,$mode); } } -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-vfp.inc.php b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-vfp.inc.php index 6215cf7..43774bd 100755 --- a/src/Reportico/Reportico/reportico_adodb/drivers/adodb-vfp.inc.php +++ b/src/Reportico/Reportico/reportico_adodb/drivers/adodb-vfp.inc.php @@ -34,9 +34,10 @@ class ADODB_vfp extends ADODB_odbc { var $hasTransactions = false; var $curmode = false ; // See sqlext.h, SQL_CUR_DEFAULT == SQL_CUR_USE_DRIVER == 2L - function ADODB_vfp() + function __construct() { - $this->ADODB_odbc(); + parent::__construct(); + } function Time() @@ -72,9 +73,9 @@ class ADORecordSet_vfp extends ADORecordSet_odbc { var $databaseType = "vfp"; - function ADORecordSet_vfp($id,$mode=false) + function __construct($id,$mode=false) { - return $this->ADORecordSet_odbc($id,$mode); + parent::__construct($id,$mode); } function MetaType($t,$len=-1) @@ -104,4 +105,4 @@ function MetaType($t,$len=-1) } } //define -?> \ No newline at end of file +?> diff --git a/src/Reportico/Reportico/reportico_report.php b/src/Reportico/Reportico/reportico_report.php index 48115b5..02d7026 100644 --- a/src/Reportico/Reportico/reportico_report.php +++ b/src/Reportico/Reportico/reportico_report.php @@ -99,9 +99,11 @@ function reportico_string_to_php($in_string) if ( $first == "=" ) { $crit = substr ( $match, 1 ); + $label = ""; + $value = ""; + $this->query->lookup_queries[$crit]->criteria_summary_text($label, $value); $out_string = preg_replace("/\{$match\}/", - $this->query->lookup_queries[$crit]-> - get_criteria_clause(false,false,true), + $value, $out_string); } if ( preg_match("/^session_/", $match ) ) @@ -568,7 +570,7 @@ function each_line($val) if ( get_reportico_session_param("target_show_group_trailers") ) $this->after_group_trailers(); //echo "each line $this->inOverflow
"; - $this->before_group_headers(); + $this->before_group_headers(); $this->page_line_count++; $this->line_count++; diff --git a/src/Reportico/Reportico/reportico_report_fpdf.php b/src/Reportico/Reportico/reportico_report_fpdf.php index 79a4b9e..8e14ba7 100644 --- a/src/Reportico/Reportico/reportico_report_fpdf.php +++ b/src/Reportico/Reportico/reportico_report_fpdf.php @@ -1258,7 +1258,7 @@ function format_column(& $column_item) // PDF if ( $this->draw_mode == "DRAW" ) { - $this->draw_cell_container($wd, $this->vsize + 4, $k,"PBR",0,$just); + $this->draw_cell_container($wd, $this->vsize + 10, $k,"PBR",0,$just); } $link = false; if ( $column_item->output_hyperlinks ) diff --git a/src/Reportico/Reportico/reportico_report_html.php b/src/Reportico/Reportico/reportico_report_html.php index 2c634cb..7ceebc3 100644 --- a/src/Reportico/Reportico/reportico_report_html.php +++ b/src/Reportico/Reportico/reportico_report_html.php @@ -39,6 +39,8 @@ class reportico_report_html extends reportico_report var $abs_bottom_margin; var $abs_left_margin; var $abs_right_margin; + var $header_count = 0; + var $footer_count = 0; var $graph_session_placeholder = 0; function __construct () @@ -76,6 +78,7 @@ function finish () if ( $forward ) $forward .= "&"; + $this->text .= '
'; // In printable html mode dont show back box if ( !get_request_item("printable_html") ) { @@ -92,6 +95,7 @@ function finish () { $this->text .= '
'.template_xlate("GO_PRINT").'
'; } + $this->text .= '
'; $this->text .= '
'.template_xlate("NO_DATA_FOUND").'
'; } @@ -111,6 +115,13 @@ function finish () if ( $this->page_started ) $this->text .= ""; + + //$this->text .= ""; + $this->text .= ""; + $this->footer_count++; + $this->text .= ""; $this->page_started = false; } @@ -418,8 +429,14 @@ function format_group_header_start($throw_page = false) //$this->text .= ""; //$this->text .= ""; - if ( $throw_page ) + if ( $throw_page || $this->page_started ) + { + $title = $this->query->derive_attribute("ReportTitle", "Unknown"); + $this->page_headers(); + if ( $this->query->output_template_parameters["show_hide_report_output_title"] != "hide" ) + $this->text .= '

'.sw_translate($title).'

'; $this->text .= ''; + } else $this->text .= '
'; } @@ -656,14 +673,10 @@ function begin_page() { reportico_report::begin_page(); + $this->throw_page = true; + //$this->page_started = true; $this->debug("HTML Begin Page\n"); - // Page Headers - reportico_report::page_headers(); - - $title = $this->query->derive_attribute("ReportTitle", "Unknown"); - if ( $this->query->output_template_parameters["show_hide_report_output_title"] != "hide" ) - $this->text .= '

'.sw_translate($title).'

'; $forward = session_request_item('forward_url_get_parameters', ''); if ( $forward ) $forward .= "&"; @@ -673,15 +686,28 @@ function begin_page() { if ( !$this->query->access_mode || ( $this->query->access_mode != "REPORTOUTPUT" ) ) { + $this->text .= '
'; $this->text .= '
 
'; } if ( get_reportico_session_param("show_refresh_button") ) $this->text .= '
 
'; + $this->text .= '
'; + } else { + //$this->text .= '
 
'; + $this->text .= '
'; $this->text .= '
'.' '.'
'; + $this->text .= '
'; } + + // Page Headers + reportico_report::page_headers(); + + $title = $this->query->derive_attribute("ReportTitle", "Unknown"); + if ( $this->query->output_template_parameters["show_hide_report_output_title"] != "hide" ) + $this->text .= '

'.sw_translate($title).'

'; } function before_format_criteria_selection() @@ -723,7 +749,23 @@ function publish() function format_page_header_start() { - $this->text .= "
"; + if ( $this->line_count > 0 ) + { + $this->text .= "
"; + $this->footer_count++; + $this->text .= ""; + $this->text .= "
"; + $this->header_count++; + $this->text .= "
header_count}\" >"; + } + else + { + $this->text .= "
"; + $this->header_count++; + $this->text .= "
header_count}\" >"; + } } function format_page_header_end() diff --git a/src/Reportico/Reportico/reportico_report_tcpdf.php b/src/Reportico/Reportico/reportico_report_tcpdf.php index b498fc3..6b372a2 100644 --- a/src/Reportico/Reportico/reportico_report_tcpdf.php +++ b/src/Reportico/Reportico/reportico_report_tcpdf.php @@ -1217,6 +1217,7 @@ function draw_cell_container($w,$h=0,$txt='',$border=0,$ln=0,$align='',$valign=" //Cell with horizontal scaling if text is too wide function draw_cell($w,$h=0,$txt='',$implied_styles="PBF",$ln=0,$align='',$valign="T", $link='') { +//if ( $this->line_count < 3 ) $this->debugFile("======> DC $h $this->required_line_height"); // Set custom width $custom_width = end( $this->stylestack["width"]); if ( $custom_width ) @@ -1558,8 +1559,14 @@ function draw_cell($w,$h=0,$txt='',$implied_styles="PBF",$ln=0,$align='',$valign $preimageX = $this->document->GetX(); $preimageY = $this->document->GetY(); -//echo "$background_image, $custom_height $h
"; - $p = $this->draw_image($background_image, $this->document->GetX() + $leftmargin, $this->document->GetY() + $topmargin, $cellvaluewidth, $h); +//$this->debugFile("$this->draw_mode $margin_top t $topmargin txt <$txt> align $align image cur $cellvaluewidth / $h vs $custom_height/$custom_width $p\n"); + // If text prvoded then background image covers text else set to custom height/width +//$cellvaluewidth = "200"; + //if ( $txt ) + $p = $this->draw_image($background_image, $this->document->GetX() + $leftmargin, $this->document->GetY() + $topmargin, $cellvaluewidth, $h, false, $align); + //else + //$p = $this->draw_image($background_image, $this->document->GetX() + $leftmargin, $this->document->GetY() + $topmargin, $custom_width, $custom_height, false, $align); + $p += $topmargin; //echo "$last_draw_end_y $storeY $background_image ".$p."
"; //if ($this->document->GetY() + $p > $this->group_header_end ) @@ -2260,10 +2267,13 @@ function draw_multicell($w, $h, $txt, $border, $align, $fill, $link = false, $ke if ( $this->pdfDriver == "tcpdf" ) { - if ( $keepy ) - $this->document->Multicell($w,$h, $txt, $border, $align, $fill, 0); + if ( $link ) + $this->document->Write( $h, "$txt", $link); else - $this->document->Multicell($w,$h, $txt, $border, $align, $fill,1); + if ( $keepy ) + $this->document->Multicell($w,$h, $txt, $border, $align, $fill, 0); + else + $this->document->Multicell($w,$h, $txt, $border, $align, $fill,1); } else { @@ -2273,12 +2283,25 @@ function draw_multicell($w, $h, $txt, $border, $align, $fill, $link = false, $ke return $h; } - function draw_image($file, $x, $y, $w, $h, $hidden = false) + function draw_image($file, $x, $y, $w, $h, $hidden = false, $halign = "") { if ( $this->pdfDriver == "tcpdf" ) { + $imagehalign = "L"; + $imagevalign = "T"; + if ( $halign ) + if ( $halign == "left" ) $imagehalign = "L"; + else if ( $halign == "right" ) $imagehalign = "R"; + else if ( $halign == "center" ) $imagehalign = "C"; + else $imagehalign = $halign; + + $align = $imagehalign . $imagevalign; + //$y = $this->document->GetY(); //$y = $this->document->GetY(); - $h = $this->document->Image($file, $x, $y, $w, $h, '', '', '', false, 300, '', false, false, 0, false, 0, false, $hidden); + //$this->debugFile("DRAW $file image $x/$y $w / $h vs ".$this->document->getImageRBY() ." align : $halign $align "); + //$h = $this->document->Image($file, $x, $y, $w, $h, '', '', '', false, 300, $imagehalign, false, false, 0, false, 0, "", $hidden); + $h = $this->document->Image($file, $x, $y, $w, $h, '', '', '', false, 300, "", false, false, 0, $align, $hidden); + //$this->debugFile("DRAW $file image $h vs ".$this->document->getImageRBY() .""); $h = $this->document->getImageRBY() - $y; if ( $h < 0 ) $h = 0; @@ -3226,6 +3249,7 @@ function each_line($val) // PDF $prev_calculated_line_height = $this->calculated_line_height; $prev_current_line_height = $this->current_line_height; $prev_max_line_height = $this->max_line_height; + $prev_required_line_height = $this->required_line_height; if ( $this->column_header_required ) @@ -3237,8 +3261,7 @@ function each_line($val) // PDF $this->current_line_height = $prev_current_line_height; $this->calculated_line_height = $prev_calculated_line_height; $this->max_line_height = $prev_max_line_height; - - + $this->required_line_height = $prev_required_line_height; // Line page wrapper $this->new_report_page_line_by_style("LINE5PAGE", $this->mid_page_reportbody_styles, false); @@ -3591,7 +3614,8 @@ function debugFile( $txt ) if ( $txt == "FINISH" ) fclose($this->debugFp); else - fwrite ( $this->debugFp, "$txt => Max $this->max_line_height Curr $this->current_line_height \n" ); + fwrite ( $this->debugFp, "$txt\n" ); + //fwrite ( $this->debugFp, "$txt => Max $this->max_line_height Curr $this->current_line_height \n" ); } diff --git a/src/Reportico/Reportico/tcpdf/tcpdf.php b/src/Reportico/Reportico/tcpdf/tcpdf.php index 284378d..44b0d7b 100644 --- a/src/Reportico/Reportico/tcpdf/tcpdf.php +++ b/src/Reportico/Reportico/tcpdf/tcpdf.php @@ -539,7 +539,8 @@ class TCPDF { * @author Nicola Asuni * @protected */ - protected $imgscale = 1; + //protected $imgscale = 1; + protected $imgscale = 1.53; /** * Boolean flag set to true when the input text is unicode (require unicode fonts). @@ -6849,7 +6850,21 @@ protected function fitBlock($w, $h, $x, $y, $fitonpage=false) { * @public * @since 1.1 */ + function debugFile( $txt ) + { + if ( !$this->debugFp ) + $this->debugFp = fopen ( "/tmp/debug.pd", "w" ); + + if ( $txt == "FINISH" ) + fclose($this->debugFp); + else + fwrite ( $this->debugFp, "$txt Curr $this->current_line_height \n" ); + + } + public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $align='', $resize=false, $dpi=300, $palign='', $ismask=false, $imgmask=false, $border=0, $fitbox=false, $hidden=false, $fitonpage=false, $alt=false, $altimgs=array()) { +//$dpi = 300; + if ($this->state != 2) { return; } @@ -6875,12 +6890,16 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } // check if is a local file if (!@file_exists($file)) { +//$this->debugFile("oo"); +//$this->debugFile(getcwd()."none".$file); // try to encode spaces on filename $tfile = str_replace(' ', '%20', $file); if (@file_exists($tfile)) { $file = $tfile; } } +//else +//$this->debugFile(getcwd()." yes".$file); if (($imsize = @getimagesize($file)) === FALSE) { if (in_array($file, $this->imagekeys)) { // get existing image data @@ -6896,6 +6915,7 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig $original_file = $file; $file = TCPDF_STATIC::getObjFilename('img'); $fp = fopen($file, 'w'); + if (!$fp) { $this->Error('Unable to write file: '.$file); } @@ -6922,10 +6942,12 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } // file hash $filehash = md5($this->file_id.$file); +//$this->debugFile("$filehash ".getcwd()." $imgdata".$file); // get original image width and height in pixels list($pixw, $pixh) = $imsize; +//$this->debugFile("our $w $h piccy $pixw, $pixh "); // calculate image width and height on document - if (($w <= 0) AND ($h <= 0)) { + if ( ($w <= 0) AND ($h <= 0)) { // convert image size to document unit $w = $this->pixelsToUnits($pixw); $h = $this->pixelsToUnits($pixh); @@ -6938,8 +6960,74 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig // set default alignment $fitbox = '--'; } + + { + // store current height + $oldh = $h; + // calculate new height + if ( $resize ) + $h = $w * $pixh / $pixw; + else + $h = $pixh; + + // height difference + $hdiff = ($oldh - $h); + // vertical alignment + switch (strtoupper($fitbox[1])) { + case 'T': { + break; + } + case 'M': { + $y += ($hdiff / 2); + break; + } + case 'B': { + $y += $hdiff; + break; + } + } + + // store current width + $oldw = $w; + // calculate new width +//$this->debugFile ( "From {$fitbox[0]} Picture $pixh $pixw {$fitbox[1]} $oldw / $oldh to $w / $h diff $wdiff ? $hdiff => $x and $y"); + if ( $resize ) + $w = $h * $pixw / $pixh; + else + $w = $pixw; + $w = $this->pixelsToUnits($pixw); + $h = $this->pixelsToUnits($pixh); + // width difference + $wdiff = ($oldw - $w); +//$this->debugFile ( "From {$fitbox[0]} Picture $pixh $pixw {$fitbox[1]} $oldw / $oldh to $w / $h diff $wdiff ? $hdiff => $x and $y"); + // horizontal alignment + switch (strtoupper($fitbox[0])) { + case 'L': { + if ($this->rtl) { + $x -= $wdiff; + } + break; + } + case 'C': { + if ($this->rtl) { + $x -= ($wdiff / 2); + } else { + $x += ($wdiff / 2); + } + break; + } + case 'R': { + if (!$this->rtl) { + $x += $wdiff; + } + break; + } + } +////$this->debugFile ( "From $oldw / $oldh to $w / $h diff $wdiff ? $hdiff => $x and $y"); + } // scale image dimensions proportionally to fit within the ($w, $h) box - if ((($w * $pixh) / ($h * $pixw)) < 1) { + /*if ((($w * $pixh) / ($h * $pixw)) < 1) { +//$this->debugFile("Fit box 1 $fitbox $w * $pixh / $h * $pixw "); // store current height $oldh = $h; // calculate new height @@ -6961,6 +7049,7 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } } } else { +//$this->debugFile("Fit box 2 $fitbox $w $h"); // store current width $oldw = $w; // calculate new width @@ -6991,12 +7080,15 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } } } +*/ } // fit the image on available space list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, $fitonpage); // calculate new minimum dimensions in pixels +//$this->debugFile ( "Now $dpi vs $this->dpi $w / $h $neww $newh"); $neww = round($w * $this->k * $dpi / $this->dpi); $newh = round($h * $this->k * $dpi / $this->dpi); +//$this->debugFile ( "Now2 $w / $h $neww $newh"); // check if resize is necessary (resize is used only to reduce the image) $newsize = ($neww * $newh); $pixsize = ($pixw * $pixh); @@ -7005,9 +7097,11 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } elseif ($newsize >= $pixsize) { $resize = false; } +//$this->debugFile ( " $newsize vs $pixsize $resize Now $w / $h $neww $newh"); // check if image has been already added on document $newimage = true; if (in_array($file, $this->imagekeys)) { +//$this->debugFile ( " 1 "); $newimage = false; // get existing image data $info = $this->getImageBuffer($file); @@ -7019,6 +7113,7 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } } } elseif (($ismask === false) AND ($imgmask === false) AND (strpos($file, '__tcpdf_imgmask_') === FALSE)) { +//$this->debugFile ( " 2 "); // create temp image file (without alpha channel) $tempfile_plain = K_PATH_CACHE.'__tcpdf_imgmask_plain_'.$filehash; // create temp alpha file @@ -7041,6 +7136,9 @@ public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $alig } } if ($newimage) { +//$this->debugFile ( " NEW "); + // check if image has been already added on document + //First use of image, get info $type = strtolower($type); if ($type == '') {