<pman>Intégration de la branche dev74
This commit is contained in:
commit
5cc6b84287
@ -24,6 +24,8 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"nulib/tests": "^8.2",
|
||||
"ext-mbstring": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-posix": "*",
|
||||
"ext-pcntl": "*",
|
||||
"ext-curl": "*",
|
||||
|
7
php/src/app/TODO.md
Normal file
7
php/src/app/TODO.md
Normal file
@ -0,0 +1,7 @@
|
||||
# nulib\app
|
||||
|
||||
* [ ] ajouter des méthodes normalisées `app::get_cachedir()` et
|
||||
`app::get_cachefile($name)` avec la valeur par défaut
|
||||
`cachedir = $vardir/cache`
|
||||
|
||||
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary
|
@ -366,13 +366,14 @@ class CapacitorChannel implements ITransactor {
|
||||
}
|
||||
|
||||
/**
|
||||
* méthode appelée lors du parcours des éléments avec
|
||||
* {@link Capacitor::each()}
|
||||
* méthode appelée lors du parcours des éléments avec {@link Capacitor::each()}
|
||||
*
|
||||
* @param ?array $row la ligne courante. l'élément courant est accessible via
|
||||
* $row["item"]
|
||||
* @return ?array le cas échéant, un tableau non null utilisé pour mettre à
|
||||
* jour la ligne courante
|
||||
* Retourner [false] pour arrêter le parcours des éléments (la ligne courante
|
||||
* ainsi que les autres lignes ne sont plus mise à jour)
|
||||
*
|
||||
* - Il est possible de mettre à jour $item en le retourant avec la clé "item"
|
||||
* - La clé primaire (il s'agit généralement de "id_") ne peut pas être
|
||||
|
@ -661,7 +661,9 @@ abstract class CapacitorStorage {
|
||||
foreach ($rows as $row) {
|
||||
$rowIds = $this->getRowIds($channel, $row);
|
||||
$updates = $onEach->invoke([$row, ...$args]);
|
||||
if (is_array($updates) && $updates) {
|
||||
if ($updates === [false]) {
|
||||
break;
|
||||
} elseif ($updates !== null) {
|
||||
if (!array_key_exists("modified_", $updates)) {
|
||||
$updates["modified_"] = date("Y-m-d H:i:s");
|
||||
}
|
||||
|
@ -6,6 +6,11 @@ use nulib\db\pdo\Pdo;
|
||||
class Mysql extends Pdo {
|
||||
const PREFIX = "mysql";
|
||||
|
||||
static function config_unbufferedQueries(self $mysql): void {
|
||||
$mysql->db->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
|
||||
}
|
||||
const CONFIG_unbufferedQueries = [self::class, "config_unbufferedQueries"];
|
||||
|
||||
function getDbname(): ?string {
|
||||
$url = $this->dbconn["name"] ?? null;
|
||||
if ($url !== null && preg_match('/^mysql(?::|.*;)dbname=([^;]+)/i', $url, $ms)) {
|
||||
|
@ -40,11 +40,6 @@ class Pdo implements IDatabase {
|
||||
}
|
||||
const CONFIG_errmodeException_lowerCase = [self::class, "config_errmodeException_lowerCase"];
|
||||
|
||||
static function config_unbufferedQueries(self $pdo): void {
|
||||
$pdo->db->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
|
||||
}
|
||||
const CONFIG_unbufferedQueries = [self::class, "config_unbufferedQueries"];
|
||||
|
||||
protected const OPTIONS = [
|
||||
\PDO::ATTR_PERSISTENT => true,
|
||||
];
|
||||
|
@ -276,7 +276,7 @@ class txt {
|
||||
* supprimer les diacritiques de la chaine $text
|
||||
*
|
||||
* la translitération se fait avec les règles de la locale spécifiée.
|
||||
* NB: la translitération ne fonctionne pas si LC_CTYPE == C ou POISX
|
||||
* NB: la translitération ne fonctionne pas si LC_CTYPE == C ou POSIX
|
||||
*/
|
||||
static final function remove_diacritics(?string $text, string $locale="fr_FR.UTF-8"): ?string {
|
||||
if ($text === null) return null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user