Esempio n. 1
0
function decode_di($device_id)
{
    $tags = explode(":", $device_id);
    $ret_arr = array();
    foreach ($tags as $tag) {
        if (!is_valid_di_tag($tag)) {
            $ret_arr['device_name'] = "INVALID because not is_valid_di_tag({$tag})";
            return $ret_arr;
        }
        $tag_name = substr($tag, 0, 2);
        $tag_value_encoded = substr($tag, 2);
        $tag_value = decode_di_tag_value($tag_value_encoded);
        if (!$tag_value) {
            $ret_arr['device_name'] = "INVALID because not decode_di_tag_value({$tag_name},{$tag_value_encoded},{$tag_value})";
            return $ret_arr;
        }
        $ret_arr[$tag_name] = $tag_value;
    }
    $device_name = "*unavailable*";
    if (isset($ret_arr['OC']) && isset($ret_arr['OD'])) {
        $device_name = get_device_name_by_oc_od($ret_arr['OC'], $ret_arr['OD']);
    }
    $ret_arr['device_name'] = $device_name;
    return $ret_arr;
}
Esempio n. 2
0
function validate_di($device_id)
{
    $tags = explode(":", $device_id);
    foreach ($tags as $tag) {
        if (!is_valid_di_tag($tag)) {
            report_error(ERR_INVALID_DI);
            exit;
        }
    }
}