本文整理汇总了PHP中QubitAcl::getFilterCriterion方法的典型用法代码示例。如果您正苦于以下问题:PHP QubitAcl::getFilterCriterion方法的具体用法?PHP QubitAcl::getFilterCriterion怎么用?PHP QubitAcl::getFilterCriterion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QubitAcl
的用法示例。
在下文中一共展示了QubitAcl::getFilterCriterion方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute($request)
{
$criteria = new Criteria();
$criteria = QubitTaxonomy::addEditableTaxonomyCriteria($criteria);
$criteria->addJoin(QubitTaxonomy::ID, QubitTaxonomyI18n::ID);
$criteria->add(QubitTaxonomyI18n::CULTURE, $this->context->user->getCulture());
// Narrow results by query
if (0 < strlen($request->query)) {
$criteria->add(QubitTaxonomyI18n::NAME, "{$request->query}%", Criteria::LIKE);
}
// Limit results by ACL
$criterion = QubitAcl::getFilterCriterion($criteria, QubitTaxonomy::getById(QubitTaxonomy::ROOT_ID), 'createTerm');
if (isset($criterion) && true !== $criterion) {
$criteria->addAnd($criterion);
} else {
if (false === $criterion) {
// If access denied to all taxonomies, then return nothing
return sfView::NONE;
}
}
// Sort by name
$criteria->addAscendingOrderByColumn(QubitTaxonomyI18n::NAME);
// Show first 10 results
$criteria->setLimit(10);
$this->taxonomies = QubitTaxonomy::get($criteria);
}