Document toolboxDocument toolbox

(2022.1) Custom Events

Custom Events may be created within PCR-360, however, support for these Events will be limited outside of Professional Services.  For specific questions, please send a message to your Account Manager. Any Errors encountered by the Custom Event, such as Error Details from an exterior API, will be added to the Error Log located at Admin > Error Log Explorer, as well as any related logs for Escalations.

The Events grid will store custom Event calls for PCR-360 to trigger Events in a particular instance of PCR-360. Using the Trigger Event button, a User can manually run their Custom Events.

Example Custom Event

Logic tab

The Logic tab is where the Custom Logic can be written and reviewed.

A User can quickly review the code written for the specific event with the Validate PHP button.

Users will be limited to the white-listed functions for PHP in PCR-360. A list of the functions can be seen in PCR-360 by clicking on the Help button.

Allowed Functions

Array

explode , implode , is_array , in_array , array_diff , array_diff_key , count

JSON

json_decode , json_encode

cURL

curl_init , curl_setopt , curl_exec , curl_errno , curl_error , curl_getinfo , curl_close , http_build_query

Date/Time

date , time , mktime , strtotime , DateTime , DateInterval , add , sub, diff, format , setTimestamp , setTime , setDate

Debug

error_log, debug

Debug Function
$this->debug();

Note: The debug command outputs to a cache which is then displayed in the Debug tab/grid for the (2022.1) Custom Logic you are debugging.

Logical

if , elseif , else , switch , case , default , break , for , foreach , as , while , do-while , return , new

Mathematical

round , trunc ,ceil , floor , rand , srand , pow , exp , abs , max , min , bindec , hexdec , octdec , base_convert

PCR-360 Events

PCR_Event, trigger, attach, attachDb

PCR-360 Data

call , query , listGetByCode , listFindValue , listFindCode

Call Function
// $apiFunction Examples: saveService, saveServiceDesk, saveContacts, saveCable, etc.
$this->call(string $apiFunctionToCall, array $params)
Query Function
array $this->query ( string $sql, array $bind_parameters );
listGetByCode Function
mixed $this->listGetByCode ( string $list_type, mixed $list_code );
listFindValue Function
string $this->listGetByCode ( int $recid );
listFindCode Function
string $this->listGetByCode ( int $recid );

String

is_numeric strtolower , strtoupper , substr , stristr , strstr , stripos , strpos , strripos , strrpos , addslashes , chr , trim , ltrim , rtrim , str_replace , preg_match preg_replace , preg_split , str_pad , sprintf substr_replace , strlen

Additional Functions

Contact PCR if you find a function that is not allowed, but would like to use. 

Validation functions

setError

Sets a validation error message. This messages output in the UI if the validation logic returns false. If this function is called multiple times, only the message from the last calls is displayed.

setError Function
$this->setError ( string $message );

setWarning

Sets the validation warning message. This messages output in the UI only if the logic does not return false. If this function is called multiple times, only the message from the last calls is displayed.

setWarning Function
$this->setWarning ( string $message );

Schedule tab

Add New Schedule Event form example

Debug tab

Debug Tab Example

The Debug tab shows the results of debug function calls. This debug information is cleared after 24 hours.

Example

This example shows a Custom Event that invoking the call function: How can regular maintenance be scheduled for Equipment?