piler/util/gmail-imap-import.php

104 lines
1.7 KiB
PHP
Raw Normal View History

2012-09-28 14:15:45 +02:00
<?php
2014-01-16 23:02:23 +01:00
ini_set("session.save_path", "/tmp");
2012-09-28 14:15:45 +02:00
$webuidir = "";
2014-04-24 10:18:29 +02:00
$daemonize = 0;
$opts = 'hd::';
$lopts = array(
'webui:'
);
if($options = getopt($opts, $lopts)) {
if(isset($options['webui'])) {
$webuidir = $options['webui'];
}
else {
echo("\nError: must provide path to WebUI directory\n\n");
exit;
}
if(isset($options['d'])) {
$daemonize = 1;
}
}
2012-09-28 14:15:45 +02:00
require_once($webuidir . "/config.php");
require(DIR_SYSTEM . "/startup.php");
require_once 'Zend/Mail/Protocol/Imap.php';
require_once 'Zend/Mail/Storage/Imap.php';
$request = new Request();
Registry::set("request", $request);
Registry::set('document', new Document());
$loader = new Loader();
Registry::set('load', $loader);
$language = new Language();
Registry::set('language', $language);
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PREFIX);
Registry::set('DB_DATABASE', DB_DATABASE);
Registry::set('db', $db);
Registry::set('DB_DRIVER', DB_DRIVER);
$loader->model('user/google');
$loader->model('google/google');
openlog("piler-gmail-import", LOG_PID, LOG_MAIL);
2014-04-24 10:18:29 +02:00
if($daemonize == 1) {
while(1) {
syslog(LOG_INFO, "started another imap poll");
poll_imap_accounts();
sleep(300);
}
}
else {
poll_imap_accounts();
}
2012-09-28 14:15:45 +02:00
2014-04-24 10:18:29 +02:00
function poll_imap_accounts() {
$db = Registry::get('db');
$ug = new ModelUserGoogle();
$g = new ModelGoogleGoogle();
$query = $db->query("SELECT email FROM " . TABLE_GOOGLE);
if(isset($query->rows)) {
foreach($query->rows as $q) {
$access_token = $ug->refresh_access_token($q['email']);
$g->download_users_emails($q['email'], $access_token);
}
2012-09-28 14:15:45 +02:00
}
}
2014-04-24 10:18:29 +02:00
2012-09-28 14:15:45 +02:00
?>