root/trunk/robots/send_confirmation_email.bot.php

Revision 1, 2.5 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$_robot_name = 'modif_email';
7
8$db =& DB::connect($dsn);
9if (DB::isError($db))
10                error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | Connexion SQL impossible : '.$db->getMessage());
11
12$db->setFetchMode(DB_FETCHMODE_ASSOC);
13
14$lang = $argv[1];
15
16putenv('LANG='.$lang);
17setlocale (LC_MESSAGES, $lang);
18
19bindtextdomain("dotnode", LOCALEPATH);
20textdomain("dotnode");
21
22/************************** Wiki ************************/
23$db_wiki =& DB::connect($dsn_wiki);
24if (DB::isError($db_wiki))
25        error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | Connexion SQL impossible : '.$db_wiki->getMessage());
26$db_wiki->setFetchMode(DB_FETCHMODE_ASSOC);
27$page =& $db_wiki->getOne('SELECT body FROM pages WHERE tag=? AND lang=? AND latest=?', array('DotNodeMailChange', $lang, 'Y'));
28if(!$page)
29    $page =& $db_wiki->getOne('SELECT body FROM pages WHERE tag=? AND lang=? AND latest=?', array('DotNodeMailChange', 'en_US', 'Y'));
30
31$db_wiki->disconnect();
32/********************************************************/
33
34$todo_r = $db->query('SELECT id_todo, param, id, date FROM todo WHERE robot=? AND status=? AND lang=?', array($_robot_name, 'todo', $argv[1]));
35if(DB::isError($todo_r))
36    error_log($todo_r->getUserInfo());
37
38while($todo = $todo_r->fetchRow())
39{
40    /*********** recup des param de la todo ******************/
41    if(strstr($todo['param'],'|') != false)
42        $param_array = split("\|", $todo['param']);
43    else
44        $param_array = array($todo['param']);
45
46    foreach($param_array as $item)
47    {
48        list($parameter, $value) = split('=', $item);
49        $param[$parameter] = $value;
50    }
51    /*********************************************************/
52
53    $user = $db->getRow('SELECT id, lname, fname, login FROM cache_user WHERE id=?', array($todo['id']) );
54
55    $search_a = array('#domain#', '#fname#', '#lname#', '#old_email#', '#new_email#', '#id#');
56    $replace_a = array($config['domain'], $user['fname'], $user['lname'], $param['old_email'], $param['email'], $user['id']);
57
58    $mail['Subject'] = '[.node] '._('Change your main email');
59    $mail['body'] = str_replace($search_a, $replace_a, $page);
60
61    $mail['From'] = 'confirmation-email@dotnode.com';
62    $mail['To'] = $param['email'];
63    $mail['ReturnPath'] = 'todo-modifemail-'.$todo['id'].'@dotnode.net';
64
65    if(dotMail($mail))
66    {
67        $db->query('UPDATE todo SET status=? WHERE id=? AND robot=?',array('doing', $user['id'], $_robot_name) );
68        print $param['email']." - $lang\n";
69    }
70}
71
72$db->disconnect();
73?>
Note: See TracBrowser for help on using the browser.