/**
  * Constructor method
  *
  * @param string $request
  * @return StatusController
  */
 function __construct($request)
 {
     parent::__construct($request);
     if (!$this->logged_user->isAdministrator() && !$this->logged_user->getSystemPermission('can_use_incoming_mail_frontend')) {
         $this->httpError(HTTP_ERR_FORBIDDEN);
     }
     // if
     $this->wireframe->addBreadCrumb(lang('Incoming Mail'), assemble_url('incoming_mail'));
     $this->wireframe->current_menu_item = 'incoming_mail';
     require_once ANGIE_PATH . '/classes/UTF8Converter/init.php';
     require_once ANGIE_PATH . '/classes/mailboxmanager/init.php';
     use_model('incoming_mail_activity_logs', INCOMING_MAIL_MODULE);
     $this->active_mail = IncomingMails::findById($this->request->getId('mail_id'));
     if (!instance_of($this->active_mail, 'IncomingMail')) {
         $this->active_mail = new IncomingMail();
     } else {
         $this->wireframe->addBreadCrumb($this->active_mail->getSubject(), $this->active_mail->getImportUrl());
     }
     // if
     $this->wireframe->print_button = false;
     $this->smarty->assign(array('active_mail' => $this->active_mail));
 }
コード例 #2
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
<?php

/**
 * Status module initialization file
 * 
 * @package activeCollab.modules.status
 */
define('STATUS_MODULE', 'status');
define('STATUS_MODULE_PATH', APPLICATION_PATH . '/modules/status');
use_model('status_updates', STATUS_MODULE);
コード例 #3
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
 */
// module basics
define('SOURCE_MODULE', 'source');
define('SOURCE_MODULE_PATH', APPLICATION_PATH . '/modules/source');
// how many logs to get per async update request
if (!defined(SOURCE_MODULE_LOGS_PER_REQUEST)) {
    define('SOURCE_MODULE_LOGS_PER_REQUEST', 20);
}
// if
// load modules
require_once SOURCE_MODULE_PATH . '/models/commits/Commit.class.php';
require_once SOURCE_MODULE_PATH . '/models/commits/Commits.class.php';
require_once SOURCE_MODULE_PATH . '/models/repositories/Repository.class.php';
require_once SOURCE_MODULE_PATH . '/models/repositories/Repositories.class.php';
use_model('commit_project_objects', SOURCE_MODULE);
use_model('source_users', SOURCE_MODULE);
set_for_autoload(array('RepositoryCreatedActivityLog' => SOURCE_MODULE_PATH . '/models/activity_logs/RepositoryCreatedActivityLog.class.php', 'RepositoryUpdateActivityLog' => SOURCE_MODULE_PATH . '/models/activity_logs/RepositoryUpdateActivityLog.class.php'));
define('REPOSITORY_UPDATE_FREQUENTLY', 1);
define('REPOSITORY_UPDATE_HOURLY', 2);
define('REPOSITORY_UPDATE_DAILY', 3);
// define('REPOSITORY_UPDATE_HOOK', 4);
/**
 * List of update types
 *
 * @param null
 * @return array
 */
function source_module_update_types()
{
    return array(REPOSITORY_UPDATE_FREQUENTLY => lang('Frequently'), REPOSITORY_UPDATE_HOURLY => lang('Hourly'), REPOSITORY_UPDATE_DAILY => lang('Daily'));
}
コード例 #4
0
ファイル: auth.php プロジェクト: tandrezone/auth
<?php

/**
 * This is a controller
 * This controller extends to the main controller
 * The main controller generates 3 power classes
 * -- The em method that is a EntityManager, this class have methods to work with the database
 * -- The Router method, that class works with the routing
 * -- And the view method that work's with the template Engine
 *
 * If you wanna give more power classes to all contollers just inject them in the /core/controller.php
 */
