/** * Returns field definition. * * @param bool $reload True to reload data from server. False to use the cached value (if present). * @return kyCustomFieldDefinition */ public function getDefinition($reload = false) { if ($this->definition !== null && !$reload) { return $this->definition; } /** @noinspection PhpUndefinedMethodInspection */ $this->definition = kyCustomFieldDefinition::getAll()->filterByName($this->getName())->first(); return $this->definition; }
/** * Returns field definition. * * @param bool $reload True to reload data from server. False to use the cached value (if present). * @return kyCustomFieldDefinition */ public function getDefinition($reload = false) { if ($this->definition !== null && !$reload) { return $this->definition; } $this->definition = kyCustomFieldDefinition::getAll()->filterByName($this->getName())->first(); return $this->definition; }
/** * Clears custom field definitions cache. */ public static function clearCache() { self::$definitions = null; }
$smarty->assign('_departmentFormURL', WHMCS_URL . 'submitticket.php?step=2'); $templatefile = "selectdepartment"; } else { if ($_REQUEST['step'] == 2) { if (!empty($_POST['departmentid'])) { // get priorities of 'public' type only $_ticketPriorityContainer = kyTicketPriority::getAll()->filterByType(kyTicketPriority::TYPE_PUBLIC)->orderByDisplayOrder(); $_ticketPriorities = []; foreach ($_ticketPriorityContainer as $_ticketPriorityObject) { $_ticketPriority['priorityid'] = $_ticketPriorityObject->getId(); $_ticketPriority['title'] = $_ticketPriorityObject->getTitle(); $_ticketPriorities[] = $_ticketPriority; } $smarty->assign('_ticketPriorities', $_ticketPriorities); //Get Ticket Custom fields $_customFieldObjectContainer = kyCustomFieldDefinition::getAll(); $_customFields = []; foreach ($_customFieldObjectContainer as $_customFieldObject) { $_customFields[$_customFieldObject->getGroupId()][] = RenderCustomField($_customFieldObject, MODE_INSERT); } // Custom field groups $_customFieldGroupContainer = []; // fetch custom field groups based on selected department $_customFieldGroupObjectContainer = kyCustomFieldGroup::getAll(['departmentid' => $_POST['departmentid']])->filterByGroupType([kyCustomFieldGroup::GROUP_STAFFTICKET, kyCustomFieldGroup::GROUP_STAFFUSERTICKET, kyCustomFieldGroup::GROUP_USERTICKET]); foreach ($_customFieldGroupObjectContainer as $_customFieldGroupObject) { if (isset($_customFields[$_customFieldGroupObject->getId()])) { $_customFieldGroup = []; $_customFieldGroup['title'] = $_customFieldGroupObject->getTitle(); $_customFieldGroup['_fields'] = $_customFields[$_customFieldGroupObject->getId()]; $_customFieldGroupContainer[$_customFieldGroupObject->getId()] = $_customFieldGroup; }
/** * Returns field value from POST data. * * @param kyCustomFieldDefinition $custom_field_definition Custom field definition. * @throws kyException * @return mixed Field value. */ function ky_get_post_value($custom_field_definition) { $field_name = $custom_field_definition->getName(); $required = $custom_field_definition->getIsRequired(); $regexp = $custom_field_definition->getRegexpValidate(); $as_array = $custom_field_definition->getType() === kyCustomFieldDefinition::TYPE_CHECKBOX || $custom_field_definition->getType() === kyCustomFieldDefinition::TYPE_MULTI_SELECT; if ($_SERVER['REQUEST_METHOD'] !== 'POST') { return null; } if (!array_key_exists($field_name, $_POST)) { if ($required) { throw new kyException("Field '%s' is required.", $custom_field_definition->getTitle()); } return null; } if ($as_array) { $value = $_POST[$field_name]; if (!is_array($value)) { if (strlen(trim($value)) > 0) { $value = array($value); } else { $value = array(); } } if ($required && count($value) === 0) { throw new kyException("Field '%s' is required.", $custom_field_definition->getTitle()); } } else { $value = trim($_POST[$field_name]); if ($required && strlen($value) === 0) { throw new kyException("Field '%s' is required.", $custom_field_definition->getTitle()); } if (strlen($regexp) > 0 && !preg_match($regexp, $value)) { throw new kyException("Error validating field '%s'.", $custom_field_definition->getTitle()); } } return $value; }