Ejemplo n.º 1
0
	RemoteUserAjax.prototype.messageList = function (fCallback, sFolderFullNameRaw, iOffset, iLimit, sSearch, sThreadUid, bSilent)
	{
		sFolderFullNameRaw = Utils.pString(sFolderFullNameRaw);

		var
			sFolderHash = Cache.getFolderHash(sFolderFullNameRaw),
			bUseThreads = AppStore.threadsAllowed() && SettingsStore.useThreads(),
			sInboxUidNext = Cache.getFolderInboxName() === sFolderFullNameRaw ? Cache.getFolderUidNext(sFolderFullNameRaw) : ''
		;

		bSilent = Utils.isUnd(bSilent) ? false : !!bSilent;
		iOffset = Utils.isUnd(iOffset) ? 0 : Utils.pInt(iOffset);
		iLimit = Utils.isUnd(iOffset) ? 20 : Utils.pInt(iLimit);
		sSearch = Utils.pString(sSearch);
		sThreadUid = Utils.pString(sThreadUid);

		if ('' !== sFolderHash && ('' === sSearch || -1 === sSearch.indexOf('is:')))
		{
			return this.defaultRequest(fCallback, 'MessageList', {},
				'' === sSearch ? Consts.DEFAULT_AJAX_TIMEOUT : Consts.SEARCH_AJAX_TIMEOUT,
				'MessageList/' + Links.subQueryPrefix() + '/' + Base64.urlsafe_encode([
					sFolderFullNameRaw,
					iOffset,
					iLimit,
					sSearch,
					AppStore.projectHash(),
					sFolderHash,
					sInboxUidNext,
					bUseThreads ? '1' : '0',
					bUseThreads ? sThreadUid : ''
				].join(String.fromCharCode(0))), bSilent ? [] : ['MessageList']);
		}
		else
		{
			return this.defaultRequest(fCallback, 'MessageList', {
				'Folder': sFolderFullNameRaw,
				'Offset': iOffset,
				'Limit': iLimit,
				'Search': sSearch,
				'UidNext': sInboxUidNext,
				'UseThreads': bUseThreads ? '1' : '0',
				'ThreadUid': bUseThreads ? sThreadUid : ''
			}, '' === sSearch ? Consts.DEFAULT_AJAX_TIMEOUT : Consts.SEARCH_AJAX_TIMEOUT,
				'', bSilent ? [] : ['MessageList']);
		}
	};
Ejemplo n.º 2
0
RemoteUserAjax.prototype.message = function(fCallback, sFolderFullNameRaw, iUid)
{
	sFolderFullNameRaw = Utils.pString(sFolderFullNameRaw);
	iUid = Utils.pInt(iUid);

	if (Cache.getFolderFromCacheList(sFolderFullNameRaw) && 0 < iUid)
	{
		this.defaultRequest(fCallback, 'Message', {}, null,
			'Message/' + Links.subQueryPrefix() + '/' + Base64.urlsafe_encode([
				sFolderFullNameRaw,
				iUid,
				AppStore.projectHash(),
				AppStore.threadsAllowed() && SettingsStore.useThreads() ? '1' : '0'
			].join(String.fromCharCode(0))), ['Message']);

		return true;
	}

	return false;
};
Ejemplo n.º 3
0
	/**
	 * @param {Function} fCallback
	 * @param {string} sFolderFullNameRaw
	 * @param {number=} iOffset = 0
	 * @param {number=} iLimit = 20
	 * @param {string=} sSearch = ''
	 * @param {string=} sThreadUid = ''
	 * @param {boolean=} bSilent = false
	 */
	messageList(fCallback, sFolderFullNameRaw, iOffset = 0, iLimit = 20, sSearch = '', sThreadUid = '', bSilent = false) {

		sFolderFullNameRaw = pString(sFolderFullNameRaw);

		const
			folderHash = getFolderHash(sFolderFullNameRaw),
			useThreads = AppStore.threadsAllowed() && SettingsStore.useThreads(),
			inboxUidNext = getFolderInboxName() === sFolderFullNameRaw ? getFolderUidNext(sFolderFullNameRaw) : '';

		if ('' !== folderHash && ('' === sSearch || -1 === sSearch.indexOf('is:')))
		{
			return this.defaultRequest(fCallback, 'MessageList', {},
				'' === sSearch ? DEFAULT_AJAX_TIMEOUT : SEARCH_AJAX_TIMEOUT,
				'MessageList/' + subQueryPrefix() + '/' + Base64.urlsafe_encode([
					sFolderFullNameRaw,
					iOffset,
					iLimit,
					sSearch,
					AppStore.projectHash(),
					folderHash,
					inboxUidNext,
					useThreads ? '1' : '0',
					useThreads ? sThreadUid : ''
				].join(String.fromCharCode(0))), bSilent ? [] : ['MessageList']);
		}

		return this.defaultRequest(fCallback, 'MessageList', {
			Folder: sFolderFullNameRaw,
			Offset: iOffset,
			Limit: iLimit,
			Search: sSearch,
			UidNext: inboxUidNext,
			UseThreads: useThreads ? '1' : '0',
			ThreadUid: useThreads ? sThreadUid : ''
		}, '' === sSearch ? DEFAULT_AJAX_TIMEOUT : SEARCH_AJAX_TIMEOUT, '', bSilent ? [] : ['MessageList']);
	}