ContactLabel::getList PHP Method

getList() public static method

public static getList ( )
    public static function getList()
    {
        $list = array();
        if (!empty(Yii::app()->params['contact_labels'])) {
            foreach (Yii::app()->params['contact_labels'] as $label) {
                if (preg_match('/{SPECIALTY}/', $label)) {
                    if (!($specialty = Specialty::model()->find('code=?', array(Yii::app()->params['institution_specialty'])))) {
                        throw new Exception('Institution specialty not configured');
                    }
                    $list['nonspecialty'] = preg_replace('/{SPECIALTY}/', $specialty->adjective, $label);
                } else {
                    $list[$label] = $label;
                }
            }
        }
        return $list;
    }

Usage Example

			<div class="row data-row">

				<div class="large-2 column">
					<label for="contactname" class="align">Add contact:</label>
				</div>

				<div class="large-4 column">
					<?php 
    $this->widget('zii.widgets.jui.CJuiAutoComplete', array('name' => "contactname", 'id' => "contactname", 'value' => '', 'source' => "js:function(request, response) {\n\n\t\t\t\t\t\t\t\$('#btn-add-contact').hide();\n\n\t\t\t\t\t\t\tvar filter = \$('#contactfilter').val();\n\n\t\t\t\t\t\t\t\$('img.loader').show();\n\n\t\t\t\t\t\t\t\$.ajax({\n\t\t\t\t\t\t\t\t'url': '" . Yii::app()->createUrl('patient/possiblecontacts') . "',\n\t\t\t\t\t\t\t\t'type':'GET',\n\t\t\t\t\t\t\t\t'data':{'term': request.term, 'filter': filter},\n\t\t\t\t\t\t\t\t'success':function(data) {\n\t\t\t\t\t\t\t\t\tdata = \$.parseJSON(data);\n\n\t\t\t\t\t\t\t\t\tvar result = [];\n\n\t\t\t\t\t\t\t\t\tcontactCache = {};\n\n\t\t\t\t\t\t\t\t\tfor (var i = 0; i < data.length; i++) {\n\t\t\t\t\t\t\t\t\t\tif (data[i]['contact_location_id']) {\n\t\t\t\t\t\t\t\t\t\t\tif (\$.inArray(data[i]['contact_location_id'], currentContacts['locations']) == -1) {\n\t\t\t\t\t\t\t\t\t\t\t\tresult.push(data[i]['line']);\n\t\t\t\t\t\t\t\t\t\t\t\tcontactCache[data[i]['line']] = data[i];\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tif (\$.inArray(data[i]['contact_id'], currentContacts['contacts']) == -1) {\n\t\t\t\t\t\t\t\t\t\t\t\tresult.push(data[i]['line']);\n\t\t\t\t\t\t\t\t\t\t\t\tcontactCache[data[i]['line']] = data[i];\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tresponse(result);\n\n\t\t\t\t\t\t\t\t\t\$('img.loader').hide();\n\n\t\t\t\t\t\t\t\t\tif (filter != 'users') {\n\t\t\t\t\t\t\t\t\t\t\$('#btn-add-contact').show();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}", 'options' => array('minLength' => '3', 'select' => "js:function(event, ui) {\n\t\t\t\t\t\t\t\tvar value = ui.item.value;\n\n\t\t\t\t\t\t\t\t\$('#contactname').val('');\n\n\t\t\t\t\t\t\t\tif (contactCache[value]['contact_location_id']) {\n\t\t\t\t\t\t\t\t\tvar querystr = 'patient_id=" . $this->patient->id . "&contact_location_id='+contactCache[value]['contact_location_id'];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvar querystr = 'patient_id=" . $this->patient->id . "&contact_id='+contactCache[value]['contact_id'];\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\$.ajax({\n\t\t\t\t\t\t\t\t\t'type': 'GET',\n\t\t\t\t\t\t\t\t\t'url': '" . Yii::app()->createUrl('patient/associatecontact') . "?'+querystr,\n\t\t\t\t\t\t\t\t\t'success': function(html) {\n\t\t\t\t\t\t\t\t\t\tif (html.length >0) {\n\t\t\t\t\t\t\t\t\t\t\t\$('#patient_contacts').append(html);\n\t\t\t\t\t\t\t\t\t\t\tif (contactCache[value]['contact_location_id']) {\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentContacts['locations'].push(contactCache[value]['contact_location_id']);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentContacts['contacts'].push(contactCache[value]['contact_id']);\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\$('#btn-add-contact').hide();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}"), 'htmlOptions' => array('placeholder' => 'search for contacts')));
    ?>
				</div>

				<div class="large-4 column">
					<select id="contactfilter" name="contactfilter">
						<?php 
    foreach (ContactLabel::getList() as $key => $name) {
        ?>
							<option value="<?php 
        echo $key;
        ?>
"><?php 
        echo $name;
        ?>
</option>
						<?php 
    }
    ?>
					</select>
				</div>

				<div class="large-2 column">