public static function loadMessage($messageFile, $packageName = "")
    {
        if (isset($messageFile) && $messageFile != "") {

            // message file location order 
            // 1. OPENBIZ_APP_MESSAGE_PATH."/".$messageFile
            // 2. OPENBIZ_APP_MODULE_PATH . "/$moduleName/message/" . $messageFile;
            // 3. CORE_OPENBIZ_APP_MODULE_PATH . "/$moduleName/message/" . $messageFile;
            // OPENBIZ_APP_PATH / OPENBIZ_APP_MESSAGE_PATH : OPENBIZ_APP_PATH / messages
            if (is_file(OPENBIZ_APP_MESSAGE_PATH . "/" . $messageFile)) {
                return parse_ini_file(OPENBIZ_APP_MESSAGE_PATH . "/" . $messageFile);
            } else if (is_file(OPENBIZ_APP_MODULE_PATH . "/" . $messageFile)) {
                return parse_ini_file(OPENBIZ_APP_MODULE_PATH . "/" . $messageFile);
            } else {
                if (isset($packageName) && $packageName != "") {
                    $dirs = explode('.', $packageName);
                    $moduleName = $dirs[0];
                    $msgFile = OPENBIZ_APP_MODULE_PATH . "/$moduleName/message/" . $messageFile;
                    if (is_file($msgFile)) {
                        return parse_ini_file($msgFile);
                    } else {
                        $errmsg = self::getMessage("SYS_ERROR_INVALID_MSGFILE", array($msgFile));
                        trigger_error($errmsg, E_USER_ERROR);
                    }
                } else {
                    $errmsg = self::getMessage("SYS_ERROR_INVALID_MSGFILE", array(OPENBIZ_APP_MESSAGE_PATH . "/" . $messageFile));
                    trigger_error($errmsg, E_USER_ERROR);
                }
            }
        }
        return null;
    }