View Issue Details

This bug affects 1 person(s).
 10
IDProjectCategoryView StatusLast Update
16865Bug reportsImport/Exportpublic2020-12-02 08:43
ReporterDenisChenu Assigned ToDenisChenu  
PrioritynoneSeverityminor 
Status closedResolutionfixed 
Product Version3.25.1 
Summary16865: Unable to export as PDF with PHP7.4
Description

When try to export as pdf with debug set :

Steps To Reproduce

With PHP 7.4 instance + debug > 1

  1. Import included survey
  2. Go to response
  3. Export
  4. PDF
  5. Export
    See the issue
Additional Information

Fixed in https://github.com/tecnickcom/TCPDF/pull/123
Time to update TCPDF :D

TagsNo tags attached.
Attached Files
PHP warning.html (27,845 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PHP warning</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
</head>

<body>
<div class="container">
	<h1>PHP warning</h1>

	<p class="message">
		chr() expects parameter 1 to be int, string given	</p>

	<div class="source">
		<p class="file">/mnt/data/shnoulle/nginx/www/3LTS/application/third_party/tcpdf/include/tcpdf_fonts.php(1671)</p>
		<div class="code"><pre><span class="ln">1659</span>      * Returns the unicode caracter specified by the value
<span class="ln">1660</span>      * @param $c (int) UTF-8 value
<span class="ln">1661</span>      * @param $unicode (boolean) True if we are in unicode mode, false otherwise.
<span class="ln">1662</span>      * @return Returns the specified character.
<span class="ln">1663</span>      * @since 2.3.000 (2008-03-05)
<span class="ln">1664</span>      * @public static
<span class="ln">1665</span>      */
<span class="ln">1666</span>     public static function unichr($c, $unicode=true) {
<span class="ln">1667</span>         if (!$unicode) {
<span class="ln">1668</span>             return chr($c);
<span class="ln">1669</span>         } elseif ($c &lt;= 0x7F) {
<span class="ln">1670</span>             // one byte
<span class="error"><span class="ln error-ln">1671</span>             return chr($c);
</span><span class="ln">1672</span>         } elseif ($c &lt;= 0x7FF) {
<span class="ln">1673</span>             // two bytes
<span class="ln">1674</span>             return chr(0xC0 | $c &gt;&gt; 6).chr(0x80 | $c &amp; 0x3F);
<span class="ln">1675</span>         } elseif ($c &lt;= 0xFFFF) {
<span class="ln">1676</span>             // three bytes
<span class="ln">1677</span>             return chr(0xE0 | $c &gt;&gt; 12).chr(0x80 | $c &gt;&gt; 6 &amp; 0x3F).chr(0x80 | $c &amp; 0x3F);
<span class="ln">1678</span>         } elseif ($c &lt;= 0x10FFFF) {
<span class="ln">1679</span>             // four bytes
<span class="ln">1680</span>             return chr(0xF0 | $c &gt;&gt; 18).chr(0x80 | $c &gt;&gt; 12 &amp; 0x3F).chr(0x80 | $c &gt;&gt; 6 &amp; 0x3F).chr(0x80 | $c &amp; 0x3F);
<span class="ln">1681</span>         } else {
<span class="ln">1682</span>             return '';
<span class="ln">1683</span>         }
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace app expanded">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/third_party/tcpdf/include/tcpdf_fonts.php(1671): <strong>chr</strong>("")				</div>

				<div class="code"><pre><span class="ln">1666</span>     public static function unichr($c, $unicode=true) {
<span class="ln">1667</span>         if (!$unicode) {
<span class="ln">1668</span>             return chr($c);
<span class="ln">1669</span>         } elseif ($c &lt;= 0x7F) {
<span class="ln">1670</span>             // one byte
<span class="error"><span class="ln error-ln">1671</span>             return chr($c);
</span><span class="ln">1672</span>         } elseif ($c &lt;= 0x7FF) {
<span class="ln">1673</span>             // two bytes
<span class="ln">1674</span>             return chr(0xC0 | $c &gt;&gt; 6).chr(0x80 | $c &amp; 0x3F);
<span class="ln">1675</span>         } elseif ($c &lt;= 0xFFFF) {
<span class="ln">1676</span>             // three bytes
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/third_party/tcpdf/include/tcpdf_fonts.php(1803): <strong>TCPDF_FONTS</strong>::<strong>unichr</strong>("", true)				</div>

				<div class="code"><pre><span class="ln">1798</span>         if (strlen($end) == 0) {
<span class="ln">1799</span>             $end = count($strarr);
<span class="ln">1800</span>         }
<span class="ln">1801</span>         $string = '';
<span class="ln">1802</span>         for ($i = $start; $i &lt; $end; ++$i) {
<span class="error"><span class="ln error-ln">1803</span>             $string .= self::unichr($strarr[$i], $unicode);
</span><span class="ln">1804</span>         }
<span class="ln">1805</span>         return $string;
<span class="ln">1806</span>     }
<span class="ln">1807</span> 
<span class="ln">1808</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/third_party/tcpdf/include/tcpdf_fonts.php(2099): <strong>TCPDF_FONTS</strong>::<strong>UTF8ArrSubString</strong>(array(""), 0, 1, true)				</div>

				<div class="code"><pre><span class="ln">2094</span>         $pel = 0;
<span class="ln">2095</span>         // max level
<span class="ln">2096</span>         $maxlevel = 0;
<span class="ln">2097</span>         if (TCPDF_STATIC::empty_string($str)) {
<span class="ln">2098</span>             // create string from array
<span class="error"><span class="ln error-ln">2099</span>             $str = self::UTF8ArrSubString($ta, '', '', $isunicode);
</span><span class="ln">2100</span>         }
<span class="ln">2101</span>         // check if string contains arabic text
<span class="ln">2102</span>         if (preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_ARABIC, $str)) {
<span class="ln">2103</span>             $arabic = true;
<span class="ln">2104</span>         } else {
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/third_party/tcpdf/tcpdf.php(1963): <strong>TCPDF_FONTS</strong>::<strong>utf8Bidi</strong>(array(""), "", false, true, ...)				</div>

				<div class="code"><pre><span class="ln">1958</span>         $this-&gt;ur['ef'] = '/Create/Delete/Modify/Import';
<span class="ln">1959</span>         $this-&gt;ur['formex'] = '';
<span class="ln">1960</span>         // set default JPEG quality
<span class="ln">1961</span>         $this-&gt;jpeg_quality = 75;
<span class="ln">1962</span>         // initialize some settings
<span class="error"><span class="ln error-ln">1963</span>         TCPDF_FONTS::utf8Bidi(array(''), '', false, $this-&gt;isunicode, $this-&gt;CurrentFont);
</span><span class="ln">1964</span>         // set default font
<span class="ln">1965</span>         $this-&gt;SetFont($this-&gt;FontFamily, $this-&gt;FontStyle, $this-&gt;FontSizePt);
<span class="ln">1966</span>         $this-&gt;setHeaderFont(array($this-&gt;FontFamily, $this-&gt;FontStyle, $this-&gt;FontSizePt));
<span class="ln">1967</span>         $this-&gt;setFooterFont(array($this-&gt;FontFamily, $this-&gt;FontStyle, $this-&gt;FontSizePt));
<span class="ln">1968</span>         // check if PCRE Unicode support is enabled
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/libraries/admin/pdf.php(263): <strong>TCPDF</strong>-&gt;<strong>__construct</strong>("P", "mm", "A4", true, ...)				</div>

				<div class="code"><pre><span class="ln">258</span>             $this-&gt;_config['page_orientation'],
<span class="ln">259</span>             $this-&gt;_config['page_unit'],
<span class="ln">260</span>             $this-&gt;_config['page_format'],
<span class="ln">261</span>             $this-&gt;_config['unicode'],
<span class="ln">262</span>             $this-&gt;_config['encoding'],
<span class="error"><span class="ln error-ln">263</span>             $this-&gt;_config['enable_disk_cache']
</span><span class="ln">264</span>         );
<span class="ln">265</span> 
<span class="ln">266</span> 
<span class="ln">267</span>         # margin settings
<span class="ln">268</span>         $this-&gt;SetMargins($this-&gt;_config['margin_left'], $this-&gt;_config['margin_top'], $this-&gt;_config['margin_right']);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/admin/export/PdfWriter.php(32): <strong>pdf</strong>-&gt;<strong>__construct</strong>()				</div>

				<div class="code"><pre><span class="ln">27</span>         Yii::import('application.libraries.admin.pdf', true);
<span class="ln">28</span>         Yii::import('application.helpers.pdfHelper');
<span class="ln">29</span>         $aPdfLanguageSettings = pdfHelper::getPdfLanguageSettings($sLanguageCode);
<span class="ln">30</span> 
<span class="ln">31</span>         // create PDF document
<span class="error"><span class="ln error-ln">32</span>         $this-&gt;pdf = new pdf();
</span><span class="ln">33</span>         $this-&gt;surveyName = $survey-&gt;info['surveyls_title'];
<span class="ln">34</span>         $this-&gt;pdf-&gt;initAnswerPDF($survey-&gt;info, $aPdfLanguageSettings, Yii::app()-&gt;getConfig('sitename'), $this-&gt;surveyName);
<span class="ln">35</span>         $this-&gt;separator = "\t";
<span class="ln">36</span>         $this-&gt;rowCounter = 0;
<span class="ln">37</span>         $this-&gt;aGroupMap = $this-&gt;setGroupMap($survey, $oOptions);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/admin/exportresults_helper.php(103): <strong>PdfWriter</strong>-&gt;<strong>init</strong>(SurveyObj, "de", FormattingOptions)				</div>

				<div class="code"><pre><span class="ln">098</span>             throw new Exception(sprintf('Writer for %s should implement IWriter', $sExportPlugin));
<span class="ln">099</span>         }
<span class="ln">100</span> 
<span class="ln">101</span>         $surveyDao = new SurveyDao();
<span class="ln">102</span>         $survey = $surveyDao-&gt;loadSurveyById($iSurveyId, $sLanguageCode, $oOptions);
<span class="error"><span class="ln error-ln">103</span>         $writer-&gt;init($survey, $sLanguageCode, $oOptions);
</span><span class="ln">104</span>         
<span class="ln">105</span>         $surveyDao-&gt;loadSurveyResults($survey, $oOptions-&gt;responseMinRecord, $oOptions-&gt;responseMaxRecord, $sFilter, $oOptions-&gt;responseCompletionState, $oOptions-&gt;selectedColumns, $oOptions-&gt;aResponses);
<span class="ln">106</span>         $writer-&gt;write($survey, $sLanguageCode, $oOptions, true);
<span class="ln">107</span>         $result = $writer-&gt;close();
<span class="ln">108</span>         
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/admin/export.php(325): <strong>ExportSurveyResultsService</strong>-&gt;<strong>exportResponses</strong>("971892", "de", "pdf", FormattingOptions, ...)				</div>

				<div class="code"><pre><span class="ln">320</span>         } else {
<span class="ln">321</span>             $sFilter = '';
<span class="ln">322</span>         }
<span class="ln">323</span> 
<span class="ln">324</span>         viewHelper::disableHtmlLogging();
<span class="error"><span class="ln error-ln">325</span>         $resultsService-&gt;exportResponses($iSurveyID, $explang, $sExportType, $options, $sFilter);
</span><span class="ln">326</span> 
<span class="ln">327</span>         Yii::app()-&gt;end();
<span class="ln">328</span>     }
<span class="ln">329</span> 
<span class="ln">330</span>     /*
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>export</strong>-&gt;<strong>exportresults</strong>()				</div>

							</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/actions/CAction.php(109): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(export, array())				</div>

				<div class="code"><pre><span class="ln">104</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">105</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">106</span>             else
<span class="ln">107</span>                 return false;
<span class="ln">108</span>         }
<span class="error"><span class="ln error-ln">109</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">110</span>         return true;
<span class="ln">111</span>     }
<span class="ln">112</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/core/Survey_Common_Action.php(83): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(export,
 ReflectionMethod, array("r" =&gt; 
"admin/export/sa/exportresults/surveyid/971892", "sa" =&gt; 
"exportresults", "surveyid" =&gt; "971892", "iSurveyId" =&gt; "971892", 
...))				</div>

				<div class="code"><pre><span class="ln">78</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">79</span>         }
<span class="ln">80</span> 
<span class="ln">81</span>         // We're all good to go, let's execute it
<span class="ln">82</span>         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
<span class="error"><span class="ln error-ln">83</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">84</span>     }
<span class="ln">85</span> 
<span class="ln">86</span>     /**
<span class="ln">87</span>      * Some functions have different parameters, which are just an alias of the
<span class="ln">88</span>      * usual parameters we're getting in the url. This function just populates
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(308): <strong>Survey_Common_Action</strong>-&gt;<strong>runWithParams</strong>(array("r"
 =&gt; "admin/export/sa/exportresults/surveyid/971892", "sa" =&gt; 
"exportresults", "surveyid" =&gt; "971892", "iSurveyId" =&gt; "971892", 
...))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(export)				</div>

				<div class="code"><pre><span class="ln">281</span>      * @see runAction
<span class="ln">282</span>      */
<span class="ln">283</span>     public function runActionWithFilters($action,$filters)
<span class="ln">284</span>     {
<span class="ln">285</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">286</span>             $this-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(export, array())				</div>

				<div class="code"><pre><span class="ln">260</span>         {
<span class="ln">261</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">267</span>             }
<span class="ln">268</span>         }
<span class="ln">269</span>         else
<span class="ln">270</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/AdminController.php(165): <strong>CController</strong>-&gt;<strong>run</strong>("export")				</div>

				<div class="code"><pre><span class="ln">160</span>                     $this-&gt;redirect(array('/admin/authentication/sa/login'));
<span class="ln">161</span>                 }
<span class="ln">162</span>             }
<span class="ln">163</span>         }
<span class="ln">164</span> 
<span class="error"><span class="ln error-ln">165</span>         return parent::run($action);
</span><span class="ln">166</span>     }
<span class="ln">167</span> 
<span class="ln">168</span>     /**
<span class="ln">169</span>      * Routes all the actions to their respective places
<span class="ln">170</span>      *
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-&gt;<strong>run</strong>("export")				</div>

				<div class="code"><pre><span class="ln">277</span>         {
<span class="ln">278</span>             list($controller,$actionID)=$ca;
<span class="ln">279</span>             $oldController=$this-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#16			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/export/sa/exportresults/surveyid/971892")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#17			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">180</span>     public function run()
<span class="ln">181</span>     {
<span class="ln">182</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">187</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">188</span>     }
<span class="ln">189</span> 
<span class="ln">190</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#18			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/index.php(194): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">189</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">190</span> 
<span class="ln">191</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">192</span> 
<span class="ln">193</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">194</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">195</span> 
<span class="ln">196</span> /* End of file index.php */
<span class="ln">197</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2020-11-27 11:24:36 nginx/1.18.0 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.22-dev	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>



