ais.admin.inc in Adaptive Image Styles (ais) 7
Administrative forms for Adaptive Image Styles.
File
ais.admin.incView source
<?php
/**
* @file
* Administrative forms for Adaptive Image Styles.
*/
/**
* Generates the AIS administration form
*/
function ais_admin_settings($form, &$form_state) {
$form = array();
$aischoose = variable_get('ais_adaptive_styles_method', 'both-max');
$form['aischoose'] = array(
'#type' => 'select',
'#title' => t('Threshold Determination Method'),
'#options' => array(
'both-max' => t('Maximum of Width and Height'),
'both-min' => t('Minimum of Width and Height'),
'width' => t('Width'),
'height' => t('Height'),
),
'#default_value' => $aischoose,
'#description' => t("Method that the browser's size is decided.<br /><ul>\n<li>The maximum of the browser width and height will select a better resolution image and work well for both portrait and landscape images.</li>\n<li>The minimum of the browser width and height will select a smaller image and and work well for both portrait and landscape images.</li>\n<li>By width of the browser will work best for displaying mostly landscape images.</li>\n<li>By height of the browser will work best for displaying mostly portrait images.</li></ul>\n "),
);
$form['ais'] = array(
'#title' => t("Adaptive Image Styles"),
'#type' => 'vertical_tabs',
);
$form['ais']['#attached']['js'] = array(
drupal_get_path('module', 'ais') . '/assets/js/ais.admin.js',
);
$ais = variable_get("ais_adaptive_styles", array());
$styles = image_styles();
foreach ($styles as $is) {
if ($is['name'] == 'adaptive') {
continue;
}
$width = 0;
foreach ($is['effects'] as $effect) {
if (isset($effect['data']['width'])) {
$width = $effect['data']['width'];
break;
}
}
$name = $is['name'];
$nameset = $name . "_set";
$namesize = $name . "_size";
$form['ais'][$nameset] = array(
'#title' => $is['name'],
'#type' => 'fieldset',
'#attributes' => array(
'class' => array(
'ais-settings-form',
),
),
);
$form['ais'][$nameset][$name]['#title'] = t("Selected");
$form['ais'][$nameset][$name]['#type'] = 'checkbox';
$form['ais'][$nameset][$name]['#default_value'] = isset($form_state['values'][$name]) ? $form_state['values'][$name] : _ais_is_used($name, $ais);
$size = _ais_get_size($name, $ais);
if (!isset($size) or $size == "") {
$size = $width;
}
$form['ais'][$nameset][$namesize] = array();
$form['ais'][$nameset][$namesize]['#type'] = 'textfield';
$form['ais'][$nameset][$namesize]['#description'] = t('Threshold');
$form['ais'][$nameset][$namesize]['#states'] = array(
'invisible' => array(
'input[name="' . $name . '"]' => array(
'checked' => FALSE,
),
),
);
$form['ais'][$nameset][$namesize]['#default_value'] = isset($form_state['values'][$namesize]) ? $form_state['values'][$namesize] : $size;
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['#validate'][] = 'ais_admin_settings_validate';
$form['#submit'][] = 'ais_admin_settings_submit';
return $form;
}
/**
* Validates AIS Admin form submittions
*/
function ais_admin_settings_validate(&$form, &$form_state) {
$styles = image_styles();
foreach ($styles as $is) {
if ($is['name'] == 'adaptive') {
continue;
}
$name = $is['name'];
$nameset = $name . "_set";
$namesize = $name . "_size";
if (isset($form_state['values'][$name]) and $form_state['values'][$name]) {
if (!isset($form_state['values'][$namesize]) and !is_numeric($form_state['values'][$namesize]) and $form_state['values'][$namesize] > 0) {
form_set_error('width', t('You must select valid width in pixels for style %style', array(
'%style' => $name,
)));
}
}
}
}
/**
* Handles AIS admin page submittions
*/
function ais_admin_settings_submit(&$form, &$form_state) {
$ais = array();
$styles = image_styles();
foreach ($styles as $is) {
if ($is['name'] == 'adaptive') {
continue;
}
$name = $is['name'];
$nameset = $name . "_set";
$namesize = $name . "_size";
if (isset($form_state['values'][$name]) and $form_state['values'][$name]) {
if (isset($form_state['values'][$namesize])) {
$ais[] = array(
'name' => $name,
'size' => $form_state['values'][$namesize],
);
}
}
}
variable_set("ais_adaptive_styles", $ais);
if (isset($form_state['values']['aischoose']) and ($form_state['values']['aischoose'] == 'both-max' or $form_state['values']['aischoose'] == 'both-min' or $form_state['values']['aischoose'] == 'width' or $form_state['values']['aischoose'] == 'height')) {
variable_set("ais_adaptive_styles_method", $form_state['values']['aischoose']);
}
drupal_set_message(t('The configuration options have been saved.'));
}
Functions
Name | Description |
---|---|
ais_admin_settings | Generates the AIS administration form |
ais_admin_settings_submit | Handles AIS admin page submittions |
ais_admin_settings_validate | Validates AIS Admin form submittions |