Get a field from a link object (href | title | target)
@param string $field
@param string $part
@return string
424650
public function getLinkHTML($field, $body = '', $classes = '', $id = '', $styles = '')
    {
        $link_attr = self::decodeLinkObject($this->get($field));
        return self::linkAttribsToHTMLString(
            $link_attr,
            $body,
            $classes,
            $id,
            $styles
        );
    }
684982
public function getField(string $field)
    {
        if (isset($this->_record[$field]))
            return $this->_record[$field];
        return null;
    }
1284023
public function getFields()
    {
        $fields = array();
        foreach ($this->parts as $part) {
            $fields = array_merge($fields, $part->getParts());
        }
        
        return $fields;
    }
720977
protected function getPartComplete(&$part)
    {
        $body = '';
        if ($this->stream) {
            $body = $this->getPartFromFile($part);
        } elseif ($this->data) {
            $body = $this->getPartFromText($part);
        }

        return $body;
    }
1131568
public function helpPath($section, $field = false)
    {
        $fieldtag = $field;
        if (isset($this->field_display["$field"]) && isset($this->field_display["$field"]["DocId"])) {
            $fieldtag = $this->field_display["$field"]["DocId"];
        }

        $path = $this->query->url_doc_site . "/" . $this->query->doc_version . "/" . "doku.php?id=";

        if (isset($this->field_display["$field"]) && isset($this->field_display["$field"]["DocSection"])) {
            $path .= $this->field_display["$field"]["DocSection"];
        } else if ($section) {
            $path .= $this->getHelpLink($section);
        }

        if ($fieldtag) {
            $path .= "#$fieldtag";
        }

        return $path;
    }
183547
public function format_link($field)
    {
        $page = $this->columns[$field]['page'] ?: './'.$field;
        $attr = $this->columns[$field]['id_field'] ?: 'id';
        $this->current_row['_link'] =
            $this->app->url($page, array($attr => $this->columns[$field]['id_value']
                ? ($this->model[$this->columns[$field]['id_value']]
                    ?: $this->current_row[$this->columns[$field]['id_value'].'_original'])
                : $this->current_id, ));

        if (!$this->current_row[$field]) {
            $this->current_row[$field] = $this->columns[$field]['descr'];
        }

        return $this->format_template($field);
    }
158069
public function parse(MimePart $part)
    {
        if (!$this->middleware) {
            return $part;
        }
        $part = call_user_func(array($this->middleware, 'parse'), $part, $this->next);
        return $part;
    }
435232
public function getField($field)
    {
        // Skip invalid fields
        $fields = $this->compositeDatabaseFields();
        if (!isset($fields[$field])) {
            return null;
        }

        // Check bound object
        if ($this->record instanceof DataObject) {
            $key = $this->getName() . $field;
            return $this->record->getField($key);
        }

        // Check local record
        if (isset($this->record[$field])) {
            return $this->record[$field];
        }
        return null;
    }
415410
public function getSqlPart($qb, $partName)
    {
        return $qb instanceof ORMQueryBuilder ? $qb->getDQLPart($partName) : $qb->getQueryPart($partName);
    }
1160825
public function getPart($part)
    {
        return isset($this->parts[$part]) ? $this->parts[$part] : null;
    }
46846
protected function get_field($field) {
        $fieldname = calculator::using_attempts_string_id($this->whichattempts).$field;
        return $this->{$fieldname};
    }
605387
public function url($field)
    {
        return (filter_var(trim($this->get($field)), FILTER_VALIDATE_URL) !== false) ?: $this->error($field,
            __FUNCTION__);
    }
1350334
public function generateLinkToRoute($field)
    {
        $data = $this->getLinkToRouteValue();

        if ( ! $data)
        {
            return $field->{$this->getColumn()};
        }

        $name = array_get($data, 'route');
        $params = array_get($data, 'params', []);

        foreach ($params as $key => $value)
        {
            if (substr($value, 0, 1) === ":")
            {
                $params[$key] = $field->{substr($value, 1)};
            }
        }

        $attributes = [];
        if ($targetAction = array_get($data, 'target'))
        {
            $attributes = array_add($attributes, 'target', $targetAction);
        }

        return link_to_route($name, $field->{$this->getColumn()}, $params, $attributes);
    }
1202667
public function lt($field, $value)
    {
        if(!$value instanceof Part) {
            $value = $this->buildPart($value);
        }
        return new Expr\ComparisonExpression($field, $value, Expr\ComparisonExpression::LT);
    }
440345
public function getUrl($parts = self::FULL)
    {
        $url = '';

        //Add the scheme
        if (($parts & self::SCHEME) && !empty($this->scheme)) {
            $url .=  urlencode($this->scheme).'://';
        }

        //Add the username and password
        if (($parts & self::USER) && !empty($this->user)) {
            $url .= urlencode($this->user);
            if (($parts & self::PASS) && !empty($this->pass)) {
                $url .= ':' . urlencode($this->pass);
            }

            $url .= '@';
        }

        // Add the host and port, if any.
        if (($parts & self::HOST) && !empty($this->host)) {
            $url .=  urlencode($this->host);

            if (($parts & self::PORT) && !empty($this->port)) {
                $url .=  ':' . (int) $this->port;
            }
        }

        // Add the rest of the url. we use trim() instead of empty() on string
        // elements to allow for string-zero values.
        if (($parts & self::PATH) && !empty($this->path)) {
            $url .= $this->_pathEncode($this->path);
            if (($parts & self::FORMAT) && trim($this->format) !== '') {
                $url .= '.' . urlencode($this->format);
            }
        }

        $query = $this->getQuery();
        
        if (($parts & self::QUERY) && !empty($query)) {
            $url .= '?' . $this->getQuery();
        }

        if (($parts & self::FRAGMENT) && trim($this->fragment) !== '') {
            $url .=  '#' . urlencode($this->fragment);
        }

        return $url;
    }
540035
private function getLinkset2Field($field)
	{					
        if (!isset($this->fields[$field['name']])) {
			$this->fields[$field['name']] =  new Iterator\Linkset2( $this, $field );
		}
        
		return $this->fields[$field['name']];   
    }
1001548
private function extractHeaderAddressPart($header, $part) {
        if (property_exists($header, $part)) {
            $this->$part = $this->parseAddresses($header->$part);
        }
    }