Esempio n. 1
0
			echo(lang('mailAccount dnx'));			
			return;
		}	

		$pass = $account->getSyncPass();		
		$server = $account->getSyncServer();
		$folder = $account->getSyncFolder();
		$address = $account->getSyncAddr();		
		if($pass == null || $server == null || $folder == null || $address == null) {		
			echo(lang('cant sync account'));	
		    ?><br><a href="<?php echo ROOT_URL?>/index.php?c=access&a=index" target="_top">Go back to Feng Office</a><?php
			return;
		}			
		$conditions = array("conditions" => array("`sync`=0 AND `state` = 3 AND `account_id` =".$account->getId()));			
		
		$check_sync_box = MailUtilities::checkSyncMailbox($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass);		
				
		if ($check_sync_box){
			$sent_mails = MailContents::findAll($conditions);			
			if (count($sent_mails)==0){
				echo(lang('mails on imap acc already sync'));											
				?><br><a href="<?php echo ROOT_URL?>/index.php?c=access&a=index" target="_top">Go back to Feng Office</a><?php
				return;
			}		
			foreach ($sent_mails as $mail){			
				try{
					DB::beginWork();				
					$content = $mail->getContent();		
					MailUtilities::sendToServerThroughIMAP($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass, $content);			
					$mail->setSync(true);
					$mail->save();
 function sync_old_sent_mails()
 {
     if (!config_option("sent_mails_sync")) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     set_time_limit(0);
     if (logged_user()->isGuest()) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     $id = get_id();
     $account = MailAccounts::findById($id);
     if (!$account instanceof MailAccount) {
         flash_error(lang('mailAccount dnx'));
         ajx_current("empty");
         return;
     }
     $pass = $account->getSyncPass();
     $server = $account->getSyncServer();
     $folder = $account->getSyncFolder();
     $address = $account->getSyncAddr();
     if ($pass == null || $server == null || $folder == null || $address == null) {
         flash_error(lang('cant sync account'));
         ajx_current("empty");
         return;
     }
     $conditions = array("conditions" => array("`sync`=0 AND `state` = 3 AND `account_id` =" . $account->getId()));
     $check_sync_box = MailUtilities::checkSyncMailbox($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass);
     if ($check_sync_box) {
         $sent_mails = MailContents::findAll($conditions);
         if (count($sent_mails) == 0) {
             flash_success(lang('mails on imap acc already sync'));
             ajx_current("empty");
             return;
         }
         foreach ($sent_mails as $mail) {
             try {
                 DB::beginWork();
                 $content = $mail->getContent();
                 MailUtilities::sendToServerThroughIMAP($server, $account->getSyncSsl(), $account->getOutgoingTrasnportType(), $account->getSyncSslPort(), $folder, $address, $pass, $content);
                 $mail->setSync(true);
                 $mail->save();
                 DB::commit();
             } catch (Exception $e) {
                 DB::rollback();
             }
         }
         flash_success(lang('sync complete'));
         ajx_current("empty");
         return;
     } else {
         flash_error(lang('invalid sync settings'));
         ajx_current("empty");
         return;
     }
 }