root/trunk/robots/send_invitation.bot.php

Revision 1, 2.8 KB (checked in by anonymous, 7 years ago)

initial import

Line 
1#!/usr/bin/php
2<?
3include ('../includes/includes.inc.php');
4include ('../includes/config/global.inc.php');
5
6$db =& DB::connect($dsn);
7if (DB::isError($db))
8                error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | Connexion SQL impossible : '.$db->getMessage());
9
10$db->setFetchMode(DB_FETCHMODE_ASSOC);
11
12$lang = $argv[1];
13
14putenv("LANG=".$lang);
15setlocale (LC_MESSAGES, $lang);
16
17bindtextdomain("dotnode", LOCALEPATH);
18textdomain("dotnode");
19
20/************************** Wiki ************************/
21$db_wiki =& DB::connect($dsn_wiki);
22if (DB::isError($db_wiki))
23        error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | Connexion SQL impossible : '.$db_wiki->getMessage());
24$db_wiki->setFetchMode(DB_FETCHMODE_ASSOC);
25
26$page =& $db_wiki->getOne('SELECT body FROM pages WHERE tag=? AND lang=? AND latest=?', array('DotNodeMailInvit', $lang, 'Y'));
27if(!$page)
28    $page =& $db_wiki->getOne('SELECT body FROM pages WHERE tag=? AND lang=? AND latest=?', array('DotNodeMailInvit', 'en_US', 'Y'));
29
30$db_wiki->disconnect();
31/********************************************************/
32
33$invitation_r = $db->query('SELECT id, id_invit, fname, lname, email, lang, ip  FROM invitation_email WHERE status=? AND lang=?', array('todo', $argv[1]));
34
35while($invitation = $invitation_r->fetchRow())
36{
37    $friend = $db->getRow('SELECT user_contact.id, user_contact.email as email, user.fname as fname, user.lname as lname, user.login as login FROM user LEFT JOIN user_contact USING (id) WHERE user.id=?', array($invitation['id_invit']));
38
39    $mail = array(
40        'From' => '"'.addslashes($friend['fname'].' '.$friend['lname']).'" <'.$friend['email'].'>',
41        'To' => $invitation['email'],
42        'ReturnPath' => 'invitation-'.$invitation['id'].'@dotnode.net' );
43
44    unset($message_perso);
45
46    if($message_perso = get_setting($friend['id'], 'invitation_message'))
47    {
48        $personal_message = "~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n";
49        $personal_message.= tr('A personal message from your friend')." :\n";
50        $personal_message.= $message_perso;
51        $personal_message.= "\n~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n";
52    }
53    $search_a = array('#domain#', '#friend_fname#', '#friend_lname#', '#personal_message#', '#friend_login#', '#invitation_id#');
54    $replace_a = array($config['domain'], $friend['fname'], $friend['lname'], $personal_message, $friend['login'], $invitation['id']);
55
56    $mail['Subject'] = strarg(tr('%1 %2 invite you on .node'), $friend['fname'], $friend['lname']);
57    $mail['body'] = str_replace($search_a, $replace_a, $page);
58
59
60    if(dotMail($mail))
61        $db->query('UPDATE invitation_email SET status=? WHERE id=?',array('doing', $invitation['id']) );
62
63    print $argv[0].' '.$invitation['fname'].' '.$invitation['lname'].' <'.$invitation['email'].'>'." - $lang\n";
64}
65
66$db->disconnect();
67?>
Note: See TracBrowser for help on using the browser.