예제 #1
0
/** baz_mise_a_jour() - Mettre a jour une fiche
 * @global   Le contenu du formulaire de saisie de l'annonce
 */
function baz_mise_a_jour_fiche($valeur)
{
    $valeur = baz_requete_bazar_fiche($valeur);
    // on sauve les valeurs d'une fiche dans une PageWiki, pour garder l'historique
    $GLOBALS['wiki']->SavePage($valeur['id_fiche'], json_encode($valeur));
    // Envoie d un mail aux administrateurs
    if (BAZ_ENVOI_MAIL_ADMIN) {
        include_once 'tools/contact/libs/contact.functions.php';
        $lien = str_replace('/wakka.php?wiki=', '', $GLOBALS['wiki']->config['base_url']);
        $sujet = remove_accents('[' . str_replace('http://', '', $lien) . '] fiche modifiee : ' . $_POST['bf_titre']);
        $GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_CONSULTER);
        $GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
        $GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $valeur['_BAZAR_']['id_fiche']);
        $text = 'Voir la fiche sur le site pour l\'administrer : ' . $GLOBALS['_BAZAR_']['url']->getUrl();
        $texthtml = '<br /><br /><a href="' . $GLOBALS['_BAZAR_']['url']->getUrl() . '" title="Voir la fiche">Voir la fiche sur le site pour l\'administrer</a>';
        $fichier = 'tools/bazar/presentation/styles/bazar.css';
        $style = file_get_contents($fichier);
        $style = str_replace('url(', 'url(' . $lien . '/tools/bazar/presentation/', $style);
        $fiche = str_replace('src="tools', 'src="' . $lien . '/tools', baz_voir_fiche(0, $valeur['id_fiche'])) . $texthtml;
        $html = '<html><head><style type="text/css">' . $style . '</style></head><body>' . $fiche . '</body></html>';
        //on va chercher les admins
        $requeteadmins = 'SELECT value FROM ' . $GLOBALS['wiki']->config['table_prefix'] . 'triples ' . 'WHERE resource="ThisWikiGroup:admins" AND property="http://www.wikini.net/_vocabulary/acls" LIMIT 1';
        $ligne = $GLOBALS['wiki']->LoadSingle($requeteadmins);
        $tabadmin = explode("\n", $ligne['value']);
        foreach ($tabadmin as $line) {
            $admin = $GLOBALS['wiki']->LoadUser(trim($line));
            send_mail(BAZ_ADRESSE_MAIL_ADMIN, BAZ_ADRESSE_MAIL_ADMIN, $admin['email'], $sujet, $text, $html);
        }
    }
    return $valeur;
}
예제 #2
0
/** baz_mise_a_jour() - Mettre a jour une fiche
*
* @global   Le contenu du formulaire de saisie de l'annonce
* @return   void
*/
function baz_mise_a_jour_fiche($valeur)
{
    $valeur = array_merge(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']), $valeur);
    $valeur = baz_requete_bazar_fiche($valeur, $GLOBALS['_BAZAR_']['id_typeannonce']);
    //on sauve les valeurs d'une fiche dans une PageWiki, pour garder l'historique
    $GLOBALS["wiki"]->SavePage($GLOBALS['_BAZAR_']['id_fiche'], $valeur);
    // Envoie d un mail aux administrateurs
    if (BAZ_ENVOI_MAIL_ADMIN) {
        include_once 'Mail.php';
        include_once 'Mail/mime.php';
        $lien = str_replace("/wakka.php?wiki=", "", $GLOBALS['wiki']->config["base_url"]);
        $sujet = remove_accents('[' . str_replace("http://", "", $lien) . '] fiche modifiee : ' . $_POST['bf_titre']);
        $GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_CONSULTER);
        $GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
        $GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
        $text = 'Voir la fiche sur le site pour l\'administrer : ' . $GLOBALS['_BAZAR_']['url']->getUrl();
        $texthtml = '<br /><br /><a href="' . $GLOBALS['_BAZAR_']['url']->getUrl() . '" title="Voir la fiche">Voir la fiche sur le site pour l\'administrer</a>';
        $fichier = 'tools/bazar/presentation/bazar.css';
        $style = file_get_contents($fichier);
        $style = str_replace('url(', 'url(' . $lien . '/tools/bazar/presentation/', $style);
        $fiche = str_replace('src="tools', 'src="' . $lien . '/tools', baz_voir_fiche(0, $GLOBALS['_BAZAR_']['id_fiche'])) . $texthtml;
        $html = '<html><head><style type="text/css">' . $style . '</style></head><body>' . $fiche . '</body></html>';
        $crlf = "\n";
        $hdrs = array('From' => BAZ_ADRESSE_MAIL_ADMIN, 'Subject' => $sujet);
        $mime = new Mail_mime($crlf);
        $mime->setTXTBody($text);
        $mime->setHTMLBody($html);
        //do not ever try to call these lines in reverse order
        $body = $mime->get();
        $hdrs = $mime->headers($hdrs);
        $mail =& Mail::factory('mail');
        //on va chercher les admins
        $requeteadmins = 'SELECT value FROM ' . $GLOBALS['wiki']->config["table_prefix"] . 'triples WHERE resource="ThisWikiGroup:admins" AND property="http://www.wikini.net/_vocabulary/acls" LIMIT 1';
        $resultatadmins = $GLOBALS['_BAZAR_']['db']->query($requeteadmins);
        $ligne = $resultatadmins->fetchRow(DB_FETCHMODE_ASSOC);
        $tabadmin = explode("\n", $ligne['value']);
        foreach ($tabadmin as $line) {
            $admin = $GLOBALS['wiki']->LoadUser(trim($line));
            $mail->send($admin['email'], $hdrs, $body);
        }
    }
    return;
}