public function getConditionals()
{
craft()->neo->requirePlugin('reasons');
// TODO Reduce database impact
$blockTypeConditionals = [];
$sources = [];
$neoBlockTypeRecords = Neo_BlockTypeRecord::model()->findAll();
if ($neoBlockTypeRecords) {
foreach ($neoBlockTypeRecords as $neoBlockTypeRecord) {
$neoBlockType = Neo_BlockTypeModel::populateModel($neoBlockTypeRecord);
$sources[$neoBlockType->id] = $neoBlockType->fieldLayoutId;
}
}
$conditionals = [];
$conditionalsRecords = Reasons_ConditionalsRecord::model()->findAll();
if ($conditionalsRecords) {
foreach ($conditionalsRecords as $conditionalsRecord) {
$conditionalsModel = Reasons_ConditionalsModel::populateModel($conditionalsRecord);
if ($conditionalsModel->conditionals && $conditionalsModel->conditionals != '') {
$conditionals[$conditionalsModel->fieldLayoutId] = $conditionalsModel->conditionals;
}
}
}
foreach ($sources as $blockTypeId => $fieldLayoutId) {
if (isset($conditionals[$fieldLayoutId])) {
$blockTypeConditionals[$blockTypeId] = $conditionals[$fieldLayoutId];
}
}
return $blockTypeConditionals;
}