cvs: bugtracker /includes template.php /template/generic/bug index.php /template/generic/report index.php

From: Date: Wed, 06 Aug 2008 11:18:16 +0000
Subject: cvs: bugtracker /includes template.php /template/generic/bug index.php /template/generic/report index.php
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-2316@lists.php.net to get a copy of this message
bcarlyon Wed Aug 6 11:18:16 2008 UTC Modified files: /bugtracker/includes template.php /bugtracker/template/generic/bug index.php /bugtracker/template/generic/report index.php Log: Template engine patch http://cvs.php.net/viewvc.cgi/bugtracker/includes/template.php?r1=1.6&r2=1.7&diff_format=u Index: bugtracker/includes/template.php diff -u bugtracker/includes/template.php:1.6 bugtracker/includes/template.php:1.7 --- bugtracker/includes/template.php:1.6 Tue Aug 5 22:15:28 2008 +++ bugtracker/includes/template.php Wed Aug 6 11:18:16 2008 @@ -148,7 +148,8 @@ $this->html = preg_replace("[\"\{[\w\d].*\}\"]", '""', $this->html); //strip >{}< $this->html = preg_replace("[\>\{[\w\d].*\}\<]", '><', $this->html); - + //strip \ {} + $this->html = preg_replace("[ \{[\w\d].*\}]", ' ', $this->html); $this->html = preg_replace("[@]", '[cookies]', $this->html); echo $this->html; @@ -172,6 +173,7 @@ //put the victim on the target $source = str_replace('{' . strtoupper($target) . '}', $victim, $source); + if ($return) return $source; else @@ -191,10 +193,18 @@ $html .= $this->loop_html; if (is_array($data)) { + $mod = 'DSP'; +/* + if ($ref == 'form') { + $mod = 'FORM'; + } elseif ($ref == 'error') { + $mod = 'ERROR'; + } +*/ foreach ($data as $nref => $ndata) { $ndata = $this->sanitize($ndata); $ndata = $this->time_check($nref, $ndata, $data); - $html = $this->swap('DSP_' . $nref, $ndata, $html); + $html = $this->swap($mod . '_' . $nref, $ndata, $html); } } else { $data = $this->sanitize($data); @@ -205,11 +215,39 @@ return $html; } + function dontloop($loop_data, $html) { + foreach ($loop_data as $ref => $data) { + $mod = ''; + if ($ref == 'form') { + $mod = 'FORM_'; + } elseif ($ref == 'error') { + $mod = 'ERROR_'; + } + if (is_array($data)) + { + foreach ($data as $nref => $ndata) { + $ndata = $this->sanitize($ndata); + $ndata = $this->time_check($nref, $ndata, $data); + $html = $this->swap($mod . $nref, $ndata, $html); + } + } else { + $data = $this->sanitize($data); + $data = $this->time_check($ref, $data, $loop_data); + $html = $this->swap($mod . $ref, $data, $html); + } + } + return $html; + } function sanitize($in) { $out = $in; - if (strlen($in) > 4) + + if (substr($in,0,7) == '<option') + { + $out = $in; + } + elseif (strlen($in) > 4) { $out = htmlentities($in, ENT_QUOTES, 'UTF-8'); } http://cvs.php.net/viewvc.cgi/bugtracker/template/generic/bug/index.php?r1=1.20&r2=1.21&diff_format=u Index: bugtracker/template/generic/bug/index.php diff -u bugtracker/template/generic/bug/index.php:1.20 bugtracker/template/generic/bug/index.php:1.21 --- bugtracker/template/generic/bug/index.php:1.20 Tue Aug 5 15:05:59 2008 +++ bugtracker/template/generic/bug/index.php Wed Aug 6 11:18:16 2008 @@ -22,12 +22,15 @@ else { $this->javascript = '<script type="text/javascript" src="/elements/js/lineno.js" ></script>'; - $this->javascript .= '<script type="text/javascript"> + $this->javascript .= ' +{DSP_SHOW_REPRODUCE} +<script type="text/javascript"> function onload() { createTextAreaWithLines(\'reproduce\'); } -</script>'; +</script> +{DSP_END_REPRODUCE}'; $row = $db->fetch_row(); http://cvs.php.net/viewvc.cgi/bugtracker/template/generic/report/index.php?r1=1.10&r2=1.11&diff_format=u Index: bugtracker/template/generic/report/index.php diff -u bugtracker/template/generic/report/index.php:1.10 bugtracker/template/generic/report/index.php:1.11 --- bugtracker/template/generic/report/index.php:1.10 Tue Aug 5 22:15:29 2008 +++ bugtracker/template/generic/report/index.php Wed Aug 6 11:18:16 2008 @@ -6,6 +6,18 @@ $this->content_title = 'Reporting a bug'; $form_data['form_error'] = isset($form_data['form_error']) ? $form_data['form_error'] : ''; +//form_data recovers form_data +//this is pushed to dsp_data for template process +$form_data['email'] = isset($form_data['email']) ? $form_data['email'] : ''; +$form_data['php_version'] = isset($form_data['php_version']) ? $form_data['php_version'] : ''; +$form_data['bug_type'] = isset($form_data['bug_type']) ? $form_data['bug_type'] : ''; +$form_data['os_version'] = isset($form_data['os_version']) ? $form_data['os_version'] : ''; + +$form_data['php_versions'] = $cache->convert('php_version', 'select', $form_data['php_version'], '1'); +$form_data['bug_types'] = $cache->convert('bug_type', 'select', $form_data['bug_type'] ); +$form_data['os_versions'] = $cache->convert('os_version', 'select', $form_data['os_version'] ); + +$form_data['php_versions'] .= '<option value="na">Irrelevant</option><option value="early">Earlier? Upgrade First</option>'; $this->prehtml = '<p> Before you report a bug, make sure to search for similar bugs using the form at the top of the page or our <a href="/search.php">advanced search page</a>. @@ -25,14 +37,7 @@ </p> '; -$form_data['php_versions'] = $cache->convert('php_version', 'select', '', '1'); -$form_data['bug_types'] = $cache->convert('bug_type', 'select', ''); -$form_data['os_versions'] = $cache->convert('os_version', 'select', ''); - -$form_data['php_versions'] .= '<option value="na">Irrelevant</option><option value="early">Earlier? Upgrade First</option>'; - //time to process - $content = '{DSP_FORM_ERROR}'; $content = $this->swap('dsp_form_error', $form_data['form_error'], $content); @@ -42,12 +47,17 @@ {IF LOGGED_IN} You are Logged In {ELSE LOGGED_IN} - <label for="email">Email Address: {ERROR_EMAIL} </label> <input type="text" name="email" id="email" value="{EMAIL}" /> + <label for="email">Email Address: {ERROR_EMAIL} </label> <input type="text" name="email" id="email" value="{FORM_EMAIL}" /> <br /><br /> {ENDIF LOGGED_IN} - <label for="php_version">PHP version: {ERROR_PHP_VERSION}</label> <select name="php_version" id="php_version"><option value="">--Please Select--</option>{PHP_VERSIONS}</select> + <label for="php_version">PHP version: {ERROR_PHP_VERSION}</label> <select name="php_version" id="php_version"><option value="">--Please Select--</option>{FORM_PHP_VERSIONS}</select> </div> </form>'; +//generate items for swap +$error_data = array(); + +$content = $this->dontloop(array('form' => $form_data, 'error' => $error_data), $content); + $this->prehtml .= $content;

« previous php.webmaster (#2316) next »