Ejemplo n.º 1
0
 /**
  * Save MLA Gallery settings to the options table
  *
  * @since 0.80
  *
  * @uses $_REQUEST
  *
  * @return	array	Message(s) reflecting the results of the operation
  */
 private static function _save_gallery_settings()
 {
     $settings_changed = false;
     $message_list = '';
     $error_list = '';
     /*
      * Start with any page-level options
      */
     foreach (MLAOptions::$mla_option_definitions as $key => $value) {
         if ('mla_gallery' == $value['tab']) {
             if ('select' == $value['type']) {
                 $old_value = MLAOptions::mla_get_option($key);
                 if ($old_value != $_REQUEST[MLA_OPTION_PREFIX . $key]) {
                     $settings_changed = true;
                     $message_list .= self::mla_update_option_row($key, $value);
                 }
             } elseif ('text' == $value['type']) {
                 if ('' == $_REQUEST[MLA_OPTION_PREFIX . $key]) {
                     $_REQUEST[MLA_OPTION_PREFIX . $key] = $value['std'];
                 }
                 $old_value = MLAOptions::mla_get_option($key);
                 if ($old_value != $_REQUEST[MLA_OPTION_PREFIX . $key]) {
                     $settings_changed = true;
                     $message_list .= self::mla_update_option_row($key, $value);
                 }
             } elseif ('checkbox' == $value['type']) {
                 $old_value = MLAOptions::mla_get_option($key);
                 if (isset($_REQUEST[MLA_OPTION_PREFIX . $key])) {
                     $checkbox_changed = "checked" != $old_value;
                 } else {
                     $checkbox_changed = "unchecked" != $old_value;
                 }
                 if ($checkbox_changed) {
                     $settings_changed = true;
                     $message_list .= self::mla_update_option_row($key, $value);
                 }
             }
         }
         // mla_gallery option
     }
     // foreach mla_options
     /*
      * Get the current style contents for comparison
      */
     $old_templates = MLAOptions::mla_get_style_templates();
     $new_templates = array();
     $new_names = $_REQUEST['mla_style_templates_name'];
     $new_values = stripslashes_deep($_REQUEST['mla_style_templates_value']);
     $new_deletes = isset($_REQUEST['mla_style_templates_delete']) ? $_REQUEST['mla_style_templates_delete'] : array();
     /*
      * Build new style template array, noting changes
      */
     $default_styles = array('default', 'tag-cloud');
     $templates_changed = false;
     foreach ($new_names as $name => $new_name) {
         if (in_array($name, $default_styles)) {
             continue;
         }
         if (array_key_exists($name, $new_deletes)) {
             /* translators: 1: template type 2: template name */
             $message_list .= '<br>' . sprintf(_x('Deleting %1$s "%2$s".', 'message_list', 'media-library-assistant'), __('Style Template', 'media-library-assistant'), $name);
             $templates_changed = true;
             continue;
         }
         $new_slug = sanitize_title($new_name);
         if ('blank' == $name) {
             if ('' == $new_slug) {
                 continue;
             } elseif ('blank' == $new_slug) {
                 /* translators: 1: ERROR tag 2: template name 3: template type */
                 $error_list .= '<br>' . sprintf(__('%1$s: Reserved name "%2$s", new %3$s discarded.', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), $new_slug, __('Style Template', 'media-library-assistant'));
                 continue;
             }
             if (array_key_exists($new_slug, $old_templates)) {
                 /* translators: 1: ERROR tag 2: template name 3: template type */
                 $error_list .= '<br>' . sprintf(__('%1$s: Duplicate name "%2$s", new %3$s discarded.', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), $new_slug, __('Style Template', 'media-library-assistant'));
                 continue;
             } else {
                 /* translators: 1: template type 2: template name */
                 $message_list .= '<br>' . sprintf(_x('Adding new %1$s "%2$s".', 'message_list', 'media-library-assistant'), __('Style Template', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
         }
         // 'blank' - reserved name
         /*
          * Handle name changes, check for duplicates
          */
         if ('' == $new_slug) {
             /* translators: 1: ERROR tag 2: element name 3: old value */
             $error_list .= '<br>' . sprintf(__('%1$s: Blank %2$s, reverting to "%3$s".', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), __('style template name', 'media-library-assistant'), $name);
             $new_slug = $name;
         }
         if ($new_slug != $name) {
             if (array_key_exists($new_slug, $old_templates)) {
                 /* translators: 1: ERROR tag 2: element name 3: new value 4: old value */
                 $error_list .= '<br>' . sprintf(__('%1$s: Duplicate new %2$s "%3$s", reverting to "%4$s".', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), __('style template name', 'media-library-assistant'), $new_slug, $name);
                 $new_slug = $name;
             } elseif ('blank' != $name) {
                 /* translators: 1: element name 2: old_value 3: new_value */
                 $message_list .= '<br>' . sprintf(_x('Changing %1$s from "%2$s" to "%3$s"', 'message_list', 'media-library-assistant'), __('style template name', 'media-library-assistant'), $name, $new_slug);
                 $templates_changed = true;
             }
         }
         // name changed
         if ('blank' != $name && $new_values[$name] != $old_templates[$name]) {
             /* translators: 1: template type 2: template name */
             $message_list .= '<br>' . sprintf(_x('Updating contents of %1$s "%2$s".', 'message_list', 'media-library-assistant'), __('Style Template', 'media-library-assistant'), $new_slug);
             $templates_changed = true;
         }
         $new_templates[$new_slug] = $new_values[$name];
     }
     // foreach $name
     if ($templates_changed) {
         $settings_changed = true;
         if (false == MLAOptions::mla_put_style_templates($new_templates)) {
             /* translators: 1: ERROR tag 2: template type */
             $error_list .= '<br>' . sprintf(__('%1$s: Update of %2$s failed.', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), __('Style Template', 'media-library-assistant'));
         }
     }
     /*
      * Get the current markup contents for comparison
      */
     $old_templates = MLAOptions::mla_get_markup_templates();
     $new_templates = array();
     $new_names = $_REQUEST['mla_markup_templates_name'];
     $new_values['open'] = stripslashes_deep($_REQUEST['mla_markup_templates_open']);
     $new_values['row-open'] = stripslashes_deep($_REQUEST['mla_markup_templates_row_open']);
     $new_values['item'] = stripslashes_deep($_REQUEST['mla_markup_templates_item']);
     $new_values['row-close'] = stripslashes_deep($_REQUEST['mla_markup_templates_row_close']);
     $new_values['close'] = stripslashes_deep($_REQUEST['mla_markup_templates_close']);
     $new_deletes = isset($_REQUEST['mla_markup_templates_delete']) ? $_REQUEST['mla_markup_templates_delete'] : array();
     /*
      * Build new markup template array, noting changes
      */
     $default_markups = array('default', 'tag-cloud', 'tag-cloud-ul', 'tag-cloud-dl');
     $templates_changed = false;
     foreach ($new_names as $name => $new_name) {
         if (in_array($name, $default_markups)) {
             continue;
         }
         if (array_key_exists($name, $new_deletes)) {
             /* translators: 1: template type 2: template name */
             $message_list .= '<br>' . sprintf(_x('Deleting %1$s "%2$s".', 'message_list', 'media-library-assistant'), __('markup template', 'media-library-assistant'), $name);
             $templates_changed = true;
             continue;
         }
         $new_slug = sanitize_title($new_name);
         if ('blank' == $name) {
             if ('' == $new_slug) {
                 continue;
             }
             if ('blank' == $new_slug) {
                 /* translators: 1: ERROR tag 2: template name 3: template type */
                 $error_list .= '<br>' . sprintf(__('%1$s: Reserved name "%2$s", new %3$s discarded.', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), $new_slug, __('markup template', 'media-library-assistant'));
                 continue;
             }
             if (array_key_exists($new_slug, $old_templates)) {
                 /* translators: 1: ERROR tag 2: template name 3: template type */
                 $error_list .= '<br>' . sprintf(__('%1$s: Duplicate name "%2$s", new %3$s discarded.', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), $new_slug, __('markup template', 'media-library-assistant'));
                 continue;
             } else {
                 /* translators: 1: template type 2: template name */
                 $message_list .= '<br>' . sprintf(_x('Adding new %1$s "%2$s".', 'message_list', 'media-library-assistant'), __('markup template', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
         }
         // 'blank' - reserved name
         /*
          * Handle name changes, check for duplicates
          */
         if ('' == $new_slug) {
             /* translators: 1: ERROR tag 2: element name 3: old value */
             $error_list .= '<br>' . sprintf(__('%1$s: Blank %2$s, reverting to "%3$s".', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), __('markup template name', 'media-library-assistant'), $name);
             $new_slug = $name;
         }
         if ($new_slug != $name) {
             if (array_key_exists($new_slug, $old_templates)) {
                 /* translators: 1: ERROR tag 2: element name 3: new value 4: old value */
                 $error_list .= '<br>' . sprintf(__('%1$s: Duplicate new %2$s "%3$s", reverting to "%4$s".', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), __('markup template name', 'media-library-assistant'), $new_slug, $name);
                 $new_slug = $name;
             } elseif ('blank' != $name) {
                 /* translators: 1: element name 2: old_value 3: new_value */
                 $message_list .= '<br>' . sprintf(_x('Changing %1$s from "%2$s" to "%3$s"', 'message_list', 'media-library-assistant'), __('markup template name', 'media-library-assistant'), $name, $new_slug);
                 $templates_changed = true;
             }
         }
         // name changed
         if ('blank' != $name) {
             if ($new_values['open'][$name] != $old_templates[$name]['open']) {
                 /* translators: 1: template name */
                 $message_list .= '<br>' . sprintf(_x('Updating open markup for "%1$s".', 'message_list', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
             if ($new_values['row-open'][$name] != $old_templates[$name]['row-open']) {
                 /* translators: 1: template name */
                 $message_list .= '<br>' . sprintf(_x('Updating row open markup for "%1$s".', 'message_list', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
             if ($new_values['item'][$name] != $old_templates[$name]['item']) {
                 /* translators: 1: template name */
                 $message_list .= '<br>' . sprintf(_x('Updating item markup for "%1$s".', 'message_list', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
             if ($new_values['row-close'][$name] != $old_templates[$name]['row-close']) {
                 /* translators: 1: template name */
                 $message_list .= '<br>' . sprintf(_x('Updating row close markup for "%1$s".', 'message_list', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
             if ($new_values['close'][$name] != $old_templates[$name]['close']) {
                 /* translators: 1: template name */
                 $message_list .= '<br>' . sprintf(_x('Updating close markup for "%1$s".', 'message_list', 'media-library-assistant'), $new_slug);
                 $templates_changed = true;
             }
         }
         // ! 'blank'
         $new_templates[$new_slug]['open'] = $new_values['open'][$name];
         $new_templates[$new_slug]['row-open'] = $new_values['row-open'][$name];
         $new_templates[$new_slug]['item'] = $new_values['item'][$name];
         $new_templates[$new_slug]['row-close'] = $new_values['row-close'][$name];
         $new_templates[$new_slug]['close'] = $new_values['close'][$name];
     }
     // foreach $name
     if ($templates_changed) {
         $settings_changed = true;
         if (false == MLAOptions::mla_put_markup_templates($new_templates)) {
             /* translators: 1: ERROR tag 2: template type */
             $error_list .= '<br>' . sprintf(__('%1$s: Update of %2$s failed.', 'media-library-assistant'), __('ERROR', 'media-library-assistant'), __('markup template', 'media-library-assistant'));
         }
     }
     if ($settings_changed) {
         /* translators: 1: field type */
         $message = sprintf(__('%1$s settings saved.', 'media-library-assistant'), __('MLA Gallery', 'media-library-assistant')) . "\r\n";
     } else {
         /* translators: 1: field type */
         $message = sprintf(__('%1$s no changes detected.', 'media-library-assistant'), __('MLA Gallery', 'media-library-assistant')) . "\r\n";
     }
     $page_content = array('message' => $message . $error_list, 'body' => '');
     /*
      * Uncomment this for debugging.
      */
     // $page_content['message'] .= $message_list;
     return $page_content;
 }
Ejemplo n.º 2
0
 /**
  * Save MLA Gallery settings to the options table
  *
  * @since 0.80
  *
  * @uses $_REQUEST
  *
  * @return	array	Message(s) reflecting the results of the operation
  */
 private static function _save_gallery_settings()
 {
     $settings_changed = false;
     $message_list = '';
     $error_list = '';
     /*
      * Start with any page-level options
      */
     foreach (MLAOptions::$mla_option_definitions as $key => $value) {
         if ('mla_gallery' == $value['tab']) {
             if ('select' == $value['type']) {
                 $old_value = MLAOptions::mla_get_option($key);
                 if ($old_value != $_REQUEST[MLA_OPTION_PREFIX . $key]) {
                     $settings_changed = true;
                     $message_list .= self::_update_option_row($key, $value);
                 }
             } elseif ('text' == $value['type']) {
                 if ('' == $_REQUEST[MLA_OPTION_PREFIX . $key]) {
                     $_REQUEST[MLA_OPTION_PREFIX . $key] = $value['std'];
                 }
                 $old_value = MLAOptions::mla_get_option($key);
                 if ($old_value != $_REQUEST[MLA_OPTION_PREFIX . $key]) {
                     $settings_changed = true;
                     $message_list .= self::_update_option_row($key, $value);
                 }
             }
             // text
         }
         // mla_gallery
     }
     // foreach mla_options
     /*
      * Get the current style contents for comparison
      */
     $old_templates = MLAOptions::mla_get_style_templates();
     $new_templates = array();
     $new_names = $_REQUEST['mla_style_templates_name'];
     $new_values = stripslashes_deep($_REQUEST['mla_style_templates_value']);
     $new_deletes = isset($_REQUEST['mla_style_templates_delete']) ? $_REQUEST['mla_style_templates_delete'] : array();
     /*
      * Build new style template array, noting changes
      */
     $templates_changed = false;
     foreach ($new_names as $name => $new_name) {
         if ('default' == $name) {
             continue;
         }
         if (array_key_exists($name, $new_deletes)) {
             $message_list .= "<br>Deleting style template '{$name}'.";
             $templates_changed = true;
             continue;
         }
         $new_slug = sanitize_title($new_name);
         if ('blank' == $name) {
             if ('' == $new_slug) {
                 continue;
             } elseif ('blank' == $new_slug) {
                 $error_list .= "<br>ERROR: reserved name '{$new_slug}', new style template discarded.";
                 continue;
             }
             if (array_key_exists($new_slug, $old_templates)) {
                 $error_list .= "<br>ERROR: duplicate name '{$new_slug}', new style template discarded.";
                 continue;
             } else {
                 $message_list .= "<br>Adding new style template '{$new_slug}'.";
                 $templates_changed = true;
             }
         }
         // 'blank' - reserved name
         /*
          * Handle name changes, check for duplicates
          */
         if ('' == $new_slug) {
             $error_list .= "<br>ERROR: blank style template name value, reverting to '{$name}'.";
             $new_slug = $name;
         }
         if ($new_slug != $name) {
             if (array_key_exists($new_slug, $old_templates)) {
                 $error_list .= "<br>ERROR: duplicate new style template name '{$new_slug}', reverting to '{$name}'.";
                 $new_slug = $name;
             } elseif ('blank' != $name) {
                 $message_list .= "<br>Changing style template name from '{$name}' to '{$new_slug}'.";
                 $templates_changed = true;
             }
         }
         // name changed
         if ('blank' != $name && $new_values[$name] != $old_templates[$name]) {
             $message_list .= "<br>Updating contents of style template '{$new_slug}'.";
             $templates_changed = true;
         }
         $new_templates[$new_slug] = $new_values[$name];
     }
     // foreach $name
     if ($templates_changed) {
         $settings_changed = true;
         if (false == MLAOptions::mla_put_style_templates($new_templates)) {
             $error_list .= "<br>ERROR: update of style templates failed.";
         }
     }
     /*
      * Get the current markup contents for comparison
      */
     $old_templates = MLAOptions::mla_get_markup_templates();
     $new_templates = array();
     $new_names = $_REQUEST['mla_markup_templates_name'];
     $new_values['open'] = stripslashes_deep($_REQUEST['mla_markup_templates_open']);
     $new_values['row-open'] = stripslashes_deep($_REQUEST['mla_markup_templates_row_open']);
     $new_values['item'] = stripslashes_deep($_REQUEST['mla_markup_templates_item']);
     $new_values['row-close'] = stripslashes_deep($_REQUEST['mla_markup_templates_row_close']);
     $new_values['close'] = stripslashes_deep($_REQUEST['mla_markup_templates_close']);
     $new_deletes = isset($_REQUEST['mla_markup_templates_delete']) ? $_REQUEST['mla_markup_templates_delete'] : array();
     /*
      * Build new markup template array, noting changes
      */
     $templates_changed = false;
     foreach ($new_names as $name => $new_name) {
         if ('default' == $name) {
             continue;
         }
         if (array_key_exists($name, $new_deletes)) {
             $message_list .= "<br>Deleting markup template '{$name}'.";
             $templates_changed = true;
             continue;
         }
         $new_slug = sanitize_title($new_name);
         if ('blank' == $name) {
             if ('' == $new_slug) {
                 continue;
             }
             if ('blank' == $new_slug) {
                 $error_list .= "<br>ERROR: reserved name '{$new_slug}', new markup template discarded.";
                 continue;
             }
             if (array_key_exists($new_slug, $old_templates)) {
                 $error_list .= "<br>ERROR: duplicate name '{$new_slug}', new markup template discarded.";
                 continue;
             } else {
                 $message_list .= "<br>Adding new markup template '{$new_slug}'.";
                 $templates_changed = true;
             }
         }
         // 'blank' - reserved name
         /*
          * Handle name changes, check for duplicates
          */
         if ('' == $new_slug) {
             $error_list .= "<br>ERROR: blank markup template name value, reverting to '{$name}'.";
             $new_slug = $name;
         }
         if ($new_slug != $name) {
             if (array_key_exists($new_slug, $old_templates)) {
                 $error_list .= "<br>ERROR: duplicate new markup template name '{$new_slug}', reverting to '{$name}'.";
                 $new_slug = $name;
             }
             if (array_key_exists($new_slug, $old_templates)) {
                 $error_list .= "<br>ERROR: duplicate new markup template name '{$new_slug}', reverting to '{$name}'.";
                 $new_slug = $name;
             } elseif ('blank' != $name) {
                 $message_list .= "<br>Changing markup template name from '{$name}' to '{$new_slug}'.";
                 $templates_changed = true;
             }
         }
         // name changed
         if ('blank' != $name) {
             if ($new_values['open'][$name] != $old_templates[$name]['open']) {
                 $message_list .= "<br>Updating open markup for '{$new_slug}'.";
                 $templates_changed = true;
             }
             if ($new_values['row-open'][$name] != $old_templates[$name]['row-open']) {
                 $message_list .= "<br>Updating row open markup for '{$new_slug}'.";
                 $templates_changed = true;
             }
             if ($new_values['item'][$name] != $old_templates[$name]['item']) {
                 $message_list .= "<br>Updating item markup for '{$new_slug}'.";
                 $templates_changed = true;
             }
             if ($new_values['row-close'][$name] != $old_templates[$name]['row-close']) {
                 $message_list .= "<br>Updating row close markup for '{$new_slug}'.";
                 $templates_changed = true;
             }
             if ($new_values['close'][$name] != $old_templates[$name]['close']) {
                 $message_list .= "<br>Updating close markup for '{$new_slug}'.";
                 $templates_changed = true;
             }
         }
         // ! 'blank'
         $new_templates[$new_slug]['open'] = $new_values['open'][$name];
         $new_templates[$new_slug]['row-open'] = $new_values['row-open'][$name];
         $new_templates[$new_slug]['item'] = $new_values['item'][$name];
         $new_templates[$new_slug]['row-close'] = $new_values['row-close'][$name];
         $new_templates[$new_slug]['close'] = $new_values['close'][$name];
     }
     // foreach $name
     if ($templates_changed) {
         $settings_changed = true;
         if (false == MLAOptions::mla_put_markup_templates($new_templates)) {
             $error_list .= "<br>ERROR: update of markup templates failed.";
         }
     }
     if ($settings_changed) {
         $message = "MLA Gallery settings saved.\r\n";
     } else {
         $message = "MLA Gallery no changes detected.\r\n";
     }
     $page_content = array('message' => $message . $error_list, 'body' => '');
     /*
      * Uncomment this for debugging.
      */
     // $page_content['message'] .= $message_list;
     return $page_content;
 }