ElementLetter::getLetter_macros PHP Method

getLetter_macros() public method

public getLetter_macros ( )
    public function getLetter_macros()
    {
        $macros = array();
        $macro_names = array();
        $firm = Firm::model()->with('serviceSubspecialtyAssignment')->findByPk(Yii::app()->session['selected_firm_id']);
        $criteria = new CDbCriteria();
        $criteria->compare('firm_id', $firm->id);
        $criteria->order = 'display_order asc';
        foreach (LetterMacro::model()->findAll($criteria) as $macro) {
            if (!in_array($macro->name, $macro_names)) {
                $macros[$macro->id] = $macro_names[] = $macro->name;
            }
        }
        if ($firm->service_subspecialty_assignment_id) {
            $criteria = new CDbCriteria();
            $criteria->compare('subspecialty_id', $firm->serviceSubspecialtyAssignment->subspecialty_id);
            $criteria->order = 'display_order asc';
            foreach (LetterMacro::model()->findAll($criteria) as $macro) {
                if (!in_array($macro->name, $macro_names)) {
                    $macros[$macro->id] = $macro_names[] = $macro->name;
                }
            }
        }
        $criteria = new CDbCriteria();
        $criteria->compare('site_id', Yii::app()->session['selected_site_id']);
        $criteria->order = 'display_order asc';
        foreach (LetterMacro::model()->findAll($criteria) as $macro) {
            if (!in_array($macro->name, $macro_names)) {
                $macros[$macro->id] = $macro_names[] = $macro->name;
            }
        }
        return $macros;
    }