You are here

function farm_sensor_listener_load in farmOS 7

Helper function for loading a sensor asset from it's public/private key.

Parameters

$key: The sensor public/private key.

Return value

FarmAsset|bool Returns a farm sensor asset, or FALSE if not found.

1 call to farm_sensor_listener_load()
farm_sensor_listener_page_callback in modules/farm/farm_sensor/farm_sensor_listener/farm_sensor_listener.module
Callback function for processing GET and POST requests to a listener. Handles receiving JSON over HTTP and storing data to the {farm_sensor_data} table. Serves data back via API requests with optional parameters.

File

modules/farm/farm_sensor/farm_sensor_listener/farm_sensor_listener.module, line 844

Code

function farm_sensor_listener_load($key) {

  // Query the {farm_sensor} table to look for a sensor with a matching key.
  $sql = 'SELECT id FROM {farm_sensor} WHERE settings LIKE :settings';
  $result = db_query($sql, array(
    ':settings' => '%' . db_like($key) . '%',
  ));
  $asset_id = $result
    ->fetchField();

  // If no asset id was found, bail.
  if (empty($asset_id)) {
    return FALSE;
  }

  // Attempt to load the sensor asset.
  $asset = farm_asset_load($asset_id);

  // If a sensor wasn't loaded, bail.
  if (empty($asset)) {
    return FALSE;
  }

  // Return the sensor asset.
  return $asset;
}