SettingMetadata::getSetting PHP Метод

getSetting() публичный Метод

public getSetting ( $key = null, $element_type = null, $return_object = false )
    public function getSetting($key = null, $element_type = null, $return_object = false)
    {
        if (!$key) {
            $key = $this->key;
        }
        if ($element_type) {
            $metadata = self::model()->find('element_type_id=? and `key`=?', array($element_type->id, $key));
        } else {
            $metadata = self::model()->find('element_type_id is null and `key`=?', array($key));
        }
        if (!$metadata) {
            return false;
        }
        $user_id = Yii::app()->session['user'] ? Yii::app()->session['user']->id : null;
        $firm = Firm::model()->findByPk(Yii::app()->session['selected_firm_id']);
        $firm_id = $firm ? $firm->id : null;
        $subspecialty_id = $firm ? $firm->subspecialtyID : null;
        $specialty_id = $firm && $firm->specialty ? $firm->specialty->id : null;
        $site = Site::model()->findByPk(Yii::app()->session['selected_site_id']);
        $site_id = $site ? $site->id : null;
        $institution_id = $site ? $site->institution_id : null;
        foreach (array('SettingUser' => 'user_id', 'SettingFirm' => 'firm_id', 'SettingSubspecialty' => 'subspecialty_id', 'SettingSpecialty' => 'specialty_id', 'SettingSite' => 'site_id', 'SettingInstitution' => 'institution_id', 'SettingInstallation' => null) as $class => $field) {
            if ($field) {
                if (${$field}) {
                    if ($setting = $this->getSettingValue($class, $key, $field, ${$field}, $element_type)) {
                        if ($return_object) {
                            return $setting;
                        }
                        return $this->parseSetting($setting, $metadata);
                    }
                }
            } else {
                if ($setting = $this->getSettingValue($class, $key, null, null, $element_type)) {
                    if ($return_object) {
                        return $setting;
                    }
                    return $this->parseSetting($setting, $metadata);
                }
            }
        }
        if ($return_object) {
            return false;
        }
        return $metadata->default_value;
    }

Usage Example

 public function run($args)
 {
     $settings = new SettingMetadata();
     $recipients = $settings->getSetting('applications_alert_recipients');
     Yii::import('application.modules.OphCoTherapyapplication.components.*');
     $pendingApplications = new PendingApplications();
     if ($pendingApplications->emailCsvFile($recipients)) {
         echo 'Email sent';
     } else {
         echo 'Email failed';
     }
 }