Beispiel #1
0
 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);
 }
Beispiel #2
0
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;
}
Beispiel #3
0
 /**
  * 
  */
 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);
     });
 }