<?php

namespace Edi;

abstract class Method extends \Vn\Lib\Method
{
	protected $imap;
	protected $imapConf;
	protected $mailbox;

	abstract function ediRun ($db);

	function run ($db)
	{
		$db->selectDb ('edi');

		$imapConf = $db->getRow (
			'SELECT host, user, pass, success_folder, error_folder FROM imap_config');
	
		$this->mailbox = sprintf ('{%s/imap/ssl/novalidate-cert}',
			$imapConf['host']);

		$imap = imap_open ($this->mailbox
			,$imapConf['user']
			,base64_decode ($imapConf['pass'])
		);
		
		$this->imap = $imap;
		$this->imapConf = $imapConf;

		if ($imap)
		{
			$this->ediRun ($db);
			imap_expunge ($imap);
			imap_close ($imap);
		}
		else
			error_log (imap_last_error ());
	}
}