first commit
@@ -0,0 +1,5 @@
|
||||
# Joomunited Framework
|
||||
## Potential backward compatibility issues from in 1.0.3
|
||||
### Controller
|
||||
#### exit_status method has been removed
|
||||
Use existStatus method instead, parameters have not changed
|
||||
@@ -0,0 +1,21 @@
|
||||
# This is a sample build configuration for PHP.
|
||||
# Check our guides at https://confluence.atlassian.com/x/e8YWN for more examples.
|
||||
# Only use spaces to indent your .yml configuration.
|
||||
# -----
|
||||
# You can specify a custom docker image from Docker Hub as your build environment.
|
||||
image: php:7.1.1
|
||||
|
||||
pipelines:
|
||||
custom:
|
||||
phpcs: &sharedphpcs
|
||||
- step:
|
||||
name: Phpcs
|
||||
caches:
|
||||
- composer
|
||||
script:
|
||||
- apt-get update && apt-get install -y unzip
|
||||
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
- composer install
|
||||
- vendor/bin/phpcs -s .
|
||||
branches:
|
||||
'{master,development}': *sharedphpcs
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"require-dev": {
|
||||
"squizlabs/php_codesniffer": "^3.2",
|
||||
"wimg/php-compatibility": "*",
|
||||
"wp-coding-standards/wpcs": "*"
|
||||
},
|
||||
"prefer-stable": true
|
||||
}
|
||||
161
wp-content/plugins/wp-smart-editor/extensions/framework/composer.lock
generated
Normal file
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "c45f1d1b0944b1c1364cacfa0c25a5d9",
|
||||
"packages": [],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "squizlabs/php_codesniffer",
|
||||
"version": "3.2.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
||||
"reference": "4842476c434e375f9d3182ff7b89059583aa8b27"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/4842476c434e375f9d3182ff7b89059583aa8b27",
|
||||
"reference": "4842476c434e375f9d3182ff7b89059583aa8b27",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-simplexml": "*",
|
||||
"ext-tokenizer": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
|
||||
},
|
||||
"bin": [
|
||||
"bin/phpcs",
|
||||
"bin/phpcbf"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.x-dev"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Greg Sherwood",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
||||
"homepage": "http://www.squizlabs.com/php-codesniffer",
|
||||
"keywords": [
|
||||
"phpcs",
|
||||
"standards"
|
||||
],
|
||||
"time": "2018-02-20T21:35:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "wimg/php-compatibility",
|
||||
"version": "8.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/wimg/PHPCompatibility.git",
|
||||
"reference": "4ac01e4fe8faaa4f8d3b3cd06ea92e5418ce472e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/wimg/PHPCompatibility/zipball/4ac01e4fe8faaa4f8d3b3cd06ea92e5418ce472e",
|
||||
"reference": "4ac01e4fe8faaa4f8d3b3cd06ea92e5418ce472e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3",
|
||||
"squizlabs/php_codesniffer": "^2.2 || ^3.0.2"
|
||||
},
|
||||
"conflict": {
|
||||
"squizlabs/php_codesniffer": "2.6.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0"
|
||||
},
|
||||
"suggest": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
|
||||
},
|
||||
"type": "phpcodesniffer-standard",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PHPCompatibility\\": "PHPCompatibility/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-3.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Wim Godden",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility.",
|
||||
"homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"phpcs",
|
||||
"standards"
|
||||
],
|
||||
"time": "2017-12-27T21:58:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "wp-coding-standards/wpcs",
|
||||
"version": "0.14.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
|
||||
"reference": "cf6b310caad735816caef7573295f8a534374706"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/cf6b310caad735816caef7573295f8a534374706",
|
||||
"reference": "cf6b310caad735816caef7573295f8a534374706",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3",
|
||||
"squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
|
||||
},
|
||||
"suggest": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
|
||||
},
|
||||
"type": "phpcodesniffer-standard",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Contributors",
|
||||
"homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
|
||||
"keywords": [
|
||||
"phpcs",
|
||||
"standards",
|
||||
"wordpress"
|
||||
],
|
||||
"time": "2018-02-16T01:57:48+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": true,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": []
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/*
|
||||
JUPlugin Name: Joomunited WP Framework
|
||||
Description: WP Framework for Joomunited extensions
|
||||
Author: Joomunited
|
||||
Version: 1.0.4
|
||||
Author URI: http://www.joomunited.com
|
||||
*/
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
// Prevent from loading julibraries twice
|
||||
if (!defined('JU_LIBRARY_V1_0_4')) {
|
||||
/**
|
||||
* Julibrary autoloader method
|
||||
*
|
||||
* @param string $className Class name that should be loaded
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function juLibrariesAutoload_v1_0_4($className)
|
||||
{
|
||||
$className = ltrim($className, '\\');
|
||||
|
||||
//Return if it's not a Joomunited's class
|
||||
if (strpos($className, 'Joomunited') !== 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
//Change Joomunited to the mu-plugin junited-libraries directory
|
||||
$fileName = '';
|
||||
|
||||
$lastNsPos = strripos($className, '\\');
|
||||
if ($lastNsPos) {
|
||||
$namespace = substr($className, 0, $lastNsPos);
|
||||
$className = substr($className, $lastNsPos + 1);
|
||||
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
|
||||
}
|
||||
$fileName = 'ju-libraries' . substr($fileName, 10);
|
||||
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
|
||||
|
||||
if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . $fileName)) {
|
||||
require dirname(__FILE__) . DIRECTORY_SEPARATOR . $fileName;
|
||||
}
|
||||
}
|
||||
|
||||
spl_autoload_register('juLibrariesAutoload_v1_0_4');
|
||||
|
||||
define('JU_LIBRARY_V1_0_4', true);
|
||||
}
|
||||
@@ -0,0 +1,288 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Application
|
||||
*/
|
||||
class Application
|
||||
{
|
||||
|
||||
/**
|
||||
* Type of application, could be site or admin
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $type = 'site';
|
||||
|
||||
/**
|
||||
* Default controller task
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $default_task = 'display';
|
||||
|
||||
/**
|
||||
* Generated instances of application
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $instances = array();
|
||||
|
||||
/**
|
||||
* Database object
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $dbo;
|
||||
|
||||
/**
|
||||
* Application instance name
|
||||
* Generally the slug of the plugin using the framework
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* Path of the plugin using the framework
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $path = '';
|
||||
|
||||
/**
|
||||
* Plugin url
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $url = '';
|
||||
|
||||
/**
|
||||
* Is the application already initialized
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $isinit = false;
|
||||
|
||||
/**
|
||||
* Which last plugin did use the framework
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected static $lastUse = '';
|
||||
|
||||
/**
|
||||
* Retrieve the application instance
|
||||
*
|
||||
* @param string $name Slug of plugin which requires the instance
|
||||
* @param string $path Path of the plugin
|
||||
* @param string $type Admin or Site application
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getInstance($name = null, $path = __FILE__, $type = null)
|
||||
{
|
||||
if ($name === null) {
|
||||
$name = self::$lastUse;
|
||||
}
|
||||
if (!array_key_exists($name, self::$instances)) {
|
||||
self::$instances[$name] = new Application();
|
||||
self::$instances[$name]->name = $name;
|
||||
self::$instances[$name]->path = plugin_dir_path($path);
|
||||
self::$instances[$name]->url = plugins_url('', $path);
|
||||
|
||||
if ($type !== null) {
|
||||
self::$instances[$name]->type = $type;
|
||||
} elseif (is_admin()) {
|
||||
if (defined('DOING_AJAX')) {
|
||||
if (Utilities::getInput('juwpfisadmin', 'GET', 'string')) {
|
||||
self::$instances[$name]->type = 'site';
|
||||
} else {
|
||||
self::$instances[$name]->type = 'admin';
|
||||
}
|
||||
} else {
|
||||
self::$instances[$name]->type = 'admin';
|
||||
}
|
||||
} else {
|
||||
self::$instances[$name]->type = 'site';
|
||||
}
|
||||
}
|
||||
self::$lastUse = $name;
|
||||
return self::$instances[$name];
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the application
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function init()
|
||||
{
|
||||
if ($this->isinit === true) {
|
||||
return;
|
||||
}
|
||||
//call app init file
|
||||
$file = $this->getPath() . DIRECTORY_SEPARATOR . $this->getType() . DIRECTORY_SEPARATOR . 'init.php';
|
||||
if (file_exists($file)) {
|
||||
include($file);
|
||||
}
|
||||
//call filters
|
||||
$file = $this->getPath() . DIRECTORY_SEPARATOR . $this->getType() . DIRECTORY_SEPARATOR . 'filters.php';
|
||||
if (file_exists($file)) {
|
||||
include($file);
|
||||
$class = $this->getName() . 'Filter';
|
||||
if (method_exists($class, 'load')) {
|
||||
$filter = new $class();
|
||||
$filter->load();
|
||||
}
|
||||
}
|
||||
$this->isinit = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the plugin using the application
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get path of the plugin using the application
|
||||
*
|
||||
* @param boolean $rel Retrieve relative path or full path
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getPath($rel = false)
|
||||
{
|
||||
if ($rel) {
|
||||
return str_replace(WP_PLUGIN_DIR . DIRECTORY_SEPARATOR, '', $this->path . 'app');
|
||||
} else {
|
||||
return $this->path . DIRECTORY_SEPARATOR . 'app';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Execute a task
|
||||
*
|
||||
* @param null $default_task Default task
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function execute($default_task = null)
|
||||
{
|
||||
|
||||
$task = Utilities::getInput('task');
|
||||
|
||||
if (empty($task) && $default_task !== null) {
|
||||
$task = $default_task;
|
||||
} else {
|
||||
$task = strtolower($task);
|
||||
}
|
||||
$task = strtolower($task);
|
||||
$split = explode('.', $task);
|
||||
|
||||
$controllerName = $split[0];
|
||||
$taskName = count($split) > 1 ? $split[1] : '';
|
||||
|
||||
$fileController = Factory::getApplication()->getPath() . DIRECTORY_SEPARATOR . $this->type . DIRECTORY_SEPARATOR . 'controllers' . DIRECTORY_SEPARATOR . $controllerName . '.php';
|
||||
|
||||
if (!file_exists($fileController)) {
|
||||
Error::raiseError('404', 'Controller not found');
|
||||
}
|
||||
include_once $fileController;
|
||||
|
||||
$controllerClass = strtolower(Factory::getApplication()->getName()) . 'Controller' . ucfirst($controllerName);
|
||||
$controller = new $controllerClass();
|
||||
|
||||
if (method_exists($controller, $taskName)) {
|
||||
$controller->$taskName();
|
||||
} elseif (property_exists($controller, 'default_task') && method_exists($controller, $controller->default_task)) {
|
||||
$defaultTask = $controller->default_task;
|
||||
$controller->$defaultTask();
|
||||
} else {
|
||||
Error::raiseError('404', 'Task not found');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the application an admin one
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isAdmin()
|
||||
{
|
||||
return $this->type === 'admin';
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the application a site one
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isSite()
|
||||
{
|
||||
return $this->type === 'site';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get type of application
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getType()
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this an ajax query
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isAjax()
|
||||
{
|
||||
if (DOING_AJAX === true) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ajax url
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAjaxUrl()
|
||||
{
|
||||
if ($this->isAdmin()) {
|
||||
return admin_url('admin-ajax.php?action=' . $this->getName() . '&');
|
||||
} else {
|
||||
return admin_url('admin-ajax.php?juwpfisadmin=false&action=' . $this->getName() . '&');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the base url for the plugin
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getBaseUrl()
|
||||
{
|
||||
return $this->url;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Controller
|
||||
*/
|
||||
class Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Default controller task
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $default_task = 'display';
|
||||
|
||||
/**
|
||||
* Render a view
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function display()
|
||||
{
|
||||
$view = $this->loadView();
|
||||
$view->render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load view content
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function loadView()
|
||||
{
|
||||
$viewname = Utilities::getInput('view');
|
||||
if (empty($viewname)) {
|
||||
$viewname = get_class($this);
|
||||
$viewname = strtolower(str_replace(Factory::getApplication()->getName() . 'Controller', '', $viewname));
|
||||
}
|
||||
$viewname = preg_replace('/[^A-Z0-9_-]/i', '', $viewname);
|
||||
$filepath = Factory::getApplication()->getPath() . DIRECTORY_SEPARATOR . Factory::getApplication()->getType() . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . $viewname . DIRECTORY_SEPARATOR;
|
||||
|
||||
if (file_exists($filepath . 'view.php')) {
|
||||
require_once $filepath . 'view.php';
|
||||
} else {
|
||||
Error::raiseError('404', 'View file not found');
|
||||
}
|
||||
|
||||
$class = Factory::getApplication()->getname() . 'View' . ucfirst($viewname);
|
||||
$view = new $class();
|
||||
$view->setPath($filepath);
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the model
|
||||
*
|
||||
* @param string $modelname Model name
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function getModel($modelname = null)
|
||||
{
|
||||
|
||||
if (empty($modelname)) {
|
||||
$modelname = get_class($this);
|
||||
$modelname = str_replace(Factory::getApplication()->getName() . 'Controller', '', $modelname);
|
||||
}
|
||||
$modelname = preg_replace('/[^A-Z0-9_-]/i', '', $modelname);
|
||||
$filepath = Factory::getApplication()->getPath() . DIRECTORY_SEPARATOR . Factory::getApplication()->getType() . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . strtolower($modelname) . '.php';
|
||||
if (!file_exists($filepath)) {
|
||||
return false;
|
||||
}
|
||||
include_once $filepath;
|
||||
$class = Factory::getApplication()->getName() . 'Model' . $modelname;
|
||||
$model = new $class();
|
||||
return $model;
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirect to an url
|
||||
*
|
||||
* @param string $location Location to redirect to
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function redirect($location)
|
||||
{
|
||||
if (!headers_sent()) {
|
||||
wp_safe_redirect($location, 303);
|
||||
} else {
|
||||
echo '<script>document.location.href="' . esc_url($location, null, '') . '";</script>\n';
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Exit a request serving a json result
|
||||
*
|
||||
* @param string $status Exit status
|
||||
* @param array $datas Echoed datas
|
||||
*
|
||||
* @since 1.0.3
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function exitStatus($status = '', $datas = array())
|
||||
{
|
||||
$response = array('response' => $status, 'datas' => $datas);
|
||||
echo json_encode($response);
|
||||
die();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Document
|
||||
*/
|
||||
class Document
|
||||
{
|
||||
|
||||
/**
|
||||
* Document class instance
|
||||
*
|
||||
* @var Document
|
||||
*/
|
||||
protected static $instance;
|
||||
|
||||
/**
|
||||
* Get Document instance
|
||||
*
|
||||
* @return Document
|
||||
*/
|
||||
public static function getInstance()
|
||||
{
|
||||
if (!self::$instance) {
|
||||
self::$instance = new Document();
|
||||
}
|
||||
return self::$instance;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Error
|
||||
*/
|
||||
class Error
|
||||
{
|
||||
|
||||
/**
|
||||
* Raise an error
|
||||
*
|
||||
* @param string $type Error code
|
||||
* @param string $message Error message
|
||||
* @param string $title Error title
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function raiseError($type = '404', $message = 'An error occurs', $title = 'Error')
|
||||
{
|
||||
wp_die(esc_html($message), esc_html($title), array('response' => esc_html($type)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Factory
|
||||
*/
|
||||
class Factory
|
||||
{
|
||||
|
||||
/**
|
||||
* Application reference
|
||||
*
|
||||
* @var Application
|
||||
*/
|
||||
protected static $application;
|
||||
|
||||
/**
|
||||
* Document reference
|
||||
*
|
||||
* @var Document
|
||||
*/
|
||||
protected static $document;
|
||||
|
||||
/**
|
||||
* Get application instance
|
||||
*
|
||||
* @return Application
|
||||
*/
|
||||
public static function getApplication()
|
||||
{
|
||||
return Application::getInstance();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Field
|
||||
*
|
||||
* phpcs:disable WordPress.CSRF.NonceVerification -- Nonce verification is made in the Form::validate method
|
||||
*/
|
||||
class Field
|
||||
{
|
||||
|
||||
/**
|
||||
* Render <input> tag
|
||||
*
|
||||
* @param array $field Field to render
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getfield($field)
|
||||
{
|
||||
$attributes = $field['@attributes'];
|
||||
$html = '';
|
||||
if (!empty($attributes['type']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '<div class="control-group">';
|
||||
if (!empty($attributes['label']) && $attributes['label'] !== '' && !empty($attributes['name']) && $attributes['name'] !== '') {
|
||||
// phpcs:ignore WordPress.WP.I18n -- Allow non literal arg
|
||||
$html .= '<label class="control-label" for="' . $attributes['name'] . '">' . __($attributes['label'], Factory::getApplication()->getName()) . '</label>';
|
||||
}
|
||||
$html .= '<div class="controls">';
|
||||
}
|
||||
if (empty($attributes['hidden']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '<input';
|
||||
} else {
|
||||
$html .= '<hidden';
|
||||
}
|
||||
|
||||
if (!empty($attributes)) {
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
if (in_array($attribute, array('type', 'id', 'class', 'placeholder', 'name', 'value')) && isset($value)) {
|
||||
$html .= ' ' . $attribute . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
}
|
||||
$html .= ' />';
|
||||
if (!empty($attributes['help']) && $attributes['help'] !== '') {
|
||||
$html .= '<p class="help-block">' . $attributes['help'] . '</p>';
|
||||
}
|
||||
if (!empty($attributes['type']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '</div></div>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate a field content
|
||||
*
|
||||
* @param array $field Field content
|
||||
*
|
||||
* @return boolean|false|integer
|
||||
*/
|
||||
public function validate($field)
|
||||
{
|
||||
if (!empty($field['name'])) {
|
||||
if (isset($_POST[$field['name']])) {
|
||||
$value = $_POST[$field['name']];
|
||||
} elseif (isset($_GET[$field['name']])) {
|
||||
$value = $_GET[$field['name']];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($field['required']) && $field['required'] === 'true') {
|
||||
if (trim($value) === '') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($this->validate)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (empty($value) && isset($field['required']) && $field['required'] === 'true') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return preg_match($this->validate, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sanitize a field content
|
||||
*
|
||||
* @param array $field Field content
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function sanitize($field)
|
||||
{
|
||||
$value = null;
|
||||
if (isset($_POST[$field['name']])) {
|
||||
$value = $_POST[$field['name']];
|
||||
} elseif (isset($_GET[$field['name']])) {
|
||||
$value = $_GET[$field['name']];
|
||||
}
|
||||
return filter_var($value, FILTER_SANITIZE_STRING);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
use Joomunited\WPFramework\v1_0_4\Factory;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Button
|
||||
*/
|
||||
class Button extends Field
|
||||
{
|
||||
|
||||
/**
|
||||
* Get the field
|
||||
*
|
||||
* @param array $field Field attributes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getfield($field)
|
||||
{
|
||||
$attributes = $field['@attributes'];
|
||||
$html = '<div class="control-group">';
|
||||
$html .= '<button';
|
||||
$content = '';
|
||||
if (!empty($attributes)) {
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
if (in_array($attribute, array('id', 'class', 'name', 'value', 'type')) && !empty($value)) {
|
||||
if ($attribute === 'value') {
|
||||
$content = __($value, Factory::getApplication()->getName());
|
||||
continue;
|
||||
}
|
||||
$html .= ' ' . $attribute . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
}
|
||||
$html .= '>' . $content . '</button>';
|
||||
$html .= '</div>';
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
use \Joomunited\WPFramework\v1_0_4\Application;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Checkbox
|
||||
*/
|
||||
class Checkbox extends Field
|
||||
{
|
||||
/**
|
||||
* Get the field
|
||||
*
|
||||
* @param array $field Field attributes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getfield($field)
|
||||
{
|
||||
$attributes = $field['@attributes'];
|
||||
$html = '';
|
||||
if ($attributes['hidden'] !== 'true') {
|
||||
$html .= '<div class="control-group">';
|
||||
if (!empty($attributes['label']) && $attributes['label'] !== '' && !empty($attributes['name']) && $attributes['name'] !== '') {
|
||||
$html .= '<label class="control-label" for="' . esc_attr($attributes['name']) . '">' . __($attributes['label'], Factory::getApplication()->getName()) . '</label>';
|
||||
}
|
||||
$html .= '<div class="controls">';
|
||||
}
|
||||
$cleanfield = $field;
|
||||
unset($cleanfield['@attributes']);
|
||||
if (!empty($cleanfield[0])) {
|
||||
foreach ($cleanfield[0] as $child) {
|
||||
if (!empty($child['option']['@attributes'])) {
|
||||
$html .= '<input type="checkbox" ';
|
||||
foreach ($child['option']['@attributes'] as $childAttribute => $childValue) {
|
||||
if (in_array($childAttribute, array('id', 'class', 'name', 'onchange', 'value')) && isset($childValue)) {
|
||||
$html .= ' ' . $childAttribute . '="' . $childValue . '"';
|
||||
if ($childAttribute === 'value' && isset($attributes['value']) && $attributes['value'] === $childValue) {
|
||||
$html .= ' selected="selected"';
|
||||
}
|
||||
}
|
||||
}
|
||||
$html .= '>';
|
||||
$html .= __($child['option'][0], strtolower(Application::getInstance()->getName()));
|
||||
$html .= '<br/>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$html .= '</select>';
|
||||
if (!empty($attributes['help']) && $attributes['help'] !== '') {
|
||||
$html .= '<p class="help-block">' . $attributes['help'] . '</p>';
|
||||
}
|
||||
if (!empty($attributes['type']) && $attributes['hidden'] !== 'true') {
|
||||
$html .= '</div></div>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Input
|
||||
*/
|
||||
class Input extends Field
|
||||
{
|
||||
|
||||
/**
|
||||
* Sanitize input value
|
||||
*
|
||||
* @param mixed $value Value to sanitize
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function sanitize($value)
|
||||
{
|
||||
return filter_var($value, FILTER_SANITIZE_STRING);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
use Joomunited\WPFramework\v1_0_4\Factory;
|
||||
use Joomunited\WPFramework\v1_0_4\Application;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Select
|
||||
*/
|
||||
class Select extends Field
|
||||
{
|
||||
|
||||
/**
|
||||
* Get the field
|
||||
*
|
||||
* @param array $field Field attributes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getfield($field)
|
||||
{
|
||||
$attributes = $field['@attributes'];
|
||||
$html = '';
|
||||
if (empty($attributes['hidden']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '<div class="control-group">';
|
||||
if (!empty($attributes['label']) && $attributes['label'] !== '' && !empty($attributes['name']) && $attributes['name'] !== '') {
|
||||
$html .= '<label class="control-label" for="' . esc_attr($attributes['name']) . '">' . __($attributes['label'], Factory::getApplication()->getName()) . '</label>';
|
||||
}
|
||||
$html .= '<div class="controls">';
|
||||
}
|
||||
$html .= '<select';
|
||||
if (!empty($attributes)) {
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
if (in_array($attribute, array('id', 'class', 'onchange', 'name')) && isset($value)) {
|
||||
$html .= ' ' . $attribute . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
}
|
||||
$html .= ' >';
|
||||
|
||||
$cleanfield = $field;
|
||||
unset($cleanfield['@attributes']);
|
||||
if (!empty($cleanfield[0])) {
|
||||
foreach ($cleanfield[0] as $child) {
|
||||
if (!empty($child['option']['@attributes'])) {
|
||||
$html .= '<option ';
|
||||
foreach ($child['option']['@attributes'] as $childAttribute => $childValue) {
|
||||
if (in_array($childAttribute, array('type', 'id', 'class', 'name', 'onchange', 'value')) && isset($childValue)) {
|
||||
$html .= ' ' . $childAttribute . '="' . $childValue . '"';
|
||||
if ($childAttribute === 'value' && isset($attributes['value']) && $attributes['value'] === $childValue) {
|
||||
$html .= ' selected="selected"';
|
||||
}
|
||||
}
|
||||
}
|
||||
$html .= '>';
|
||||
$html .= __($child['option'][0], strtolower(Application::getInstance()->getName()));
|
||||
$html .= '</option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$html .= '</select>';
|
||||
if (!empty($attributes['help']) && $attributes['help'] !== '') {
|
||||
$html .= '<p class="help-block">' . $attributes['help'] . '</p>';
|
||||
}
|
||||
if (!empty($attributes['type']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '</div></div>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Submit
|
||||
*/
|
||||
class Submit extends Button
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Text
|
||||
*/
|
||||
class Text extends Field
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
use Joomunited\WPFramework\v1_0_4\Factory;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Textarea
|
||||
*/
|
||||
class Textarea extends Field
|
||||
{
|
||||
|
||||
/**
|
||||
* Get the field
|
||||
*
|
||||
* @param array $field Field attributes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getfield($field)
|
||||
{
|
||||
$attributes = $field['@attributes'];
|
||||
$html = '';
|
||||
if (!empty($attributes['type']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '<div class="control-group">';
|
||||
if (!empty($attributes['label']) && $attributes['label'] !== '' && !empty($attributes['name']) && $attributes['name'] !== '') {
|
||||
$html .= '<label class="control-label" for="' . esc_attr($attributes['name']) . '">' . __($attributes['label'], Factory::getApplication()->getName()) . '</label>';
|
||||
}
|
||||
$html .= '<div class="controls">';
|
||||
}
|
||||
|
||||
$html .= '<textarea ';
|
||||
if (!empty($attributes)) {
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
if (in_array($attribute, array('id', 'class', 'placeholder', 'name', 'rows', 'cols')) && isset($value)) {
|
||||
$html .= ' ' . $attribute . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
}
|
||||
$html .= ' >';
|
||||
if (!empty($attributes['value'])) {
|
||||
$html .= $attributes['value'];
|
||||
}
|
||||
$html .= ' </textarea>';
|
||||
if (!empty($attributes['help']) && $attributes['help'] !== '') {
|
||||
$html .= '<p class="help-block">' . $attributes['help'] . '</p>';
|
||||
}
|
||||
if (!empty($attributes['type']) || (!empty($attributes['hidden']) && $attributes['hidden'] !== 'true')) {
|
||||
$html .= '</div></div>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Field;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Typeint
|
||||
* phpcs:disable WordPress.CSRF.NonceVerification -- Nonce verification is made in the Form::validate method
|
||||
*/
|
||||
class Typeint extends Field
|
||||
{
|
||||
|
||||
/**
|
||||
* Validation regex
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $validate = '/[0-9]+/';
|
||||
|
||||
/**
|
||||
* Get the field
|
||||
*
|
||||
* @param array $field Field attributes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getfield($field)
|
||||
{
|
||||
$attributes = &$field['@attributes'];
|
||||
$attributes['value'] = (int)$attributes['value'];
|
||||
$attributes['type'] = 'text';
|
||||
return parent::getfield($field);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sanitize a value
|
||||
*
|
||||
* @param array $field Field attributes to sanitize
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function sanitize($field)
|
||||
{
|
||||
$value = null;
|
||||
if (!empty($_POST[$field['name']])) {
|
||||
$value = $_POST[$field['name']];
|
||||
} elseif (!empty($_GET[$field['name']])) {
|
||||
$value = $_GET[$field['name']];
|
||||
}
|
||||
return (int)$value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Filesystem
|
||||
*/
|
||||
class Filesystem
|
||||
{
|
||||
|
||||
/**
|
||||
* Remove recursively a directory
|
||||
*
|
||||
* @param string $directory Directory path to remove
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function rmdir($directory)
|
||||
{
|
||||
foreach (glob('$directory/{,.}*', GLOB_BRACE) as $file) {
|
||||
$filename = explode('/', $file);
|
||||
$filename = $filename[count($filename) - 1];
|
||||
if ($filename !== '.' && $filename !== '..') {
|
||||
if (is_dir($file)) {
|
||||
self::rmdir($file);
|
||||
} else {
|
||||
if (file_exists($file)) {
|
||||
unlink($file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (file_exists($directory)) {
|
||||
rmdir($directory);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Filter
|
||||
*/
|
||||
class Filter
|
||||
{
|
||||
|
||||
/**
|
||||
* Get a model
|
||||
*
|
||||
* @param string $modelname Model name
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function getModel($modelname)
|
||||
{
|
||||
$modelname = preg_replace('/[^A-Z0-9_-]/i', '', $modelname);
|
||||
$filepath = Factory::getApplication()->getPath() . DIRECTORY_SEPARATOR . Factory::getApplication()->getType() . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . strtolower($modelname) . '.php';
|
||||
if (!file_exists($filepath)) {
|
||||
return false;
|
||||
}
|
||||
include_once $filepath;
|
||||
$class = Factory::getApplication()->getName() . 'Model' . $modelname;
|
||||
$model = new $class();
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,345 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
use Joomunited\WPFramework\v1_0_4\Fields;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
|
||||
/**
|
||||
* HTML5 Form class with support of xml form config files
|
||||
*/
|
||||
class Form
|
||||
{
|
||||
/**
|
||||
* Form attributes
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $form;
|
||||
|
||||
/**
|
||||
* Final form generated content
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $content = '';
|
||||
|
||||
/**
|
||||
* Form datas
|
||||
*
|
||||
* @var array|null
|
||||
*/
|
||||
private $datas = null;
|
||||
|
||||
/**
|
||||
* List of errors
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $errors = array();
|
||||
|
||||
/**
|
||||
* Nonce action
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $nonce_action = 'joomunited_save_form';
|
||||
|
||||
/**
|
||||
* Nonce name
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $nonce_name = 'joomunited_nonce_field';
|
||||
|
||||
/**
|
||||
* Load an xml form file
|
||||
*
|
||||
* @param string $form Xml file to load without path and extension
|
||||
* @param array $datas Datas to pass to the forms
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function load($form, $datas = null)
|
||||
{
|
||||
$this->datas = $datas;
|
||||
|
||||
if (file_exists($form)) {
|
||||
$file = $form;
|
||||
} else {
|
||||
$form = preg_replace('/[^A-Z0-9_-]/i', '', $form);
|
||||
$file = Factory::getApplication()->getPath() . DIRECTORY_SEPARATOR . Factory::getApplication()->getType() . DIRECTORY_SEPARATOR . 'forms' . DIRECTORY_SEPARATOR . $form . '.xml';
|
||||
}
|
||||
|
||||
if (!file_exists($file)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$xml_content = file_get_contents($file);
|
||||
$sxi = new \SimpleXmlIterator($xml_content);
|
||||
$this->form = self::loadChildrenRecusirve($sxi);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load an xml object and convert it to recursive array
|
||||
*
|
||||
* @param \SimpleXMLIterator $sxi Iterator
|
||||
* @param boolean $recursloop Recur
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function loadChildrenRecusirve($sxi, $recursloop = false)
|
||||
{
|
||||
$a = array();
|
||||
if ($recursloop === false) {
|
||||
$a = (array)$sxi->attributes();
|
||||
}
|
||||
|
||||
// phpcs:ignore Generic.CodeAnalysis.ForLoopWithTestFunctionCall -- Keep this for readability
|
||||
for ($sxi->rewind(); $sxi->valid(); $sxi->next()) {
|
||||
$acnt = (array)$sxi->current()->attributes();
|
||||
if ($sxi->hasChildren()) {
|
||||
$acnt[] = self::loadChildrenRecusirve($sxi->current(), true);
|
||||
} else {
|
||||
$val = strval($sxi->current());
|
||||
if ($val) {
|
||||
$acnt[] = strval($sxi->current());
|
||||
}
|
||||
}
|
||||
$a[][$sxi->key()] = $acnt;
|
||||
}
|
||||
return $a;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render a form to html
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
$this->content = $this->start($this->form['@attributes']);
|
||||
$this->content .= wp_nonce_field($this->nonce_action, $this->nonce_name, true, false);
|
||||
$this->content .= $this->contentRender($this->form);
|
||||
$this->content .= $this->close();
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the content of the form whitout the forms tags
|
||||
*
|
||||
* @param array $fields An array with the form fields
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function contentRender($fields)
|
||||
{
|
||||
$content = '';
|
||||
|
||||
foreach ($fields as $key => $value) {
|
||||
if ($key !== '@attributes') {
|
||||
$field = array_keys($value);
|
||||
if ($field[0] === 'fieldset') {
|
||||
$content .= $this->fieldset($value);
|
||||
} else {
|
||||
$content .= $this->input($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render an input type
|
||||
*
|
||||
* @param array $input Input array with the input to render
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function input($input)
|
||||
{
|
||||
$field = array_keys($input);
|
||||
|
||||
if (!empty($input[${'field'}[0]]['@attributes']['type'])) {
|
||||
$class = ucfirst($input[${'field'}[0]]['@attributes']['type']);
|
||||
} else {
|
||||
$class = ucfirst($field[0]);
|
||||
}
|
||||
if (isset($this->datas) && !empty($input[${'field'}[0]]['@attributes']['name']) && isset($this->datas[$input[${'field'}[0]]['@attributes']['name']])) {
|
||||
$input[${'field'}[0]]['@attributes']['value'] = $this->datas[$input[${'field'}[0]]['@attributes']['name']];
|
||||
}
|
||||
if (!empty($input[${'field'}[0]]['@attributes']['namespace'])) {
|
||||
$class = $input[${'field'}[0]]['@attributes']['namespace'] . $class;
|
||||
} else {
|
||||
$class = '\Joomunited\WPFramework\v1_0_4\Fields\\' . $class;
|
||||
}
|
||||
if (class_exists($class, true)) {
|
||||
$c = new $class;
|
||||
return $c->getfield($input[$field[0]]);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Render a fieldset
|
||||
*
|
||||
* @param array $input Array with the input to render
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fieldset($input)
|
||||
{
|
||||
$content = self::contentRender($input['fieldset']);
|
||||
return $this->fieldsetField($input['fieldset']['@attributes'], $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render <form> opening tag
|
||||
* Attributes are action method id class enctype
|
||||
*
|
||||
* @param array $attributes List of form attributes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function start(array $attributes = array())
|
||||
{
|
||||
$html = '<form';
|
||||
if (!empty($attributes)) {
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
if (in_array($attribute, array('action', 'method', 'id', 'class', 'enctype')) && !empty($value)) {
|
||||
// assign default value to 'method' attribute
|
||||
if ($attribute === 'method' && ($value !== 'post' || $value !== 'get')) {
|
||||
$value = 'post';
|
||||
}
|
||||
$html .= ' ' . $attribute . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
}
|
||||
return $html . '>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Render a fieldset field
|
||||
*
|
||||
* @param array $attributes The attributes of the fieldset
|
||||
* @param string $contentbase The content of the fieldset
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function fieldsetField(array $attributes, $contentbase)
|
||||
{
|
||||
$html = '<fieldset';
|
||||
$content = '';
|
||||
if (!empty($attributes)) {
|
||||
foreach ($attributes as $attribute => $value) {
|
||||
if (in_array($attribute, array('id', 'class', 'name', 'legend')) && !empty($value)) {
|
||||
if ($attribute === 'legend') {
|
||||
$content = '<legend>' . $value . '</legend>';
|
||||
continue;
|
||||
}
|
||||
$html .= ' ' . $attribute . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
}
|
||||
return $html . '>' . $content . $contentbase . '</fieldset>';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Render </form> closing tag
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function close()
|
||||
{
|
||||
return '</form>';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Validate form datas
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function validate()
|
||||
{
|
||||
if (empty($_REQUEST[$this->nonce_name]) || !wp_verify_nonce($_REQUEST[$this->nonce_name], $this->nonce_action)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($this->form as $key => $value) {
|
||||
if ($key !== '@attributes') {
|
||||
$field = array_keys($value);
|
||||
if ($field !== 'fieldset') {
|
||||
$field = array_keys($value);
|
||||
if (!empty($value[${'field'}[0]]['@attributes']['type'])) {
|
||||
$class = ucfirst($value[${'field'}[0]]['@attributes']['type']);
|
||||
} else {
|
||||
$class = ucfirst('Field' . $field[0]);
|
||||
}
|
||||
if (!empty($value[${'field'}[0]]['@attributes']['namespace'])) {
|
||||
$class = $value[${'field'}[0]]['@attributes']['namespace'] . $class;
|
||||
} else {
|
||||
$class = '\Joomunited\WPFramework\v1_0_4\Fields\\' . $class;
|
||||
}
|
||||
if (class_exists($class)) {
|
||||
$c = new $class;
|
||||
if ($c->validate($value[$field[0]]['@attributes']) === false) {
|
||||
$this->errors[] = $value[$field[0]]['@attributes']['name'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!empty($this->errors)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sanitize form datas
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function sanitize()
|
||||
{
|
||||
foreach ($this->form as $key => $value) {
|
||||
if ($key !== '@attributes') {
|
||||
$field = array_keys($value);
|
||||
if (!empty($value[${'field'}[0]]['@attributes']['name'])) {
|
||||
$field = array_keys($value);
|
||||
if (!empty($value[${'field'}[0]]['@attributes']['type'])) {
|
||||
$class = ucfirst($value[${'field'}[0]]['@attributes']['type']);
|
||||
} else {
|
||||
$class = ucfirst('Field' . $field[0]);
|
||||
}
|
||||
if (!empty($value[${'field'}[0]]['@attributes']['namespace'])) {
|
||||
$class = $value[${'field'}[0]]['@attributes']['namespace'] . $class;
|
||||
} else {
|
||||
$class = '\Joomunited\WPFramework\v1_0_4\Fields\\' . $class;
|
||||
}
|
||||
if (class_exists($class)) {
|
||||
$c = new $class;
|
||||
$this->datas[$value[$field[0]]['@attributes']['name']] = $c->sanitize($value[$field[0]]['@attributes']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this->datas;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Installer
|
||||
*/
|
||||
class Installer
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Model
|
||||
*/
|
||||
class Model
|
||||
{
|
||||
|
||||
/**
|
||||
* Database reference
|
||||
*
|
||||
* @var \wpdb
|
||||
*/
|
||||
protected $db;
|
||||
|
||||
/**
|
||||
* Model constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
global $wpdb;
|
||||
$this->db = &$wpdb;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get class instance
|
||||
*
|
||||
* @param string $name Name of the model
|
||||
* @param null $type Site or admin model
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function getInstance($name = '', $type = null)
|
||||
{
|
||||
$app = Application::getInstance();
|
||||
|
||||
$name = preg_replace('/[^A-Z0-9_\.-]/i', '', $name);
|
||||
if ($type === null) {
|
||||
$type = $app->getType();
|
||||
} elseif ($type !== 'admin' || $type !== 'site') {
|
||||
return false;
|
||||
}
|
||||
|
||||
$className = $app->getName() . 'Model' . ucfirst(strtolower($name));
|
||||
$classFile = $app->getPath() . DIRECTORY_SEPARATOR . $type . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . strtolower($name) . '.php';
|
||||
if (!file_exists($classFile)) {
|
||||
return false;
|
||||
}
|
||||
require_once $classFile;
|
||||
if (class_exists($className)) {
|
||||
return new $className();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get database prefix
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getPrefix()
|
||||
{
|
||||
return $this->db->prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a row in table
|
||||
*
|
||||
* @param string $table Table name
|
||||
* @param array $data Datas to update
|
||||
* @param array $where Where clause
|
||||
* @param array|string $format An array of formats to be mapped to each of the values in $data.
|
||||
* @param array|string $where_format An array of formats to be mapped to each of the values in $where.
|
||||
*
|
||||
* @return false|integer
|
||||
*/
|
||||
public function update($table, $data, $where, $format = null, $where_format = null)
|
||||
{
|
||||
return $this->db->update($table, $data, $where, $format, $where_format);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class Utilities
|
||||
*
|
||||
* phpcs:disable WordPress.CSRF.NonceVerification -- Nonce verification is made in the Form::validate method
|
||||
*/
|
||||
class Utilities
|
||||
{
|
||||
|
||||
/**
|
||||
* Get a http variable
|
||||
*
|
||||
* @param string $name Name of the variable
|
||||
* @param string $type Request type
|
||||
* @param string $filter Type of filter to apply on the request
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public static function getInput($name, $type = 'GET', $filter = 'cmd')
|
||||
{
|
||||
$input = null;
|
||||
switch (strtoupper($type)) {
|
||||
case 'GET':
|
||||
if (isset($_GET[$name])) {
|
||||
$input = $_GET[$name];
|
||||
}
|
||||
break;
|
||||
case 'POST':
|
||||
if (isset($_POST[$name])) {
|
||||
$input = $_POST[$name];
|
||||
}
|
||||
break;
|
||||
case 'FILES':
|
||||
if (isset($_FILES[$name])) {
|
||||
$input = $_FILES[$name];
|
||||
}
|
||||
break;
|
||||
case 'COOKIE':
|
||||
if (isset($_COOKIE[$name])) {
|
||||
$input = $_COOKIE[$name];
|
||||
}
|
||||
break;
|
||||
case 'ENV':
|
||||
if (isset($_ENV[$name])) {
|
||||
$input = $_ENV[$name];
|
||||
}
|
||||
break;
|
||||
case 'SERVER':
|
||||
if (isset($_SERVER[$name])) {
|
||||
$input = $_SERVER[$name];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (strtolower($filter)) {
|
||||
case 'cmd':
|
||||
$input = preg_replace('/[^a-z\.]+/', '', strtolower($input));
|
||||
break;
|
||||
case 'int':
|
||||
$input = intval($input);
|
||||
break;
|
||||
case 'bool':
|
||||
$input = $input ? 1 : 0;
|
||||
break;
|
||||
case 'string':
|
||||
$input = sanitize_text_field($input);
|
||||
break;
|
||||
case 'none':
|
||||
break;
|
||||
default:
|
||||
$input = null;
|
||||
break;
|
||||
}
|
||||
return $input;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get int from request variables
|
||||
*
|
||||
* @param string $name Request variable name
|
||||
* @param string $type Request type
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public static function getInt($name, $type = 'GET')
|
||||
{
|
||||
return self::getInput($name, $type, 'int');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set an http variable
|
||||
*
|
||||
* @param string $name Request variable name
|
||||
* @param string $value Request variable value
|
||||
* @param string $type Request type
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function setInput($name, $value, $type = 'GET')
|
||||
{
|
||||
switch (strtoupper($type)) {
|
||||
case 'GET':
|
||||
$_GET[$name] = $value;
|
||||
break;
|
||||
case 'POST':
|
||||
$_POST[$name] = $value;
|
||||
break;
|
||||
case 'FILES':
|
||||
$_FILES[$name] = $value;
|
||||
break;
|
||||
case 'COOKIE':
|
||||
$_COOKIE[$name] = $value;
|
||||
break;
|
||||
case 'ENV':
|
||||
$_ENV[$name] = $value;
|
||||
break;
|
||||
case 'SERVER':
|
||||
$_SERVER[$name] = $value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Framework
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
namespace Joomunited\WPFramework\v1_0_4;
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
/**
|
||||
* Class View
|
||||
*/
|
||||
class View
|
||||
{
|
||||
|
||||
/**
|
||||
* Default view template
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $default_tpl = 'default';
|
||||
|
||||
/**
|
||||
* View path
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $path;
|
||||
|
||||
|
||||
/**
|
||||
* Render a view
|
||||
*
|
||||
* @param string $tpl Template to render
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function render($tpl = null)
|
||||
{
|
||||
$result = $this->loadTemplate($tpl);
|
||||
|
||||
// phpcs:ignore WordPress.XSS.EscapeOutput -- Escaping should be done in the template itself
|
||||
echo $result;
|
||||
|
||||
$pluginName = Application::getInstance()->getName();
|
||||
if (defined(strtoupper($pluginName) . '_AJAX')) {
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a template file
|
||||
*
|
||||
* @param null $tpl Template file
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function loadTemplate($tpl = null)
|
||||
{
|
||||
$tpl = isset($tpl) ? $tpl : $this->default_tpl;
|
||||
|
||||
$file = preg_replace('/[^A-Z0-9_\.-]/i', '', $tpl);
|
||||
$file = $this->path . 'tpl' . DIRECTORY_SEPARATOR . $file . '.php';
|
||||
|
||||
if (file_exists($file)) {
|
||||
ob_start();
|
||||
include $file;
|
||||
$output = ob_get_contents();
|
||||
ob_end_clean();
|
||||
return $output;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Set path
|
||||
*
|
||||
* @param string $path Path
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setPath($path)
|
||||
{
|
||||
$this->path = $path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve model associated to the view
|
||||
*
|
||||
* @param string $modelname Model name
|
||||
*
|
||||
* @return Model|false
|
||||
*/
|
||||
public function getModel($modelname = null)
|
||||
{
|
||||
|
||||
if (empty($modelname)) {
|
||||
$modelname = get_class($this);
|
||||
$modelname = str_replace(Factory::getApplication()->getName() . 'View', '', $modelname);
|
||||
}
|
||||
$modelname = preg_replace('/[^A-Z0-9_-]/i', '', $modelname);
|
||||
$filepath = Factory::getApplication()->getPath() . DIRECTORY_SEPARATOR . Factory::getApplication()->getType() . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . strtolower($modelname) . '.php';
|
||||
if (!file_exists($filepath)) {
|
||||
return false;
|
||||
}
|
||||
include_once $filepath;
|
||||
$class = Factory::getApplication()->getName() . 'Model' . ucfirst($modelname);
|
||||
$model = new $class();
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="PHP_CodeSniffer">
|
||||
<description>Joomunited coding standard for Wordpress plugins</description>
|
||||
|
||||
<file>.</file>
|
||||
|
||||
<arg name="basepath" value="."/>
|
||||
<arg name="colors" />
|
||||
<arg name="parallel" value="75" />
|
||||
<arg name="extensions" value="php"/>
|
||||
|
||||
<!-- Define installed path of standards used -->
|
||||
<config name="installed_paths" value="vendor/wimg/php-compatibility,vendor/wp-coding-standards/wpcs" />
|
||||
|
||||
<!-- Memory phpcs can you for this task -->
|
||||
<ini name="memory_limit" value="200M"/>
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
Exclude files we did not create
|
||||
#############################################################################
|
||||
-->
|
||||
<exclude-pattern>vendor/*</exclude-pattern>
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
Php compatibility check
|
||||
#############################################################################
|
||||
-->
|
||||
<autoload>vendor/wimg/php-compatibility/PHPCSAliases.php</autoload>
|
||||
<rule ref="PHPCompatibility"/>
|
||||
<config name="testVersion" value="5.3-"/>
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
Include the whole PSR2 standard
|
||||
#############################################################################
|
||||
-->
|
||||
<rule ref="PSR2">
|
||||
<!-- Excluded because of the defined('ABSPATH') check -->
|
||||
<exclude name="PSR1.Files.SideEffects" />
|
||||
|
||||
<!-- Excluded because we don't have yet namespace in our plugins -->
|
||||
<exclude name="PSR1.Classes.ClassDeclaration" />
|
||||
|
||||
<!-- Allow long line length -->
|
||||
<exclude name="Generic.Files.LineLength" />
|
||||
</rule>
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
Our own coding style
|
||||
#############################################################################
|
||||
-->
|
||||
|
||||
<!-- Don't use double quotes -->
|
||||
<rule ref="Squiz.Strings.DoubleQuoteUsage"/>
|
||||
<rule ref="Squiz.Strings.DoubleQuoteUsage.ContainsVar" />
|
||||
|
||||
<!-- Covers rule: Braces shall be used for all blocks. -->
|
||||
<rule ref="Squiz.ControlStructures.ControlSignature"/>
|
||||
|
||||
<!-- Covers rule: Braces should always be used, even when they are not required. -->
|
||||
<rule ref="Generic.ControlStructures.InlineControlStructure"/>
|
||||
|
||||
<!-- Covers rule: Never use shorthand PHP start tags. Always use full PHP tags. -->
|
||||
<rule ref="Generic.PHP.DisallowShortOpenTag"/>
|
||||
<rule ref="Generic.PHP.DisallowAlternativePHPTags"/>
|
||||
|
||||
<!-- Covers rule: Remove trailing whitespace at the end of each line of code. -->
|
||||
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
|
||||
|
||||
<!-- Covers rule: Omitting the closing PHP tag at the end of a file is preferred. -->
|
||||
<rule ref="PSR2.Files.ClosingTag"/>
|
||||
|
||||
<!-- Rule: In general, readability is more important than cleverness or brevity.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/607 -->
|
||||
<rule ref="Squiz.PHP.DisallowMultipleAssignments"/>
|
||||
<rule ref="Generic.Formatting.DisallowMultipleStatements"/>
|
||||
|
||||
<!-- Rule: The goto statement must never be used. -->
|
||||
<!-- Duplicate of upstream. Should defer to upstream version once minimum PHPCS requirement has gone up.
|
||||
https://github.com/squizlabs/PHP_CodeSniffer/pull/1664 -->
|
||||
<rule ref="WordPress.PHP.DiscourageGoto"/>
|
||||
<rule ref="WordPress.PHP.DiscourageGoto.Found">
|
||||
<type>error</type>
|
||||
<message>The "goto" language construct should not be used.</message>
|
||||
</rule>
|
||||
|
||||
<!-- Rule: The eval() construct is very dangerous, and is impossible to secure. ... these must not be used. -->
|
||||
<rule ref="Squiz.PHP.Eval"/>
|
||||
<rule ref="Squiz.PHP.Eval.Discouraged">
|
||||
<type>error</type>
|
||||
<message>eval() is a security risk so not allowed.</message>
|
||||
</rule>
|
||||
|
||||
<!-- Don't use extract for readability and security -->
|
||||
<rule ref="WordPress.Functions.DontExtract"/>
|
||||
|
||||
<!-- Do not use @ for silent errors -->
|
||||
<rule ref="Generic.PHP.NoSilencedErrors"/>
|
||||
|
||||
<!-- Some general php rules -->
|
||||
<rule ref="Generic.PHP.DeprecatedFunctions"/>
|
||||
<rule ref="Generic.PHP.ForbiddenFunctions"/>
|
||||
<rule ref="Generic.Functions.CallTimePassByReference"/>
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement"/>
|
||||
<rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
|
||||
<rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
|
||||
<rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
|
||||
<rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
|
||||
<rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
|
||||
<rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
|
||||
<rule ref="Generic.Classes.DuplicateClassName"/>
|
||||
<rule ref="Generic.Strings.UnnecessaryStringConcat">
|
||||
<properties>
|
||||
<property name="allowMultiline" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- More generic PHP best practices.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/607 -->
|
||||
<rule ref="Squiz.PHP.NonExecutableCode"/>
|
||||
<rule ref="Squiz.Operators.IncrementDecrementUsage"/>
|
||||
<rule ref="Squiz.Operators.ValidLogicalOperators"/>
|
||||
<rule ref="Squiz.Functions.FunctionDuplicateArgument"/>
|
||||
|
||||
<!-- Encourage having only one class/interface/trait per file. -->
|
||||
<!-- Once the minimum WPCS PHPCS requirement has gone up to PHPCS 3.1.0, these three sniffs can be
|
||||
replaced by the more comprehensive Generic.Files.OneObjectStructurePerFile sniff. -->
|
||||
<rule ref="Generic.Files.OneClassPerFile"/>
|
||||
<rule ref="Generic.Files.OneClassPerFile.MultipleFound">
|
||||
<type>warning</type>
|
||||
<message>Best practice suggestion: Declare only one class in a file.</message>
|
||||
</rule>
|
||||
<rule ref="Generic.Files.OneInterfacePerFile"/>
|
||||
<rule ref="Generic.Files.OneInterfacePerFile.MultipleFound">
|
||||
<type>warning</type>
|
||||
<message>Best practice suggestion: Declare only one interface in a file.</message>
|
||||
</rule>
|
||||
<rule ref="Generic.Files.OneTraitPerFile"/>
|
||||
<rule ref="Generic.Files.OneTraitPerFile.MultipleFound">
|
||||
<type>warning</type>
|
||||
<message>Best practice suggestion: Declare only one trait in a file.</message>
|
||||
</rule>
|
||||
|
||||
<!-- Warn against using fully-qualified class names instead of the self keyword. -->
|
||||
<rule ref="Squiz.Classes.SelfMemberReference.NotUsed">
|
||||
<!-- Restore default severity of 5 which WordPress-Core sets to 0. -->
|
||||
<severity>5</severity>
|
||||
</rule>
|
||||
|
||||
<!-- Check for PHP Parse errors.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/522 -->
|
||||
<rule ref="Generic.PHP.Syntax"/>
|
||||
|
||||
<!-- Phpdoc code commenting -->
|
||||
<rule ref="Generic.Commenting.DocComment" />
|
||||
<rule ref="Squiz.Commenting.FunctionComment">
|
||||
<exclude name="Squiz.Commenting.FunctionComment.ParamCommentFullStop" />
|
||||
<exclude name="Squiz.Commenting.FunctionComment.ThrowsNoFullStop" />
|
||||
<exclude name="Squiz.Commenting.FunctionComment.ScalarTypeHintMissing" />
|
||||
<exclude name="Squiz.Commenting.FunctionComment.TypeHintMissing" />
|
||||
</rule>
|
||||
<rule ref="Squiz.Commenting.ClassComment" />
|
||||
<rule ref="Squiz.Commenting.VariableComment" />
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
WordPress rules
|
||||
#############################################################################
|
||||
-->
|
||||
<autoload>vendor/wp-coding-standards/wpcs/WordPress/PHPCSAliases.php</autoload>
|
||||
|
||||
<!-- Rule: in $wpdb->prepare - only %s and %d are used as placeholders. Note that they are not "quoted"! -->
|
||||
<rule ref="WordPress.DB.PreparedSQLPlaceholders"/>
|
||||
|
||||
<!-- Covers rule: Escaping should be done as close to the time of the query as possible,
|
||||
preferably by using $wpdb->prepare() -->
|
||||
<rule ref="WordPress.WP.PreparedSQL"/>
|
||||
|
||||
<!-- Covers rule: Avoid touching the database directly. -->
|
||||
<rule ref="WordPress.DB.RestrictedFunctions"/>
|
||||
<rule ref="WordPress.DB.RestrictedClasses"/>
|
||||
|
||||
<!-- Check for correct usage of the WP i18n functions. -->
|
||||
<rule ref="WordPress.WP.I18n">
|
||||
<exclude name="WordPress.WP.I18n.NonSingularStringLiteralDomain" />
|
||||
<exclude name="WordPress.WP.I18n.NonSingularStringLiteralText" />
|
||||
</rule>
|
||||
|
||||
<!-- https://vip.wordpress.com/documentation/code-review-what-we-look-for/#validation-sanitization-and-escaping -->
|
||||
<rule ref="WordPress.XSS.EscapeOutput"/>
|
||||
|
||||
<!-- Verify that a nonce check is done before using values in superglobals.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/73 -->
|
||||
<rule ref="WordPress.CSRF.NonceVerification"/>
|
||||
|
||||
<!-- Encourage the use of strict ( === and !== ) comparisons.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/242 -->
|
||||
<rule ref="WordPress.PHP.StrictComparisons"/>
|
||||
|
||||
<!-- https://vip.wordpress.com/documentation/code-review-what-we-look-for/#commented-out-code-debug-code-or-output -->
|
||||
<rule ref="WordPress.PHP.DevelopmentFunctions"/>
|
||||
<rule ref="WordPress.PHP.DevelopmentFunctions.error_log">
|
||||
<type>error</type>
|
||||
</rule>
|
||||
<!-- https://vip.wordpress.com/documentation/vip/code-review-what-we-look-for/#settings-alteration -->
|
||||
<rule ref="WordPress.PHP.DevelopmentFunctions.prevent_path_disclosure">
|
||||
<type>error</type>
|
||||
</rule>
|
||||
|
||||
<!-- VIP recommends other functions -->
|
||||
<rule ref="WordPress.WP.AlternativeFunctions.curl">
|
||||
<message>Using cURL functions is highly discouraged within VIP context. Check (Fetching Remote Data) on VIP Documentation.</message>
|
||||
</rule>
|
||||
<rule ref="WordPress.WP.AlternativeFunctions.file_get_contents">
|
||||
<message>%s() is highly discouraged, please use vip_safe_wp_remote_get() instead.</message>
|
||||
<type>warning</type>
|
||||
</rule>
|
||||
|
||||
<!-- Scripts & style should be enqueued.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/35 -->
|
||||
<rule ref="WordPress.WP.EnqueuedResources"/>
|
||||
|
||||
<!-- Warn against overriding WP global variables.
|
||||
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/26 -->
|
||||
<rule ref="WordPress.Variables.GlobalVariables"/>
|
||||
|
||||
<!-- Verify that everything in the global namespace is prefixed. -->
|
||||
<rule ref="WordPress.NamingConventions.PrefixAllGlobals"/>
|
||||
</ruleset>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
5834
wp-content/plugins/wp-smart-editor/extensions/wp-file-download-light/app/admin/assets/css/bootstrap.scss
vendored
Normal file
@@ -0,0 +1,184 @@
|
||||
/**
|
||||
* @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
/* The main calendar widget. DIV containing a table. */
|
||||
div.calendar {
|
||||
position: relative;
|
||||
z-index: 10000;
|
||||
width: 226px;
|
||||
}
|
||||
|
||||
.calendar, .calendar table {
|
||||
border: 1px solid #cccccc;
|
||||
font-size: 11px;
|
||||
color: #000;
|
||||
cursor: default;
|
||||
background: #efefef;
|
||||
font-family: arial,verdana,sans-serif;
|
||||
}
|
||||
|
||||
/* Header part -- contains navigation buttons and day names. */
|
||||
|
||||
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
|
||||
text-align: center; /* They are the navigation buttons */
|
||||
padding: 2px; /* Make the buttons seem like they're pressing */
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.calendar thead .title { /* This holds the current "month, year" */
|
||||
font-weight: bold; /* Pressing it will take you to the current date */
|
||||
text-align: center;
|
||||
background: #333333;
|
||||
color: #ffffff;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.calendar thead .headrow { /* Row <TR> containing navigation buttons */
|
||||
background: #dedede;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.calendar thead .name { /* Cells <TD> containing the day names */
|
||||
border-bottom: 1px solid #cccccc;
|
||||
padding: 2px;
|
||||
text-align: center;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.calendar thead .weekend { /* How a weekend day name shows in header */
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.calendar thead .hilite { /* How do the buttons in header appear when hover */
|
||||
background: #bbbbbb;
|
||||
color: #000000;
|
||||
border: 1px solid #cccccc;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.calendar thead .active { /* Active (pressed) buttons in header */
|
||||
background: #c77;
|
||||
padding: 2px 0px 0px 2px;
|
||||
}
|
||||
|
||||
.calendar thead .daynames { /* Row <TR> containing the day names */
|
||||
background: #dddddd;
|
||||
}
|
||||
|
||||
/* The body part -- contains all the days in month. */
|
||||
|
||||
.calendar tbody .day { /* Cells <TD> containing month days dates */
|
||||
width: 2em;
|
||||
text-align: right;
|
||||
padding: 2px 4px 2px 2px;
|
||||
}
|
||||
|
||||
.calendar table .wn {
|
||||
padding: 2px 3px 2px 2px;
|
||||
border-right: 1px solid #cccccc;
|
||||
background: #dddddd;
|
||||
}
|
||||
|
||||
.calendar tbody .rowhilite td {
|
||||
background: #666666;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.calendar tbody .rowhilite td.wn {
|
||||
background: #666666;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.calendar tbody td.active { /* Active (pressed) cells <TD> */
|
||||
background: #000000;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.calendar tbody td.weekend { /* Cells showing weekend days */
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.calendar tbody td.selected { /* Cell showing today date */
|
||||
font-weight: bold;
|
||||
background: #000000;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.calendar tbody td.hilite { /* Hovered cells <TD> */
|
||||
background: #999999;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.calendar tbody td.today {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.calendar tbody .disabled {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* The footer part -- status bar and "Close" button */
|
||||
|
||||
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
|
||||
text-align: center;
|
||||
background: #cccccc;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
|
||||
border-top: 1px solid #cccccc;
|
||||
background: #efefef;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.calendar tfoot .hilite { /* Hover style for buttons in footer */
|
||||
background: #666666;
|
||||
border: 1px solid #f40;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
|
||||
background: #999999;
|
||||
padding: 2px 0px 0px 2px;
|
||||
}
|
||||
|
||||
/* Combo boxes (menus that display months/years for direct selection) */
|
||||
|
||||
.combo {
|
||||
position: absolute;
|
||||
display: none;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 4em;
|
||||
cursor: default;
|
||||
border: 1px solid #655;
|
||||
background: #ffffff;
|
||||
color: #000;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.combo .label {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.combo .hilite {
|
||||
background: #fc8;
|
||||
}
|
||||
|
||||
.combo .active {
|
||||
border-top: 1px solid #cccccc;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
background: #efefef;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
After Width: | Height: | Size: 520 B |
|
After Width: | Height: | Size: 725 B |
@@ -0,0 +1,436 @@
|
||||
/* @group Base */
|
||||
.chzn-container {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
font-size: 13px;
|
||||
zoom: 1;
|
||||
*display: inline;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.chzn-container .chzn-drop {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: -9999px;
|
||||
z-index: 1010;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
border: 1px solid #aaa;
|
||||
border-top: 0;
|
||||
background: #fff;
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.chzn-container.chzn-with-drop .chzn-drop {
|
||||
left: 0;
|
||||
}
|
||||
.chzn-container a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Single Chosen */
|
||||
.chzn-container-single .chzn-single {
|
||||
position: relative;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
padding: 0 0 0 8px;
|
||||
height: 23px;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 5px;
|
||||
background-color: #fff;
|
||||
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
|
||||
background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
||||
background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
||||
background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
||||
background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
||||
background-clip: padding-box;
|
||||
box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
line-height: 24px;
|
||||
}
|
||||
.chzn-container-single .chzn-default {
|
||||
color: #999;
|
||||
}
|
||||
.chzn-container-single .chzn-single span {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin-right: 26px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.chzn-container-single .chzn-single-with-deselect span {
|
||||
margin-right: 38px;
|
||||
}
|
||||
.chzn-container-single .chzn-single abbr {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 26px;
|
||||
display: block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: url('chosen-sprite.png') -42px 1px no-repeat;
|
||||
font-size: 1px;
|
||||
}
|
||||
.chzn-container-single .chzn-single abbr:hover {
|
||||
background-position: -42px -10px;
|
||||
}
|
||||
.chzn-container-single.chzn-disabled .chzn-single abbr:hover {
|
||||
background-position: -42px -10px;
|
||||
}
|
||||
.chzn-container-single .chzn-single div {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: block;
|
||||
width: 18px;
|
||||
height: 100%;
|
||||
}
|
||||
.chzn-container-single .chzn-single div b {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url('chosen-sprite.png') no-repeat 0px 2px;
|
||||
}
|
||||
.chzn-container-single .chzn-search {
|
||||
position: relative;
|
||||
z-index: 1010;
|
||||
margin: 0;
|
||||
padding: 3px 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.chzn-container-single .chzn-search input[type="text"] {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin: 1px 0;
|
||||
padding: 4px 20px 4px 5px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
outline: 0;
|
||||
border: 1px solid #aaa;
|
||||
background: white url('chosen-sprite.png') no-repeat 100% -20px;
|
||||
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
||||
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
font-size: 1em;
|
||||
font-family: sans-serif;
|
||||
line-height: normal;
|
||||
border-radius: 0;
|
||||
}
|
||||
.chzn-container-single .chzn-drop {
|
||||
margin-top: -1px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
.chzn-container-single.chzn-container-single-nosearch .chzn-search {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Results */
|
||||
.chzn-container .chzn-results {
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
margin: 0 4px 4px 0;
|
||||
padding: 0 0 0 4px;
|
||||
max-height: 240px;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.chzn-container .chzn-results li {
|
||||
display: none;
|
||||
margin: 0;
|
||||
padding: 5px 6px;
|
||||
list-style: none;
|
||||
line-height: 15px;
|
||||
}
|
||||
.chzn-container .chzn-results li.active-result {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
.chzn-container .chzn-results li.disabled-result {
|
||||
display: list-item;
|
||||
color: #ccc;
|
||||
cursor: default;
|
||||
}
|
||||
.chzn-container .chzn-results li.highlighted {
|
||||
background-color: #3875d7;
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
|
||||
background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
||||
background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
||||
background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
||||
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
|
||||
color: #fff;
|
||||
}
|
||||
.chzn-container .chzn-results li.no-results {
|
||||
display: list-item;
|
||||
background: #f4f4f4;
|
||||
}
|
||||
.chzn-container .chzn-results li.group-result {
|
||||
display: list-item;
|
||||
font-weight: bold;
|
||||
cursor: default;
|
||||
}
|
||||
.chzn-container .chzn-results li.group-option {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.chzn-container .chzn-results li em {
|
||||
font-style: normal;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Multi Chosen */
|
||||
.chzn-container-multi .chzn-choices {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: auto !important;
|
||||
height: 1%;
|
||||
border: 1px solid #aaa;
|
||||
background-color: #fff;
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
||||
background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
cursor: text;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li {
|
||||
float: left;
|
||||
list-style: none;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-field {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-field input[type="text"] {
|
||||
margin: 1px 0;
|
||||
padding: 5px;
|
||||
height: 15px;
|
||||
outline: 0;
|
||||
border: 0 !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none;
|
||||
color: #666;
|
||||
font-size: 100%;
|
||||
font-family: sans-serif;
|
||||
line-height: normal;
|
||||
border-radius: 0;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-field .default {
|
||||
color: #999;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-choice {
|
||||
position: relative;
|
||||
margin: 3px 0 3px 5px;
|
||||
padding: 3px 20px 3px 5px;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 3px;
|
||||
background-color: #e4e4e4;
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
||||
background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-clip: padding-box;
|
||||
box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
||||
color: #333;
|
||||
line-height: 13px;
|
||||
cursor: default;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-choice .search-choice-close {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 3px;
|
||||
display: block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: url('chosen-sprite.png') -42px 1px no-repeat;
|
||||
font-size: 1px;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-choice .search-choice-close:hover {
|
||||
background-position: -42px -10px;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-choice-disabled {
|
||||
padding-right: 5px;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #e4e4e4;
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
||||
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
||||
color: #666;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-choice-focus {
|
||||
background: #d4d4d4;
|
||||
}
|
||||
.chzn-container-multi .chzn-choices li.search-choice-focus .search-choice-close {
|
||||
background-position: -42px -10px;
|
||||
}
|
||||
.chzn-container-multi .chzn-results {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.chzn-container-multi .chzn-drop .result-selected {
|
||||
display: list-item;
|
||||
color: #ccc;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Active */
|
||||
.chzn-container-active .chzn-single {
|
||||
border: 1px solid #5897fb;
|
||||
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.chzn-container-active.chzn-with-drop .chzn-single {
|
||||
border: 1px solid #aaa;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
|
||||
background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
||||
background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
||||
background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
||||
background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
|
||||
}
|
||||
.chzn-container-active.chzn-with-drop .chzn-single div {
|
||||
border-left: none;
|
||||
background: transparent;
|
||||
}
|
||||
.chzn-container-active.chzn-with-drop .chzn-single div b {
|
||||
background-position: -18px 2px;
|
||||
}
|
||||
.chzn-container-active .chzn-choices {
|
||||
border: 1px solid #5897fb;
|
||||
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.chzn-container-active .chzn-choices li.search-field input[type="text"] {
|
||||
color: #111 !important;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Disabled Support */
|
||||
.chzn-disabled {
|
||||
opacity: 0.5 !important;
|
||||
cursor: default;
|
||||
}
|
||||
.chzn-disabled .chzn-single {
|
||||
cursor: default;
|
||||
}
|
||||
.chzn-disabled .chzn-choices .search-choice .search-choice-close {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Right to Left */
|
||||
.chzn-rtl {
|
||||
text-align: right;
|
||||
}
|
||||
.chzn-rtl .chzn-single {
|
||||
overflow: visible;
|
||||
padding: 0 8px 0 0;
|
||||
}
|
||||
.chzn-rtl .chzn-single span {
|
||||
margin-right: 0;
|
||||
margin-left: 26px;
|
||||
direction: rtl;
|
||||
}
|
||||
.chzn-rtl .chzn-single-with-deselect span {
|
||||
margin-left: 38px;
|
||||
}
|
||||
.chzn-rtl .chzn-single div {
|
||||
right: auto;
|
||||
left: 3px;
|
||||
}
|
||||
.chzn-rtl .chzn-single abbr {
|
||||
right: auto;
|
||||
left: 26px;
|
||||
}
|
||||
.chzn-rtl .chzn-choices li {
|
||||
float: right;
|
||||
}
|
||||
.chzn-rtl .chzn-choices li.search-field input[type="text"] {
|
||||
direction: rtl;
|
||||
}
|
||||
.chzn-rtl .chzn-choices li.search-choice {
|
||||
margin: 3px 5px 3px 0;
|
||||
padding: 3px 5px 3px 19px;
|
||||
}
|
||||
.chzn-rtl .chzn-choices li.search-choice .search-choice-close {
|
||||
right: auto;
|
||||
left: 4px;
|
||||
}
|
||||
.chzn-rtl .chzn-drop {
|
||||
left: 9999px;
|
||||
}
|
||||
.chzn-rtl.chzn-container-single .chzn-results {
|
||||
margin: 0 0 4px 4px;
|
||||
padding: 0 4px 0 0;
|
||||
}
|
||||
.chzn-rtl .chzn-results li.group-option {
|
||||
padding-right: 15px;
|
||||
padding-left: 0;
|
||||
}
|
||||
.chzn-rtl.chzn-container-active.chzn-with-drop .chzn-single div {
|
||||
border-right: none;
|
||||
}
|
||||
.chzn-rtl .chzn-search input[type="text"] {
|
||||
padding: 4px 5px 4px 20px;
|
||||
background: white url('chosen-sprite.png') no-repeat -30px -20px;
|
||||
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
||||
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background: url('chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background: url('chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
background: url('chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
|
||||
direction: rtl;
|
||||
}
|
||||
.chzn-rtl.chzn-container-single .chzn-single div b {
|
||||
background-position: 6px 2px;
|
||||
}
|
||||
.chzn-rtl.chzn-container-single.chzn-with-drop .chzn-single div b {
|
||||
background-position: -12px 2px;
|
||||
}
|
||||
[dir="rtl"] .chzn-container .chzn-drop,
|
||||
[dir="rtl"] .chzn-container-single.chzn-container-single-nosearch .chzn-search {
|
||||
left: auto;
|
||||
right: -9999px;
|
||||
}
|
||||
[dir="rtl"] .chzn-container.chzn-with-drop .chzn-drop {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
/* @group Retina compatibility */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
|
||||
.chzn-rtl .chzn-search input[type="text"],
|
||||
.chzn-container-single .chzn-single abbr,
|
||||
.chzn-container-single .chzn-single div b,
|
||||
.chzn-container-single .chzn-search input[type="text"],
|
||||
.chzn-container-multi .chzn-choices .search-choice .search-choice-close,
|
||||
.chzn-container .chzn-results-scroll-down span,
|
||||
.chzn-container .chzn-results-scroll-up span {
|
||||
background-image: url('chosen-sprite@2x.png') !important;
|
||||
background-size: 52px 37px !important;
|
||||
background-repeat: no-repeat !important;
|
||||
}
|
||||
}
|
||||
/* @end */
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
@@ -0,0 +1,102 @@
|
||||
#jao {
|
||||
|
||||
padding: 10px;
|
||||
|
||||
}
|
||||
|
||||
ul.jaofiletree {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
line-height: 18px;
|
||||
padding: 0;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
ul.jaofiletree li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
padding-left: 20px;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
ul.jaofiletree a {
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
padding: 0px 2px;
|
||||
}
|
||||
|
||||
ul.jaofiletree a:hover {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul.jaofiletree li.selected > a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Core Styles */
|
||||
.jaofiletree li.directory { background: url(../images/jao/folder.png) left top no-repeat; background-size: 20px;}
|
||||
.jaofiletree li.expanded { background: url(../images/jao/folderopen.png) left top no-repeat; background-size: 20px;}
|
||||
.jaofiletree li.drive { background: url(../images/jao/drive.png) left top no-repeat; }
|
||||
.jaofiletree li.file { background: url(../images/jao/file.png) left top no-repeat; }
|
||||
.jaofiletree li.wait { background: url(../images/jao/spinner.gif) left top no-repeat; }
|
||||
/* File Extensions*/
|
||||
.jaofiletree li.ext_3gp { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_afp { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_afpa { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_asp { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_aspx { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_avi { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_bat { background: url(../images/jao/application.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_bmp { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_c { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_cfm { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_cgi { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_com { background: url(../images/jao/application.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_cpp { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_css { background: url(../images/jao/css.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_doc { background: url(../images/jao/doc.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_exe { background: url(../images/jao/application.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_gif { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_fla { background: url(../images/jao/flash.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_h { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_htm { background: url(../images/jao/html.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_html { background: url(../images/jao/html.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_jar { background: url(../images/jao/java.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_jpg { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_jpeg { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_js { background: url(../images/jao/script.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_lasso { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_log { background: url(../images/jao/txt.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_m4p { background: url(../images/jao/music.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_mov { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_mp3 { background: url(../images/jao/music.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_mp4 { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_mpg { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_mpeg { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_ogg { background: url(../images/jao/music.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_pcx { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_pdf { background: url(../images/jao/pdf.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_php { background: url(../images/jao/php.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_png { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_ppt { background: url(../images/jao/ppt.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_psd { background: url(../images/jao/psd.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_pl { background: url(../images/jao/script.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_py { background: url(../images/jao/script.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_rb { background: url(../images/jao/ruby.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_rbx { background: url(../images/jao/ruby.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_rhtml { background: url(../images/jao/ruby.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_rpm { background: url(../images/jao/linux.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_ruby { background: url(../images/jao/ruby.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_sql { background: url(../images/jao/db.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_swf { background: url(../images/jao/flash.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_tif { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_tiff { background: url(../images/jao/picture.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_txt { background: url(../images/jao/txt.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_vb { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_wav { background: url(../images/jao/music.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_wmv { background: url(../images/jao/film.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_xls { background: url(../images/jao/xls.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_xml { background: url(../images/jao/code.png) left top no-repeat; }
|
||||
.jaofiletree li.ext_zip { background: url(../images/jao/zip.png) left top no-repeat; }
|
||||
@@ -0,0 +1,99 @@
|
||||
/* the norm */
|
||||
#gritter-notice-wrapper {
|
||||
position: fixed;
|
||||
top: 80px;
|
||||
right: 20px;
|
||||
width: 305px;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
#gritter-notice-wrapper.top-left {
|
||||
left: 20px;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
#gritter-notice-wrapper.bottom-right {
|
||||
top: auto;
|
||||
left: auto;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
#gritter-notice-wrapper.bottom-left {
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: 20px;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.gritter-item-wrapper {
|
||||
margin-bottom: 10px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.gritter-item-wrapper:hover {
|
||||
box-shadow: 1px 1px 12px #ccc;
|
||||
}
|
||||
|
||||
.gritter-item {
|
||||
position: relative;
|
||||
display: block;
|
||||
opacity: 0.90;
|
||||
padding: 8px 11px 8px 11px;
|
||||
background-color: #323232;
|
||||
color: #FFFFFF;
|
||||
font-size: 14px;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
.gritter-item p {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.gritter-close {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 8px;
|
||||
background: url(../images/close_gritter.png) no-repeat left top;
|
||||
cursor: pointer;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
text-indent: -9999em;
|
||||
}
|
||||
|
||||
.gritter-title {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
padding: 0 0 7px 0;
|
||||
display: block;
|
||||
text-shadow: 1px 1px 0 #000;
|
||||
}
|
||||
|
||||
.gritter-image {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.gritter-with-image,
|
||||
.gritter-without-image {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.gritter-with-image {
|
||||
width: 220px;
|
||||
float: right;
|
||||
}
|
||||
.gritter-light .gritter-item,
|
||||
.gritter-light .gritter-close {
|
||||
color: #222;
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
.gritter-light .gritter-title {
|
||||
text-shadow: none;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Created on : 17 sept. 2014, 18:24:46
|
||||
Author : damien
|
||||
*/
|
||||
div.restableOverflowShow {
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
/** Hide cols functionnality **/
|
||||
.restableMenu {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.restableMenu .restableMenuButton {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
height: 20px;
|
||||
margin-bottom: 5px;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.restableMenu ul {
|
||||
list-style-position: outside;
|
||||
list-style: none !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 0.5em;
|
||||
display: block;
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
#mybootstrap .restableMenu ul li {
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
.restableMenu.restableMenuClosed ul {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.restableHideCols {
|
||||
position: relative;
|
||||
padding-top: 3em;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
ul.tagit {
|
||||
padding: 1px 5px;
|
||||
overflow: auto;
|
||||
margin-left: inherit; /* usually we don't want the regular ul margins. */
|
||||
margin-right: inherit;
|
||||
}
|
||||
ul.tagit li {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 2px 5px 2px 0;
|
||||
}
|
||||
ul.tagit li.tagit-choice {
|
||||
position: relative;
|
||||
line-height: inherit;
|
||||
}
|
||||
input.tagit-hidden-field {
|
||||
display: none !important;
|
||||
}
|
||||
ul.tagit li.tagit-choice-read-only {
|
||||
padding: .2em .5em .2em .5em;
|
||||
}
|
||||
|
||||
ul.tagit li.tagit-choice-editable {
|
||||
padding: .2em 18px .2em .5em;
|
||||
}
|
||||
|
||||
ul.tagit li.tagit-new {
|
||||
padding: .25em 4px .25em 0;
|
||||
}
|
||||
|
||||
ul.tagit li.tagit-choice a.tagit-label {
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul.tagit li.tagit-choice .tagit-close {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: .1em;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
line-height: 17px;
|
||||
}
|
||||
|
||||
/* used for some custom themes that don't need image icons */
|
||||
ul.tagit li.tagit-choice .tagit-close .text-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul.tagit li.tagit-choice input {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 2px 5px 2px 0;
|
||||
}
|
||||
ul.tagit input[type="text"] {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-moz-box-shadow: none !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
box-shadow: none !important;
|
||||
|
||||
border: none !important;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: inherit;
|
||||
background-color: inherit !important;
|
||||
outline: none !important;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#lean_overlay {
|
||||
position: fixed;
|
||||
z-index:100;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
height:100%;
|
||||
width:100%;
|
||||
background: #000;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#wpfdmodal {
|
||||
width: 90%;
|
||||
height: 0px;
|
||||
padding: 20px;
|
||||
visibility: hidden;
|
||||
background: #FFF;
|
||||
z-index: 99999999 !important;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
box-shadow: 0px 0px 4px rgba(0,0,0,0.7);
|
||||
-webkit-box-shadow: 0 0 4px rgba(0,0,0,0.7);
|
||||
-moz-box-shadow: 0 0px 4px rgba(0,0,0,0.7);
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
/* Lumebox jQuery plugin
|
||||
* Copyright Anders Zakrisson/Sogeti 2009-2010
|
||||
* http://anders.zakrisson.se, http://www.sogeti.se
|
||||
* This software is released under the GPL License.
|
||||
*/
|
||||
|
||||
html.lumebox, body.lumebox {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.lumebox-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#lumebox-bg {
|
||||
display: none;
|
||||
position: fixed;
|
||||
_position: absolute; /* hack for internet explorer 6*/
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: #000;
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
#lumebox-loading {
|
||||
position: absolute;
|
||||
left: 1em;
|
||||
bottom: 1em;
|
||||
background-color: url(lumebox-loading.png) center center #111;
|
||||
padding: 0.5em;
|
||||
z-index: 13;
|
||||
color: #aaa;
|
||||
-webkit-box-shadow: 2px 2px 14px #000;
|
||||
-moz-box-shadow: 1px 1px 12px #000;
|
||||
box-shadow: 2px 2px 14px #000;
|
||||
}
|
||||
|
||||
#lumebox-loading img {
|
||||
position: relative;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
#lumebox-popup {
|
||||
display: none;
|
||||
position: absolute;
|
||||
z-index: 12;
|
||||
margin: 20px;
|
||||
-webkit-box-shadow: 2px 2px 14px #000;
|
||||
-moz-box-shadow: 1px 1px 12px #000;
|
||||
box-shadow: 2px 2px 14px #000;
|
||||
}
|
||||
|
||||
#lumebox-popup.mobile {
|
||||
display: none;
|
||||
position: absolute;
|
||||
z-index: 12;
|
||||
margin: 0;
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#lumebox-topmenu {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
z-index: 14;
|
||||
padding: 5px 0 0 5px;
|
||||
}
|
||||
|
||||
#lumebox-close {
|
||||
display: block;
|
||||
width: 27px;
|
||||
height: 27px;
|
||||
position: absolute;
|
||||
top: -30px;
|
||||
right: -30px;
|
||||
background: url(../images/close.png) center center no-repeat transparent;
|
||||
}
|
||||
|
||||
#lumebox-counter {
|
||||
float: right;
|
||||
font: 2em "Century Gothic", sans-serif;
|
||||
color: #ccc;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#lumebox-popup.mobile #lumebox-topmenu {
|
||||
position: fixed;
|
||||
_position: absolute; /* hack for internet explorer 6*/
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
z-index: 14;
|
||||
padding: 5px 0 0 5px;
|
||||
}
|
||||
|
||||
#lumebox-popup.mobile #lumebox-close {
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#lumebox-previous {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 50%;
|
||||
min-height: 30px;
|
||||
z-index: 13;
|
||||
}
|
||||
|
||||
#lumebox-next {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 100%;
|
||||
width: 50%;
|
||||
min-height: 30px;
|
||||
z-index: 13;
|
||||
}
|
||||
|
||||
#lumebox-content {
|
||||
margin: 0 auto;
|
||||
z-index: 12;
|
||||
color: #ccc;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#lumebox-content .hentry {
|
||||
padding: 0 20px 20px 20px;
|
||||
background-color: #fff;
|
||||
color: #383838;
|
||||
}
|
||||
|
||||
#lumebox-content h2{
|
||||
margin-left: 40px;
|
||||
padding: 10px 0 20px 0;
|
||||
}
|
||||
|
||||
#lumebox-content p {
|
||||
padding: 15px 0 0 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#lumebox-content img {
|
||||
display: block;
|
||||
clear: both;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#lumebox-popup.mobile #lumebox-caption {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
padding: 10px;
|
||||
background-color: rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
#lumebox-caption {
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
min-height: 20px;
|
||||
background-color: #383838;
|
||||
}
|
||||
|
||||
#lumebox-help {
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
min-height: 20px;
|
||||
background-color: #383838;
|
||||
}
|
||||
|
||||
.lumebox-preLoaded {
|
||||
display: none;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/*!
|
||||
* Bootstrap v2.3.2
|
||||
*
|
||||
* Copyright 2012 Twitter, Inc
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
||||
*/
|
||||
.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
|
||||
.clearfix:after{clear:both;}
|
||||
.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
|
||||
.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
|
||||
.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
|
||||
.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
|
||||
.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;}
|
||||
.modal.fade.in{top:10%;}
|
||||
.modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
|
||||
.modal-header h3{margin:0;line-height:30px;}
|
||||
.modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;}
|
||||
.modal-form{margin-bottom:0;}
|
||||
.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;}
|
||||
.modal-footer:after{clear:both;}
|
||||
.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;}
|
||||
.modal-footer .btn-group .btn+.btn{margin-left:-1px;}
|
||||
.modal-footer .btn-block+.btn-block{margin-left:0;}
|
||||
@@ -0,0 +1,191 @@
|
||||
/*!
|
||||
* Slider for Bootstrap
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/
|
||||
.slider {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
.slider.slider-horizontal {
|
||||
width: 210px;
|
||||
height: 20px;
|
||||
}
|
||||
.slider.slider-horizontal .slider-track {
|
||||
height: 10px;
|
||||
width: 100%;
|
||||
margin-top: -5px;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-selection {
|
||||
height: 100%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-handle {
|
||||
margin-left: -7px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
.slider.slider-horizontal .slider-handle.triangle {
|
||||
border-width: 0 10px 10px 10px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-bottom-color: #0480be;
|
||||
margin-top: 0;
|
||||
}
|
||||
.slider.slider-vertical {
|
||||
height: 210px;
|
||||
width: 20px;
|
||||
}
|
||||
.slider.slider-vertical .slider-track {
|
||||
width: 10px;
|
||||
height: 100%;
|
||||
margin-left: -5px;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-selection {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-handle {
|
||||
margin-left: -5px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
.slider.slider-vertical .slider-handle.triangle {
|
||||
border-width: 10px 0 10px 10px;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
border-left-color: #0480be;
|
||||
margin-left: 0;
|
||||
}
|
||||
.slider input {
|
||||
display: none;
|
||||
}
|
||||
.slider .tooltip-inner {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.slider-track {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.slider-selection {
|
||||
position: absolute;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#f5f5f5));
|
||||
background-image: -webkit-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: -o-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: linear-gradient(to bottom, #f9f9f9, #f5f5f5);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
/*.slider-handle {
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #0e90d2;
|
||||
background-image: -moz-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
|
||||
background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: -o-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: linear-gradient(to bottom, #149bdf, #0480be);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
opacity: 0.8;
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
.slider-handle.round {
|
||||
-webkit-border-radius: 20px;
|
||||
-moz-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.slider-handle.triangle {
|
||||
background: transparent none;
|
||||
}*/
|
||||
|
||||
.slider-handle {
|
||||
position: absolute;
|
||||
height: 20px;
|
||||
width: 14px;
|
||||
background: url(../images/fields/picker.png) center center transparent no-repeat;
|
||||
}
|
||||
|
||||
#mybootstrap .tooltip {
|
||||
opacity: 1;
|
||||
filter: alpha(opacity=1);
|
||||
}
|
||||
|
||||
|
||||
.slidercontainer {
|
||||
display: inline-block;
|
||||
padding-left: 40px;
|
||||
/*margin-left: 10px;*/
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.slidercontainer.marginright {
|
||||
background: url(../images/fields/marginright.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.marginleft {
|
||||
background: url(../images/fields/marginleft.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.marginbottom {
|
||||
background: url(../images/fields/marginbottom.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.margintop {
|
||||
background: url(../images/fields/margintop.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.paddingright {
|
||||
background: url(../images/fields/paddingright.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.paddingleft {
|
||||
background: url(../images/fields/paddingleft.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.paddingbottom {
|
||||
background: url(../images/fields/paddingbottom.png) top left no-repeat transparent;
|
||||
}
|
||||
|
||||
.slidercontainer.paddingtop {
|
||||
background: url(../images/fields/paddingtop.png) top left no-repeat transparent;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* WP File Download
|
||||
*
|
||||
* @package WP File Download
|
||||
* @author Joomunited
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
.icon-32-alert{background:url('../images/icon-32-alert.png') 0 0 no-repeat}#mycategorys{float:left;width:220px;vertical-align:top}#galedition{float:right;width:220px;vertical-align:top;border:1px solid #CCC}#mycategorys #newcategory,#mycategorys #delcategory{margin-left:20px;margin-top:20px}#pwrapper{margin-left:220px}#wpreview{width:100%}#preview{margin-top:20px;margin:0 auto;background:#FFF;border:3px dashed #BBB;min-height:200px;position:relative;padding-bottom:130px}#preview .wimg{position:relative;float:left;text-align:center}#preview .wimg .wbtn{position:absolute;text-align:left;top:10px;right:10px}#preview .wimg .wbtn .btn-group{opacity:.4}#preview .wimg:hover .btn-group,#preview .wimg .wbtn .btn-group.open{opacity:1}#preview .selimg{position:relative}#preview .selimg .selected{position:absolute;top:0;right:0;border:2px solid #025a8d;width:50px;height:50px}#preview .img{background:#FFF;text-align:center;border:1px solid #DDD;margin:10px;cursor:move;-moz-box-shadow:2px 2px 5px #ccc;-webkit-box-shadow:2px 2px 5px #ccc;box-shadow:2px 2px 5px #ccc}#preview .highlight{background:#f2f2f2;border:1px solid #212326;float:left;text-align:center;border:1px solid #DDD;margin:0;padding:0}#preview img{margin:10px}#preview .clr{clear:both}#preview .placeholder img{width:80%;height:80%}span.editable{background:#FFF;border:1px solid #AAA;color:#000;padding:1px 3px;width:140px;display:inline-block}#mybootstrap #upload_button{height:auto;width:auto}#mybootstrap .bs-docs-sidenav{width:228px;margin-top:10px;padding:0;background-color:#fff;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065)}#mybootstrap .bs-docs-sidenav>li>a{display:block;width:190px \9;margin:0 0 -1px;padding:9px 15px;border:1px solid #e5e5e5}#mybootstrap .bs-docs-sidenav>li:last-child>a{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}#mybootstrap .bs-docs-sidenav>li:first-child>a{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}#mybootstrap .bs-docs-sidenav>li:only-child>a{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}#mybootstrap .bs-docs-sidenav>.active>a{position:relative;z-index:2;border:0;text-shadow:0 1px 0 rgba(0,0,0,.15);-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1),inset -1px 0 0 rgba(0,0,0,.1);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.1),inset -1px 0 0 rgba(0,0,0,.1);box-shadow:inset 1px 0 0 rgba(0,0,0,.1),inset -1px 0 0 rgba(0,0,0,.1)}#mybootstrap .bs-docs-sidenav .icon-chevron-down{float:right;margin-top:2px;margin-right:-6px;opacity:.25}#mybootstrap .bs-docs-sidenav>li>a:hover{background-color:#f5f5f5}#mybootstrap .bs-docs-sidenav a:hover .icon-chevron-down{opacity:.5}#mybootstrap .bs-docs-sidenav .active .icon-chevron-down,#mybootstrap .bs-docs-sidenav .active a:hover .icon-chevron-down{background-image:url(../images/glyphicons-halflings-white.png);opacity:1}#mybootstrap .bs-docs-sidenav.affix{top:40px}#mybootstrap .bs-docs-sidenav.affix-bottom{position:absolute;top:auto;bottom:270px}
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
|
After Width: | Height: | Size: 260 B |
|
After Width: | Height: | Size: 251 B |
|
After Width: | Height: | Size: 86 B |
|
After Width: | Height: | Size: 104 B |
|
After Width: | Height: | Size: 125 B |
|
After Width: | Height: | Size: 99 B |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 90 B |
|
After Width: | Height: | Size: 167 B |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
@@ -0,0 +1,462 @@
|
||||
/*! jQuery UI - v1.9.2 - 2012-11-30
|
||||
* http://jqueryui.com
|
||||
* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
|
||||
* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
|
||||
.ui-helper-clearfix:after { clear: both; }
|
||||
.ui-helper-clearfix { zoom: 1; }
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
|
||||
.ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-icons { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-noicons { padding-left: .7em; }
|
||||
.ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }
|
||||
.ui-autocomplete {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* workarounds */
|
||||
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
||||
.ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; }
|
||||
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
||||
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
||||
.ui-button-icons-only { width: 3.4em; }
|
||||
button.ui-button-icons-only { width: 3.7em; }
|
||||
|
||||
/*button text element */
|
||||
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
||||
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
||||
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
||||
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
||||
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
|
||||
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
||||
/* no icon support for input elements, provide padding by default */
|
||||
input.ui-button { padding: .4em 1em; }
|
||||
|
||||
/*button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
||||
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
||||
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
||||
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
|
||||
/*button sets*/
|
||||
.ui-buttonset { margin-right: 7px; }
|
||||
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
||||
|
||||
/* workarounds */
|
||||
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}.ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; width: 300px; overflow: hidden; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
.ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; }
|
||||
.ui-menu .ui-menu { margin-top: -3px; position: absolute; }
|
||||
.ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; }
|
||||
.ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }
|
||||
.ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }
|
||||
.ui-menu .ui-menu-item a.ui-state-focus,
|
||||
.ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }
|
||||
|
||||
.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
|
||||
.ui-menu .ui-state-disabled a { cursor: default; }
|
||||
|
||||
/* icon support */
|
||||
.ui-menu-icons { position: relative; }
|
||||
.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
|
||||
|
||||
/* left-aligned */
|
||||
.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
|
||||
|
||||
/* right-aligned */
|
||||
.ui-menu .ui-menu-icon { position: static; float: right; }
|
||||
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }.ui-slider { position: relative; text-align: left; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
||||
|
||||
.ui-slider-horizontal { height: .8em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
|
||||
.ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
|
||||
.ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
|
||||
.ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
|
||||
.ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
|
||||
.ui-spinner-up { top: 0; }
|
||||
.ui-spinner-down { bottom: 0; }
|
||||
|
||||
/* TR overrides */
|
||||
.ui-spinner .ui-icon-triangle-1-s {
|
||||
/* need to fix icons sprite */
|
||||
background-position:-65px -16px;
|
||||
}
|
||||
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }
|
||||
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||
.ui-tooltip {
|
||||
padding: 8px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
max-width: 300px;
|
||||
-webkit-box-shadow: 0 0 5px #aaa;
|
||||
box-shadow: 0 0 5px #aaa;
|
||||
}
|
||||
/* Fades and background-images don't work well together in IE6, drop the image */
|
||||
* html .ui-tooltip {
|
||||
background-image: none;
|
||||
}
|
||||
body .ui-tooltip { border-width: 2px; }
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; font-size: 1.1em; }
|
||||
.ui-widget .ui-widget { font-size: 1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; font-size: 1em; }
|
||||
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
|
||||
.ui-widget-content a { color: #333333; }
|
||||
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
|
||||
.ui-widget-header a { color: #ffffff; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #c77405; text-decoration: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
.ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); } /* For IE8 - See #6059 */
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-on { background-position: -96px -144px; }
|
||||
.ui-icon-radio-off { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .5;filter:Alpha(Opacity=50); }
|
||||
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .2;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
|
||||
@@ -0,0 +1,138 @@
|
||||
/*!
|
||||
* Slider for Bootstrap
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/
|
||||
.slider {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.slider.slider-horizontal {
|
||||
width: 210px;
|
||||
height: 20px;
|
||||
}
|
||||
.slider.slider-horizontal .slider-track {
|
||||
height: 10px;
|
||||
width: 100%;
|
||||
margin-top: -5px;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-selection {
|
||||
height: 100%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.slider.slider-horizontal .slider-handle {
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
.slider.slider-horizontal .slider-handle.triangle {
|
||||
border-width: 0 10px 10px 10px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-bottom-color: #0480be;
|
||||
margin-top: 0;
|
||||
}
|
||||
.slider.slider-vertical {
|
||||
height: 210px;
|
||||
width: 20px;
|
||||
}
|
||||
.slider.slider-vertical .slider-track {
|
||||
width: 10px;
|
||||
height: 100%;
|
||||
margin-left: -5px;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-selection {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.slider.slider-vertical .slider-handle {
|
||||
margin-left: -5px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
.slider.slider-vertical .slider-handle.triangle {
|
||||
border-width: 10px 0 10px 10px;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
border-left-color: #0480be;
|
||||
margin-left: 0;
|
||||
}
|
||||
.slider input {
|
||||
display: none;
|
||||
}
|
||||
.slider .tooltip-inner {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.slider-track {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.slider-selection {
|
||||
position: absolute;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#f5f5f5));
|
||||
background-image: -webkit-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: -o-linear-gradient(top, #f9f9f9, #f5f5f5);
|
||||
background-image: linear-gradient(to bottom, #f9f9f9, #f5f5f5);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.slider-handle {
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #0e90d2;
|
||||
background-image: -moz-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
|
||||
background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: -o-linear-gradient(top, #149bdf, #0480be);
|
||||
background-image: linear-gradient(to bottom, #149bdf, #0480be);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
||||
opacity: 0.8;
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
.slider-handle.round {
|
||||
-webkit-border-radius: 20px;
|
||||
-moz-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.slider-handle.triangle {
|
||||
background: transparent none;
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
/**
|
||||
* WP File Download
|
||||
*
|
||||
* We developed this code with our hearts and passion.
|
||||
* We hope you found it useful, easy to understand and to customize.
|
||||
* Otherwise, please feel free to contact us at contact@joomunited.com *
|
||||
* @package WP File Download
|
||||
* @copyright Copyright (C) 2013 JoomUnited (http://www.joomunited.com). All rights reserved.
|
||||
* @copyright Copyright (C) 2013 Damien Barrère (http://www.crac-design.com). All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*/
|
||||
#dropbox{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 120px;
|
||||
margin: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
/*#dropbox{
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 253px;
|
||||
height: 178px;
|
||||
overflow: hidden;
|
||||
border: 2px solid #CCC;
|
||||
background: #EFEFEF;
|
||||
margin: 10px;
|
||||
-moz-box-shadow: 2px 2px 5px #CCC;
|
||||
-webkit-box-shadow: 2px 2px 5px #CCC;
|
||||
box-shadow: 2px 2px 5px #CCC;
|
||||
border-radius: 10px;
|
||||
}*/
|
||||
|
||||
|
||||
#dropbox .message{
|
||||
font-size: 1.1em;
|
||||
display: block;
|
||||
color: #666;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
#dropbox .message i{
|
||||
color:#ccc;
|
||||
}
|
||||
|
||||
#dropbox:before{
|
||||
border-radius:3px 3px 0 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------
|
||||
Image Previews
|
||||
--------------------------*/
|
||||
|
||||
|
||||
|
||||
.preview{
|
||||
width:200px;
|
||||
height: 200px;
|
||||
float:left;
|
||||
margin: 20px 0 0 20px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.preview img{
|
||||
max-width: 180px;
|
||||
max-height:180px;
|
||||
border:3px solid #fff;
|
||||
display: block;
|
||||
box-shadow:0 0 2px #000;
|
||||
}
|
||||
|
||||
/* .imageHolder{
|
||||
display: inline-block;
|
||||
position:relative;
|
||||
}*/
|
||||
|
||||
.uploaded{
|
||||
position: absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
height:100%;
|
||||
width:100%;
|
||||
background: url('../images/upload/check.png') no-repeat center center rgba(255,255,255,0.5);
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wimg.done .uploaded{
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------
|
||||
Progress Bars
|
||||
--------------------------*/
|
||||
|
||||
|
||||
|
||||
.wimg.placeholder .progress{
|
||||
position: relative;
|
||||
width: 80%;
|
||||
left: 0;
|
||||
bottom: 40px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.wimg.done .progress .bar{
|
||||
width:100% !important;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* WP File Download
|
||||
*
|
||||
* We developed this code with our hearts and passion.
|
||||
* We hope you found it useful, easy to understand and to customize.
|
||||
* Otherwise, please feel free to contact us at contact@joomunited.com *
|
||||
* @package WP File Download
|
||||
* @copyright Copyright (C) 2013 JoomUnited (http://www.joomunited.com). All rights reserved.
|
||||
* @copyright Copyright (C) 2013 Damien Barrère (http://www.crac-design.com). All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*/
|
||||
#dropbox{position:absolute;bottom:0;width:100%;height:120px;text-align:center;margin:10px}
|
||||
#dropbox .message,#dropbox_version .message{font-size:1em;display:block;color:#666;margin-top:40px}
|
||||
#dropbox_version {text-align: center;}
|
||||
#dropbox:before{border-radius:3px 3px 0 0}
|
||||
.preview{width:200px;height:200px;float:left;position:relative;text-align:center;margin:20px 0 0 20px}
|
||||
.preview img{max-width:180px;max-height:180px;border:3px solid #fff;display:block;box-shadow:0 0 2px #000}
|
||||
.uploaded{position:absolute;top:0;left:0;height:100%;width:100%;background:url(../images/upload/check.png) no-repeat center center rgba(255,255,255,0.5);display:none}
|
||||
.wimg.done .uploaded{display:block}
|
||||
.wimg.placeholder .progress{position:relative;width:80%;left:0;bottom:40px;margin:0 auto}
|
||||
.wimg.done .progress .bar{width:100%!important}
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 950 B |
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 786 B |
|
After Width: | Height: | Size: 701 B |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 356 B |
|
After Width: | Height: | Size: 539 B |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
|
After Width: | Height: | Size: 917 B |
|
After Width: | Height: | Size: 464 B |
|
After Width: | Height: | Size: 603 B |
|
After Width: | Height: | Size: 618 B |
|
After Width: | Height: | Size: 579 B |
|
After Width: | Height: | Size: 651 B |
|
After Width: | Height: | Size: 346 B |
|
After Width: | Height: | Size: 294 B |
|
After Width: | Height: | Size: 653 B |
|
After Width: | Height: | Size: 582 B |
|
After Width: | Height: | Size: 203 B |
|
After Width: | Height: | Size: 583 B |
|
After Width: | Height: | Size: 209 B |
|
After Width: | Height: | Size: 734 B |
|
After Width: | Height: | Size: 633 B |
|
After Width: | Height: | Size: 668 B |
|
After Width: | Height: | Size: 385 B |
|
After Width: | Height: | Size: 591 B |
|
After Width: | Height: | Size: 538 B |
|
After Width: | Height: | Size: 606 B |