| 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 |
| 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(); |
| 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); |