| 1 |
<?php // $Id: qb_field.module,v 1.6 2008/10/01 03:11:56 vauxia Exp $ |
<?php // $Id: qb_field.module,v 1.1 2009/02/08 03:57:37 vauxia Exp $ |
| 2 |
|
|
| 3 |
|
|
| 4 |
/** |
/** |
| 131 |
|
|
| 132 |
case 'save': |
case 'save': |
| 133 |
// Return the values we want saved back to the field. |
// Return the values we want saved back to the field. |
| 134 |
return array('qdid', 'unique', 'truth_copy', 'qb_map'); |
return array('qdid', 'unique', 'truth_copy', 'qb_map', 'request'); |
| 135 |
|
|
| 136 |
case 'database columns': |
case 'database columns': |
| 137 |
return array( 'qdvid' => array('type' => 'int', 'unsigned' => TRUE) ); |
return array( 'qdvid' => array('type' => 'int', 'unsigned' => TRUE) ); |
| 229 |
* Synchronize Drupal and Quickbooks data. |
* Synchronize Drupal and Quickbooks data. |
| 230 |
*/ |
*/ |
| 231 |
function qb_field_qb_data_request_alter(&$request) { |
function qb_field_qb_data_request_alter(&$request) { |
|
static $qb_fields; |
|
|
if (!isset($qb_fields)) { |
|
|
$qb_fields = array(); |
|
|
foreach (content_fields() as $field) { |
|
|
if ($field['type'] == 'qb_data') $qb_fields[] = $field; |
|
|
} |
|
|
} |
|
|
|
|
| 232 |
$op = $request['data']['op']; |
$op = $request['data']['op']; |
| 233 |
$query = $request['data']['qb_query']; |
$query = $request['data']['qb_query']; |
| 234 |
|
|
| 235 |
foreach ($qb_fields as $field) { |
foreach (qb_field_list() as $field) { |
| 236 |
if ($field['qdid'] == $query->qdid) { |
if ($field['qdid'] == $query->qdid) { |
| 237 |
|
|
| 238 |
// Attach our field mapping callback so we can handle the response. |
// Attach our field mapping callback so we can handle the response. |
| 293 |
} |
} |
| 294 |
|
|
| 295 |
foreach ($r as $qb_name => $qb_value) { |
foreach ($r as $qb_name => $qb_value) { |
| 296 |
if ($content_field = array_search($qb_name, $field['qb_map'])) { |
if ($field['qb_map']) { |
| 297 |
//TODO hard-coded "value" key |
if ($content_field = array_search($qb_name, $field['qb_map'])) { |
| 298 |
$values[$content_field] = array(array('value' => $qb_value)); |
//TODO hard-coded "value" key |
| 299 |
|
$values[$content_field] = array(array('value' => $qb_value)); |
| 300 |
|
} |
| 301 |
} |
} |
| 302 |
} |
} |
| 303 |
|
|
| 369 |
} |
} |
| 370 |
|
|
| 371 |
function _qb_field_map_field($qb_info) { |
function _qb_field_map_field($qb_info) { |
|
static $content_fields; |
|
| 372 |
$label = preg_replace('/([A-Z]+)/', ' \1', $name); |
$label = preg_replace('/([A-Z]+)/', ' \1', $name); |
| 373 |
|
|
| 374 |
if (isset($qb_info['type'])) { |
if (isset($qb_info['type'])) { |
| 413 |
|
|
| 414 |
return node_load($nid); |
return node_load($nid); |
| 415 |
} |
} |
| 416 |
|
|
| 417 |
|
function qb_field_list($request = NULL) { |
| 418 |
|
static $qb_fields; |
| 419 |
|
if (!isset($qb_fields)) { |
| 420 |
|
$qb_fields = array(); |
| 421 |
|
foreach (content_fields() as $field) { |
| 422 |
|
if ($field['type'] == 'qb_data') $qb_fields[] = $field; |
| 423 |
|
} |
| 424 |
|
} |
| 425 |
|
$ret = $qb_fields; |
| 426 |
|
if (isset($request)) { |
| 427 |
|
foreach ($ret as $k => $field) { |
| 428 |
|
if ($field['request'] != $request) unset($ret[$k]); |
| 429 |
|
} |
| 430 |
|
} |
| 431 |
|
return $ret; |
| 432 |
|
} |