function _dataSQL($sqlObj, $reload = false) { if (!is_a($sqlObj, "AbstractQueryBuilder")) { trigger_logikserror("_dataSQL only accepts AbstractQueryBuilder objects."); return false; } $cacheKey = "DATA-SQL::" . md5($sqlObj->_SQL()); if ($reload) { $cacheData = $sqlObj->_get(); _cache($cacheKey, $cacheData); } else { $cacheData = _cache($cacheKey); if ($cacheData == null || count($cacheData) <= 0) { $cacheData = $sqlObj->_get(); _cache($cacheKey, $cacheData); } } return new LogiksData($cacheData, $cacheKey); }
function get_item_id($name) { if ($id = _cache("item_id", $name)) { return $id; } global $ft; if (is_null($name)) { return 0; } $shipid = $ft->dbh->_select_one('SELECT typeid FROM tbl:itemtypes WHERE name = ?', array($name)); _cache("item_id", $name, $shipid); return $shipid; }
/** * */ public static function _get($pkValues) { $pkValues = (array) $pkValues; $model = get_called_class(); $key = $model . ':' . implode(':', $pkValues); return _cache($key, function () use($model, $pkValues) { $pkColumns = (array) $model::$_pk; if (count($pkValues) !== count($pkColumns)) { throw new NotEnoughFoundException('Invalid number of PK arguments (' . count($pkValues) . ' instead of ' . count($pkColumns) . ').'); } $pkValues = array_combine($pkColumns, $pkValues); $conditions = $model::dbObject()->stringifyConditions($pkValues, 'AND', $model::$_table); return $model::_one($conditions); }); }