original_string: public static function get_definition_store_options($component, $area) {
          $factory = cache_factory::instance();
          $definition = $factory->create_definition($component, $area);
          $config = cache_config::instance();
          $currentstores = $config->get_stores_for_definition($definition);
          $possiblestores = $config->get_stores($definition->get_mode(), $definition->get_requirements_bin());
  
          $defaults = array();
          foreach ($currentstores as $key => $store) {
              if (!empty($store['default'])) {
                  $defaults[] = $key;
                  unset($currentstores[$key]);
              }
          }
          foreach ($possiblestores as $key => $store) {
              if ($store['default']) {
                  unset($possiblestores[$key]);
                  $possiblestores[$key] = $store;
              }
          }
          return array($currentstores, $possiblestores, $defaults);
      }
code: public static function get_definition_store_options($component, $area) {
          $factory = cache_factory::instance();
          $definition = $factory->create_definition($component, $area);
          $config = cache_config::instance();
          $currentstores = $config->get_stores_for_definition($definition);
          $possiblestores = $config->get_stores($definition->get_mode(), $definition->get_requirements_bin());
  
          $defaults = array();
          foreach ($currentstores as $key => $store) {
              if (!empty($store['default'])) {
                  $defaults[] = $key;
                  unset($currentstores[$key]);
              }
          }
          foreach ($possiblestores as $key => $store) {
              if ($store['default']) {
                  unset($possiblestores[$key]);
                  $possiblestores[$key] = $store;
              }
          }
          return array($currentstores, $possiblestores, $defaults);
      }
code_tokens: public static function get_definition_store_options ( $ component , $ area ) { $ factory = cache_factory :: instance ( ) ; $ definition = $ factory -> create_definition ( $ component , $ area ) ; $ config = cache_config :: instance ( ) ; $ currentstores = $ config -> get_stores_for_definition ( $ definition ) ; $ possiblestores = $ config -> get_stores ( $ definition -> get_mode ( ) , $ definition -> get_requirements_bin ( ) ) ; $ defaults = array ( ) ; foreach ( $ currentstores as $ key => $ store ) { if ( ! empty ( $ store [ 'default' ] ) ) { $ defaults [ ] = $ key ; unset ( $ currentstores [ $ key ] ) ; } } foreach ( $ possiblestores as $ key => $ store ) { if ( $ store [ 'default' ] ) { unset ( $ possiblestores [ $ key ] ) ; $ possiblestores [ $ key ] = $ store ; } } return array ( $ currentstores , $ possiblestores , $ defaults ) ; }
docstring: Get an array of stores that are suitable to be used for a given definition.
  
  @param string $component
  @param string $area
  @return array Array containing 3 elements
  1. An array of currently used stores
  2. An array of suitable stores
  3. An array of default stores
docstring_tokens: Get an array of stores that are suitable to be used for a given definition .