librealire/librealire_fonctions.php

53 lines
1.3 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function retiremot($chaine) {
$chaine = str_replace('mot','',$chaine);
return $chaine;
}
include_spip('inc/cextras_autoriser');
// restreindre les champs extras
restreindre_extras('article', 'transcriptions', 'transcriptions', 'composition');
restreindre_extras('mot', 'soustitre', 5, 'groupemot');
/**
* reprise de la fonction dans agenda :
* decale les mois de la date.
* cette fonction peut raboter le jour si le nouveau mois ne les contient pas
* exemple 31/01/2007 + 1 mois => 28/02/2007
*
* @param string $date
* @param int $decalage
* @param string $format
* @return string
*/
function librealire_moisdecal($date, $decalage, $format = 'Y-m-d H:i:s') {
include_spip('inc/filtres');
$date_array = recup_date($date);
if ($date_array) {
list($annee, $mois, $jour) = $date_array;
}
if (!$jour) {
$jour = 1;
}
if (!$mois) {
$mois = 1;
}
$mois2 = $mois + $decalage;
$date2 = mktime(1, 1, 1, $mois2, intval($jour), $annee);
// mois normalement attendu
$mois3 = date('m', mktime(1, 1, 1, $mois2, intval(1), $annee));
// et si le mois de la nouvelle date a moins de jours...
$mois2 = date('m', $date2);
if ($mois2 - $mois3) {
$date2 = mktime(1, 1, 1, $mois2, intval(0), $annee);
}
return date($format, $date2);
}