function fontyourface_ui_apply_by_selector_form in @font-your-face 7.2
Provides form to apply fonts to selectors.
1 string reference to 'fontyourface_ui_apply_by_selector_form'
- fontyourface_ui_apply_page in modules/
fontyourface_ui/ fontyourface_ui.module - Admin page shows enabled fonts with options to add.
File
- modules/
fontyourface_ui/ fontyourface_ui.module, line 845
Code
function fontyourface_ui_apply_by_selector_form($form, &$form_state) {
$fonts = fontyourface_get_fonts('enabled = 1');
$font_select = array(
'#type' => 'select',
'#options' => array(
'-- none --' => '-- none --',
),
);
foreach ($fonts as $font) {
$font_select['#options'][$font->fid] = $font->name;
}
// foreach
$unused_selectors = $default_selectors = array(
'h1, h2, h3, h4, h5, h6' => t('all headers') . ' (h1, h2, h3, h4, h5, h6)',
'h1' => 'h1',
'h2' => 'h2',
'h3' => 'h3',
'p, div' => t('standard text') . ' (p, div)',
'body' => t('everything') . ' (body)',
);
$selectors = fontyourface_get_fonts("enabled = 1 AND css_selector != '' AND css_selector != '<none>'");
foreach ($selectors as $selector) {
if (isset($unused_selectors[$selector->css_selector])) {
unset($unused_selectors[$selector->css_selector]);
}
// if
}
// foreach
$unused_selector_index = 1;
foreach ($unused_selectors as $selector => $display) {
$new_selector = new stdClass();
$new_selector->fid = 'unused' . $unused_selector_index;
$new_selector->css_selector = $selector;
$new_selector->css_fallbacks = '';
$selectors[] = $new_selector;
$unused_selector_index++;
}
// foreach
$form['table'] = array(
'#prefix' => '<table><tbody><thead><tr><th>' . t('CSS Selector') . '</th><th>' . t('Font') . '</th><th>' . t('Fallbacks') . '</th></tr></thead>',
'#suffix' => '</tbody></table>',
);
foreach ($selectors as $selector) {
$form['table']['row_' . $selector->fid] = array(
'#prefix' => '<tr>',
'#suffix' => '</tr>',
);
$selector_display = $selector->css_selector;
if (isset($default_selectors[$selector->css_selector])) {
$selector_display = $default_selectors[$selector->css_selector];
}
// if
$form['table']['row_' . $selector->fid]['css_selector[' . $selector->fid . ']'] = array(
'#prefix' => '<td>',
'#type' => 'hidden',
'#value' => $selector->css_selector,
'#suffix' => '<b>' . $selector_display . '</b></td>',
);
$form['table']['row_' . $selector->fid]['fid[' . $selector->fid . ']'] = $font_select + array(
'#prefix' => '<td>',
'#default_value' => intval($selector->fid),
'#suffix' => '</td>',
);
$form['table']['row_' . $selector->fid]['css_fallbacks[' . $selector->fid . ']'] = array(
'#prefix' => '<td>',
'#type' => 'textfield',
'#description' => t('Example: !example', array(
'!example' => '<i>Helvetica, Arial, sans-serif</i>',
)),
'#size' => 50,
'#default_value' => $selector->css_fallbacks,
'#suffix' => '</td>',
);
}
// foreach
$form['table']['row_new'] = array(
'#prefix' => '<tr>',
'#suffix' => '</tr>',
);
$form['table']['row_new']['css_selector[new]'] = array(
'#prefix' => '<td>',
'#type' => 'textfield',
'#size' => 50,
'#suffix' => '</td>',
);
$form['table']['row_new']['fid[new]'] = $font_select + array(
'#prefix' => '<td>',
'#suffix' => '</td>',
);
$form['table']['row_new']['css_fallbacks[new]'] = array(
'#prefix' => '<td>',
'#type' => 'textfield',
'#description' => t('Example: !example', array(
'!example' => '<i>Helvetica, Arial, sans-serif</i>',
)),
'#size' => 50,
'#suffix' => '</td>',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save applied fonts'),
);
return $form;
}