Document toolboxDocument toolbox

(v1) .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.

New Custom Event form example

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 (v1) 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

Call Function
// $apiFunction Examples: saveService, saveServiceDesk, saveContact, saveCable, saveGla, saveEquipment, 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 );

Triggering Events

PCR_Event, trigger, attach, attachDb

In this example the GLA Replace Event is triggered with specific parameters. For detailed information on which (v1) Events can be triggered, and how to trigger those Events, please navigate to the (v1) Triggerable Events List page.

PCR_Event Functions
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

Add New Schedule Event form example

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