/[drupal]/contributions/modules/api/parser.inc
ViewVC logotype

Diff of /contributions/modules/api/parser.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.41.2.27 by drumm, Mon Oct 5 01:16:20 2009 UTC revision 1.41.2.28 by drumm, Thu Oct 8 06:07:46 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: parser.inc,v 1.41.2.26 2009/10/05 00:59:48 drumm Exp $  // $Id: parser.inc,v 1.41.2.27 2009/10/05 01:16:20 drumm Exp $
3    
4  /**  /**
5   * @file   * @file
# Line 311  function api_save_documentation($docbloc Line 311  function api_save_documentation($docbloc
311      if (!isset($docblock['summary'])) {      if (!isset($docblock['summary'])) {
312        $docblock['summary'] = api_documentation_summary($docblock['documentation']);        $docblock['summary'] = api_documentation_summary($docblock['documentation']);
313      }      }
314        $docblock['start_line'] = substr_count(substr($docblocks[0]['source'], 0, $docblock['code_start']), "\n");
315      if (!isset($docblock['code'])) {      if (!isset($docblock['code'])) {
316        if (isset($docblock['code_end'])) {        if (isset($docblock['code_end'])) {
         $docblock['start_line'] = substr_count(substr($docblocks[0]['source'], 0, $docblock['code_start']), "\n");  
317          $docblock['code'] = api_format_php("<?php\n". substr($docblocks[0]['source'], $docblock['code_start'], $docblock['code_end'] - $docblock['code_start']) ."\n?>");          $docblock['code'] = api_format_php("<?php\n". substr($docblocks[0]['source'], $docblock['code_start'], $docblock['code_end'] - $docblock['code_start']) ."\n?>");
318        }        }
319        else {        else {
         $docblock['start_line'] = 0;  
320          $docblock['code'] = '';          $docblock['code'] = '';
321        }        }
322      }      }
323      $did = db_result(db_query("SELECT did FROM {api_documentation} WHERE object_name = '%s' AND branch_name = '%s' AND object_type = '%s'", $docblock['object_name'], $docblocks[0]['branch_name'], $docblock['object_type'], $docblock['file_name']));      $did = db_result(db_query("SELECT did FROM {api_documentation} WHERE object_name = '%s' AND branch_name = '%s' AND object_type = '%s'", $docblock['object_name'], $docblocks[0]['branch_name'], $docblock['object_type'], $docblock['file_name']));
324      if ($did > 0) {      if ($did > 0) {
325        db_query("UPDATE {api_documentation} SET title = '%s', file_name = '%s', summary = '%s', documentation = '%s', code = '%s' WHERE did = %d", $docblock['title'], $docblock['file_name'], $docblock['summary'], $docblock['documentation'], $docblock['code'], $did);        db_query("UPDATE {api_documentation} SET title = '%s', file_name = '%s', summary = '%s', documentation = '%s', code = '%s', start_line = %d WHERE did = %d", $docblock['title'], $docblock['file_name'], $docblock['summary'], $docblock['documentation'], $docblock['code'], $docblock['start_line'], $did);
326      }      }
327      else {      else {
328        $node = new stdClass();        $node = new stdClass();
# Line 334  function api_save_documentation($docbloc Line 333  function api_save_documentation($docbloc
333        }        }
334        node_save($node);        node_save($node);
335        $did = $node->nid;        $did = $node->nid;
336        db_query("INSERT INTO {api_documentation} (did, object_name, branch_name, object_type, title, file_name, summary, documentation, code) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", $did, $docblock['object_name'], $docblocks[0]['branch_name'], $docblock['object_type'], $docblock['title'], $docblock['file_name'], $docblock['summary'], $docblock['documentation'], $docblock['code']);        db_query("INSERT INTO {api_documentation} (did, object_name, branch_name, object_type, title, file_name, summary, documentation, code, start_line) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)", $did, $docblock['object_name'], $docblocks[0]['branch_name'], $docblock['object_type'], $docblock['title'], $docblock['file_name'], $docblock['summary'], $docblock['documentation'], $docblock['code'], $docblock['start_line']);
337      }      }
338    
339      switch ($docblock['object_type']) {      switch ($docblock['object_type']) {
340        case 'function':        case 'function':
341          db_query('DELETE FROM {api_function} WHERE did = %d', $did);          db_query('DELETE FROM {api_function} WHERE did = %d', $did);
342          db_query("INSERT INTO {api_function} (did, signature, start_line, parameters, return_value) VALUES (%d, '%s', %d, '%s', '%s')", $did, $docblock['signature'], $docblock['start_line'], $docblock['parameters'], $docblock['return_value']);          db_query("INSERT INTO {api_function} (did, signature, parameters, return_value) VALUES (%d, '%s', '%s', '%s')", $did, $docblock['signature'], $docblock['parameters'], $docblock['return_value']);
343    
344          if (!empty($docblock['code'])) {          if (!empty($docblock['code'])) {
345            db_query("DELETE FROM {api_reference_storage} WHERE branch_name = '%s' AND object_type = 'function' AND from_did = %d", $docblocks[0]['branch_name'], $did);            db_query("DELETE FROM {api_reference_storage} WHERE branch_name = '%s' AND object_type = 'function' AND from_did = %d", $docblocks[0]['branch_name'], $did);

Legend:
Removed from v.1.41.2.27  
changed lines
  Added in v.1.41.2.28

  ViewVC Help
Powered by ViewVC 1.1.3