function getNarrowObjectList($varname = '') { $wideList = listCells('object'); if (strlen($varname) and strlen(getConfigVar($varname))) { global $parseCache; if (!isset($parseCache[$varname])) { $parseCache[$varname] = spotPayload(getConfigVar($varname), 'SYNT_EXPR'); } if ($parseCache[$varname]['result'] != 'ACK') { return array(); } $wideList = filterCellList($wideList, $parseCache[$varname]['load']); } $ret = array(); foreach ($wideList as $cell) { $ret[$cell['id']] = $cell['dname']; } return $ret; }
function getRackCode($text) { if (!mb_strlen($text)) { return array('result' => 'NAK', 'load' => 'The RackCode text was found empty in ' . __FUNCTION__); } $text = str_replace("\r", '', $text) . "\n"; $synt = spotPayload($text, 'SYNT_CODETEXT'); if ($synt['result'] != 'ACK') { return $synt; } // An empty sentence list is semantically valid, yet senseless, // so checking intermediate result once more won't hurt. if (!count($synt['load'])) { return array('result' => 'NAK', 'load' => 'Empty parse tree found in ' . __FUNCTION__); } require_once 'code.php'; // for semanticFilter() return semanticFilter($synt['load']); }