Craft\Neo_ReasonsService::getConditionals PHP Method

getConditionals() public method

Returns the conditionals just for Neo block types.
public getConditionals ( ) : array
return array
    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;
    }