//include("/packages/moonlight/auth/models/users.php");
use_model("users");
class auth extends controller
{
    /**
     * Index, this is the fuction that run when the page open in the base routing
     * @return [View] All the controller routing functions  returns a view, a view is a template with need to know vars
     */
    function login()
    {
        $email = $_POST['username'];
        $pass = $_POST['password'];
        if ($name != "" && $pass != "") {
            $users = $this->em->getRepository('user')->findBy(array('email' => $email));
            $user = $users[0];
            if ($user != "") {
                if ($user->checkPass($pass)) {
                    $user->updateToken();
                    $user->saveDefs();
コード例 #5
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
 * @package activeCollab.modules.timetracking
 */
define('TIMETRACKING_MODULE', 'timetracking');
define('TIMETRACKING_MODULE_PATH', APPLICATION_PATH . '/modules/timetracking');
define('BILLABLE_FILTER_ALL', 'all');
define('BILLABLE_FILTER_BILLABLE', 'billable');
define('BILLABLE_FILTER_NOT_BILLABLE', 'not_billable');
define('BILLABLE_FILTER_BILLABLE_BILLED', 'billable_billed');
define('BILLABLE_FILTER_BILLABLE_NOT_BILLED', 'billable_not_billed');
define('BILLABLE_FILTER_PENDING_PAYMENT', 'pending_payment');
define('BILLABLE_STATUS_NOT_BILLABLE', 0);
define('BILLABLE_STATUS_BILLABLE', 1);
define('BILLABLE_STATUS_PENDING_PAYMENT', 2);
define('BILLABLE_STATUS_BILLED', 3);
require TIMETRACKING_MODULE_PATH . '/functions.php';
use_model('time_reports', TIMETRACKING_MODULE);
set_for_autoload(array('TimeRecord' => TIMETRACKING_MODULE_PATH . '/models/timetracking/TimeRecord.class.php', 'TimeRecords' => TIMETRACKING_MODULE_PATH . '/models/timetracking/TimeRecords.class.php', 'TimeAddedActivityLog' => TIMETRACKING_MODULE_PATH . '/models/activity_logs/TimeAddedActivityLog.class.php'));
/**
 * Return section URL
 *
 * @param Project $project
 * @param ProjectObject $object
 * @return string
 */
function timetracking_module_url($project, $object = null)
{
    $params = array('project_id' => $project->getId());
    if (instance_of($object, 'ProjectObject')) {
        $params['for'] = $object->getId();
    }
    // if
コード例 #6
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
define('PROJECT_PERMISSION_NONE', 0);
define('PROJECT_PERMISSION_ACCESS', 1);
define('PROJECT_PERMISSION_CREATE', 2);
define('PROJECT_PERMISSION_MANAGE', 3);
define('API_DISABLED', 0);
define('API_READ_ONLY', 1);
define('API_READ_WRITE', 2);
define('PAGE_MESSAGE_INFO', 'info');
define('PAGE_MESSAGE_WARNING', 'warning');
define('PAGE_MESSAGE_ERROR', 'error');
define('PAGE_MESSAGE_PRIVATE', 'private');
define('PAGE_MESSAGE_TRASHED', 'trashed');
define('OBJECT_SOURCE_WEB', 'web');
// first aid statuses
define('FIRST_AID_STATUS_OK', '0');
define('FIRST_AID_STATUS_WARNING', '1');
define('FIRST_AID_STATUS_ERROR', '2');
define('SCHEDULED_TASK_FREQUENTLY', 'frequently');
define('SCHEDULED_TASK_HOURLY', 'hourly');
define('SCHEDULED_TASK_DAILY', 'daily');
// ---------------------------------------------------
//  Load
// ---------------------------------------------------
require_once SYSTEM_MODULE_PATH . '/models/ApplicationObject.class.php';
use_model(array('modules', 'users', 'companies', 'roles', 'config_options', 'languages', 'email_templates', 'project_groups', 'projects', 'activity_logs', 'project_objects', 'project_users'), SYSTEM_MODULE);
require_once SYSTEM_MODULE_PATH . '/models/Wireframe.class.php';
require_once SYSTEM_MODULE_PATH . '/models/UserConfigOptions.class.php';
require_once SYSTEM_MODULE_PATH . '/models/StarredObjects.class.php';
require_once SYSTEM_MODULE_PATH . '/controllers/ApplicationController.class.php';
require_once SYSTEM_MODULE_PATH . '/models/search_engines/' . SEARCH_ENGINE . '.class.php';
set_for_autoload(array('CompanyConfigOptions' => SYSTEM_MODULE_PATH . '/models/CompanyConfigOptions.class.php', 'PinnedProjects' => SYSTEM_MODULE_PATH . '/models/PinnedProjects.class.php', 'AnonymousUser' => SYSTEM_MODULE_PATH . '/models/AnonymousUser.class.php', 'Thumbnails' => SYSTEM_MODULE_PATH . '/models/Thumbnails.class.php', 'ProjectObjectViews' => SYSTEM_MODULE_PATH . '/models/ProjectObjectViews.class.php', 'Permissions' => SYSTEM_MODULE_PATH . '/models/Permissions.class.php', 'ApplicationMailer' => SYSTEM_MODULE_PATH . '/models/ApplicationMailer.class.php', 'ObjectCreatedActivityLog' => SYSTEM_MODULE_PATH . '/models/activity_logs/ObjectCreatedActivityLog.class.php', 'ObjectUpdatedActivityLog' => SYSTEM_MODULE_PATH . '/models/activity_logs/ObjectUpdatedActivityLog.class.php', 'ObjectTrashedActivityLog' => SYSTEM_MODULE_PATH . '/models/activity_logs/ObjectTrashedActivityLog.class.php', 'ObjectRestoredActivityLog' => SYSTEM_MODULE_PATH . '/models/activity_logs/ObjectRestoredActivityLog.class.php', 'CommentsLockedActivityLog' => SYSTEM_MODULE_PATH . '/models/activity_logs/CommentsLockedActivityLog.class.php', 'CommentsUnlockedActivityLog' => SYSTEM_MODULE_PATH . '/models/activity_logs/CommentsUnlockedActivityLog.class.php'));
コード例 #7
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
<?php

/**
 * Documents module initialization file
 * 
 * @package activeCollab.modules.documents
 */
define('DOCUMENTS_MODULE', 'documents');
define('DOCUMENTS_MODULE_PATH', APPLICATION_PATH . '/modules/documents');
use_model(array('documents', 'document_categories'), DOCUMENTS_MODULE);
コード例 #8
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
define('FILE_TYPE_VIDEO', 'video');
define('FILE_TYPE_AUDIO', 'audio');
define('FILE_TYPE_UNKNOWN', 'unknown');
define('DATE_FILTER_LATE', 'late');
define('DATE_FILTER_TODAY', 'today');
define('DATE_FILTER_TOMORROW', 'tomorrow');
define('DATE_FILTER_LAST_WEEK', 'last_week');
define('DATE_FILTER_THIS_WEEK', 'this_week');
define('DATE_FILTER_NEXT_WEEK', 'next_week');
define('DATE_FILTER_LAST_MONTH', 'last_month');
define('DATE_FILTER_THIS_MONTH', 'this_month');
define('DATE_FILTER_NEXT_MONTH', 'next_month');
define('DATE_FILTER_SELECTED_DATE', 'selected_date');
define('DATE_FILTER_SELECTED_RANGE', 'selected_range');
define('PROJECT_FILTER_ACTIVE', 'active');
define('PROJECT_FILTER_SELECTED', 'selected');
define('USER_FILTER_ANYBODY', 'anybody');
define('USER_FILTER_NOT_ASSIGNED', 'not_assigned');
define('USER_FILTER_LOGGED_USER', 'logged_user');
define('USER_FILTER_LOGGED_USER_RESPONSIBLE', 'logged_user_responsible');
define('USER_FILTER_COMPANY', 'company');
define('USER_FILTER_SELECTED', 'selected');
define('ATTACHMENT_TYPE_ATTACHMENT', 'attachment');
define('ATTACHMENT_TYPE_FILE_REVISION', 'file_revision');
define('STATUS_FILTER_ACTIVE', 'active');
define('STATUS_FILTER_COMPLETED', 'completed');
define('STATUS_FILTER_ALL', 'all');
define('COMPLETED_TASKS_PER_OBJECT', 3);
use_model(array('assignments', 'subscriptions', 'assignment_filters', 'reminders', 'attachments'), RESOURCES_MODULE);
set_for_autoload(array('Comment' => RESOURCES_MODULE_PATH . '/models/comments/Comment.class.php', 'Comments' => RESOURCES_MODULE_PATH . '/models/comments/Comments.class.php', 'Category' => RESOURCES_MODULE_PATH . '/models/categories/Category.class.php', 'Categories' => RESOURCES_MODULE_PATH . '/models/categories/Categories.class.php', 'Task' => RESOURCES_MODULE_PATH . '/models/tasks/Task.class.php', 'Tasks' => RESOURCES_MODULE_PATH . '/models/tasks/Tasks.class.php', 'Attachment' => RESOURCES_MODULE_PATH . '/models/attachments/Attachment.class.php', 'Attachments' => RESOURCES_MODULE_PATH . '/models/attachments/Attachments.class.php', 'Tags' => RESOURCES_MODULE_PATH . '/models/tags/Tags.class.php', 'NewTaskActivityLog' => RESOURCES_MODULE_PATH . '/models/activity_logs/NewTaskActivityLog.class.php', 'TaskCompletedActivityLog' => RESOURCES_MODULE_PATH . '/models/activity_logs/TaskCompletedActivityLog.class.php', 'TaskReopenedActivityLog' => RESOURCES_MODULE_PATH . '/models/activity_logs/TaskReopenedActivityLog.class.php', 'NewCommentActivityLog' => RESOURCES_MODULE_PATH . '/models/activity_logs/NewCommentActivityLog.class.php'));
require_once RESOURCES_MODULE_PATH . '/functions.php';
コード例 #9
0
 /**
  * Page which displays mailbox activity history
  * 
  * @param void
  * @return void
  */
 function view_mailbox()
 {
     if ($this->active_mailbox->isNew()) {
         $this->httpError(HTTP_ERR_NOT_FOUND);
     }
     // if
     use_model('incoming_mail_activity_logs', INCOMING_MAIL_MODULE);
     $this->wireframe->addBreadCrumb(clean($this->active_mailbox->getDisplayName()), $this->active_mailbox->getViewUrl());
     $per_page = 50;
     // mailbox activity per page
     $page = (int) $this->request->get('page');
     if ($page < 1) {
         $page = 1;
     }
     // if
     $only_problematic = (bool) array_var($_GET, 'only_problematic', false);
     if ($only_problematic) {
         list($activity_history, $pagination) = IncomingMailActivityLogs::paginateConflictsByMailbox($this->active_mailbox, $page, $per_page);
     } else {
         list($activity_history, $pagination) = IncomingMailActivityLogs::paginateByMailbox($this->active_mailbox, $page, $per_page);
     }
     // if
     $activity_history = group_by_date($activity_history);
     $this->smarty->assign(array('activity_history' => $activity_history, 'pagination' => $pagination, 'only_problematic' => $only_problematic));
 }
コード例 #10
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
<?php

/**
 * Init pages module
 *
 * @package activeCollab.modules.pages
 */
define('PAGES_MODULE', 'pages');
define('PAGES_MODULE_PATH', APPLICATION_PATH . '/modules/pages');
set_for_autoload(array('Page' => PAGES_MODULE_PATH . '/models/Page.class.php', 'Pages' => PAGES_MODULE_PATH . '/models/Pages.class.php', 'NewPageVersionActivityLog' => PAGES_MODULE_PATH . '/models/activity_logs/NewPageVersionActivityLog.class.php'));
use_model('page_versions', PAGES_MODULE);
/**
 * Return pages section URL
 *
 * @param Project $project
 * @return string
 */
function pages_module_url($project)
{
    return assemble_url('project_pages', array('project_id' => $project->getId()));
}
// pages_module_url
/**
 * Return add page ULRL
 *
 * @param Project $project
 * @param array $additional_params
 * @return string
 */
function pages_module_add_page_url($project, $additional_params = null, $parent = null)
{
コード例 #11
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
define('INCOMING_MAIL_STATUS_ANONYMOUS_NOT_ALLOWED', 1);
define('INCOMING_MAIL_STATUS_USER_CANNOT_CREATE_OBJECT', 2);
define('INCOMING_MAIL_STATUS_PARENT_NOT_EXISTS', 3);
define('INCOMING_MAIL_STATUS_USER_CANNOT_CREATE_COMMENT', 4);
define('INCOMING_MAIL_STATUS_SYSTEM_CANNOT_CREATE_OBJECT', 5);
define('INCOMING_MAIL_STATUS_PROJECT_DOES_NOT_EXISTS', 6);
define('INCOMING_MAIL_STATUS_UNKNOWN_SENDER', 7);
define('INCOMING_MAIL_STATUS_PARENT_NOT_ACCEPTING_COMMENTS', 8);
define('INCOMING_MAIL_STATUS_REPORT_EMAIL', 9);
define('INCOMING_MAIL_LOG_STATUS_OK', 1);
define('INCOMING_MAIL_LOG_STATUS_ERROR', 0);
define('INCOMING_MAIL_DEBUG', false);
use_model('incoming_mailboxes', INCOMING_MAIL_MODULE);
use_model('incoming_mails', INCOMING_MAIL_MODULE);
use_model('incoming_mail_attachments', INCOMING_MAIL_MODULE);
use_model('incoming_mail_activity_logs', INCOMING_MAIL_MODULE);
/**
 * Returns description for provided incoming mail status code
 *
 * @param integer $status_code
 * @return string
 */
function incoming_mail_module_get_status_description($status_code)
{
    $description = array(INCOMING_MAIL_STATUS_OK => lang('Email imported successfully'), INCOMING_MAIL_STATUS_ANONYMOUS_NOT_ALLOWED => lang('Mailbox does not accept emails from unregistered users'), INCOMING_MAIL_STATUS_USER_CANNOT_CREATE_OBJECT => lang('User does not have permission to create object in selected project'), INCOMING_MAIL_STATUS_PARENT_NOT_EXISTS => lang('Requested parent object does not exist'), INCOMING_MAIL_STATUS_USER_CANNOT_CREATE_COMMENT => lang('User does not have permission to create comment in selected object'), INCOMING_MAIL_STATUS_SYSTEM_CANNOT_CREATE_OBJECT => lang('Object cannot be saved, possibly because of validation errors'), INCOMING_MAIL_STATUS_PROJECT_DOES_NOT_EXISTS => lang('Project does not exists'), INCOMING_MAIL_STATUS_UNKNOWN_SENDER => lang('Sender is unknown'), INCOMING_MAIL_STATUS_PARENT_NOT_ACCEPTING_COMMENTS => lang('Object does not accept comments. Either it is locked for comments or it does not support comments'), INCOMING_MAIL_STATUS_REPORT_EMAIL => lang('Email is automated response. Cannot be imported'));
    if (!array_key_exists($status_code, $description)) {
        return lang('Unkown status code');
    }
    return $description[$status_code];
}
// incoming_mail_module_get_status_description
コード例 #12
0
/**
 * Use model classes based on plural model name (categories, stories, 
 * news_entries etc)
 *
 * @param string $plural
 * @param string $module
 * @return null
 */
function use_model($plural, $module = DEFAULT_MODULE)
{
    if (is_array($plural)) {
        foreach ($plural as $model_name) {
            use_model($model_name, $module);
        }
        // foreach
    } else {
        $object_class = Inflector::camelize(Inflector::singularize($plural));
        $manager_class = Inflector::camelize($plural);
        if (CAN_AUTOLOAD) {
            set_for_autoload(array('Base' . $object_class => APPLICATION_PATH . "/modules/{$module}/models/{$plural}/Base" . $object_class . '.class.php', $object_class => APPLICATION_PATH . "/modules/{$module}/models/{$plural}/" . $object_class . '.class.php', 'Base' . $manager_class => APPLICATION_PATH . "/modules/{$module}/models/{$plural}/Base" . $manager_class . '.class.php', $manager_class => APPLICATION_PATH . "/modules/{$module}/models/{$plural}/" . $manager_class . '.class.php'));
        } else {
            require_once APPLICATION_PATH . "/modules/{$module}/models/{$plural}/Base" . $object_class . '.class.php';
            require_once APPLICATION_PATH . "/modules/{$module}/models/{$plural}/" . $object_class . '.class.php';
            require_once APPLICATION_PATH . "/modules/{$module}/models/{$plural}/Base" . $manager_class . '.class.php';
            require_once APPLICATION_PATH . "/modules/{$module}/models/{$plural}/" . $manager_class . '.class.php';
        }
        // if
    }
    // if
}
コード例 #13
0
ファイル: init.php プロジェクト: NaszvadiG/activecollab_loc
<?php

/**
 * Init invoicing module
 *
 * @package activeCollab.modules.invoicing
 */
define('INVOICING_MODULE', 'invoicing');
define('INVOICING_MODULE_PATH', APPLICATION_PATH . '/modules/invoicing');
define('INVOICE_STATUS_DRAFT', 0);
define('INVOICE_STATUS_ISSUED', 1);
define('INVOICE_STATUS_BILLED', 2);
define('INVOICE_STATUS_CANCELED', 3);
define('INVOICES_WORK_PATH', WORK_PATH . '/invoices');
define('INVOICE_NUMBER_COUNTER_TOTAL', ':invoice_in_total');
define('INVOICE_NUMBER_COUNTER_YEAR', ':invoice_in_year');
define('INVOICE_NUMBER_COUNTER_MONTH', ':invoice_in_month');
define('INVOICE_VARIABLE_CURRENT_YEAR', ':current_year');
define('INVOICE_VARIABLE_CURRENT_MONTH', ':current_month');
define('INVOICE_VARIABLE_CURRENT_MONTH_SHORT', ':current_short_month');
define('INVOICE_VARIABLE_CURRENT_MONTH_LONG', ':current_long_month');
use_model(array('invoices', 'invoice_items', 'invoice_payments', 'tax_rates', 'currencies', 'invoice_item_templates', 'invoice_note_templates'), INVOICING_MODULE);
require INVOICING_MODULE_PATH . '/functions.php';
// set default scale to 2
if (!defined('INVOICE_PRECISION')) {
    define('INVOICE_PRECISION', 2);
}
// if
define('INVOICE_PRECISION_ROUNDER', pow(10, INVOICE_PRECISION));
コード例 #14
0
<?php

/**
 * Modulename module initialization file
 * 
 * @package activeCollab.modules.modulename
 */
define('MODULENAME_MODULE', 'modulename');
define('MODULENAME_MODULE_PATH', APPLICATION_PATH . '/modules/modulename');
use_model('modulename', MODULENAME_MODULE);
set_for_autoload(array('Modulename' => MODULENAME_MODULE_PATH . '/models/modulename/Modulename.class.php'));
コード例 #15
0
 /**
  * Open's connection to mailboxes and download emails with limit of $max_emails
  *
  * @param array $mailboxes
  * @param integer $max_emails
  */
 function importEmails(&$mailboxes, $max_emails = 20)
 {
     use_model('incoming_mail_activity_logs', INCOMING_MAIL_MODULE);
     $import_date = new DateTimeValue();
     $imported_emails_count = 0;
     if (is_foreachable($mailboxes)) {
         foreach ($mailboxes as $mailbox) {
             $manager = $mailbox->getMailboxManager();
             // open connection to mailbox
             $result = $manager->connect();
             if (!$result || is_error($result)) {
                 // we didn't connect, so we need to log it
                 $error_message = '';
                 if (is_error($result)) {
                     $error_message = ': ' . $result->getMessage();
                 }
                 // if
                 IncomingMailActivityLogs::log($mailbox->getId(), lang('Could Not Connect To Mailbox' . $error_message), null, INCOMING_MAIL_LOG_STATUS_ERROR, $import_date);
                 $mailbox->setLastStatus(2);
                 $mailbox->save();
                 continue;
             }
             // if
             $mailbox->setLastStatus(1);
             $mailbox->save();
             $email_count = $manager->countMessages();
             for ($mid = 1; $mid < $email_count + 1; $mid++) {
                 if ($imported_emails_count >= $max_emails) {
                     return true;
                 }
                 // if
                 $current_message_id = 1;
                 $email = $manager->getMessage($current_message_id, INCOMING_MAIL_ATTACHMENTS_FOLDER);
                 if (!instance_of($email, 'MailboxManagerEmail')) {
                     IncomingMailActivityLogs::log($mailbox->getId(), $email->getMessage(), null, INCOMING_MAIL_LOG_STATUS_ERROR, $import_date);
                     continue;
                 }
                 // if
                 $pending_email = IncomingMailImporter::createPendingEmail($email, $mailbox);
                 if (!instance_of($pending_email, 'IncomingMail')) {
                     IncomingMailActivityLogs::log($mailbox->getId(), $pending_email->getMessage(), $email, INCOMING_MAIL_LOG_STATUS_ERROR, $import_date);
                     continue;
                 }
                 // if
                 $manager->deleteMessage($current_message_id, true);
                 $project_object = IncomingMailImporter::importPendingEmail($pending_email, false, $email->getIsReport());
                 if (!instance_of($project_object, 'ProjectObject')) {
                     IncomingMailActivityLogs::log($mailbox->getId(), $project_object->getMessage(), $pending_email, INCOMING_MAIL_LOG_STATUS_ERROR, $import_date);
                     continue;
                 }
                 // if
                 IncomingMailActivityLogs::log($mailbox->getId(), lang('Imported Successfully'), $project_object, INCOMING_MAIL_LOG_STATUS_OK, $import_date);
                 $user = $project_object->getCreatedBy();
                 if (instance_of($user, 'User')) {
                     $user->setLastActivityOn(new DateTimeValue());
                     $user->save();
                 }
                 // if
                 $pending_email->delete();
                 $imported_emails_count++;
             }
             // for
         }
         // foreach
     }
     // if
 }