Contenido

Protected frontend categories

Author Timo A. Hummel
Created 20th May 2005
Audience
Site Integrators, Module Developers
Applies to
Contenido 4.6 or later

Introduction

Contenido 4.6 introduces a updated concept for protecting frontend categories and enabling access to them.

Installation and configuration

Download the plugin "Frontend Category Permissions" from the Contenido website. Extract the archive to your plugins directory. Open (or create) the file config.plugin.php in the directory contenido/plugins/chains/includes/ and add the necessary includes and chain entries (see below). Afterwards, open the file config.local.php in your contenido/includes directory (create the file if it doesn't exist) and add the following line at the end:

$cfg['plugins']['frontendlogic'][] = "category";

Example config.plugin.php:

<?php
global $_cecRegistry;
cInclude("plugins", "chains/includes/include.chain.frontend.cat_backendaccess.php");
cInclude("plugins", "chains/includes/include.chain.frontend.cat_access.php");

$_cecRegistry->addChainFunction("Contenido.Frontend.CategoryAccess", "cecFrontendCategoryAccess");
$_cecRegistry->addChainFunction("Contenido.Frontend.CategoryAccess", "cecFrontendCategoryAccess_Backend");
?>

The chain Contenido.Frontend.CategoryAccess is called everytime a protected category is accessed. If the chain functions return true, access is granted. The function cecFrontendCategoryAccess validates frontend users and their permissions, and cecFrontendCategoryAccess_Backend does the same for the backend user counterparts. If you wish to disable backend users for access frontend categories, remove the line which contains cecFrontendCategoryAccess_Backend. You can also define chains for more custom checks, please refer to the chains documentation for more information.