You are here

function contentanalysis_save_status in Content Analysis 6

Same name and namespace in other branches
  1. 8 contentanalysis.module \contentanalysis_save_status()
  2. 7 contentanalysis.module \contentanalysis_save_status()
1 call to contentanalysis_save_status()
contentanalysis_analyze_js in ./contentanalysis.module
Returns content analysis for AJAX calls

File

./contentanalysis.module, line 503

Code

function contentanalysis_save_status($analysis) {
  $aid = $analysis['#context']['aid'];
  foreach ($analysis as $anid => $analysisi) {
    if (substr($anid, 0, 1) == '#' || !is_array($analysisi)) {
      continue;
    }
    if ($analysisi['#status'] != 'status' || $analysisi['#score']) {
      $statusi = array(
        'error' => 0,
        'warning' => 1,
        'complete' => 2,
      );
      $set = '';
      if ($analysisi['#score']) {
        $set = ', score = %f';
      }
      $sql = 'UPDATE {contentanalysis_status} SET status = "%s", statusi = %d ' . $set . '
      WHERE aid = %d AND analyzer = "%s"';
      if ($analysisi['#score']) {
        db_query($sql, $analysisi['#status'], $statusi[$analysisi['#status']], $analysisi['#score'], $aid, $anid);
      }
      else {
        db_query($sql, $analysisi['#status'], $statusi[$analysisi['#status']], $aid, $anid);
      }
      if (!db_affected_rows()) {
        if ($analysisi['#score']) {
          $sql = 'INSERT INTO {contentanalysis_status}
                 (aid, analyzer, status, statusi, score)
	         VALUES (%d, "%s", "%s", %d, %f)';
          db_query($sql, $aid, $anid, $analysisi['#status'], $statusi[$analysisi['#status']], $analysisi['#score']);
        }
        else {
          $sql = 'INSERT INTO {contentanalysis_status}
		  (aid, analyzer, status, statusi)
		  VALUES (%d, "%s", "%s", %d)';
          db_query($sql, $aid, $anid, $analysisi['#status'], $statusi[$analysisi['#status']]);
        }
      }
    }
  }
}