| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
freeZZZ 21.04.2017 16:45
Сам исправил методы:@_sql[hOption;jQuery][sFileSpec]
$sFileSpec[^self._getFileSpec[$hOption]]
^switch[^self._getFileStatus[$sFileSpec;$hOption]]{
^case[load]{
$caller.result[^self._load[$hOption.sType;$sFileSpec;$hOption]]
}
^case[sql;force]{
^self._execute{$jQuery}
}
^case[skip-save]{
^self._delete[$sFileSpec]
^self._execute{$jQuery}
}
^case[DEFAULT]{
^self._delete[$sFileSpec]
^self._execute{$jQuery}
^self._save[$hOption.sType;$sFileSpec;$caller.result]
}
}
$result[]
@_getFileSpec[hOptions][result]
^if(def $hOptions.hCache.sFile){
$result[$self.sCacheDir/$hOptions.hCache.sFile]
}(^hOptions.hCache.bAuto.bool($self.bCacheAuto)){
$result[$self.sCacheDir/$self.sCacheAutoSubDir/^math:md5[$hOptions.sQuery]^if(def $hOptions.hSql && ($hOptions.hSql.limit || $hOptions.hSql.offset)){=$hOptions.hSql.limit=$hOptions.hSql.offset}.$hOptions.sType]
}{
$result[]
}
@_save[sType;sFileSpec;uValue][tKey;t;c;sKey;sValue]
^switch[$sType]{
^case[int;double;string]{
^uValue.save[$sFileSpec]
}
^case[table]{
^uValue.save[$sFileSpec;$.encloser["]]
}
^case[hash]{
$tKey[^uValue._keys[]]
^if($uValue.[$tKey.key] is "hash"){
$t[^table::create{key^uValue.[$tKey.key].foreach[sKey;]{^#09$sKey}}]
^tKey.menu{^t.append{$tKey.key^uValue.[$tKey.key].foreach[;sValue]{^#09$sValue}}}
}($uValue.[$tKey.key] is "string"){
$t[^table::create{key^#09value}]
^tKey.menu{^t.append{${tKey.key}^#09$uValue.[$tKey.key]}}
}($uValue.[$tKey.key] is "table"){
$c[^uValue.[$tKey.key].columns[]]
$t[^table::create{^c.menu{$c.column}[^#09]}]
^tKey.menu{^t.join[$uValue.[$tKey.key]]}
}{
$t[^table::create{key}]
^tKey.menu{^t.append{$tKey.key}}
}
^self._save[table;$sFileSpec;$t]
}
^case[file]{
^uValue.save[binary;$sFileSpec]
}
^case[void]{}
}
$result[]
@_load[sType;sFileSpec;hOption][f;t;c]
^switch[$sType]{
^case[int]{
$f[^file::load[text;$sFileSpec]]
$result(^f.text.int(0))
}
^case[double]{
$f[^file::load[text;$sFileSpec]]
$result(^f.text.double(0))
}
^case[string]{
$f[^file::load[text;$sFileSpec]]
$result[$f.text]
}
^case[table]{
$result[^table::load[$sFileSpec;$.encloser["]]]
}
^case[hash]{
$t[^self._load[table;$sFileSpec]]
$c[^t.columns[]]
^switch[$hOption.hSql.type]{
^case[string]{$result[^t.hash[$c.column][value][$.type[$hOption.hSql.type]]]}
^case[table]{$result[^t.hash[$c.column][$.type[$hOption.hSql.type]]]}
^case[DEFAULT]{$result[^t.hash[$c.column]]]}
}
}
^case[file]{
$result[^file::load[binary;$sFileSpec]]
}
^case[void]{
$result[]
}
}