change view mode ++ type filters

Signed-off-by: bachy <git@g-u-i.net>
This commit is contained in:
bachy
2012-10-30 18:03:56 +01:00
parent 3faebabce1
commit 65ea77dea2
7 changed files with 243 additions and 76 deletions

View File

@@ -2,10 +2,36 @@
function materio_search_api_ajax_search($keys, $page = 0){
// TODO: set research path configurable
$debug = false;
global $user;
// TODO: set research path configurable
$search_path = "explore";
# content type filter s
// $types = $_GET['types'];
if(isset($_GET['types'])){
# if user have access to filters;
foreach($_GET['types'] as $type => $value)
if($value == 'true')
$active_types[] = $type;
// if no filter checked we checked them all by default
if(!isset($active_types))
foreach($_GET['types'] as $type => $value)
$active_types[] = $type;
}else{
# if user have no access to filters
$index = search_api_index_load(variable_get('mainsearchindex', -1));
$indexed_bundles = $index->options['data_alter_callbacks']['search_api_alter_bundle_filter']['settings']['bundles'];
foreach ($indexed_bundles as $bundle) {
$active_types[] = $bundle;
}
}
user_save($user, array("data"=>array('materiosearchapi_bundlesfilter' => $active_types)));
# execute search
$_GET['page'] = $page;
$path = $search_path . '/' . $keys ;//. ($page ? '?page='.$page : '');
@@ -46,6 +72,7 @@ function materio_search_api_ajax_search($keys, $page = 0){
'keys'=>$keys,
'search_path'=>$search_path,
'return'=>$return,
'active_types'=>$active_types,
);
if ($debug) {
@@ -57,4 +84,27 @@ function materio_search_api_ajax_search($keys, $page = 0){
}
}
function materio_search_api_ajax_viewmode_change($vm){
// dsm($vm);
global $user;
// dsm($user, 'user');
$entity_infos = entity_get_info();
// dsm($entity_infos, 'entity_infos');
if (in_array($vm, variable_get('availableviewmodes', array()))) {
user_save($user, array("data"=>array('materiosearchapi_viewmode' => $vm)));
$rep = array('statut'=>'saved');
}else{
$rep = array('statut'=>'viewmode not allowed');
}
//return 'debug mode for materio_search_api_viewmode_change';
drupal_json_output($rep);
}
}