126 lines
2.7 KiB
PHP
126 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* Fonctions utiles au plugin GamuTable
|
|
*
|
|
* @plugin GamuTable
|
|
* @copyright 2020
|
|
* @author tofulm
|
|
* @licence GNU/GPL
|
|
* @package SPIP\Gamutable\Fonctions
|
|
*/
|
|
|
|
if (!defined("_ECRIRE_INC_VERSION")) {
|
|
return;
|
|
}
|
|
include_spip("inc/vite");
|
|
|
|
/**
|
|
* fonction pour forcer un hit pour un objet
|
|
* un hit => maj de champ maj
|
|
*
|
|
* @param string $objet
|
|
* @param int $id_objet
|
|
* @param string $table (optional) pour forcer sur une table spécifique ou le test se fait sur la cle primaire de $objet
|
|
* si $table est renseigné : ex :
|
|
* $objet = rubrique
|
|
* $id_objet = 4
|
|
* $table = 'spip_articles'
|
|
* => le hit sur l'id_rubrique 4 de spip_articles
|
|
*
|
|
* @return void [TODO:description]
|
|
*/
|
|
function forcer_hit(string $objet, int $id_objet, string $table = null):void {
|
|
include_spip('inc/invalideur');
|
|
$id = id_table_objet($objet);
|
|
if (!$table) {
|
|
$table = table_objet_sql($objet);
|
|
} else {
|
|
$id_c = id_table_objet($table);
|
|
suivre_invalideur("id='$id_c/1'");
|
|
}
|
|
sql_updateq($table, ['maj' => date("Y-m-d H:i:s")], "$id=".$id_objet);
|
|
suivre_invalideur("id='$id/1'");
|
|
}
|
|
|
|
if (!function_exists('tsEnDate')) {
|
|
/**
|
|
* retour la date d'un timestamp
|
|
*
|
|
* @param $ts
|
|
*
|
|
* @return string
|
|
*/
|
|
function tsEnDate($ts) {
|
|
$ts = intval($ts);
|
|
return date('Y-m-d H:i:s', $ts);
|
|
}
|
|
}
|
|
|
|
function gamutable_fermer_modalbox($id_objet = 9999999999, $num = null) {
|
|
if ($num) {
|
|
$num = "_deux";
|
|
}
|
|
|
|
$html = <<<EOJS
|
|
<script type="text/javascript">
|
|
id = "$id_objet";
|
|
if (id === 'maj' || !id) {
|
|
if (typeof app !== 'undefined') {
|
|
app.rechargerJson(id);
|
|
}
|
|
if (typeof app_deux !== 'undefined') {
|
|
app_deux.rechargerJson(id);
|
|
}
|
|
} else {
|
|
id = parseInt(id);
|
|
if (id > 0 && id < 9999999999) {
|
|
if (typeof app$num !== 'undefined') {
|
|
app$num.rechargerJson(id);
|
|
}
|
|
}
|
|
if (id === 9999999999) {
|
|
if (typeof app$num !== 'undefined') {
|
|
app$num.rechargerJson();
|
|
}
|
|
}
|
|
}
|
|
$.modalboxclose();
|
|
delete id;
|
|
</script>
|
|
EOJS;
|
|
return $html;
|
|
}
|
|
|
|
function gamutable_recharger_tableau($id_objet = 9999999999, $num = null) {
|
|
if ($num) {
|
|
$num = "_deux";
|
|
}
|
|
|
|
$html = <<<EOJS
|
|
<script type="text/javascript">
|
|
id = "$id_objet";
|
|
if (id === 'maj' || !id) {
|
|
if (typeof app !== 'undefined') {
|
|
app.rechargerJson(id);
|
|
}
|
|
if (typeof app_deux !== 'undefined') {
|
|
app_deux.rechargerJson(id);
|
|
}
|
|
} else {
|
|
id = parseInt(id);
|
|
if (id > 0 && id < 9999999999) {
|
|
if (typeof app$num !== 'undefined') {
|
|
app$num.rechargerJson(id);
|
|
}
|
|
}
|
|
if (id === 9999999999) {
|
|
if (typeof app$num !== 'undefined') {
|
|
app$num.rechargerJson();
|
|
}
|
|
}
|
|
}
|
|
delete id;
|
|
</script>
|
|
EOJS;
|
|
return $html;
|
|
}
|