function local_fonts_add_form_validate in @font-your-face 7
Same name and namespace in other branches
- 7.2 modules/local_fonts/local_fonts.module \local_fonts_add_form_validate()
Implements hook_form_validate().
File
- modules/
local_fonts/ local_fonts.module, line 168
Code
function local_fonts_add_form_validate($form, &$form_state) {
// Ensure a font family with the same results does not exist in the database.
$values = $form_state['values'];
$font_path = strtr(preg_replace('#[^a-zA-Z0-9]+#', ' ', $values['css_family']), ' ', '_');
$font_style = $values['css_style'];
$font_weight = $values['css_weight'];
$local_fonts_directory = dirname($_SERVER['SCRIPT_FILENAME']) . '/' . file_stream_wrapper_get_instance_by_scheme('public')
->getDirectoryPath() . '/fontyourface/local_fonts';
$destination_directory = $local_fonts_directory . '/' . $font_path;
$file_uploaded = FALSE;
if (file_prepare_directory($local_fonts_directory, FILE_CREATE_DIRECTORY) && file_prepare_directory($destination_directory, FILE_CREATE_DIRECTORY)) {
// Validate the files against their extension
$files = $_FILES['files']['name'];
foreach ($files as $key => $filename) {
$file_object = new stdClass();
$file_object->filename = $filename;
if (!empty($file_object->filename)) {
$validation = file_validate_extensions($file_object, $key);
if (is_array($validation) && count($validation) > 0) {
form_set_error($key, implode(', ', $validation));
}
else {
$file_uploaded = TRUE;
}
// else
}
// if
}
// foreach
}
else {
form_set_error('files', t('Error creating file directory.'));
}
// else
if (!$file_uploaded) {
form_set_error('files', t('Upload at least one font file to go with the font family.'));
}
// if
}