<div id="grammalecte_menu_main_button_shadow_host" style="width: 0px; height: 0px;"></div></body><script src="PHP%20warning_fichiers/api.js"></script></html>
PHP warning.html (27,845 bytes)   
Bug heat10
Complete LimeSurvey version number (& build)3.25.1+27675
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionnot relevant?
Server OS (if known)fedora/linux
Webserver software & version (if known)nginx
PHP Version7.4.12

Relationships

has duplicate 16872 closedDenisChenu Tcpdf error in the response details as queXML PDF 

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2020-11-29 17:16

developer   ~60794

I check on my server : seems OK,

Looking at update : don't see potential issue

https://github.com/LimeSurvey/LimeSurvey/pull/1669

DenisChenu

DenisChenu

2020-11-29 20:56

developer   ~60795

Fix committed to 3.x-LTS branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=30758

DenisChenu

DenisChenu

2020-11-30 08:26

developer   ~60796

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=30759

lime_release_bot

lime_release_bot

2020-11-30 11:37

administrator   ~60799

Fixed in Release 4.3.29+201130

Related Changesets

LimeSurvey: 3.x-LTS 4cbaa189

2020-11-29 20:56:40

DenisChenu


Committer: GitHub Details Diff
Fixed issue 16865: Unable to export as PDF with PHP7.4 (#1669)

Dev: update TCPDF, remove examples directroy
Affected Issues
16865
mod - application/third_party/tcpdf/LICENSE.TXT Diff File
mod - application/third_party/tcpdf/LIMESURVEY-README.txt Diff File
mod - application/third_party/tcpdf/README.md Diff File
add - application/third_party/tcpdf/VERSION Diff File
mod - application/third_party/tcpdf/composer.json Diff File
rm - application/third_party/tcpdf/fonts/ae_fonts_2.0/ChangeLog.9745.BAK Diff File
rm - application/third_party/tcpdf/fonts/freefont-20120503/ChangeLog.10070.BAK Diff File
mod - application/third_party/tcpdf/include/tcpdf_colors.php Diff File
mod - application/third_party/tcpdf/include/tcpdf_fonts.php Diff File
mod - application/third_party/tcpdf/include/tcpdf_static.php Diff File
mod - application/third_party/tcpdf/tcpdf.php Diff File
mod - application/third_party/tcpdf/tcpdf_barcodes_1d.php Diff File

LimeSurvey: master bddef7c8

2020-11-29 20:56:40

DenisChenu


Committer: c_schmitz Details Diff
Fixed issue 16865: Unable to export as PDF with PHP7.4 (#1669)

Dev: update TCPDF, remove examples directroy
Affected Issues
16865
mod - application/third_party/tcpdf/LICENSE.TXT Diff File
mod - application/third_party/tcpdf/LIMESURVEY-README.txt Diff File
mod - application/third_party/tcpdf/README.md Diff File
add - application/third_party/tcpdf/VERSION Diff File
mod - application/third_party/tcpdf/composer.json Diff File
rm - application/third_party/tcpdf/fonts/ae_fonts_2.0/ChangeLog.9745.BAK Diff File
rm - application/third_party/tcpdf/fonts/freefont-20120503/ChangeLog.10070.BAK Diff File
mod - application/third_party/tcpdf/include/tcpdf_colors.php Diff File
mod - application/third_party/tcpdf/include/tcpdf_fonts.php Diff File
mod - application/third_party/tcpdf/include/tcpdf_static.php Diff File
mod - application/third_party/tcpdf/tcpdf.php Diff File
mod - application/third_party/tcpdf/tcpdf_barcodes_1d.php Diff File

Issue History

Date Modified Username Field Change
2020-11-27 12:30 DenisChenu New Issue
2020-11-27 12:30 DenisChenu File Added: PHP warning.html
2020-11-27 12:30 DenisChenu File Added: survey_archive_971892.lsa
2020-11-29 17:15 DenisChenu Assigned To => DenisChenu
2020-11-29 17:15 DenisChenu Status new => assigned
2020-11-29 17:16 DenisChenu Assigned To DenisChenu => cdorin
2020-11-29 17:16 DenisChenu Status assigned => ready for testing
2020-11-29 17:16 DenisChenu Note Added: 60794
2020-11-29 20:56 DenisChenu Changeset attached => LimeSurvey 3.x-LTS 4cbaa189
2020-11-29 20:56 DenisChenu Note Added: 60795
2020-11-29 20:56 DenisChenu Assigned To cdorin => DenisChenu
2020-11-29 20:56 DenisChenu Resolution open => fixed
2020-11-30 08:26 c_schmitz Changeset attached => LimeSurvey master bddef7c8
2020-11-30 08:26 DenisChenu Note Added: 60796
2020-11-30 11:37 lime_release_bot Note Added: 60799
2020-11-30 11:37 lime_release_bot Status ready for testing => closed
2020-12-02 08:43 DenisChenu Relationship added has duplicate 16872