/** * 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; }
/** * 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; }