Ferreteria/v0.6/clade/Config/Styles/@code/rmv/2025/06/23

From WoozleCodes
Jump to navigation Jump to search
2025/06/22 2025/06/23 2025/06/24

2025-06-23 code moved up to StartsWith() (new)

#
        $nMatch = 0;
        $oFnd = NULL;
        $nlAsk = strlen($sAsk);
        foreach ($this->ar as $sChk => $oChk) {
            if ($sChk === $sAsk) {
                $oFnd = $oChk;
                break;
            } elseif (str_starts_with($sChk,$sAsk)) {
                if ($nlAsk > $nMatch) {
                    $oFnd = $oChk;
                    $nMatch = $nlAsk;
                }
            } elseif (str_starts_with($sAsk,$sChk)) {
                $nlChk = strlen($sChk);
                if ($nlChk > $nMatch) {
                    $oFnd = $oChk;
                    $nMatch = $nlChk;
                }
            }
        }

2025-06-23 old code (we used to have a Style object at this point)

#
        if (is_null($oFnd)) {
            if (is_string($scDef)) {
                $oFnd = new $scDef;
            } else {
                echo "Could not find style [$sAsk].";
                if (count($this->ar) > 0) {
                    echo ' Available styles:'.CRLF;
                    foreach ($this->ar as $sChk => $oChk) {
                        echo " - $sChk".CRLF;
                    }
                    die();
                } else {
                    echo ' No styles have been registered; using fallback.'.CRLF;
                    $oFnd = new FallbackStyle;
                }
            }
        }