Esempio n. 1
0
 /**
 ----------------------------------------------------------------------+
 * @desc 	FIXME
 ----------------------------------------------------------------------+
 */
 protected function write($filename, $content)
 {
     if (!$this->dry_run) {
         if (!\phplinter\Path::write_file($filename, $content)) {
             die("Unable to create '{$filename}'...");
         }
     }
     if ($this->config->check(OPT_VERBOSE)) {
         echo "Wrote to file `{$filename}`\n";
     }
 }
Esempio n. 2
0
 /**
 ----------------------------------------------------------------------+
 * @desc 	Create HTML report
 * @param	Array	Lint report
 * @param	Array	Lint scores
 * @param	String	Target
 ----------------------------------------------------------------------+
 */
 public function create($report, $penaltys = null, $root = null)
 {
     $this->root = realpath($root);
     $output_dir = realpath($this->html['out']);
     if (!$output_dir) {
         $output_dir = $this->html['out'];
     }
     if ($this->config->check(OPT_VERBOSE)) {
         echo "Generating HTML Report to '{$output_dir}'\n";
     }
     if (file_exists($output_dir) && $this->html['overwrite']) {
         if ($this->config->check(OPT_VERBOSE)) {
             echo "Emptying `{$output_dir}`\n";
         }
         if (!$this->dry_run) {
             \phplinter\Path::del_recursive($output_dir);
         }
     }
     if (!file_exists($output_dir)) {
         $this->mkdir($output_dir, 0775);
     }
     $this->write($output_dir . '/html_report.css', $this->css());
     foreach ($report as $file => $rep) {
         $out = '<div class="wrapper"><table border="1" cellpadding="0" cellspacing="0">';
         $content = '';
         foreach ($rep as $_) {
             $content .= $this->_fmessage($_);
         }
         $out .= '<tr>';
         $score = SCORE_FULL + $penaltys[$file];
         $class = $this->get_score_class($score);
         $out .= '<td colspan="2" align="center" class="' . $class . '">';
         $out .= sprintf('Score: %.2f', $score);
         $out .= '</td>';
         $parts = explode('/', $file);
         $rfile = array_pop($parts);
         $depth = count($parts);
         $path = $depth > 1 ? implode('/', $parts) : '';
         $path = substr(realpath($path), strlen($this->root));
         $out .= '<td class="filename">';
         $out .= "{$path}/{$rfile}";
         $out .= '<td class="line">';
         $out .= 'Line</td></tr>';
         $out .= '</td></tr>';
         $out .= $content;
         $out .= '</table></div>';
         $dir = $output_dir . $path;
         if (!file_exists($dir)) {
             $this->mkdir($dir, 0775, true);
         }
         $pp = explode('/', substr(realpath(implode('/', $parts)), mb_strlen($this->root)));
         $ofile = $dir . '/' . strtr($rfile, './', '__') . '.html';
         $this->write($ofile, $this->_html($out, count($pp)));
         $url['phplinter___file'] = $file;
         $url['phplinter___url'] = strtr($rfile, './', '__') . '.html';
         $url['phplinter___sort'] = strtolower($url['phplinter___url']);
         $this->parts($pp, $url, $urls);
     }
     $urls = $this->sort($urls);
     $this->output_indexes($urls, $penaltys);
 }