/** * you can define default filters here * * @param Tinebase_Model_Filter_FilterGroup $_filter */ protected function _addDefaultFilter(Tinebase_Model_Filter_FilterGroup $_filter = NULL) { if (!$_filter->isFilterSet('showHidden')) { $hiddenFilter = $_filter->createFilter('showHidden', 'equals', FALSE); $hiddenFilter->setIsImplicit(TRUE); $_filter->addFilter($hiddenFilter); } }
/** * add default preferences to and remove undefined preferences from record set * * @param Tinebase_Record_RecordSet $_prefs * @param Tinebase_Model_Filter_FilterGroup $_filter */ protected function _addDefaultAndRemoveUndefinedPrefs(Tinebase_Record_RecordSet $_prefs, Tinebase_Model_Filter_FilterGroup $_filter) { $allAppPrefs = $this->getAllApplicationPreferences(); // add default prefs if not already in array (only if no name or type filters are set) if (!$_filter->isFilterSet('name') && !$_filter->isFilterSet('type')) { $missingDefaultPrefs = array_diff($allAppPrefs, $_prefs->name); foreach ($missingDefaultPrefs as $prefName) { $_prefs->addRecord($this->getApplicationPreferenceDefaults($prefName)); } } // remove all prefs that are not defined $undefinedPrefs = array_diff($_prefs->name, $allAppPrefs); if (count($undefinedPrefs) > 0) { $_prefs->addIndices(array('name')); foreach ($undefinedPrefs as $undefinedPrefName) { $record = $_prefs->find('name', $undefinedPrefName); $_prefs->removeRecord($record); if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) { Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Removed undefined preference from result: ' . $undefinedPrefName); } } } }