root/trunk/robots/send_password.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$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$page =& $db_wiki->getOne('SELECT body FROM pages WHERE tag=? AND lang=? AND latest=?', array('DotNodeMailPassword', $lang, 'Y'));
26if(!$page)
27    $page =& $db_wiki->getOne('SELECT body FROM pages WHERE tag=? AND lang=? AND latest=?', array('DotNodeMailPassword', 'en_US', 'Y'));
28
29$db_wiki->disconnect();
30/********************************************************/
31
32$todo_r = $db->query('SELECT id_todo, param, id, date, ip FROM todo WHERE robot=? AND status=? AND lang=?', array('send_password', 'todo', $argv[1]));
33if(DB::isError($todo_r))
34    error_log($todo_r->getUserInfo());
35
36while($todo = $todo_r->fetchRow())
37{
38        /*********** recup des param de la todo ******************/
39        if(strstr($todo['param'],'|') != false)
40                $param_array = split("\|", $todo['param']);
41        else
42                $param_array = array($todo['param']);
43
44        foreach($param_array as $item)
45        {
46                list($parameter, $value) = split('=', $item);
47                $param[$parameter] = $value;
48        }
49        /*********************************************************/
50
51    $user = $db->getRow('SELECT id, lname, fname, login FROM cache_user WHERE id=?', array($todo['id']) );
52
53    $search_a = array('#domain#', '#fname#', '#lname#', '#id#', '#login#');
54    $replace_a = array($config['domain'], $user['fname'], $user['lname'], $user['id'], $user['login']);
55
56    $mail['Subject'] = '[.node] '.strarg(_('Change your password'), $user['fname'], $user['lname']);
57    $mail['body'] = str_replace($search_a, $replace_a, $page);
58
59    $mail['ReturnPath'] = 'password-'.$todo['id'].'@dotnode.net';
60    $mail['From'] = "password-sender@dotnode.com";
61    $mail['To'] = $param['email'];
62
63
64    if(dotMail($mail))
65        $db->query('UPDATE todo SET status=? WHERE id=? AND robot=?',array('doing', $user['id'], 'send_password') );
66    print $param['email']." - $lang\n";
67}
68
69$db->disconnect();
70?>
Note: See TracBrowser for help on using the browser.