multi-user, do not cache open mbox

This commit is contained in:
Friendika 2011-04-18 15:16:51 -07:00
parent 741a262f1b
commit 1e967eddb7
2 changed files with 22 additions and 24 deletions

View File

@ -2,7 +2,7 @@
set_time_limit(0);
define ( 'FRIENDIKA_VERSION', '2.1.952' );
define ( 'FRIENDIKA_VERSION', '2.1.953' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1053 );

View File

@ -16,7 +16,6 @@ function poller_run($argv, $argc){
unset($db_host, $db_user, $db_pass, $db_data);
};
$mbox = null;
require_once('session.php');
require_once('datetime.php');
@ -288,26 +287,25 @@ function poller_run($argv, $argc){
$xml = fetch_url($contact['poll']);
}
elseif($contact['network'] === NETWORK_MAIL) {
if(! $mbox) {
$x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1",
intval($importer_uid)
);
$mailconf = q("SELECT * FROM `mailacct` WHERE `server` != '' AND `uid` = %d LIMIT 1",
intval($importer_uid)
);
if(count($x) && count($mailconf)) {
$mailbox = construct_mailbox_name($mailconf[0]);
$password = '';
openssl_private_decrypt(hex2bin($mailconf[0]['pass']),$password,$x[0]['prvkey']);
$mbox = email_connect($mailbox,$mailconf[0]['user'],$password);
unset($password);
if($mbox) {
q("UPDATE `mailacct` SET `last_check` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
dbesc(datetime_convert()),
intval($mailconf[0]['id']),
intval($importer_uid)
);
}
$mbox = null;
$x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1",
intval($importer_uid)
);
$mailconf = q("SELECT * FROM `mailacct` WHERE `server` != '' AND `uid` = %d LIMIT 1",
intval($importer_uid)
);
if(count($x) && count($mailconf)) {
$mailbox = construct_mailbox_name($mailconf[0]);
$password = '';
openssl_private_decrypt(hex2bin($mailconf[0]['pass']),$password,$x[0]['prvkey']);
$mbox = email_connect($mailbox,$mailconf[0]['user'],$password);
unset($password);
if($mbox) {
q("UPDATE `mailacct` SET `last_check` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
dbesc(datetime_convert()),
intval($mailconf[0]['id']),
intval($importer_uid)
);
}
}
if($mbox) {
@ -383,6 +381,8 @@ function poller_run($argv, $argc){
);
}
}
imap_close($mbox);
}
}
elseif($contact['network'] === NETWORK_FACEBOOK) {
@ -435,8 +435,6 @@ function poller_run($argv, $argc){
}
}
if($mbox && function_exists('imap_close'))
imap_close($mbox);
return;
}