PHPの致命的なエラー:の非オブジェクトでメンバー関数GetFolderByType()を呼び出す

モハマッド・アリプール・ファテ・クーヒ

ウェブメールにエラーがあります

PHP Fatal error:  Call to a member function GetFolderByType() on a non-object in /home/.../domains/.../public_html/check-mail.php on line 248

248行目は:

$oInboxFolder = $oFolders->GetFolderByType(FOLDERTYPE_Inbox);

私のphpバージョンは5.4で、完全なコードは次のとおりです。

    <?php

    @header('Content-type: text/html; charset=utf-8');

    defined('WM_ROOTPATH') || define('WM_ROOTPATH', (dirname(__FILE__).'/'));
    include_once WM_ROOTPATH.'application/include.php';

    $oInput = new api_Http();
    $iAccountId = CSession::Get(APP_SESSION_ACCOUNT_ID, false);

    require_once WM_ROOTPATH.'common/inc_constants.php';
    require_once WM_ROOTPATH.'common/class_convertutils.php';
    require_once WM_ROOTPATH.'common/class_mailprocessor.php';

    /* @var $oApiUsersManager CApiUsersManager */
    $oApiUsersManager = CApi::Manager('users');

    /* @var $oAccount CAccount */
    $oAccount = AppGetAccount($iAccountId);
    if (!$oAccount)
    {
        CApi::Log('check-mail: $oAccount = null');

        echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><meta http-equiv="Content-Script-Type" content="text/javascript" /><link rel="shortcut icon" href="favicon.ico" /></head>
<body onload="parent.CheckEndCheckMailHandler();"><script>parent.EndCheckMailHandler("session_error");</script></body></html>';

        exit();
    }

    AppIncludeLanguage($oAccount->User->DefaultLanguage);

    @ob_start();
    @ob_end_flush();

    $sErrorDesc = '';
    $aGlobalForders4Update = array();

    /**
     * @global $aGlobalForders4Update
     * @param int $id
     * @param string $fullName
     */
    function AddFolder4Update($id, $fullName)
    {
        global $aGlobalForders4Update;
        $aGlobalForders4Update[$id] = $fullName;
    }

    /**
     * @global $aGlobalForders4Update
     * @return string
     */
    function Folders4UpdateToJsArray()
    {
        global $aGlobalForders4Update;

        $sResult = array();
        if ($aGlobalForders4Update && count($aGlobalForders4Update) > 0)
        {
            foreach ($aGlobalForders4Update as $id => $name)
            {
                $sResult[] = '{id: '.((int) $id).', fullName: \''.ConvertUtils::ClearJavaScriptString($name, '\'').'\'}';
            }
        }

        return '['.implode(',', $sResult).']';
    }

    /**
     * @param bool $bAdd = false
     * @return void
     */
    function myFlush($bAdd = false)
    {
        if ($bAdd)
        {
            echo str_repeat('             ', 256);
        }

        @ob_flush();
        @flush();
    }

    /**
     * @param string $sFolderName
     * @param int $iMessageCount
     */
    function ShowDownloadedMessageNumber($sFolderName = '', $iMessageCount = -1)
    {
        static $msgNumber = 0;
        static $msgTime = 0;

        if ($sFolderName != '' && $iMessageCount != -1)
        {
            $msgNumber = 0;
            $msgTime = 0;
            echo '<script>parent.SetCheckingFolderHandler("'.$sFolderName.'", '.$iMessageCount.');</script>'.CRLF;
            if ($iMessageCount == 0)
            {
                echo '<script>parent.SetStateTextHandler(parent.Lang.GettingMsgsNum);</script>'.CRLF;
            }
            myFlush(true);
        }
        else
        {
            $msgNumber++;
            if (time() - $msgTime > 0)
            {
                echo '<script>parent.SetRetrievingMessageHandler('.$msgNumber.');</script>'.CRLF;
                $msgTime = time();
                myFlush(true);
            }
        }
    }

    function ShowLoggingToServer()
    {
        echo '<script>parent.SetStateTextHandler("'.ConvertUtils::ClearJavaScriptString(JS_LANG_LoggingToServer, '"').'");</script>'.CRLF;
        myFlush(true);
    }

    function ShowLoggingOffFromServer()
    {
        echo '<script>parent.SetStateTextHandler("'.ConvertUtils::ClearJavaScriptString(LoggingOffFromServer, '"').'");</script>'.CRLF;
        myFlush(true);
    }

    function ShowDeletingMessageNumber($resetCount = false)
    {
        static $msgNumber = 0;
        static $msgTime = 0;

        if ($resetCount)
        {
            $msgNumber = 0;
            $msgTime = 0;
        }
        else
        {
            $msgNumber++;
            if (time() - $msgTime > 0)
            {
                echo '<script>parent.SetDeletingMessageHandler('.$msgNumber.');</script>'.CRLF;
                $msgTime = time();
                myFlush(true);
            }
        }
    }

    /**
     * @param string $sText
     */
    function SetError($sText)
    {
        CSession::Set(INFORMATION, $sText);
        CSession::Set(ISINFOERROR, true);
    }

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <link rel="shortcut icon" href="favicon.ico" />
</head>
<body onload="parent.CheckEndCheckMailHandler();">
<?php

    ConvertUtils::SetLimits();

    $GLOBALS['useFilters'] = true;
    $type = (int) $oInput->GetPost('Type', 0);

    CApi::Log('CM: Check mail type = '.$type);

    if (1 === $type)
    {
        $aAccounts = $oApiUsersManager->GetUserIdList($oAccount->IdUser);
        if (is_array($aAccounts) && 0 < count($aAccounts))
        {
            foreach ($aAccounts as $iAccountItemId)
            {
                /* @var $oListAccount CAccount */
                $oListAccount = ($oAccount->IdAccount !== $iAccountItemId)
                    ? AppGetAccount($iAccountItemId) : $oAccount;

                $oProcessor = new MailProcessor($oListAccount);
                if (!$oProcessor->SynchronizeFolders())
                {
                    $sErrorDesc = getGlobalError();
                    $oProcessor->MailStorage->Disconnect();
                    break;
                }

                if ($oListAccount->GetMailAtLogin)
                {
                    echo '<script>parent.SetCheckingAccountHandler("'.$oListAccount->Email.'");</script>'.CRLF;

                    myFlush(true);

                    ShowLoggingToServer();

                    $oFolders = null;
                    $oProcessor->MailStorage->DownloadedMessagesHandler = 'ShowDownloadedMessageNumber';

                    $oFolders =& $oProcessor->GetFolders();
                    if (!$oProcessor->Synchronize($oFolders))
                    {
                        $sErrorDesc = getGlobalError();
                        $oProcessor->MailStorage->Disconnect();
                        break;
                    }

                    ShowLoggingOffFromServer();

                    $oProcessor->MailStorage->Disconnect();

                    unset($oFolders, $oProcessor);
                }

                unset($oListAccount);
            }
        }

        $sErrorDesc = trim($sErrorDesc);
        if (strlen($sErrorDesc) > 0)
        {
            SetError($sErrorDesc);
        }

        echo '<script>parent.EndCheckMailHandler(\'\');</script>'.CRLF;
    }
    else if (2 === $type)
    {
        $oProcessor = new MailProcessor($oAccount);

        $oFolders =& $oProcessor->GetFolders();

        $oProcessor->MailStorage->DownloadedMessagesHandler = null;
        $oProcessor->MailStorage->UpdateFolderHandler = 'AddFolder4Update';

        $oInboxFolder = $oFolders->GetFolderByType(FOLDERTYPE_Inbox);

        if ($oInboxFolder)
        {
            $oInboxFolder->SubFolders = null;
            $foldersForInboxSynchronize = new FolderCollection();
            $foldersForInboxSynchronize->Add($oInboxFolder);

            if (!$oProcessor->Synchronize($foldersForInboxSynchronize))
            {
                $sErrorDesc = getGlobalError();
            }

            $oProcessor->MailStorage->Disconnect();
        }
        else
        {
            $sErrorDesc = '';
        }

        $sErrorDesc = trim($sErrorDesc);
        echo '<script>
parent.SetUpdatedFolders('.Folders4UpdateToJsArray().', false);
parent.EndCheckMailHandler("'.ConvertUtils::ClearJavaScriptString($sErrorDesc, '"').'");
</script>'.CRLF;
    }
    else
    {
        ShowLoggingToServer();

        $oProcessor = new MailProcessor($oAccount);

        $oFolders =& $oProcessor->GetFolders();

        $oProcessor->MailStorage->DownloadedMessagesHandler = 'ShowDownloadedMessageNumber';
        $oProcessor->MailStorage->UpdateFolderHandler = 'AddFolder4Update';

        if (!$oProcessor->Synchronize($oFolders))
        {
            $sErrorDesc = getGlobalError();
        }

        ShowLoggingOffFromServer();

        $oProcessor->MailStorage->Disconnect();

        $sErrorDesc = trim($sErrorDesc);
        echo '<script>
parent.SetUpdatedFolders('.Folders4UpdateToJsArray().');
parent.EndCheckMailHandler("'.ConvertUtils::ClearJavaScriptString($sErrorDesc, '"').'");
</script>'.CRLF;
    }

    myFlush(true);
?>
</body>
</html>
メイコン

に関するvar_dump($oFolders)詳細を取得するために使用します$oFolders内部ブロックはオブジェクトを返さない
こと$oProcessor->GetFolders();注意してくださいif(2 === $type)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

致命的なエラー:PHPの非オブジェクトでメンバー関数query()を呼び出す

分類Dev

Magentoの致命的なエラー:非オブジェクトでメンバー関数addFieldToFilter()を呼び出す

分類Dev

致命的なエラー:の非オブジェクトでメンバー関数getObject()を呼び出す

分類Dev

致命的なエラー:の非オブジェクトでメンバー関数getObject()を呼び出す

分類Dev

Magentoの致命的なエラー:非オブジェクトでメンバー関数save()を呼び出す

分類Dev

PHPの致命的なエラー:非オブジェクトでのメンバー関数prepare()の呼び出し

分類Dev

PHP:致命的なエラー:非オブジェクトでのメンバー関数insert()の呼び出し

分類Dev

「致命的なエラー:非オブジェクトのメンバー関数prepare()を呼び出します。」

分類Dev

PHPの致命的なエラー:非オブジェクトのメンバー関数asXML()の呼び出し

分類Dev

PHPの致命的なエラー:45行目のadmin \ include \ html \ database.class.phpの非オブジェクトでメンバー関数prepare()を呼び出す

分類Dev

PHPの致命的なエラー:45行目のadmin \ include \ html \ database.class.phpの非オブジェクトでメンバー関数prepare()を呼び出す

分類Dev

PHP:致命的なエラー非オブジェクトのメンバー関数format()の呼び出し

分類Dev

PDOの致命的なエラー-非オブジェクトでのメンバー関数prepare()の呼び出し

分類Dev

致命的なエラー:421行目の... vendor / cakephp / cakephp / src / ORM / Table.phpの非オブジェクトでメンバー関数schemaCollection()を呼び出す

分類Dev

致命的なエラー:72行目のC:\ wamp \ www \ test \ Functions.phpの非オブジェクトでメンバー関数fetchAll()を呼び出す

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数addSnippet()の呼び出し

分類Dev

PDO-致命的なエラー:非オブジェクトでのメンバー関数prepare()の呼び出し

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数query()の呼び出し

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数result()の呼び出し

分類Dev

致命的なエラー:「非オブジェクトでのメンバー関数prepare()の呼び出し」

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数error()の呼び出し

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数setFetchMode()の呼び出し[通常]

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数isVirtual()の呼び出し

分類Dev

致命的なエラー:非オブジェクトでのメンバー関数executeQuery()の呼び出し

分類Dev

致命的なエラー:PHPコードの非オブジェクトでメンバー関数getOwner()を呼び出す

分類Dev

致命的なエラー:payUmoneyを使用した支払い中に、Observer.phpの非オブジェクトでメンバー関数getTelephone()を呼び出す

分類Dev

致命的なエラー:controllers \ Mage \ Adminhtml \ Sales \ OrderController.phpの非オブジェクトでメンバー関数getPdf()を呼び出す

分類Dev

致命的なエラー:PHPの非オブジェクトでメンバー関数bind_param()を呼び出す

分類Dev

致命的なエラー:非オブジェクトCodeigniterでメンバー関数base_url()を呼び出す

Related 関連記事

  1. 1

    致命的なエラー:PHPの非オブジェクトでメンバー関数query()を呼び出す

  2. 2

    Magentoの致命的なエラー:非オブジェクトでメンバー関数addFieldToFilter()を呼び出す

  3. 3

    致命的なエラー:の非オブジェクトでメンバー関数getObject()を呼び出す

  4. 4

    致命的なエラー:の非オブジェクトでメンバー関数getObject()を呼び出す

  5. 5

    Magentoの致命的なエラー:非オブジェクトでメンバー関数save()を呼び出す

  6. 6

    PHPの致命的なエラー:非オブジェクトでのメンバー関数prepare()の呼び出し

  7. 7

    PHP:致命的なエラー:非オブジェクトでのメンバー関数insert()の呼び出し

  8. 8

    「致命的なエラー:非オブジェクトのメンバー関数prepare()を呼び出します。」

  9. 9

    PHPの致命的なエラー:非オブジェクトのメンバー関数asXML()の呼び出し

  10. 10

    PHPの致命的なエラー:45行目のadmin \ include \ html \ database.class.phpの非オブジェクトでメンバー関数prepare()を呼び出す

  11. 11

    PHPの致命的なエラー:45行目のadmin \ include \ html \ database.class.phpの非オブジェクトでメンバー関数prepare()を呼び出す

  12. 12

    PHP:致命的なエラー非オブジェクトのメンバー関数format()の呼び出し

  13. 13

    PDOの致命的なエラー-非オブジェクトでのメンバー関数prepare()の呼び出し

  14. 14

    致命的なエラー:421行目の... vendor / cakephp / cakephp / src / ORM / Table.phpの非オブジェクトでメンバー関数schemaCollection()を呼び出す

  15. 15

    致命的なエラー:72行目のC:\ wamp \ www \ test \ Functions.phpの非オブジェクトでメンバー関数fetchAll()を呼び出す

  16. 16

    致命的なエラー:非オブジェクトでのメンバー関数addSnippet()の呼び出し

  17. 17

    PDO-致命的なエラー:非オブジェクトでのメンバー関数prepare()の呼び出し

  18. 18

    致命的なエラー:非オブジェクトでのメンバー関数query()の呼び出し

  19. 19

    致命的なエラー:非オブジェクトでのメンバー関数result()の呼び出し

  20. 20

    致命的なエラー:「非オブジェクトでのメンバー関数prepare()の呼び出し」

  21. 21

    致命的なエラー:非オブジェクトでのメンバー関数error()の呼び出し

  22. 22

    致命的なエラー:非オブジェクトでのメンバー関数setFetchMode()の呼び出し[通常]

  23. 23

    致命的なエラー:非オブジェクトでのメンバー関数isVirtual()の呼び出し

  24. 24

    致命的なエラー:非オブジェクトでのメンバー関数executeQuery()の呼び出し

  25. 25

    致命的なエラー:PHPコードの非オブジェクトでメンバー関数getOwner()を呼び出す

  26. 26

    致命的なエラー:payUmoneyを使用した支払い中に、Observer.phpの非オブジェクトでメンバー関数getTelephone()を呼び出す

  27. 27

    致命的なエラー:controllers \ Mage \ Adminhtml \ Sales \ OrderController.phpの非オブジェクトでメンバー関数getPdf()を呼び出す

  28. 28

    致命的なエラー:PHPの非オブジェクトでメンバー関数bind_param()を呼び出す

  29. 29

    致命的なエラー:非オブジェクトCodeigniterでメンバー関数base_url()を呼び出す

ホットタグ

アーカイブ