.Custom Events v2020.1
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.
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 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 button.
Allowed Functions
Array
explode , implode , is_array , in_array , array_diff , array_diff_key , count
JSON
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
$this->debug();
Note: The debug command outputs to a cache which is then displayed in the Debug tab/grid for the 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 Data
call , query , listGetByCode , listFindValue , listFindCode
// $apiFunction Examples: saveService, saveServiceDesk, saveContact, saveCable, saveGla, saveEquipment, etc. $this->call(string $apiFunctionToCall, array $params)
array $this->query ( string $sql, array $bind_parameters );
mixed $this->listGetByCode ( string $list_type, mixed $list_code );
string $this->listGetByCode ( int $recid );
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.
$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.
$this->setWarning ( string $message );
Triggering Events
PCR_Event, trigger, attach, attachDb
In this example the GLA Replace Event is triggered with specific parameters. For detailed information on which Events can be triggered, and how to trigger those Events, please navigate to the Triggerable Events List page.
PCR_Event::attachDb("replace-gla", [ "Application_Model_Gla_Gla" => "eventReplaceGla" ]); PCR_Event::trigger("replace-gla", [ "contact" => 12345, // Contact RECID "users_recid" => 456, // Users RECID "glaRecid" => [1111], // Old GLA RECID "replaceGlaRecid" => 2222, // Replacement GLA RECID "setInactiveGla" => true, "comment" => "This is a comment", ]);
Schedule tab
Example
This example shows a Custom Event that invoking the call function: How can regular maintenance be scheduled for Equipment?
Help Desk Portal - Email: help@pcr.com - Phone: 616.259.9242