Project

General

Profile

1
<?php
2
 require_once "Mail.php";
3

    
4
if (!class_exists('TBase')) {
5
	$DS = '/';
6

    
7
        $GLOBALS['THRIFT_ROOT'] = dirname(__FILE__) . $DS . 'models' . $DS . 'thrift';
8

    
9
        require_once($GLOBALS['THRIFT_ROOT'] . $DS . 'Thrift.php');
10
        require_once($GLOBALS['THRIFT_ROOT'] . $DS . 'protocol' . $DS . 'TBinaryProtocol.php');
11
        require_once($GLOBALS['THRIFT_ROOT'] . $DS . 'transport' . $DS . 'TSocket.php');
12
        require_once($GLOBALS['THRIFT_ROOT'] . $DS . 'transport' . $DS . 'TBufferedTransport.php');
13
        require_once($GLOBALS['THRIFT_ROOT'] . $DS . 'packages' . $DS . 'openaire' . $DS . 'OpenAireConnector.php');
14

    
15

    
16
	function init() {
17
		$host = 'localhost';
18
                $port = '7911';
19

    
20
                $socket = new TSocket($host, $port);
21

    
22
                $socket->setRecvTimeout(10000);
23

    
24
                $_transport = new TBufferedTransport($socket);
25
                $protocol = new TBinaryProtocol($_transport);
26

    
27
                $_client = new OpenAireConnectorClient($protocol);
28

    
29
                return array("client" => $_client, "transport" => $_transport);
30
	}
31

    
32
	function callThrift(&$thriftHandle, $methodName, $params) {
33
		$thriftHandle["transport"]->open();
34
		
35
		$result = call_user_func_array(array($thriftHandle['client'], $methodName), $params);
36

    
37
		$thriftHandle["transport"]->close();
38

    
39
		return $result;
40
	}
41

    
42
	function getMessage($sc39) {
43
		$file = 'message-'.($sc39?'sc39':'nonsc39').'.txt';
44
		$fp = fopen($file, 'r');
45
		$text = fread($fp, filesize($file));
46
		fclose($fp);
47

    
48
		return $text;
49
	}
50

    
51
	function getSubject($sc39) {
52
		$file = 'subject-'.($sc39?'sc39':'nonsc39').'.txt';
53
		$fp = fopen($file, 'r');
54
		$text = fread($fp, filesize($file));
55
		fclose($fp);
56

    
57
		return $text;
58
	}
59

    
60
	function getUrl($projectId) {
61
		$url = 'http://www.openaire.eu/en/component/openaire/project_info/default/625?id='.$projectId;
62
		$url .= '&confirm='.getHash($projectId);
63

    
64
		return $url;
65
	}
66

    
67
	function getHash($projectId) {
68
		return hash_hmac('sha1', $projectId, 'asupercoolsecret');
69
	}
70

    
71
	function replaceVars($message, $project) {
72
		$message = str_replace('$projectName', $project->acronym, $message);
73
		$message = str_replace('$grantAgreementNumber', $project->grandAgreement, $message);
74
		$message = str_replace('$projectInfoURL', getUrl($project->projectId), $message);
75
		$message = str_replace('$coordinatorName', $project->coordinator->name.' '.$project->coordinator->surname, $message);
76

    
77
		return $message;
78
	}
79

    
80
	$thrift = init();
81
	$projects = callThrift($thrift, 'getProjectsWithNonHarverstedDocuments', array(true, true));
82
	
83

    
84
	foreach (array_slice($projects, 0, 1)  as $project) {
85
		$to = $project->coordinator->email;
86
		$message = getMessage($project->sc39);
87
		$subject = getSubject($project->sc39);
88

    
89
		$headers = array('From' => 'test.openaire@gmail.com', 'To' => $to, 'Subject' => $subject);
90

    
91
		$subject = replaceVars($subject, $project);
92
		$message = replaceVars($message, $project);
93

    
94
		$host = "smtp.gmail.com";
95
		$port = "587";
96
		$username = "test.openaire@gmail.com";
97
		$password = "^($*@$)*!$";
98

    
99
		$smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'debug'=>true, 'username' => $username, 'password' => $password));
100

    
101
//$to = "antleb@di.uoa.gr";
102
echo 'to: '.$to;
103
echo $subject;
104
echo 'message: '.$message;
105

    
106

    
107
		$mail = $smtp->send($to, $headers, $message);
108

    
109
		if (PEAR::isError($mail)) {
110
			echo("<p>" . $mail->getMessage() . "</p>");
111
		} else {
112
			echo("<p>Message successfully sent!</p>");
113
		}
114
	}
115
}
116

    
117
?>
(1-1/5)