2016-08-31
@used-by p()
@return string
492119
private function _p() {
		/** @var string $result */
		/**
		 * Обратите внимание, что метод ядра Magento CE
		 * @see \Magento\Framework\Simplexml\Element::asNiceXml()
		 * не сохраняет в документе XML блоки CDATA,
		 * а вместо этого заменяет недопустимые для XML символы их допустимыми кодами,
		 * например: & => &amp;
		 *
		 * Также @see \Magento\Framework\Simplexml\Element::asNiceXml()
		 * не добавляет к документу заголовок XML: его надо добавить вручную.
		 *
		 * 2015-02-27
		 * Обратите внимание, что для конвертации объекта класса @see SimpleXMLElement в строку
		 * надо использовать именно метод @uses SimpleXMLElement::asXML(),
		 * а не @see SimpleXMLElement::__toString() или оператор (string)$this.
		 *
		 * @see SimpleXMLElement::__toString() и (string)$this
		 * возвращают непустую строку только для концевых узлов (листьев дерева XML).
		 * Пример:
		 *	<?xml version='1.0' encoding='utf-8'?>
		 *		<menu>
		 *			<product>
		 *				<cms>
		 *					<class>aaa</class>
		 *					<weight>1</weight>
		 *				</cms>
		 *				<test>
		 *					<class>bbb</class>
		 *					<weight>2</weight>
		 *				</test>
		 *			</product>
		 *		</menu>
		 * Здесь для $e1 = $xml->{'product'}->{'cms'}->{'class'}
		 * мы можем использовать $e1->__toString() и (string)$e1.
		 * http://3v4l.org/rAq3F
		 * Однако для $e2 = $xml->{'product'}->{'cms'}
		 * мы не можем использовать $e2->__toString() и (string)$e2,
		 * потому что узел «cms» не является концевым узлом (листом дерева XML).
		 * http://3v4l.org/Pkj37
		 * Более того, метод @see SimpleXMLElement::__toString()
		 * отсутствует в PHP версий 5.2.17 и ниже:
		 * http://3v4l.org/Wiia2#v500
		 */
		/** @var string $header */
		$header = $this[self::P__SKIP_HEADER] ? '' : df_xml_header(
			$this[self::P__1251] ? 'Windows-1251' : 'UTF-8'
		);
		/** @var X $x */
		$x = df_xml_parse(df_cc_n(
			$header, $this[self::P__DOC_TYPE], sprintf('<%s/>', $this[self::$P__TAG])
		));
		$x->addAttributes($this[self::P__ATTRIBUTES]);
		$x->importArray($this[self::$P__CONTENTS], $this[self::P__WRAP_IN_CDATA]);
		/** @var bool $pretty */
		$pretty = $this[self::P__PRETTY];
		// Убеждаемся, что asXML вернуло строку, а не false.
		$result = df_assert_nef($this[self::P__SKIP_HEADER] ? $x->asXMLPart() : (
			$pretty || $this[self::P__1251]
			? df_cc_n($header, $pretty ? $x->asNiceXml() : $x->asXMLPart())
			: $x->asXML()
		));
		/**
		 * Символ 0xB (вертикальная табуляция) допустим в UTF-8, но недопустим в XML:
		 * http://stackoverflow.com/a/10095901
		 */
		$result = str_replace("\x0B", "&#x0B;", $result);
		if ($this[self::P__1251]) {
			$result = df_1251_to($result);
		}
		if ($this[self::P__REMOVE_LINE_BREAKS]) {
			$result = df_t()->removeLineBreaks($result);
		}
		if ($this[self::P__DECODE_ENTITIES]) {
			$result = html_entity_decode($result, ENT_NOQUOTES, 'UTF-8');
		}
		return $result;
	}
291669
public function getPPN ()
    {
        $ppnField = $this->getFirstMatchingField('003@/00');
        if ($ppnField) {
            $ppnSubfield = $ppnField->getNthSubfield('0', 0);
            if ($ppnSubfield) {
                return $ppnSubfield->getValue();
            }
        }
        return null;
    }
591843
public function toString()
    {
        $result = "";

        if (!empty($this->scheme)) {
            $result .= "{$this->scheme}://";
        }

        if (!empty($this->user)) {
            $result .= !empty($this->pass)
                ? "{$this->user}:{$this->pass}@"
                : "{$this->user}@";
        }

        $result .= $this->host;

        if (!empty($this->port) && (isset($this->portMap[$this->scheme]) && $this->port != $this->portMap[$this->scheme])) {
            $result .= ":{$this->port}";
        }

        $result .= $this->path;

        $qs = $this->query->toString();
        if (!empty($qs)) {
            $result .= "?{$qs}";
        }

        if (!empty($this->fragment)) {
            $result .= "#{$this->fragment}";
        }

        return $result;
    }
1244911
public function getTstamp() : string
    {
        return $this->getYear() . '-' . $this->getMonth() . '-' . $this->getDay() . ' ' . $this->getHours() . ':' . $this->getMinutes() . ':' . $this->getSeconds();
    }
