Freebusy Functions — This section describes freebusy specific functions to see the freebusy data of the users.
resource IFreeBusySupport mapi_freebusysupport_open(resource $session,
resource $messagestore);
boolean mapi_freebusysupport_close(resource $freebusysupport);
array freebusydata mapi_freebusysupport_loaddata(resource $freebusysupport,
array $fbusers);
array freebusydata mapi_freebusysupport_loadupdate(resource $freebusysupport,
array $fbusers);
resource freebusyenumblock mapi_freebusydata_enumblocks(resource $freebusydata,
long $starttime,
long $endtime);
array mapi_freebusydata_getpublishrange(resource $freebusydata);
boolean mapi_freebusydata_setrange(resource $freebusydata,
long $starttime,
long $endtime);
boolean mapi_freebusyenumblock_reset(resource $freebusyenumblock);
boolean mapi_freebusyenumblock_skip(resource $freebusyenumblock);
boolean mapi_freebusyenumblock_restrict(resource $freebusyenumblock,
long $starttime,
long $endtime);
boolean mapi_freebusyenumblock_next(resource $freebusyenumblock,
long $celt,
long $endtime);
boolean mapi_freebusyupdate_reset(resource $freebusyupdate);
boolean mapi_freebusyupdate_publish(resource $freebusyupdate,
array $freebusyblocks);
boolean mapi_freebusyupdate_savechanges(resource $freebusyupdate,
long $starttime,
long $endtime);
resource mapi_freebusysupport_open(resource $session, resource $messagestore)
Retreive freebusy support object
Example 3.69. Open a freebusysupport object
$fbsupport = mapi_freebusysupport_open($session);
resource $fbsupport, freebusysupport
boolean mapi_freebusysupport_close(resource $freebusysupport)
Close the freebusy support object
Example 3.70. Close a freebusysupport object
$fbsupport = mapi_freebusysupport_open($session); // Do something $result = mapi_freebusysupport_close($fbsupport);
true is succeeded
array mapi_freebusysupport_loaddata(resource $freebusysupport, array $fbusers)
Get a freebusydata object for one of more users.
Example 3.71. Get freebusydata object of one user
$fbsupport = mapi_freebusysupport_open($session); $fbDataArray = mapi_freebusysupport_loaddata($fbsupport, array($userentrid1, $userentrid2) ); if(isset($fbDataArray[0])) { $rangeuser1 = mapi_freebusydata_getpublishrange($fbDataArray[0]); print_r($rangeuser1); }else { echo "No freebusy for User 1\n"; } if(isset($fbDataArray[1])) { $rangeuser2 = mapi_freebusydata_getpublishrange($fbDataArray[1]); print_r($rangeuser2); }else { echo "No freebusy for User 2\n"; } mapi_freebusysupport_close($fbsupport);
Array(
[start] => 1157061600
[end] => 1162335600
)
No freebusy for User 2
Get freebusy write objects for one of more users.
array freebusydata mapi_freebusysupport_loadupdate(resource $freebusysupport,
array $fbusers);
Example 3.72. Get freebusyupdate object of one user
$fbupdate = mapi_freebusysupport_loadupdate($fbsupport, array($userentryid)); $result = mapi_freebusyupdate_reset($fbupdate[0]); $fbblocks = array( array("start" => 1157439600, "end" => 1157468400, "status" => 2), array("start" => 1157526000, "end" => 1157554800, "status" => 2) ); // Add fbblocks $result = mapi_freebusyupdate_publish($fbupdate[0], $fbblocks); // Save data $result = mapi_freebusyupdate_savechanges($fbupdate[0], 1157061600, 1162335600);
resource mapi_freebusydata_enumblocks(resource $freebusydata, long $starttime, long $endtime)
Get an interface to supports accessing and enumerating free/busy blocks of data for a user within a time range.
Example 3.73. Get freebusy enumblock object of one user and read some data
$enumblock = mapi_freebusydata_enumblocks($fbData, 0, 0xFFFFFFFF); // Set the cursur on the begining $result = mapi_freebusyenumblock_reset($enumblock); //Read the free/busy blocks in a cycles of 2 blocks while(true) { $blocks = mapi_freebusyenumblock_next($enumblock, 2); if($blocks == false) break; print_r($blocks); }
Array
(
[0] => Array
(
[start] => 1157439600
[end] => 1157468400
[status] => 2
)
[1] => Array
(
[start] => 1157526000
[end] => 1157554800
[status] => 2
)
)
Gets a preset time range for an enumeration of free/busy blocks of data for a user
Get free/busy publish range, start and end time in unixtimestamp format
array mapi_freebusydata_getpublishrange(resource $freebusydata);
boolean mapi_freebusydata_setrange(resource $freebusydata, long $starttime, long $endtime)
Sets the range of time for an enumeration of free/busy block of data for a user.
Sets the freebusy range of time
Example 3.75. Sets the freebusy range of time.
$result = mapi_freebusydata_setrange($freebusydata, 1157061600, 1162335600);
return $result, false or true
boolean mapi_freebusyenumblock_reset(resource $freebusyenumblock)
Resets the enumerator by setting the cursor to the beginning.
mapi_freebusysupport_open, mapi_freebusysupport_close, mapi_freebusysupport_loaddata, mapi_freebusydata_enumblocks
boolean mapi_freebusyenumblock_skip(resource $freebusyenumblock)
Skips a specified number of blocks of free/busy data.
mapi_freebusysupport_open, mapi_freebusysupport_close, mapi_freebusysupport_loaddata, mapi_freebusydata_enumblocks
Example 3.77. Skips 2 blocks of free/busy data.
$enumblock = mapi_freebusydata_enumblocks($fbData, 0, 0xFFFFFFFF); // Set the cursur on the begining $result = mapi_freebusyenumblock_reset($enumblock); // Skip 2 free/busy blocks $result = mapi_freebusyenumblock_skip($enumblock, 2); // Read the 2 free/busy blocks $blocks = mapi_freebusyenumblock_next($enumblock, 2);
boolean mapi_freebusyenumblock_restrict(resource $freebusyenumblock, long $starttime, long $endtime)
Restricts the enumeration to a specified time period.
mapi_freebusysupport_open, mapi_freebusysupport_close, mapi_freebusysupport_loaddata, mapi_freebusydata_enumblocks
Example 3.78. Restricts the enumeration to a specified time period.
$enumblock = mapi_freebusydata_enumblocks($fbData, 0, 0xFFFFFFFF); // Set the cursur on the begining $result = mapi_freebusyenumblock_reset($enumblock); //Restrict the free/busy data $result = mapi_freebusyenumblock_restrict($enumblock, 0x12345578, 0xFFFF0000); //Read the 2 free/busy blocks $blocks = mapi_freebusyenumblock_next($enumblock, 2);
-
boolean mapi_freebusyenumblock_next(resource $freebusyenumblock, long $celt, long $endtime)
Gets the next specified number of blocks of free/busy data in an enumeration.
mapi_freebusysupport_open, mapi_freebusysupport_close, mapi_freebusysupport_loaddata, mapi_freebusydata_enumblocks
boolean mapi_freebusyupdate_reset(resource $freebusyupdate)
Remove all current free/busy data
boolean mapi_freebusyupdate_publish(resource $freebusyupdate, array $freebusyblocks)
Publish a specified number of blocks of free/busy data. May be called more than once successively.
boolean mapi_freebusyupdate_savechanges(resource $freebusyupdate, long $starttime, long $endtime)
Save the free/busy data with time frame between the begintime and endtime.