settings-general.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. // Get builder post data.
  3. $post_data = FLBuilderModel::get_post_data();
  4. // Widget slug
  5. if ( isset( $settings->widget ) ) {
  6. $widget_class = $settings->widget;
  7. } elseif ( isset( $post_data['widget'] ) ) {
  8. $widget_class = $post_data['widget'];
  9. }
  10. if ( isset( $widget_class ) && class_exists( $widget_class ) ) {
  11. // Widget instance
  12. $widget_instance = new $widget_class();
  13. // Widget settings
  14. $settings_key = 'widget-' . $widget_instance->id_base;
  15. $widget_settings = array();
  16. if ( isset( $settings->$settings_key ) ) {
  17. $widget_settings = (array) $settings->$settings_key;
  18. }
  19. // Widget title
  20. $widget_title = $widget_instance->name;
  21. // Widget form
  22. ob_start();
  23. FLWidgetModule::render_form( $widget_class, $widget_instance, $widget_settings );
  24. echo '<input type="hidden" name="widget" value="' . $widget_class . '" />';
  25. $widget_form = ob_get_clean();
  26. } elseif ( isset( $widget_class ) ) {
  27. // Widget doesn't exist!
  28. $widget_title = __( 'Widget', 'fl-builder' );
  29. // Widget form
  30. ob_start();
  31. echo '<div class="fl-builder-widget-missing">';
  32. printf( _x( '%s no longer exists.', '%s stands for widget slug.', 'fl-builder' ), $widget_class );
  33. echo '</div>';
  34. $widget_form = ob_get_clean();
  35. }
  36. ?>
  37. <h3 class="fl-builder-settings-title">
  38. <span class="fl-builder-settings-title-text-wrap"><?php echo $widget_title; ?></span>
  39. </h3>
  40. <table class="fl-form-table">
  41. <tbody>
  42. <tr class="fl-field" data-preview='{"type":"widget"}'>
  43. <td class="fl-field-control">
  44. <div class="fl-field-control-wrapper">
  45. <?php echo $widget_form; ?>
  46. </div>
  47. </td>
  48. </tr>
  49. </tbody>
  50. </table>