You are here

function contentanalysis_build_analysis_content in Content Analysis 6

Same name and namespace in other branches
  1. 8 contentanalysis.module \contentanalysis_build_analysis_content()
  2. 7 contentanalysis.module \contentanalysis_build_analysis_content()

Readies analysis elements such as stats and messages as markup output

Parameters

$analysis: contentanalysis formated analysis array

1 call to contentanalysis_build_analysis_content()
contentanalysis_analyze_js in ./contentanalysis.module
Returns content analysis for AJAX calls

File

./contentanalysis.module, line 1018

Code

function contentanalysis_build_analysis_content($analysis) {
  $ignore_keys = array(
    'content',
    'context',
    'stats',
    'tests',
    'messages',
  );

  // create status messages table
  foreach ($analysis as $aid => $analysisi) {
    if (substr($aid, 0, 1) == '#' || !is_array($analysisi)) {
      continue;
    }
    $content = theme_contentanalysis_status_report($analysisi);
    $analysis[$aid]['content'][] = array(
      '#value' => $content,
      '#weight' => 0,
    );

    // construct content for section analysis
    $analysis[$aid]['sections'] = array();
    foreach ($analysisi as $sid => $analysisis) {
      if (substr($sid, 0, 1) == '#' || in_array($sid, $ignore_keys)) {
        continue;
      }
      $content = '';
      $analysis[$aid]['sections'][] = $sid;
      $content = theme_contentanalysis_status_report($analysisi, $sid);
      if ($content) {
        if (!is_array($analysis[$aid][$sid]['content'])) {
          $analysis[$aid][$sid]['content'] = array();
        }
        $analysis[$aid][$sid]['content'][] = array(
          '#value' => $content,
          '#weight' => 0,
        );
      }
    }
  }
  $tabs = '';
  $con = '';
  foreach ($analysis as $aid => $analysisi) {
    $ti = 0;
    if (substr($aid, 0, 1) == '#' || !is_array($analysisi)) {
      continue;
    }
    $analysis[$aid]['output'] = '<div id="contentanalysis-report-' . $aid . '" class="contentanalysis-report">';
    if ($analysisi['content'][0]['#tab']) {
      $tabs = '<h3 id="contentanalysis-report-tab-' . $aid . '-0" class="contentanalysis-report-tab">' . $analysisi['content'][0]['#value'] . "</h3>\n";
    }
    else {
      $tabs = '<h3 id="contentanalysis-report-tab-' . $aid . '-0" class="contentanalysis-report-tab">' . t('Report') . "</h3>\n";
    }
    uasort($analysisi['content'], "element_sort");
    $i = 0;
    $con = '<div id="contentanalysis-report-results-' . $aid . '-' . $ti . '" class="contentanalysis-results-section">';
    foreach ($analysisi['content'] as $item) {
      if ($item['#tab']) {
        if ($i == 0) {
          continue;
        }
        $ti++;
        $con .= '</div>';
        $tabs .= '<h3  id="contentanalysis-report-tab-' . $aid . '-' . $ti . '" class="contentanalysis-report-tab">' . $item['#value'] . "</h3>\n";
        $con .= '<div id="contentanalysis-report-results-' . $aid . '-' . $ti . '" class="contentanalysis-results-section">';
      }
      else {
        $con .= $item['#value'];
      }
      $i++;
    }
    $con .= '</div>';
    $analysis[$aid]['output'] .= '<div id="contentanalysis-report-tabs-' . $aid . '" class="contentanalysis-report-tabs">';
    $analysis[$aid]['output'] .= $tabs;
    $analysis[$aid]['output'] .= '</div>';
    $analysis[$aid]['output'] .= '<div id="contentanalysis-report-results-' . $aid . '" class="contentanalysis-results">';
    $analysis[$aid]['output'] .= $con;
    $analysis[$aid]['output'] .= '</div>';
    $analysis[$aid]['output'] .= "</div>\n";
    foreach ($analysisi['sections'] as $sid) {
      if (!is_array($analysisi[$sid]['content'])) {
        continue;
      }
      uasort($analysisi[$sid]['content'], "element_sort");
      foreach ($analysisi[$sid]['content'] as $content) {
        $analysis[$aid][$sid]['output'] .= $content['#value'];
      }
    }
  }
  return $analysis;
}