voilà:
<?php
/**
* Gestion du formulaire de creation des points de situation twitter
*
* Ce fichier definit les fonctions permettant de gerer le traitement du formulaire d'edition d'un point de situation twitter .
* Cela inclut la verification des donnees, la gestion des erreurs, l'envoie des notifications au colonel de permanence...
*
* @author George Kandalaft
* @author Taoufik Messaoud
*
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
include_spip('inc/actions');
include_spip('inc/editer');
define(_REG_CHARS, 'a-z0-9\pN\pL\pM\'‘’°\&\+–\_•·⋅');
define(_REG_HASH, '(\#[' . _REG_CHARS . '\@\.\/-]*[' . _REG_CHARS . '])');
/**
* Modifie un point de situation Twitter par formulaire
*
* @param int|string $id_pst
* @param int $id_evenement
* @param string $retour
* @return array
* contenu du formulaire de modification
*
*/
function formulaires_editer_pst_charger_dist($id_pst = 'new', $id_evenement = 0, $retour = '') {
$valeurs = formulaires_editer_objet_charger('pst', $id_pst, 'id_evenement', 0, $retour, '');
if (!$valeurs['id_evenement']) {
$valeurs['id_evenement'] = $id_evenement;
}
return $valeurs;
}
/**
* Vérifie les valeurs du formulaire de modification d'un point de situation evenement
*
* @param int|string $id_pst
* @param int $id_evenement
* @param string $retour
* @return array
* erreurs contenues dans le formulaire
*
*/
function formulaires_editer_pst_verifier_dist($id_pst = 'new', $id_evenement = 0, $retour = '') {
$erreurs = formulaires_editer_objet_verifier('pst', $id_pst, array('texte'));
if (count($erreurs) && $erreurs['texte']) {
$erreurs['message_erreur'] = _T('incident:clavier_casse');
}
return $erreurs;
}
/**
* Traitement du point de situation twitter
*
* Recupération des erreurs,
* envoies notifications par mail...
*
* @param int|string $id_pst
* @param int $id_evenement
* @param string $retour
* @return array
* l'ensemble des message post traitement: erreurs, redirection, comportement correct
*
*/
function formulaires_editer_pst_traiter_dist($id_pst = 'new', $id_evenement = 0, $retour = '') {
$res = array();
$action_editer = charger_fonction('editer_pst', 'action');
list($id, $err) = $action_editer();
$texte = _request('texte');
$mediaToUpload = array();
$tab = explode('<img', $texte);
if ($tab[1] != '') {
$tab2 = explode('|', $tab[1]);
$tab3 = explode('>', $tab[1]);
//on enleve l'image du texte
$texte = $tab[0].$tab3[1];
$idImage = $tab2[0];
$champs = array('fichier');
$where = array(
"id_document = $idImage"
);
$req = sql_select($champs, 'spip_documents', $where);
while ($r = sql_fetch($req)) {
$image = $r['fichier'];
}
$mediaToUpload[] = '/home/www/html/IMG/'.$image;
}
$str = _request('titre'). PHP_EOL;
$str .= $texte. PHP_EOL;
/* make request to Twitter API */
$payLoad = postTweetUpdate($str, $mediaToUpload);
if ($err || isset($payLoad->errors)) {
if ($err) {
$res['message_erreur'] = $err;
} else {
$res['message_erreur'] = $payLoad -> errors -> message;
}
} else {
$res['message_ok'] = _L('ok');
//Envoi de notifications
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
$email_from = $GLOBALS['meta']['email_envoi'];
$cta = 'cpdrens@sdis91.fr';
//$emails[] =$cta;
//envoyer notification au colons de permanence
$mailcol = sql_allfetsel('email', 'spip_auteurs', 'profil = ' . sql_quote('p2') . 'and bio = ""');
$mailto = array();
foreach ($mailcol as $mail) {
if ($mail['email']) {
$mailto[] = $mail['email'];
}
}
$mailto[] = 'gkandalaft@sdis91.fr';
$mailto = implode(',', $mailto);
spip_log("Alerte Twitter mailcol $mailto", 'alerte_colonel');
// si des OSC sont choisis, les mettre en cc sinon cc seulement le cta-codis
if (_request('copie')) {
$emails = _request('copie');
foreach ($emails as $email) {
spip_log("Alerte Twitter emails copie $email", 'alerte_colonel');
}
}
$dateo = date('d-m-Y H:i:s');
$sujet = _T('pst:alerte_osc');
$texte = $dateo . ' : ';
$texte .= _request('texte');
$corps = array(
'html' => $texte,
'cc' => ($emails ? $emails : ''),
'nom_envoyeur' => $email_from
);
$envoyer_mail($mailto, $sujet, $corps);
spip_log("Alerte Twitter envoyée a $mailto", 'alerte_colonel');
if ($retour) {
$res['redirect'] = $retour;
spip_log("Alerte Twitter retour $retour", 'alerte_colonel');
}
}
return $res;
}