Mam taki kawalek kodu :
function mailbox() { $_SESSION['login'] = $_POST['mailbox']; $_SESSION['pass'] = $_POST['pass']; if(($this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap')) == false) { $this->view = new LoginView; $this->view->display('login'); } else { $this->model->inbox(); $view = new LoginView; $boxes = $this->model->getMailboxes(); $msgsParts = $this->model->getMsgsParts(333); $view->setVars('boxes', $boxes); $view->setVars('parts',$msgsParts); $view->display($_POST['action']); } }
Jak widac mamy tutaj taka linijke kodu :
$this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap'))
Ktora uruchamia funkcje znajdujaca sie w innej klasie :
public function connect($server, $user, $pass, $port = 993, $protocol = 'imap') { if(!($this->_connection = imap_open('{imap.'.$server.':'.$port.'/'.$protocol.'/ssl}', $user, $pass))){ //throw new Exception('Mailserver connection failure'); return false; } else { return $this->_connection; } }
No i tutaj jest wszystko ok, ale teraz chce przelaczyc sie na inny mailbox (przejsc do innego widoku) w tej samej skrzynce i do tego sluzy mi taka funkcja :
function reconnect($mailbox) { $server = '{imap.gmail.com:993/ssl}'.$mailbox; if($this->_connection == false) { } else { } }
Jako argument ta funkcja dostaje nazwe skrzynki zwrocony przez imap_list i lekkich modyfikacjach na stringu....
No i dostaje taki blad
Cytat
imap_reopen(): supplied argument is not a valid imap resource
A do tego wchodzi mi w warunek if($this->_connection == false) tak jakby tracil połączenie do skrzynki.......
No i teraz pytanie, czy za kazdym razem jak chce połączyc sie z inna skrzynka to musze odnawiac połączenie z serwerem ?
Troche to by bylo dziwne ze musze najpierw wywolac imap_open a zaraz pozniej imap_reopen...
Prosze kogos z wieksza wiedza odemnie na ten temat o podpowiedz ....