!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\cumbreclima\wp-content\plugins\slideshow-jquery-image-gallery\classes\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.37%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     SlideshowPluginGeneralSettings.php (11.17 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * SlideshowPluginGeneralSettings provides a sub menu page for the slideshow post type. The general settings page is
 * the page that holds most of the slideshow's overall settings, such as user capabilities and slideshow defaults.
 *
 * @since 2.1.22
 * @author Stefan Boonstra
 */
class SlideshowPluginGeneralSettings
{
    
/** @var bool $isCurrentPage Flag that represents whether or not the general settings page is the current page */
    
static $isCurrentPage false;

    
/** @var string $settingsGroup Settings group */
    
static $settingsGroup 'slideshow-jquery-image-gallery-general-settings';

    
/** @var string $stylesheetLocation General settings */
    
static $stylesheetLocation 'slideshow-jquery-image-gallery-stylesheet-location';

    
/** @var array $capabilities User capability settings */
    
static $capabilities = array(
        
'addSlideshows'    => 'slideshow-jquery-image-gallery-add-slideshows',
        
'editSlideshows'   => 'slideshow-jquery-image-gallery-edit-slideshows',
        
'deleteSlideshows' => 'slideshow-jquery-image-gallery-delete-slideshows'
    
);

    
/** @var string $defaultSettings */
    
static $defaultSettings 'slideshow-jquery-image-gallery-default-settings';
    
/** @var string $defaultStyleSettings */
    
static $defaultStyleSettings 'slideshow-jquery-image-gallery-default-style-settings';

    
/** @var string $customStyles List of pointers to custom style options */
    
static $customStyles 'slideshow-jquery-image-gallery-custom-styles';

    
/**
     * Initializes the slideshow post type's general settings.
     *
     * @since 2.1.22
     */
    
static function init()
    {
        
// Only initialize in admin
        
if (!is_admin())
        {
            return;
        }

        if (isset(
$_GET['post_type']) &&
            
$_GET['post_type'] == 'slideshow' &&
            isset(
$_GET['page']) &&
            
$_GET['page'] == 'general_settings')
        {
            
self::$isCurrentPage true;
        }

        
// Register settings
        
add_action('admin_init', array(__CLASS__'registerSettings'));

        
// Add sub menu
        
add_action('admin_menu', array(__CLASS__'addSubMenuPage'));

        
// Localize
        
add_action('admin_enqueue_scripts', array(__CLASS__'localizeScript'), 11);
    }

    
/**
     * Adds a sub menu page to the slideshow post type menu.
     *
     * @since 2.1.22
     */
    
static function addSubMenuPage()
    {
        
// Return if the slideshow post type does not exist
        
if(!post_type_exists(SlideshowPluginPostType::$postType))
        {
            return;
        }

        
// Add sub menu
        
add_submenu_page(
            
'edit.php?post_type=' SlideshowPluginPostType::$postType,
            
__('General Settings''slideshow-plugin'),
            
__('General Settings''slideshow-plugin'),
            
'manage_options',
            
'general_settings',
            array(
__CLASS__'generalSettings')
        );
    }

    
/**
     * Shows the general settings page.
     *
     * @since 2.1.22
     */
    
static function generalSettings()
    {
        
// Include general settings page
        
include SlideshowPluginMain::getPluginPath() . DIRECTORY_SEPARATOR 'views' DIRECTORY_SEPARATOR __CLASS__ DIRECTORY_SEPARATOR 'general-settings.php';
    }

    
/**
     * Registers required settings into the WordPress settings API.
     * Only performed when actually on the general settings page.
     *
     * @since 2.1.22
     */
    
static function registerSettings()
    {
        
// Register settings only when the user is going through the options.php page
        
$urlParts explode('/'$_SERVER['PHP_SELF']);

        if (
array_pop($urlParts) != 'options.php')
        {
            return;
        }

        
// Register general settings
        
register_setting(self::$settingsGroupself::$stylesheetLocation);

        
// Register user capability settings, saving capabilities only has to be called once.
        
register_setting(self::$settingsGroupself::$capabilities['addSlideshows']);
        
register_setting(self::$settingsGroupself::$capabilities['editSlideshows']);
        
register_setting(self::$settingsGroupself::$capabilities['deleteSlideshows'], array(__CLASS__'saveCapabilities'));

        
// Register default slideshow settings
        
register_setting(self::$settingsGroupself::$defaultSettings);
        
register_setting(self::$settingsGroupself::$defaultStyleSettings);

        
// Register custom style settings
        
register_setting(self::$settingsGroupself::$customStyles, array(__CLASS__'saveCustomStyles'));
    }

    
/**
     * Localizes the general settings script. Needs to be called on the 'admin_enqueue_scripts' hook.
     */
    
static function localizeScript()
    {
        if (!
self::$isCurrentPage)
        {
            return;
        }

        
// Localize general settings script
        
wp_localize_script(
            
'slideshow-jquery-image-gallery-backend-script',
            
'slideshow_jquery_image_gallery_backend_script_generalSettings',
            array(
                
'data'         => array('customStylesKey' => self::$customStyles),
                
'localization' => array(
                    
'newCustomizationPrefix' => __('New''slideshow-plugin'),
                    
'confirmDeleteMessage'   => __('Are you sure you want to delete this custom style?''slideshow-plugin')
                )
            )
        );
    }

    
/**
     * Returns the stylesheet location, or 'footer' when no stylesheet position has been defined yet.
     *
     * @since 2.2.12
     * @return string $stylesheetLocation
     */
    
public static function getStylesheetLocation()
    {
        return 
get_option(SlideshowPluginGeneralSettings::$stylesheetLocation'footer');
    }

    
/**
     * Returns an array of stylesheets with its keys and respective names.
     *
     * Gets the version number for each stylesheet when $withVersion is set to true.
     *
     * When the $separateDefaultFromCustom boolean is set to true, the default stylesheets will be returned separately
     * from the custom stylesheets.
     *
     * The data returned with both parameters set to 'false' will look like the following:
     *
     * [$stylesheetKey => $stylesheetName]
     *
     * With both parameters set to 'true' the returned data will be formed like this:
     *
     * [
     *  default => [$stylesheetKey => [name => $stylesheetName, version => $versionNumber]],
     *  custom => [$stylesheetKey => [name => $stylesheetName, version => $versionNumber]]
     * ]
     *
     * @since 2.1.23
     * @param boolean $withVersion (optional, defaults to false)
     * @param boolean $separateDefaultFromCustom (optional, defaults to false)
     * @return array $stylesheets
     */
    
static function getStylesheets($withVersion false$separateDefaultFromCustom false)
    {
        
// Default styles
        
$defaultStyles = array(
            
'style-light.css' => __('Light''slideshow-plugin'),
            
'style-dark.css'  => __('Dark''slideshow-plugin')
        );

        
// Loop through default stylesheets
        
$stylesheetsFilePath SlideshowPluginMain::getPluginPath() . DIRECTORY_SEPARATOR 'style' DIRECTORY_SEPARATOR 'SlideshowPlugin';

        foreach (
$defaultStyles as $fileName => $name)
        {
            
// Check if stylesheet exists on server, don't offer it when it does not exist.
            
if (!file_exists($stylesheetsFilePath DIRECTORY_SEPARATOR $fileName))
            {
                unset(
$defaultStyles[$fileName]);

                continue;
            }

            
// Add version if $withVersion is true
            
if($withVersion)
            {
                
$defaultStyles[$fileName] = array('name' => $name'version' => SlideshowPluginMain::$version);
            }
        }

        
// Get custom styles
        
$customStyles get_option(SlideshowPluginGeneralSettings::$customStyles, array());

        
// Add version to the custom styles if $withVersion is true
        
if ($withVersion)
        {
            foreach (
$customStyles as $customStylesKey => $customStylesName)
            {
                
$customStylesVersion get_option($customStylesKey '_version'false);

                if (!
$customStylesVersion)
                {
                    
$customStylesVersion time();
                }

                
$customStyles[$customStylesKey] = array('name' => $customStylesName'version' => $customStylesVersion);
            }
        }

        
// Return
        
if ($separateDefaultFromCustom)
        {
            return array(
                
'default' => $defaultStyles,
                
'custom' => $customStyles
            
);
        }

        return 
array_merge(
            
$defaultStyles,
            
$customStyles
        
);
    }

    
/**
     * Saves capabilities, called by a callback from a registered capability setting
     *
     * @since 2.1.23
     * @param String $capability
     * @return String $capability
     */
    
static function saveCapabilities($capability)
    {
        
// Verify nonce
        
$nonce = isset($_POST['_wpnonce']) ? $_POST['_wpnonce'] : '';

        if (!
wp_verify_nonce($nonceself::$settingsGroup '-options'))
        {
            return 
$capability;
        }

        
// Roles
        
global $wp_roles;

        
// Loop through available user roles
        
foreach ($wp_roles->roles as $roleSlug => $roleValues)
        {
            
// Continue when the capabilities are either not set or are no array
            
if (!is_array($roleValues) ||
                !isset(
$roleValues['capabilities']) ||
                !
is_array($roleValues['capabilities']))
            {
                continue;
            }

            
// Get role
            
$role get_role($roleSlug);

            
// Continue when role is not set
            
if ($role == null)
            {
                continue;
            }

            
// Loop through available capabilities
            
foreach (self::$capabilities as $capabilitySlug)
            {
                
// If $roleSlug is present in $_POST's capability, add the capability to the role, otherwise remove the capability from the role.
                
if ((isset($_POST[$capabilitySlug]) && is_array($_POST[$capabilitySlug]) && array_key_exists($roleSlug$_POST[$capabilitySlug])) ||
                    
$roleSlug == 'administrator')
                {
                    
$role->add_cap($capabilitySlug);
                }
                else
                {
                    
$role->remove_cap($capabilitySlug);
                }
            }
        }

        return 
$capability;
    }

    
/**
     * Saves custom styles, called by a callback from a registered custom styles setting
     *
     * @since 2.1.23
     * @param array $customStyles
     * @return array $newCustomStyles
     */
    
static function saveCustomStyles($customStyles)
    {
        
// Verify nonce
        
$nonce = isset($_POST['_wpnonce']) ? $_POST['_wpnonce'] : '';

        if (!
wp_verify_nonce($nonceself::$settingsGroup '-options'))
        {
            return 
$customStyles;
        }

        
// Remove custom styles that have been deleted
        
$oldCustomStyles get_option(self::$customStyles, array());

        if (
is_array($oldCustomStyles))
        {
            foreach (
$oldCustomStyles as $oldCustomStyleKey => $oldCustomStyleValue)
            {
                
// Delete option from database if it no longer exists
                
if (!array_key_exists($oldCustomStyleKey$customStyles))
                {
                    
delete_option($oldCustomStyleKey);
                }
            }
        }

        
// Loop through new custom styles
        
$newCustomStyles = array();

        if (
is_array($customStyles))
        {
            foreach (
$customStyles as $customStyleKey => $customStyleValue)
            {
                
// Put custom style key and name into the $newCustomStyle array
                
$newCustomStyles[$customStyleKey] = isset($customStyleValue['title']) ? $customStyleValue['title'] : __('Untitled''slideshow-plugin');

                
// Get style
                
$newStyle = isset($customStyleValue['style']) ? $customStyleValue['style'] : '';

                
// Create or update new custom style
                
$oldStyle get_option($customStyleKeyfalse);

                if (
$oldStyle)
                {
                    
// Check if style has changed
                    
if ($oldStyle !== $newStyle)
                    {
                        
update_option($customStyleKey$newStyle);
                        
update_option($customStyleKey '_version'time());
                    }
                }
                else
                {
                    
// The custom style itself shouldn't be auto-loaded, it's never used within WordPress
                    
add_option($customStyleKey$newStyle'''no');
                    
add_option($customStyleKey '_version'time());
                }
            }
        }

        
// Return
        
return $newCustomStyles;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0936 ]--