Source for file private.php
Documentation is available at private.php
* @package FrameworkOnFramework
* @copyright Copyright (C) 2010 - 2012 Akeeba Ltd. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
// Protect from unauthorized access
* FrameworkOnFramework model behavior class to filter front-end access to items
* craeted by the currently logged in user only.
* @package FrameworkOnFramework
* This event runs after we have built the query used to fetch a record
* list in a model. It is used to apply automatic query filters.
* @param FOFModel &$model The model which calls this event
* @param JDatabaseQuery &$query The model which calls this event
// This behavior only applies to the front-end.
// Get the name of the access field
$table =
$model->getTable();
$createdField =
$table->getColumnAlias('created_by');
// Make sure the access field actually exists
if (!in_array($createdField, $table->getKnownFields()))
// Get the current user's id
// And filter the query output by the user id
$alias =
$model->getTableAlias();
$alias =
$alias ?
$alias .
'.' :
'';
$query->where($alias .
$db->qn($createdField) .
' = ' .
$db->q($user_id));
* The event runs after FOFModel has called FOFTable and retrieved a single
* item from the database. It is used to apply automatic filters.
* @param FOFModel &$model The model which was called
* @param FOFTable &$record The record loaded from the databae
$fieldName =
$record->getColumnAlias('created_by');
// Make sure the field actually exists
if (!in_array($fieldName, $record->getKnownFields()))
if ($record->$fieldName !=
$user_id)
Documentation generated on Tue, 19 Nov 2013 15:11:14 +0100 by phpDocumentor 1.4.3