Exakat\Reports\Ambassador::generateCodes PHP Method

generateCodes() private method

private generateCodes ( )
    private function generateCodes()
    {
        mkdir($this->tmpName . '/datas/sources/', 0755);
        $filesList = $this->datastore->getRow('files');
        $files = '';
        foreach ($filesList as $row) {
            $id = str_replace('/', '_', $row['file']);
            $subdirs = explode('/', dirname($row['file']));
            $dir = $this->tmpName . '/datas/sources';
            foreach ($subdirs as $subdir) {
                $dir .= '/' . $subdir;
                if (!file_exists($dir)) {
                    mkdir($dir, 0755);
                }
            }
            $source = show_source(dirname($this->tmpName) . '/code/' . $row['file'], true);
            $files .= '<li><a href="#" id="' . $id . '" class="menuitem">' . htmlentities($row['file'], ENT_COMPAT | ENT_HTML401, 'UTF-8') . "</a></li>\n";
            file_put_contents($this->tmpName . '/datas/sources/' . $row['file'], substr($source, 6, -8));
        }
        $blocjs = <<<JAVASCRIPT
  <script src="facetedsearch.js"></script>


  <script>
  "use strict";

  \$('.menuitem').click(function(event){
    \$('#results').load("sources/" + event.target.text);
    \$('#filename').html(event.target.text + '  <span class="caret"></span>');
  });

  var fileParam = window.location.search.split('file=')[1];
  if(fileParam !== undefined) {
    \$('#results').load("sources/" + fileParam);
    \$('#filename').html(fileParam + '  <span class="caret"></span>');
  }
  

  </script>
JAVASCRIPT;
        $html = $this->getBasedPage('codes');
        $html = $this->injectBloc($html, 'BLOC-JS', $blocjs);
        $html = $this->injectBloc($html, 'FILES', $files);
        $this->putBasedPage('codes', $html);
    }