I have code here on a website I've taken over and I just can't get my head around it.
Could someone please explain to me what is exactly going on. I have a good knowledge of PHP but this baffles me.
Thanks
function decawave_preprocess_field(&$vars) {
if($vars['element']['#field_name'] == "field_resource_public_pdf" || $vars['element']['#field_name'] == "field_resource_pdf") {
$vars['items'][0]['#disclaimer'] = !empty($vars['element']['#object']->field_disclaimer) ? $vars['element']['#object']->field_disclaimer[LANGUAGE_NONE][0]['value'] : 0;}
}
If value of $vars['element']['#field_name']
is equal (note type juggling here) to 'field_resource_public_pdf'
or $vars['element']['#field_name']
is equal (type juggling again) to "field_resource_pdf"
string do the following:
Execute empty($vars['element']['#object']->field_disclaimer)
(doc for this function) function, if it returns false, than assign value of $vars['element']['#object']->field_disclaimer[LANGUAGE_NONE][0]['value']
to $vars['items'][0]['#disclaimer']
. Otherwise (if [empty][2]($vars['element']['#object']->field_disclaimer)
returns true, assign 0
to $vars['items'][0]['#disclaimer']
.
The code is pretty straightforward, but I'd note that function itself is written very poorly.