/**
  * Initialize mailbox folder with name 'Processing'. If folder is not exists - it will be created
  * @return void
  */
 private function initialize()
 {
     if (is_null($this->folderOfProcessedMessages)) {
         $exists = false;
         $iterator = new \RecursiveIteratorIterator($this->zendImapStorage->getFolders());
         foreach ($iterator as $folder) {
             if ($folder->getLocalName() == self::NAME_OF_FOLDER_OF_PROCESSED_MESSAGES) {
                 $exists = true;
                 break;
             }
         }
         if (false === $exists) {
             $this->zendImapStorage->createFolder(self::NAME_OF_FOLDER_OF_PROCESSED_MESSAGES, new \Zend\Mail\Storage\Folder('INBOX'));
         }
         $this->folderOfProcessedMessages = new \Zend\Mail\Storage\Folder('INBOX/' . self::NAME_OF_FOLDER_OF_PROCESSED_MESSAGES);
     }
 }
Esempio n. 2
0
 public function testRenameFolder()
 {
     $mail = new Storage\Imap($this->_params);
     try {
         $mail->renameFolder('subfolder/test', 'subfolder/test1');
         $mail->renameFolder($mail->getFolders()->subfolder->test1, 'subfolder/test');
     } catch (\Exception $e) {
         $this->fail('renaming failed');
     }
     try {
         $mail->renameFolder('subfolder/test', 'INBOX');
     } catch (\Exception $e) {
         return;
         // ok
     }
     $this->fail('no error while renaming folder to INBOX');
 }
Esempio n. 3
0
 public function testRenameFolder()
 {
     $mail = new Storage\Imap($this->_params);
     $mail->renameFolder('subfolder/test', 'subfolder/test1');
     $mail->renameFolder($mail->getFolders()->subfolder->test1, 'subfolder/test');
     $this->setExpectedException('Zend\\Mail\\Storage\\Exception\\InvalidArgumentException');
     $mail->renameFolder('subfolder/test', 'INBOX');
 }
Esempio n. 4
0
        /**
         * mailbox folder ui
         * @param $module
         * @param string $mailboxid
         */
        function rtmailbox_mailbox_folder_ui($module, $mailboxid = '')
        {
            global $rt_mail_settings;
            $args = array('module' => $module);
            if (!empty($mailboxid)) {
                $args['id'] = $mailboxid;
            }
            $mailboxes = $rt_mail_settings->get_user_google_ac($args);
            ?>
 <h4>Select Mailbox Folders</h4>
			<?php 
            if (isset($mailboxes) && !empty($mailboxes)) {
                foreach ($mailboxes as $mailbox) {
                    $mailbox->email_data = unserialize($mailbox->email_data);
                    $email = filter_var($mailbox->email_data['email'], FILTER_SANITIZE_EMAIL);
                    $email_type = $mailbox->type;
                    $imap_server = $mailbox->imap_server;
                    $mail_folders = isset($mailbox->email_data['mail_folders']) ? $mailbox->email_data['mail_folders'] : '';
                    $mail_folders = array_filter(explode(',', $mail_folders));
                    $token = $mailbox->outh_token;
                    $all_folders = null;
                    $login_successful = true;
                    try {
                        $hdZendEmail = new Rt_Zend_Mail();
                        if ($hdZendEmail->try_imap_login($email, $token, $email_type, $imap_server)) {
                            $storage = new ImapStorage($hdZendEmail->imap);
                            $all_folders = $storage->getFolders();
                        } else {
                            $login_successful = false;
                        }
                    } catch (Exception $e) {
                        $login_successful = false;
                        echo '<p class="description">' . esc_html($e->getMessage()) . '</p>';
                    }
                    if ($login_successful) {
                        ?>
						<form id="rtmailbox-imap-folder-form" method="post">
							<input id="rtmailbox-module" name="rtmailbox[module]" value="<?php 
                        echo $module;
                        ?>
"
							       type="hidden">
							<input id="rtmailbox-email" name="rtmailbox[email]" value="<?php 
                        echo $email;
                        ?>
"
							       type="hidden">
							<?php 
                        wp_nonce_field('rtmailbox_folder_update');
                        do_action('rt_mailbox_folder_view_before');
                        ?>
							<div class="rtmailbox-row">
								<label for=""><?php 
                        _e('Select Folder');
                        ?>
</label>

								<div class="mailbox-folder-list">
									<?php 
                        $hdZendEmail->render_folders_checkbox($all_folders, $element_name = 'mail_folders[' . esc_attr($email) . ']', $values = $mail_folders, $data_str = 'data-email-id=' . $mailbox->id);
                        ?>
								</div>
							</div>
							<div class="clear"></div>
							<div class="rtmailbox-row">
								<label></label>
								<input id="rtmailbox-action" name="rtmailbox[action]" value="rtmailbox_folder_update"
								       type="hidden">
								<input id="rtmailbox-save" data-mailboxid="<?php 
                        echo $mailboxid;
                        ?>
" name="rtmailbox[save]" class="button" value="Save" type="button">
							</div>
							<?php 
                        do_action('rt_mailbox_folder_view_after');
                        ?>
						</form>
					<?php 
                    }
                }
            } else {
                echo '<p>Mailbox not found.</p>';
            }
        }