'Profit', array('#value' => 35, '#label' => t('Jan')), array('#value' => 25, '#label' => t('Feb')), array('#value' => 75, '#label' => t('Mar')), array('#value' => 50, '#label' => t('Apr')), array('#value' => 23, '#label' => t('May')), array('#value' => 12, '#label' => t('Jun')), ); $data[] = array( '#legend' => 'Revenue', 10, 20, 55, 72, 45, 50 ); $data['#title'] = 'Testing Chart'; $form['chart'] = array( '#value' => charts_chart($data) ); $options = module_invoke_all('chartsinfo', 'list'); $form['plugin'] = array( '#default_value' => empty($settings['#plugin']) ? '' : $settings['#plugin'], '#options' => $options, '#type' => 'select', '#title' => t('Chart plugin'), ); $options = _charts_module_invoke_all('chartsinfo', 'charttypes'); asort($options); $form['type'] = array( '#default_value' => empty($settings['#type']) ? '' : $settings['#type'], '#options' => $options, '#type' => 'select', '#title' => t('Chart type'), ); $form['width'] = array( '#default_value' => empty($settings['#width']) ? 400 : $settings['#width'], '#description' => t('The chart width, in pixels'), '#type' => 'textfield', '#title' => t('Width'), ); $form['height'] = array( '#default_value' => empty($settings['#height']) ? 200 : $settings['#height'], '#description' => t('The chart height, in pixels'), '#type' => 'textfield', '#title' => t('Height'), ); $form['color'] = array( '#default_value' => empty($settings['#color']) ? 'FFFFFF' : $settings['#color'], '#description' => t('Use the hexadecimal RGB value'), '#type' => 'textfield', '#title' => t('Background Color'), ); // Color palette for the series and values. $colors = empty($settings['#color_palette']) ? array( 'FF8000', 'FFC080', 'FFDFBF', 'FFC080', 'FFCC00', 'FFE500', 'FFF9BF', '78C0E9', '179CE8', '30769E', 'C8E9FC', 'ECF8FF', '00CCFF', '4086AA', '91C3DC', '87907D', 'AAB6A2', '555555', '666666', '21B6A8', '177F75', 'B6212D', '7F171F', 'B67721', '7F5417', ) : $settings['#color_palette']; $form['color_palette'] = array( '#default_value' => implode(', ', $colors), '#description' => t('Used to differentiate series or pie-chart pieces. Use the hexadecimal RGB value'), '#type' => 'textarea', '#title' => t('Color Palette'), ); $colors_example = ''; foreach ($colors as $color) { $colors_example .= "########### $color ###########
"; } $form['color_palette_example'] = array( '#value' => $colors_example, ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Save settings'), ); return $form; } /** * Module settings page. Users can set the default layout * of their charts. * * @ingroup form */ function _charts_settings_submit(&$form, &$form_state) { $settings = $form_state['values']; unset($settings['submit']); unset($settings['form_id']); unset($settings['form_build_id']); unset($settings['form_token']); unset($settings['op']); // Add a '#' in all field names foreach ($settings as $index => $value) { $settings["#$index"] = $value; unset($settings[$index]); } $settings['#color_palette'] = explode(', ', $settings['#color_palette']); // Save the data into database variable_set('charts_settings', $settings); // Print a 'OK' message drupal_set_message('Settings saved'); }