/home/vianto5/cititower.mx/wp-content/plugins/ml-slider/admin/slideshows
Edit: /home/vianto5/cititower.mx/wp-content/plugins/ml-slider/admin/slideshows/Themes.php (51006B)
404));
}
if (is_multisite() && $settings = get_site_option('metaslider_global_settings')) {
$global_settings = $settings;
}
if ($settings = get_option('metaslider_global_settings')) {
$global_settings = $settings;
}
$new_install = get_option('metaslider_new_user');
if (
(isset($global_settings['legacy']) && true == $global_settings['legacy']) ||
(isset($new_install) && 'new' == $new_install)
) {
$themes = (include METASLIDER_THEMES_PATH . 'manifest.php');
} else {
$themes = (include METASLIDER_THEMES_PATH . 'manifest-legacy.php');
}
// If is not Pro, let's include some Premium themes with upgrade link
if (! metaslider_pro_is_active()) {
$premium_themes = (include METASLIDER_THEMES_PATH . 'manifest-premium.php');
$themes = array_merge($themes, $premium_themes);
}
/**
* Check if we have extra themes/ folders added from external sources,
* including MetaSlider Pro
*
* e.g.
* array(
* '/path/to/wp-content/plugins/ml-slider-pro/themes/',
* '/path/to/wp-content/themes/my-theme/ms-themes/'
* )
*/
$extra_themes = apply_filters('metaslider_extra_themes', array());
foreach ($extra_themes as $location) {
// Make sure there is a manifest
if (file_exists(trailingslashit($location) . 'manifest.php')) {
$manifest = include(trailingslashit($location) . 'manifest.php');
// Make sure each theme has an existing folder, title, description
foreach ($manifest as $data) {
if (isset($data['folder'])
&& file_exists($folder = trailingslashit($location) . $data['folder'])
&& isset($data['title'])
&& isset($data['description'])
&& isset($data['screenshot_dir'])
) {
// Adjust type
$data['type'] = isset($data['type']) ? $data['type'] : 'external';
// Set a temporary array key to pass the customize.php file location
if (file_exists($customize = trailingslashit($folder) . 'customize.php')) {
$data['theme_customize_temp_'] = $customize;
}
// Set a temporary array key to pass the settings.php file location
if (file_exists($edit_settings = trailingslashit($folder) . 'settings.php')) {
$data['theme_edit_settings_temp_'] = $edit_settings;
}
// Add a key to the theme array
$data = array( $data['folder'] => $data );
// Merge and set new theme to the top
$themes = array_merge($themes, $data);
}
}
}
}
// Add theme customization and edit settings
$themes = $this->add_base_customize_settings($themes);
$themes = $this->add_base_edit_settings($themes);
return $themes;
}
/**
* Add customize array key to each theme that have its own customize.php file
*
* @since 3.91.0
*
* @param array $themes Themes array from manifest file
*
* @return array
*/
public function add_base_customize_settings($themes)
{
foreach ( $themes as $item ) {
$folder = $item['folder'];
// Check if we use a different customize.php file (e.g. is an external theme) for this theme or default
$customize_file = isset($item['theme_customize_temp_']) ? $item['theme_customize_temp_'] : METASLIDER_THEMES_PATH . $folder . '/customize.php';
if (in_array($item['type'], array('free', 'premium', 'external'))
&& file_exists($customize_file)
) {
$customize_settings = (include $customize_file);
$themes[$folder]['customize'] = $this->merge_theme_customizations($customize_settings);
}
// Remove temporary array keys
if (isset($themes[$folder]['theme_customize_temp_'])) {
unset($themes[$folder]['theme_customize_temp_']);
}
}
return $themes;
}
/**
* Add edit settings array key to each theme that have its own settings.php file
*
* @since 3.98
*
* @param array $themes Themes array from manifest file
*
* @return array
*/
public function add_base_edit_settings($themes)
{
$default_settings = MetaSlider_Slideshow_Settings::defaults();
// Convert booleans linked to