public static function addOptionValidation(RequestValidator $validator, $option, $fieldName) { $app = ActiveRecordModel::getApplication(); if (ProductOption::TYPE_FILE == $option['type']) { $checks = array(new IsFileUploadedCheck($app->translate('_err_option_upload')), new IsNotEmptyCheck($app->translate('_err_option_upload'))); $validator->addCheck($fieldName, new OrCheck(array('upload_' . $fieldName, $fieldName), $checks, $validator->getRequest())); if ($types = ProductOption::getFileExtensions($option['fileExtensions'])) { $validator->addCheck('upload_' . $fieldName, new IsFileTypeValidCheck($app->maketext('_err_option_filetype', implode(', ', $types)), $types)); } $validator->addCheck('upload_' . $fieldName, new MaxFileSizeCheck($app->maketext('_err_option_filesize', $option['maxFileSize']), $option['maxFileSize'])); } else { $validator->addCheck($fieldName, new IsNotEmptyCheck($app->translate('_err_option_' . $option['type']))); } }