| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Creates a location context.
 
-  */
 
- /**
 
-  * Implement hook_[context_name]_ctools_contexts().
 
-  */
 
- function location_location_ctools_contexts() {
 
-   return array(
 
-     'title' => t('Location'),
 
-     'description' => t('Location'),
 
-     'context' => 'location_context_create_location',
 
-     'context name' => 'location',
 
-     'settings form' => 'location_context_location_settings_form',
 
-     'keyword' => 'location',
 
-     'context name' => 'location',
 
-     'convert list' => 'location_context_location_convert_list',
 
-     'convert' => 'location_context_location_convert',
 
-   );
 
- }
 
- /**
 
-  * Create a context, either from configuration or an argument on the URL.
 
-  *
 
-  * @param $empty
 
-  *   If true, just return an empty context.
 
-  * @param $data
 
-  *   If from settings form, a form values array. If from argument, a string.
 
-  * @param $conf
 
-  *   TRUE if the $data is coming from admin configuration, FALSE if it's
 
-  *   from a URL arg.
 
-  *
 
-  * @return
 
-  *   a Context object
 
-  */
 
- function location_context_create_location($empty, $data = NULL, $conf = FALSE) {
 
-   $context = new ctools_context('location');
 
-   $context->plugin = 'location';
 
-   if ($empty) {
 
-     return $context;
 
-   }
 
-   if ($conf) {
 
-     $lid = is_array($data) && isset($data['lid']) ? $data['lid'] : (is_object($data) ? $data->lid : 0);
 
-     if (is_array($data) || !empty($reload)) {
 
-       $nid = $data['nid'];
 
-       $data = location_load_location($lid);
 
-       $data['nid'] = $nid;
 
-     }
 
-   }
 
-   if (!empty($data))  {
 
-     $context->data = $data;
 
-     $context->title = $data['city'];
 
-     $context->argument = $data['lid'];
 
-     return $context;
 
-   }
 
- }
 
- function location_settings_form($conf, $external = FALSE) {
 
-   return array();
 
- }
 
- /**
 
-  * Provide a list of ways that this context can be converted to a string.
 
-  */
 
- function location_context_location_convert_list() {
 
-   $fields = location_field_names();
 
-   $fields['country_name'] = t('Country name');
 
-   $fields['province_name'] = t('State/Province name');
 
-   return $fields;
 
- }
 
- /**
 
-  * Convert a context into a string.
 
-  */
 
- function location_context_location_convert($context, $type) {
 
-   switch ($type) {
 
-     case 'name':
 
-     case 'street':
 
-     case 'additional':
 
-     case 'city':
 
-     case 'province':
 
-     case 'postal_code':
 
-     case 'country':
 
-     case 'latitude':
 
-     case 'longitude':
 
-     case 'province_name':
 
-     case 'country_name':
 
-       if (isset($context->data[$type])) {
 
-         return check_plain($context->data[$type]);
 
-       }
 
-     default:
 
-       return t('Unknown location keyword');
 
-   }
 
- }
 
 
  |