https://wiki.miranda-ng.org/index.php?title=Plugin:MirLua/Module/m_database/en&feed=atom&action=history
Plugin:MirLua/Module/m database/en - Revision history
2024-03-28T20:42:12Z
Revision history for this page on the wiki
MediaWiki 1.39.5
https://wiki.miranda-ng.org/index.php?title=Plugin:MirLua/Module/m_database/en&diff=41307&oldid=prev
FuzzyBot: Updating to match new version of source page
2022-02-09T23:04:06Z
<p>Updating to match new version of source page</p>
<p><b>New page</b></p><div><languages/><br />
Allows you to access data and contacts in user profile database.<br />
<br />
{{Ls|MirLua/Modules/include_info}} <code>local db = require('m_database')</code><br />
<br />
__TOC__<br />
<br />
== Contacts ==<br />
<br />
=== Contacts ===<br />
Iterator for list of contacts.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | name<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Protocol name.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>number</code><br />
<br />
{{nbsp|5}}Returns contact number. The list ends in element with <code>nil</code> value.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=<br />
for hContact in db.Contacts('JABBER_1') do<br />
print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))<br />
end<br />
}}<br />
<br />
== Events ==<br />
<br />
=== GetEventCount ===<br />
Number of events for a contact.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>number</code><br />
<br />
{{nbsp|5}}Returns number of events.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=db.GetEventCount(hContact)}}<br />
----<br />
<br />
=== Events ===<br />
Iterator for contact's event list from the first to the last.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>number</code><br />
<br />
{{nbsp|5}}Returns event number. The list ends in element with <code>nil</code> value.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=for hEvent in db.Events(hContact) do<br />
local event = totable(hEvent, "DBEVENTINFO")<br />
print(event.Timestamp, event.Blob)<br />
end<br />
}}<br />
----<br />
<br />
=== EventsFromEnd ===<br />
Iterator for contact's event list from the last to the first.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>number</code><br />
<br />
{{nbsp|5}}Returns event number. The list ends in element with <code>nil</code> value.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=<br />
for hEvent in db.EventsFromEnd(hContact) do<br />
local event = totable(hEvent, "DBEVENTINFO")<br />
print(event.Timestamp, event.Blob)<br />
end<br />
}}<br />
<br />
== Settings ==<br />
<br />
=== GetSetting ===<br />
Returns value of a setting.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number or <code>nil</code>.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | module<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Module name.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | setting<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Setting name.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | value<br />
| style="text-align:center" | {{Ls|YesNo/no}}<br />
| style="text-align:center" | <code>number</code>, <code>string</code><br />
| Default value.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>number</code><br />
<br />
{{nbsp|5}}Returns value of a setting or default value or <code>nil</code>.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=db.GetSetting(nil, 'test', 'some')}}<br />
----<br />
<br />
=== Settings ===<br />
Iterator for module (group of settings).<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number or <code>nil</code>.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | module<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Module name.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>number</code><br />
<br />
{{nbsp|5}}Returns module name. The list ends in element with <code>nil</code> value.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=<br />
for setting in db.Settings(nil, 'CList') do<br />
local message = string.format("%s/%s = ", 'CList', setting, ...)<br />
.. db.GetSetting(nil, 'CList', setting)<br />
print(message)<br />
end<br />
}}<br />
----<br />
<br />
=== WriteSetting ===<br />
Saves a value to database.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number or <code>nil</code>.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | module<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Module name.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | setting<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Setting name.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | value<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>boolean</code>, <code>number</code>, <code>string</code>, <code>table</code> (array of bytes)<br />
| Setting value.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | type<br />
| style="text-align:center" | {{Ls|YesNo/no}}<br />
| style="text-align:center" | <code>number</code><br />
| Type of setting. Takes values:<br />
* 1 = DBVT_BYTE<br />
* 2 = DBVT_WORD<br />
* 4 = DBVT_DWORD<br />
* 252 = DBVT_WCHAR<br />
* 253 = DBVT_UTF8<br />
* 254 = DBVT_BLOB<br />
* 255 = DBVT_ASCIIZ<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>boolean</code><br />
<br />
{{nbsp|5}}Returns <code>true</code> on success, otherwise <code>false</code>.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=db.WriteSetting(nil, 'test', 'some', true)}}<br />
----<br />
<br />
=== DeleteSetting ===<br />
Deletes a setting.<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number or <code>nil</code>.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | module<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Module name.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | setting<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Setting name.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>boolean</code><br />
<br />
{{nbsp|5}}Returns <code>true</code> on success, otherwise <code>false</code>.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=db.DeleteSetting(nil, 'test', 'some')}}<br />
----<br />
<br />
=== DeleteModule ===<br />
Deletes a module (group of settings).<br />
<br />
==== {{Ls|MirLua/Modules/parameters}} ====<br />
{| class="wikitable"<br />
|-<br />
! scope="col" | {{Ls|MirLua/Modules/param_name}}<br />
! scope="col" | {{Ls|MirLua/Modules/required_param}}<br />
! scope="col" | {{Ls|Content/TableHeaders/type}}<br />
! scope="col" | {{Ls|Content/TableHeaders/description}}<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | hContact<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>number</code><br />
| Contact number or <code>nil</code>.<br />
|-<br />
! scope="row" class="MirLuaParametersTable-parameter" | module<br />
| style="text-align:center" | {{Ls|YesNo/yes}}<br />
| style="text-align:center" | <code>string</code><br />
| Module name.<br />
|}<br />
<br />
==== {{Ls|MirLua/Modules/result}} ====<br />
{{nbsp|5}}{{Ls|MirLua/Modules/type}} <code>boolean</code><br />
<br />
{{nbsp|5}}Returns <code>true</code> on success, otherwise <code>false</code>.<br />
<br />
==== {{Ls|MirLua/Modules/example}} ====<br />
{{Content:MirLua/Example|code=db.DeleteModule(nil, 'test')}}</div>
FuzzyBot