| @@ 164-193 (lines=30) @@ | ||
| 161 | * stocke le resultat pour ne pas faire |
|
| 162 | * de requetes showtable intempestives |
|
| 163 | */ |
|
| 164 | function spip_pg_ajouter_champs_timestamp($table, $couples, $desc='', $serveur=''){ |
|
| 165 | static $tables = array(); |
|
| 166 | ||
| 167 | if (!isset($tables[$table])){ |
|
| 168 | ||
| 169 | if (!$desc){ |
|
| 170 | $f = charger_fonction('trouver_table', 'base'); |
|
| 171 | $desc = $f($table, $serveur); |
|
| 172 | // si pas de description, on ne fait rien, ou on die() ? |
|
| 173 | if (!$desc) return $couples; |
|
| 174 | } |
|
| 175 | ||
| 176 | // recherche des champs avec simplement 'TIMESTAMP' |
|
| 177 | // cependant, il faudra peut etre etendre |
|
| 178 | // avec la gestion de DEFAULT et ON UPDATE |
|
| 179 | // mais ceux-ci ne sont pas utilises dans le core |
|
| 180 | $tables[$table] = array(); |
|
| 181 | foreach ($desc['field'] as $k=>$v){ |
|
| 182 | if (strpos(strtolower(ltrim($v)), 'timestamp')===0) |
|
| 183 | $tables[$table][] = $k; |
|
| 184 | } |
|
| 185 | } |
|
| 186 | ||
| 187 | // ajout des champs type 'timestamp' absents |
|
| 188 | foreach ($tables[$table] as $maj){ |
|
| 189 | if (!array_key_exists($maj, $couples)) |
|
| 190 | $couples[$maj] = "NOW()"; |
|
| 191 | } |
|
| 192 | return $couples; |
|
| 193 | } |
|
| 194 | ||
| 195 | ||
| 196 | // Alter en PG ne traite pas les index |
|
| @@ 1600-1630 (lines=31) @@ | ||
| 1597 | * de requetes showtable intempestives |
|
| 1598 | */ |
|
| 1599 | // http://doc.spip.org/@_sqlite_ajouter_champs_timestamp |
|
| 1600 | function _sqlite_ajouter_champs_timestamp($table, $couples, $desc='', $serveur=''){ |
|
| 1601 | static $tables = array(); |
|
| 1602 | ||
| 1603 | if (!isset($tables[$table])){ |
|
| 1604 | ||
| 1605 | if (!$desc){ |
|
| 1606 | $f = charger_fonction('trouver_table', 'base'); |
|
| 1607 | $desc = $f($table, $serveur); |
|
| 1608 | // si pas de description, on ne fait rien, ou on die() ? |
|
| 1609 | if (!$desc OR !$desc['field']) return $couples; |
|
| 1610 | } |
|
| 1611 | ||
| 1612 | // recherche des champs avec simplement 'TIMESTAMP' |
|
| 1613 | // cependant, il faudra peut etre etendre |
|
| 1614 | // avec la gestion de DEFAULT et ON UPDATE |
|
| 1615 | // mais ceux-ci ne sont pas utilises dans le core |
|
| 1616 | $tables[$table] = array(); |
|
| 1617 | ||
| 1618 | foreach ($desc['field'] as $k=>$v){ |
|
| 1619 | if (strpos(strtolower(ltrim($v)), 'timestamp')===0) |
|
| 1620 | $tables[$table][] = $k; |
|
| 1621 | } |
|
| 1622 | } |
|
| 1623 | ||
| 1624 | // ajout des champs type 'timestamp' absents |
|
| 1625 | foreach ($tables[$table] as $maj){ |
|
| 1626 | if (!array_key_exists($maj, $couples)) |
|
| 1627 | $couples[$maj] = "datetime('now')"; |
|
| 1628 | } |
|
| 1629 | return $couples; |
|
| 1630 | } |
|
| 1631 | ||
| 1632 | ||
| 1633 | ||