748381
public function getPHP() {

        $result = '';

        // The type
        $unique = $this->getUnique();
        if (!empty($unique)) {
            $result .= 'XMLDB_INDEX_UNIQUE, ';
        } else {
            $result .= 'XMLDB_INDEX_NOTUNIQUE, ';
        }
        // The fields
        $indexfields = $this->getFields();
        if (!empty($indexfields)) {
            $result .= "['".  implode("', '", $indexfields) . "']";
        } else {
            $result .= 'null';
        }
        // Hints
        $hints = $this->getHints();
        if (!empty($hints)) {
            $result .= ", ['".  implode("', '", $hints) . "']";
        }

        // Return result
        return $result;
    }
1364692
public function __tostring ()
    {
        if (is_null($this->queryElements))
        {
            return "";
        }

        $query = [];

        foreach ($this->queryElements as $soqlKey => $value)
        {
            $value = (is_array($value)) ? implode(self::DELIMITER, $value) : $value;

            $query[] = sprintf("%s=%s", $soqlKey, $value);
        }

        return implode("&", $query);
    }
461103
public function usage()
    {
        $name = $this->_name;
        if ($this->_choices) {
            $name = implode('|', $this->_choices);
        }
        $name = '<' . $name . '>';
        if (!$this->isRequired()) {
            $name = '[' . $name . ']';
        }

        return $name;
    }
662798
public function getRangeString()
    {
        $dateStart = $this->getDateStart();
        $dateEnd   = $this->getDateEnd();

        return $dateStart->toString("Y-m-d") . "," . $dateEnd->toString("Y-m-d");
    }
309069
protected function getCurrentChar()
    {
        $c = substr($this->data, $this->p, 1);

        if ($c === "\n") {
            ++$this->line;
            $this->col = 1;
        } else {
            ++$this->col;
        }

        return $c;
    }
821639
public function result()
    {
        $length = $this->length ?: $this->util->width() ?: 100;
        $str    = str_repeat($this->char, $length);
        $str    = substr($str, 0, $length);

        return $str;
    }
795793
public function displayVal()
    {
        $prop = $this->p();
        $val  = $this->propertyVal();

        if ($val !== null) {
            return $prop->displayVal($val);
        }

        if ($prop->allowNull()) {
            $nil = $this->emptyChoice();
            return (string)$nil['label'];
        }

        return '';
    }
1057546
public function toString()
    {
        $ldif = $this->addCommentsToString('');
        if (!is_null($this->version)) {
            $ldif .= $this->getLdifLine(self::DIRECTIVE_VERSION, $this->version);
        }
        foreach ($this->entries as $entry) {
            $this->setupEntry($entry);
            $ldif .= $this->lineEnding.$entry->toString();
        }

        return $ldif;
    }
88222
function toString()
    {
        $uri = '';

        if ($this->getScheme())
            $uri .= $this->getScheme() . ':'. '//';

        $uri .= $this->getAuthority();
        $uri .= parent::toString();

        if ($this->getHost() && (!$this->getQuery()->isEmpty() || $this->getFragment()))
            $uri .= '/';

        $replace = function ($match) { return rawurlencode($match[0]); };
        if (\Poirot\Std\cast($this->getQuery())->toArray()) {
            $regex   = '/(?:[^' .'a-zA-Z0-9_\-\.~' .'!\$&\'\(\)\*\+,;=' .'%:@\/\?]+|%(?![A-Fa-f0-9]{2}))/';
            $uri .= "?" . preg_replace_callback($regex, $replace, $this->getQuery()->toString());
        }

        if ($this->getFragment()) {
            $regex   = '/(?:[^' .'a-zA-Z0-9_\-\.~' .'!\$&\'\(\)\*\+,;=' .'%:@\/\?]+|%(?![A-Fa-f0-9]{2}))/';
            $uri .= "#" . preg_replace_callback($regex, $replace, $this->getFragment());
        }

        return $uri;
    }
472305
protected function paramsToString() {
		$out = "";
		foreach( $this->attributes as $name => $value ) {
			$out .= " {$name}=\"{$value}\"";
		}
		return $this->standalone ? $out." /" : $out;
	}
672340
private function getTmpPath(): string
    {
        $tmpDir = sys_get_temp_dir();
        if (!empty($this->prefix)) {
            $tmpDir .= '/' . $this->prefix;
        }
        $tmpDir .= '/' . $this->id;
        return $tmpDir;
    }
257586
public function getCondensed()
    {
        if ($this->version === 4) {
            return $this->value;
        }

        $addr = preg_replace('/(^|:)0+(\d)/', '\1\2', $this->getExpanded());

        if (preg_match_all('/(?:^|:)(?:0(?::|$))+/', $addr, $matches, PREG_OFFSET_CAPTURE)) {
            $max = 0;
            $pos = null;

            foreach ($matches[0] as $match) {
                if (strlen($match[0]) > $max) {
                    $max = mb_strlen($match[0]);
                    $pos = $match[1];
                }
            }

            $addr = substr_replace($addr, '::', $pos, $max);
        }

        return $addr;
    }
388495
public function getDescription(): string
    {
        if (!$this->minValue) {
            return __('must have a length lower than "%d"', $this->maxValue);
        }
        if (!$this->maxValue) {
            return __('must have a length greater than "%d"', $this->minValue);
        }
        if ($this->minValue === $this->maxValue) {
            return __('must have a length "%d"', $this->minValue);
        }
        return __('must have a length between "%d" and "%d"', $this->minValue, $this->maxValue);
    }