public function testgetUserCategory()
 {
     $getCurrentUserCall = 0;
     $getCurrentUser = function () use(&$getCurrentUserCall) {
         $getCurrentUserCall++;
         return new Literal(['get' => function ($fieldname) {
             return 'userDomain';
         }]);
     };
     $getCategoryBySlugCall = [];
     $getCategoryBySlug = function ($slug) use(&$getCategoryBySlugCall) {
         $getCategoryBySlugCall[] = $slug;
         if ($slug == 'userDomain') {
             return 'wantedUserCategory';
         }
         return 'wrongDomain';
     };
     $categoryProvider = new BibCnrsCategoriesProvider(null, $getCategoryBySlug, $getCurrentUser);
     $category = $categoryProvider->getUserCategory();
     $this->assertEquals(1, $getCurrentUserCall);
     $this->assertEquals(['userDomain'], $getCategoryBySlugCall);
     $this->assertEquals('wantedUserCategory', $category);
 }
Example #2
0
Template Name: single
*/
require 'config.php';
$language = substr($context['site']->language, 0, 2);
$context = Timber::get_context();
$context['robot_index'] = $_ENV['ROBOT_INDEX'];
$language = substr($context['site']->language, 0, 2);
$context['bibcnrs_header'] = sprintf('[bibcnrs_header language="%s"]', $language);
$multicat = get_the_category();
if ($multicat[0]->slug == 'list-diff' or $multicat[0]->slug == 'mail-list') {
    $context['profile'] = $config['profile_map'];
    $context['post'] = Timber::get_post();
    Timber::render('singlelist.twig', $context);
} else {
    require 'models/BibCnrsCategoriesProvider.php';
    $categoriesProvider = new BibCnrsCategoriesProvider(get_the_category, get_category_by_slug, wp_get_current_user);
    $current_url = "//" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    $categoryRetrieve = explode('category=', $current_url);
    if ($categoryRetrieve[1]) {
        $currentCategory = get_category_by_slug($categoryRetrieve[1]);
    } else {
        $currentCategory = $multicat[0];
    }
    $userCategory = $categoriesProvider->getUserCategory();
    require 'models/BibCnrsPostsProvider.php';
    $getPosts = function ($args) {
        return Timber::get_posts($args);
    };
    $postsProvider = new BibCnrsPostsProvider($config['category']['domains'], get_category_by_slug, $getPosts, TimberPost);
    /* Display */
    $preferences = "pref-" . $currentCategory->slug;