function checkRequiredFields($input) { $need = array(); $rulecollection = new PluginResourcesRuleContracttypeCollection($input['entities_id']); $fields = array(); $fields = $rulecollection->processAllRules($input, $fields, array()); $rank = new PluginResourcesRank(); $field = array(); foreach ($fields as $key => $val) { $required = explode("requiredfields_", $key); if (isset($required[1])) { $field[] = $required[1]; } } if (count($field) > 0) { foreach ($field as $key => $val) { if (!isset($input[$val]) || empty($input[$val]) || is_null($input[$val]) || $input[$val] == "NULL") { if (!$rank->canCreate() && in_array($val, array('plugin_resources_ranks_id', 'plugin_resources_resourcesituations_id'))) { } else { $need[] = $val; } } } } return $need; }